about summary refs log tree commit diff
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2017-09-03 10:51:11 +0200
committerVladimír Čunát <vcunat@gmail.com>2017-09-03 10:51:11 +0200
commit37242d98de844e26d5cf84734372218355a42b75 (patch)
treefe37eac82b1538a072ae416d32049d778750a2df
parent825c08e368947e775278a74d58d269bb38c60c8f (diff)
parent0529e4d90885b4e911162e8f8be077ae22322eba (diff)
downloadnixlib-37242d98de844e26d5cf84734372218355a42b75.tar
nixlib-37242d98de844e26d5cf84734372218355a42b75.tar.gz
nixlib-37242d98de844e26d5cf84734372218355a42b75.tar.bz2
nixlib-37242d98de844e26d5cf84734372218355a42b75.tar.lz
nixlib-37242d98de844e26d5cf84734372218355a42b75.tar.xz
nixlib-37242d98de844e26d5cf84734372218355a42b75.tar.zst
nixlib-37242d98de844e26d5cf84734372218355a42b75.zip
Merge branch 'master' into staging
-rw-r--r--doc/languages-frameworks/python.md20
-rw-r--r--lib/maintainers.nix1
-rw-r--r--nixos/doc/manual/release-notes/rl-1609.xml2
-rw-r--r--nixos/doc/manual/release-notes/rl-1709.xml9
-rw-r--r--nixos/modules/module-list.nix1
-rw-r--r--nixos/modules/rename.nix20
-rw-r--r--nixos/modules/security/chromium-suid-sandbox.nix3
-rw-r--r--nixos/modules/security/grsecurity.nix169
-rw-r--r--nixos/modules/security/grsecurity.xml385
-rw-r--r--nixos/modules/services/continuous-integration/hydra/default.nix4
-rw-r--r--nixos/modules/services/databases/postgresql.nix19
-rw-r--r--nixos/modules/services/misc/gitlab.nix86
-rw-r--r--nixos/modules/services/torrent/deluge.nix2
-rw-r--r--nixos/modules/services/x11/desktop-managers/mate.nix5
-rw-r--r--nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py29
-rw-r--r--nixos/tests/hydra.nix32
-rw-r--r--pkgs/applications/audio/i-score/default.nix34
-rw-r--r--pkgs/applications/audio/klick/default.nix1
-rw-r--r--pkgs/applications/display-managers/lightdm/default.nix4
-rw-r--r--pkgs/applications/editors/android-studio/packages.nix6
-rw-r--r--pkgs/applications/graphics/freepv/default.nix4
-rw-r--r--pkgs/applications/graphics/photivo/default.nix1
-rw-r--r--pkgs/applications/graphics/photivo/gcc6.patch13
-rw-r--r--pkgs/applications/misc/jigdo/default.nix11
-rw-r--r--pkgs/applications/misc/jigdo/sizewidth.patch40
-rw-r--r--pkgs/applications/misc/kupfer/default.nix66
-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.nix15
-rw-r--r--pkgs/applications/networking/mailreaders/mutt/default.nix4
-rw-r--r--pkgs/applications/science/biology/iv/default.nix2
-rw-r--r--pkgs/applications/science/biology/neuron/default.nix4
-rw-r--r--pkgs/applications/science/electronics/verilog/default.nix6
-rw-r--r--pkgs/applications/science/logic/yices/default.nix2
-rw-r--r--pkgs/applications/science/logic/z3_opt/default.nix46
-rw-r--r--pkgs/applications/version-management/gitaly/default.nix31
-rw-r--r--pkgs/applications/version-management/gitlab-shell/default.nix13
-rw-r--r--pkgs/applications/version-management/gitlab-shell/fixes.patch17
-rw-r--r--pkgs/applications/version-management/gitlab-shell/remove-hardcoded-locations.patch20
-rw-r--r--pkgs/applications/version-management/gitlab-workhorse/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/Gemfile217
-rw-r--r--pkgs/applications/version-management/gitlab/Gemfile.lock488
-rw-r--r--pkgs/applications/version-management/gitlab/default.nix95
-rw-r--r--pkgs/applications/version-management/gitlab/gemset.nix929
-rw-r--r--pkgs/applications/version-management/gitlab/nulladapter.patch53
-rw-r--r--pkgs/applications/version-management/gitlab/package.json88
-rw-r--r--pkgs/applications/version-management/gitlab/remove-hardcoded-locations.patch99
-rw-r--r--pkgs/applications/version-management/gitlab/yarn.lock5939
-rw-r--r--pkgs/applications/version-management/gitlab/yarn.nix8501
-rw-r--r--pkgs/desktops/mate/atril/default.nix3
-rw-r--r--pkgs/desktops/mate/default.nix2
-rw-r--r--pkgs/desktops/mate/engrampa/default.nix3
-rw-r--r--pkgs/desktops/mate/eom/default.nix3
-rw-r--r--pkgs/desktops/mate/libmateweather/default.nix2
-rw-r--r--pkgs/desktops/mate/mate-control-center/default.nix8
-rw-r--r--pkgs/desktops/mate/mate-desktop/default.nix5
-rw-r--r--pkgs/desktops/mate/mate-notification-daemon/default.nix36
-rw-r--r--pkgs/desktops/mate/mate-panel/default.nix3
-rw-r--r--pkgs/desktops/mate/mate-session-manager/default.nix3
-rw-r--r--pkgs/desktops/plasma-5/srcs.nix8
-rw-r--r--pkgs/development/compilers/arachne-pnr/default.nix8
-rw-r--r--pkgs/development/compilers/openjdk/8.nix25
-rw-r--r--pkgs/development/compilers/sbcl/default.nix4
-rw-r--r--pkgs/development/compilers/souper/default.nix4
-rw-r--r--pkgs/development/compilers/tinycc/default.nix6
-rw-r--r--pkgs/development/compilers/yosys/default.nix10
-rw-r--r--pkgs/development/haskell-modules/lib.nix11
-rw-r--r--pkgs/development/interpreters/nix-exec/default.nix4
-rw-r--r--pkgs/development/libraries/appstream-glib/default.nix14
-rw-r--r--pkgs/development/libraries/audio/suil/default.nix4
-rw-r--r--pkgs/development/libraries/libgcrypt/default.nix2
-rw-r--r--pkgs/development/libraries/libjson-rpc-cpp/default.nix6
-rw-r--r--pkgs/development/libraries/libvirt/default.nix2
-rw-r--r--pkgs/development/libraries/opal/default.nix2
-rw-r--r--pkgs/development/libraries/ptlib/bison.patch2887
-rw-r--r--pkgs/development/libraries/ptlib/default.nix16
-rw-r--r--pkgs/development/libraries/ptlib/sslv3.patch16
-rw-r--r--pkgs/development/lisp-modules/README.txt31
-rw-r--r--pkgs/development/lisp-modules/define-package.nix53
-rw-r--r--pkgs/development/lisp-modules/lisp-packages.nix75
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-aliases.nix13
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/_3bmd.nix37
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/abnf.nix32
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/alexandria.nix29
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/anaphora.nix32
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/array-utils.nix28
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/asdf-finalizers.nix26
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/asdf-system-connections.nix30
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/babel-streams.nix36
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/babel.nix33
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/blackbird.nix28
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/bordeaux-threads.nix36
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/caveman.nix47
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cffi-grovel.nix36
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cffi-toolchain.nix31
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cffi.nix41
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/chipz.nix28
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/chunga.nix28
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/circular-streams.nix36
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl+ssl.nix47
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-aa.nix28
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-annot.nix28
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-anonfun.nix27
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ansi-text.nix35
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async-base.nix38
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async-repl.nix48
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async-ssl.nix49
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async-util.nix38
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async.nix49
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-base64.nix33
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-cli.nix28
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-colors.nix35
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-containers.nix39
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-cookie.nix43
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-csv.nix42
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-dbi.nix41
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-emb.nix28
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-fad.nix36
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-fuse-meta-fs.nix46
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-fuse.nix41
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-interpol.nix35
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-json.nix33
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-l10n-cldr.nix29
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-l10n.nix54
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-libuv.nix34
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-log.nix27
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-markdown.nix45
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-markup.nix28
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-mysql.nix33
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-paths-ttf.nix33
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-paths.nix25
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-postgres.nix33
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ppcre-template.nix36
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ppcre-unicode.nix38
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ppcre.nix32
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-project.nix43
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-reexport.nix28
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-smtp.nix46
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-store.nix32
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-syntax-annot.nix39
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-syntax-anonfun.nix38
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-syntax-markup.nix38
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-syntax.nix37
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-test-more.nix37
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-unicode.nix35
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-unicode_slash_base.nix35
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-unification.nix27
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-utilities.nix28
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-vectors.nix31
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-who.nix32
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-socket.nix38
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-test.nix41
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-v1-compat.nix69
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/clack.nix51
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/closer-mop.nix25
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/closure-common.nix35
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/clsql.nix34
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/clss.nix29
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/clx-truetype.nix46
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/clx.nix28
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/command-line-arguments.nix29
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/css-lite.nix27
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cxml-dom.nix37
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cxml-klacks.nix37
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cxml-stp.nix39
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cxml-test.nix38
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cxml-xml.nix38
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/cxml.nix40
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/db3.nix27
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-mysql.nix45
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-postgres.nix46
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-sqlite3.nix49
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/dbi.nix36
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/dexador.nix62
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/do-urlencode.nix37
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/documentation-utils.nix30
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/drakma.nix38
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/dynamic-classes.nix30
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/eos.nix26
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/esrap-peg.nix29
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/esrap.nix34
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/external-program.nix36
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/fast-http.nix38
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/fast-io.nix35
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/fiveam.nix33
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/flexi-streams.nix32
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/form-fiddle.nix29
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/fset.nix29
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/garbage-pools.nix28
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/http-body.nix48
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/hu_dot_dwim_dot_asdf.nix30
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/hu_dot_dwim_dot_def.nix39
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/hu_dot_dwim_dot_stefil.nix32
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/hunchentoot.nix56
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/idna.nix29
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/ieee-floats.nix32
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib.nix51
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_dot_asdf.nix28
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_dot_base.nix35
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_dot_common-lisp.nix32
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_dot_conf.nix30
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_dot_grovel.nix35
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_slash_multiplex.nix36
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_slash_sockets.nix39
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_slash_streams.nix36
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_slash_syscalls.nix36
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/ironclad.nix31
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/iterate.nix31
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/ixf.nix35
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/jonathan.nix42
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/kmrcl.nix24
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-component.nix34
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-middleware-backtrace.nix41
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-util.nix45
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/lack.nix48
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/let-plus.nix35
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/lev.nix33
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/lift.nix25
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/lisp-namespace.nix31
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/lisp-unit2.nix37
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/list-of.nix31
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/local-time.nix36
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/lparallel.nix33
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/lquery.nix34
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/map-set.nix27
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/marshal.nix28
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/md5.nix27
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/metabang-bind.nix29
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/metatilities-base.nix29
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/misc-extensions.nix28
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/moptilities.nix25
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/mssql.nix31
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/mt19937.nix28
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/myway.nix39
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/named-readtables.nix28
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/net_dot_didierverna_dot_asdf-flv.nix30
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/nibbles.nix31
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/optima.nix33
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/parenscript.nix34
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/parse-number.nix30
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/pcall-queue.nix27
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/pcall.nix35
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/pgloader.nix86
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/plump-dom.nix26
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/plump-lexer.nix26
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/plump-parser.nix30
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/plump.nix37
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/postmodern.nix45
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/proc-parse.nix34
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/prove.nix37
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/ptester.nix24
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/puri.nix32
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/py-configparser.nix29
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/qmynd.nix37
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/query-fs.nix51
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/quri.nix36
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/rfc2388.nix27
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/rt.nix24
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/s-sql.nix26
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/salza2.nix28
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/simple-date.nix36
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/smart-buffer.nix35
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/split-sequence.nix33
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/sqlite.nix33
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/static-vectors.nix39
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/stumpwm.nix31
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/swank.nix24
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/swap-bytes.nix35
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/symbol-munger.nix30
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-backtrace.nix28
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-features.nix29
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-garbage.nix33
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-gray-streams.nix30
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-indent.nix29
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-mimes.nix29
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-types.nix28
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-utf-8.nix30
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/uffi.nix27
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/uiop.nix27
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/unit-test.nix24
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/usocket.nix29
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/uuid.nix32
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/vom.nix27
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/woo.nix54
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/wookie.nix44
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/xkeyboard.nix28
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/xmls.nix28
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/xpath.nix37
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/xsubseq.nix27
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/yacc.nix24
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/yason.nix31
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/zpb-ttf.nix28
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-overrides.lisp7
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix166
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-systems.txt2
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix.nix1278
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix/nix-package.emb23
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix/parasitic-invocation.emb1
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix/ql-to-nix.lisp411
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix/quicklisp-bootstrap.lisp76
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix/system-info.lisp473
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix/top-package.emb3
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix/util.lisp178
-rw-r--r--pkgs/development/lisp-modules/shell.nix15
-rw-r--r--pkgs/development/ocaml-modules/ptmap/default.nix6
-rw-r--r--pkgs/development/pure-modules/octave/default.nix4
-rw-r--r--pkgs/development/python-modules/marionette-harness/marionette_driver.nix4
-rw-r--r--pkgs/development/python-modules/pyrtlsdr/default.nix4
-rw-r--r--pkgs/development/ruby-modules/bundler/default.nix4
-rw-r--r--pkgs/development/ruby-modules/gem-config/default.nix9
-rw-r--r--pkgs/development/tools/build-managers/sbt/default.nix5
-rw-r--r--pkgs/development/tools/icestorm/default.nix6
-rw-r--r--pkgs/games/pokerth/default.nix2
-rw-r--r--pkgs/misc/emulators/dolphin-emu/master.nix6
-rw-r--r--pkgs/os-specific/linux/firmware/fwupd/default.nix52
-rw-r--r--pkgs/os-specific/linux/firmware/fwupd/fix-missing-deps.patch114
-rw-r--r--pkgs/os-specific/linux/firmware/fwupd/localstatedir-check-perms.patch12
-rw-r--r--pkgs/os-specific/linux/firmware/fwupdate/default.nix1
-rw-r--r--pkgs/os-specific/linux/jfbview/default.nix8
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.9.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/patches.nix8
-rw-r--r--pkgs/servers/emby/default.nix4
-rw-r--r--pkgs/tools/filesystems/irods/default.nix4
-rw-r--r--pkgs/tools/graphics/cuneiform/default.nix20
-rw-r--r--pkgs/tools/typesetting/tex/texlive/combine.nix5
-rw-r--r--pkgs/tools/typesetting/tex/texlive/default.nix1
-rw-r--r--pkgs/top-level/all-packages.nix23
-rw-r--r--pkgs/top-level/python-packages.nix3
328 files changed, 22107 insertions, 8973 deletions
diff --git a/doc/languages-frameworks/python.md b/doc/languages-frameworks/python.md
index f2de0225b1d6..298da8f9f0d2 100644
--- a/doc/languages-frameworks/python.md
+++ b/doc/languages-frameworks/python.md
@@ -774,6 +774,21 @@ The `buildPythonPackage` function sets `DETERMINISTIC_BUILD=1` and
 Both are also exported in `nix-shell`.
 
 
+### Automatic tests
+
+It is recommended to test packages as part of the build process.
+Source distributions (`sdist`) often include test files, but not always.
+
+By default the command `python setup.py test` is run as part of the
+`checkPhase`, but often it is necessary to pass a custom `checkPhase`. An
+example of such a situation is when `py.test` is used.
+
+#### Common issues
+
+- Non-working tests can often be deselected. In the case of `py.test`: `py.test -k 'not function_name and not other_function'`.
+- Unicode issues can typically be fixed by including `glibcLocales` in `buildInputs` and exporting `LC_ALL=en_US.utf-8`.
+- Tests that attempt to access `$HOME` can be fixed by using the following work-around before running tests (e.g. `preCheck`): `export HOME=$(mktemp -d)`
+
 ## FAQ
 
 ### How to solve circular dependencies?
@@ -985,8 +1000,9 @@ rec {
 
 Following rules are desired to be respected:
 
-* Python libraries are supposed to be called from `python-packages.nix` and packaged with `buildPythonPackage`. The expression of a library should be in `pkgs/development/python-modules/<name>/default.nix`. Libraries in `pkgs/top-level/python-packages.nix` are sorted quasi-alphabetically to avoid merge conflicts.
+* Python libraries are called from `python-packages.nix` and packaged with `buildPythonPackage`. The expression of a library should be in `pkgs/development/python-modules/<name>/default.nix`. Libraries in `pkgs/top-level/python-packages.nix` are sorted quasi-alphabetically to avoid merge conflicts.
 * Python applications live outside of `python-packages.nix` and are packaged with `buildPythonApplication`.
 * Make sure libraries build for all Python interpreters.
 * By default we enable tests. Make sure the tests are found and, in the case of libraries, are passing for all interpreters. If certain tests fail they can be disabled individually. Try to avoid disabling the tests altogether. In any case, when you disable tests, leave a comment explaining why.
-* Commit names of Python libraries should include `pythonPackages`, for example `pythonPackages.numpy: 1.11 -> 1.12`.
+* Commit names of Python libraries should reflect that they are Python libraries, so write for example `pythonPackages.numpy: 1.11 -> 1.12`.
+
diff --git a/lib/maintainers.nix b/lib/maintainers.nix
index fbdeff3c073b..0859fba7b1d5 100644
--- a/lib/maintainers.nix
+++ b/lib/maintainers.nix
@@ -113,6 +113,7 @@
   cleverca22 = "Michael Bishop <cleverca22@gmail.com>";
   cmcdragonkai = "Roger Qiu <roger.qiu@matrix.ai>";
   cmfwyp = "cmfwyp <cmfwyp@riseup.net>";
+  cobbal = "Andrew Cobb <andrew.cobb@gmail.com>";
   coconnor = "Corey O'Connor <coreyoconnor@gmail.com>";
   codsl = "codsl <codsl@riseup.net>";
   codyopel = "Cody Opel <codyopel@gmail.com>";
diff --git a/nixos/doc/manual/release-notes/rl-1609.xml b/nixos/doc/manual/release-notes/rl-1609.xml
index 3abafac97378..893f894f42fe 100644
--- a/nixos/doc/manual/release-notes/rl-1609.xml
+++ b/nixos/doc/manual/release-notes/rl-1609.xml
@@ -176,7 +176,7 @@ following incompatible changes:</para>
   streamlined.  Desktop users should be able to simply set
   <programlisting>security.grsecurity.enable = true</programlisting> to get
   a reasonably secure system without having to sacrifice too much
-  functionality.  See <xref linkend="sec-grsecurity" /> for documentation
+  functionality.
   </para></listitem>
 
   <listitem><para>Special filesystems, like <literal>/proc</literal>,
diff --git a/nixos/doc/manual/release-notes/rl-1709.xml b/nixos/doc/manual/release-notes/rl-1709.xml
index 88b28c291184..c275fe46d118 100644
--- a/nixos/doc/manual/release-notes/rl-1709.xml
+++ b/nixos/doc/manual/release-notes/rl-1709.xml
@@ -184,6 +184,15 @@ rmdir /var/lib/ipfs/.ipfs
       <literal>services.xserver.libinput.enable</literal>.
     </para>
   </listitem>
+  <listitem>
+    <para>
+      grsecurity/PaX support has been dropped, following upstream's
+      decision to cease free support.  See
+      <link xlink:href="https://grsecurity.net/passing_the_baton.php">
+      upstream's announcement</link> for more information.
+      No complete replacement for grsecurity/PaX is available presently.
+    </para>
+  </listitem>
 </itemizedlist>
 
 <para>Other notable improvements:</para>
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 641a9e6095e5..cc7aa519478e 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -121,7 +121,6 @@
   ./security/chromium-suid-sandbox.nix
   ./security/dhparams.nix
   ./security/duosec.nix
-  ./security/grsecurity.nix
   ./security/hidepid.nix
   ./security/lock-kernel-modules.nix
   ./security/oath.nix
diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix
index 6b33eeb6e4e7..fcf4c32d2778 100644
--- a/nixos/modules/rename.nix
+++ b/nixos/modules/rename.nix
@@ -124,26 +124,6 @@ with lib;
     (mkRenamedOptionModule [ "services" "iodined" "extraConfig" ] [ "services" "iodine" "server" "extraConfig" ])
     (mkRemovedOptionModule [ "services" "iodined" "client" ] "")
 
-    # Grsecurity
-    (mkRemovedOptionModule [ "security" "grsecurity" "kernelPatch" ] "")
-    (mkRemovedOptionModule [ "security" "grsecurity" "config" "mode" ] "")
-    (mkRemovedOptionModule [ "security" "grsecurity" "config" "priority" ] "")
-    (mkRemovedOptionModule [ "security" "grsecurity" "config" "system" ] "")
-    (mkRemovedOptionModule [ "security" "grsecurity" "config" "virtualisationConfig" ] "")
-    (mkRemovedOptionModule [ "security" "grsecurity" "config" "hardwareVirtualisation" ] "")
-    (mkRemovedOptionModule [ "security" "grsecurity" "config" "virtualisationSoftware" ] "")
-    (mkRemovedOptionModule [ "security" "grsecurity" "config" "sysctl" ] "")
-    (mkRemovedOptionModule [ "security" "grsecurity" "config" "denyChrootChmod" ] "")
-    (mkRemovedOptionModule [ "security" "grsecurity" "config" "denyChrootCaps" ] "")
-    (mkRemovedOptionModule [ "security" "grsecurity" "config" "denyUSB" ] "")
-    (mkRemovedOptionModule [ "security" "grsecurity" "config" "restrictProc" ] "")
-    (mkRemovedOptionModule [ "security" "grsecurity" "config" "restrictProcWithGroup" ] "")
-    (mkRemovedOptionModule [ "security" "grsecurity" "config" "unrestrictProcGid" ] "")
-    (mkRemovedOptionModule [ "security" "grsecurity" "config" "disableRBAC" ] "")
-    (mkRemovedOptionModule [ "security" "grsecurity" "config" "disableSimultConnect" ] "")
-    (mkRemovedOptionModule [ "security" "grsecurity" "config" "verboseVersion" ] "")
-    (mkRemovedOptionModule [ "security" "grsecurity" "config" "kernelExtraConfig" ] "")
-
     # Unity3D
     (mkRenamedOptionModule [ "programs" "unity3d" "enable" ] [ "security" "chromiumSuidSandbox" "enable" ])
 
diff --git a/nixos/modules/security/chromium-suid-sandbox.nix b/nixos/modules/security/chromium-suid-sandbox.nix
index 0458ffb6c46c..be6acb3f1f53 100644
--- a/nixos/modules/security/chromium-suid-sandbox.nix
+++ b/nixos/modules/security/chromium-suid-sandbox.nix
@@ -19,9 +19,6 @@ in
 
       Also, if the URL chrome://sandbox tells you that "You are not adequately
       sandboxed!", turning this on might resolve the issue.
-
-      Finally, if you have <option>security.grsecurity</option> enabled and you
-      use Chromium, you probably need this.
     '';
   };
 
diff --git a/nixos/modules/security/grsecurity.nix b/nixos/modules/security/grsecurity.nix
deleted file mode 100644
index d23c7f2e86de..000000000000
--- a/nixos/modules/security/grsecurity.nix
+++ /dev/null
@@ -1,169 +0,0 @@
-{ config, pkgs, lib, ... }:
-
-with lib;
-
-let
-  cfg = config.security.grsecurity;
-  grsecLockPath = "/proc/sys/kernel/grsecurity/grsec_lock";
-
-  # Ascertain whether NixOS container support is required
-  containerSupportRequired =
-    config.boot.enableContainers && config.containers != {};
-in
-
-{
-  meta = {
-    maintainers = with maintainers; [ ];
-    doc = ./grsecurity.xml;
-  };
-
-  options.security.grsecurity = {
-
-    enable = mkOption {
-      type = types.bool;
-      default = false;
-      description = ''
-        Enable grsecurity/PaX.
-      '';
-    };
-
-    lockTunables = mkOption {
-      type = types.bool;
-      default = true;
-      description = ''
-        Whether to automatically lock grsecurity tunables
-        (<option>boot.kernel.sysctl."kernel.grsecurity.*"</option>).  Disable
-        this to allow runtime configuration of grsecurity features.  Activate
-        the <literal>grsec-lock</literal> service unit to prevent further
-        configuration until the next reboot.
-      '';
-    };
-
-    disableEfiRuntimeServices = mkOption {
-      type = types.bool;
-      default = true;
-      description = ''
-        Whether to disable access to EFI runtime services.  Enabling EFI runtime
-        services creates a venue for code injection attacks on the kernel and
-        should be disabled if at all possible.  Changing this option enters into
-        effect upon reboot.
-      '';
-    };
-
-  };
-
-  config = mkIf cfg.enable {
-
-    boot.kernelPackages = mkForce pkgs.linuxPackages_grsec_nixos;
-
-    boot.kernelParams = [ "grsec_sysfs_restrict=0" ]
-      ++ optional cfg.disableEfiRuntimeServices "noefi";
-
-    nixpkgs.config.grsecurity = true;
-
-    # Install PaX related utillities into the system profile.
-    environment.systemPackages = with pkgs; [ gradm paxctl pax-utils ];
-
-    # Install rules for the grsec device node
-    services.udev.packages = [ pkgs.gradm ];
-
-    # This service unit is responsible for locking the grsecurity tunables.  The
-    # unit is always defined, but only activated on bootup if lockTunables is
-    # toggled.  When lockTunables is toggled, failure to activate the unit will
-    # enter emergency mode.  The intent is to make it difficult to silently
-    # enter multi-user mode without having locked the tunables.  Some effort is
-    # made to ensure that starting the unit is an idempotent operation.
-    systemd.services.grsec-lock = {
-      description = "Lock grsecurity tunables";
-
-      wantedBy = optional cfg.lockTunables "multi-user.target";
-
-      wants = [ "local-fs.target" "systemd-sysctl.service" ];
-      after = [ "local-fs.target" "systemd-sysctl.service" ];
-      conflicts = [ "shutdown.target" ];
-
-      restartIfChanged = false;
-
-      script = ''
-        if ${pkgs.gnugrep}/bin/grep -Fq 0 ${grsecLockPath} ; then
-          echo -n 1 > ${grsecLockPath}
-        fi
-      '';
-
-      unitConfig = {
-        ConditionPathIsReadWrite = grsecLockPath;
-        DefaultDependencies = false;
-      } // optionalAttrs cfg.lockTunables {
-        OnFailure = "emergency.target";
-      };
-
-      serviceConfig = {
-        Type = "oneshot";
-        RemainAfterExit = true;
-      };
-    };
-
-    # Configure system tunables
-    boot.kernel.sysctl = {
-      # Read-only under grsecurity
-      "kernel.kptr_restrict" = mkForce null;
-
-      # All grsec tunables default to off, those not enabled below are
-      # *disabled*.  We use mkDefault to allow expert users to override
-      # our choices, but use mkForce where tunables would outright
-      # conflict with other settings.
-
-      # Enable all chroot restrictions by default (overwritten as
-      # necessary below)
-      "kernel.grsecurity.chroot_caps" = mkDefault 1;
-      "kernel.grsecurity.chroot_deny_bad_rename" = mkDefault 1;
-      "kernel.grsecurity.chroot_deny_chmod" = mkDefault 1;
-      "kernel.grsecurity.chroot_deny_chroot" = mkDefault 1;
-      "kernel.grsecurity.chroot_deny_fchdir" = mkDefault 1;
-      "kernel.grsecurity.chroot_deny_mknod" = mkDefault 1;
-      "kernel.grsecurity.chroot_deny_mount" = mkDefault 1;
-      "kernel.grsecurity.chroot_deny_pivot" = mkDefault 1;
-      "kernel.grsecurity.chroot_deny_shmat" = mkDefault 1;
-      "kernel.grsecurity.chroot_deny_sysctl" = mkDefault 1;
-      "kernel.grsecurity.chroot_deny_unix" = mkDefault 1;
-      "kernel.grsecurity.chroot_enforce_chdir" = mkDefault 1;
-      "kernel.grsecurity.chroot_findtask" = mkDefault 1;
-      "kernel.grsecurity.chroot_restrict_nice" = mkDefault 1;
-
-      # Enable various grsec protections
-      "kernel.grsecurity.consistent_setxid" = mkDefault 1;
-      "kernel.grsecurity.deter_bruteforce" = mkDefault 1;
-      "kernel.grsecurity.fifo_restrictions" = mkDefault 1;
-      "kernel.grsecurity.harden_ipc" = mkDefault 1;
-      "kernel.grsecurity.harden_ptrace" = mkDefault 1;
-      "kernel.grsecurity.harden_tty" = mkDefault 1;
-      "kernel.grsecurity.ip_blackhole" = mkDefault 1;
-      "kernel.grsecurity.linking_restrictions" = mkDefault 1;
-      "kernel.grsecurity.ptrace_readexec" = mkDefault 1;
-
-      # Enable auditing
-      "kernel.grsecurity.audit_ptrace" = mkDefault 1;
-      "kernel.grsecurity.forkfail_logging" = mkDefault 1;
-      "kernel.grsecurity.rwxmap_logging" = mkDefault 1;
-      "kernel.grsecurity.signal_logging" = mkDefault 1;
-      "kernel.grsecurity.timechange_logging" = mkDefault 1;
-    } // optionalAttrs config.nix.useSandbox {
-      # chroot(2) restrictions that conflict with sandboxed Nix builds
-      "kernel.grsecurity.chroot_caps" = mkForce 0;
-      "kernel.grsecurity.chroot_deny_chmod" = mkForce 0;
-      "kernel.grsecurity.chroot_deny_chroot" = mkForce 0;
-      "kernel.grsecurity.chroot_deny_mount" = mkForce 0;
-      "kernel.grsecurity.chroot_deny_pivot" = mkForce 0;
-    } // optionalAttrs containerSupportRequired {
-      # chroot(2) restrictions that conflict with NixOS lightweight containers
-      "kernel.grsecurity.chroot_caps" = mkForce 0;
-      "kernel.grsecurity.chroot_deny_chmod" = mkForce 0;
-      "kernel.grsecurity.chroot_deny_mount" = mkForce 0;
-      "kernel.grsecurity.chroot_restrict_nice" = mkForce 0;
-      # Disable privileged IO by default, unless X is enabled
-    } // optionalAttrs (!config.services.xserver.enable) {
-      "kernel.grsecurity.disable_priv_io" = mkDefault 1;
-    };
-
-  };
-}
diff --git a/nixos/modules/security/grsecurity.xml b/nixos/modules/security/grsecurity.xml
deleted file mode 100644
index 0a884b3f9b55..000000000000
--- a/nixos/modules/security/grsecurity.xml
+++ /dev/null
@@ -1,385 +0,0 @@
-<chapter xmlns="http://docbook.org/ns/docbook"
-         xmlns:xlink="http://www.w3.org/1999/xlink"
-         xmlns:xi="http://www.w3.org/2001/XInclude"
-         version="5.0"
-         xml:id="sec-grsecurity">
-
-  <title>Grsecurity/PaX</title>
-
-  <para>
-    Grsecurity/PaX is a set of patches against the Linux kernel that
-    implements an extensive suite of
-    <link xlink:href="https://grsecurity.net/features.php">features</link>
-    designed to increase the difficulty of exploiting kernel and
-    application bugs.
-  </para>
-
-  <para>
-    The NixOS grsecurity/PaX module is designed with casual users in mind and is
-    intended to be compatible with normal desktop usage, without
-    <emphasis>unnecessarily</emphasis> compromising security.  The
-    following sections describe the configuration and administration of
-    a grsecurity/PaX enabled NixOS system.  For more comprehensive
-    coverage, please refer to the
-    <link xlink:href="https://en.wikibooks.org/wiki/Grsecurity">grsecurity wikibook</link>
-    and the
-    <link xlink:href="https://wiki.archlinux.org/index.php/Grsecurity">Arch
-    Linux wiki page on grsecurity</link>.
-
-    <warning><para>Upstream has ceased free support for grsecurity/PaX.  See
-    <link xlink:href="https://grsecurity.net/passing_the_baton.php">
-    the announcement</link> for more information.  Consequently, NixOS
-    support for grsecurity/PaX also must cease.  Enabling this module will
-    result in a build error.</para></warning>
-    <note><para>We standardise on a desktop oriented configuration primarily due
-    to lack of resources.  The grsecurity/PaX configuration state space is huge
-    and each configuration requires quite a bit of testing to ensure that the
-    resulting packages work as advertised.  Defining additional package sets
-    would likely result in a large number of functionally broken packages, to
-    nobody's benefit.</para></note>
-  </para>
-
-  <sect1 xml:id="sec-grsec-enable"><title>Enabling grsecurity/PaX</title>
-
-  <para>
-    To make use of grsecurity/PaX on NixOS, add the following to your
-    <filename>configuration.nix</filename>:
-    <programlisting>
-      security.grsecurity.enable = true;
-    </programlisting>
-    followed by
-    <programlisting>
-      # nixos-rebuild boot
-      # reboot
-    </programlisting>
-    <note><para>
-      Enabling the grsecurity module overrides
-      <option>boot.kernelPackages</option>, to reduce the risk of
-      misconfiguration.  <xref linkend="sec-grsec-custom-kernel" />
-      describes how to use a custom kernel package set.
-    </para></note>
-
-    For most users, further configuration should be unnecessary.  All users
-    are encouraged to look over <xref linkend="sec-grsec-security" /> before
-    using the system, however.  If you experience problems, please refer to
-    <xref linkend="sec-grsec-issues" />.
-  </para>
-
-  <para>
-    Once booted into the new system, you can optionally use
-    <command>paxtest</command> to exercise various PaX features:
-    <screen><![CDATA[
-    # nix-shell -p paxtest --command 'paxtest blackhat'
-    Executable anonymous mapping             : Killed
-    Executable bss                           : Killed
-    # ... remaining output truncated for brevity
-    ]]></screen>
-  </para>
-
-  </sect1>
-
-  <sect1 xml:id="sec-grsec-declarative-tuning"><title>Declarative tuning</title>
-
-  <para>
-    The default configuration mode is strictly declarative.  Some features
-    simply cannot be changed at all after boot, while others are locked once the
-    system is up and running.  Moreover, changes to the configuration enter
-    into effect only upon booting into the new system.
-  </para>
-
-  <para>
-    The NixOS module exposes a limited number of options for tuning the behavior
-    of grsecurity/PaX.  These are options thought to be of particular interest
-    to most users.  For experts, further tuning is possible via
-    <option>boot.kernelParams</option> (see
-    <xref linkend="sec-grsec-kernel-params" />) and
-    <option>boot.kernel.sysctl."kernel.grsecurity.*"</option> (the wikibook
-    contains an <link xlink:href="https://en.wikibooks.org/wiki/Grsecurity/Appendix/Sysctl_Options">
-    exhaustive listing of grsecurity sysctl tunables</link>).
-  </para>
-
-  </sect1>
-
-  <sect1 xml:id="sec-grsec-manual-tuning"><title>Manual tuning</title>
-
-  <para>
-    To permit manual tuning of grsecurity runtime parameters, set:
-    <programlisting>
-      security.grsecurity.lockTunables = false;
-    </programlisting>
-    Once booted into this system, grsecurity features that have a corresponding
-    sysctl tunable can be changed without rebooting, either by switching into
-    a new system profile or via the <command>sysctl</command> utility.
-  </para>
-
-  <para>
-    To lock all grsecurity tunables until the next boot, do:
-    <screen>
-      # systemctl start grsec-lock
-    </screen>
-  </para>
-
-  </sect1>
-
-  <sect1 xml:id="sec-grsec-security"><title>Security considerations</title>
-
-  <para>
-    The NixOS kernel is built using upstream's recommended settings for a
-    desktop deployment that generally favours security over performance.  This
-    section details deviations from upstream's recommendations that may
-    compromise security.
-
-    <warning><para>There may be additional problems not covered here!</para>
-    </warning>
-  </para>
-
-  <itemizedlist>
-
-    <listitem><para>
-      The following hardening features are disabled in the NixOS kernel:
-      <itemizedlist>
-        <listitem><para>Kernel symbol hiding: rendered useless by redistributing
-        kernel objects.</para></listitem>
-
-        <listitem><para>Randomization of kernel structures: rendered useless by
-        redistributing kernel objects.</para></listitem>
-
-        <listitem><para>TCP simultaneous OPEN connection is permitted: breaking
-        strict TCP conformance is inappropriate for a general purpose kernel.
-        The trade-off is that an attacker may be able to deny outgoing
-        connections if they are able to guess the source port allocated by your
-        OS for that connection <emphasis>and</emphasis> also manage to initiate
-        a TCP simultaneous OPEN on that port before the connection is actually
-        established.</para></listitem>
-
-        <listitem><para>Trusted path execution: a desirable feature, but
-        requires some more work to operate smoothly on NixOS.</para></listitem>
-      </itemizedlist>
-    </para></listitem>
-
-    <listitem><para>
-      The NixOS module conditionally weakens <command>chroot</command>
-      restrictions to accommodate NixOS lightweight containers and sandboxed Nix
-      builds.  This can be problematic if the deployment also runs privileged
-      network facing processes that <emphasis>rely</emphasis> on
-      <command>chroot</command> for isolation.
-    </para></listitem>
-
-    <listitem><para>
-      The NixOS kernel is patched to allow usermode helpers from anywhere in the
-      Nix store.  A usermode helper is an executable called by the kernel in
-      certain circumstances, e.g., <command>modprobe</command>.  Vanilla
-      grsecurity only allows usermode helpers from paths typically owned by the
-      super user.  The NixOS kernel allows an attacker to inject malicious code
-      into the Nix store which could then be executed by the kernel as a
-      usermode helper.
-    </para></listitem>
-
-    <listitem><para>
-      The following features are disabled because they overlap with
-      vanilla kernel mechanisms:
-
-      <itemizedlist>
-        <listitem><para><filename class="directory">/proc</filename> hardening:
-        use <option>security.hideProcessInformation</option> instead.  This
-        trades weaker protection for greater compatibility.
-        </para></listitem>
-
-        <listitem><para><command>dmesg</command> restrictions:
-        use <option>boot.kernel.sysctl."kernel.dmesg_restrict"</option> instead
-        </para></listitem>
-      </itemizedlist>
-    </para></listitem>
-
-  </itemizedlist>
-
-  </sect1>
-
-  <sect1 xml:id="sec-grsec-custom-kernel"><title>Using a custom grsecurity/PaX kernel</title>
-
-  <para>
-    The NixOS kernel is likely to be either too permissive or too restrictive
-    for many deployment scenarios.  In addition to producing a kernel more
-    suitable for a particular deployment, a custom kernel may improve security
-    by depriving an attacker the ability to study the kernel object code, adding
-    yet more guesswork to successfully carry out certain exploits.
-  </para>
-
-  <para>
-    To build a custom kernel using upstream's recommended settings for server
-    deployments, while still using the NixOS module:
-    <programlisting>
-      nixpkgs.config.packageOverrides = super: {
-        linux_grsec_nixos = super.linux_grsec_nixos.override {
-          extraConfig = ''
-            GRKERNSEC_CONFIG_AUTO y
-            GRKERNSEC_CONFIG_SERVER y
-            GRKERNSEC_CONFIG_SECURITY y
-          '';
-        };
-      };
-    </programlisting>
-  </para>
-
-  <para>
-    The grsecurity/PaX wikibook provides an exhaustive listing of
-    <link xlink:href="https://en.wikibooks.org/wiki/Grsecurity/Appendix/Grsecurity_and_PaX_Configuration_Options">kernel configuration options</link>.
-  </para>
-
-  <para>
-    The NixOS module makes several assumptions about the kernel and so
-    may be incompatible with your customised kernel. Currently, the only way
-    to work around these incompatibilities is to eschew the NixOS
-    module.
-  </para>
-
-  <para>
-    If not using the NixOS module, a custom grsecurity package set can
-    be specified inline instead, as in
-    <programlisting>
-      boot.kernelPackages =
-        let
-          kernel = pkgs.linux_grsec_nixos.override {
-            extraConfig = /* as above */;
-          };
-          self = pkgs.linuxPackagesFor kernel self;
-        in self;
-    </programlisting>
-  </para>
-
-  </sect1>
-
-  <sect1 xml:id="sec-grsec-pax-flags"><title>Per-executable PaX flags</title>
-
-  <para>
-    Manual tuning of per-file PaX flags for executables in the Nix store is
-    impossible on a properly configured system.  If a package in Nixpkgs fails
-    due to PaX, that is a bug in the package recipe and should be reported to
-    the maintainer (including relevant <command>dmesg</command> output).
-  </para>
-
-  <para>
-    For executables installed outside of the Nix store, PaX flags can be set
-    using the <command>paxctl</command> utility:
-    <programlisting>
-      paxctl -czem <replaceable>foo</replaceable>
-    </programlisting>
-
-    <warning>
-      <para><command>paxctl</command> overwrites files in-place.</para>
-    </warning>
-
-    Equivalently, on file systems that support extended attributes:
-    <programlisting>
-      setfattr -n user.pax.flags -v em <replaceable>foo</replaceable>
-    </programlisting>
-
-    <!-- TODO: PaX flags via RBAC policy -->
-  </para>
-
-  </sect1>
-
-  <sect1 xml:id="sec-grsec-issues"><title>Issues and work-arounds</title>
-
-  <itemizedlist>
-    <listitem><para>User namespaces require <literal>CAP_SYS_ADMIN</literal>:
-    consequently, unprivileged namespaces are unsupported. Applications that
-    rely on namespaces for sandboxing must use a privileged helper. For chromium
-    there is <option>security.chromiumSuidSandbox.enable</option>.</para></listitem>
-
-    <listitem><para>Access to EFI runtime services is disabled by default:
-    this plugs a potential code injection attack vector; use
-    <option>security.grsecurity.disableEfiRuntimeServices</option> to override
-    this behavior.</para></listitem>
-
-    <listitem><para>User initiated autoloading of modules (e.g., when
-    using fuse or loop devices) is disallowed; either load requisite modules
-    as root or add them to <option>boot.kernelModules</option>.</para></listitem>
-
-    <listitem><para>Virtualization: KVM is the preferred virtualization
-    solution. Xen, Virtualbox, and VMWare are
-    <emphasis>unsupported</emphasis> and most likely require a custom kernel.
-    </para></listitem>
-
-    <listitem><para>
-      Attaching <command>gdb</command> to a running process is disallowed by
-      default: unprivileged users can only ptrace processes that are children of
-      the ptracing process.  To relax this restriction, set
-      <programlisting>
-        boot.kernel.sysctl."kernel.grsecurity.harden_ptrace" = 0;
-      </programlisting>
-    </para></listitem>
-
-    <listitem><para>
-      Overflows in boot critical code (e.g., the root filesystem module) can
-      render the system unbootable.  Work around by setting
-      <programlisting>
-        boot.kernelParams = [ "pax_size_overflow_report_only" ];
-      </programlisting>
-    </para></listitem>
-
-    <listitem><para>
-      The <citerefentry><refentrytitle>modify_ldt
-      </refentrytitle><manvolnum>2</manvolnum></citerefentry> syscall is disabled
-      by default.  This restriction can interfere with programs designed to run
-      legacy 16-bit or segmented 32-bit code.  To support applications that rely
-      on this syscall, set
-      <programlisting>
-        boot.kernel.sysctl."kernel.modify_ldt" = 1;
-      </programlisting>
-    </para></listitem>
-
-    <listitem><para>
-      The gitlab service (<xref linkend="module-services-gitlab" />)
-      requires a variant of the <literal>ruby</literal> interpreter
-      built without `mprotect()` hardening, as in
-      <programlisting>
-        services.gitlab.packages.gitlab = pkgs.gitlab.override {
-          ruby = pkgs.ruby.overrideAttrs (attrs: {
-            postFixup = "paxmark m $out/bin/ruby";
-          });
-        };
-      </programlisting>
-    </para></listitem>
-
-  </itemizedlist>
-
-  </sect1>
-
-  <sect1 xml:id="sec-grsec-kernel-params"><title>Grsecurity/PaX kernel parameters</title>
-
-  <para>
-    The NixOS kernel supports the following kernel command line parameters:
-    <itemizedlist>
-      <listitem><para>
-        <literal>pax_nouderef</literal>: disable UDEREF (separate kernel and
-        user address spaces).
-      </para></listitem>
-
-      <listitem><para>
-        <literal>pax_weakuderef</literal>: enable a faster but
-        weaker variant of UDEREF on 64-bit processors with PCID support
-        (check <code>grep pcid /proc/cpuinfo</code>).
-      </para></listitem>
-
-      <listitem><para>
-        <literal>pax_sanitize_slab={off|fast|full}</literal>: control kernel
-        slab object sanitization. Defaults to <literal>fast</literal>
-      </para></listitem>
-
-      <listitem><para>
-        <literal>pax_size_overflow_report_only</literal>: log size overflow
-        violations but leave the violating task running
-      </para></listitem>
-
-      <listitem><para>
-        <literal>grsec_sysfs_restrict=[0|1]</literal>: toggle sysfs
-        restrictions. The NixOS module sets this to <literal>0</literal>
-        for systemd compatibility
-      </para></listitem>
-    </itemizedlist>
-  </para>
-
-  </sect1>
-
-</chapter>
diff --git a/nixos/modules/services/continuous-integration/hydra/default.nix b/nixos/modules/services/continuous-integration/hydra/default.nix
index fcc0f58637c4..43fec5ff5bb2 100644
--- a/nixos/modules/services/continuous-integration/hydra/default.nix
+++ b/nixos/modules/services/continuous-integration/hydra/default.nix
@@ -270,8 +270,8 @@ in
 
           ${optionalString haveLocalDB ''
             if ! [ -e ${baseDir}/.db-created ]; then
-              ${config.services.postgresql.package}/bin/createuser hydra
-              ${config.services.postgresql.package}/bin/createdb -O hydra hydra
+              ${pkgs.sudo}/bin/sudo -u ${config.services.postgresql.superUser} ${config.services.postgresql.package}/bin/createuser hydra
+              ${pkgs.sudo}/bin/sudo -u ${config.services.postgresql.superUser} ${config.services.postgresql.package}/bin/createdb -O hydra hydra
               touch ${baseDir}/.db-created
             fi
           ''}
diff --git a/nixos/modules/services/databases/postgresql.nix b/nixos/modules/services/databases/postgresql.nix
index d06e03a52978..1bbab3296005 100644
--- a/nixos/modules/services/databases/postgresql.nix
+++ b/nixos/modules/services/databases/postgresql.nix
@@ -38,9 +38,6 @@ let
 
   pre84 = versionOlder (builtins.parseDrvName postgresql.name).version "8.4";
 
-  # NixOS traditionally used `root` as superuser, most other distros use `postgres`. From 17.09
-  # we also try to follow this standard
-  superuser = (if versionAtLeast config.system.stateVersion "17.09" then "postgres" else "root");
 
 in
 
@@ -151,6 +148,16 @@ in
           Contents of the <filename>recovery.conf</filename> file.
         '';
       };
+      superUser = mkOption {
+        type = types.str;
+        default= if versionAtLeast config.system.stateVersion "17.09" then "postgres" else "root";
+        internal = true;
+        description = ''
+          NixOS traditionally used `root` as superuser, most other distros use `postgres`.
+          From 17.09 we also try to follow this standard. Internal since changing this value
+          would lead to breakage while setting up databases.
+        '';
+        };
     };
 
   };
@@ -215,7 +222,7 @@ in
           ''
             # Initialise the database.
             if ! test -e ${cfg.dataDir}/PG_VERSION; then
-              initdb -U ${superuser}
+              initdb -U ${cfg.superUser}
               # See postStart!
               touch "${cfg.dataDir}/.first_startup"
             fi
@@ -247,14 +254,14 @@ in
         # Wait for PostgreSQL to be ready to accept connections.
         postStart =
           ''
-            while ! ${pkgs.sudo}/bin/sudo -u ${superuser} psql --port=${toString cfg.port} -d postgres -c "" 2> /dev/null; do
+            while ! ${pkgs.sudo}/bin/sudo -u ${cfg.superUser} psql --port=${toString cfg.port} -d postgres -c "" 2> /dev/null; do
                 if ! kill -0 "$MAINPID"; then exit 1; fi
                 sleep 0.1
             done
 
             if test -e "${cfg.dataDir}/.first_startup"; then
               ${optionalString (cfg.initialScript != null) ''
-                ${pkgs.sudo}/bin/sudo -u ${superuser} psql -f "${cfg.initialScript}" --port=${toString cfg.port} -d postgres
+                ${pkgs.sudo}/bin/sudo -u ${cfg.superUser} psql -f "${cfg.initialScript}" --port=${toString cfg.port} -d postgres
               ''}
               rm -f "${cfg.dataDir}/.first_startup"
             fi
diff --git a/nixos/modules/services/misc/gitlab.nix b/nixos/modules/services/misc/gitlab.nix
index ccc1854d2548..fcb7aaa62716 100644
--- a/nixos/modules/services/misc/gitlab.nix
+++ b/nixos/modules/services/misc/gitlab.nix
@@ -10,10 +10,12 @@ let
   ruby = cfg.packages.gitlab.ruby;
   bundler = pkgs.bundler;
 
-  gemHome = "${cfg.packages.gitlab.env}/${ruby.gemPath}";
+  gemHome = "${cfg.packages.gitlab.ruby-env}/${ruby.gemPath}";
 
   gitlabSocket = "${cfg.statePath}/tmp/sockets/gitlab.socket";
+  gitalySocket = "${cfg.statePath}/tmp/sockets/gitaly.socket";
   pathUrlQuote = url: replaceStrings ["/"] ["%2F"] url;
+  pgSuperUser = config.services.postgresql.superUser;
 
   databaseYml = ''
     production:
@@ -25,6 +27,17 @@ let
       encoding: utf8
   '';
 
+  gitalyToml = pkgs.writeText "gitaly.toml" ''
+    socket_path = "${lib.escape ["\""] gitalySocket}"
+    # prometheus metrics
+
+    ${concatStringsSep "\n" (attrValues (mapAttrs (k: v: ''
+    [[storage]]
+    name = "${lib.escape ["\""] k}"
+    path = "${lib.escape ["\""] v.path}"
+    '') gitlabConfig.production.repositories.storages))}
+  '';
+
   gitlabShellYml = ''
     user: ${cfg.user}
     gitlab_url: "http+unix://${pathUrlQuote gitlabSocket}"
@@ -46,6 +59,7 @@ let
       secret_key_base: ${cfg.secrets.secret}
       otp_key_base: ${cfg.secrets.otp}
       db_key_base: ${cfg.secrets.db}
+      jws_private_key: ${builtins.toJSON cfg.secrets.jws}
   '';
 
   gitlabConfig = {
@@ -69,7 +83,8 @@ let
           container_registry = true;
         };
       };
-      repositories.storages.default = "${cfg.statePath}/repositories";
+      repositories.storages.default.path = "${cfg.statePath}/repositories";
+      repositories.storages.default.gitaly_address = "unix:${gitalySocket}";
       artifacts.enabled = true;
       lfs.enabled = true;
       gravatar.enabled = true;
@@ -105,9 +120,9 @@ let
     GITLAB_UPLOADS_PATH = "${cfg.statePath}/uploads";
     GITLAB_LOG_PATH = "${cfg.statePath}/log";
     GITLAB_SHELL_PATH = "${cfg.packages.gitlab-shell}";
-    GITLAB_SHELL_CONFIG_PATH = "${cfg.statePath}/shell/config.yml";
+    GITLAB_SHELL_CONFIG_PATH = "${cfg.statePath}/home/config.yml";
     GITLAB_SHELL_SECRET_PATH = "${cfg.statePath}/config/gitlab_shell_secret";
-    GITLAB_SHELL_HOOKS_PATH = "${cfg.statePath}/shell/hooks";
+    GITLAB_SHELL_HOOKS_PATH = "${cfg.statePath}/home/hooks";
     RAILS_ENV = "production";
   };
 
@@ -115,15 +130,15 @@ let
 
   gitlab-rake = pkgs.stdenv.mkDerivation rec {
     name = "gitlab-rake";
-    buildInputs = [ cfg.packages.gitlab cfg.packages.gitlab.env pkgs.makeWrapper ];
+    buildInputs = [ cfg.packages.gitlab cfg.packages.gitlab.ruby-env pkgs.makeWrapper ];
     phases = "installPhase fixupPhase";
     buildPhase = "";
     installPhase = ''
       mkdir -p $out/bin
-      makeWrapper ${cfg.packages.gitlab.env}/bin/bundle $out/bin/gitlab-bundle \
+      makeWrapper ${cfg.packages.gitlab.ruby-env}/bin/bundle $out/bin/gitlab-bundle \
           ${concatStrings (mapAttrsToList (name: value: "--set ${name} '${value}' ") gitlabEnv)} \
           --set GITLAB_CONFIG_PATH '${cfg.statePath}/config' \
-          --set PATH '${lib.makeBinPath [ pkgs.nodejs pkgs.gzip config.services.postgresql.package ]}:$PATH' \
+          --set PATH '${lib.makeBinPath [ pkgs.nodejs pkgs.gzip pkgs.git pkgs.gnutar config.services.postgresql.package ]}:$PATH' \
           --set RAKEOPT '-f ${cfg.packages.gitlab}/share/gitlab/Rakefile' \
           --run 'cd ${cfg.packages.gitlab}/share/gitlab'
       makeWrapper $out/bin/gitlab-bundle $out/bin/gitlab-rake \
@@ -182,6 +197,13 @@ in {
         description = "Reference to the gitlab-workhorse package";
       };
 
+      packages.gitaly = mkOption {
+        type = types.package;
+        default = pkgs.gitaly;
+        defaultText = "pkgs.gitaly";
+        description = "Reference to the gitaly package";
+      };
+
       statePath = mkOption {
         type = types.str;
         default = "/var/gitlab/state";
@@ -359,6 +381,19 @@ in {
         '';
       };
 
+      secrets.jws = mkOption {
+        type = types.str;
+        description = ''
+          The secret is used to encrypt session keys. If you change or lose
+          this key, users will be disconnected.
+
+          Make sure the secret is an RSA private key in PEM format. You can
+          generate one with
+
+          openssl genrsa 2048openssl genpkey -algorithm RSA -out - -pkeyopt rsa_keygen_bits:2048
+        '';
+      };
+
       extraConfig = mkOption {
         type = types.attrs;
         default = {};
@@ -428,7 +463,24 @@ in {
         TimeoutSec = "300";
         Restart = "on-failure";
         WorkingDirectory = "${cfg.packages.gitlab}/share/gitlab";
-        ExecStart="${cfg.packages.gitlab.env}/bin/bundle exec \"sidekiq -C \"${cfg.packages.gitlab}/share/gitlab/config/sidekiq_queues.yml\" -e production -P ${cfg.statePath}/tmp/sidekiq.pid\"";
+        ExecStart="${cfg.packages.gitlab.ruby-env}/bin/bundle exec \"sidekiq -C \"${cfg.packages.gitlab}/share/gitlab/config/sidekiq_queues.yml\" -e production -P ${cfg.statePath}/tmp/sidekiq.pid\"";
+      };
+    };
+
+    systemd.services.gitaly = {
+      after = [ "network.target" "gitlab.service" ];
+      wantedBy = [ "multi-user.target" ];
+      environment.HOME = gitlabEnv.HOME;
+      path = with pkgs; [ gitAndTools.git ];
+      serviceConfig = {
+        #PermissionsStartOnly = true; # preStart must be run as root
+        Type = "simple";
+        User = cfg.user;
+        Group = cfg.group;
+        TimeoutSec = "300";
+        Restart = "on-failure";
+        WorkingDirectory = gitlabEnv.HOME;
+        ExecStart = "${cfg.packages.gitaly}/bin/gitaly ${gitalyToml}";
       };
     };
 
@@ -477,6 +529,7 @@ in {
         gitAndTools.git
         openssh
         nodejs
+        procps
       ];
       preStart = ''
         mkdir -p ${cfg.backupPath}
@@ -486,12 +539,11 @@ in {
         mkdir -p ${gitlabConfig.production.shared.path}/lfs-objects
         mkdir -p ${gitlabConfig.production.shared.path}/pages
         mkdir -p ${cfg.statePath}/log
-        mkdir -p ${cfg.statePath}/shell
         mkdir -p ${cfg.statePath}/tmp/pids
         mkdir -p ${cfg.statePath}/tmp/sockets
 
-        rm -rf ${cfg.statePath}/config ${cfg.statePath}/shell/hooks
-        mkdir -p ${cfg.statePath}/config ${cfg.statePath}/shell
+        rm -rf ${cfg.statePath}/config ${cfg.statePath}/home/hooks
+        mkdir -p ${cfg.statePath}/config
 
         tr -dc A-Za-z0-9 < /dev/urandom | head -c 32 > ${cfg.statePath}/config/gitlab_shell_secret
 
@@ -507,7 +559,6 @@ in {
         mkdir -p ${gitlabEnv.HOME}/.ssh
         touch ${gitlabEnv.HOME}/.ssh/authorized_keys
         chown -R ${cfg.user}:${cfg.group} ${gitlabEnv.HOME}/
-        chmod -R u+rwX,go-rwx+X ${gitlabEnv.HOME}/
 
         cp -rf ${cfg.packages.gitlab}/share/gitlab/config.dist/* ${cfg.statePath}/config
         ${optionalString cfg.smtp.enable ''
@@ -532,14 +583,14 @@ in {
 
         if [ "${cfg.databaseHost}" = "127.0.0.1" ]; then
           if ! test -e "${cfg.statePath}/db-created"; then
-            psql postgres -c "CREATE ROLE ${cfg.databaseUsername} WITH LOGIN NOCREATEDB NOCREATEROLE NOCREATEUSER ENCRYPTED PASSWORD '${cfg.databasePassword}'"
-            ${config.services.postgresql.package}/bin/createdb --owner ${cfg.databaseUsername} ${cfg.databaseName} || true
+            ${pkgs.sudo}/bin/sudo -u ${pgSuperUser} psql postgres -c "CREATE ROLE ${cfg.databaseUsername} WITH LOGIN NOCREATEDB NOCREATEROLE ENCRYPTED PASSWORD '${cfg.databasePassword}'"
+            ${pkgs.sudo}/bin/sudo -u ${pgSuperUser} ${config.services.postgresql.package}/bin/createdb --owner ${cfg.databaseUsername} ${cfg.databaseName}
             touch "${cfg.statePath}/db-created"
           fi
         fi
 
         # enable required pg_trgm extension for gitlab
-        psql gitlab -c "CREATE EXTENSION IF NOT EXISTS pg_trgm"
+        ${pkgs.sudo}/bin/sudo -u ${pgSuperUser} psql gitlab -c "CREATE EXTENSION IF NOT EXISTS pg_trgm"
         # Always do the db migrations just to be sure the database is up-to-date
         ${gitlab-rake}/bin/gitlab-rake db:migrate RAILS_ENV=production
 
@@ -555,7 +606,8 @@ in {
         # Change permissions in the last step because some of the
         # intermediary scripts like to create directories as root.
         chown -R ${cfg.user}:${cfg.group} ${cfg.statePath}
-        chmod -R u+rwX,go-rwx+X ${cfg.statePath}
+        chmod -R ug+rwX,o-rwx+X ${cfg.statePath}
+        chmod -R u+rwX,go-rwx+X ${gitlabEnv.HOME}
       '';
 
       serviceConfig = {
@@ -566,7 +618,7 @@ in {
         TimeoutSec = "300";
         Restart = "on-failure";
         WorkingDirectory = "${cfg.packages.gitlab}/share/gitlab";
-        ExecStart = "${cfg.packages.gitlab.env}/bin/bundle exec \"unicorn -c ${cfg.statePath}/config/unicorn.rb -E production\"";
+        ExecStart = "${cfg.packages.gitlab.ruby-env}/bin/bundle exec \"unicorn -c ${cfg.statePath}/config/unicorn.rb -E production\"";
       };
 
     };
diff --git a/nixos/modules/services/torrent/deluge.nix b/nixos/modules/services/torrent/deluge.nix
index 1ea6bf88d7ae..ec1e97f4125e 100644
--- a/nixos/modules/services/torrent/deluge.nix
+++ b/nixos/modules/services/torrent/deluge.nix
@@ -57,7 +57,7 @@ in {
       after = [ "network.target" ];
       description = "Deluge BitTorrent WebUI";
       wantedBy = [ "multi-user.target" ];
-      path = [ pkgs.pythonPackages.deluge ];
+      path = [ pkgs.deluge ];
       serviceConfig.ExecStart = "${pkgs.deluge}/bin/deluge --ui web";
       serviceConfig.User = "deluge";
       serviceConfig.Group = "deluge";
diff --git a/nixos/modules/services/x11/desktop-managers/mate.nix b/nixos/modules/services/x11/desktop-managers/mate.nix
index 1230d9cf534d..7a95ac6549d8 100644
--- a/nixos/modules/services/x11/desktop-managers/mate.nix
+++ b/nixos/modules/services/x11/desktop-managers/mate.nix
@@ -60,10 +60,7 @@ in
       '';
     };
 
-    environment.systemPackages = [
-      pkgs.hicolor_icon_theme
-      pkgs.mate.mate-icon-theme
-    ]  ++
+    environment.systemPackages =
       pkgs.mate.basePackages ++
       (removePackagesByName
         pkgs.mate.extraPackages
diff --git a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py
index 779005c0df52..3333569c36be 100644
--- a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py
+++ b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py
@@ -12,6 +12,9 @@ import warnings
 import ctypes
 libc = ctypes.CDLL("libc.so.6")
 import re
+import datetime
+import glob
+import os.path
 
 def copy_if_not_exists(source, dest):
     if not os.path.exists(dest):
@@ -24,7 +27,7 @@ def system_dir(profile, generation):
         return "/nix/var/nix/profiles/system-%d-link" % (generation)
 
 BOOT_ENTRY = """title NixOS{profile}
-version Generation {generation}
+version Generation {generation} {description}
 linux {kernel}
 initrd {initrd}
 options {kernel_params}
@@ -54,6 +57,26 @@ def copy_from_profile(profile, generation, name, dry_run=False):
         copy_if_not_exists(store_file_path, "@efiSysMountPoint@%s" % (efi_file_path))
     return efi_file_path
 
+def describe_generation(generation_dir):
+    try:
+        with open("%s/nixos-version" % generation_dir) as f:
+            nixos_version = f.read()
+    except IOError:
+        nixos_version = "Unknown"
+
+    kernel_dir = os.path.dirname(os.path.realpath("%s/kernel" % generation_dir))
+    module_dir = glob.glob("%s/lib/modules/*" % kernel_dir)[0]
+    kernel_version = os.path.basename(module_dir)
+
+    build_time = int(os.path.getctime(generation_dir))
+    build_date = datetime.datetime.fromtimestamp(build_time).strftime('%F')
+
+    description = "NixOS {}, Linux Kernel {}, Built on {}".format(
+        nixos_version, kernel_version, build_date
+    )
+
+    return description
+
 def write_entry(profile, generation, machine_id):
     kernel = copy_from_profile(profile, generation, "kernel")
     initrd = copy_from_profile(profile, generation, "initrd")
@@ -69,6 +92,7 @@ def write_entry(profile, generation, machine_id):
     generation_dir = os.readlink(system_dir(profile, generation))
     tmp_path = "%s.tmp" % (entry_file)
     kernel_params = "systemConfig=%s init=%s/init " % (generation_dir, generation_dir)
+
     with open("%s/kernel-params" % (generation_dir)) as params_file:
         kernel_params = kernel_params + params_file.read()
     with open(tmp_path, 'w') as f:
@@ -76,7 +100,8 @@ def write_entry(profile, generation, machine_id):
                     generation=generation,
                     kernel=kernel,
                     initrd=initrd,
-                    kernel_params=kernel_params))
+                    kernel_params=kernel_params,
+                    description=describe_generation(generation_dir)))
         if machine_id is not None:
             f.write("machine-id %s\n" % machine_id)
     os.rename(tmp_path, entry_file)
diff --git a/nixos/tests/hydra.nix b/nixos/tests/hydra.nix
new file mode 100644
index 000000000000..6abd7a5ad300
--- /dev/null
+++ b/nixos/tests/hydra.nix
@@ -0,0 +1,32 @@
+import ./make-test.nix ({ pkgs, ...} : {
+  name = "hydra-init-localdb";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ pstn ];
+  };
+
+  machine =
+    { config, pkgs, ... }:
+
+    {
+      services.hydra = {
+        enable = true;
+
+        #Hydra needs those settings to start up, so we add something not harmfull.
+        hydraURL = "example.com";
+        notificationSender = "example@example.com";
+      };
+    };
+
+  testScript =
+    ''
+      # let the system boot up
+      $machine->waitForUnit("multi-user.target");
+      # test whether the database is running
+      $machine->succeed("systemctl status postgresql.service");
+      # test whether the actual hydra daemons are running
+      $machine->succeed("systemctl status hydra-queue-runner.service");
+      $machine->succeed("systemctl status hydra-init.service");
+      $machine->succeed("systemctl status hydra-evaluator.service");
+      $machine->succeed("systemctl status hydra-send-stats.service");
+     '';
+})
diff --git a/pkgs/applications/audio/i-score/default.nix b/pkgs/applications/audio/i-score/default.nix
index eb2b2ca0702a..69fc4b419c06 100644
--- a/pkgs/applications/audio/i-score/default.nix
+++ b/pkgs/applications/audio/i-score/default.nix
@@ -1,8 +1,9 @@
 {
+  alsaLib,
   boost,
   cln,
   cmake,
-  fetchgit,
+  fetchFromGitHub,
   gcc,
   ginac,
   jamomacore,
@@ -10,9 +11,13 @@
   libsndfile,
   ninja,
   portaudio,
+  portmidi,
   qtbase,
   qtdeclarative,
   qtimageformats,
+  qtmultimedia,
+  qtquickcontrols2,
+  qtserialport,
   qtsvg,
   qttools,
   qtwebsockets,
@@ -21,18 +26,19 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.0.0-a67";
+  version = "1.0.0-b31";
   name = "i-score-${version}";
 
-  src = fetchgit {
-    url = "https://github.com/OSSIA/i-score.git";
-    rev = "ede2453b139346ae46702b5e2643c5488f8c89fb";
-    sha256 = "0cl9vdmxkshdacgpp7s2rg40b7xbsjrzw916jds9i3rpq1pcy5pj";
-    leaveDotGit = true;
-    deepClone = true;
+  src = fetchFromGitHub {
+    owner = "OSSIA";
+    repo = "i-score";
+    rev = "v${version}";
+    sha256 = "0g7s6n11w3wflrv5i2047dxx56lryms7xj0mznnlk5bii7g8dxzb";
+    fetchSubmodules = true;
   };
 
   buildInputs = [
+    alsaLib
     boost
     cln
     cmake
@@ -43,9 +49,13 @@ stdenv.mkDerivation rec {
     libsndfile
     ninja
     portaudio
+    portmidi
     qtbase
     qtdeclarative
     qtimageformats
+    qtmultimedia
+    qtquickcontrols2
+    qtserialport
     qtsvg
     qttools
     qtwebsockets
@@ -59,17 +69,11 @@ stdenv.mkDerivation rec {
     "-DISCORE_BUILD_FOR_PACKAGE_MANAGER=True"
   ];
 
-  patchPhase = ''
-    sed -e '77d' -i CMake/modules/GetGitRevisionDescription.cmake
-  '';
-
   preConfigure = ''
     export CMAKE_PREFIX_PATH="$CMAKE_PREFIX_PATH:$(echo "${jamomacore}/jamoma/share/cmake/Jamoma")"
   '';
 
-  installPhase = ''
-    cmake --build . --target install
-  '';
+  postInstall = ''rm $out/bin/i-score.sh'';
 
   meta = {
     description = "An interactive sequencer for the intermedia arts";
diff --git a/pkgs/applications/audio/klick/default.nix b/pkgs/applications/audio/klick/default.nix
index f8febbe21781..c51795e756c5 100644
--- a/pkgs/applications/audio/klick/default.nix
+++ b/pkgs/applications/audio/klick/default.nix
@@ -11,6 +11,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ scons pkgconfig libsamplerate libsndfile liblo libjack2 boost ];
+  NIX_CFLAGS_COMPILE = "-fpermissive";
 
   buildPhase = ''
     mkdir -p $out
diff --git a/pkgs/applications/display-managers/lightdm/default.nix b/pkgs/applications/display-managers/lightdm/default.nix
index 191ec84f87bf..452cb38f126a 100644
--- a/pkgs/applications/display-managers/lightdm/default.nix
+++ b/pkgs/applications/display-managers/lightdm/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pam, pkgconfig, libxcb, glib, libXdmcp, itstool, libxml2
-, intltool, xlibsWrapper, libxklavier, libgcrypt, libaudit, gcc6
+, intltool, xlibsWrapper, libxklavier, libgcrypt, libaudit
 , qt4 ? null
 , withQt5 ? false, qtbase
 }:
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig intltool ];
   buildInputs = [
     pam libxcb glib libXdmcp itstool libxml2 libxklavier libgcrypt
-    qt4 libaudit gcc6
+    qt4 libaudit
   ] ++ optional withQt5 qtbase;
 
   configureFlags = [
diff --git a/pkgs/applications/editors/android-studio/packages.nix b/pkgs/applications/editors/android-studio/packages.nix
index 471f78f0c072..dbdeed06ef8d 100644
--- a/pkgs/applications/editors/android-studio/packages.nix
+++ b/pkgs/applications/editors/android-studio/packages.nix
@@ -27,9 +27,9 @@ in rec {
 
   preview = mkStudio rec {
     pname = "android-studio-preview";
-    version = "3.0.0.10"; # "Android Studio 3.0 Beta 2"
-    build = "171.4263559";
-    sha256Hash = "0bya69qa50s6dbvlzb198b5w6ixs21y6b56v3v1xjb3kndf9y44w";
+    version = "3.0.0.12"; # "Android Studio 3.0 Beta 4"
+    build = "171.4304935";
+    sha256Hash = "127ys250m1gdglj5y2qzxl73kh5qb4zlwyf79as7765mmcfcikn5";
 
     meta = stable.meta // {
       description = "The Official IDE for Android (preview version)";
diff --git a/pkgs/applications/graphics/freepv/default.nix b/pkgs/applications/graphics/freepv/default.nix
index 6d82db4bac1a..e6d8a06a5193 100644
--- a/pkgs/applications/graphics/freepv/default.nix
+++ b/pkgs/applications/graphics/freepv/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, libjpeg, mesa, freeglut, zlib, cmake, libX11, libxml2, libpng,
-  libXxf86vm, gcc6 }:
+  libXxf86vm }:
 
 stdenv.mkDerivation {
   name = "freepv-0.3.0";
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
   };
 
   buildInputs = [ libjpeg mesa freeglut zlib cmake libX11 libxml2 libpng
-    libXxf86vm gcc6 ];
+    libXxf86vm ];
 
   postPatch = ''
     sed -i -e '/GECKO/d' CMakeLists.txt
diff --git a/pkgs/applications/graphics/photivo/default.nix b/pkgs/applications/graphics/photivo/default.nix
index 69bc36dea61c..0d1adcff6e83 100644
--- a/pkgs/applications/graphics/photivo/default.nix
+++ b/pkgs/applications/graphics/photivo/default.nix
@@ -18,6 +18,7 @@ stdenv.mkDerivation rec {
       name = "lensfun-0.3.patch";
       sha256 = "0ys45x4r4bjjlx0zpd5d56rgjz7k8gxili4r4k8zx3zfka4a3zwv";
     })
+    ./gcc6.patch
   ];
 
   postPatch = '' # kinda icky
diff --git a/pkgs/applications/graphics/photivo/gcc6.patch b/pkgs/applications/graphics/photivo/gcc6.patch
new file mode 100644
index 000000000000..e2eb795fc8e2
--- /dev/null
+++ b/pkgs/applications/graphics/photivo/gcc6.patch
@@ -0,0 +1,13 @@
+diff --git c/Sources/ptImage.cpp i/Sources/ptImage.cpp
+index 9c95093..623c157 100755
+--- c/Sources/ptImage.cpp
++++ i/Sources/ptImage.cpp
+@@ -5291,7 +5291,7 @@ ptImage* ptImage::Box(const uint16_t MaxRadius, float* Mask) {
+         NewRow = NewRow < 0? -NewRow : NewRow > Height1? Height1_2-NewRow : NewRow ;

+         NewRow *= m_Width;

+         for(j = -IntRadius; j <= IntRadius; j++) {

+-          if (Dist[abs(i)][abs(j)] < Radius) {

++          if (Dist[int16_t(abs(i))][int16_t(abs(j))] < Radius) {

+             NewCol = Col+j;

+             NewCol = NewCol < 0? -NewCol : NewCol > Width1? Width1_2-NewCol : NewCol ;

+ 

diff --git a/pkgs/applications/misc/jigdo/default.nix b/pkgs/applications/misc/jigdo/default.nix
index 8e5c5d6206c9..d8b1253ac276 100644
--- a/pkgs/applications/misc/jigdo/default.nix
+++ b/pkgs/applications/misc/jigdo/default.nix
@@ -9,10 +9,13 @@ stdenv.mkDerivation {
     sha256 = "1qvqzgzb0dzq82fa1ffs6hyij655rajnfwkljk1y0mnkygnha1xv";
   };
 
-  patches = fetchurl {
-    url = http://ftp.de.debian.org/debian/pool/main/j/jigdo/jigdo_0.7.3-3.diff.gz;
-    sha256 = "0cp4jz3sg9g86vprh90pmwpcfla79f0dr50w14yh01k0yaq70fs8";
-  };
+  patches = [
+    (fetchurl {
+      url = http://ftp.de.debian.org/debian/pool/main/j/jigdo/jigdo_0.7.3-4.diff.gz;
+      sha256 = "03zsh57fijciiv23lf55k6fbfhhzm866xjhx83x54v5s1g2h6m8y";
+    })
+    ./sizewidth.patch
+  ];
 
   buildInputs = [ db gtk2 bzip2 ];
 
diff --git a/pkgs/applications/misc/jigdo/sizewidth.patch b/pkgs/applications/misc/jigdo/sizewidth.patch
new file mode 100644
index 000000000000..17b1749fcf77
--- /dev/null
+++ b/pkgs/applications/misc/jigdo/sizewidth.patch
@@ -0,0 +1,40 @@
+diff --git i/src/mkimage.cc w/src/mkimage.cc
+index 02e65b1..b263796 100755
+--- i/src/mkimage.cc
++++ w/src/mkimage.cc
+@@ -285,27 +285,27 @@ bostream& JigdoDescVec::put(bostream& file, MD5Sum* md) const {
+ //______________________________________________________________________
+ 
+ namespace {
+-  const int SIZE_WIDTH = 12;
++  const int MKIMAGE_SIZE_WIDTH = 12;
+ }
+ 
+ ostream& JigdoDesc::ImageInfo::put(ostream& s) const {
+-  s << "image-info  " << setw(SIZE_WIDTH) << size() << "              "
++  s << "image-info  " << setw(MKIMAGE_SIZE_WIDTH) << size() << "              "
+     << md5() << ' ' << blockLength() << '\n';
+   return s;
+ }
+ ostream& JigdoDesc::UnmatchedData::put(ostream& s) const {
+-  s << "in-template " << setw(SIZE_WIDTH) << offset() << ' '
+-    << setw(SIZE_WIDTH) << size() << '\n';
++  s << "in-template " << setw(MKIMAGE_SIZE_WIDTH) << offset() << ' '
++    << setw(MKIMAGE_SIZE_WIDTH) << size() << '\n';
+   return s;
+ }
+ ostream& JigdoDesc::MatchedFile::put(ostream& s) const {
+-  s << "need-file   " << setw(SIZE_WIDTH) << offset() << ' '
+-    << setw(SIZE_WIDTH) << size() << ' ' << md5() << ' ' << rsync() << '\n';
++  s << "need-file   " << setw(MKIMAGE_SIZE_WIDTH) << offset() << ' '
++    << setw(MKIMAGE_SIZE_WIDTH) << size() << ' ' << md5() << ' ' << rsync() << '\n';
+   return s;
+ }
+ ostream& JigdoDesc::WrittenFile::put(ostream& s) const {
+-  s << "have-file   " << setw(SIZE_WIDTH) << offset() << ' '
+-    << setw(SIZE_WIDTH) << size() << ' ' << md5() << ' ' << rsync() << '\n';
++  s << "have-file   " << setw(MKIMAGE_SIZE_WIDTH) << offset() << ' '
++    << setw(MKIMAGE_SIZE_WIDTH) << size() << ' ' << md5() << ' ' << rsync() << '\n';
+   return s;
+ }
+ 
diff --git a/pkgs/applications/misc/kupfer/default.nix b/pkgs/applications/misc/kupfer/default.nix
new file mode 100644
index 000000000000..f3bb825cbf74
--- /dev/null
+++ b/pkgs/applications/misc/kupfer/default.nix
@@ -0,0 +1,66 @@
+{ stdenv
+, makeWrapper
+, fetchurl
+, intltool
+, python3Packages
+, gtk3
+, dbus
+, libwnck3
+, keybinder3
+, hicolor_icon_theme
+, wrapGAppsHook
+}:
+
+with python3Packages;
+
+buildPythonApplication rec {
+  name = "kupfer-${version}";
+  version = "319";
+
+  src = fetchurl {
+    url = "https://github.com/kupferlauncher/kupfer/releases/download/v${version}/kupfer-v${version}.tar.xz";
+    sha256 = "0c9xjx13r8ckfr4az116bhxsd3pk78v04c3lz6lqhraak0rp4d92";
+  };
+
+  nativeBuildInputs = [ wrapGAppsHook intltool ];
+  buildInputs = [ hicolor_icon_theme docutils libwnck3 keybinder3 ];
+  propagatedBuildInputs = [ pygobject3 gtk3 pyxdg dbus-python pycairo ];
+
+  configurePhase = ''
+    runHook preConfigure
+    python ./waf configure --prefix=$prefix
+    runHook postConfigure
+  '';
+
+  buildPhase = ''
+    runHook preBuild
+    python ./waf
+    runHook postBuild
+  '';
+
+  installPhase = let
+    pythonPath = (stdenv.lib.concatMapStringsSep ":"
+      (m: "${m}/lib/${python.libPrefix}/site-packages")
+      propagatedBuildInputs);
+  in ''
+    runHook preInstall
+    python ./waf install
+
+    gappsWrapperArgs+=(
+      "--prefix" "PYTHONPATH" : "${pythonPath}"
+      "--set" "PYTHONNOUSERSITE" "1"
+    )
+
+    runHook postInstall
+  '';
+
+  doCheck = false; # no tests
+
+  meta = with stdenv.lib; {
+    description = "A smart, quick launcher";
+    homepage    = "https://kupferlauncher.github.io/";
+    license     = licenses.gpl3;
+    maintainers = with maintainers; [ cobbal ];
+    platforms   = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/ekiga/autofoo.patch b/pkgs/applications/networking/instant-messengers/ekiga/autofoo.patch
deleted file mode 100644
index d15e8b6ccfd4..000000000000
--- a/pkgs/applications/networking/instant-messengers/ekiga/autofoo.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- 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
deleted file mode 100644
index 9dad3d94f04b..000000000000
--- a/pkgs/applications/networking/instant-messengers/ekiga/boost.patch
+++ /dev/null
@@ -1,31 +0,0 @@
---- 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 575759ad4372..283d38ef5c74 100644
--- a/pkgs/applications/networking/instant-messengers/ekiga/default.nix
+++ b/pkgs/applications/networking/instant-messengers/ekiga/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, glib, fetchurl, cyrus_sasl, gettext, openldap, ptlib, opal, libXv, rarian, intltool
+{ stdenv, glib, fetchurl, fetchpatch, 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
@@ -34,7 +34,17 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  patches = [ ./autofoo.patch ./boost.patch ];
+  patches = [
+    (fetchpatch { url = https://sources.debian.net/data/main/e/ekiga/4.0.1-7/debian/patches/autofoo.patch;
+      sha256 = "1vyagslws4mm9yfz1m5p1kv9sxmk5lls9vxpm6j72q2ahsgydzx4";
+    })
+    (fetchpatch { url = https://sources.debian.net/data/main/e/ekiga/4.0.1-7/debian/patches/boost.patch;
+      sha256 = "01k0rw8ibrrf9zn9lx6dzbrgy58w089hqxqxqdv9whb65cldlj5s";
+    })
+    (fetchpatch { url = https://src.fedoraproject.org/rpms/ekiga/raw/dbf5f5ba449d22bd79f0394cddb7d4d8a88ec6ac/f/ekiga-4.0.1-libresolv.patch;
+      sha256 = "18wc68im8422ibpa0gkrkgjq41m7hikaha3xqmjs2km45i1cwcaz";
+    })
+  ];
 
   postInstall = ''
     wrapProgram "$out"/bin/ekiga \
@@ -45,7 +55,6 @@ stdenv.mkDerivation rec {
     description = "VOIP/Videoconferencing app with full SIP and H.323 support";
     maintainers = [ maintainers.raskin ];
     platforms = platforms.linux;
-    broken = true; # because of glibc-2.25
   };
 
   passthru = {
diff --git a/pkgs/applications/networking/mailreaders/mutt/default.nix b/pkgs/applications/networking/mailreaders/mutt/default.nix
index d4e1bf39f1aa..9a07994cee4a 100644
--- a/pkgs/applications/networking/mailreaders/mutt/default.nix
+++ b/pkgs/applications/networking/mailreaders/mutt/default.nix
@@ -20,11 +20,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "mutt-${version}";
-  version = "1.8.3";
+  version = "1.9.0";
 
   src = fetchurl {
     url = "http://ftp.mutt.org/pub/mutt/${name}.tar.gz";
-    sha256 = "0hpd896mw630sd6ps60hpka8cg691nvr627n8kmabv7zcxnp90cv";
+    sha256 = "1m72z5schbagd0a00fv8q0nrnkz9zrgvmdb5yplnmwm1sfapavgc";
   };
 
   patchPhase = optionalString (openssl != null) ''
diff --git a/pkgs/applications/science/biology/iv/default.nix b/pkgs/applications/science/biology/iv/default.nix
index 714b7fddd446..2258482bd4b2 100644
--- a/pkgs/applications/science/biology/iv/default.nix
+++ b/pkgs/applications/science/biology/iv/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec
   { name = "iv-19";
     src = fetchurl
       { url = "http://www.neuron.yale.edu/ftp/neuron/versions/v${neuron-version}/${name}.tar.gz";
-        sha256 = "1q22vjngvn3m61mjxynkik7pxvsgc9a0ym46qpa84hmz1v86mdrw";
+        sha256 = "07a3g8zzay4h0bls7fh89dd0phn7s34c2g15pij6dsnwpmjg06yx";
       };
     nativeBuildInputs = [ patchelf ];
     buildInputs = [ libXext ];
diff --git a/pkgs/applications/science/biology/neuron/default.nix b/pkgs/applications/science/biology/neuron/default.nix
index bd300846cf09..7fa229c42b10 100644
--- a/pkgs/applications/science/biology/neuron/default.nix
+++ b/pkgs/applications/science/biology/neuron/default.nix
@@ -14,14 +14,14 @@
 
 stdenv.mkDerivation rec {
   name = "neuron-${version}";
-  version = "7.4";
+  version = "7.5";
 
   nativeBuildInputs = [ which pkgconfig automake autoconf libtool ];
   buildInputs = [ ncurses readline python mpi iv ];
 
   src = fetchurl {
     url = "http://www.neuron.yale.edu/ftp/neuron/versions/v${version}/nrn-${version}.tar.gz";
-    sha256 = "1rid8cmv5mca0vqkgwahm0prkwkbdvchgw2bdwvx4adkn8bbl0ql";
+    sha256 = "0f26v3qvzblcdjg7isq0m9j2q8q7x3vhmkfllv8lsr3gyj44lljf";
   };
 
   patches = (stdenv.lib.optional (stdenv.isDarwin) [ ./neuron-carbon-disable.patch ]);
diff --git a/pkgs/applications/science/electronics/verilog/default.nix b/pkgs/applications/science/electronics/verilog/default.nix
index d5c5f2ad1306..f31685b68ea6 100644
--- a/pkgs/applications/science/electronics/verilog/default.nix
+++ b/pkgs/applications/science/electronics/verilog/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "iverilog-${version}";
-  version = "2016.05.21";
+  version = "2017.08.12";
 
   src = fetchFromGitHub {
     owner = "steveicarus";
     repo = "iverilog";
-    rev = "45fbf558065c0fdac9aa088ecd34e9bf49e81305";
-    sha256 = "137p7gkmp5kwih93i2a3lcf36a6k38j7fxglvw9y59w0233vj452";
+    rev = "ac87138c44cd6089046668c59a328b4d14c16ddc";
+    sha256 = "1npv0533h0h2wxrxkgiaxqiasw2p4kj2vv5bd69w5xld227xcwpg";
   };
 
   patchPhase = ''
diff --git a/pkgs/applications/science/logic/yices/default.nix b/pkgs/applications/science/logic/yices/default.nix
index 489ca744bea1..5e2bf8d26241 100644
--- a/pkgs/applications/science/logic/yices/default.nix
+++ b/pkgs/applications/science/logic/yices/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "A high-performance theorem prover and SMT solver";
     homepage    = "http://yices.csl.sri.com";
-    license     = licenses.unfreeRedistributable;
+    license     = licenses.gpl3;
     platforms   = platforms.linux ++ platforms.darwin;
     maintainers = [ maintainers.thoughtpolice ];
   };
diff --git a/pkgs/applications/science/logic/z3_opt/default.nix b/pkgs/applications/science/logic/z3_opt/default.nix
deleted file mode 100644
index d3d63795d69b..000000000000
--- a/pkgs/applications/science/logic/z3_opt/default.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{ stdenv, fetchFromGitHub, python2 }:
-
-# Copied shamelessly from the normal z3 .nix
-
-let
-  python = python2;
-in stdenv.mkDerivation rec {
-  name = "z3_opt-${version}";
-  version = "4.3.2";
-
-  src = fetchFromGitHub {
-    owner  = "Z3Prover";
-    repo   = "z3";
-    rev    = "9377779e5818b2ca15c4f39921b2ba3a42f948e7";
-    sha256 = "15d6hsb61hrm5vy3l2gnkrfnqr68lvspnznm17vyhm61ld33yaff";
-  };
-
-  buildInputs = [ python ];
-  enableParallelBuilding = true;
-
-  configurePhase = "${python.interpreter} scripts/mk_make.py --prefix=$out && cd build";
-
-  # z3's install phase is stupid because it tries to calculate the
-  # python package store location itself, meaning it'll attempt to
-  # 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/${python.sitePackages} $out/include
-    cp ../src/api/z3*.h       $out/include
-    cp ../src/api/c++/z3*.h   $out/include
-    cp z3                     $out/bin
-    cp libz3${soext}          $out/lib
-    cp libz3${soext}          $out/${python.sitePackages}
-    cp z3*.pyc                $out/${python.sitePackages}
-    cp ../src/api/python/*.py $out/${python.sitePackages}
-  '';
-
-  meta = {
-    description = "A high-performance theorem prover and SMT solver, optimization edition";
-    homepage    = "https://github.com/Z3Prover/z3";
-    license     = stdenv.lib.licenses.mit;
-    platforms   = stdenv.lib.platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ thoughtpolice sheganinans ];
-  };
-}
-
diff --git a/pkgs/applications/version-management/gitaly/default.nix b/pkgs/applications/version-management/gitaly/default.nix
new file mode 100644
index 000000000000..b94e23564fea
--- /dev/null
+++ b/pkgs/applications/version-management/gitaly/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitLab, git, go }:
+
+stdenv.mkDerivation rec {
+  version = "0.21.2";
+  name = "gitaly-${version}";
+
+  srcs = fetchFromGitLab {
+    owner = "gitlab-org";
+    repo = "gitaly";
+    rev = "v${version}";
+    sha256 = "025r6vcra2bjm6xggcgnsqgkpvd7y2w73ff6lxrn06lbr4dfbfrf";
+  };
+
+  buildInputs = [ git go ];
+
+  buildPhase = ''
+    make PREFIX=$out
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    make install PREFIX=$out
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://www.gitlab.com/;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ roblabla ];
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/applications/version-management/gitlab-shell/default.nix b/pkgs/applications/version-management/gitlab-shell/default.nix
index a67ca4acfb67..ad384a169b60 100644
--- a/pkgs/applications/version-management/gitlab-shell/default.nix
+++ b/pkgs/applications/version-management/gitlab-shell/default.nix
@@ -1,23 +1,24 @@
-{ stdenv, ruby, bundler, fetchFromGitLab }:
+{ stdenv, ruby, bundler, fetchFromGitLab, go }:
 
 stdenv.mkDerivation rec {
-  version = "4.1.1";
+  version = "5.3.1";
   name = "gitlab-shell-${version}";
 
   srcs = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-shell";
     rev = "v${version}";
-    sha256 = "1i7dqs0csqcjwkvg8csz5f1zxy1inrzxzz3g9j618aldqxzjfgnr";
+    sha256 = "1w5j66qq9kzcjzz9hhd2zdmvffzk9986m8nprfy5q4k9kglph53q";
   };
 
   buildInputs = [
-    ruby bundler
+    ruby bundler go
   ];
 
-  patches = [ ./remove-hardcoded-locations.patch ];
+  patches = [ ./remove-hardcoded-locations.patch ./fixes.patch ];
 
   installPhase = ''
+    ruby bin/compile
     mkdir -p $out/
     cp -R . $out/
 
@@ -49,7 +50,7 @@ stdenv.mkDerivation rec {
     #
     # TODO: Are there any security implications? The commit adding
     # unsetenv_others didn't mention anything...
-    # 
+    #
     # Kernel::exec({'PATH' => ENV['PATH'], 'LD_LIBRARY_PATH' => ENV['LD_LIBRARY_PATH'], 'GL_ID' => ENV['GL_ID']}, *args, unsetenv_others: true)
     substituteInPlace lib/gitlab_shell.rb --replace\
         " *args, unsetenv_others: true)"\
diff --git a/pkgs/applications/version-management/gitlab-shell/fixes.patch b/pkgs/applications/version-management/gitlab-shell/fixes.patch
new file mode 100644
index 000000000000..1c694266e470
--- /dev/null
+++ b/pkgs/applications/version-management/gitlab-shell/fixes.patch
@@ -0,0 +1,17 @@
+diff --git a/support/go_build.rb b/support/go_build.rb
+index 82f94d2..40ba35e 100644
+--- a/support/go_build.rb
++++ b/support/go_build.rb
+@@ -25,9 +25,8 @@ module GoBuild
+   def run!(env, cmd)
+     raise "env must be a hash" unless env.is_a?(Hash)
+     raise "cmd must be an array" unless cmd.is_a?(Array)
+-  
+-    if !system(env, *cmd)
+-      abort "command failed: #{env.inspect} #{cmd.join(' ')}"
+-    end
++    puts "Starting #{env.inspect} #{cmd.join(' ')}"
++    Process::wait(Process::spawn(env, *cmd))
++    abort "command failed: #{env.inspect} #{cmd.join(' ')}" unless $?.exitstatus == 0
+   end
+ end
diff --git a/pkgs/applications/version-management/gitlab-shell/remove-hardcoded-locations.patch b/pkgs/applications/version-management/gitlab-shell/remove-hardcoded-locations.patch
index e1c924cdeefd..e88dbad071f5 100644
--- a/pkgs/applications/version-management/gitlab-shell/remove-hardcoded-locations.patch
+++ b/pkgs/applications/version-management/gitlab-shell/remove-hardcoded-locations.patch
@@ -1,9 +1,9 @@
 diff --git a/lib/gitlab_projects.rb b/lib/gitlab_projects.rb
-index c1d175a..7f7fd2f 100644
+index 0b11ce3..ffc3faf 100644
 --- a/lib/gitlab_projects.rb
 +++ b/lib/gitlab_projects.rb
-@@ -5,7 +5,7 @@ require_relative 'gitlab_config'
- require_relative 'gitlab_logger'
+@@ -8,7 +8,7 @@ require_relative 'gitlab_metrics'
+ require_relative 'gitlab_reference_counter'
  
  class GitlabProjects
 -  GLOBAL_HOOKS_DIRECTORY = File.join(ROOT_PATH, 'hooks')
@@ -11,3 +11,17 @@ index c1d175a..7f7fd2f 100644
  
    # Project name is a directory name for repository with .git at the end
    # It may be namespaced or not. Like repo.git or gitlab/repo.git
+diff --git a/lib/gitlab_shell.rb b/lib/gitlab_shell.rb
+index e7d0254..181ec8a 100644
+--- a/lib/gitlab_shell.rb
++++ b/lib/gitlab_shell.rb
+@@ -163,7 +163,8 @@ class GitlabShell
+     end
+ 
+     # We use 'chdir: ROOT_PATH' to let the next executable know where config.yml is.
+-    Kernel::exec(env, *args, unsetenv_others: true, chdir: ROOT_PATH)
++    # Except we don't, because we're already in the right directory on nixos !
++    Kernel::exec(env, *args, unsetenv_others: true)
+   end
+ 
+   def api
diff --git a/pkgs/applications/version-management/gitlab-workhorse/default.nix b/pkgs/applications/version-management/gitlab-workhorse/default.nix
index b15576b364eb..f2301cd722df 100644
--- a/pkgs/applications/version-management/gitlab-workhorse/default.nix
+++ b/pkgs/applications/version-management/gitlab-workhorse/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitLab, git, go }:
 
 stdenv.mkDerivation rec {
-  version = "1.3.0";
+  version = "2.3.0";
   name = "gitlab-workhorse-${version}";
 
   srcs = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-workhorse";
     rev = "v${version}";
-    sha256 = "06pxnb675c5fwk7rv6fjh0cwbdylrdbjcyf8b0pins8jl0ix0szy";
+    sha256 = "07b82kjfm8r3ql55ifl0zbifnnsbvng4zlzjpbsb7lisg26s97w8";
   };
 
   buildInputs = [ git go ];
diff --git a/pkgs/applications/version-management/gitlab/Gemfile b/pkgs/applications/version-management/gitlab/Gemfile
index db1ac67a6667..89988ff12cfd 100644
--- a/pkgs/applications/version-management/gitlab/Gemfile
+++ b/pkgs/applications/version-management/gitlab/Gemfile
@@ -1,6 +1,6 @@
 source 'https://rubygems.org'
 
-gem 'rails', '4.2.7.1'
+gem 'rails', '4.2.8'
 gem 'rails-deprecated_sanitizer', '~> 1.0.3'
 
 # Responders respond_to and respond_with
@@ -15,27 +15,31 @@ gem 'default_value_for', '~> 3.0.0'
 gem 'mysql2', '~> 0.3.16', group: :mysql
 gem 'pg', '~> 0.18.2', group: :postgres
 
-gem 'rugged', '~> 0.24.0'
+gem 'rugged', '~> 0.25.1.1'
+
+gem 'faraday', '~> 0.12'
 
 # Authentication libraries
-gem 'devise',                 '~> 4.2'
-gem 'doorkeeper',             '~> 4.2.0'
-gem 'omniauth',               '~> 1.3.2'
-gem 'omniauth-auth0',         '~> 1.4.1'
-gem 'omniauth-azure-oauth2',  '~> 0.0.6'
-gem 'omniauth-cas3',          '~> 1.1.2'
-gem 'omniauth-facebook',      '~> 4.0.0'
-gem 'omniauth-github',        '~> 1.1.1'
-gem 'omniauth-gitlab',        '~> 1.0.2'
+gem 'devise', '~> 4.2'
+gem 'doorkeeper', '~> 4.2.0'
+gem 'doorkeeper-openid_connect', '~> 1.1.0'
+gem 'omniauth', '~> 1.4.2'
+gem 'omniauth-auth0', '~> 1.4.1'
+gem 'omniauth-azure-oauth2', '~> 0.0.6'
+gem 'omniauth-cas3', '~> 1.1.2'
+gem 'omniauth-facebook', '~> 4.0.0'
+gem 'omniauth-github', '~> 1.1.1'
+gem 'omniauth-gitlab', '~> 1.0.2'
 gem 'omniauth-google-oauth2', '~> 0.4.1'
-gem 'omniauth-kerberos',      '~> 0.3.0', group: :kerberos
-gem 'omniauth-saml',          '~> 1.7.0'
-gem 'omniauth-shibboleth',    '~> 1.2.0'
-gem 'omniauth-twitter',       '~> 1.2.0'
-gem 'omniauth_crowd',         '~> 2.2.0'
-gem 'omniauth-authentiq',     '~> 0.2.0'
-gem 'rack-oauth2',            '~> 1.2.1'
-gem 'jwt',                    '~> 1.5.6'
+gem 'omniauth-kerberos', '~> 0.3.0', group: :kerberos
+gem 'omniauth-oauth2-generic', '~> 0.2.2'
+gem 'omniauth-saml', '~> 1.7.0'
+gem 'omniauth-shibboleth', '~> 1.2.0'
+gem 'omniauth-twitter', '~> 1.2.0'
+gem 'omniauth_crowd', '~> 2.2.0'
+gem 'omniauth-authentiq', '~> 0.3.0'
+gem 'rack-oauth2', '~> 1.2.1'
+gem 'jwt', '~> 1.5.6'
 
 # Spam and anti-bot protection
 gem 'recaptcha', '~> 3.0', require: 'recaptcha/rails'
@@ -56,20 +60,24 @@ gem 'browser', '~> 2.2'
 # LDAP Auth
 # GitLab fork with several improvements to original library. For full list of changes
 # see https://github.com/intridea/omniauth-ldap/compare/master...gitlabhq:master
-gem 'gitlab_omniauth-ldap', '~> 1.2.1', require: 'omniauth-ldap'
+gem 'gitlab_omniauth-ldap', '~> 2.0.2', require: 'omniauth-ldap'
+gem 'net-ldap'
 
 # Git Wiki
 # Required manually in config/initializers/gollum.rb to control load order
 gem 'gollum-lib', '~> 4.2', require: false
-gem 'gollum-rugged_adapter', '~> 0.4.2', require: false
+gem 'gollum-rugged_adapter', '~> 0.4.4', require: false
 
 # Language detection
 gem 'github-linguist', '~> 4.7.0', require: 'linguist'
 
 # API
-gem 'grape',        '~> 0.18.0'
+gem 'grape', '~> 0.19.0'
 gem 'grape-entity', '~> 0.6.0'
-gem 'rack-cors',    '~> 0.4.0', require: 'rack/cors'
+gem 'rack-cors', '~> 0.4.0', require: 'rack/cors'
+
+# Disable strong_params so that Mash does not respond to :permitted?
+gem 'hashie-forbidden_attributes'
 
 # Pagination
 gem 'kaminari', '~> 0.17.0'
@@ -78,18 +86,19 @@ gem 'kaminari', '~> 0.17.0'
 gem 'hamlit', '~> 2.6.1'
 
 # Files attachments
-gem 'carrierwave', '~> 0.10.0'
+gem 'carrierwave', '~> 1.1'
 
 # Drag and Drop UI
 gem 'dropzonejs-rails', '~> 0.7.1'
 
 # for backups
 gem 'fog-aws', '~> 0.9'
-gem 'fog-core', '~> 1.40'
+gem 'fog-core', '~> 1.44'
 gem 'fog-google', '~> 0.5'
 gem 'fog-local', '~> 0.3'
 gem 'fog-openstack', '~> 0.1'
 gem 'fog-rackspace', '~> 0.1.1'
+gem 'fog-aliyun', '~> 0.1.0'
 
 # for Google storage
 gem 'google-api-client', '~> 0.8.6'
@@ -101,23 +110,24 @@ gem 'unf', '~> 0.1.4'
 gem 'seed-fu', '~> 2.3.5'
 
 # Markdown and HTML processing
-gem 'html-pipeline',        '~> 1.11.0'
-gem 'deckar01-task_list',   '1.0.6', require: 'task_list/railtie'
-gem 'gitlab-markup',        '~> 1.5.1'
-gem 'redcarpet',            '~> 3.3.3'
-gem 'RedCloth',             '~> 4.3.2'
-gem 'rdoc',                 '~> 4.2'
-gem 'org-ruby',             '~> 0.9.12'
-gem 'creole',               '~> 0.5.0'
-gem 'wikicloth',            '0.8.1'
-gem 'asciidoctor',          '~> 1.5.2'
+gem 'html-pipeline', '~> 1.11.0'
+gem 'deckar01-task_list', '2.0.0'
+gem 'gitlab-markup', '~> 1.5.1'
+gem 'redcarpet', '~> 3.4'
+gem 'RedCloth', '~> 4.3.2'
+gem 'rdoc', '~> 4.2'
+gem 'org-ruby', '~> 0.9.12'
+gem 'creole', '~> 0.5.0'
+gem 'wikicloth', '0.8.1'
+gem 'asciidoctor', '~> 1.5.2'
 gem 'asciidoctor-plantuml', '0.0.7'
-gem 'rouge',                '~> 2.0'
-gem 'truncato',             '~> 0.7.8'
+gem 'rouge', '~> 2.0'
+gem 'truncato', '~> 0.7.8'
+gem 'bootstrap_form', '~> 2.7.0'
 
 # See https://groups.google.com/forum/#!topic/ruby-security-ann/aSbgDiwb24s
 # and https://groups.google.com/forum/#!topic/ruby-security-ann/Dy7YiKb_pMM
-gem 'nokogiri', '~> 1.6.7', '>= 1.6.7.2', '< 1.6.8'
+gem 'nokogiri', '~> 1.6.7', '>= 1.6.7.2'
 
 # Diffs
 gem 'diffy', '~> 3.1.0'
@@ -137,20 +147,26 @@ gem 'after_commit_queue', '~> 1.3.0'
 gem 'acts-as-taggable-on', '~> 4.0'
 
 # Background jobs
-gem 'sidekiq', '~> 4.2.7'
-gem 'sidekiq-cron', '~> 0.4.4'
+gem 'sidekiq', '~> 5.0'
+gem 'sidekiq-cron', '~> 0.6.0'
 gem 'redis-namespace', '~> 1.5.2'
 gem 'sidekiq-limit_fetch', '~> 3.4'
 
+# Cron Parser
+gem 'rufus-scheduler', '~> 3.4'
+
 # HTTP requests
 gem 'httparty', '~> 0.13.3'
 
 # Colored output to console
-gem 'rainbow', '~> 2.1.0'
+gem 'rainbow', '~> 2.2'
 
 # GitLab settings
 gem 'settingslogic', '~> 2.0.9'
 
+# Linear-time regex library for untrusted regular expressions
+gem 're2', '~> 1.0.0'
+
 # Misc
 
 gem 'version_sorter', '~> 2.1.0'
@@ -178,7 +194,7 @@ gem 'gemnasium-gitlab-service', '~> 0.2'
 gem 'slack-notifier', '~> 1.5.1'
 
 # Asana integration
-gem 'asana', '~> 0.4.0'
+gem 'asana', '~> 0.6.0'
 
 # FogBugz integration
 gem 'ruby-fogbugz', '~> 0.2.1'
@@ -200,7 +216,7 @@ gem 'babosa', '~> 1.0.2'
 gem 'loofah', '~> 2.0.3'
 
 # Working with license
-gem 'licensee', '~> 8.0.0'
+gem 'licensee', '~> 8.7.0'
 
 # Protect against bruteforcing
 gem 'rack-attack', '~> 4.4.1'
@@ -221,50 +237,69 @@ gem 'oj', '~> 2.17.4'
 gem 'chronic', '~> 0.10.2'
 gem 'chronic_duration', '~> 0.10.6'
 
-gem 'webpack-rails', '~> 0.9.9'
+gem 'webpack-rails', '~> 0.9.10'
 gem 'rack-proxy', '~> 0.6.0'
 
 gem 'sass-rails', '~> 5.0.6'
 gem 'coffee-rails', '~> 4.1.0'
 gem 'uglifier', '~> 2.7.2'
 
-gem 'addressable',        '~> 2.3.8'
-gem 'bootstrap-sass',     '~> 3.3.0'
-gem 'font-awesome-rails', '~> 4.6.1'
-gem 'gemojione',          '~> 3.0'
-gem 'gon',                '~> 6.1.0'
+gem 'addressable', '~> 2.3.8'
+gem 'bootstrap-sass', '~> 3.3.0'
+gem 'font-awesome-rails', '~> 4.7'
+gem 'gemojione', '~> 3.0'
+gem 'gon', '~> 6.1.0'
 gem 'jquery-atwho-rails', '~> 1.3.2'
-gem 'jquery-rails',       '~> 4.1.0'
-gem 'jquery-ui-rails',    '~> 5.0.0'
-gem 'request_store',      '~> 1.3'
-gem 'select2-rails',      '~> 3.5.9'
-gem 'virtus',             '~> 1.0.1'
-gem 'net-ssh',            '~> 3.0.1'
-gem 'base32',             '~> 0.3.0'
+gem 'jquery-rails', '~> 4.1.0'
+gem 'request_store', '~> 1.3'
+gem 'select2-rails', '~> 3.5.9'
+gem 'virtus', '~> 1.0.1'
+gem 'net-ssh', '~> 3.0.1'
+gem 'base32', '~> 0.3.0'
 
 # Sentry integration
-gem 'sentry-raven', '~> 2.0.0'
-
-gem 'premailer-rails', '~> 1.9.0'
+gem 'sentry-raven', '~> 2.5.3'
+
+gem 'premailer-rails', '~> 1.9.7'
+
+# I18n
+gem 'ruby_parser', '~> 3.8', require: false
+gem 'rails-i18n', '~> 4.0.9'
+gem 'gettext_i18n_rails', '~> 1.8.0'
+gem 'gettext_i18n_rails_js', '~> 1.2.0'
+gem 'gettext', '~> 3.2.2', require: false, group: :development
+
+# Perf bar
+gem 'peek', '~> 1.0.1'
+gem 'peek-gc', '~> 0.0.2'
+gem 'peek-host', '~> 1.0.0'
+gem 'peek-mysql2', '~> 1.1.0', group: :mysql
+gem 'peek-performance_bar', '~> 1.2.1'
+gem 'peek-pg', '~> 1.3.0', group: :postgres
+gem 'peek-rblineprof', '~> 0.2.0'
+gem 'peek-redis', '~> 1.2.0'
+gem 'peek-sidekiq', '~> 1.0.3'
 
 # Metrics
 group :metrics do
   gem 'allocations', '~> 1.0', require: false, platform: :mri
   gem 'method_source', '~> 0.8', require: false
   gem 'influxdb', '~> 0.2', require: false
+
+  # Prometheus
+  gem 'prometheus-client-mmap', '~>0.7.0.beta11'
+  gem 'raindrops', '~> 0.18'
 end
 
 group :development do
   gem 'foreman', '~> 0.78.0'
-  gem 'brakeman', '~> 3.4.0', require: false
+  gem 'brakeman', '~> 3.6.0', require: false
 
   gem 'letter_opener_web', '~> 1.3.0'
-  gem 'bullet', '~> 5.2.0', require: false
   gem 'rblineprof', '~> 0.3.6', platform: :mri, require: false
-  gem 'web-console', '~> 2.0'
 
   # Better errors handler
-  gem 'better_errors', '~> 1.0.1'
+  gem 'better_errors', '~> 2.1.0'
   gem 'binding_of_caller', '~> 0.7.2'
 
   # thin instead webrick
@@ -272,19 +307,21 @@ group :development do
 end
 
 group :development, :test do
+  gem 'bullet', '~> 5.5.0', require: !!ENV['ENABLE_BULLET']
   gem 'pry-byebug', '~> 3.4.1', platform: :mri
   gem 'pry-rails', '~> 0.3.4'
 
   gem 'awesome_print', '~> 1.2.0', require: false
   gem 'fuubar', '~> 2.0.0'
 
-  gem 'database_cleaner',   '~> 1.5.0'
+  gem 'database_cleaner', '~> 1.5.0'
   gem 'factory_girl_rails', '~> 4.7.0'
-  gem 'rspec-rails',        '~> 3.5.0'
-  gem 'rspec-retry',        '~> 0.4.5'
-  gem 'spinach-rails',      '~> 0.2.1'
+  gem 'rspec-rails', '~> 3.5.0'
+  gem 'rspec-retry', '~> 0.4.5'
+  gem 'spinach-rails', '~> 0.2.1'
   gem 'spinach-rerun-reporter', '~> 0.0.2'
-  gem 'rspec_profiling'
+  gem 'rspec_profiling', '~> 0.0.5'
+  gem 'rspec-set', '~> 0.1.3'
 
   # Prevent occasions where minitest is not bundled in packaged versions of ruby (see #3826)
   gem 'minitest', '~> 5.7.0'
@@ -292,20 +329,20 @@ group :development, :test do
   # Generate Fake data
   gem 'ffaker', '~> 2.4'
 
-  gem 'capybara',            '~> 2.6.2'
+  gem 'capybara', '~> 2.6.2'
   gem 'capybara-screenshot', '~> 1.0.0'
-  gem 'poltergeist',         '~> 1.9.0'
+  gem 'poltergeist', '~> 1.9.0'
 
-  gem 'spring',                   '~> 1.7.0'
-  gem 'spring-commands-rspec',    '~> 1.0.4'
-  gem 'spring-commands-spinach',  '~> 1.1.0'
+  gem 'spring', '~> 2.0.0'
+  gem 'spring-commands-rspec', '~> 1.0.4'
+  gem 'spring-commands-spinach', '~> 1.1.0'
 
-  gem 'rubocop', '~> 0.46.0', require: false
-  gem 'rubocop-rspec', '~> 1.9.1', require: false
+  gem 'rubocop', '~> 0.47.1', require: false
+  gem 'rubocop-rspec', '~> 1.15.0', require: false
   gem 'scss_lint', '~> 0.47.0', require: false
-  gem 'haml_lint', '~> 0.18.2', require: false
-  gem 'simplecov', '0.12.0', require: false
-  gem 'flay', '~> 2.6.1', require: false
+  gem 'haml_lint', '~> 0.21.0', require: false
+  gem 'simplecov', '~> 0.14.0', require: false
+  gem 'flay', '~> 2.8.0', require: false
   gem 'bundler-audit', '~> 0.5.0', require: false
 
   gem 'benchmark-ips', '~> 2.3.0', require: false
@@ -322,17 +359,16 @@ group :test do
   gem 'shoulda-matchers', '~> 2.8.0', require: false
   gem 'email_spec', '~> 1.6.0'
   gem 'json-schema', '~> 2.6.2'
-  gem 'webmock', '~> 1.21.0'
+  gem 'webmock', '~> 2.3.2'
   gem 'test_after_commit', '~> 1.1'
   gem 'sham_rack', '~> 1.3.6'
   gem 'timecop', '~> 0.8.0'
+  gem 'concurrent-ruby', '~> 1.0.5'
 end
 
-gem 'newrelic_rpm', '~> 3.16'
-
 gem 'octokit', '~> 4.6.2'
 
-gem 'mail_room', '~> 0.9.0'
+gem 'mail_room', '~> 0.9.1'
 
 gem 'email_reply_trimmer', '~> 0.1'
 gem 'html2text'
@@ -340,16 +376,25 @@ gem 'html2text'
 gem 'ruby-prof', '~> 0.16.2'
 
 # OAuth
-gem 'oauth2', '~> 1.2.0'
+gem 'oauth2', '~> 1.4'
 
 # Soft deletion
-gem 'paranoia', '~> 2.2'
+gem 'paranoia', '~> 2.3.1'
 
 # Health check
-gem 'health_check', '~> 2.2.0'
+gem 'health_check', '~> 2.6.0'
 
 # System information
 gem 'vmstat', '~> 2.3.0'
 gem 'sys-filesystem', '~> 1.1.6'
 
-gem "activerecord-nulldb-adapter"
+# Gitaly GRPC client
+gem 'gitaly', '~> 0.14.0'
+
+gem 'toml-rb', '~> 0.3.15', require: false
+
+# Feature toggles
+gem 'flipper', '~> 0.10.2'
+gem 'flipper-active_record', '~> 0.10.2'
+
+gem 'activerecord-nulldb-adapter'
diff --git a/pkgs/applications/version-management/gitlab/Gemfile.lock b/pkgs/applications/version-management/gitlab/Gemfile.lock
index 398a88a13876..caecb68cc05f 100644
--- a/pkgs/applications/version-management/gitlab/Gemfile.lock
+++ b/pkgs/applications/version-management/gitlab/Gemfile.lock
@@ -2,43 +2,42 @@ GEM
   remote: https://rubygems.org/
   specs:
     RedCloth (4.3.2)
-    ace-rails-ap (4.1.0)
-    actionmailer (4.2.7.1)
-      actionpack (= 4.2.7.1)
-      actionview (= 4.2.7.1)
-      activejob (= 4.2.7.1)
+    ace-rails-ap (4.1.2)
+    actionmailer (4.2.8)
+      actionpack (= 4.2.8)
+      actionview (= 4.2.8)
+      activejob (= 4.2.8)
       mail (~> 2.5, >= 2.5.4)
       rails-dom-testing (~> 1.0, >= 1.0.5)
-    actionpack (4.2.7.1)
-      actionview (= 4.2.7.1)
-      activesupport (= 4.2.7.1)
+    actionpack (4.2.8)
+      actionview (= 4.2.8)
+      activesupport (= 4.2.8)
       rack (~> 1.6)
       rack-test (~> 0.6.2)
       rails-dom-testing (~> 1.0, >= 1.0.5)
       rails-html-sanitizer (~> 1.0, >= 1.0.2)
-    actionview (4.2.7.1)
-      activesupport (= 4.2.7.1)
+    actionview (4.2.8)
+      activesupport (= 4.2.8)
       builder (~> 3.1)
       erubis (~> 2.7.0)
       rails-dom-testing (~> 1.0, >= 1.0.5)
-      rails-html-sanitizer (~> 1.0, >= 1.0.2)
-    activejob (4.2.7.1)
-      activesupport (= 4.2.7.1)
+      rails-html-sanitizer (~> 1.0, >= 1.0.3)
+    activejob (4.2.8)
+      activesupport (= 4.2.8)
       globalid (>= 0.3.0)
-    activemodel (4.2.7.1)
-      activesupport (= 4.2.7.1)
+    activemodel (4.2.8)
+      activesupport (= 4.2.8)
       builder (~> 3.1)
-    activerecord (4.2.7.1)
-      activemodel (= 4.2.7.1)
-      activesupport (= 4.2.7.1)
+    activerecord (4.2.8)
+      activemodel (= 4.2.8)
+      activesupport (= 4.2.8)
       arel (~> 6.0)
-    activerecord-nulldb-adapter (0.3.3)
+    activerecord-nulldb-adapter (0.3.7)
       activerecord (>= 2.0.0)
     activerecord_sane_schema_dumper (0.2)
       rails (>= 4, < 5)
-    activesupport (4.2.7.1)
+    activesupport (4.2.8)
       i18n (~> 0.7)
-      json (~> 1.7, >= 1.7.7)
       minitest (~> 5.1)
       thread_safe (~> 0.3, >= 0.3.4)
       tzinfo (~> 1.1)
@@ -49,8 +48,8 @@ GEM
       activerecord (>= 3.0)
     akismet (2.0.0)
     allocations (1.0.5)
-    arel (6.0.3)
-    asana (0.4.0)
+    arel (6.0.4)
+    asana (0.6.0)
       faraday (~> 0.9)
       faraday_middleware (~> 0.9)
       faraday_middleware-multi_json (~> 0.0)
@@ -59,6 +58,7 @@ GEM
     asciidoctor-plantuml (0.0.7)
       asciidoctor (~> 1.5)
     ast (2.3.0)
+    atomic (1.1.99)
     attr_encrypted (3.0.3)
       encryptor (~> 3.0.0)
     attr_required (1.0.0)
@@ -78,18 +78,21 @@ GEM
     base32 (0.3.2)
     bcrypt (3.1.11)
     benchmark-ips (2.3.0)
-    better_errors (1.0.1)
+    better_errors (2.1.1)
       coderay (>= 1.0.0)
       erubis (>= 2.6.6)
+      rack (>= 0.9.0)
+    bindata (2.3.5)
     binding_of_caller (0.7.2)
       debug_inspector (>= 0.0.1)
     bootstrap-sass (3.3.6)
       autoprefixer-rails (>= 5.2.1)
       sass (>= 3.3.4)
-    brakeman (3.4.1)
+    bootstrap_form (2.7.0)
+    brakeman (3.6.1)
     browser (2.2.0)
-    builder (3.2.2)
-    bullet (5.2.0)
+    builder (3.2.3)
+    bullet (5.5.1)
       activesupport (>= 3.0.0)
       uniform_notifier (~> 1.10.0)
     bundler-audit (0.5.0)
@@ -103,13 +106,12 @@ GEM
       rack (>= 1.0.0)
       rack-test (>= 0.5.4)
       xpath (~> 2.0)
-    capybara-screenshot (1.0.11)
+    capybara-screenshot (1.0.14)
       capybara (>= 1.0, < 3)
       launchy
-    carrierwave (0.10.0)
-      activemodel (>= 3.2.0)
-      activesupport (>= 3.2.0)
-      json (>= 1.7)
+    carrierwave (1.1.0)
+      activemodel (>= 4.0.0)
+      activesupport (>= 4.0.0)
       mime-types (>= 1.16)
     cause (0.1)
     charlock_holmes (0.7.3)
@@ -117,8 +119,9 @@ GEM
     chronic_duration (0.10.6)
       numerizer (~> 0.1.1)
     chunky_png (1.3.5)
+    citrus (3.0.2)
     cliver (0.3.2)
-    coderay (1.1.0)
+    coderay (1.1.1)
     coercible (1.0.0)
       descendants_tracker (~> 0.0.1)
     coffee-rails (4.1.1)
@@ -129,12 +132,14 @@ GEM
       execjs
     coffee-script-source (1.10.0)
     colorize (0.7.7)
-    concurrent-ruby (1.0.2)
+    concurrent-ruby (1.0.5)
+    concurrent-ruby-ext (1.0.5)
+      concurrent-ruby (= 1.0.5)
     connection_pool (2.2.1)
     crack (0.4.3)
       safe_yaml (~> 1.0.0)
     creole (0.5.0)
-    css_parser (1.4.1)
+    css_parser (1.5.0)
       addressable
     d3_rails (3.5.11)
       railties (>= 3.1.0)
@@ -142,10 +147,8 @@ GEM
     database_cleaner (1.5.3)
     debug_inspector (0.0.2)
     debugger-ruby_core_source (1.3.8)
-    deckar01-task_list (1.0.6)
-      activesupport (~> 4.0)
+    deckar01-task_list (2.0.0)
       html-pipeline
-      rack (~> 1.0)
     default_value_for (3.0.2)
       activerecord (>= 3.2.0, < 5.1)
     descendants_tracker (0.0.4)
@@ -169,6 +172,9 @@ GEM
       unf (>= 0.0.5, < 1.0.0)
     doorkeeper (4.2.0)
       railties (>= 4.2)
+    doorkeeper-openid_connect (1.1.2)
+      doorkeeper (~> 4.0)
+      json-jwt (~> 1.6)
     dropzonejs-rails (0.7.2)
       rails (> 3.1)
     email_reply_trimmer (0.1.6)
@@ -179,8 +185,10 @@ GEM
     equalizer (0.0.11)
     erubis (2.7.0)
     escape_utils (1.1.1)
+    et-orbi (1.0.3)
+      tzinfo
     eventmachine (1.0.8)
-    excon (0.52.0)
+    excon (0.55.0)
     execjs (2.6.0)
     expression_parser (0.9.0)
     extlib (0.9.16)
@@ -189,27 +197,39 @@ GEM
     factory_girl_rails (4.7.0)
       factory_girl (~> 4.7.0)
       railties (>= 3.0.0)
-    faraday (0.9.2)
+    faraday (0.12.1)
       multipart-post (>= 1.2, < 3)
-    faraday_middleware (0.10.0)
-      faraday (>= 0.7.4, < 0.10)
+    faraday_middleware (0.11.0.1)
+      faraday (>= 0.7.4, < 1.0)
     faraday_middleware-multi_json (0.0.6)
       faraday_middleware
       multi_json
+    fast_gettext (1.4.0)
     ffaker (2.4.0)
     ffi (1.9.10)
-    flay (2.6.1)
+    flay (2.8.1)
+      erubis (~> 2.7.0)
+      path_expander (~> 1.0)
       ruby_parser (~> 3.0)
       sexp_processor (~> 4.0)
+    flipper (0.10.2)
+    flipper-active_record (0.10.2)
+      activerecord (>= 3.2, < 6)
+      flipper (~> 0.10.2)
     flowdock (0.7.1)
       httparty (~> 0.7)
       multi_json
-    fog-aws (0.11.0)
+    fog-aliyun (0.1.0)
+      fog-core (~> 1.27)
+      fog-json (~> 1.0)
+      ipaddress (~> 0.8)
+      xml-simple (~> 1.1)
+    fog-aws (0.13.0)
       fog-core (~> 1.38)
       fog-json (~> 1.0)
       fog-xml (~> 0.1)
       ipaddress (~> 0.8)
-    fog-core (1.42.0)
+    fog-core (1.44.1)
       builder
       excon (~> 0.49)
       formatador (~> 0.2)
@@ -231,10 +251,10 @@ GEM
       fog-json (>= 1.0)
       fog-xml (>= 0.1)
       ipaddress (>= 0.8)
-    fog-xml (0.1.2)
+    fog-xml (0.1.3)
       fog-core
-      nokogiri (~> 1.5, >= 1.5.11)
-    font-awesome-rails (4.6.1.0)
+      nokogiri (>= 1.5.11, < 2.0.0)
+    font-awesome-rails (4.7.0.1)
       railties (>= 3.2, < 5.1)
     foreman (0.78.0)
       thor (~> 0.19.1)
@@ -247,7 +267,20 @@ GEM
     gemojione (3.0.1)
       json
     get_process_mem (0.2.0)
+    gettext (3.2.2)
+      locale (>= 2.0.5)
+      text (>= 1.3.0)
+    gettext_i18n_rails (1.8.0)
+      fast_gettext (>= 0.9.0)
+    gettext_i18n_rails_js (1.2.0)
+      gettext (>= 3.0.2)
+      gettext_i18n_rails (>= 0.7.1)
+      po_to_json (>= 1.0.0)
+      rails (>= 3.2.0)
     gherkin-ruby (0.3.2)
+    gitaly (0.14.0)
+      google-protobuf (~> 3.1)
+      grpc (~> 1.0)
     github-linguist (4.7.6)
       charlock_holmes (~> 0.7.3)
       escape_utils (~> 1.1.0)
@@ -264,11 +297,11 @@ GEM
       mime-types (>= 1.16, < 3)
       posix-spawn (~> 0.3)
     gitlab-markup (1.5.1)
-    gitlab_omniauth-ldap (1.2.1)
-      net-ldap (~> 0.9)
-      omniauth (~> 1.0)
-      pyu-ruby-sasl (~> 0.0.3.1)
-      rubyntlm (~> 0.3)
+    gitlab_omniauth-ldap (2.0.2)
+      net-ldap (~> 0.16)
+      omniauth (~> 1.3)
+      pyu-ruby-sasl (>= 0.0.3.3, < 0.1)
+      rubyntlm (~> 0.5)
     globalid (0.3.7)
       activesupport (>= 4.1.0)
     gollum-grit_adapter (1.0.1)
@@ -280,9 +313,9 @@ GEM
       rouge (~> 2.0)
       sanitize (~> 2.1.0)
       stringex (~> 2.5.1)
-    gollum-rugged_adapter (0.4.2)
+    gollum-rugged_adapter (0.4.4)
       mime-types (>= 1.15)
-      rugged (~> 0.24.0, >= 0.21.3)
+      rugged (~> 0.25)
     gon (6.1.0)
       actionpack (>= 3.0)
       json
@@ -299,6 +332,7 @@ GEM
       multi_json (~> 1.10)
       retriable (~> 1.4)
       signet (~> 0.6)
+    google-protobuf (3.2.0.2)
     googleauth (0.5.1)
       faraday (~> 0.9)
       jwt (~> 1.4)
@@ -307,7 +341,7 @@ GEM
       multi_json (~> 1.11)
       os (~> 0.9)
       signet (~> 0.7)
-    grape (0.18.0)
+    grape (0.19.1)
       activesupport
       builder
       hashie (>= 2.1.0)
@@ -320,19 +354,25 @@ GEM
     grape-entity (0.6.0)
       activesupport
       multi_json (>= 1.3.2)
+    grpc (1.4.0)
+      google-protobuf (~> 3.1)
+      googleauth (~> 0.5.1)
     haml (4.0.7)
       tilt
-    haml_lint (0.18.2)
+    haml_lint (0.21.0)
       haml (~> 4.0)
-      rake (>= 10, < 12)
-      rubocop (>= 0.36.0)
+      rake (>= 10, < 13)
+      rubocop (>= 0.47.0)
       sysexits (~> 1.1)
     hamlit (2.6.1)
       temple (~> 0.7.6)
       thor
       tilt
-    hashie (3.4.4)
-    health_check (2.2.1)
+    hashdiff (0.3.4)
+    hashie (3.5.5)
+    hashie-forbidden_attributes (0.1.1)
+      hashie (>= 3.0)
+    health_check (2.6.0)
       rails (>= 4.0)
     hipchat (1.5.2)
       httparty
@@ -356,8 +396,8 @@ GEM
       json (~> 1.8)
       multi_xml (>= 0.5.2)
     httpclient (2.8.2)
-    i18n (0.7.0)
-    ice_nine (0.11.1)
+    i18n (0.8.1)
+    ice_nine (0.11.2)
     influxdb (0.2.3)
       cause
       json
@@ -370,9 +410,13 @@ GEM
       rails-dom-testing (>= 1, < 3)
       railties (>= 4.2.0)
       thor (>= 0.14, < 2.0)
-    jquery-ui-rails (5.0.5)
-      railties (>= 3.2.16)
-    json (1.8.3)
+    json (1.8.6)
+    json-jwt (1.7.1)
+      activesupport
+      bindata
+      multi_json (>= 1.3)
+      securecompare
+      url_safe_base64
     json-schema (2.6.2)
       addressable (~> 2.3.8)
     jwt (1.5.6)
@@ -401,56 +445,56 @@ GEM
       rubyzip
       thor
       xml-simple
-    licensee (8.0.0)
-      rugged (>= 0.24b)
+    licensee (8.7.0)
+      rugged (~> 0.24)
     little-plugger (1.1.4)
-    logging (2.1.0)
+    locale (2.1.2)
+    logging (2.2.2)
       little-plugger (~> 1.1)
       multi_json (~> 1.10)
     loofah (2.0.3)
       nokogiri (>= 1.5.9)
-    mail (2.6.4)
+    mail (2.6.5)
       mime-types (>= 1.16, < 4)
-    mail_room (0.9.0)
+    mail_room (0.9.1)
     memoist (0.15.0)
     method_source (0.8.2)
     mime-types (2.99.3)
     mimemagic (0.3.0)
     mini_portile2 (2.1.0)
     minitest (5.7.0)
+    mmap2 (2.2.7)
     mousetrap-rails (1.4.6)
     multi_json (1.12.1)
-    multi_xml (0.5.5)
+    multi_xml (0.6.0)
     multipart-post (2.0.0)
     mustermann (0.4.0)
       tool (~> 0.2)
     mustermann-grape (0.4.0)
       mustermann (= 0.4.0)
     mysql2 (0.3.20)
-    net-ldap (0.12.1)
+    net-ldap (0.16.0)
     net-ssh (3.0.1)
     netrc (0.11.0)
-    newrelic_rpm (3.16.0.318)
-    nokogiri (1.6.7.2)
+    nokogiri (1.6.8.1)
       mini_portile2 (~> 2.1.0)
-      pkg-config (~> 1.1.7)
     numerizer (0.1.1)
     oauth (0.5.1)
-    oauth2 (1.2.0)
-      faraday (>= 0.8, < 0.10)
+    oauth2 (1.4.0)
+      faraday (>= 0.8, < 0.13)
       jwt (~> 1.0)
       multi_json (~> 1.3)
       multi_xml (~> 0.5)
       rack (>= 1.2, < 3)
     octokit (4.6.2)
       sawyer (~> 0.8.0, >= 0.5.3)
-    oj (2.17.4)
-    omniauth (1.3.2)
+    oj (2.17.5)
+    omniauth (1.4.2)
       hashie (>= 1.2, < 4)
       rack (>= 1.0, < 3)
     omniauth-auth0 (1.4.1)
       omniauth-oauth2 (~> 1.1)
-    omniauth-authentiq (0.2.2)
+    omniauth-authentiq (0.3.0)
       omniauth-oauth2 (~> 1.3, >= 1.3.1)
     omniauth-azure-oauth2 (0.0.6)
       jwt (~> 1.0)
@@ -469,11 +513,10 @@ GEM
       omniauth (~> 1.0)
       omniauth-oauth2 (~> 1.0)
     omniauth-google-oauth2 (0.4.1)
-      addressable (~> 2.3)
-      jwt (~> 1.0)
+      jwt (~> 1.5.2)
       multi_json (~> 1.3)
       omniauth (>= 1.1.1)
-      omniauth-oauth2 (~> 1.3.1)
+      omniauth-oauth2 (>= 1.3.1)
     omniauth-kerberos (0.3.0)
       omniauth-multipassword
       timfel-krb5-auth (~> 0.8)
@@ -485,6 +528,8 @@ GEM
     omniauth-oauth2 (1.3.1)
       oauth2 (~> 1.0)
       omniauth (~> 1.2)
+    omniauth-oauth2-generic (0.2.2)
+      omniauth-oauth2 (~> 1.0)
     omniauth-saml (1.7.0)
       omniauth (~> 1.3)
       ruby-saml (~> 1.4)
@@ -501,12 +546,44 @@ GEM
       rubypants (~> 0.2)
     orm_adapter (0.5.0)
     os (0.9.6)
-    paranoia (2.2.0)
-      activerecord (>= 4.0, < 5.1)
-    parser (2.3.1.4)
+    paranoia (2.3.1)
+      activerecord (>= 4.0, < 5.2)
+    parser (2.4.0.0)
       ast (~> 2.2)
+    path_expander (1.0.1)
+    peek (1.0.1)
+      concurrent-ruby (>= 0.9.0)
+      concurrent-ruby-ext (>= 0.9.0)
+      railties (>= 4.0.0)
+    peek-gc (0.0.2)
+      peek
+    peek-host (1.0.0)
+      peek
+    peek-mysql2 (1.1.0)
+      atomic (>= 1.0.0)
+      mysql2
+      peek
+    peek-performance_bar (1.2.1)
+      peek (>= 0.1.0)
+    peek-pg (1.3.0)
+      concurrent-ruby
+      concurrent-ruby-ext
+      peek
+      pg
+    peek-rblineprof (0.2.0)
+      peek
+      rblineprof
+    peek-redis (1.2.0)
+      atomic (>= 1.0.0)
+      peek
+      redis
+    peek-sidekiq (1.0.3)
+      atomic (>= 1.0.0)
+      peek
+      sidekiq
     pg (0.18.4)
-    pkg-config (1.1.7)
+    po_to_json (1.0.1)
+      json (>= 1.6.0)
     poltergeist (1.9.0)
       capybara (~> 2.1)
       cliver (~> 0.3.1)
@@ -514,20 +591,23 @@ GEM
       websocket-driver (>= 0.2.0)
     posix-spawn (0.3.11)
     powerpack (0.1.1)
-    premailer (1.8.6)
-      css_parser (>= 1.3.6)
+    premailer (1.10.4)
+      addressable
+      css_parser (>= 1.4.10)
       htmlentities (>= 4.0.0)
-    premailer-rails (1.9.2)
+    premailer-rails (1.9.7)
       actionmailer (>= 3, < 6)
       premailer (~> 1.7, >= 1.7.9)
-    pry (0.10.3)
+    prometheus-client-mmap (0.7.0.beta11)
+      mmap2 (~> 2.2, >= 2.2.7)
+    pry (0.10.4)
       coderay (~> 1.1.0)
       method_source (~> 0.8.1)
       slop (~> 3.4)
-    pry-byebug (3.4.1)
+    pry-byebug (3.4.2)
       byebug (~> 9.0)
       pry (~> 0.10)
-    pry-rails (0.3.4)
+    pry-rails (0.3.5)
       pry (>= 0.9.10)
     pyu-ruby-sasl (0.0.3.3)
     rack (1.6.5)
@@ -548,42 +628,47 @@ GEM
       rack
     rack-test (0.6.3)
       rack (>= 1.0)
-    rails (4.2.7.1)
-      actionmailer (= 4.2.7.1)
-      actionpack (= 4.2.7.1)
-      actionview (= 4.2.7.1)
-      activejob (= 4.2.7.1)
-      activemodel (= 4.2.7.1)
-      activerecord (= 4.2.7.1)
-      activesupport (= 4.2.7.1)
+    rails (4.2.8)
+      actionmailer (= 4.2.8)
+      actionpack (= 4.2.8)
+      actionview (= 4.2.8)
+      activejob (= 4.2.8)
+      activemodel (= 4.2.8)
+      activerecord (= 4.2.8)
+      activesupport (= 4.2.8)
       bundler (>= 1.3.0, < 2.0)
-      railties (= 4.2.7.1)
+      railties (= 4.2.8)
       sprockets-rails
     rails-deprecated_sanitizer (1.0.3)
       activesupport (>= 4.2.0.alpha)
-    rails-dom-testing (1.0.7)
+    rails-dom-testing (1.0.8)
       activesupport (>= 4.2.0.beta, < 5.0)
-      nokogiri (~> 1.6.0)
+      nokogiri (~> 1.6)
       rails-deprecated_sanitizer (>= 1.0.1)
     rails-html-sanitizer (1.0.3)
       loofah (~> 2.0)
-    railties (4.2.7.1)
-      actionpack (= 4.2.7.1)
-      activesupport (= 4.2.7.1)
+    rails-i18n (4.0.9)
+      i18n (~> 0.7)
+      railties (~> 4.0)
+    railties (4.2.8)
+      actionpack (= 4.2.8)
+      activesupport (= 4.2.8)
       rake (>= 0.8.7)
       thor (>= 0.18.1, < 2.0)
-    rainbow (2.1.0)
-    raindrops (0.17.0)
+    rainbow (2.2.2)
+      rake
+    raindrops (0.18.0)
     rake (10.5.0)
     rblineprof (0.3.6)
       debugger-ruby_core_source (~> 1.3)
     rdoc (4.2.2)
       json (~> 1.4)
+    re2 (1.0.0)
     recaptcha (3.0.0)
       json
     recursive-open-struct (1.0.0)
-    redcarpet (3.3.3)
-    redis (3.2.2)
+    redcarpet (3.4.0)
+    redis (3.3.3)
     redis-actionpack (5.0.1)
       actionpack (>= 4.0, < 6)
       redis-rack (>= 1, < 3)
@@ -612,7 +697,7 @@ GEM
     retriable (1.4.1)
     rinku (2.0.0)
     rotp (2.1.2)
-    rouge (2.0.7)
+    rouge (2.1.0)
     rqrcode (0.7.0)
       chunky_png
     rqrcode-rails3 (0.1.7)
@@ -639,19 +724,20 @@ GEM
       rspec-support (~> 3.5.0)
     rspec-retry (0.4.5)
       rspec-core
+    rspec-set (0.1.3)
     rspec-support (3.5.0)
-    rspec_profiling (0.0.4)
+    rspec_profiling (0.0.5)
       activerecord
       pg
       rails
       sqlite3
-    rubocop (0.46.0)
-      parser (>= 2.3.1.1, < 3.0)
+    rubocop (0.47.1)
+      parser (>= 2.3.3.1, < 3.0)
       powerpack (~> 0.1)
       rainbow (>= 1.99.1, < 3.0)
       ruby-progressbar (~> 1.7)
       unicode-display_width (~> 1.0, >= 1.0.1)
-    rubocop-rspec (1.9.1)
+    rubocop-rspec (1.15.0)
       rubocop (>= 0.42.0)
     ruby-fogbugz (0.2.1)
       crack (~> 0.4)
@@ -659,13 +745,14 @@ GEM
     ruby-progressbar (1.8.1)
     ruby-saml (1.4.1)
       nokogiri (>= 1.5.10)
-    ruby_parser (3.8.2)
+    ruby_parser (3.9.0)
       sexp_processor (~> 4.1)
-    rubyntlm (0.5.2)
+    rubyntlm (0.6.2)
     rubypants (0.2.0)
     rubyzip (1.2.1)
-    rufus-scheduler (3.1.10)
-    rugged (0.24.0)
+    rufus-scheduler (3.4.0)
+      et-orbi (~> 1.0)
+    rugged (0.25.1.1)
     safe_yaml (1.0.4)
     sanitize (2.1.0)
       nokogiri (>= 1.4.4)
@@ -682,27 +769,27 @@ GEM
     scss_lint (0.47.1)
       rake (>= 0.9, < 11)
       sass (~> 3.4.15)
+    securecompare (1.0.0)
     seed-fu (2.3.6)
       activerecord (>= 3.1)
       activesupport (>= 3.1)
     select2-rails (3.5.9.3)
       thor (~> 0.14)
-    sentry-raven (2.0.2)
-      faraday (>= 0.7.6, < 0.10.x)
+    sentry-raven (2.5.3)
+      faraday (>= 0.7.6, < 1.0)
     settingslogic (2.0.9)
-    sexp_processor (4.7.0)
+    sexp_processor (4.9.0)
     sham_rack (1.3.6)
       rack
     shoulda-matchers (2.8.0)
       activesupport (>= 3.0.0)
-    sidekiq (4.2.7)
+    sidekiq (5.0.0)
       concurrent-ruby (~> 1.0)
       connection_pool (~> 2.2, >= 2.2.0)
       rack-protection (>= 1.5.0)
-      redis (~> 3.2, >= 3.2.1)
-    sidekiq-cron (0.4.4)
-      redis-namespace (>= 1.5.2)
-      rufus-scheduler (>= 2.0.24)
+      redis (~> 3.3, >= 3.3.3)
+    sidekiq-cron (0.6.0)
+      rufus-scheduler (>= 3.3.0)
       sidekiq (>= 4.2.1)
     sidekiq-limit_fetch (3.4.0)
       sidekiq (>= 4)
@@ -711,7 +798,7 @@ GEM
       faraday (~> 0.9)
       jwt (~> 1.5)
       multi_json (~> 1.10)
-    simplecov (0.12.0)
+    simplecov (0.14.1)
       docile (~> 1.1.0)
       json (>= 1.8, < 3)
       simplecov-html (~> 0.10.0)
@@ -728,19 +815,20 @@ GEM
       spinach (>= 0.4)
     spinach-rerun-reporter (0.0.2)
       spinach (~> 0.8)
-    spring (1.7.2)
+    spring (2.0.1)
+      activesupport (>= 4.2)
     spring-commands-rspec (1.0.4)
       spring (>= 0.9.1)
     spring-commands-spinach (1.1.0)
       spring (>= 0.9.1)
-    sprockets (3.7.0)
+    sprockets (3.7.1)
       concurrent-ruby (~> 1.0)
       rack (> 1, < 3)
-    sprockets-rails (3.1.1)
+    sprockets-rails (3.2.0)
       actionpack (>= 4.0)
       activesupport (>= 4.0)
       sprockets (>= 3.0.0)
-    sqlite3 (1.3.11)
+    sqlite3 (1.3.13)
     stackprof (0.2.10)
     state_machines (0.4.0)
     state_machines-activemodel (0.4.0)
@@ -756,15 +844,18 @@ GEM
     temple (0.7.7)
     test_after_commit (1.1.0)
       activerecord (>= 3.2)
+    text (1.3.1)
     thin (1.7.0)
       daemons (~> 1.0, >= 1.0.9)
       eventmachine (~> 1.0, >= 1.0.4)
       rack (>= 1, < 3)
-    thor (0.19.1)
-    thread_safe (0.3.5)
-    tilt (2.0.5)
+    thor (0.19.4)
+    thread_safe (0.3.6)
+    tilt (2.0.6)
     timecop (0.8.1)
     timfel-krb5-auth (0.8.3)
+    toml-rb (0.3.15)
+      citrus (~> 3.0, > 3.0)
     tool (0.2.3)
     truncato (0.7.8)
       htmlentities (~> 4.3.1)
@@ -779,7 +870,7 @@ GEM
     unf (0.1.4)
       unf_ext
     unf_ext (0.0.7.2)
-    unicode-display_width (1.1.1)
+    unicode-display_width (1.1.3)
     unicorn (5.1.0)
       kgio (~> 2.6)
       raindrops (~> 0.7)
@@ -787,6 +878,7 @@ GEM
       get_process_mem (~> 0)
       unicorn (>= 4, < 6)
     uniform_notifier (1.10.0)
+    url_safe_base64 (0.2.2)
     validates_hostname (1.0.6)
       activerecord (>= 3.0)
       activesupport (>= 3.0)
@@ -799,16 +891,12 @@ GEM
     vmstat (2.3.0)
     warden (1.2.6)
       rack (>= 1.0)
-    web-console (2.3.0)
-      activemodel (>= 4.0)
-      binding_of_caller (>= 0.7.2)
-      railties (>= 4.0)
-      sprockets-rails (>= 2.0, < 4.0)
-    webmock (1.21.0)
+    webmock (2.3.2)
       addressable (>= 2.3.6)
       crack (>= 0.3.2)
-    webpack-rails (0.9.9)
-      rails (>= 3.2.0)
+      hashdiff
+    webpack-rails (0.9.10)
+      railties (>= 3.2.0)
     websocket-driver (0.6.3)
       websocket-extensions (>= 0.1.0)
     websocket-extensions (0.1.2)
@@ -833,7 +921,7 @@ DEPENDENCIES
   after_commit_queue (~> 1.3.0)
   akismet (~> 2.0)
   allocations (~> 1.0)
-  asana (~> 0.4.0)
+  asana (~> 0.6.0)
   asciidoctor (~> 1.5.2)
   asciidoctor-plantuml (= 0.0.7)
   attr_encrypted (~> 3.0.0)
@@ -841,60 +929,72 @@ DEPENDENCIES
   babosa (~> 1.0.2)
   base32 (~> 0.3.0)
   benchmark-ips (~> 2.3.0)
-  better_errors (~> 1.0.1)
+  better_errors (~> 2.1.0)
   binding_of_caller (~> 0.7.2)
   bootstrap-sass (~> 3.3.0)
-  brakeman (~> 3.4.0)
+  bootstrap_form (~> 2.7.0)
+  brakeman (~> 3.6.0)
   browser (~> 2.2)
-  bullet (~> 5.2.0)
+  bullet (~> 5.5.0)
   bundler-audit (~> 0.5.0)
   capybara (~> 2.6.2)
   capybara-screenshot (~> 1.0.0)
-  carrierwave (~> 0.10.0)
+  carrierwave (~> 1.1)
   charlock_holmes (~> 0.7.3)
   chronic (~> 0.10.2)
   chronic_duration (~> 0.10.6)
   coffee-rails (~> 4.1.0)
+  concurrent-ruby (~> 1.0.5)
   connection_pool (~> 2.0)
   creole (~> 0.5.0)
   d3_rails (~> 3.5.0)
   database_cleaner (~> 1.5.0)
-  deckar01-task_list (= 1.0.6)
+  deckar01-task_list (= 2.0.0)
   default_value_for (~> 3.0.0)
   devise (~> 4.2)
   devise-two-factor (~> 3.0.0)
   diffy (~> 3.1.0)
   doorkeeper (~> 4.2.0)
+  doorkeeper-openid_connect (~> 1.1.0)
   dropzonejs-rails (~> 0.7.1)
   email_reply_trimmer (~> 0.1)
   email_spec (~> 1.6.0)
   factory_girl_rails (~> 4.7.0)
+  faraday (~> 0.12)
   ffaker (~> 2.4)
-  flay (~> 2.6.1)
+  flay (~> 2.8.0)
+  flipper (~> 0.10.2)
+  flipper-active_record (~> 0.10.2)
+  fog-aliyun (~> 0.1.0)
   fog-aws (~> 0.9)
-  fog-core (~> 1.40)
+  fog-core (~> 1.44)
   fog-google (~> 0.5)
   fog-local (~> 0.3)
   fog-openstack (~> 0.1)
   fog-rackspace (~> 0.1.1)
-  font-awesome-rails (~> 4.6.1)
+  font-awesome-rails (~> 4.7)
   foreman (~> 0.78.0)
   fuubar (~> 2.0.0)
   gemnasium-gitlab-service (~> 0.2)
   gemojione (~> 3.0)
+  gettext (~> 3.2.2)
+  gettext_i18n_rails (~> 1.8.0)
+  gettext_i18n_rails_js (~> 1.2.0)
+  gitaly (~> 0.14.0)
   github-linguist (~> 4.7.0)
   gitlab-flowdock-git-hook (~> 1.0.1)
   gitlab-markup (~> 1.5.1)
-  gitlab_omniauth-ldap (~> 1.2.1)
+  gitlab_omniauth-ldap (~> 2.0.2)
   gollum-lib (~> 4.2)
-  gollum-rugged_adapter (~> 0.4.2)
+  gollum-rugged_adapter (~> 0.4.4)
   gon (~> 6.1.0)
   google-api-client (~> 0.8.6)
-  grape (~> 0.18.0)
+  grape (~> 0.19.0)
   grape-entity (~> 0.6.0)
-  haml_lint (~> 0.18.2)
+  haml_lint (~> 0.21.0)
   hamlit (~> 2.6.1)
-  health_check (~> 2.2.0)
+  hashie-forbidden_attributes
+  health_check (~> 2.6.0)
   hipchat (~> 1.5.0)
   html-pipeline (~> 1.11.0)
   html2text
@@ -903,7 +1003,6 @@ DEPENDENCIES
   jira-ruby (~> 1.1.2)
   jquery-atwho-rails (~> 1.3.2)
   jquery-rails (~> 4.1.0)
-  jquery-ui-rails (~> 5.0.0)
   json-schema (~> 2.6.2)
   jwt (~> 1.5.6)
   kaminari (~> 0.17.0)
@@ -911,22 +1010,22 @@ DEPENDENCIES
   kubeclient (~> 2.2.0)
   letter_opener_web (~> 1.3.0)
   license_finder (~> 2.1.0)
-  licensee (~> 8.0.0)
+  licensee (~> 8.7.0)
   loofah (~> 2.0.3)
-  mail_room (~> 0.9.0)
+  mail_room (~> 0.9.1)
   method_source (~> 0.8)
   minitest (~> 5.7.0)
   mousetrap-rails (~> 1.4.6)
   mysql2 (~> 0.3.16)
+  net-ldap
   net-ssh (~> 3.0.1)
-  newrelic_rpm (~> 3.16)
-  nokogiri (< 1.6.8, ~> 1.6.7, >= 1.6.7.2)
-  oauth2 (~> 1.2.0)
+  nokogiri (~> 1.6.7, >= 1.6.7.2)
+  oauth2 (~> 1.4)
   octokit (~> 4.6.2)
   oj (~> 2.17.4)
-  omniauth (~> 1.3.2)
+  omniauth (~> 1.4.2)
   omniauth-auth0 (~> 1.4.1)
-  omniauth-authentiq (~> 0.2.0)
+  omniauth-authentiq (~> 0.3.0)
   omniauth-azure-oauth2 (~> 0.0.6)
   omniauth-cas3 (~> 1.1.2)
   omniauth-facebook (~> 4.0.0)
@@ -934,28 +1033,42 @@ DEPENDENCIES
   omniauth-gitlab (~> 1.0.2)
   omniauth-google-oauth2 (~> 0.4.1)
   omniauth-kerberos (~> 0.3.0)
+  omniauth-oauth2-generic (~> 0.2.2)
   omniauth-saml (~> 1.7.0)
   omniauth-shibboleth (~> 1.2.0)
   omniauth-twitter (~> 1.2.0)
   omniauth_crowd (~> 2.2.0)
   org-ruby (~> 0.9.12)
-  paranoia (~> 2.2)
+  paranoia (~> 2.3.1)
+  peek (~> 1.0.1)
+  peek-gc (~> 0.0.2)
+  peek-host (~> 1.0.0)
+  peek-mysql2 (~> 1.1.0)
+  peek-performance_bar (~> 1.2.1)
+  peek-pg (~> 1.3.0)
+  peek-rblineprof (~> 0.2.0)
+  peek-redis (~> 1.2.0)
+  peek-sidekiq (~> 1.0.3)
   pg (~> 0.18.2)
   poltergeist (~> 1.9.0)
-  premailer-rails (~> 1.9.0)
+  premailer-rails (~> 1.9.7)
+  prometheus-client-mmap (~> 0.7.0.beta11)
   pry-byebug (~> 3.4.1)
   pry-rails (~> 0.3.4)
   rack-attack (~> 4.4.1)
   rack-cors (~> 0.4.0)
   rack-oauth2 (~> 1.2.1)
   rack-proxy (~> 0.6.0)
-  rails (= 4.2.7.1)
+  rails (= 4.2.8)
   rails-deprecated_sanitizer (~> 1.0.3)
-  rainbow (~> 2.1.0)
+  rails-i18n (~> 4.0.9)
+  rainbow (~> 2.2)
+  raindrops (~> 0.18)
   rblineprof (~> 0.3.6)
   rdoc (~> 4.2)
+  re2 (~> 1.0.0)
   recaptcha (~> 3.0)
-  redcarpet (~> 3.3.3)
+  redcarpet (~> 3.4)
   redis (~> 3.2)
   redis-namespace (~> 1.5.2)
   redis-rails (~> 5.0.1)
@@ -965,29 +1078,32 @@ DEPENDENCIES
   rqrcode-rails3 (~> 0.1.7)
   rspec-rails (~> 3.5.0)
   rspec-retry (~> 0.4.5)
-  rspec_profiling
-  rubocop (~> 0.46.0)
-  rubocop-rspec (~> 1.9.1)
+  rspec-set (~> 0.1.3)
+  rspec_profiling (~> 0.0.5)
+  rubocop (~> 0.47.1)
+  rubocop-rspec (~> 1.15.0)
   ruby-fogbugz (~> 0.2.1)
   ruby-prof (~> 0.16.2)
-  rugged (~> 0.24.0)
+  ruby_parser (~> 3.8)
+  rufus-scheduler (~> 3.4)
+  rugged (~> 0.25.1.1)
   sanitize (~> 2.0)
   sass-rails (~> 5.0.6)
   scss_lint (~> 0.47.0)
   seed-fu (~> 2.3.5)
   select2-rails (~> 3.5.9)
-  sentry-raven (~> 2.0.0)
+  sentry-raven (~> 2.5.3)
   settingslogic (~> 2.0.9)
   sham_rack (~> 1.3.6)
   shoulda-matchers (~> 2.8.0)
-  sidekiq (~> 4.2.7)
-  sidekiq-cron (~> 0.4.4)
+  sidekiq (~> 5.0)
+  sidekiq-cron (~> 0.6.0)
   sidekiq-limit_fetch (~> 3.4)
-  simplecov (= 0.12.0)
+  simplecov (~> 0.14.0)
   slack-notifier (~> 1.5.1)
   spinach-rails (~> 0.2.1)
   spinach-rerun-reporter (~> 0.0.2)
-  spring (~> 1.7.0)
+  spring (~> 2.0.0)
   spring-commands-rspec (~> 1.0.4)
   spring-commands-spinach (~> 1.1.0)
   sprockets (~> 3.7.0)
@@ -997,6 +1113,7 @@ DEPENDENCIES
   test_after_commit (~> 1.1)
   thin (~> 1.7.0)
   timecop (~> 0.8.0)
+  toml-rb (~> 0.3.15)
   truncato (~> 0.7.8)
   u2f (~> 0.2.1)
   uglifier (~> 2.7.2)
@@ -1008,10 +1125,9 @@ DEPENDENCIES
   version_sorter (~> 2.1.0)
   virtus (~> 1.0.1)
   vmstat (~> 2.3.0)
-  web-console (~> 2.0)
-  webmock (~> 1.21.0)
-  webpack-rails (~> 0.9.9)
+  webmock (~> 2.3.2)
+  webpack-rails (~> 0.9.10)
   wikicloth (= 0.8.1)
 
 BUNDLED WITH
-   1.14.5
+   1.15.1
diff --git a/pkgs/applications/version-management/gitlab/default.nix b/pkgs/applications/version-management/gitlab/default.nix
index 815bc30344ad..156ff4628183 100644
--- a/pkgs/applications/version-management/gitlab/default.nix
+++ b/pkgs/applications/version-management/gitlab/default.nix
@@ -1,29 +1,85 @@
-{ stdenv, lib, bundler, fetchurl, fetchFromGitHub, bundlerEnv, libiconv, ruby
-, tzdata, git, nodejs, procps, dpkg
+{ pkgs, stdenv, lib, bundler, fetchurl, fetchFromGitHub, bundlerEnv, libiconv
+, ruby, tzdata, git, nodejs, procps, dpkg, yarn
 }:
 
 /* When updating the Gemfile add `gem "activerecord-nulldb-adapter"`
    to allow building the assets without a database */
 
 let
-  env = bundlerEnv {
+  # Taken from yarn2nix
+  buildYarnPackageDeps = {
+    name,
+    packageJson,
+    yarnLock,
+    yarnNix,
+    pkgConfig ? {},
+    yarnFlags ? []
+  }:
+    let
+      offlineCache = (pkgs.callPackage yarnNix {}).offline_cache;
+      extraBuildInputs = (lib.flatten (builtins.map (key:
+        pkgConfig.${key} . buildInputs or []
+      ) (builtins.attrNames pkgConfig)));
+      postInstall = (builtins.map (key:
+        if (pkgConfig.${key} ? postInstall) then
+          ''
+            for f in $(find -L -path '*/node_modules/${key}' -type d); do
+              (cd "$f" && (${pkgConfig.${key}.postInstall}))
+            done
+          ''
+        else
+          ""
+      ) (builtins.attrNames pkgConfig));
+    in
+    stdenv.mkDerivation {
+      name = "${name}-modules";
+
+      phases = ["buildPhase"];
+      buildInputs = [ yarn nodejs ] ++ extraBuildInputs;
+
+      buildPhase = ''
+        # Yarn writes cache directories etc to $HOME.
+        export HOME=`pwd`/yarn_home
+        cp ${packageJson} ./package.json
+        cp ${yarnLock} ./yarn.lock
+        chmod +w ./yarn.lock
+        yarn config --offline set yarn-offline-mirror ${offlineCache}
+        # Do not look up in the registry, but in the offline cache.
+        # TODO: Ask upstream to fix this mess.
+        sed -i -E 's|^(\s*resolved\s*")https?://.*/|\1|' yarn.lock
+        yarn install ${lib.escapeShellArgs yarnFlags}
+        ${lib.concatStringsSep "\n" postInstall}
+        mkdir $out
+        mv node_modules $out/
+        patchShebangs $out
+      '';
+    };
+  node-env = buildYarnPackageDeps {
     name = "gitlab";
+    packageJson = ./package.json;
+    yarnLock = ./yarn.lock;
+    yarnNix = ./yarn.nix;
+    yarnFlags = [
+      "--offline"
+      "--frozen-lockfile"
+      "--ignore-engines"
+      "--ignore-scripts"
+    ];
+    # pkgConfig might need to come from node-packages ?
+  };
+  ruby-env = bundlerEnv {
+    name = "gitlab-env-0.2";
     inherit ruby;
     gemdir = ./.;
     meta = with lib; {
       homepage = http://www.gitlab.com/;
       platforms = platforms.linux;
-      maintainers = with maintainers; [ fpletz ];
+      maintainers = with maintainers; [ fpletz globin ];
       license = licenses.mit;
     };
   };
 
-  version = "8.17.8";
-
-  gitlabDeb = fetchurl {
-    url = "https://packages.gitlab.com/gitlab/gitlab-ce/packages/debian/jessie/gitlab-ce_${version}-ce.0_amd64.deb/download";
-    sha256 = "0r4f1illaalhrvc6zgq19g4jcs77jf665l8bgx6pyvw45yn6wv7h";
-  };
+  version = "9.4.5";
 
 in
 
@@ -31,14 +87,14 @@ stdenv.mkDerivation rec {
   name = "gitlab-${version}";
 
   buildInputs = [
-    env ruby bundler tzdata git nodejs procps dpkg
+    ruby-env ruby bundler tzdata git nodejs procps dpkg yarn
   ];
 
   src = fetchFromGitHub {
     owner = "gitlabhq";
     repo = "gitlabhq";
     rev = "v${version}";
-    sha256 = "041ld3na8m42akqpljipid984d0mv0wzk2p1630fncc1w3iaq06d";
+    sha256 = "1jdvgpzkrap9n9pclyi5ln5l5qfhj4y8ygb1w90jkgrd785bg573";
   };
 
   patches = [
@@ -73,13 +129,18 @@ stdenv.mkDerivation rec {
   buildPhase = ''
     mv config/gitlab.yml.example config/gitlab.yml
 
-    dpkg --fsys-tarfile ${gitlabDeb} | tar -x --no-same-permissions --no-same-owner
-    mv -v opt/gitlab/embedded/service/gitlab-rails/public/assets public
-    rm -rf opt
+    # Emulate yarn install --production --pure-lockfile
+    mkdir -p node_modules/
+    ln -s ${node-env}/node_modules/* node_modules/
+    ln -s ${node-env}/node_modules/.bin node_modules/
 
+    # Compile assets. We skip the yarn check because it fails
     export GITLAB_DATABASE_ADAPTER=nulldb
     export SKIP_STORAGE_VALIDATION=true
-    rake assets:precompile RAILS_ENV=production
+    rake gettext:compile RAILS_ENV=production
+    rake rake:assets:precompile RAILS_ENV=production NODE_ENV=production
+    rake webpack:compile RAILS_ENV=production NODE_ENV=production
+    rake gitlab:assets:fix_urls RAILS_ENV=production NODE_ENV=production
 
     mv config/gitlab.yml config/gitlab.yml.example
     rm config/secrets.yml
@@ -98,7 +159,7 @@ stdenv.mkDerivation rec {
   '';
 
   passthru = {
-    inherit env;
+    inherit ruby-env;
     inherit ruby;
   };
 }
diff --git a/pkgs/applications/version-management/gitlab/gemset.nix b/pkgs/applications/version-management/gitlab/gemset.nix
index 4bc57f6bd08e..d5f4ac6f9bcd 100644
--- a/pkgs/applications/version-management/gitlab/gemset.nix
+++ b/pkgs/applications/version-management/gitlab/gemset.nix
@@ -2,68 +2,76 @@
   ace-rails-ap = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1jxpv0x8lzkk00v2pc13jxrcdigk4dv6pi3sa52j864ky8fk37rh";
+      sha256 = "14wj9gsiy7rm0lvs27ffsrh92wndjksj6rlfj3n7jhv1v77w9v2h";
       type = "gem";
     };
-    version = "4.1.0";
+    version = "4.1.2";
   };
   actionmailer = {
+    dependencies = ["actionpack" "actionview" "activejob" "mail" "rails-dom-testing"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0lw1pss1mrjm7x7qcg9pvxv55rz3d994yf3mwmlfg1y12fxq00n3";
+      sha256 = "0pr3cmr0bpgg5d0f6wy1z6r45n14r9yin8jnr4hi3ssf402xpc0q";
       type = "gem";
     };
-    version = "4.2.7.1";
+    version = "4.2.8";
   };
   actionpack = {
+    dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ray5bvlmkimjax011zsw0mz9llfkqrfm7q1avjlp4i0kpcz8zlh";
+      sha256 = "09fbazl0ja80na2wadfp3fzmdmdy1lsb4wd2yg7anbj0zk0ap7a9";
       type = "gem";
     };
-    version = "4.2.7.1";
+    version = "4.2.8";
   };
   actionview = {
+    dependencies = ["activesupport" "builder" "erubis" "rails-dom-testing" "rails-html-sanitizer"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "11m2x5nlbqrw79fh6h7m444lrka7wwy32b0dvgqg7ilbzih43k0c";
+      sha256 = "1mg4a8143q2wjhjq4mngl69jkv249z5jvg0jkdribdv4zkg586rp";
       type = "gem";
     };
-    version = "4.2.7.1";
+    version = "4.2.8";
   };
   activejob = {
+    dependencies = ["activesupport" "globalid"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ish5wd8nvmj7f6x1i22aw5ycizy5n1z1c7f3kyxmqwhw7lb0gaz";
+      sha256 = "0kazbpfgzz6cdmwjnlb9m671ps4qgggwv2hy8y9xi4h96djyyfqz";
       type = "gem";
     };
-    version = "4.2.7.1";
+    version = "4.2.8";
   };
   activemodel = {
+    dependencies = ["activesupport" "builder"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0acz0mbmahsc9mn41275fpfnrqwig5k09m3xhz3455kv90fn79v5";
+      sha256 = "11vhh7zmp92880s5sx8r32v2p0b7xg039mfr92pjynpkz4q901ld";
       type = "gem";
     };
-    version = "4.2.7.1";
+    version = "4.2.8";
   };
   activerecord = {
+    dependencies = ["activemodel" "activesupport" "arel"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1lk8l6i9p7qfl0pg261v5yph0w0sc0vysrdzc6bm5i5rxgi68flj";
+      sha256 = "1kk4dhn8jfhqfsf1dmb3a183gix6k46xr6cjkxj0rp51w2za1ns0";
       type = "gem";
     };
-    version = "4.2.7.1";
+    version = "4.2.8";
   };
   activerecord-nulldb-adapter = {
+    dependencies = ["activerecord"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1m8jlbzmwc1cx4fb54m9adw962anpz5cazbyirb4qs5brxma63fp";
+      sha256 = "1dxk26drn3s0mpyk8ir30k1pg5fqndrnsdjkkncn0acylq4ja27z";
       type = "gem";
     };
-    version = "0.3.3";
+    version = "0.3.7";
   };
   activerecord_sane_schema_dumper = {
+    dependencies = ["rails"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "122c7v7lvs0gwckvx2rar07waxnx1vv0lryz322nybb69d8vbhl6";
@@ -72,14 +80,16 @@
     version = "0.2";
   };
   activesupport = {
+    dependencies = ["i18n" "minitest" "thread_safe" "tzinfo"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1gds12k7nxrcc09b727a458ndidy1nfcllj9x22jcaj7pppvq6r4";
+      sha256 = "0wibdzd2f5l5rlsw1a1y3j3fhw2imrrbkxggdraa6q9qbdnc66hi";
       type = "gem";
     };
-    version = "4.2.7.1";
+    version = "4.2.8";
   };
   acts-as-taggable-on = {
+    dependencies = ["activerecord"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1h2y2zh4vrjf6bzdgvyq5a53a4gpr8xvq4a5rvq7fy1w43z4753s";
@@ -96,6 +106,7 @@
     version = "2.3.8";
   };
   after_commit_queue = {
+    dependencies = ["activerecord"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1jrhvj4335dsrj0xndbf7a7m2inbwbx1knc0bwgvmkk1w47l43s0";
@@ -122,18 +133,19 @@
   arel = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1a270mlajhrmpqbhxcqjqypnvgrq4pgixpv3w9gwp1wrrapnwrzk";
+      sha256 = "0nfcrdiys6q6ylxiblky9jyssrw2xj96fmxmal7f4f0jj3417vj4";
       type = "gem";
     };
-    version = "6.0.3";
+    version = "6.0.4";
   };
   asana = {
+    dependencies = ["faraday" "faraday_middleware" "faraday_middleware-multi_json" "oauth2"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1560p13g57pl4xqkmhwn1vpqhm7mw9fwmmswk38k3i2r7g0b5y9z";
+      sha256 = "0bn7f3sc2f02g871jd0y6qdhixn464mflkjchp56x6kcnyqy24z6";
       type = "gem";
     };
-    version = "0.4.0";
+    version = "0.6.0";
   };
   asciidoctor = {
     source = {
@@ -144,6 +156,7 @@
     version = "1.5.3";
   };
   asciidoctor-plantuml = {
+    dependencies = ["asciidoctor"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "00ax9r822n4ykl6jizaxp03wqzknr7nn20mmqjpiwajy9j0zvr88";
@@ -159,7 +172,16 @@
     };
     version = "2.3.0";
   };
+  atomic = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1kh9rvhjn4dndbfsk3yjq7alds6s2j70rc4k8wdwdyibab8a8gq9";
+      type = "gem";
+    };
+    version = "1.1.99";
+  };
   attr_encrypted = {
+    dependencies = ["encryptor"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1dikbf55wjqyzfb9p4xjkkkajwan569pmzljdf9c1fy4a94cd13d";
@@ -176,6 +198,7 @@
     version = "1.0.0";
   };
   autoparse = {
+    dependencies = ["addressable" "extlib" "multi_json"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1q5wkd8gc2ckmgry9fba4b8vxb5kr8k8gqq2wycbirgq06mbllb6";
@@ -184,6 +207,7 @@
     version = "0.3.3";
   };
   autoprefixer-rails = {
+    dependencies = ["execjs" "json"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0m1w42ncz0p48r5hbyglayxkzrnplw18r99dc1ia2cb3nizkwllx";
@@ -200,6 +224,7 @@
     version = "1.2.0";
   };
   axiom-types = {
+    dependencies = ["descendants_tracker" "ice_nine" "thread_safe"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "10q3k04pll041mkgy0m5fn2b1lazm6ly1drdbcczl5p57lzi3zy1";
@@ -240,14 +265,24 @@
     version = "2.3.0";
   };
   better_errors = {
+    dependencies = ["coderay" "erubis" "rack"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0v0q8bdkqqlcsfqbk4wvc3qnz8an44mgz720v5f11a4nr413mjgf";
+      sha256 = "11csk41yhijqvp0dkky0cjl8kn6blw4jhr8b6v4islfvvayddcxc";
       type = "gem";
     };
-    version = "1.0.1";
+    version = "2.1.1";
+  };
+  bindata = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "07i51jzq9iamw40xmmcgkrdq4m8f0vb5gp53p6q1vggj7z53q3v7";
+      type = "gem";
+    };
+    version = "2.3.5";
   };
   binding_of_caller = {
+    dependencies = ["debug_inspector"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "15jg6dkaq2nzcd602d7ppqbdxw3aji961942w93crs6qw4n6h9yk";
@@ -256,6 +291,7 @@
     version = "0.7.2";
   };
   bootstrap-sass = {
+    dependencies = ["autoprefixer-rails" "sass"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "12hhw42hk9clwfj6yz5v0c5p35wrn5yjnji7bnzsfs99vi2q00ld";
@@ -263,13 +299,21 @@
     };
     version = "3.3.6";
   };
+  bootstrap_form = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0sw88vi5sb48xzgwclic38jdgmcbvah2qfi3rijrlmi1wai4j1fw";
+      type = "gem";
+    };
+    version = "2.7.0";
+  };
   brakeman = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0kmg55glfnx7jidrl1ivkfqc0zqya78wxk8wf5j37rj8ya3lzxgd";
+      sha256 = "0fxv3cgmjh6rimz2jcslj3qnh1vqqz1grrjnp6m3nywbznlv441w";
       type = "gem";
     };
-    version = "3.4.1";
+    version = "3.6.1";
   };
   browser = {
     source = {
@@ -282,20 +326,22 @@
   builder = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "14fii7ab8qszrvsvhz6z2z3i4dw0h41a62fjr2h1j8m41vbrmyv2";
+      sha256 = "0qibi5s67lpdv1wgcj66wcymcr04q6j4mzws6a479n0mlrmh5wr1";
       type = "gem";
     };
-    version = "3.2.2";
+    version = "3.2.3";
   };
   bullet = {
+    dependencies = ["activesupport" "uniform_notifier"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1i242hsnkrjsk6bjrd0glhfdir0836iaqcqbz6hrxz4gqkh2rg2g";
+      sha256 = "1pdq3ckmwxnwrdm2x89zfj68h0yhiln35y8wps2nkvam4kpivyr5";
       type = "gem";
     };
-    version = "5.2.0";
+    version = "5.5.1";
   };
   bundler-audit = {
+    dependencies = ["thor"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1gr7k6m9fda7m66irxzydm8v9xbmlryjj65cagwm1zyi5f317srb";
@@ -312,6 +358,7 @@
     version = "9.0.6";
   };
   capybara = {
+    dependencies = ["addressable" "mime-types" "nokogiri" "rack" "rack-test" "xpath"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0ln77a5wwhd5sbxsh3v26xrwjnza0rgx2hn23yjggdlha03b00yw";
@@ -320,20 +367,22 @@
     version = "2.6.2";
   };
   capybara-screenshot = {
+    dependencies = ["capybara" "launchy"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "17v1wihr3aqrxhrwswkdpdklj1xsfcaksblh1y8hixvm9bqfyz3y";
+      sha256 = "1xy79lf3rwn3602r4hqm9s8a03bhlf6hzwdi6345dzrkmhwwj2ij";
       type = "gem";
     };
-    version = "1.0.11";
+    version = "1.0.14";
   };
   carrierwave = {
+    dependencies = ["activemodel" "activesupport" "mime-types"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0h9179vcsv5mhdd83zx13bisk6x5c7j97mhqaxagimjbkszwsvr0";
+      sha256 = "0nms4w6vkm7djghdxwi9qzykhc2ynjwblgqwk87w61fhispqlq2c";
       type = "gem";
     };
-    version = "0.10.0";
+    version = "1.1.0";
   };
   cause = {
     source = {
@@ -360,6 +409,7 @@
     version = "0.10.2";
   };
   chronic_duration = {
+    dependencies = ["numerizer"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1k7sx3xqbrn6s4pishh2pgr4kw6fmw63h00lh503l66k8x0qvigs";
@@ -375,6 +425,14 @@
     };
     version = "1.3.5";
   };
+  citrus = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0l7nhk3gkm1hdchkzzhg2f70m47pc0afxfpl6mkiibc9qcpl3hjf";
+      type = "gem";
+    };
+    version = "3.0.2";
+  };
   cliver = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -386,12 +444,13 @@
   coderay = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "059wkzlap2jlkhg460pkwc1ay4v4clsmg1bp4vfzjzkgwdckr52s";
+      sha256 = "1x6z923iwr1hi04k6kz5a6llrixflz8h5sskl9mhaaxy9jx2x93r";
       type = "gem";
     };
-    version = "1.1.0";
+    version = "1.1.1";
   };
   coercible = {
+    dependencies = ["descendants_tracker"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1p5azydlsz0nkxmcq0i1gzmcfq02lgxc4as7wmf47j1c6ljav0ah";
@@ -400,6 +459,7 @@
     version = "1.0.0";
   };
   coffee-rails = {
+    dependencies = ["coffee-script" "railties"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1mv1kaw3z4ry6cm51w8pfrbby40gqwxanrqyqr0nvs8j1bscc1gw";
@@ -408,6 +468,7 @@
     version = "4.1.1";
   };
   coffee-script = {
+    dependencies = ["coffee-script-source" "execjs"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0rc7scyk7mnpfxqv5yy4y5q1hx3i7q3ahplcp4bq2g5r24g2izl2";
@@ -434,10 +495,19 @@
   concurrent-ruby = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1kb4sav7yli12pjr8lscv8z49g52a5xzpfg3z9h8clzw6z74qjsw";
+      sha256 = "183lszf5gx84kcpb779v6a2y0mx9sssy8dgppng1z9a505nj1qcf";
       type = "gem";
     };
-    version = "1.0.2";
+    version = "1.0.5";
+  };
+  concurrent-ruby-ext = {
+    dependencies = ["concurrent-ruby"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "119l554zi3720d3rk670ldcqhsgmfii28a9z307v4mwdjckdm4gp";
+      type = "gem";
+    };
+    version = "1.0.5";
   };
   connection_pool = {
     source = {
@@ -448,6 +518,7 @@
     version = "2.2.1";
   };
   crack = {
+    dependencies = ["safe_yaml"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0abb0fvgw00akyik1zxnq7yv391va148151qxdghnzngv66bl62k";
@@ -464,14 +535,16 @@
     version = "0.5.0";
   };
   css_parser = {
+    dependencies = ["addressable"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ql5q4n39278prbdjdsxx9wkxkxblgzzn0qcdqnwibgd1dkvb5av";
+      sha256 = "0jlr17cn044yaq4l3d9p42g3bghnamwsprq9c39xn6pxjrn5k1hy";
       type = "gem";
     };
-    version = "1.4.1";
+    version = "1.5.0";
   };
   d3_rails = {
+    dependencies = ["railties"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "12vxiiflnnkcxak2wmbajyf5wzmcv9wkl4drsp0am72azl8a6g9x";
@@ -512,14 +585,16 @@
     version = "1.3.8";
   };
   deckar01-task_list = {
+    dependencies = ["html-pipeline"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nfbja4br77ad79snq2a7wg38vvvf5brchv12vfk9vpbzzyfdnrq";
+      sha256 = "0w6qsk712ic6vx9ydmix2ys95zwpkvdx3a9xxi8bdqlpgh1ipm9j";
       type = "gem";
     };
-    version = "1.0.6";
+    version = "2.0.0";
   };
   default_value_for = {
+    dependencies = ["activerecord"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "014482mxjrc227fxv6vff6ccjr9dr0ydz52flxslsa7biq542k73";
@@ -528,6 +603,7 @@
     version = "3.0.2";
   };
   descendants_tracker = {
+    dependencies = ["thread_safe"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "15q8g3fcqyb41qixn6cky0k3p86291y7xsh1jfd851dvrza1vi79";
@@ -536,6 +612,7 @@
     version = "0.0.4";
   };
   devise = {
+    dependencies = ["bcrypt" "orm_adapter" "railties" "responders" "warden"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "045qw3186gkcm38wjbjhb7w2zycbqj85wfb1cdwvkqk8hf1a7dp0";
@@ -544,6 +621,7 @@
     version = "4.2.0";
   };
   devise-two-factor = {
+    dependencies = ["activesupport" "attr_encrypted" "devise" "railties" "rotp"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1pkldws5lga4mlv4xmcrfb0yivl6qad0l8qyb2hdb50adv6ny4gs";
@@ -576,6 +654,7 @@
     version = "1.1.5";
   };
   domain_name = {
+    dependencies = ["unf"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1y5c96gzyh6z4nrnkisljqngfvljdba36dww657ka0x7khzvx7jl";
@@ -584,6 +663,7 @@
     version = "0.5.20161021";
   };
   doorkeeper = {
+    dependencies = ["railties"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0hs8r280k7a1kibzxrhifjps880n43jfrybf4mqpffw669jrwk3v";
@@ -591,7 +671,17 @@
     };
     version = "4.2.0";
   };
+  doorkeeper-openid_connect = {
+    dependencies = ["doorkeeper" "json-jwt"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1pla85j5wxra0k9rhj04g2ai5d5jg97fiavi0s9v2hjba2l54cni";
+      type = "gem";
+    };
+    version = "1.1.2";
+  };
   dropzonejs-rails = {
+    dependencies = ["rails"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1vqqxzv6qdqy47m2q28adnmccfvc17p2bmkkaqjvrczrhvkkha64";
@@ -608,6 +698,7 @@
     version = "0.1.6";
   };
   email_spec = {
+    dependencies = ["launchy" "mail"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "00p1cc69ncrgg7m45va43pszip8anx5735w1lsb7p5ygkyw8nnpv";
@@ -647,6 +738,15 @@
     };
     version = "1.1.1";
   };
+  et-orbi = {
+    dependencies = ["tzinfo"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1apn9gzgbgs7z6p6l3rv66vrfwyfh68p2rxkybh10vx82fp6g0wi";
+      type = "gem";
+    };
+    version = "1.0.3";
+  };
   eventmachine = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -658,10 +758,10 @@
   excon = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0aq0mzk95m944ccq4x5bzxb02qbzywc3rzjl5dxhrcaw32hqdjp0";
+      sha256 = "149grwcry52hi3f1xkbbx74jw5m3qcmiib13wxrk3rw5rz200kmx";
       type = "gem";
     };
-    version = "0.52.0";
+    version = "0.55.0";
   };
   execjs = {
     source = {
@@ -688,6 +788,7 @@
     version = "0.9.16";
   };
   factory_girl = {
+    dependencies = ["activesupport"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1xzl4z9z390fsnyxp10c9if2n46zan3n6zwwpfnwc33crv4s410i";
@@ -696,6 +797,7 @@
     version = "4.7.0";
   };
   factory_girl_rails = {
+    dependencies = ["factory_girl" "railties"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0hzpirb33xdqaz44i1mbcfv0icjrghhgaz747llcfsflljd4pa4r";
@@ -704,22 +806,25 @@
     version = "4.7.0";
   };
   faraday = {
+    dependencies = ["multipart-post"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1kplqkpn2s2yl3lxdf6h7sfldqvkbkpxwwxhyk7mdhjplb5faqh6";
+      sha256 = "1wkx9844vacsk2229xbc27djf6zw15kqd60ifr78whf9mp9v6l03";
       type = "gem";
     };
-    version = "0.9.2";
+    version = "0.12.1";
   };
   faraday_middleware = {
+    dependencies = ["faraday"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nxia26xzy8i56qfyz1bg8dg9yb26swpgci8n5jry8mh4bnx5r5h";
+      sha256 = "0bcarc90brm1y68bl957w483bddsy9idj2gghqnysk6bbxpsvm00";
       type = "gem";
     };
-    version = "0.10.0";
+    version = "0.11.0.1";
   };
   faraday_middleware-multi_json = {
+    dependencies = ["faraday_middleware" "multi_json"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0651sxhzbq9xfq3hbpmrp0nbybxnm9ja3m97k386m4bqgamlvz1q";
@@ -727,6 +832,14 @@
     };
     version = "0.0.6";
   };
+  fast_gettext = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1l8snpgxrri8jc0c35s6h3n92j8bfahh1knj94mw6i4zqhnpv40z";
+      type = "gem";
+    };
+    version = "1.4.0";
+  };
   ffaker = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -744,14 +857,33 @@
     version = "1.9.10";
   };
   flay = {
+    dependencies = ["erubis" "path_expander" "ruby_parser" "sexp_processor"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zcp9nmnfqixdcqa2dzwwjy5np4n2n16bj25gw7bbzbjp9hqzhn6";
+      sha256 = "1x563gyx292ka3awps6h6hmswqf71zdxnzw0pfv6p2mhd2zwxaba";
       type = "gem";
     };
-    version = "2.6.1";
+    version = "2.8.1";
+  };
+  flipper = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1gbvd4j0rkr7qc3mnjdw4r9p6lffnwv7rvm1cyr8a0avjky34n8p";
+      type = "gem";
+    };
+    version = "0.10.2";
+  };
+  flipper-active_record = {
+    dependencies = ["activerecord" "flipper"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "053lq791z8bf3xv6kb14nq3yrzjpmlyhzq3kvys978dc8yw78ld7";
+      type = "gem";
+    };
+    version = "0.10.2";
   };
   flowdock = {
+    dependencies = ["httparty" "multi_json"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "04nrvg4gzgabf5mnnhccl8bwrkvn3y4pm7a1dqzqhpvfr4m5pafg";
@@ -759,23 +891,35 @@
     };
     version = "0.7.1";
   };
+  fog-aliyun = {
+    dependencies = ["fog-core" "fog-json" "ipaddress" "xml-simple"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1i76g8sdskyfc0gcnd6n9i757s7dmwg3wf6spcr2xh8wzyxkm1pj";
+      type = "gem";
+    };
+    version = "0.1.0";
+  };
   fog-aws = {
+    dependencies = ["fog-core" "fog-json" "fog-xml" "ipaddress"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1zvcsgskxmlhb31wjcbkfi6m8b91y80kcwk61byybld9xl431mwf";
+      sha256 = "1am8fi0z19y398zg7g629rzxzkks9rxyl7j8m5vsgzs80mbsl06s";
       type = "gem";
     };
-    version = "0.11.0";
+    version = "0.13.0";
   };
   fog-core = {
+    dependencies = ["builder" "excon" "formatador"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jx4ynsc0b78601xypaamv6j5kw33n6ymqs3iz2fmhdw0k44lnwv";
+      sha256 = "0l78l9jlkxnv1snib80p92r5cwk6jqgyni6758j6kphzcplkkbdm";
       type = "gem";
     };
-    version = "1.42.0";
+    version = "1.44.1";
   };
   fog-google = {
+    dependencies = ["fog-core" "fog-json" "fog-xml"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "06irf9gcg5v8iwaa5qilhwir6gl82rrp7jyyw87ad15v8p3xa59f";
@@ -784,6 +928,7 @@
     version = "0.5.0";
   };
   fog-json = {
+    dependencies = ["fog-core" "multi_json"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0advkkdjajkym77r3c0bg2rlahl2akj0vl4p5r273k2qmi16n00r";
@@ -792,6 +937,7 @@
     version = "1.0.2";
   };
   fog-local = {
+    dependencies = ["fog-core"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0256l3q2f03q8fk49035h5jij388rcz9fqlwri7y788492b4vs3c";
@@ -800,6 +946,7 @@
     version = "0.3.0";
   };
   fog-openstack = {
+    dependencies = ["fog-core" "fog-json" "ipaddress"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1pw2ypxbbmfscmhcz05ry5kc7c5rjr61lv9zj6zpr98fg1wad3a6";
@@ -808,6 +955,7 @@
     version = "0.1.6";
   };
   fog-rackspace = {
+    dependencies = ["fog-core" "fog-json" "fog-xml" "ipaddress"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0y2bli061g37l9p4w0ljqbmg830rp2qz6sf8b0ck4cnx68j7m32a";
@@ -816,22 +964,25 @@
     version = "0.1.1";
   };
   fog-xml = {
+    dependencies = ["fog-core" "nokogiri"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1576sbzza47z48p0k9h1wg3rhgcvcvdd1dfz3xx1cgahwr564fqa";
+      sha256 = "043lwdw2wsi6d55ifk0w3izi5l1d1h0alwyr3fixic7b94kc812n";
       type = "gem";
     };
-    version = "0.1.2";
+    version = "0.1.3";
   };
   font-awesome-rails = {
+    dependencies = ["railties"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04cq20l6g5byjnqvm9n02wangakxfj5kaxk1447y5mi0a87x184c";
+      sha256 = "0qc07vj7qyllrj7lr7wl89l5ir0gj104rc7sds2jynzmrqsamnlw";
       type = "gem";
     };
-    version = "4.6.1.0";
+    version = "4.7.0.1";
   };
   foreman = {
+    dependencies = ["thor"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1caz8mi7gq1hs4l1flcyyw1iw1bdvdbhppsvy12akr01k3s17xaq";
@@ -848,6 +999,7 @@
     version = "0.2.5";
   };
   fuubar = {
+    dependencies = ["rspec" "ruby-progressbar"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0xwqs24y8s73aayh39si17kccsmr0bjgmi6jrjyfp7gkjb6iyhpv";
@@ -856,6 +1008,7 @@
     version = "2.0.0";
   };
   gemnasium-gitlab-service = {
+    dependencies = ["rugged"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1qv7fkahmqkah3770ycrxd0x2ais4z41hb43a0r8q8wcdklns3m3";
@@ -864,6 +1017,7 @@
     version = "0.2.6";
   };
   gemojione = {
+    dependencies = ["json"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "17yy3cp7b75ngc2v4f0cacvq3f1bk3il5a0ykvnypl6fcj6r6b3w";
@@ -879,6 +1033,33 @@
     };
     version = "0.2.0";
   };
+  gettext = {
+    dependencies = ["locale" "text"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1d2i1zfqvaxqi01g9vvkfkf5r85c5nfj2zwpd2ib9vvkjavhn9cx";
+      type = "gem";
+    };
+    version = "3.2.2";
+  };
+  gettext_i18n_rails = {
+    dependencies = ["fast_gettext"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0vs918a03mqvx9aczaqdg9d2q9s3c6swqavzn82qgq5i822czrcm";
+      type = "gem";
+    };
+    version = "1.8.0";
+  };
+  gettext_i18n_rails_js = {
+    dependencies = ["gettext" "gettext_i18n_rails" "po_to_json" "rails"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "04lkmy6mgxdnpl4icddg00nj0ay0ylacfxrm723npzaqviml7c2x";
+      type = "gem";
+    };
+    version = "1.2.0";
+  };
   gherkin-ruby = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -887,7 +1068,17 @@
     };
     version = "0.3.2";
   };
+  gitaly = {
+    dependencies = ["google-protobuf" "grpc"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1kmv2nmygaz5w1qsp48zb9xpq2i1nfc5zrilmy56sh3ybnxz99z4";
+      type = "gem";
+    };
+    version = "0.14.0";
+  };
   github-linguist = {
+    dependencies = ["charlock_holmes" "escape_utils" "mime-types" "rugged"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0c8w92yzjfs7pjnm8bdjsgyd1jpisn10fb6dy43381k1k8pxsifd";
@@ -905,6 +1096,7 @@
     meta.priority = 10; # lower priority, exectuable conflicts with gitlab-markdown
   };
   gitlab-flowdock-git-hook = {
+    dependencies = ["flowdock" "gitlab-grit" "multi_json"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1s3a10cdbh4xy732b92zcsm5zyc1lhi5v29d76j8mwbqmj11a2p8";
@@ -913,6 +1105,7 @@
     version = "1.0.1";
   };
   gitlab-grit = {
+    dependencies = ["charlock_holmes" "diff-lcs" "mime-types" "posix-spawn"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0lf1cr6pzqrbnxiiwym6q74b1a2ihdi91dynajk8hi1p093hl66n";
@@ -929,14 +1122,16 @@
     version = "1.5.1";
   };
   gitlab_omniauth-ldap = {
+    dependencies = ["net-ldap" "omniauth" "pyu-ruby-sasl" "rubyntlm"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1vbdyi57vvlrigyfhmqrnkw801x57fwa3gxvj1rj2bn9ig5186ri";
+      sha256 = "0226z52aqykl64f1ws20qbr8jn9y0zgrvsv3ks3f1sfrbmnh34z3";
       type = "gem";
     };
-    version = "1.2.1";
+    version = "2.0.2";
   };
   globalid = {
+    dependencies = ["activesupport"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "11plkgyl3w9k4y2scc1igvpgwyz4fnmsr63h2q4j8wkb48nlnhak";
@@ -945,6 +1140,7 @@
     version = "0.3.7";
   };
   gollum-grit_adapter = {
+    dependencies = ["gitlab-grit"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0fcibm63v1afc0fj5rki0mm51m7nndil4cjcjjvkh3yigfn4nr4b";
@@ -953,6 +1149,7 @@
     version = "1.0.1";
   };
   gollum-lib = {
+    dependencies = ["github-markup" "gollum-grit_adapter" "nokogiri" "rouge" "sanitize" "stringex"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1q668c76gnyyyl8217gnblbj50plm7giacs5lgf7ix2rj8rdxzj7";
@@ -961,14 +1158,16 @@
     version = "4.2.1";
   };
   gollum-rugged_adapter = {
+    dependencies = ["mime-types" "rugged"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1qs5bzjnvk2269jaq7b7vxghhim50sswjf9fclqs33r8bym7zxk3";
+      sha256 = "0khfmakp65frlaj7ajs6ihqg4xi7yc9z96kpsf1b7giqi3fqhhv4";
       type = "gem";
     };
-    version = "0.4.2";
+    version = "0.4.4";
   };
   gon = {
+    dependencies = ["actionpack" "json" "multi_json" "request_store"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1jmf6ly9wfrg52xkk9qb4hlfn3zdmz62ivclhp4f424m39rd9ngz";
@@ -977,6 +1176,7 @@
     version = "6.1.0";
   };
   google-api-client = {
+    dependencies = ["activesupport" "addressable" "autoparse" "extlib" "faraday" "googleauth" "launchy" "multi_json" "retriable" "signet"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "11wr57j9fp6x6fym4k1a7jqp72qgc8l24mfwb4y55bbvdmkv1b2d";
@@ -984,7 +1184,16 @@
     };
     version = "0.8.7";
   };
+  google-protobuf = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1kd3k09p6i7jg7bbgr5bda00l7y1n5clxwg5nzn3gpd0hcjdfhsl";
+      type = "gem";
+    };
+    version = "3.2.0.2";
+  };
   googleauth = {
+    dependencies = ["faraday" "jwt" "logging" "memoist" "multi_json" "os" "signet"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1nzkg63s161c6jsia92c1jfwpayzbpwn588smd286idn07y0az2m";
@@ -993,14 +1202,16 @@
     version = "0.5.1";
   };
   grape = {
+    dependencies = ["activesupport" "builder" "hashie" "multi_json" "multi_xml" "mustermann-grape" "rack" "rack-accept" "virtus"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "17spanyj7kpvqm4ap82vq4s1hlrad5mcv8rj4q1mva40zg1f8cgj";
+      sha256 = "1z52875d5v3slpnyfndxilf9nz0phb2jwxiir0hz8fp0ni13m9yy";
       type = "gem";
     };
-    version = "0.18.0";
+    version = "0.19.1";
   };
   grape-entity = {
+    dependencies = ["activesupport" "multi_json"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "18jhjn1164z68xrjz23wf3qha3x9az086dr7p6405jv6rszyxihq";
@@ -1008,7 +1219,17 @@
     };
     version = "0.6.0";
   };
+  grpc = {
+    dependencies = ["google-protobuf" "googleauth"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1siq5v4bmqlsb6122394dpk35fd2lxvjp4xnrabsb3vd90xqszcj";
+      type = "gem";
+    };
+    version = "1.4.0";
+  };
   haml = {
+    dependencies = ["tilt"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0mrzjgkygvfii66bbylj2j93na8i89998yi01fin3whwqbvx0m1p";
@@ -1017,14 +1238,16 @@
     version = "4.0.7";
   };
   haml_lint = {
+    dependencies = ["haml" "rake" "rubocop" "sysexits"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0shja16n76lw74c3dylml98lbmlcq9i1933davymayfplmyr52wi";
+      sha256 = "1vy8dkgkisikh3aigkhw7rl7wr83gb5xnaxafba654r2nyyvz63d";
       type = "gem";
     };
-    version = "0.18.2";
+    version = "0.21.0";
   };
   hamlit = {
+    dependencies = ["temple" "thor" "tilt"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0ph4kv2ddr538f9ni2fmk7aq38djv5am29r3m6y64adg52n6jma9";
@@ -1032,23 +1255,42 @@
     };
     version = "2.6.1";
   };
+  hashdiff = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1n6hj7k7b9hazac0j48ypbak2nqi5wy4nh5cjra6xl3a92r8db0a";
+      type = "gem";
+    };
+    version = "0.3.4";
+  };
   hashie = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1qlqcmrl696f1gg209zcyr81l9c5ynzfwlzl44a081q1fckrdmlx";
+      sha256 = "0lfmbh98ng141m7yc8s4v56v49ppam416pzvd2d7pg85wmm44ljw";
       type = "gem";
     };
-    version = "3.4.4";
+    version = "3.5.5";
+  };
+  hashie-forbidden_attributes = {
+    dependencies = ["hashie"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1chgg5d2iddja6ww02x34g8avg11fzmzcb8yvnqlykii79zx6vis";
+      type = "gem";
+    };
+    version = "0.1.1";
   };
   health_check = {
+    dependencies = ["rails"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0y8nzhs7ccpvbmqrxw5vdyf5x4fv8356cb8r29h8m3rxd8r388r7";
+      sha256 = "1mfa180nyzz1j0abfihm5nm3lmzq99362ibcphky6rh5vwhckvm8";
       type = "gem";
     };
-    version = "2.2.1";
+    version = "2.6.0";
   };
   hipchat = {
+    dependencies = ["httparty" "mimemagic"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0hgy5jav479vbzzk53lazhpjj094dcsqw6w1d6zjn52p72bwq60k";
@@ -1057,6 +1299,7 @@
     version = "1.5.2";
   };
   html-pipeline = {
+    dependencies = ["activesupport" "nokogiri"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1yckdlrn4v5d7bgl8mbffax16640pgg9ny693kqi4j7g17vx2q9l";
@@ -1065,6 +1308,7 @@
     version = "1.11.0";
   };
   html2text = {
+    dependencies = ["nokogiri"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0kxdj8pf9pss9xgs8aac0alj5g1fi225yzdhh33lzampkazg1hii";
@@ -1081,6 +1325,7 @@
     version = "4.3.4";
   };
   http = {
+    dependencies = ["addressable" "http-cookie" "http-form_data" "http_parser.rb"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1ll9x8qjp97l8gj0jx23nj7xvm0rsxj5pb3d19f7bhmdb70r0xsi";
@@ -1089,6 +1334,7 @@
     version = "0.9.8";
   };
   http-cookie = {
+    dependencies = ["domain_name"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "004cgs4xg5n6byjs7qld0xhsjq3n6ydfh897myr2mibvh6fjc49g";
@@ -1113,6 +1359,7 @@
     version = "0.6.0";
   };
   httparty = {
+    dependencies = ["json" "multi_xml"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0c9gvg6dqw2h3qyaxhrq1pzm6r69zfcmfh038wyhisqsd39g9hr2";
@@ -1131,20 +1378,21 @@
   i18n = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1i5z1ykl8zhszsxcs8mzl8d0dxgs3ylz8qlzrw74jb0gplkx6758";
+      sha256 = "1s6971zmjxszdrp59vybns9gzxpdxzdklakc5lp8nl4fx5kpxkbp";
       type = "gem";
     };
-    version = "0.7.0";
+    version = "0.8.1";
   };
   ice_nine = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0i674zq0hl6rd0wcd12ni38linfja4k0y3mk5barjb4a6f7rcmkd";
+      sha256 = "1nv35qg1rps9fsis28hz2cq2fx1i96795f91q4nmkm934xynll2x";
       type = "gem";
     };
-    version = "0.11.1";
+    version = "0.11.2";
   };
   influxdb = {
+    dependencies = ["cause" "json"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1vhg5nd88nwvfa76lqcczld916nljswwq6clsixrzi3js8ym9y1w";
@@ -1161,6 +1409,7 @@
     version = "0.8.3";
   };
   jira-ruby = {
+    dependencies = ["activesupport" "oauth"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "03n76a8m2d352q29j3yna1f9g3xg9dc9p3fvvx77w67h19ks7zrf";
@@ -1177,6 +1426,7 @@
     version = "1.3.2";
   };
   jquery-rails = {
+    dependencies = ["rails-dom-testing" "railties" "thor"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1asbrr9hqf43q9qbjf87f5lm7fp12pndh76z89ks6jwxf1350fj1";
@@ -1184,23 +1434,25 @@
     };
     version = "4.1.1";
   };
-  jquery-ui-rails = {
+  json = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1gfygrv4bjpjd2c377lw7xzk1b77rxjyy3w6wl4bq1gkqvyrkx77";
+      sha256 = "0qmj7fypgb9vag723w1a49qihxrcf5shzars106ynw2zk352gbv5";
       type = "gem";
     };
-    version = "5.0.5";
+    version = "1.8.6";
   };
-  json = {
+  json-jwt = {
+    dependencies = ["activesupport" "bindata" "multi_json" "securecompare" "url_safe_base64"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1nsby6ry8l9xg3yw4adlhk2pnc7i0h0rznvcss4vk3v74qg0k8lc";
+      sha256 = "1ylvlnb6assan9qkhz1vq1gbfwxg35q9a8f8qhlyx0fak5fyks23";
       type = "gem";
     };
-    version = "1.8.3";
+    version = "1.7.1";
   };
   json-schema = {
+    dependencies = ["addressable"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "15bva4w940ckan3q89in5f98s8zz77nxglylgm98697wa4fbfqp9";
@@ -1217,6 +1469,7 @@
     version = "1.5.6";
   };
   kaminari = {
+    dependencies = ["actionpack" "activesupport"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1n063jha143mw4fklpq5f4qs7saakx4s4ps1zixj0s5y8l9pam54";
@@ -1233,6 +1486,7 @@
     version = "2.10.0";
   };
   knapsack = {
+    dependencies = ["rake" "timecop"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0z0bp5al0b8wyzw8ff99jwr6qsh5n52xqryvzvy2nbrma9qr7dam";
@@ -1241,6 +1495,7 @@
     version = "1.11.0";
   };
   kubeclient = {
+    dependencies = ["http" "recursive-open-struct" "rest-client"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "09hr5cb6rzf9876wa0c8pv3kxjj4s8hcjpf7jjdg2n9prb7hhmgi";
@@ -1249,6 +1504,7 @@
     version = "2.2.0";
   };
   launchy = {
+    dependencies = ["addressable"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "190lfbiy1vwxhbgn4nl4dcbzxvm049jwc158r2x7kq3g5khjrxa2";
@@ -1257,6 +1513,7 @@
     version = "2.4.3";
   };
   letter_opener = {
+    dependencies = ["launchy"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1pcrdbxvp2x5six8fqn8gf09bn9rd3jga76ds205yph5m8fsda21";
@@ -1265,6 +1522,7 @@
     version = "1.4.1";
   };
   letter_opener_web = {
+    dependencies = ["actionmailer" "letter_opener" "railties"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "050x5cwqbxj2cydd2pzy9vfhmpgn1w6lfbwjaax1m1vpkn3xg9bv";
@@ -1273,6 +1531,7 @@
     version = "1.3.0";
   };
   license_finder = {
+    dependencies = ["httparty" "rubyzip" "thor" "xml-simple"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "092rwf1yjq1l63zbqanmbnbky8g5pj7c3g30mcqbyppbqrsflx80";
@@ -1281,12 +1540,13 @@
     version = "2.1.0";
   };
   licensee = {
+    dependencies = ["rugged"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "013wrp4sampgypx9ar48cv4ai487l2bg8a2b2z6srd77najf70gr";
+      sha256 = "1nhj0vx30llqyb7q52bwmrgy9xpjk3q48k98h0dvq83ym4v216a2";
       type = "gem";
     };
-    version = "8.0.0";
+    version = "8.7.0";
   };
   little-plugger = {
     source = {
@@ -1296,15 +1556,25 @@
     };
     version = "1.1.4";
   };
+  locale = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1sls9bq4krx0fmnzmlbn64dw23c4d6pz46ynjzrn9k8zyassdd0x";
+      type = "gem";
+    };
+    version = "2.1.2";
+  };
   logging = {
+    dependencies = ["little-plugger" "multi_json"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1agk0dv5lxn0qpnxadi6dvg36pc0x5fsrmzhw4sc91x52mjc381l";
+      sha256 = "06j6iaj89h9jhkx1x3hlswqrfnqds8br05xb1qra69dpvbdmjcwn";
       type = "gem";
     };
-    version = "2.1.0";
+    version = "2.2.2";
   };
   loofah = {
+    dependencies = ["nokogiri"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "109ps521p0sr3kgc460d58b4pr1z4mqggan2jbsf0aajy9s6xis8";
@@ -1313,20 +1583,21 @@
     version = "2.0.3";
   };
   mail = {
+    dependencies = ["mime-types"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0c9vqfy0na9b5096i5i4qvrvhwamjnmajhgqi3kdsdfl8l6agmkp";
+      sha256 = "07k8swmv7vgk86clzpjhdlmgahlvg6yzjwy7wcsv0xx400fh4x61";
       type = "gem";
     };
-    version = "2.6.4";
+    version = "2.6.5";
   };
   mail_room = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "17q8km4n9jzjb5vj3hhyv4bwr1gxdh84yghvcdrmq88jh5ki8p8k";
+      sha256 = "16b8yjd1if665mwaindwys06nkkcs0jw3dcsqvn6qbp6alfigqaa";
       type = "gem";
     };
-    version = "0.9.0";
+    version = "0.9.1";
   };
   memoist = {
     source = {
@@ -1376,6 +1647,14 @@
     };
     version = "5.7.0";
   };
+  mmap2 = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1rgf4zhqa6632nbqj585hc0x69iz21s5c91mpijcr9i5wpj9p1s6";
+      type = "gem";
+    };
+    version = "2.2.7";
+  };
   mousetrap-rails = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -1395,10 +1674,10 @@
   multi_xml = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0i8r7dsz4z79z3j023l8swan7qpbgxbwwz11g38y2vjqjk16v4q8";
+      sha256 = "0lmd4f401mvravi1i1yq7b2qjjli0yq7dfc4p1nj5nwajp7r6hyj";
       type = "gem";
     };
-    version = "0.5.5";
+    version = "0.6.0";
   };
   multipart-post = {
     source = {
@@ -1409,6 +1688,7 @@
     version = "2.0.0";
   };
   mustermann = {
+    dependencies = ["tool"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0km27zp3mnlmh157nmj3pyd2g7n2da4dh4mr0psq53a9r0d4gli8";
@@ -1417,6 +1697,7 @@
     version = "0.4.0";
   };
   mustermann-grape = {
+    dependencies = ["mustermann"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1g6kf753v0kf8zfz0z46kyb7cbpinpc3qqh02qm4s9n49s1v2fva";
@@ -1435,10 +1716,10 @@
   net-ldap = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0z1j0zklbbx3vi91zcd2v0fnkfgkvq3plisa6hxaid8sqndyak46";
+      sha256 = "1fh4l8zfsrvghanpnjxk944k7yl093qpw4759xs6f1v9kb73ihfq";
       type = "gem";
     };
-    version = "0.12.1";
+    version = "0.16.0";
   };
   net-ssh = {
     source = {
@@ -1456,21 +1737,14 @@
     };
     version = "0.11.0";
   };
-  newrelic_rpm = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0l8dvg4frrj6a93kb2zawrlmy2bb9mh683pk4wnhgf4nddizzzsh";
-      type = "gem";
-    };
-    version = "3.16.0.318";
-  };
   nokogiri = {
+    dependencies = ["mini_portile2"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "11sbmpy60ynak6s3794q32lc99hs448msjy8rkp84ay7mq7zqspv";
+      sha256 = "045xdg0w7nnsr2f2gb7v7bgx53xbc9dxf0jwzmh2pr3jyrzlm0cj";
       type = "gem";
     };
-    version = "1.6.7.2";
+    version = "1.6.8.1";
   };
   numerizer = {
     source = {
@@ -1489,14 +1763,16 @@
     version = "0.5.1";
   };
   oauth2 = {
+    dependencies = ["faraday" "jwt" "multi_json" "multi_xml" "rack"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0z25sx8i82wczzhv6xr4g3zi3ik6fr8qr9n7r96gd65fdlw5ka93";
+      sha256 = "094hmmfms8vpm6nwglpl7jmlv85nlfzl0kik4fizgx1rg70a6mr5";
       type = "gem";
     };
-    version = "1.2.0";
+    version = "1.4.0";
   };
   octokit = {
+    dependencies = ["sawyer"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1bppfc0q8mflbcdsb66dly3skx42vad30q0fkzwx4za908qwvjpd";
@@ -1507,20 +1783,22 @@
   oj = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1krdgjl0agvcxb0bgmdk8zv7ysms8xmx7py7564v69csdkbwd4a5";
+      sha256 = "17c50q2ygi8jlw8dq3ghzha774ln1swbvmvai2ar7qb3bwcfgc8b";
       type = "gem";
     };
-    version = "2.17.4";
+    version = "2.17.5";
   };
   omniauth = {
+    dependencies = ["hashie" "rack"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1dp5g3a6jnppy2kriz365p3jf9alrir4fhrj2nff2gm9skci2bk6";
+      sha256 = "0kvr0g12fawf491jmdaxzzr6qyd1r8ixzkcdr0zscs42fqsxv79i";
       type = "gem";
     };
-    version = "1.3.2";
+    version = "1.4.2";
   };
   omniauth-auth0 = {
+    dependencies = ["omniauth-oauth2"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0dhfl01519q1cp4w0ml481j1cg05g7qvam0x4ia9jhdz8yx6npfs";
@@ -1529,14 +1807,16 @@
     version = "1.4.1";
   };
   omniauth-authentiq = {
+    dependencies = ["omniauth-oauth2"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01br0snvbxbx1zgs857alfs0ay3xhgdjgk4hc2vjzf3jn6bwizvk";
+      sha256 = "0drbrrxk0wlmq4y6nmsxa77b815ji1jsdjr6fcqxb3sqiscq2p0a";
       type = "gem";
     };
-    version = "0.2.2";
+    version = "0.3.0";
   };
   omniauth-azure-oauth2 = {
+    dependencies = ["jwt" "omniauth" "omniauth-oauth2"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0qay454zvyas8xfnfkycqpjkafaq5pw4gaji176cdfw0blhviz0s";
@@ -1545,6 +1825,7 @@
     version = "0.0.6";
   };
   omniauth-cas3 = {
+    dependencies = ["addressable" "nokogiri" "omniauth"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "13swm2hi2z63nvb2bps6g41kki8kr9b5c7014rk8259bxlpflrk7";
@@ -1553,6 +1834,7 @@
     version = "1.1.3";
   };
   omniauth-facebook = {
+    dependencies = ["omniauth-oauth2"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "03zjla9i446fk1jkw7arh67c39jfhp5bhkmhvbw8vczxr1jkbbh5";
@@ -1561,6 +1843,7 @@
     version = "4.0.0";
   };
   omniauth-github = {
+    dependencies = ["omniauth" "omniauth-oauth2"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1mbx3c8m1llhdxrqdciq8jh428bxj1nvf4yhziv2xqmqpjcqz617";
@@ -1569,6 +1852,7 @@
     version = "1.1.2";
   };
   omniauth-gitlab = {
+    dependencies = ["omniauth" "omniauth-oauth2"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0hv672p372jq7p9p6dw8i7qyisbny3lq0si077yys1fy4bjw127x";
@@ -1577,6 +1861,7 @@
     version = "1.0.2";
   };
   omniauth-google-oauth2 = {
+    dependencies = ["jwt" "multi_json" "omniauth" "omniauth-oauth2"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1m6v2vm3h21ychd10wzkdhyhnrk9zhc1bgi4ahp5gwy00pggrppw";
@@ -1585,6 +1870,7 @@
     version = "0.4.1";
   };
   omniauth-kerberos = {
+    dependencies = ["omniauth-multipassword" "timfel-krb5-auth"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "05xsv76qjxcxzrvabaar2bchv7435y8l2j0wk4zgchh3yv85kiq7";
@@ -1593,6 +1879,7 @@
     version = "0.3.0";
   };
   omniauth-multipassword = {
+    dependencies = ["omniauth"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0qykp76hw80lkgb39hyzrv68hkbivc8cv0vbvrnycjh9fwfp1lv8";
@@ -1601,6 +1888,7 @@
     version = "0.4.2";
   };
   omniauth-oauth = {
+    dependencies = ["oauth" "omniauth"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1n5vk4by7hkyc09d9blrw2argry5awpw4gbw1l4n2s9b3j4qz037";
@@ -1609,6 +1897,7 @@
     version = "1.1.0";
   };
   omniauth-oauth2 = {
+    dependencies = ["oauth2" "omniauth"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0mskwlw5ibx9mz7ywqji6mm56ikf7mglbnfc02qhg6ry527jsxdm";
@@ -1616,7 +1905,17 @@
     };
     version = "1.3.1";
   };
+  omniauth-oauth2-generic = {
+    dependencies = ["omniauth-oauth2"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1m6vpip3rm1spx1x9y1kjczzailsph1xqgaakqylzq3jqkv18273";
+      type = "gem";
+    };
+    version = "0.2.2";
+  };
   omniauth-saml = {
+    dependencies = ["omniauth" "ruby-saml"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1garppa83v53yr9bwfx51v4hqwfr5h4aq3d39gn2fmysnfav7c1x";
@@ -1625,6 +1924,7 @@
     version = "1.7.0";
   };
   omniauth-shibboleth = {
+    dependencies = ["omniauth"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0a8pwy23aybxhn545357zdjy0hnpfgldwqk5snmz9kxingpq12jl";
@@ -1633,6 +1933,7 @@
     version = "1.2.1";
   };
   omniauth-twitter = {
+    dependencies = ["json" "omniauth-oauth"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1hqjpb1zx0pp3s12c83pkpk4kkx41f001jc5n8qz0h3wll0ld833";
@@ -1641,6 +1942,7 @@
     version = "1.2.1";
   };
   omniauth_crowd = {
+    dependencies = ["activesupport" "nokogiri" "omniauth"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "12g5ck05h6kr9mnp870x8pkxsadg81ca70hg8n3k8xx007lfw2q7";
@@ -1649,6 +1951,7 @@
     version = "2.2.3";
   };
   org-ruby = {
+    dependencies = ["rubypants"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0x69s7aysfiwlcpd9hkvksfyld34d8kxr62adb59vjvh8hxfrjwk";
@@ -1673,20 +1976,111 @@
     version = "0.9.6";
   };
   paranoia = {
+    dependencies = ["activerecord"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1kfznq6lba1xb3nskvn8kdb08ljh4a0lvbm3lv91xvj6n9hm15k0";
+      sha256 = "1ibdga0a0px8rf82qnmgm59z3z4s27r11i2i24087f0yh8z8bd7z";
       type = "gem";
     };
-    version = "2.2.0";
+    version = "2.3.1";
   };
   parser = {
+    dependencies = ["ast"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "130rfk8a2ws2fyq52hmi1n0xakylw39wv4x1qhai4z17x2b0k9cq";
+      type = "gem";
+    };
+    version = "2.4.0.0";
+  };
+  path_expander = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0hklnfb0br6mx6l25zknz2zj6r152i0jiy6fn6ki220x0l5m2h59";
+      type = "gem";
+    };
+    version = "1.0.1";
+  };
+  peek = {
+    dependencies = ["concurrent-ruby" "concurrent-ruby-ext" "railties"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1998vcsli215d6qrn9821gr2qip60xki2p7n2dpn8i1n68hyshcn";
+      type = "gem";
+    };
+    version = "1.0.1";
+  };
+  peek-gc = {
+    dependencies = ["peek"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "094h3mr9q8wzbqsj0girpyjvj4bcxax8m438igp42n75xv0bhwi9";
+      type = "gem";
+    };
+    version = "0.0.2";
+  };
+  peek-host = {
+    dependencies = ["peek"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "11ra0hzdkdywp3cmaizcisliy26jwz7k0r9nkgm87y7amqk1wh8b";
+      type = "gem";
+    };
+    version = "1.0.0";
+  };
+  peek-mysql2 = {
+    dependencies = ["atomic" "mysql2" "peek"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0l92rqcfy16y7kmnkil88c5mv3vj8pvhj0llbhv0avmhkaixhld1";
+      sha256 = "0bb2fzx3dwj7k6sc87jwhjk8vzp8dskv49j141xx15vvkg603j8k";
       type = "gem";
     };
-    version = "2.3.1.4";
+    version = "1.1.0";
+  };
+  peek-performance_bar = {
+    dependencies = ["peek"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0wrzhv6d0ixxba9ckis6mmvb9vdsxl9mdl4zh4arv6w40wqv0k8d";
+      type = "gem";
+    };
+    version = "1.2.1";
+  };
+  peek-pg = {
+    dependencies = ["concurrent-ruby" "concurrent-ruby-ext" "peek" "pg"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "17yk8xrh7yh57wg6vi3s8km9qd9f910n94r511mdyqd7aizlfb7c";
+      type = "gem";
+    };
+    version = "1.3.0";
+  };
+  peek-rblineprof = {
+    dependencies = ["peek" "rblineprof"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0ywk1gvsnhrkhqq2ibwsg7099kg5m2vs4nmzy0wf65kb0ywl0m9c";
+      type = "gem";
+    };
+    version = "0.2.0";
+  };
+  peek-redis = {
+    dependencies = ["atomic" "peek" "redis"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0v91cni591d9wdrmvgam20gr3504x84mh1l95da4rz5a9436jm33";
+      type = "gem";
+    };
+    version = "1.2.0";
+  };
+  peek-sidekiq = {
+    dependencies = ["atomic" "peek" "sidekiq"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0y7s32p6cp66z1hpd1wcv4crmvvvcag5i39aazclckjsfpdfn24x";
+      type = "gem";
+    };
+    version = "1.0.3";
   };
   pg = {
     source = {
@@ -1696,15 +2090,17 @@
     };
     version = "0.18.4";
   };
-  pkg-config = {
+  po_to_json = {
+    dependencies = ["json"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0lljiqnm0b4z6iy87lzapwrdfa6ps63x2z5zbs038iig8dqx2g0z";
+      sha256 = "1xvanl437305mry1gd57yvcg7xrfhri91czr32bjr8j2djm8hwba";
       type = "gem";
     };
-    version = "1.1.7";
+    version = "1.0.1";
   };
   poltergeist = {
+    dependencies = ["capybara" "cliver" "multi_json" "websocket-driver"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1fnkly1ks31nf5cdks9jd5c5vynbanrr8pwp801qq2i8bg78rwc0";
@@ -1729,44 +2125,58 @@
     version = "0.1.1";
   };
   premailer = {
+    dependencies = ["addressable" "css_parser" "htmlentities"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xhi427j99rgaxf5ga8rairicgbyc1bdky9ipbsw0sy0alv93346";
+      sha256 = "10w6f7r6snpkcnv3byxma9b08lyqzcfxkm083scb2dr2ly4xkzyf";
       type = "gem";
     };
-    version = "1.8.6";
+    version = "1.10.4";
   };
   premailer-rails = {
+    dependencies = ["actionmailer" "premailer"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "05czxmx6hnykg6g23hy2ww2bf86a69njbi02sv7lrds4w776jhim";
+      type = "gem";
+    };
+    version = "1.9.7";
+  };
+  prometheus-client-mmap = {
+    dependencies = ["mmap2"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1h2ls42bnqirim2j1blwqa0dk5lhdh6qvczpqilm6n90c2zq3xwx";
+      sha256 = "13y2rg2bzbpdx33d72j4dwgwcnml4y7gv0pg401642kmv3ypab77";
       type = "gem";
     };
-    version = "1.9.2";
+    version = "0.7.0.beta11";
   };
   pry = {
+    dependencies = ["coderay" "method_source" "slop"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1x78rvp69ws37kwig18a8hr79qn36vh8g1fn75p485y3b3yiqszg";
+      sha256 = "05xbzyin63aj2prrv8fbq2d5df2mid93m81hz5bvf2v4hnzs42ar";
       type = "gem";
     };
-    version = "0.10.3";
+    version = "0.10.4";
   };
   pry-byebug = {
+    dependencies = ["byebug" "pry"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "147kiwnggdzz7jvlplfi0baffng808rb5lk263qxp648k8x03vgc";
+      sha256 = "0lwqc8vjq7b177xfknmigxvahp6dc8i1fy09d3n8ld1ndd909xjq";
       type = "gem";
     };
-    version = "3.4.1";
+    version = "3.4.2";
   };
   pry-rails = {
+    dependencies = ["pry"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0a2iinvabis2xmv0z7z7jmh7bbkkngxj2qixfdg5m6qj9x8k1kx6";
+      sha256 = "0v8xlzzb535k7wcl0vrpday237xwc04rr9v3gviqzasl7ydw32x6";
       type = "gem";
     };
-    version = "0.3.4";
+    version = "0.3.5";
   };
   pyu-ruby-sasl = {
     source = {
@@ -1785,6 +2195,7 @@
     version = "1.6.5";
   };
   rack-accept = {
+    dependencies = ["rack"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "18jdipx17b4ki33cfqvliapd31sbfvs4mv727awynr6v95a7n936";
@@ -1793,6 +2204,7 @@
     version = "0.4.5";
   };
   rack-attack = {
+    dependencies = ["rack"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1czx68p70x98y21dkdndsb64lrxf9qrv09wl1dbcxrypcjnpsdl1";
@@ -1809,6 +2221,7 @@
     version = "0.4.0";
   };
   rack-oauth2 = {
+    dependencies = ["activesupport" "attr_required" "httpclient" "multi_json" "rack"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0j7fh3fyajpfwg47gyfd8spavn7lmd6dcm468w7lhnhcviy5vmyf";
@@ -1817,6 +2230,7 @@
     version = "1.2.3";
   };
   rack-protection = {
+    dependencies = ["rack"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0cvb21zz7p9wy23wdav63z5qzfn4nialik22yqp6gihkgfqqrh5r";
@@ -1825,6 +2239,7 @@
     version = "1.5.3";
   };
   rack-proxy = {
+    dependencies = ["rack"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1bpbcb9ch94ha2q7gdri88ry7ch0z6ian289kah9ayxyqg19j6f4";
@@ -1833,6 +2248,7 @@
     version = "0.6.0";
   };
   rack-test = {
+    dependencies = ["rack"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0h6x5jq24makgv2fq5qqgjlrk74dxfy62jif9blk43llw8ib2q7z";
@@ -1841,14 +2257,16 @@
     version = "0.6.3";
   };
   rails = {
+    dependencies = ["actionmailer" "actionpack" "actionview" "activejob" "activemodel" "activerecord" "activesupport" "railties" "sprockets-rails"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1avd16ir7qx23dcnz1b3cafq1lja6rq0w222bs658p9n33rbw54l";
+      sha256 = "0dpbf3ybzbhqqkwg5vi60121860cr8fybvchrxk5wy3f2jcj0mch";
       type = "gem";
     };
-    version = "4.2.7.1";
+    version = "4.2.8";
   };
   rails-deprecated_sanitizer = {
+    dependencies = ["activesupport"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0qxymchzdxww8bjsxj05kbf86hsmrjx40r41ksj0xsixr2gmhbbj";
@@ -1857,14 +2275,16 @@
     version = "1.0.3";
   };
   rails-dom-testing = {
+    dependencies = ["activesupport" "nokogiri" "rails-deprecated_sanitizer"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1v8jl6803mbqpxh4hn0szj081q1a3ap0nb8ni0qswi7z4la844v8";
+      sha256 = "1ny7mbjxhq20rzg4pivvyvk14irmc7cn20kxfk3vc0z2r2c49p8r";
       type = "gem";
     };
-    version = "1.0.7";
+    version = "1.0.8";
   };
   rails-html-sanitizer = {
+    dependencies = ["loofah"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "138fd86kv073zqfx0xifm646w6bgw2lr8snk16lknrrfrss8xnm7";
@@ -1872,29 +2292,40 @@
     };
     version = "1.0.3";
   };
+  rails-i18n = {
+    dependencies = ["i18n" "railties"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "17a02f2671pw5r2hl2n3isiz6w9wy2dxq8g52srciyl1xcmvsw01";
+      type = "gem";
+    };
+    version = "4.0.9";
+  };
   railties = {
+    dependencies = ["actionpack" "activesupport" "rake" "thor"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04rz7cn64zzvq7lnhc9zqmaqmqkq84q25v0ym9lcw75j1cj1mrq4";
+      sha256 = "0bavl4hj7bnl3ryqi9rvykm410kflplgingkcxasfv1gdilddh4g";
       type = "gem";
     };
-    version = "4.2.7.1";
+    version = "4.2.8";
   };
   rainbow = {
+    dependencies = ["rake"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "11licivacvfqbjx2rwppi8z89qff2cgs67d4wyx42pc5fg7g9f00";
+      sha256 = "08w2ghc5nv0kcq5b257h7dwjzjz1pqcavajfdx2xjyxqsvh2y34w";
       type = "gem";
     };
-    version = "2.1.0";
+    version = "2.2.2";
   };
   raindrops = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1syj5gdrgwzdqzc3p1bqg1wv6gn16s2iq8304mrglzhi7cyja73q";
+      sha256 = "0854mial50yhvdv0d2r41xxl47v7z2f4nx49js42hygv7rf1mscz";
       type = "gem";
     };
-    version = "0.17.0";
+    version = "0.18.0";
   };
   rake = {
     source = {
@@ -1905,6 +2336,7 @@
     version = "10.5.0";
   };
   rblineprof = {
+    dependencies = ["debugger-ruby_core_source"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0m58kdjgncwf0h1qry3qk5h4bg8sj0idykqqijqcrr09mxfd9yc6";
@@ -1913,6 +2345,7 @@
     version = "0.3.6";
   };
   rdoc = {
+    dependencies = ["json"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "027dvwz1g1h4bm40v3kxqbim4p7ww4fcmxa2l1mvwiqm5cjiqd7k";
@@ -1920,7 +2353,16 @@
     };
     version = "4.2.2";
   };
+  re2 = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0mjpvm9v81cvcr6yrv71kpvpxwjhxj086hsy3zr9rgzmnl2dfj23";
+      type = "gem";
+    };
+    version = "1.0.0";
+  };
   recaptcha = {
+    dependencies = ["json"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1pppfgica4629i8gbji6pnh681wjf03m6m1ix2ficpnqg2z7gl9n";
@@ -1939,10 +2381,10 @@
   redcarpet = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "14i3wypp97bpk20679d1csy88q4hsgfqbnqw6mryl77m2g0d09pk";
+      sha256 = "0h9qz2hik4s9knpmbwrzb3jcp3vc5vygp9ya8lcpl7f1l9khmcd7";
       type = "gem";
     };
-    version = "3.3.3";
+    version = "3.4.0";
   };
   RedCloth = {
     source = {
@@ -1955,12 +2397,13 @@
   redis = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0255w9izzs04hw9wivn05yqiwi34w28ylxs0xvpmwc1vrh18fwcl";
+      sha256 = "0kdj7511l6kqvqmaiw7kw604c83pk6f4b540gdsq1bf7yxm6qx6g";
       type = "gem";
     };
-    version = "3.2.2";
+    version = "3.3.3";
   };
   redis-actionpack = {
+    dependencies = ["actionpack" "redis-rack" "redis-store"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0gnkqi7cji2q5yfwm8b752k71pqrb3dqksv983yrf23virqnjfjr";
@@ -1969,6 +2412,7 @@
     version = "5.0.1";
   };
   redis-activesupport = {
+    dependencies = ["activesupport" "redis-store"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0i0r23rv32k25jqwbr4cb73alyaxwvz9crdaw3gv26h1zjrdjisd";
@@ -1977,6 +2421,7 @@
     version = "5.0.1";
   };
   redis-namespace = {
+    dependencies = ["redis"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0rp8gfkznfxqzxk9s976k71jnljkh0clkrhnp6vgx46s5yhj9g25";
@@ -1985,6 +2430,7 @@
     version = "1.5.2";
   };
   redis-rack = {
+    dependencies = ["rack" "redis-store"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0fbxl5gv8krjf6n88gvn44xbzhfnsysnzawz7zili298ak98lsb3";
@@ -1993,6 +2439,7 @@
     version = "1.6.0";
   };
   redis-rails = {
+    dependencies = ["redis-actionpack" "redis-activesupport" "redis-store"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "04l2y26k4v30p3dx0pqf9gz257q73qzgrfqf3qv6bxwyv8z9f5hm";
@@ -2001,6 +2448,7 @@
     version = "5.0.1";
   };
   redis-store = {
+    dependencies = ["redis"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1da15wr3wc1d4hqy7h7smdc2k2jpfac3waa9d65si6f4dmqymkkq";
@@ -2017,6 +2465,7 @@
     version = "1.3.1";
   };
   responders = {
+    dependencies = ["railties"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "16h343srb6msivc2mpm1dbihsmniwvyc9jk3g4ip08g9fpmxfc2i";
@@ -2025,6 +2474,7 @@
     version = "2.3.0";
   };
   rest-client = {
+    dependencies = ["http-cookie" "mime-types" "netrc"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1v2jp2ilpb2rm97yknxcnay9lfagcm4k82pfsmmcm9v290xm1ib7";
@@ -2059,12 +2509,13 @@
   rouge = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0sfikq1q8xyqqx690iiz7ybhzx87am4w50w8f2nq36l3asw4x89d";
+      sha256 = "1932gvvzfdky2z01sjri354ak7wq3nk9jmh7fiydfgjchfwk7sr4";
       type = "gem";
     };
-    version = "2.0.7";
+    version = "2.1.0";
   };
   rqrcode = {
+    dependencies = ["chunky_png"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "188n1mvc7klrlw30bai16sdg4yannmy7cz0sg0nvm6f1kjx5qflb";
@@ -2073,6 +2524,7 @@
     version = "0.7.0";
   };
   rqrcode-rails3 = {
+    dependencies = ["rqrcode"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1i28rwmj24ssk91chn0g7qsnvn003y3s5a7jsrg3w4l5ckr841bg";
@@ -2081,6 +2533,7 @@
     version = "0.1.7";
   };
   rspec = {
+    dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "16g3mmih999f0b6vcz2c3qsc7ks5zy4lj1rzjh8hf6wk531nvc6s";
@@ -2089,6 +2542,7 @@
     version = "3.5.0";
   };
   rspec-core = {
+    dependencies = ["rspec-support"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "03m0pn5lwlix094khfwlv50n963p75vjsg6w2g0b3hqcvvlch1mx";
@@ -2097,6 +2551,7 @@
     version = "3.5.0";
   };
   rspec-expectations = {
+    dependencies = ["diff-lcs" "rspec-support"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0bbqfrb1x8gmwf8x2xhhwvvlhwbbafq4isbvlibxi6jk602f09gs";
@@ -2105,6 +2560,7 @@
     version = "3.5.0";
   };
   rspec-mocks = {
+    dependencies = ["diff-lcs" "rspec-support"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0nl3ksivh9wwrjjd47z5dggrwx40v6gpb3a0gzbp1gs06a5dmk24";
@@ -2113,6 +2569,7 @@
     version = "3.5.0";
   };
   rspec-rails = {
+    dependencies = ["actionpack" "activesupport" "railties" "rspec-core" "rspec-expectations" "rspec-mocks" "rspec-support"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0zzd75v8vpa1r30j3hsrprza272rcx54hb0klwpzchr9ch6c9z2a";
@@ -2121,6 +2578,7 @@
     version = "3.5.0";
   };
   rspec-retry = {
+    dependencies = ["rspec-core"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0izvxab7jvk25kaprk0i72asjyh1ip3cm70bgxlm8lpid35qjar6";
@@ -2128,6 +2586,14 @@
     };
     version = "0.4.5";
   };
+  rspec-set = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "06vw8b5w1a58838cw9ssmy3r6f8vrjh54h7dp97rwv831gn5zlyk";
+      type = "gem";
+    };
+    version = "0.1.3";
+  };
   rspec-support = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -2137,30 +2603,34 @@
     version = "3.5.0";
   };
   rspec_profiling = {
+    dependencies = ["activerecord" "pg" "rails" "sqlite3"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01qrs189r0q08ys8vax269ff858q9ypsc94n1d700m9da44zi3wg";
+      sha256 = "1g7q7gav26bpiprx4dhlvdh4zdrhwiky9jbmsp14gyfiabqdz4sz";
       type = "gem";
     };
-    version = "0.0.4";
+    version = "0.0.5";
   };
   rubocop = {
+    dependencies = ["parser" "powerpack" "rainbow" "ruby-progressbar" "unicode-display_width"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0604qa0s0xcq0avnh9aa6iw58azpz6a7bavcs0ch61xnaz0qfl0c";
+      sha256 = "05kr3a4jlyq6vaf9rjqiryk51l05bzpxwql024gssfryal66l1m7";
       type = "gem";
     };
-    version = "0.46.0";
+    version = "0.47.1";
   };
   rubocop-rspec = {
+    dependencies = ["rubocop"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0h3781f4mz72qz8i30ah4fjfm4i20aqncak6rc9kwsvm5hw48i18";
+      sha256 = "1svaibl7qw4k5vxi7729ddgy6582b8lzhc01ybikb4ahnxj1x1cd";
       type = "gem";
     };
-    version = "1.9.1";
+    version = "1.15.0";
   };
   ruby-fogbugz = {
+    dependencies = ["crack"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1jj0gpkycbrivkh2q3429vj6mbgx6axxisg69slj3c4mgvzfgchm";
@@ -2185,6 +2655,7 @@
     version = "1.8.1";
   };
   ruby-saml = {
+    dependencies = ["nokogiri"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1abhf16vbyzck4pv06qd5c59780glaf682ssjzpjwd9h9d7nqvl5";
@@ -2193,20 +2664,21 @@
     version = "1.4.1";
   };
   ruby_parser = {
+    dependencies = ["sexp_processor"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0wr15wjkvq4wcm2ia3ajfxqwwd5szzpvnrbbq3c2bnd9g7ghqq0c";
+      sha256 = "18apbsmmivgc1schfxmkp429aijrwy8psm30dwx5cpmpjf48ir3n";
       type = "gem";
     };
-    version = "3.8.2";
+    version = "3.9.0";
   };
   rubyntlm = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04l8686hl0829x4acsnbz0licf8n6794p7shz8iyahin1jnqg3d7";
+      sha256 = "1p6bxsklkbcqni4bcq6jajc2n57g0w5rzn4r49c3lb04wz5xg0dy";
       type = "gem";
     };
-    version = "0.5.2";
+    version = "0.6.2";
   };
   rubypants = {
     source = {
@@ -2225,20 +2697,21 @@
     version = "1.2.1";
   };
   rufus-scheduler = {
+    dependencies = ["et-orbi"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04bmvvvri7ni7dvlq3gi1y553f6rp6bw2kmdfp9ny5bh3l7qayrh";
+      sha256 = "0343xrx4gbld5w2ydh9d2a7pw7lllvrsa691bgjq7p9g44ry1vq8";
       type = "gem";
     };
-    version = "3.1.10";
+    version = "3.4.0";
   };
   rugged = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fnldbha5npdapij6xhrm7qj5qicnswrcfxa5dbk7wjaq482gh6r";
+      sha256 = "1sj833k4g09sgx37k3f46dxyjfppmmcj1s6w6bqan0f2vc047bi0";
       type = "gem";
     };
-    version = "0.24.0";
+    version = "0.25.1.1";
   };
   safe_yaml = {
     source = {
@@ -2249,6 +2722,7 @@
     version = "1.0.4";
   };
   sanitize = {
+    dependencies = ["nokogiri"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0xsv6xqrlz91rd8wifjknadbl3z5h6qphmxy0hjb189qbdghggn3";
@@ -2265,6 +2739,7 @@
     version = "3.4.22";
   };
   sass-rails = {
+    dependencies = ["railties" "sass" "sprockets" "sprockets-rails" "tilt"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0iji20hb8crncz14piss1b29bfb6l89sz3ai5fny3iw39vnxkdcb";
@@ -2273,6 +2748,7 @@
     version = "5.0.6";
   };
   sawyer = {
+    dependencies = ["addressable" "faraday"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0sv1463r7bqzvx4drqdmd36m7rrv6sf1v3c6vswpnq3k6vdw2dvd";
@@ -2281,6 +2757,7 @@
     version = "0.8.1";
   };
   scss_lint = {
+    dependencies = ["rake" "sass"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0q6yankh4ay4fqz7s19p2r2nqhzv93gihc5c6xnqka3ch1z6v9fv";
@@ -2288,7 +2765,16 @@
     };
     version = "0.47.1";
   };
+  securecompare = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0ay65wba4i7bvfqyvf5i4r48q6g70s5m724diz9gdvdavscna36b";
+      type = "gem";
+    };
+    version = "1.0.0";
+  };
   seed-fu = {
+    dependencies = ["activerecord" "activesupport"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1nkp1pvkdydclbl2v4qf9cixmiycvlqnrgxd61sv9r85spb01z3p";
@@ -2297,6 +2783,7 @@
     version = "2.3.6";
   };
   select2-rails = {
+    dependencies = ["thor"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0ni2k74n73y3gv56gs37gkjlh912szjf6k9j483wz41m3xvlz7fj";
@@ -2305,12 +2792,13 @@
     version = "3.5.9.3";
   };
   sentry-raven = {
+    dependencies = ["faraday"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18k3n1yv077h28wszamhlifja7z2kxjdlm48aslc7zf7rm14fq90";
+      sha256 = "19qqb7whayd170y45asc3cr3mbxfd46fv6s4jbs5xx1wphy4q80i";
       type = "gem";
     };
-    version = "2.0.2";
+    version = "2.5.3";
   };
   settingslogic = {
     source = {
@@ -2323,12 +2811,13 @@
   sexp_processor = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0gs57v3gvbh83cknzkq20giqygdzhhbm7s7i7kxramf945diyfln";
+      sha256 = "1c6kp2qxq550hz7gsxqi37irxn3vynkz7ibgy9hfwqymf6y1jdik";
       type = "gem";
     };
-    version = "4.7.0";
+    version = "4.9.0";
   };
   sham_rack = {
+    dependencies = ["rack"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0zs6hpgg87x5jrykjxgfp2i7m5aja53s5kamdhxam16wki1hid3i";
@@ -2337,6 +2826,7 @@
     version = "1.3.6";
   };
   shoulda-matchers = {
+    dependencies = ["activesupport"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0d3ryqcsk1n9y35bx5wxnqbgw4m8b3c79isazdjnnbg8crdp72d0";
@@ -2345,22 +2835,25 @@
     version = "2.8.0";
   };
   sidekiq = {
+    dependencies = ["concurrent-ruby" "connection_pool" "rack-protection" "redis"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0d711y4s5clh5xx9k12c8c3x84xxqk61qwykya2xw39fqcxgzx04";
+      sha256 = "1h19c0vk7h5swbpi91qx4ln6nwas4ycj7y6bsm86ilhpiqcb7746";
       type = "gem";
     };
-    version = "4.2.7";
+    version = "5.0.0";
   };
   sidekiq-cron = {
+    dependencies = ["rufus-scheduler" "sidekiq"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1bsi80hyfh0lgpcdphxn2aw7av3d8xd87bmx6jz6lj7lw49gzkda";
+      sha256 = "04mq83rzvq4wbc4h0rn00sawgv039j8s2p0wnlqb4sgf55gc0dzj";
       type = "gem";
     };
-    version = "0.4.4";
+    version = "0.6.0";
   };
   sidekiq-limit_fetch = {
+    dependencies = ["sidekiq"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0ykpqw2nc9fs4v0slk5n4m42n3ihwwkk5mcyw3rz51blrdzj92kr";
@@ -2369,6 +2862,7 @@
     version = "3.4.0";
   };
   signet = {
+    dependencies = ["addressable" "faraday" "jwt" "multi_json"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "149668991xqibvm8kvl10kzy891yd6f994b4gwlx6c3vl24v5jq6";
@@ -2377,12 +2871,13 @@
     version = "0.7.3";
   };
   simplecov = {
+    dependencies = ["docile" "json" "simplecov-html"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ffhyrfnq2zm2mc1742a4hqy475g3qa1zf6yfldwg1ldh5sn3qbx";
+      sha256 = "1r9fnsnsqj432cmrpafryn8nif3x0qg9mdnvrcf0wr01prkdlnww";
       type = "gem";
     };
-    version = "0.12.0";
+    version = "0.14.1";
   };
   simplecov-html = {
     source = {
@@ -2409,6 +2904,7 @@
     version = "3.6.0";
   };
   spinach = {
+    dependencies = ["colorize" "gherkin-ruby" "json"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0phfjs4iw2iqxdaljzwk6qxmi2x86pl3hirmpgw2pgfx76wfx688";
@@ -2417,6 +2913,7 @@
     version = "0.8.10";
   };
   spinach-rails = {
+    dependencies = ["capybara" "railties" "spinach"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1nfacfylkncfgi59g2wga6m4nzdcjqb8s50cax4nbx362ap4bl70";
@@ -2425,6 +2922,7 @@
     version = "0.2.1";
   };
   spinach-rerun-reporter = {
+    dependencies = ["spinach"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0fkmp99cpxrdzkjrxw9y9qp8qxk5d1arpmmlg5njx40rlcvx002k";
@@ -2433,14 +2931,16 @@
     version = "0.0.2";
   };
   spring = {
+    dependencies = ["activesupport"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "17clm28dp140rw3761z9g8kjnnlpv9nv4flvpryhaasihjvjgfy1";
+      sha256 = "1wwbyg2nab2k4hdpd1i65qmnfixry29b4yqynrqfnmjghn0xvc7x";
       type = "gem";
     };
-    version = "1.7.2";
+    version = "2.0.1";
   };
   spring-commands-rspec = {
+    dependencies = ["spring"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0b0svpq3md1pjz5drpa5pxwg8nk48wrshq8lckim4x3nli7ya0k2";
@@ -2449,6 +2949,7 @@
     version = "1.0.4";
   };
   spring-commands-spinach = {
+    dependencies = ["spring"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "12qa60sclhnclwi6lskhdgr1l007bca831vhp35f06hq1zmimi2x";
@@ -2457,28 +2958,30 @@
     version = "1.1.0";
   };
   sprockets = {
+    dependencies = ["concurrent-ruby" "rack"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jzsfiladswnzbrwqfiaj1xip68y58rwx0lpmj907vvq47k87gj1";
+      sha256 = "0sv3zk5hwxyjvg7iy9sggjc7k3mfxxif7w8p260rharfyib939ar";
       type = "gem";
     };
-    version = "3.7.0";
+    version = "3.7.1";
   };
   sprockets-rails = {
+    dependencies = ["actionpack" "activesupport" "sprockets"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1sak0as7ka964f6zjb1w8hkvfkkbf55kpcyvh7k6nyrb6pqnwmnf";
+      sha256 = "1zr9vk2vn44wcn4265hhnnnsciwlmqzqc6bnx78if1xcssxj6x44";
       type = "gem";
     };
-    version = "3.1.1";
+    version = "3.2.0";
   };
   sqlite3 = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19r06wglnm6479ffj9dl0fa4p5j2wi6dj7k6k3d0rbx7036cv3ny";
+      sha256 = "01ifzp8nwzqppda419c9wcvr8n82ysmisrs0hph9pdmv1lpa4f5i";
       type = "gem";
     };
-    version = "1.3.11";
+    version = "1.3.13";
   };
   stackprof = {
     source = {
@@ -2497,6 +3000,7 @@
     version = "0.4.0";
   };
   state_machines-activemodel = {
+    dependencies = ["activemodel" "state_machines"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0p6560jsb4flapd1vbc50bqjk6dzykkwbmyivchyjh5ncynsdb8v";
@@ -2505,6 +3009,7 @@
     version = "0.4.0";
   };
   state_machines-activerecord = {
+    dependencies = ["activerecord" "state_machines-activemodel"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0x5wx1s2i3qc4p2knkf2n9h8b49pla9rjidkwxqzi781qm40wdxx";
@@ -2521,6 +3026,7 @@
     version = "2.5.2";
   };
   sys-filesystem = {
+    dependencies = ["ffi"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "092wj7936i5inzafi09wqh5c8dbak588q21k652dsrdjf5qi10zq";
@@ -2545,6 +3051,7 @@
     version = "0.7.7";
   };
   test_after_commit = {
+    dependencies = ["activerecord"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0s8pz00xq28lsa1rfczm83yqwk8wcb5dqw2imlj8gldnsdapcyc2";
@@ -2552,7 +3059,16 @@
     };
     version = "1.1.0";
   };
+  text = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1x6kkmsr49y3rnrin91rv8mpc3dhrf3ql08kbccw8yffq61brfrg";
+      type = "gem";
+    };
+    version = "1.3.1";
+  };
   thin = {
+    dependencies = ["daemons" "eventmachine" "rack"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1dq9q7qyjyg4444bmn12r2s0mir8dqnvc037y0zidhbyaavrv95q";
@@ -2563,26 +3079,26 @@
   thor = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "08p5gx18yrbnwc6xc0mxvsfaxzgy2y9i78xq7ds0qmdm67q39y4z";
+      sha256 = "01n5dv9kql60m6a00zc0r66jvaxx98qhdny3klyj0p3w34pad2ns";
       type = "gem";
     };
-    version = "0.19.1";
+    version = "0.19.4";
   };
   thread_safe = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hq46wqsyylx5afkp6jmcihdpv4ynzzq9ygb6z2pb1cbz5js0gcr";
+      sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy";
       type = "gem";
     };
-    version = "0.3.5";
+    version = "0.3.6";
   };
   tilt = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0lgk8bfx24959yq1cn55php3321wddw947mgj07bxfnwyipy9hqf";
+      sha256 = "0qsyzq2k7blyp1rph56xczwfqi8gplns2whswyr67mdfzdi60vvm";
       type = "gem";
     };
-    version = "2.0.5";
+    version = "2.0.6";
   };
   timecop = {
     source = {
@@ -2600,6 +3116,15 @@
     };
     version = "0.8.3";
   };
+  toml-rb = {
+    dependencies = ["citrus"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "03sr3k193i1r5bh9g4zc7iq9jklapmwj0rndcvhr9q7v5xm7x4rf";
+      type = "gem";
+    };
+    version = "0.3.15";
+  };
   tool = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -2609,6 +3134,7 @@
     version = "0.2.3";
   };
   truncato = {
+    dependencies = ["htmlentities" "nokogiri"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "09ngwz2mpfsi1ms94j7nmms4kbd5sgcqv5dshrbwaqf585ja7cm5";
@@ -2617,6 +3143,7 @@
     version = "0.7.8";
   };
   tzinfo = {
+    dependencies = ["thread_safe"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1c01p3kg6xvy1cgjnzdfq45fggbwish8krd0h864jvbpybyx7cgx";
@@ -2633,6 +3160,7 @@
     version = "0.2.1";
   };
   uglifier = {
+    dependencies = ["execjs" "json"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0mzs64z3m1b98rh6ssxpqfz9sc87f6ml6906b0m57vydzfgrh1cz";
@@ -2649,6 +3177,7 @@
     version = "1.8.3";
   };
   unf = {
+    dependencies = ["unf_ext"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9";
@@ -2667,12 +3196,13 @@
   unicode-display_width = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1b1mb3sj7azfvv166q6rqr0y634wsikiimm17xzn0304lcrw2fiz";
+      sha256 = "1r28mxyi0zwby24wyn1szj5hcnv67066wkv14wyzsc94bf04fqhx";
       type = "gem";
     };
-    version = "1.1.1";
+    version = "1.1.3";
   };
   unicorn = {
+    dependencies = ["kgio" "raindrops"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1rcvg9381yw3wrnpny5c01mvm35caycshvfbg96wagjhscw6l72v";
@@ -2681,6 +3211,7 @@
     version = "5.1.0";
   };
   unicorn-worker-killer = {
+    dependencies = ["get_process_mem" "unicorn"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0rrdxpwdsapx47axjin8ymxb4f685qlpx8a26bql4ay1559c3gva";
@@ -2696,7 +3227,16 @@
     };
     version = "1.10.0";
   };
+  url_safe_base64 = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1wgslyapmw4m6l5f6xvcvrvdz3hbkqczkhmjp96s6pzwcgxvcazz";
+      type = "gem";
+    };
+    version = "0.2.2";
+  };
   validates_hostname = {
+    dependencies = ["activerecord" "activesupport"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "04p1l0v98j4ffvaks1ig9mygx5grpbpdgz7haq3mygva9iy8ykja";
@@ -2713,6 +3253,7 @@
     version = "2.1.0";
   };
   virtus = {
+    dependencies = ["axiom-types" "coercible" "descendants_tracker" "equalizer"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "06iphwi3c4f7y9i2rvhvaizfswqbaflilziz4dxqngrdysgkn1fk";
@@ -2729,6 +3270,7 @@
     version = "2.3.0";
   };
   warden = {
+    dependencies = ["rack"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "04gpmnvkp312wxmsvvbq834iyab58vjmh6w4x4qpgh4p1lzkiq1l";
@@ -2736,31 +3278,26 @@
     };
     version = "1.2.6";
   };
-  web-console = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0f8mgdjnkwb2gmnd73hnlx8p2clzvpz007alhsglqgylpj6m20jk";
-      type = "gem";
-    };
-    version = "2.3.0";
-  };
   webmock = {
+    dependencies = ["addressable" "crack" "hashdiff"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1p7hqdxk5359xwp59pcx841fhbnqx01ra98rnwhdyz61nrc6piv3";
+      sha256 = "04hkcqsmbfnp8g237pisnc834vpgildklicbjbyikqg0bg1rwcy5";
       type = "gem";
     };
-    version = "1.21.0";
+    version = "2.3.2";
   };
   webpack-rails = {
+    dependencies = ["railties"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02jxkpdbi48yhcgldgl5jxnhnad83rdgpkkcwh8w1h6iyg04d42j";
+      sha256 = "0l0jzw05yk1c19q874nhkanrn2ik7hjbr2vjcdnk1fqp2f3ypzvv";
       type = "gem";
     };
-    version = "0.9.9";
+    version = "0.9.10";
   };
   websocket-driver = {
+    dependencies = ["websocket-extensions"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1v39w1ig6ps8g55xhz6x1w53apl17ii6kpy0jg9249akgpdvb0k9";
@@ -2777,6 +3314,7 @@
     version = "0.1.2";
   };
   wikicloth = {
+    dependencies = ["builder" "expression_parser" "rinku"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1jp6c2yzyqbap8jdiw8yz6l08sradky1llhyhmrg934l1b5akj3s";
@@ -2793,6 +3331,7 @@
     version = "1.1.5";
   };
   xpath = {
+    dependencies = ["nokogiri"];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "04kcr127l34p7221z13blyl0dvh0bmxwx326j72idayri36a394w";
diff --git a/pkgs/applications/version-management/gitlab/nulladapter.patch b/pkgs/applications/version-management/gitlab/nulladapter.patch
index 1bb2718acebd..dfd964d67840 100644
--- a/pkgs/applications/version-management/gitlab/nulladapter.patch
+++ b/pkgs/applications/version-management/gitlab/nulladapter.patch
@@ -1,56 +1,27 @@
 diff --git a/Gemfile b/Gemfile
-index 68547b6..60aaf99 100644
+index 3748ae7aee..25d2938b78 100644
 --- a/Gemfile
 +++ b/Gemfile
-@@ -118,7 +118,7 @@ gem 'rouge',         '~> 2.0'
- 
- # See https://groups.google.com/forum/#!topic/ruby-security-ann/aSbgDiwb24s
- # and https://groups.google.com/forum/#!topic/ruby-security-ann/Dy7YiKb_pMM
--gem 'nokogiri', '~> 1.6.7', '>= 1.6.7.2'
-+gem 'nokogiri', '~> 1.6.7', '>= 1.6.7.2', '< 1.6.8'
- 
- # Diffs
- gem 'diffy', '~> 3.0.3'
-@@ -351,3 +351,5 @@ gem 'health_check', '~> 2.1.0'
- # System information
- gem 'vmstat', '~> 2.1.1'
- gem 'sys-filesystem', '~> 1.1.6'
+@@ -389,3 +389,5 @@ gem 'toml-rb', '~> 0.3.15', require: false
+ # Feature toggles
+ gem 'flipper', '~> 0.10.2'
+ gem 'flipper-active_record', '~> 0.10.2'
 +
-+gem "activerecord-nulldb-adapter"
++gem 'activerecord-nulldb-adapter'
 diff --git a/Gemfile.lock b/Gemfile.lock
-index 5511d71..38d357e 100644
+index 0de8746109..f263c643bd 100644
 --- a/Gemfile.lock
 +++ b/Gemfile.lock
 @@ -32,6 +32,8 @@ GEM
-       activemodel (= 4.2.7.1)
-       activesupport (= 4.2.7.1)
+       activemodel (= 4.2.8)
+       activesupport (= 4.2.8)
        arel (~> 6.0)
-+    activerecord-nulldb-adapter (0.3.3)
++    activerecord-nulldb-adapter (0.3.7)
 +      activerecord (>= 2.0.0)
      activerecord_sane_schema_dumper (0.2)
        rails (>= 4, < 5)
-     activesupport (4.2.7.1)
-@@ -396,7 +398,7 @@ GEM
-     method_source (0.8.2)
-     mime-types (2.99.2)
-     mimemagic (0.3.0)
--    mini_portile2 (2.1.0)
-+    mini_portile2 (2.0.0)
-     minitest (5.7.0)
-     mousetrap-rails (1.4.6)
-     multi_json (1.12.1)
-@@ -407,8 +409,8 @@ GEM
-     net-ldap (0.12.1)
-     net-ssh (3.0.1)
-     newrelic_rpm (3.16.0.318)
--    nokogiri (1.6.8)
--      mini_portile2 (~> 2.1.0)
-+    nokogiri (1.6.7.2)
-+      mini_portile2 (~> 2.0.0.rc2)
-       pkg-config (~> 1.1.7)
-     numerizer (0.1.1)
-     oauth (0.4.7)
-@@ -800,6 +802,7 @@ PLATFORMS
+     activesupport (4.2.8)
+@@ -906,6 +908,7 @@ PLATFORMS
  DEPENDENCIES
    RedCloth (~> 4.3.2)
    ace-rails-ap (~> 4.1.0)
diff --git a/pkgs/applications/version-management/gitlab/package.json b/pkgs/applications/version-management/gitlab/package.json
new file mode 100644
index 000000000000..5a997e813f8d
--- /dev/null
+++ b/pkgs/applications/version-management/gitlab/package.json
@@ -0,0 +1,88 @@
+{
+  "private": true,
+  "scripts": {
+    "dev-server": "nodemon --watch config/webpack.config.js -- ./node_modules/.bin/webpack-dev-server --config config/webpack.config.js",
+    "eslint": "eslint --max-warnings 0 --ext .js,.vue .",
+    "eslint-fix": "eslint --max-warnings 0 --ext .js,.vue --fix .",
+    "eslint-report": "eslint --max-warnings 0 --ext .js,.vue --format html --output-file ./eslint-report.html .",
+    "karma": "karma start config/karma.config.js --single-run",
+    "karma-coverage": "BABEL_ENV=coverage karma start config/karma.config.js --single-run",
+    "karma-start": "karma start config/karma.config.js",
+    "webpack": "webpack --config config/webpack.config.js",
+    "webpack-prod": "NODE_ENV=production webpack --config config/webpack.config.js"
+  },
+  "dependencies": {
+    "babel-core": "^6.22.1",
+    "babel-eslint": "^7.2.1",
+    "babel-loader": "^6.2.10",
+    "babel-plugin-transform-define": "^1.2.0",
+    "babel-preset-latest": "^6.24.0",
+    "babel-preset-stage-2": "^6.22.0",
+    "bootstrap-sass": "^3.3.6",
+    "compression-webpack-plugin": "^0.3.2",
+    "core-js": "^2.4.1",
+    "css-loader": "^0.28.0",
+    "d3": "^3.5.11",
+    "deckar01-task_list": "^2.0.0",
+    "document-register-element": "^1.3.0",
+    "dropzone": "^4.2.0",
+    "emoji-unicode-version": "^0.2.1",
+    "eslint-plugin-html": "^2.0.1",
+    "exports-loader": "^0.6.4",
+    "file-loader": "^0.11.1",
+    "jed": "^1.1.1",
+    "jquery": "^2.2.1",
+    "jquery-ujs": "^1.2.1",
+    "js-cookie": "^2.1.3",
+    "jszip": "^3.1.3",
+    "jszip-utils": "^0.0.2",
+    "marked": "^0.3.6",
+    "mousetrap": "^1.4.6",
+    "name-all-modules-plugin": "^1.0.1",
+    "pdfjs-dist": "^1.8.252",
+    "pikaday": "^1.5.1",
+    "prismjs": "^1.6.0",
+    "raphael": "^2.2.7",
+    "raven-js": "^3.14.0",
+    "raw-loader": "^0.5.1",
+    "react-dev-utils": "^0.5.2",
+    "select2": "3.5.2-browserify",
+    "sql.js": "^0.4.0",
+    "stats-webpack-plugin": "^0.4.3",
+    "three": "^0.84.0",
+    "three-orbit-controls": "^82.1.0",
+    "three-stl-loader": "^1.0.4",
+    "timeago.js": "^2.0.5",
+    "underscore": "^1.8.3",
+    "url-loader": "^0.5.8",
+    "visibilityjs": "^1.2.4",
+    "vue": "^2.2.6",
+    "vue-loader": "^11.3.4",
+    "vue-resource": "^0.9.3",
+    "vue-template-compiler": "^2.2.6",
+    "webpack": "^2.6.1",
+    "webpack-bundle-analyzer": "^2.8.2"
+  },
+  "devDependencies": {
+    "babel-plugin-istanbul": "^4.0.0",
+    "eslint": "^3.10.1",
+    "eslint-config-airbnb-base": "^10.0.1",
+    "eslint-import-resolver-webpack": "^0.8.1",
+    "eslint-plugin-filenames": "^1.1.0",
+    "eslint-plugin-import": "^2.2.0",
+    "eslint-plugin-jasmine": "^2.1.0",
+    "eslint-plugin-promise": "^3.5.0",
+    "istanbul": "^0.4.5",
+    "jasmine-core": "^2.6.3",
+    "jasmine-jquery": "^2.1.1",
+    "karma": "^1.7.0",
+    "karma-chrome-launcher": "^2.1.1",
+    "karma-coverage-istanbul-reporter": "^0.2.0",
+    "karma-jasmine": "^1.1.0",
+    "karma-mocha-reporter": "^2.2.2",
+    "karma-sourcemap-loader": "^0.3.7",
+    "karma-webpack": "^2.0.2",
+    "nodemon": "^1.11.0",
+    "webpack-dev-server": "^2.4.2"
+  }
+}
diff --git a/pkgs/applications/version-management/gitlab/remove-hardcoded-locations.patch b/pkgs/applications/version-management/gitlab/remove-hardcoded-locations.patch
index dfd024a762a6..0c56140b9f07 100644
--- a/pkgs/applications/version-management/gitlab/remove-hardcoded-locations.patch
+++ b/pkgs/applications/version-management/gitlab/remove-hardcoded-locations.patch
@@ -1,5 +1,5 @@
 diff --git a/config/environments/production.rb b/config/environments/production.rb
-index a9d8ac4..85f13f5 100644
+index c5cbfcf64c..e40f10e25f 100644
 --- a/config/environments/production.rb
 +++ b/config/environments/production.rb
 @@ -70,14 +70,16 @@ Rails.application.configure do
@@ -24,10 +24,10 @@ index a9d8ac4..85f13f5 100644
 +  config.active_record.dump_schema_after_migration = false
  end
 diff --git a/config/gitlab.yml.example b/config/gitlab.yml.example
-index 1470a6e..1b2660d 100644
+index 0b33783869..cd4e41d9bd 100644
 --- a/config/gitlab.yml.example
 +++ b/config/gitlab.yml.example
-@@ -476,7 +476,7 @@ production: &base
+@@ -521,7 +521,7 @@ production: &base
    # CAUTION!
    # Use the default values unless you really know what you are doing
    git:
@@ -37,10 +37,10 @@ index 1470a6e..1b2660d 100644
      # Given in number of bytes per git object (e.g. a commit)
      # This value can be increased if you have very large commits
 diff --git a/config/initializers/1_settings.rb b/config/initializers/1_settings.rb
-index 195108b..e55b11d 100644
+index 8ddf8e4d2e..559cf9adf7 100644
 --- a/config/initializers/1_settings.rb
 +++ b/config/initializers/1_settings.rb
-@@ -192,7 +192,7 @@ Settings.gitlab['user']       ||= 'git'
+@@ -219,7 +219,7 @@ Settings.gitlab['user']       ||= 'git'
  Settings.gitlab['user_home']  ||= begin
    Etc.getpwnam(Settings.gitlab['user']).dir
  rescue ArgumentError # no user configured
@@ -49,7 +49,7 @@ index 195108b..e55b11d 100644
  end
  Settings.gitlab['time_zone'] ||= nil
  Settings.gitlab['signup_enabled'] ||= true if Settings.gitlab['signup_enabled'].nil?
-@@ -362,7 +362,7 @@ Settings.backup['upload']['encryption'] ||= nil
+@@ -454,7 +454,7 @@ Settings.backup['upload']['storage_class'] ||= nil
  #
  Settings['git'] ||= Settingslogic.new({})
  Settings.git['max_size']  ||= 20971520 # 20.megabytes
@@ -59,7 +59,7 @@ index 195108b..e55b11d 100644
  
  # Important: keep the satellites.path setting until GitLab 9.0 at
 diff --git a/lib/gitlab/logger.rb b/lib/gitlab/logger.rb
-index 59b2114..4f4a39a 100644
+index 59b21149a9..4f4a39a06c 100644
 --- a/lib/gitlab/logger.rb
 +++ b/lib/gitlab/logger.rb
 @@ -13,20 +13,20 @@ module Gitlab
@@ -87,51 +87,74 @@ index 59b2114..4f4a39a 100644
    end
  end
 diff --git a/lib/gitlab/uploads_transfer.rb b/lib/gitlab/uploads_transfer.rb
-index be8fcc7..7642d74 100644
+index b5f4124052..f72c556983 100644
 --- a/lib/gitlab/uploads_transfer.rb
 +++ b/lib/gitlab/uploads_transfer.rb
-@@ -29,7 +29,7 @@ module Gitlab
-     end
- 
+@@ -1,7 +1,7 @@
+ module Gitlab
+   class UploadsTransfer < ProjectTransfer
      def root_dir
--      File.join(Rails.root, "public", "uploads")
-+      ENV['GITLAB_UPLOADS_PATH'] || File.join(Rails.root, "public", "uploads")
+-      File.join(CarrierWave.root, FileUploader.base_dir)
++      ENV['GITLAB_UPLOADS_PATH'] || File.join(CarrierWave.root, FileUploader.base_dir)
      end
    end
  end
-diff --git a/lib/tasks/gitlab/check.rake b/lib/tasks/gitlab/check.rake
-index 5f4a6bb..01b4cfd 100644
---- a/lib/tasks/gitlab/check.rake
-+++ b/lib/tasks/gitlab/check.rake
-@@ -223,7 +223,7 @@ namespace :gitlab do
-     def check_log_writable
-       print "Log directory writable? ... "
+diff --git a/lib/system_check/app/log_writable_check.rb b/lib/system_check/app/log_writable_check.rb
+index 3e0c436d6e..28cefc5514 100644
+--- a/lib/system_check/app/log_writable_check.rb
++++ b/lib/system_check/app/log_writable_check.rb
+@@ -21,7 +21,7 @@ module SystemCheck
+       private
  
--      log_path = Rails.root.join("log")
-+      log_path = ENV["GITLAB_LOG_PATH"]
+       def log_path
+-        Rails.root.join('log')
++        ENV["GITLAB_LOG_PATH"]
+       end
+     end
+   end
+diff --git a/lib/system_check/app/uploads_directory_exists_check.rb b/lib/system_check/app/uploads_directory_exists_check.rb
+index 7026d0ba07..6d88b8b9fb 100644
+--- a/lib/system_check/app/uploads_directory_exists_check.rb
++++ b/lib/system_check/app/uploads_directory_exists_check.rb
+@@ -4,12 +4,13 @@ module SystemCheck
+       set_name 'Uploads directory exists?'
  
-       if File.writable?(log_path)
-         puts "yes".color(:green)
-@@ -263,10 +263,11 @@ namespace :gitlab do
-     def check_uploads
-       print "Uploads directory setup correctly? ... "
+       def check?
+-        File.directory?(Rails.root.join('public/uploads'))
++        File.directory?(ENV['GITLAB_UPLOADS_PATH'] || Rails.root.join('public/uploads'))
+       end
  
--      unless File.directory?(Rails.root.join('public/uploads'))
-+      uploads_dir = ENV['GITLAB_UPLOADS_PATH'] || Rails.root.join('public/uploads')
-+      unless File.directory?(uploads_dir)
-         puts "no".color(:red)
+       def show_error
++        uploads_dir = ENV['GITLAB_UPLOADS_PATH'] || Rails.root.join('public/uploads')
          try_fixing_it(
 -          "sudo -u #{gitlab_user} mkdir #{Rails.root}/public/uploads"
 +          "sudo -u #{gitlab_user} mkdir #{uploads_dir}"
          )
          for_more_information(
-           see_installation_guide_section "GitLab"
-@@ -275,7 +276,7 @@ namespace :gitlab do
-         return
+           see_installation_guide_section 'GitLab'
+diff --git a/lib/system_check/app/uploads_path_permission_check.rb b/lib/system_check/app/uploads_path_permission_check.rb
+index 7df6c06025..bb447c16b2 100644
+--- a/lib/system_check/app/uploads_path_permission_check.rb
++++ b/lib/system_check/app/uploads_path_permission_check.rb
+@@ -25,7 +25,7 @@ module SystemCheck
+       private
+ 
+       def rails_uploads_path
+-        Rails.root.join('public/uploads')
++        ENV['GITLAB_UPLOADS_PATH'] || Rails.root.join('public/uploads')
        end
  
--      upload_path = File.realpath(Rails.root.join('public/uploads'))
-+      upload_path = File.realpath(Rails.root.join(uploads_dir))
-       upload_path_tmp = File.join(upload_path, 'tmp')
+       def uploads_fullpath
+diff --git a/lib/system_check/app/uploads_path_tmp_permission_check.rb b/lib/system_check/app/uploads_path_tmp_permission_check.rb
+index b276a81eac..070e3ebd81 100644
+--- a/lib/system_check/app/uploads_path_tmp_permission_check.rb
++++ b/lib/system_check/app/uploads_path_tmp_permission_check.rb
+@@ -33,7 +33,7 @@ module SystemCheck
+       end
  
-       if File.stat(upload_path).mode == 040700
+       def uploads_fullpath
+-        File.realpath(Rails.root.join('public/uploads'))
++        File.realpath(ENV['GITLAB_UPLOADS_PATH'] || Rails.root.join('public/uploads'))
+       end
+     end
+   end
diff --git a/pkgs/applications/version-management/gitlab/yarn.lock b/pkgs/applications/version-management/gitlab/yarn.lock
new file mode 100644
index 000000000000..b04eebe60af2
--- /dev/null
+++ b/pkgs/applications/version-management/gitlab/yarn.lock
@@ -0,0 +1,5939 @@
+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
+# yarn lockfile v1
+
+
+abbrev@1, abbrev@1.0.x:
+  version "1.0.9"
+  resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135"
+
+accepts@1.3.3, accepts@~1.3.3:
+  version "1.3.3"
+  resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.3.tgz#c3ca7434938648c3e0d9c1e328dd68b622c284ca"
+  dependencies:
+    mime-types "~2.1.11"
+    negotiator "0.6.1"
+
+acorn-dynamic-import@^2.0.0:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-2.0.1.tgz#23f671eb6e650dab277fef477c321b1178a8cca2"
+  dependencies:
+    acorn "^4.0.3"
+
+acorn-jsx@^3.0.0:
+  version "3.0.1"
+  resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b"
+  dependencies:
+    acorn "^3.0.4"
+
+acorn@4.0.4, acorn@^4.0.3:
+  version "4.0.4"
+  resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.4.tgz#17a8d6a7a6c4ef538b814ec9abac2779293bf30a"
+
+acorn@^3.0.4:
+  version "3.3.0"
+  resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a"
+
+acorn@^5.0.0, acorn@^5.0.3:
+  version "5.0.3"
+  resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.0.3.tgz#c460df08491463f028ccb82eab3730bf01087b3d"
+
+after@0.8.2:
+  version "0.8.2"
+  resolved "https://registry.yarnpkg.com/after/-/after-0.8.2.tgz#fedb394f9f0e02aa9768e702bda23b505fae7e1f"
+
+ajv-keywords@^1.0.0, ajv-keywords@^1.1.1:
+  version "1.5.1"
+  resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c"
+
+ajv@^4.7.0:
+  version "4.11.2"
+  resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.2.tgz#f166c3c11cbc6cb9dcc102a5bcfe5b72c95287e6"
+  dependencies:
+    co "^4.6.0"
+    json-stable-stringify "^1.0.1"
+
+align-text@^0.1.1, align-text@^0.1.3:
+  version "0.1.4"
+  resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117"
+  dependencies:
+    kind-of "^3.0.2"
+    longest "^1.0.1"
+    repeat-string "^1.5.2"
+
+alphanum-sort@^1.0.1, alphanum-sort@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3"
+
+amdefine@>=0.0.4:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
+
+ansi-escapes@^1.1.0:
+  version "1.4.0"
+  resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e"
+
+ansi-html@0.0.5:
+  version "0.0.5"
+  resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.5.tgz#0dcaa5a081206866bc240a3b773a184ea3b88b64"
+
+ansi-html@0.0.7:
+  version "0.0.7"
+  resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e"
+
+ansi-regex@^2.0.0:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
+
+ansi-styles@^2.2.1:
+  version "2.2.1"
+  resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
+
+anymatch@^1.3.0:
+  version "1.3.0"
+  resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.0.tgz#a3e52fa39168c825ff57b0248126ce5a8ff95507"
+  dependencies:
+    arrify "^1.0.0"
+    micromatch "^2.1.5"
+
+append-transform@^0.4.0:
+  version "0.4.0"
+  resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-0.4.0.tgz#d76ebf8ca94d276e247a36bad44a4b74ab611991"
+  dependencies:
+    default-require-extensions "^1.0.0"
+
+aproba@^1.0.3:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.0.tgz#4d8f047a318604e18e3c06a0e52230d3d19f147b"
+
+are-we-there-yet@~1.1.2:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz#80e470e95a084794fe1899262c5667c6e88de1b3"
+  dependencies:
+    delegates "^1.0.0"
+    readable-stream "^2.0.0 || ^1.1.13"
+
+argparse@^1.0.7:
+  version "1.0.9"
+  resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86"
+  dependencies:
+    sprintf-js "~1.0.2"
+
+arr-diff@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf"
+  dependencies:
+    arr-flatten "^1.0.1"
+
+arr-flatten@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.0.1.tgz#e5ffe54d45e19f32f216e91eb99c8ce892bb604b"
+
+array-find@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/array-find/-/array-find-1.0.0.tgz#6c8e286d11ed768327f8e62ecee87353ca3e78b8"
+
+array-flatten@1.1.1:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
+
+array-slice@^0.2.3:
+  version "0.2.3"
+  resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-0.2.3.tgz#dd3cfb80ed7973a75117cdac69b0b99ec86186f5"
+
+array-union@^1.0.1:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
+  dependencies:
+    array-uniq "^1.0.1"
+
+array-uniq@^1.0.1:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6"
+
+array-unique@^0.2.1:
+  version "0.2.1"
+  resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53"
+
+arraybuffer.slice@0.0.6:
+  version "0.0.6"
+  resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz#f33b2159f0532a3f3107a272c0ccfbd1ad2979ca"
+
+arrify@^1.0.0, arrify@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
+
+asn1.js@^4.0.0:
+  version "4.9.1"
+  resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.9.1.tgz#48ba240b45a9280e94748990ba597d216617fd40"
+  dependencies:
+    bn.js "^4.0.0"
+    inherits "^2.0.1"
+    minimalistic-assert "^1.0.0"
+
+asn1@~0.2.3:
+  version "0.2.3"
+  resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86"
+
+assert-plus@^0.2.0:
+  version "0.2.0"
+  resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234"
+
+assert-plus@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
+
+assert@^1.1.1:
+  version "1.4.1"
+  resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91"
+  dependencies:
+    util "0.10.3"
+
+async-each@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d"
+
+async@0.2.x:
+  version "0.2.10"
+  resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1"
+
+async@1.x, async@^1.4.0, async@^1.4.2, async@^1.5.2:
+  version "1.5.2"
+  resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
+
+async@^2.1.2, async@^2.1.4:
+  version "2.1.4"
+  resolved "https://registry.yarnpkg.com/async/-/async-2.1.4.tgz#2d2160c7788032e4dd6cbe2502f1f9a2c8f6cde4"
+  dependencies:
+    lodash "^4.14.0"
+
+async@~0.9.0:
+  version "0.9.2"
+  resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d"
+
+asynckit@^0.4.0:
+  version "0.4.0"
+  resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
+
+autoprefixer@^6.3.1:
+  version "6.7.7"
+  resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.7.tgz#1dbd1c835658e35ce3f9984099db00585c782014"
+  dependencies:
+    browserslist "^1.7.6"
+    caniuse-db "^1.0.30000634"
+    normalize-range "^0.1.2"
+    num2fraction "^1.2.2"
+    postcss "^5.2.16"
+    postcss-value-parser "^3.2.3"
+
+aws-sign2@~0.6.0:
+  version "0.6.0"
+  resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f"
+
+aws4@^1.2.1:
+  version "1.6.0"
+  resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e"
+
+babel-code-frame@^6.11.0, babel-code-frame@^6.16.0, babel-code-frame@^6.22.0:
+  version "6.22.0"
+  resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4"
+  dependencies:
+    chalk "^1.1.0"
+    esutils "^2.0.2"
+    js-tokens "^3.0.0"
+
+babel-core@^6.22.1, babel-core@^6.23.0:
+  version "6.23.1"
+  resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.23.1.tgz#c143cb621bb2f621710c220c5d579d15b8a442df"
+  dependencies:
+    babel-code-frame "^6.22.0"
+    babel-generator "^6.23.0"
+    babel-helpers "^6.23.0"
+    babel-messages "^6.23.0"
+    babel-register "^6.23.0"
+    babel-runtime "^6.22.0"
+    babel-template "^6.23.0"
+    babel-traverse "^6.23.1"
+    babel-types "^6.23.0"
+    babylon "^6.11.0"
+    convert-source-map "^1.1.0"
+    debug "^2.1.1"
+    json5 "^0.5.0"
+    lodash "^4.2.0"
+    minimatch "^3.0.2"
+    path-is-absolute "^1.0.0"
+    private "^0.1.6"
+    slash "^1.0.0"
+    source-map "^0.5.0"
+
+babel-eslint@^7.2.1:
+  version "7.2.1"
+  resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-7.2.1.tgz#079422eb73ba811e3ca0865ce87af29327f8c52f"
+  dependencies:
+    babel-code-frame "^6.22.0"
+    babel-traverse "^6.23.1"
+    babel-types "^6.23.0"
+    babylon "^6.16.1"
+
+babel-generator@^6.18.0, babel-generator@^6.23.0:
+  version "6.23.0"
+  resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.23.0.tgz#6b8edab956ef3116f79d8c84c5a3c05f32a74bc5"
+  dependencies:
+    babel-messages "^6.23.0"
+    babel-runtime "^6.22.0"
+    babel-types "^6.23.0"
+    detect-indent "^4.0.0"
+    jsesc "^1.3.0"
+    lodash "^4.2.0"
+    source-map "^0.5.0"
+    trim-right "^1.0.1"
+
+babel-helper-bindify-decorators@^6.22.0:
+  version "6.22.0"
+  resolved "https://registry.yarnpkg.com/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.22.0.tgz#d7f5bc261275941ac62acfc4e20dacfb8a3fe952"
+  dependencies:
+    babel-runtime "^6.22.0"
+    babel-traverse "^6.22.0"
+    babel-types "^6.22.0"
+
+babel-helper-builder-binary-assignment-operator-visitor@^6.22.0:
+  version "6.22.0"
+  resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.22.0.tgz#29df56be144d81bdeac08262bfa41d2c5e91cdcd"
+  dependencies:
+    babel-helper-explode-assignable-expression "^6.22.0"
+    babel-runtime "^6.22.0"
+    babel-types "^6.22.0"
+
+babel-helper-call-delegate@^6.22.0:
+  version "6.22.0"
+  resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.22.0.tgz#119921b56120f17e9dae3f74b4f5cc7bcc1b37ef"
+  dependencies:
+    babel-helper-hoist-variables "^6.22.0"
+    babel-runtime "^6.22.0"
+    babel-traverse "^6.22.0"
+    babel-types "^6.22.0"
+
+babel-helper-define-map@^6.23.0:
+  version "6.23.0"
+  resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.23.0.tgz#1444f960c9691d69a2ced6a205315f8fd00804e7"
+  dependencies:
+    babel-helper-function-name "^6.23.0"
+    babel-runtime "^6.22.0"
+    babel-types "^6.23.0"
+    lodash "^4.2.0"
+
+babel-helper-explode-assignable-expression@^6.22.0:
+  version "6.22.0"
+  resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.22.0.tgz#c97bf76eed3e0bae4048121f2b9dae1a4e7d0478"
+  dependencies:
+    babel-runtime "^6.22.0"
+    babel-traverse "^6.22.0"
+    babel-types "^6.22.0"
+
+babel-helper-explode-class@^6.22.0:
+  version "6.22.0"
+  resolved "https://registry.yarnpkg.com/babel-helper-explode-class/-/babel-helper-explode-class-6.22.0.tgz#646304924aa6388a516843ba7f1855ef8dfeb69b"
+  dependencies:
+    babel-helper-bindify-decorators "^6.22.0"
+    babel-runtime "^6.22.0"
+    babel-traverse "^6.22.0"
+    babel-types "^6.22.0"
+
+babel-helper-function-name@^6.22.0, babel-helper-function-name@^6.23.0:
+  version "6.23.0"
+  resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.23.0.tgz#25742d67175c8903dbe4b6cb9d9e1fcb8dcf23a6"
+  dependencies:
+    babel-helper-get-function-arity "^6.22.0"
+    babel-runtime "^6.22.0"
+    babel-template "^6.23.0"
+    babel-traverse "^6.23.0"
+    babel-types "^6.23.0"
+
+babel-helper-get-function-arity@^6.22.0:
+  version "6.22.0"
+  resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.22.0.tgz#0beb464ad69dc7347410ac6ade9f03a50634f5ce"
+  dependencies:
+    babel-runtime "^6.22.0"
+    babel-types "^6.22.0"
+
+babel-helper-hoist-variables@^6.22.0:
+  version "6.22.0"
+  resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.22.0.tgz#3eacbf731d80705845dd2e9718f600cfb9b4ba72"
+  dependencies:
+    babel-runtime "^6.22.0"
+    babel-types "^6.22.0"
+
+babel-helper-optimise-call-expression@^6.23.0:
+  version "6.23.0"
+  resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.23.0.tgz#f3ee7eed355b4282138b33d02b78369e470622f5"
+  dependencies:
+    babel-runtime "^6.22.0"
+    babel-types "^6.23.0"
+
+babel-helper-regex@^6.22.0:
+  version "6.22.0"
+  resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.22.0.tgz#79f532be1647b1f0ee3474b5f5c3da58001d247d"
+  dependencies:
+    babel-runtime "^6.22.0"
+    babel-types "^6.22.0"
+    lodash "^4.2.0"
+
+babel-helper-remap-async-to-generator@^6.22.0:
+  version "6.22.0"
+  resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.22.0.tgz#2186ae73278ed03b8b15ced089609da981053383"
+  dependencies:
+    babel-helper-function-name "^6.22.0"
+    babel-runtime "^6.22.0"
+    babel-template "^6.22.0"
+    babel-traverse "^6.22.0"
+    babel-types "^6.22.0"
+
+babel-helper-replace-supers@^6.22.0, babel-helper-replace-supers@^6.23.0:
+  version "6.23.0"
+  resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.23.0.tgz#eeaf8ad9b58ec4337ca94223bacdca1f8d9b4bfd"
+  dependencies:
+    babel-helper-optimise-call-expression "^6.23.0"
+    babel-messages "^6.23.0"
+    babel-runtime "^6.22.0"
+    babel-template "^6.23.0"
+    babel-traverse "^6.23.0"
+    babel-types "^6.23.0"
+
+babel-helpers@^6.23.0:
+  version "6.23.0"
+  resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.23.0.tgz#4f8f2e092d0b6a8808a4bde79c27f1e2ecf0d992"
+  dependencies:
+    babel-runtime "^6.22.0"
+    babel-template "^6.23.0"
+
+babel-loader@^6.2.10:
+  version "6.2.10"
+  resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-6.2.10.tgz#adefc2b242320cd5d15e65b31cea0e8b1b02d4b0"
+  dependencies:
+    find-cache-dir "^0.1.1"
+    loader-utils "^0.2.11"
+    mkdirp "^0.5.1"
+    object-assign "^4.0.1"
+
+babel-messages@^6.23.0:
+  version "6.23.0"
+  resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e"
+  dependencies:
+    babel-runtime "^6.22.0"
+
+babel-plugin-check-es2015-constants@^6.22.0:
+  version "6.22.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a"
+  dependencies:
+    babel-runtime "^6.22.0"
+
+babel-plugin-istanbul@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-4.0.0.tgz#36bde8fbef4837e5ff0366531a2beabd7b1ffa10"
+  dependencies:
+    find-up "^2.1.0"
+    istanbul-lib-instrument "^1.4.2"
+    test-exclude "^4.0.0"
+
+babel-plugin-syntax-async-functions@^6.8.0:
+  version "6.13.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95"
+
+babel-plugin-syntax-async-generators@^6.5.0:
+  version "6.13.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz#6bc963ebb16eccbae6b92b596eb7f35c342a8b9a"
+
+babel-plugin-syntax-class-properties@^6.8.0:
+  version "6.13.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz#d7eb23b79a317f8543962c505b827c7d6cac27de"
+
+babel-plugin-syntax-decorators@^6.13.0:
+  version "6.13.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz#312563b4dbde3cc806cee3e416cceeaddd11ac0b"
+
+babel-plugin-syntax-dynamic-import@^6.18.0:
+  version "6.18.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz#8d6a26229c83745a9982a441051572caa179b1da"
+
+babel-plugin-syntax-exponentiation-operator@^6.8.0:
+  version "6.13.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de"
+
+babel-plugin-syntax-object-rest-spread@^6.8.0:
+  version "6.13.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5"
+
+babel-plugin-syntax-trailing-function-commas@^6.22.0:
+  version "6.22.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3"
+
+babel-plugin-transform-async-generator-functions@^6.22.0:
+  version "6.22.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.22.0.tgz#a720a98153a7596f204099cd5409f4b3c05bab46"
+  dependencies:
+    babel-helper-remap-async-to-generator "^6.22.0"
+    babel-plugin-syntax-async-generators "^6.5.0"
+    babel-runtime "^6.22.0"
+
+babel-plugin-transform-async-to-generator@^6.22.0:
+  version "6.22.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.22.0.tgz#194b6938ec195ad36efc4c33a971acf00d8cd35e"
+  dependencies:
+    babel-helper-remap-async-to-generator "^6.22.0"
+    babel-plugin-syntax-async-functions "^6.8.0"
+    babel-runtime "^6.22.0"
+
+babel-plugin-transform-class-properties@^6.22.0:
+  version "6.23.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.23.0.tgz#187b747ee404399013563c993db038f34754ac3b"
+  dependencies:
+    babel-helper-function-name "^6.23.0"
+    babel-plugin-syntax-class-properties "^6.8.0"
+    babel-runtime "^6.22.0"
+    babel-template "^6.23.0"
+
+babel-plugin-transform-decorators@^6.22.0:
+  version "6.22.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.22.0.tgz#c03635b27a23b23b7224f49232c237a73988d27c"
+  dependencies:
+    babel-helper-explode-class "^6.22.0"
+    babel-plugin-syntax-decorators "^6.13.0"
+    babel-runtime "^6.22.0"
+    babel-template "^6.22.0"
+    babel-types "^6.22.0"
+
+babel-plugin-transform-define@^1.2.0:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-define/-/babel-plugin-transform-define-1.2.0.tgz#f036bda05162f29a542e434f585da1ccf1e7ec6a"
+  dependencies:
+    lodash.get "4.4.2"
+    traverse "0.6.6"
+
+babel-plugin-transform-es2015-arrow-functions@^6.22.0:
+  version "6.22.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221"
+  dependencies:
+    babel-runtime "^6.22.0"
+
+babel-plugin-transform-es2015-block-scoped-functions@^6.22.0:
+  version "6.22.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141"
+  dependencies:
+    babel-runtime "^6.22.0"
+
+babel-plugin-transform-es2015-block-scoping@^6.22.0:
+  version "6.23.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.23.0.tgz#e48895cf0b375be148cd7c8879b422707a053b51"
+  dependencies:
+    babel-runtime "^6.22.0"
+    babel-template "^6.23.0"
+    babel-traverse "^6.23.0"
+    babel-types "^6.23.0"
+    lodash "^4.2.0"
+
+babel-plugin-transform-es2015-classes@^6.22.0:
+  version "6.23.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.23.0.tgz#49b53f326202a2fd1b3bbaa5e2edd8a4f78643c1"
+  dependencies:
+    babel-helper-define-map "^6.23.0"
+    babel-helper-function-name "^6.23.0"
+    babel-helper-optimise-call-expression "^6.23.0"
+    babel-helper-replace-supers "^6.23.0"
+    babel-messages "^6.23.0"
+    babel-runtime "^6.22.0"
+    babel-template "^6.23.0"
+    babel-traverse "^6.23.0"
+    babel-types "^6.23.0"
+
+babel-plugin-transform-es2015-computed-properties@^6.22.0:
+  version "6.22.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.22.0.tgz#7c383e9629bba4820c11b0425bdd6290f7f057e7"
+  dependencies:
+    babel-runtime "^6.22.0"
+    babel-template "^6.22.0"
+
+babel-plugin-transform-es2015-destructuring@^6.22.0:
+  version "6.23.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d"
+  dependencies:
+    babel-runtime "^6.22.0"
+
+babel-plugin-transform-es2015-duplicate-keys@^6.22.0:
+  version "6.22.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.22.0.tgz#672397031c21610d72dd2bbb0ba9fb6277e1c36b"
+  dependencies:
+    babel-runtime "^6.22.0"
+    babel-types "^6.22.0"
+
+babel-plugin-transform-es2015-for-of@^6.22.0:
+  version "6.23.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691"
+  dependencies:
+    babel-runtime "^6.22.0"
+
+babel-plugin-transform-es2015-function-name@^6.22.0:
+  version "6.22.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.22.0.tgz#f5fcc8b09093f9a23c76ac3d9e392c3ec4b77104"
+  dependencies:
+    babel-helper-function-name "^6.22.0"
+    babel-runtime "^6.22.0"
+    babel-types "^6.22.0"
+
+babel-plugin-transform-es2015-literals@^6.22.0:
+  version "6.22.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e"
+  dependencies:
+    babel-runtime "^6.22.0"
+
+babel-plugin-transform-es2015-modules-amd@^6.24.0:
+  version "6.24.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.0.tgz#a1911fb9b7ec7e05a43a63c5995007557bcf6a2e"
+  dependencies:
+    babel-plugin-transform-es2015-modules-commonjs "^6.24.0"
+    babel-runtime "^6.22.0"
+    babel-template "^6.22.0"
+
+babel-plugin-transform-es2015-modules-commonjs@^6.24.0:
+  version "6.24.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.24.0.tgz#e921aefb72c2cc26cb03d107626156413222134f"
+  dependencies:
+    babel-plugin-transform-strict-mode "^6.22.0"
+    babel-runtime "^6.22.0"
+    babel-template "^6.23.0"
+    babel-types "^6.23.0"
+
+babel-plugin-transform-es2015-modules-systemjs@^6.22.0:
+  version "6.23.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.23.0.tgz#ae3469227ffac39b0310d90fec73bfdc4f6317b0"
+  dependencies:
+    babel-helper-hoist-variables "^6.22.0"
+    babel-runtime "^6.22.0"
+    babel-template "^6.23.0"
+
+babel-plugin-transform-es2015-modules-umd@^6.24.0:
+  version "6.24.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.0.tgz#fd5fa63521cae8d273927c3958afd7c067733450"
+  dependencies:
+    babel-plugin-transform-es2015-modules-amd "^6.24.0"
+    babel-runtime "^6.22.0"
+    babel-template "^6.23.0"
+
+babel-plugin-transform-es2015-object-super@^6.22.0:
+  version "6.22.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.22.0.tgz#daa60e114a042ea769dd53fe528fc82311eb98fc"
+  dependencies:
+    babel-helper-replace-supers "^6.22.0"
+    babel-runtime "^6.22.0"
+
+babel-plugin-transform-es2015-parameters@^6.22.0:
+  version "6.23.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.23.0.tgz#3a2aabb70c8af945d5ce386f1a4250625a83ae3b"
+  dependencies:
+    babel-helper-call-delegate "^6.22.0"
+    babel-helper-get-function-arity "^6.22.0"
+    babel-runtime "^6.22.0"
+    babel-template "^6.23.0"
+    babel-traverse "^6.23.0"
+    babel-types "^6.23.0"
+
+babel-plugin-transform-es2015-shorthand-properties@^6.22.0:
+  version "6.22.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.22.0.tgz#8ba776e0affaa60bff21e921403b8a652a2ff723"
+  dependencies:
+    babel-runtime "^6.22.0"
+    babel-types "^6.22.0"
+
+babel-plugin-transform-es2015-spread@^6.22.0:
+  version "6.22.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1"
+  dependencies:
+    babel-runtime "^6.22.0"
+
+babel-plugin-transform-es2015-sticky-regex@^6.22.0:
+  version "6.22.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.22.0.tgz#ab316829e866ee3f4b9eb96939757d19a5bc4593"
+  dependencies:
+    babel-helper-regex "^6.22.0"
+    babel-runtime "^6.22.0"
+    babel-types "^6.22.0"
+
+babel-plugin-transform-es2015-template-literals@^6.22.0:
+  version "6.22.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d"
+  dependencies:
+    babel-runtime "^6.22.0"
+
+babel-plugin-transform-es2015-typeof-symbol@^6.22.0:
+  version "6.23.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372"
+  dependencies:
+    babel-runtime "^6.22.0"
+
+babel-plugin-transform-es2015-unicode-regex@^6.22.0:
+  version "6.22.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.22.0.tgz#8d9cc27e7ee1decfe65454fb986452a04a613d20"
+  dependencies:
+    babel-helper-regex "^6.22.0"
+    babel-runtime "^6.22.0"
+    regexpu-core "^2.0.0"
+
+babel-plugin-transform-exponentiation-operator@^6.22.0:
+  version "6.22.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.22.0.tgz#d57c8335281918e54ef053118ce6eb108468084d"
+  dependencies:
+    babel-helper-builder-binary-assignment-operator-visitor "^6.22.0"
+    babel-plugin-syntax-exponentiation-operator "^6.8.0"
+    babel-runtime "^6.22.0"
+
+babel-plugin-transform-object-rest-spread@^6.22.0:
+  version "6.23.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.23.0.tgz#875d6bc9be761c58a2ae3feee5dc4895d8c7f921"
+  dependencies:
+    babel-plugin-syntax-object-rest-spread "^6.8.0"
+    babel-runtime "^6.22.0"
+
+babel-plugin-transform-regenerator@^6.22.0:
+  version "6.22.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.22.0.tgz#65740593a319c44522157538d690b84094617ea6"
+  dependencies:
+    regenerator-transform "0.9.8"
+
+babel-plugin-transform-strict-mode@^6.22.0:
+  version "6.22.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.22.0.tgz#e008df01340fdc87e959da65991b7e05970c8c7c"
+  dependencies:
+    babel-runtime "^6.22.0"
+    babel-types "^6.22.0"
+
+babel-preset-es2015@^6.24.0:
+  version "6.24.0"
+  resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.24.0.tgz#c162d68b1932696e036cd3110dc1ccd303d2673a"
+  dependencies:
+    babel-plugin-check-es2015-constants "^6.22.0"
+    babel-plugin-transform-es2015-arrow-functions "^6.22.0"
+    babel-plugin-transform-es2015-block-scoped-functions "^6.22.0"
+    babel-plugin-transform-es2015-block-scoping "^6.22.0"
+    babel-plugin-transform-es2015-classes "^6.22.0"
+    babel-plugin-transform-es2015-computed-properties "^6.22.0"
+    babel-plugin-transform-es2015-destructuring "^6.22.0"
+    babel-plugin-transform-es2015-duplicate-keys "^6.22.0"
+    babel-plugin-transform-es2015-for-of "^6.22.0"
+    babel-plugin-transform-es2015-function-name "^6.22.0"
+    babel-plugin-transform-es2015-literals "^6.22.0"
+    babel-plugin-transform-es2015-modules-amd "^6.24.0"
+    babel-plugin-transform-es2015-modules-commonjs "^6.24.0"
+    babel-plugin-transform-es2015-modules-systemjs "^6.22.0"
+    babel-plugin-transform-es2015-modules-umd "^6.24.0"
+    babel-plugin-transform-es2015-object-super "^6.22.0"
+    babel-plugin-transform-es2015-parameters "^6.22.0"
+    babel-plugin-transform-es2015-shorthand-properties "^6.22.0"
+    babel-plugin-transform-es2015-spread "^6.22.0"
+    babel-plugin-transform-es2015-sticky-regex "^6.22.0"
+    babel-plugin-transform-es2015-template-literals "^6.22.0"
+    babel-plugin-transform-es2015-typeof-symbol "^6.22.0"
+    babel-plugin-transform-es2015-unicode-regex "^6.22.0"
+    babel-plugin-transform-regenerator "^6.22.0"
+
+babel-preset-es2016@^6.22.0:
+  version "6.22.0"
+  resolved "https://registry.yarnpkg.com/babel-preset-es2016/-/babel-preset-es2016-6.22.0.tgz#b061aaa3983d40c9fbacfa3743b5df37f336156c"
+  dependencies:
+    babel-plugin-transform-exponentiation-operator "^6.22.0"
+
+babel-preset-es2017@^6.22.0:
+  version "6.22.0"
+  resolved "https://registry.yarnpkg.com/babel-preset-es2017/-/babel-preset-es2017-6.22.0.tgz#de2f9da5a30c50d293fb54a0ba15d6ddc573f0f2"
+  dependencies:
+    babel-plugin-syntax-trailing-function-commas "^6.22.0"
+    babel-plugin-transform-async-to-generator "^6.22.0"
+
+babel-preset-latest@^6.24.0:
+  version "6.24.0"
+  resolved "https://registry.yarnpkg.com/babel-preset-latest/-/babel-preset-latest-6.24.0.tgz#a68d20f509edcc5d7433a48dfaebf7e4f2cd4cb7"
+  dependencies:
+    babel-preset-es2015 "^6.24.0"
+    babel-preset-es2016 "^6.22.0"
+    babel-preset-es2017 "^6.22.0"
+
+babel-preset-stage-2@^6.22.0:
+  version "6.22.0"
+  resolved "https://registry.yarnpkg.com/babel-preset-stage-2/-/babel-preset-stage-2-6.22.0.tgz#ccd565f19c245cade394b21216df704a73b27c07"
+  dependencies:
+    babel-plugin-syntax-dynamic-import "^6.18.0"
+    babel-plugin-transform-class-properties "^6.22.0"
+    babel-plugin-transform-decorators "^6.22.0"
+    babel-preset-stage-3 "^6.22.0"
+
+babel-preset-stage-3@^6.22.0:
+  version "6.22.0"
+  resolved "https://registry.yarnpkg.com/babel-preset-stage-3/-/babel-preset-stage-3-6.22.0.tgz#a4e92bbace7456fafdf651d7a7657ee0bbca9c2e"
+  dependencies:
+    babel-plugin-syntax-trailing-function-commas "^6.22.0"
+    babel-plugin-transform-async-generator-functions "^6.22.0"
+    babel-plugin-transform-async-to-generator "^6.22.0"
+    babel-plugin-transform-exponentiation-operator "^6.22.0"
+    babel-plugin-transform-object-rest-spread "^6.22.0"
+
+babel-register@^6.23.0:
+  version "6.23.0"
+  resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.23.0.tgz#c9aa3d4cca94b51da34826c4a0f9e08145d74ff3"
+  dependencies:
+    babel-core "^6.23.0"
+    babel-runtime "^6.22.0"
+    core-js "^2.4.0"
+    home-or-tmp "^2.0.0"
+    lodash "^4.2.0"
+    mkdirp "^0.5.1"
+    source-map-support "^0.4.2"
+
+babel-runtime@^6.18.0, babel-runtime@^6.22.0:
+  version "6.22.0"
+  resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.22.0.tgz#1cf8b4ac67c77a4ddb0db2ae1f74de52ac4ca611"
+  dependencies:
+    core-js "^2.4.0"
+    regenerator-runtime "^0.10.0"
+
+babel-template@^6.16.0, babel-template@^6.22.0, babel-template@^6.23.0:
+  version "6.23.0"
+  resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.23.0.tgz#04d4f270adbb3aa704a8143ae26faa529238e638"
+  dependencies:
+    babel-runtime "^6.22.0"
+    babel-traverse "^6.23.0"
+    babel-types "^6.23.0"
+    babylon "^6.11.0"
+    lodash "^4.2.0"
+
+babel-traverse@^6.18.0, babel-traverse@^6.22.0, babel-traverse@^6.23.0, babel-traverse@^6.23.1:
+  version "6.23.1"
+  resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.23.1.tgz#d3cb59010ecd06a97d81310065f966b699e14f48"
+  dependencies:
+    babel-code-frame "^6.22.0"
+    babel-messages "^6.23.0"
+    babel-runtime "^6.22.0"
+    babel-types "^6.23.0"
+    babylon "^6.15.0"
+    debug "^2.2.0"
+    globals "^9.0.0"
+    invariant "^2.2.0"
+    lodash "^4.2.0"
+
+babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.22.0, babel-types@^6.23.0:
+  version "6.23.0"
+  resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.23.0.tgz#bb17179d7538bad38cd0c9e115d340f77e7e9acf"
+  dependencies:
+    babel-runtime "^6.22.0"
+    esutils "^2.0.2"
+    lodash "^4.2.0"
+    to-fast-properties "^1.0.1"
+
+babylon@^6.11.0:
+  version "6.15.0"
+  resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.15.0.tgz#ba65cfa1a80e1759b0e89fb562e27dccae70348e"
+
+babylon@^6.13.0, babylon@^6.15.0, babylon@^6.16.1:
+  version "6.16.1"
+  resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.16.1.tgz#30c5a22f481978a9e7f8cdfdf496b11d94b404d3"
+
+backo2@1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947"
+
+balanced-match@^0.4.1, balanced-match@^0.4.2:
+  version "0.4.2"
+  resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838"
+
+base64-arraybuffer@0.1.5:
+  version "0.1.5"
+  resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8"
+
+base64-js@^1.0.2:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.0.tgz#a39992d723584811982be5e290bb6a53d86700f1"
+
+base64id@1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/base64id/-/base64id-1.0.0.tgz#47688cb99bb6804f0e06d3e763b1c32e57d8e6b6"
+
+batch@0.5.3:
+  version "0.5.3"
+  resolved "https://registry.yarnpkg.com/batch/-/batch-0.5.3.tgz#3f3414f380321743bfc1042f9a83ff1d5824d464"
+
+bcrypt-pbkdf@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d"
+  dependencies:
+    tweetnacl "^0.14.3"
+
+better-assert@~1.0.0:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/better-assert/-/better-assert-1.0.2.tgz#40866b9e1b9e0b55b481894311e68faffaebc522"
+  dependencies:
+    callsite "1.0.0"
+
+big.js@^3.1.3:
+  version "3.1.3"
+  resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.1.3.tgz#4cada2193652eb3ca9ec8e55c9015669c9806978"
+
+binary-extensions@^1.0.0:
+  version "1.8.0"
+  resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774"
+
+blob@0.0.4:
+  version "0.0.4"
+  resolved "https://registry.yarnpkg.com/blob/-/blob-0.0.4.tgz#bcf13052ca54463f30f9fc7e95b9a47630a94921"
+
+block-stream@*:
+  version "0.0.9"
+  resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a"
+  dependencies:
+    inherits "~2.0.0"
+
+bluebird@^3.0.5, bluebird@^3.1.1, bluebird@^3.3.0:
+  version "3.4.7"
+  resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.7.tgz#f72d760be09b7f76d08ed8fae98b289a8d05fab3"
+
+bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0:
+  version "4.11.6"
+  resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215"
+
+body-parser@^1.16.1:
+  version "1.17.2"
+  resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.17.2.tgz#f8892abc8f9e627d42aedafbca66bf5ab99104ee"
+  dependencies:
+    bytes "2.4.0"
+    content-type "~1.0.2"
+    debug "2.6.7"
+    depd "~1.1.0"
+    http-errors "~1.6.1"
+    iconv-lite "0.4.15"
+    on-finished "~2.3.0"
+    qs "6.4.0"
+    raw-body "~2.2.0"
+    type-is "~1.6.15"
+
+boom@2.x.x:
+  version "2.10.1"
+  resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f"
+  dependencies:
+    hoek "2.x.x"
+
+bootstrap-sass@^3.3.6:
+  version "3.3.6"
+  resolved "https://registry.yarnpkg.com/bootstrap-sass/-/bootstrap-sass-3.3.6.tgz#363b0d300e868d3e70134c1a742bb17288444fd1"
+
+brace-expansion@^1.0.0:
+  version "1.1.6"
+  resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.6.tgz#7197d7eaa9b87e648390ea61fc66c84427420df9"
+  dependencies:
+    balanced-match "^0.4.1"
+    concat-map "0.0.1"
+
+braces@^0.1.2:
+  version "0.1.5"
+  resolved "https://registry.yarnpkg.com/braces/-/braces-0.1.5.tgz#c085711085291d8b75fdd74eab0f8597280711e6"
+  dependencies:
+    expand-range "^0.1.0"
+
+braces@^1.8.2:
+  version "1.8.5"
+  resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7"
+  dependencies:
+    expand-range "^1.8.1"
+    preserve "^0.2.0"
+    repeat-element "^1.1.2"
+
+brorand@^1.0.1:
+  version "1.0.7"
+  resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.0.7.tgz#6677fa5e4901bdbf9c9ec2a748e28dca407a9bfc"
+
+browserify-aes@^1.0.0, browserify-aes@^1.0.4:
+  version "1.0.6"
+  resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.0.6.tgz#5e7725dbdef1fd5930d4ebab48567ce451c48a0a"
+  dependencies:
+    buffer-xor "^1.0.2"
+    cipher-base "^1.0.0"
+    create-hash "^1.1.0"
+    evp_bytestokey "^1.0.0"
+    inherits "^2.0.1"
+
+browserify-cipher@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.0.tgz#9988244874bf5ed4e28da95666dcd66ac8fc363a"
+  dependencies:
+    browserify-aes "^1.0.4"
+    browserify-des "^1.0.0"
+    evp_bytestokey "^1.0.0"
+
+browserify-des@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.0.tgz#daa277717470922ed2fe18594118a175439721dd"
+  dependencies:
+    cipher-base "^1.0.1"
+    des.js "^1.0.0"
+    inherits "^2.0.1"
+
+browserify-rsa@^4.0.0:
+  version "4.0.1"
+  resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524"
+  dependencies:
+    bn.js "^4.1.0"
+    randombytes "^2.0.1"
+
+browserify-sign@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.0.tgz#10773910c3c206d5420a46aad8694f820b85968f"
+  dependencies:
+    bn.js "^4.1.1"
+    browserify-rsa "^4.0.0"
+    create-hash "^1.1.0"
+    create-hmac "^1.1.2"
+    elliptic "^6.0.0"
+    inherits "^2.0.1"
+    parse-asn1 "^5.0.0"
+
+browserify-zlib@^0.1.4:
+  version "0.1.4"
+  resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d"
+  dependencies:
+    pako "~0.2.0"
+
+browserslist@^1.3.6, browserslist@^1.5.2, browserslist@^1.7.6:
+  version "1.7.7"
+  resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-1.7.7.tgz#0bd76704258be829b2398bb50e4b62d1a166b0b9"
+  dependencies:
+    caniuse-db "^1.0.30000639"
+    electron-to-chromium "^1.2.7"
+
+buffer-shims@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51"
+
+buffer-xor@^1.0.2:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9"
+
+buffer@^4.3.0:
+  version "4.9.1"
+  resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298"
+  dependencies:
+    base64-js "^1.0.2"
+    ieee754 "^1.1.4"
+    isarray "^1.0.0"
+
+builtin-modules@^1.0.0, builtin-modules@^1.1.1:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f"
+
+builtin-status-codes@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8"
+
+bytes@2.3.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.3.0.tgz#d5b680a165b6201739acb611542aabc2d8ceb070"
+
+bytes@2.4.0:
+  version "2.4.0"
+  resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.4.0.tgz#7d97196f9d5baf7f6935e25985549edd2a6c2339"
+
+caller-path@^0.1.0:
+  version "0.1.0"
+  resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f"
+  dependencies:
+    callsites "^0.2.0"
+
+callsite@1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20"
+
+callsites@^0.2.0:
+  version "0.2.0"
+  resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca"
+
+camelcase@^1.0.2:
+  version "1.2.1"
+  resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39"
+
+camelcase@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a"
+
+caniuse-api@^1.5.2:
+  version "1.6.1"
+  resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-1.6.1.tgz#b534e7c734c4f81ec5fbe8aca2ad24354b962c6c"
+  dependencies:
+    browserslist "^1.3.6"
+    caniuse-db "^1.0.30000529"
+    lodash.memoize "^4.1.2"
+    lodash.uniq "^4.5.0"
+
+caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639:
+  version "1.0.30000649"
+  resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000649.tgz#1ee1754a6df235450c8b7cd15e0ebf507221a86a"
+
+caseless@~0.11.0:
+  version "0.11.0"
+  resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7"
+
+center-align@^0.1.1:
+  version "0.1.3"
+  resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad"
+  dependencies:
+    align-text "^0.1.3"
+    lazy-cache "^1.0.3"
+
+chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3:
+  version "1.1.3"
+  resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
+  dependencies:
+    ansi-styles "^2.2.1"
+    escape-string-regexp "^1.0.2"
+    has-ansi "^2.0.0"
+    strip-ansi "^3.0.0"
+    supports-color "^2.0.0"
+
+chokidar@^1.4.1, chokidar@^1.4.3, chokidar@^1.6.0:
+  version "1.6.1"
+  resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.6.1.tgz#2f4447ab5e96e50fb3d789fd90d4c72e0e4c70c2"
+  dependencies:
+    anymatch "^1.3.0"
+    async-each "^1.0.0"
+    glob-parent "^2.0.0"
+    inherits "^2.0.1"
+    is-binary-path "^1.0.0"
+    is-glob "^2.0.0"
+    path-is-absolute "^1.0.0"
+    readdirp "^2.0.0"
+  optionalDependencies:
+    fsevents "^1.0.0"
+
+cipher-base@^1.0.0, cipher-base@^1.0.1:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.3.tgz#eeabf194419ce900da3018c207d212f2a6df0a07"
+  dependencies:
+    inherits "^2.0.1"
+
+circular-json@^0.3.1:
+  version "0.3.1"
+  resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d"
+
+clap@^1.0.9:
+  version "1.1.3"
+  resolved "https://registry.yarnpkg.com/clap/-/clap-1.1.3.tgz#b3bd36e93dd4cbfb395a3c26896352445265c05b"
+  dependencies:
+    chalk "^1.1.3"
+
+cli-cursor@^1.0.1:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987"
+  dependencies:
+    restore-cursor "^1.0.1"
+
+cli-width@^2.0.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.1.0.tgz#b234ca209b29ef66fc518d9b98d5847b00edf00a"
+
+clipboard@^1.5.5:
+  version "1.6.1"
+  resolved "https://registry.yarnpkg.com/clipboard/-/clipboard-1.6.1.tgz#65c5b654812466b0faab82dc6ba0f1d2f8e4be53"
+  dependencies:
+    good-listener "^1.2.0"
+    select "^1.1.2"
+    tiny-emitter "^1.0.0"
+
+cliui@^2.1.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1"
+  dependencies:
+    center-align "^0.1.1"
+    right-align "^0.1.1"
+    wordwrap "0.0.2"
+
+cliui@^3.2.0:
+  version "3.2.0"
+  resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d"
+  dependencies:
+    string-width "^1.0.1"
+    strip-ansi "^3.0.1"
+    wrap-ansi "^2.0.0"
+
+clone@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149"
+
+co@^4.6.0:
+  version "4.6.0"
+  resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
+
+coa@~1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/coa/-/coa-1.0.1.tgz#7f959346cfc8719e3f7233cd6852854a7c67d8a3"
+  dependencies:
+    q "^1.1.2"
+
+code-point-at@^1.0.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
+
+color-convert@^1.3.0:
+  version "1.9.0"
+  resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.0.tgz#1accf97dd739b983bf994d56fec8f95853641b7a"
+  dependencies:
+    color-name "^1.1.1"
+
+color-name@^1.0.0, color-name@^1.1.1:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.2.tgz#5c8ab72b64bd2215d617ae9559ebb148475cf98d"
+
+color-string@^0.3.0:
+  version "0.3.0"
+  resolved "https://registry.yarnpkg.com/color-string/-/color-string-0.3.0.tgz#27d46fb67025c5c2fa25993bfbf579e47841b991"
+  dependencies:
+    color-name "^1.0.0"
+
+color@^0.11.0:
+  version "0.11.4"
+  resolved "https://registry.yarnpkg.com/color/-/color-0.11.4.tgz#6d7b5c74fb65e841cd48792ad1ed5e07b904d764"
+  dependencies:
+    clone "^1.0.2"
+    color-convert "^1.3.0"
+    color-string "^0.3.0"
+
+colormin@^1.0.5:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/colormin/-/colormin-1.1.2.tgz#ea2f7420a72b96881a38aae59ec124a6f7298133"
+  dependencies:
+    color "^0.11.0"
+    css-color-names "0.0.4"
+    has "^1.0.1"
+
+colors@^1.1.0, colors@~1.1.2:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63"
+
+combine-lists@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/combine-lists/-/combine-lists-1.0.1.tgz#458c07e09e0d900fc28b70a3fec2dacd1d2cb7f6"
+  dependencies:
+    lodash "^4.5.0"
+
+combined-stream@^1.0.5, combined-stream@~1.0.5:
+  version "1.0.5"
+  resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009"
+  dependencies:
+    delayed-stream "~1.0.0"
+
+commander@^2.8.1, commander@^2.9.0:
+  version "2.9.0"
+  resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4"
+  dependencies:
+    graceful-readlink ">= 1.0.0"
+
+commondir@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
+
+component-bind@1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1"
+
+component-emitter@1.1.2:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.1.2.tgz#296594f2753daa63996d2af08d15a95116c9aec3"
+
+component-emitter@1.2.1:
+  version "1.2.1"
+  resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6"
+
+component-inherit@0.0.3:
+  version "0.0.3"
+  resolved "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143"
+
+compressible@~2.0.8:
+  version "2.0.9"
+  resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.9.tgz#6daab4e2b599c2770dd9e21e7a891b1c5a755425"
+  dependencies:
+    mime-db ">= 1.24.0 < 2"
+
+compression-webpack-plugin@^0.3.2:
+  version "0.3.2"
+  resolved "https://registry.yarnpkg.com/compression-webpack-plugin/-/compression-webpack-plugin-0.3.2.tgz#1edfb0e749d7366d3e701670c463359b2c0cf704"
+  dependencies:
+    async "0.2.x"
+    webpack-sources "^0.1.0"
+  optionalDependencies:
+    node-zopfli "^2.0.0"
+
+compression@^1.5.2:
+  version "1.6.2"
+  resolved "https://registry.yarnpkg.com/compression/-/compression-1.6.2.tgz#cceb121ecc9d09c52d7ad0c3350ea93ddd402bc3"
+  dependencies:
+    accepts "~1.3.3"
+    bytes "2.3.0"
+    compressible "~2.0.8"
+    debug "~2.2.0"
+    on-headers "~1.0.1"
+    vary "~1.1.0"
+
+concat-map@0.0.1:
+  version "0.0.1"
+  resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
+
+concat-stream@^1.4.6:
+  version "1.6.0"
+  resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7"
+  dependencies:
+    inherits "^2.0.3"
+    readable-stream "^2.2.2"
+    typedarray "^0.0.6"
+
+config-chain@~1.1.5:
+  version "1.1.11"
+  resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.11.tgz#aba09747dfbe4c3e70e766a6e41586e1859fc6f2"
+  dependencies:
+    ini "^1.3.4"
+    proto-list "~1.2.1"
+
+configstore@^1.0.0:
+  version "1.4.0"
+  resolved "https://registry.yarnpkg.com/configstore/-/configstore-1.4.0.tgz#c35781d0501d268c25c54b8b17f6240e8a4fb021"
+  dependencies:
+    graceful-fs "^4.1.2"
+    mkdirp "^0.5.0"
+    object-assign "^4.0.1"
+    os-tmpdir "^1.0.0"
+    osenv "^0.1.0"
+    uuid "^2.0.1"
+    write-file-atomic "^1.1.2"
+    xdg-basedir "^2.0.0"
+
+connect-history-api-fallback@^1.3.0:
+  version "1.3.0"
+  resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.3.0.tgz#e51d17f8f0ef0db90a64fdb47de3051556e9f169"
+
+connect@^3.6.0:
+  version "3.6.2"
+  resolved "https://registry.yarnpkg.com/connect/-/connect-3.6.2.tgz#694e8d20681bfe490282c8ab886be98f09f42fe7"
+  dependencies:
+    debug "2.6.7"
+    finalhandler "1.0.3"
+    parseurl "~1.3.1"
+    utils-merge "1.0.0"
+
+console-browserify@^1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10"
+  dependencies:
+    date-now "^0.1.4"
+
+console-control-strings@^1.0.0, console-control-strings@~1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
+
+consolidate@^0.14.0:
+  version "0.14.5"
+  resolved "https://registry.yarnpkg.com/consolidate/-/consolidate-0.14.5.tgz#5a25047bc76f73072667c8cb52c989888f494c63"
+  dependencies:
+    bluebird "^3.1.1"
+
+constants-browserify@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
+
+contains-path@^0.1.0:
+  version "0.1.0"
+  resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a"
+
+content-disposition@0.5.2:
+  version "0.5.2"
+  resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4"
+
+content-type@~1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.2.tgz#b7d113aee7a8dd27bd21133c4dc2529df1721eed"
+
+convert-source-map@^1.1.0:
+  version "1.3.0"
+  resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.3.0.tgz#e9f3e9c6e2728efc2676696a70eb382f73106a67"
+
+cookie-signature@1.0.6:
+  version "1.0.6"
+  resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
+
+cookie@0.3.1:
+  version "0.3.1"
+  resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb"
+
+core-js@^2.2.0, core-js@^2.4.0, core-js@^2.4.1:
+  version "2.4.1"
+  resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e"
+
+core-js@~2.3.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.3.0.tgz#fab83fbb0b2d8dc85fa636c4b9d34c75420c6d65"
+
+core-util-is@~1.0.0:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
+
+cosmiconfig@^2.1.0, cosmiconfig@^2.1.1:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-2.1.1.tgz#817f2c2039347a1e9bf7d090c0923e53f749ca82"
+  dependencies:
+    js-yaml "^3.4.3"
+    minimist "^1.2.0"
+    object-assign "^4.1.0"
+    os-homedir "^1.0.1"
+    parse-json "^2.2.0"
+    require-from-string "^1.1.0"
+
+create-ecdh@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.0.tgz#888c723596cdf7612f6498233eebd7a35301737d"
+  dependencies:
+    bn.js "^4.1.0"
+    elliptic "^6.0.0"
+
+create-hash@^1.1.0, create-hash@^1.1.1:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.1.2.tgz#51210062d7bb7479f6c65bb41a92208b1d61abad"
+  dependencies:
+    cipher-base "^1.0.1"
+    inherits "^2.0.1"
+    ripemd160 "^1.0.0"
+    sha.js "^2.3.6"
+
+create-hmac@^1.1.0, create-hmac@^1.1.2:
+  version "1.1.4"
+  resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.4.tgz#d3fb4ba253eb8b3f56e39ea2fbcb8af747bd3170"
+  dependencies:
+    create-hash "^1.1.0"
+    inherits "^2.0.1"
+
+cryptiles@2.x.x:
+  version "2.0.5"
+  resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8"
+  dependencies:
+    boom "2.x.x"
+
+crypto-browserify@^3.11.0:
+  version "3.11.0"
+  resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.11.0.tgz#3652a0906ab9b2a7e0c3ce66a408e957a2485522"
+  dependencies:
+    browserify-cipher "^1.0.0"
+    browserify-sign "^4.0.0"
+    create-ecdh "^4.0.0"
+    create-hash "^1.1.0"
+    create-hmac "^1.1.0"
+    diffie-hellman "^5.0.0"
+    inherits "^2.0.1"
+    pbkdf2 "^3.0.3"
+    public-encrypt "^4.0.0"
+    randombytes "^2.0.0"
+
+css-color-names@0.0.4:
+  version "0.0.4"
+  resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0"
+
+css-loader@^0.28.0:
+  version "0.28.0"
+  resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-0.28.0.tgz#417cfa9789f8cde59a30ccbf3e4da7a806889bad"
+  dependencies:
+    babel-code-frame "^6.11.0"
+    css-selector-tokenizer "^0.7.0"
+    cssnano ">=2.6.1 <4"
+    loader-utils "^1.0.2"
+    lodash.camelcase "^4.3.0"
+    object-assign "^4.0.1"
+    postcss "^5.0.6"
+    postcss-modules-extract-imports "^1.0.0"
+    postcss-modules-local-by-default "^1.0.1"
+    postcss-modules-scope "^1.0.0"
+    postcss-modules-values "^1.1.0"
+    source-list-map "^0.1.7"
+
+css-selector-tokenizer@^0.6.0:
+  version "0.6.0"
+  resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.6.0.tgz#6445f582c7930d241dcc5007a43d6fcb8f073152"
+  dependencies:
+    cssesc "^0.1.0"
+    fastparse "^1.1.1"
+    regexpu-core "^1.0.0"
+
+css-selector-tokenizer@^0.7.0:
+  version "0.7.0"
+  resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz#e6988474ae8c953477bf5e7efecfceccd9cf4c86"
+  dependencies:
+    cssesc "^0.1.0"
+    fastparse "^1.1.1"
+    regexpu-core "^1.0.0"
+
+cssesc@^0.1.0:
+  version "0.1.0"
+  resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4"
+
+"cssnano@>=2.6.1 <4":
+  version "3.10.0"
+  resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-3.10.0.tgz#4f38f6cea2b9b17fa01490f23f1dc68ea65c1c38"
+  dependencies:
+    autoprefixer "^6.3.1"
+    decamelize "^1.1.2"
+    defined "^1.0.0"
+    has "^1.0.1"
+    object-assign "^4.0.1"
+    postcss "^5.0.14"
+    postcss-calc "^5.2.0"
+    postcss-colormin "^2.1.8"
+    postcss-convert-values "^2.3.4"
+    postcss-discard-comments "^2.0.4"
+    postcss-discard-duplicates "^2.0.1"
+    postcss-discard-empty "^2.0.1"
+    postcss-discard-overridden "^0.1.1"
+    postcss-discard-unused "^2.2.1"
+    postcss-filter-plugins "^2.0.0"
+    postcss-merge-idents "^2.1.5"
+    postcss-merge-longhand "^2.0.1"
+    postcss-merge-rules "^2.0.3"
+    postcss-minify-font-values "^1.0.2"
+    postcss-minify-gradients "^1.0.1"
+    postcss-minify-params "^1.0.4"
+    postcss-minify-selectors "^2.0.4"
+    postcss-normalize-charset "^1.1.0"
+    postcss-normalize-url "^3.0.7"
+    postcss-ordered-values "^2.1.0"
+    postcss-reduce-idents "^2.2.2"
+    postcss-reduce-initial "^1.0.0"
+    postcss-reduce-transforms "^1.0.3"
+    postcss-svgo "^2.1.1"
+    postcss-unique-selectors "^2.0.2"
+    postcss-value-parser "^3.2.3"
+    postcss-zindex "^2.0.1"
+
+csso@~2.3.1:
+  version "2.3.2"
+  resolved "https://registry.yarnpkg.com/csso/-/csso-2.3.2.tgz#ddd52c587033f49e94b71fc55569f252e8ff5f85"
+  dependencies:
+    clap "^1.0.9"
+    source-map "^0.5.3"
+
+custom-event@~1.0.0:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/custom-event/-/custom-event-1.0.1.tgz#5d02a46850adf1b4a317946a3928fccb5bfd0425"
+
+d3@^3.5.11:
+  version "3.5.11"
+  resolved "https://registry.yarnpkg.com/d3/-/d3-3.5.11.tgz#d130750eed0554db70e8432102f920a12407b69c"
+
+d@^0.1.1, d@~0.1.1:
+  version "0.1.1"
+  resolved "https://registry.yarnpkg.com/d/-/d-0.1.1.tgz#da184c535d18d8ee7ba2aa229b914009fae11309"
+  dependencies:
+    es5-ext "~0.10.2"
+
+dashdash@^1.12.0:
+  version "1.14.1"
+  resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
+  dependencies:
+    assert-plus "^1.0.0"
+
+date-now@^0.1.4:
+  version "0.1.4"
+  resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b"
+
+de-indent@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d"
+
+debug@2.2.0, debug@~2.2.0:
+  version "2.2.0"
+  resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da"
+  dependencies:
+    ms "0.7.1"
+
+debug@2.3.3:
+  version "2.3.3"
+  resolved "https://registry.yarnpkg.com/debug/-/debug-2.3.3.tgz#40c453e67e6e13c901ddec317af8986cda9eff8c"
+  dependencies:
+    ms "0.7.2"
+
+debug@2.6.7:
+  version "2.6.7"
+  resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.7.tgz#92bad1f6d05bbb6bba22cca88bcd0ec894c2861e"
+  dependencies:
+    ms "2.0.0"
+
+debug@^2.1.0, debug@^2.1.1, debug@^2.2.0:
+  version "2.6.0"
+  resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.0.tgz#bc596bcabe7617f11d9fa15361eded5608b8499b"
+  dependencies:
+    ms "0.7.2"
+
+decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
+
+deckar01-task_list@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/deckar01-task_list/-/deckar01-task_list-2.0.0.tgz#7f7a595430d21b3036ed5dfbf97d6b65de18e2c9"
+
+deep-extend@~0.4.0:
+  version "0.4.1"
+  resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.1.tgz#efe4113d08085f4e6f9687759810f807469e2253"
+
+deep-is@~0.1.3:
+  version "0.1.3"
+  resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
+
+default-require-extensions@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-1.0.0.tgz#f37ea15d3e13ffd9b437d33e1a75b5fb97874cb8"
+  dependencies:
+    strip-bom "^2.0.0"
+
+defaults@^1.0.2:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d"
+  dependencies:
+    clone "^1.0.2"
+
+defined@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693"
+
+del@^2.0.2:
+  version "2.2.2"
+  resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8"
+  dependencies:
+    globby "^5.0.0"
+    is-path-cwd "^1.0.0"
+    is-path-in-cwd "^1.0.0"
+    object-assign "^4.0.1"
+    pify "^2.0.0"
+    pinkie-promise "^2.0.0"
+    rimraf "^2.2.8"
+
+delayed-stream@~1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
+
+delegate@^3.1.2:
+  version "3.1.2"
+  resolved "https://registry.yarnpkg.com/delegate/-/delegate-3.1.2.tgz#1e1bc6f5cadda6cb6cbf7e6d05d0bcdd5712aebe"
+
+delegates@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
+
+depd@1.1.0, depd@~1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.0.tgz#e1bd82c6aab6ced965b97b88b17ed3e528ca18c3"
+
+des.js@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc"
+  dependencies:
+    inherits "^2.0.1"
+    minimalistic-assert "^1.0.0"
+
+destroy@~1.0.4:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
+
+detect-indent@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208"
+  dependencies:
+    repeating "^2.0.0"
+
+di@^0.0.1:
+  version "0.0.1"
+  resolved "https://registry.yarnpkg.com/di/-/di-0.0.1.tgz#806649326ceaa7caa3306d75d985ea2748ba913c"
+
+diffie-hellman@^5.0.0:
+  version "5.0.2"
+  resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.2.tgz#b5835739270cfe26acf632099fded2a07f209e5e"
+  dependencies:
+    bn.js "^4.1.0"
+    miller-rabin "^4.0.0"
+    randombytes "^2.0.0"
+
+doctrine@1.5.0, doctrine@^1.2.2:
+  version "1.5.0"
+  resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa"
+  dependencies:
+    esutils "^2.0.2"
+    isarray "^1.0.0"
+
+document-register-element@^1.3.0:
+  version "1.3.0"
+  resolved "https://registry.yarnpkg.com/document-register-element/-/document-register-element-1.3.0.tgz#fb3babb523c74662be47be19c6bc33e71990d940"
+
+dom-serialize@^2.2.0:
+  version "2.2.1"
+  resolved "https://registry.yarnpkg.com/dom-serialize/-/dom-serialize-2.2.1.tgz#562ae8999f44be5ea3076f5419dcd59eb43ac95b"
+  dependencies:
+    custom-event "~1.0.0"
+    ent "~2.2.0"
+    extend "^3.0.0"
+    void-elements "^2.0.0"
+
+dom-serializer@0:
+  version "0.1.0"
+  resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82"
+  dependencies:
+    domelementtype "~1.1.1"
+    entities "~1.1.1"
+
+domain-browser@^1.1.1:
+  version "1.1.7"
+  resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc"
+
+domelementtype@1, domelementtype@^1.3.0:
+  version "1.3.0"
+  resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.0.tgz#b17aed82e8ab59e52dd9c19b1756e0fc187204c2"
+
+domelementtype@~1.1.1:
+  version "1.1.3"
+  resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b"
+
+domhandler@^2.3.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.3.0.tgz#2de59a0822d5027fabff6f032c2b25a2a8abe738"
+  dependencies:
+    domelementtype "1"
+
+domutils@^1.5.1:
+  version "1.5.1"
+  resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf"
+  dependencies:
+    dom-serializer "0"
+    domelementtype "1"
+
+dropzone@^4.2.0:
+  version "4.2.0"
+  resolved "https://registry.yarnpkg.com/dropzone/-/dropzone-4.2.0.tgz#fbe7acbb9918e0706489072ef663effeef8a79f3"
+
+duplexer@^0.1.1, duplexer@~0.1.1:
+  version "0.1.1"
+  resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1"
+
+duplexify@^3.2.0:
+  version "3.5.0"
+  resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.5.0.tgz#1aa773002e1578457e9d9d4a50b0ccaaebcbd604"
+  dependencies:
+    end-of-stream "1.0.0"
+    inherits "^2.0.1"
+    readable-stream "^2.0.0"
+    stream-shift "^1.0.0"
+
+ecc-jsbn@~0.1.1:
+  version "0.1.1"
+  resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505"
+  dependencies:
+    jsbn "~0.1.0"
+
+editorconfig@^0.13.2:
+  version "0.13.2"
+  resolved "https://registry.yarnpkg.com/editorconfig/-/editorconfig-0.13.2.tgz#8e57926d9ee69ab6cb999f027c2171467acceb35"
+  dependencies:
+    bluebird "^3.0.5"
+    commander "^2.9.0"
+    lru-cache "^3.2.0"
+    sigmund "^1.0.1"
+
+ee-first@1.1.1:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
+
+ejs@^2.5.6:
+  version "2.5.6"
+  resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.5.6.tgz#479636bfa3fe3b1debd52087f0acb204b4f19c88"
+
+electron-to-chromium@^1.2.7:
+  version "1.3.3"
+  resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.3.tgz#651eb63fe89f39db70ffc8dbd5d9b66958bc6a0e"
+
+elliptic@^6.0.0:
+  version "6.3.3"
+  resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.3.3.tgz#5482d9646d54bcb89fd7d994fc9e2e9568876e3f"
+  dependencies:
+    bn.js "^4.4.0"
+    brorand "^1.0.1"
+    hash.js "^1.0.0"
+    inherits "^2.0.1"
+
+emoji-unicode-version@^0.2.1:
+  version "0.2.1"
+  resolved "https://registry.yarnpkg.com/emoji-unicode-version/-/emoji-unicode-version-0.2.1.tgz#0ebf3666b5414097971d34994e299fce75cdbafc"
+
+emojis-list@^2.0.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
+
+encodeurl@~1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20"
+
+end-of-stream@1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.0.0.tgz#d4596e702734a93e40e9af864319eabd99ff2f0e"
+  dependencies:
+    once "~1.3.0"
+
+engine.io-client@1.8.3:
+  version "1.8.3"
+  resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-1.8.3.tgz#1798ed93451246453d4c6f635d7a201fe940d5ab"
+  dependencies:
+    component-emitter "1.2.1"
+    component-inherit "0.0.3"
+    debug "2.3.3"
+    engine.io-parser "1.3.2"
+    has-cors "1.1.0"
+    indexof "0.0.1"
+    parsejson "0.0.3"
+    parseqs "0.0.5"
+    parseuri "0.0.5"
+    ws "1.1.2"
+    xmlhttprequest-ssl "1.5.3"
+    yeast "0.1.2"
+
+engine.io-parser@1.3.2:
+  version "1.3.2"
+  resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-1.3.2.tgz#937b079f0007d0893ec56d46cb220b8cb435220a"
+  dependencies:
+    after "0.8.2"
+    arraybuffer.slice "0.0.6"
+    base64-arraybuffer "0.1.5"
+    blob "0.0.4"
+    has-binary "0.1.7"
+    wtf-8 "1.0.0"
+
+engine.io@1.8.3:
+  version "1.8.3"
+  resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-1.8.3.tgz#8de7f97895d20d39b85f88eeee777b2bd42b13d4"
+  dependencies:
+    accepts "1.3.3"
+    base64id "1.0.0"
+    cookie "0.3.1"
+    debug "2.3.3"
+    engine.io-parser "1.3.2"
+    ws "1.1.2"
+
+enhanced-resolve@^3.0.0:
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.1.0.tgz#9f4b626f577245edcf4b2ad83d86e17f4f421dec"
+  dependencies:
+    graceful-fs "^4.1.2"
+    memory-fs "^0.4.0"
+    object-assign "^4.0.1"
+    tapable "^0.2.5"
+
+enhanced-resolve@~0.9.0:
+  version "0.9.1"
+  resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz#4d6e689b3725f86090927ccc86cd9f1635b89e2e"
+  dependencies:
+    graceful-fs "^4.1.2"
+    memory-fs "^0.2.0"
+    tapable "^0.1.8"
+
+ent@~2.2.0:
+  version "2.2.0"
+  resolved "https://registry.yarnpkg.com/ent/-/ent-2.2.0.tgz#e964219325a21d05f44466a2f686ed6ce5f5dd1d"
+
+entities@^1.1.1, entities@~1.1.1:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0"
+
+errno@^0.1.3:
+  version "0.1.4"
+  resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.4.tgz#b896e23a9e5e8ba33871fc996abd3635fc9a1c7d"
+  dependencies:
+    prr "~0.0.0"
+
+error-ex@^1.2.0:
+  version "1.3.0"
+  resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.0.tgz#e67b43f3e82c96ea3a584ffee0b9fc3325d802d9"
+  dependencies:
+    is-arrayish "^0.2.1"
+
+es5-ext@^0.10.7, es5-ext@^0.10.8, es5-ext@~0.10.11, es5-ext@~0.10.2, es5-ext@~0.10.7:
+  version "0.10.12"
+  resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.12.tgz#aa84641d4db76b62abba5e45fd805ecbab140047"
+  dependencies:
+    es6-iterator "2"
+    es6-symbol "~3.1"
+
+es6-iterator@2:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.0.tgz#bd968567d61635e33c0b80727613c9cb4b096bac"
+  dependencies:
+    d "^0.1.1"
+    es5-ext "^0.10.7"
+    es6-symbol "3"
+
+es6-map@^0.1.3:
+  version "0.1.4"
+  resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.4.tgz#a34b147be224773a4d7da8072794cefa3632b897"
+  dependencies:
+    d "~0.1.1"
+    es5-ext "~0.10.11"
+    es6-iterator "2"
+    es6-set "~0.1.3"
+    es6-symbol "~3.1.0"
+    event-emitter "~0.3.4"
+
+es6-promise@^3.0.2, es6-promise@~3.0.2:
+  version "3.0.2"
+  resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-3.0.2.tgz#010d5858423a5f118979665f46486a95c6ee2bb6"
+
+es6-set@~0.1.3:
+  version "0.1.4"
+  resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.4.tgz#9516b6761c2964b92ff479456233a247dc707ce8"
+  dependencies:
+    d "~0.1.1"
+    es5-ext "~0.10.11"
+    es6-iterator "2"
+    es6-symbol "3"
+    event-emitter "~0.3.4"
+
+es6-symbol@3, es6-symbol@~3.1, es6-symbol@~3.1.0:
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.0.tgz#94481c655e7a7cad82eba832d97d5433496d7ffa"
+  dependencies:
+    d "~0.1.1"
+    es5-ext "~0.10.11"
+
+es6-weak-map@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.1.tgz#0d2bbd8827eb5fb4ba8f97fbfea50d43db21ea81"
+  dependencies:
+    d "^0.1.1"
+    es5-ext "^0.10.8"
+    es6-iterator "2"
+    es6-symbol "3"
+
+escape-html@~1.0.3:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
+
+escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
+  version "1.0.5"
+  resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
+
+escodegen@1.8.x:
+  version "1.8.1"
+  resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.8.1.tgz#5a5b53af4693110bebb0867aa3430dd3b70a1018"
+  dependencies:
+    esprima "^2.7.1"
+    estraverse "^1.9.1"
+    esutils "^2.0.2"
+    optionator "^0.8.1"
+  optionalDependencies:
+    source-map "~0.2.0"
+
+escope@^3.6.0:
+  version "3.6.0"
+  resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3"
+  dependencies:
+    es6-map "^0.1.3"
+    es6-weak-map "^2.0.1"
+    esrecurse "^4.1.0"
+    estraverse "^4.1.1"
+
+eslint-config-airbnb-base@^10.0.1:
+  version "10.0.1"
+  resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-10.0.1.tgz#f17d4e52992c1d45d1b7713efbcd5ecd0e7e0506"
+
+eslint-import-resolver-node@^0.2.0:
+  version "0.2.3"
+  resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.2.3.tgz#5add8106e8c928db2cba232bcd9efa846e3da16c"
+  dependencies:
+    debug "^2.2.0"
+    object-assign "^4.0.1"
+    resolve "^1.1.6"
+
+eslint-import-resolver-webpack@^0.8.1:
+  version "0.8.1"
+  resolved "https://registry.yarnpkg.com/eslint-import-resolver-webpack/-/eslint-import-resolver-webpack-0.8.1.tgz#c7f8b4d5bd3c5b489457e5728c5db1c4ffbac9aa"
+  dependencies:
+    array-find "^1.0.0"
+    debug "^2.2.0"
+    enhanced-resolve "~0.9.0"
+    find-root "^0.1.1"
+    has "^1.0.1"
+    interpret "^1.0.0"
+    is-absolute "^0.2.3"
+    lodash.get "^3.7.0"
+    node-libs-browser "^1.0.0"
+    resolve "^1.2.0"
+    semver "^5.3.0"
+
+eslint-module-utils@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.0.0.tgz#a6f8c21d901358759cdc35dbac1982ae1ee58bce"
+  dependencies:
+    debug "2.2.0"
+    pkg-dir "^1.0.0"
+
+eslint-plugin-filenames@^1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/eslint-plugin-filenames/-/eslint-plugin-filenames-1.1.0.tgz#bb925218ab25b1aad1c622cfa9cb8f43cc03a4ff"
+  dependencies:
+    lodash.camelcase "4.1.1"
+    lodash.kebabcase "4.0.1"
+    lodash.snakecase "4.0.1"
+
+eslint-plugin-html@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/eslint-plugin-html/-/eslint-plugin-html-2.0.1.tgz#3a829510e82522f1e2e44d55d7661a176121fce1"
+  dependencies:
+    htmlparser2 "^3.8.2"
+
+eslint-plugin-import@^2.2.0:
+  version "2.2.0"
+  resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.2.0.tgz#72ba306fad305d67c4816348a4699a4229ac8b4e"
+  dependencies:
+    builtin-modules "^1.1.1"
+    contains-path "^0.1.0"
+    debug "^2.2.0"
+    doctrine "1.5.0"
+    eslint-import-resolver-node "^0.2.0"
+    eslint-module-utils "^2.0.0"
+    has "^1.0.1"
+    lodash.cond "^4.3.0"
+    minimatch "^3.0.3"
+    pkg-up "^1.0.0"
+
+eslint-plugin-jasmine@^2.1.0:
+  version "2.2.0"
+  resolved "https://registry.yarnpkg.com/eslint-plugin-jasmine/-/eslint-plugin-jasmine-2.2.0.tgz#7135879383c39a667c721d302b9f20f0389543de"
+
+eslint-plugin-promise@^3.5.0:
+  version "3.5.0"
+  resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-3.5.0.tgz#78fbb6ffe047201627569e85a6c5373af2a68fca"
+
+eslint@^3.10.1:
+  version "3.15.0"
+  resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.15.0.tgz#bdcc6a6c5ffe08160e7b93c066695362a91e30f2"
+  dependencies:
+    babel-code-frame "^6.16.0"
+    chalk "^1.1.3"
+    concat-stream "^1.4.6"
+    debug "^2.1.1"
+    doctrine "^1.2.2"
+    escope "^3.6.0"
+    espree "^3.4.0"
+    estraverse "^4.2.0"
+    esutils "^2.0.2"
+    file-entry-cache "^2.0.0"
+    glob "^7.0.3"
+    globals "^9.14.0"
+    ignore "^3.2.0"
+    imurmurhash "^0.1.4"
+    inquirer "^0.12.0"
+    is-my-json-valid "^2.10.0"
+    is-resolvable "^1.0.0"
+    js-yaml "^3.5.1"
+    json-stable-stringify "^1.0.0"
+    levn "^0.3.0"
+    lodash "^4.0.0"
+    mkdirp "^0.5.0"
+    natural-compare "^1.4.0"
+    optionator "^0.8.2"
+    path-is-inside "^1.0.1"
+    pluralize "^1.2.1"
+    progress "^1.1.8"
+    require-uncached "^1.0.2"
+    shelljs "^0.7.5"
+    strip-bom "^3.0.0"
+    strip-json-comments "~2.0.1"
+    table "^3.7.8"
+    text-table "~0.2.0"
+    user-home "^2.0.0"
+
+espree@^3.4.0:
+  version "3.4.0"
+  resolved "https://registry.yarnpkg.com/espree/-/espree-3.4.0.tgz#41656fa5628e042878025ef467e78f125cb86e1d"
+  dependencies:
+    acorn "4.0.4"
+    acorn-jsx "^3.0.0"
+
+esprima@2.7.x, esprima@^2.6.0, esprima@^2.7.1:
+  version "2.7.3"
+  resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581"
+
+esprima@^3.1.1:
+  version "3.1.3"
+  resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633"
+
+esrecurse@^4.1.0:
+  version "4.1.0"
+  resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.1.0.tgz#4713b6536adf7f2ac4f327d559e7756bff648220"
+  dependencies:
+    estraverse "~4.1.0"
+    object-assign "^4.0.1"
+
+estraverse@^1.9.1:
+  version "1.9.3"
+  resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44"
+
+estraverse@^4.1.1, estraverse@^4.2.0:
+  version "4.2.0"
+  resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
+
+estraverse@~4.1.0:
+  version "4.1.1"
+  resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.1.1.tgz#f6caca728933a850ef90661d0e17982ba47111a2"
+
+esutils@^2.0.2:
+  version "2.0.2"
+  resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
+
+etag@~1.8.0:
+  version "1.8.0"
+  resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.0.tgz#6f631aef336d6c46362b51764044ce216be3c051"
+
+eve-raphael@0.5.0:
+  version "0.5.0"
+  resolved "https://registry.yarnpkg.com/eve-raphael/-/eve-raphael-0.5.0.tgz#17c754b792beef3fa6684d79cf5a47c63c4cda30"
+
+event-emitter@~0.3.4:
+  version "0.3.4"
+  resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.4.tgz#8d63ddfb4cfe1fae3b32ca265c4c720222080bb5"
+  dependencies:
+    d "~0.1.1"
+    es5-ext "~0.10.7"
+
+event-stream@~3.3.0:
+  version "3.3.4"
+  resolved "https://registry.yarnpkg.com/event-stream/-/event-stream-3.3.4.tgz#4ab4c9a0f5a54db9338b4c34d86bfce8f4b35571"
+  dependencies:
+    duplexer "~0.1.1"
+    from "~0"
+    map-stream "~0.1.0"
+    pause-stream "0.0.11"
+    split "0.3"
+    stream-combiner "~0.0.4"
+    through "~2.3.1"
+
+eventemitter3@1.x.x:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-1.2.0.tgz#1c86991d816ad1e504750e73874224ecf3bec508"
+
+events@^1.0.0:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924"
+
+eventsource@0.1.6, eventsource@^0.1.3:
+  version "0.1.6"
+  resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-0.1.6.tgz#0acede849ed7dd1ccc32c811bb11b944d4f29232"
+  dependencies:
+    original ">=0.0.5"
+
+evp_bytestokey@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.0.tgz#497b66ad9fef65cd7c08a6180824ba1476b66e53"
+  dependencies:
+    create-hash "^1.1.1"
+
+exit-hook@^1.0.0:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8"
+
+expand-braces@^0.1.1:
+  version "0.1.2"
+  resolved "https://registry.yarnpkg.com/expand-braces/-/expand-braces-0.1.2.tgz#488b1d1d2451cb3d3a6b192cfc030f44c5855fea"
+  dependencies:
+    array-slice "^0.2.3"
+    array-unique "^0.2.1"
+    braces "^0.1.2"
+
+expand-brackets@^0.1.4:
+  version "0.1.5"
+  resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b"
+  dependencies:
+    is-posix-bracket "^0.1.0"
+
+expand-range@^0.1.0:
+  version "0.1.1"
+  resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-0.1.1.tgz#4cb8eda0993ca56fa4f41fc42f3cbb4ccadff044"
+  dependencies:
+    is-number "^0.1.1"
+    repeat-string "^0.2.2"
+
+expand-range@^1.8.1:
+  version "1.8.2"
+  resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337"
+  dependencies:
+    fill-range "^2.1.0"
+
+exports-loader@^0.6.4:
+  version "0.6.4"
+  resolved "https://registry.yarnpkg.com/exports-loader/-/exports-loader-0.6.4.tgz#d70fc6121975b35fc12830cf52754be2740fc886"
+  dependencies:
+    loader-utils "^1.0.2"
+    source-map "0.5.x"
+
+express@^4.13.3, express@^4.15.2:
+  version "4.15.3"
+  resolved "https://registry.yarnpkg.com/express/-/express-4.15.3.tgz#bab65d0f03aa80c358408972fc700f916944b662"
+  dependencies:
+    accepts "~1.3.3"
+    array-flatten "1.1.1"
+    content-disposition "0.5.2"
+    content-type "~1.0.2"
+    cookie "0.3.1"
+    cookie-signature "1.0.6"
+    debug "2.6.7"
+    depd "~1.1.0"
+    encodeurl "~1.0.1"
+    escape-html "~1.0.3"
+    etag "~1.8.0"
+    finalhandler "~1.0.3"
+    fresh "0.5.0"
+    merge-descriptors "1.0.1"
+    methods "~1.1.2"
+    on-finished "~2.3.0"
+    parseurl "~1.3.1"
+    path-to-regexp "0.1.7"
+    proxy-addr "~1.1.4"
+    qs "6.4.0"
+    range-parser "~1.2.0"
+    send "0.15.3"
+    serve-static "1.12.3"
+    setprototypeof "1.0.3"
+    statuses "~1.3.1"
+    type-is "~1.6.15"
+    utils-merge "1.0.0"
+    vary "~1.1.1"
+
+extend@^3.0.0, extend@~3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.0.tgz#5a474353b9f3353ddd8176dfd37b91c83a46f1d4"
+
+extglob@^0.3.1:
+  version "0.3.2"
+  resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1"
+  dependencies:
+    is-extglob "^1.0.0"
+
+extsprintf@1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550"
+
+fast-levenshtein@~2.0.4:
+  version "2.0.6"
+  resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
+
+fastparse@^1.1.1:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.1.tgz#d1e2643b38a94d7583b479060e6c4affc94071f8"
+
+faye-websocket@^0.10.0:
+  version "0.10.0"
+  resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4"
+  dependencies:
+    websocket-driver ">=0.5.1"
+
+faye-websocket@~0.11.0:
+  version "0.11.1"
+  resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.1.tgz#f0efe18c4f56e4f40afc7e06c719fd5ee6188f38"
+  dependencies:
+    websocket-driver ">=0.5.1"
+
+faye-websocket@~0.7.3:
+  version "0.7.3"
+  resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.7.3.tgz#cc4074c7f4a4dfd03af54dd65c354b135132ce11"
+  dependencies:
+    websocket-driver ">=0.3.6"
+
+figures@^1.3.5:
+  version "1.7.0"
+  resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e"
+  dependencies:
+    escape-string-regexp "^1.0.5"
+    object-assign "^4.1.0"
+
+file-entry-cache@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361"
+  dependencies:
+    flat-cache "^1.2.1"
+    object-assign "^4.0.1"
+
+file-loader@^0.11.1:
+  version "0.11.1"
+  resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-0.11.1.tgz#6b328ee1234a729e4e47d36375dd6d35c0e1db84"
+  dependencies:
+    loader-utils "^1.0.2"
+
+filename-regex@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.0.tgz#996e3e80479b98b9897f15a8a58b3d084e926775"
+
+fileset@^2.0.2:
+  version "2.0.3"
+  resolved "https://registry.yarnpkg.com/fileset/-/fileset-2.0.3.tgz#8e7548a96d3cc2327ee5e674168723a333bba2a0"
+  dependencies:
+    glob "^7.0.3"
+    minimatch "^3.0.3"
+
+filesize@3.3.0:
+  version "3.3.0"
+  resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.3.0.tgz#53149ea3460e3b2e024962a51648aa572cf98122"
+
+filesize@^3.5.9:
+  version "3.5.10"
+  resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.5.10.tgz#fc8fa23ddb4ef9e5e0ab6e1e64f679a24a56761f"
+
+fill-range@^2.1.0:
+  version "2.2.3"
+  resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723"
+  dependencies:
+    is-number "^2.1.0"
+    isobject "^2.0.0"
+    randomatic "^1.1.3"
+    repeat-element "^1.1.2"
+    repeat-string "^1.5.2"
+
+finalhandler@1.0.3, finalhandler@~1.0.3:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.0.3.tgz#ef47e77950e999780e86022a560e3217e0d0cc89"
+  dependencies:
+    debug "2.6.7"
+    encodeurl "~1.0.1"
+    escape-html "~1.0.3"
+    on-finished "~2.3.0"
+    parseurl "~1.3.1"
+    statuses "~1.3.1"
+    unpipe "~1.0.0"
+
+find-cache-dir@^0.1.1:
+  version "0.1.1"
+  resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9"
+  dependencies:
+    commondir "^1.0.1"
+    mkdirp "^0.5.1"
+    pkg-dir "^1.0.0"
+
+find-root@^0.1.1:
+  version "0.1.2"
+  resolved "https://registry.yarnpkg.com/find-root/-/find-root-0.1.2.tgz#98d2267cff1916ccaf2743b3a0eea81d79d7dcd1"
+
+find-up@^1.0.0:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
+  dependencies:
+    path-exists "^2.0.0"
+    pinkie-promise "^2.0.0"
+
+find-up@^2.1.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
+  dependencies:
+    locate-path "^2.0.0"
+
+flat-cache@^1.2.1:
+  version "1.2.2"
+  resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.2.2.tgz#fa86714e72c21db88601761ecf2f555d1abc6b96"
+  dependencies:
+    circular-json "^0.3.1"
+    del "^2.0.2"
+    graceful-fs "^4.1.2"
+    write "^0.2.1"
+
+flatten@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782"
+
+for-in@^0.1.5:
+  version "0.1.6"
+  resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.6.tgz#c9f96e89bfad18a545af5ec3ed352a1d9e5b4dc8"
+
+for-own@^0.1.4:
+  version "0.1.4"
+  resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.4.tgz#0149b41a39088c7515f51ebe1c1386d45f935072"
+  dependencies:
+    for-in "^0.1.5"
+
+forever-agent@~0.6.1:
+  version "0.6.1"
+  resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
+
+form-data@~2.1.1:
+  version "2.1.2"
+  resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.2.tgz#89c3534008b97eada4cbb157d58f6f5df025eae4"
+  dependencies:
+    asynckit "^0.4.0"
+    combined-stream "^1.0.5"
+    mime-types "^2.1.12"
+
+forwarded@~0.1.0:
+  version "0.1.0"
+  resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.0.tgz#19ef9874c4ae1c297bcf078fde63a09b66a84363"
+
+fresh@0.5.0:
+  version "0.5.0"
+  resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.0.tgz#f474ca5e6a9246d6fd8e0953cfa9b9c805afa78e"
+
+from@~0:
+  version "0.1.7"
+  resolved "https://registry.yarnpkg.com/from/-/from-0.1.7.tgz#83c60afc58b9c56997007ed1a768b3ab303a44fe"
+
+fs-access@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/fs-access/-/fs-access-1.0.1.tgz#d6a87f262271cefebec30c553407fb995da8777a"
+  dependencies:
+    null-check "^1.0.0"
+
+fs.realpath@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
+
+fsevents@^1.0.0:
+  version "1.0.17"
+  resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.0.17.tgz#8537f3f12272678765b4fd6528c0f1f66f8f4558"
+  dependencies:
+    nan "^2.3.0"
+    node-pre-gyp "^0.6.29"
+
+fstream-ignore@~1.0.5:
+  version "1.0.5"
+  resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105"
+  dependencies:
+    fstream "^1.0.0"
+    inherits "2"
+    minimatch "^3.0.0"
+
+fstream@^1.0.0, fstream@^1.0.2, fstream@~1.0.10:
+  version "1.0.10"
+  resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.10.tgz#604e8a92fe26ffd9f6fae30399d4984e1ab22822"
+  dependencies:
+    graceful-fs "^4.1.2"
+    inherits "~2.0.0"
+    mkdirp ">=0.5 0"
+    rimraf "2"
+
+function-bind@^1.0.2:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771"
+
+gauge@~2.7.1:
+  version "2.7.2"
+  resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.2.tgz#15cecc31b02d05345a5d6b0e171cdb3ad2307774"
+  dependencies:
+    aproba "^1.0.3"
+    console-control-strings "^1.0.0"
+    has-unicode "^2.0.0"
+    object-assign "^4.1.0"
+    signal-exit "^3.0.0"
+    string-width "^1.0.1"
+    strip-ansi "^3.0.1"
+    supports-color "^0.2.0"
+    wide-align "^1.1.0"
+
+generate-function@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74"
+
+generate-object-property@^1.1.0:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0"
+  dependencies:
+    is-property "^1.0.0"
+
+get-caller-file@^1.0.1:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5"
+
+getpass@^0.1.1:
+  version "0.1.6"
+  resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.6.tgz#283ffd9fc1256840875311c1b60e8c40187110e6"
+  dependencies:
+    assert-plus "^1.0.0"
+
+glob-base@^0.3.0:
+  version "0.3.0"
+  resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4"
+  dependencies:
+    glob-parent "^2.0.0"
+    is-glob "^2.0.0"
+
+glob-parent@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28"
+  dependencies:
+    is-glob "^2.0.0"
+
+glob@^5.0.15:
+  version "5.0.15"
+  resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1"
+  dependencies:
+    inflight "^1.0.4"
+    inherits "2"
+    minimatch "2 || 3"
+    once "^1.3.0"
+    path-is-absolute "^1.0.0"
+
+glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1:
+  version "7.1.1"
+  resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8"
+  dependencies:
+    fs.realpath "^1.0.0"
+    inflight "^1.0.4"
+    inherits "2"
+    minimatch "^3.0.2"
+    once "^1.3.0"
+    path-is-absolute "^1.0.0"
+
+globals@^9.0.0, globals@^9.14.0:
+  version "9.14.0"
+  resolved "https://registry.yarnpkg.com/globals/-/globals-9.14.0.tgz#8859936af0038741263053b39d0e76ca241e4034"
+
+globby@^5.0.0:
+  version "5.0.0"
+  resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d"
+  dependencies:
+    array-union "^1.0.1"
+    arrify "^1.0.0"
+    glob "^7.0.3"
+    object-assign "^4.0.1"
+    pify "^2.0.0"
+    pinkie-promise "^2.0.0"
+
+good-listener@^1.2.0:
+  version "1.2.2"
+  resolved "https://registry.yarnpkg.com/good-listener/-/good-listener-1.2.2.tgz#d53b30cdf9313dffb7dc9a0d477096aa6d145c50"
+  dependencies:
+    delegate "^3.1.2"
+
+got@^3.2.0:
+  version "3.3.1"
+  resolved "https://registry.yarnpkg.com/got/-/got-3.3.1.tgz#e5d0ed4af55fc3eef4d56007769d98192bcb2eca"
+  dependencies:
+    duplexify "^3.2.0"
+    infinity-agent "^2.0.0"
+    is-redirect "^1.0.0"
+    is-stream "^1.0.0"
+    lowercase-keys "^1.0.0"
+    nested-error-stacks "^1.0.0"
+    object-assign "^3.0.0"
+    prepend-http "^1.0.0"
+    read-all-stream "^3.0.0"
+    timed-out "^2.0.0"
+
+graceful-fs@^4.1.11, graceful-fs@^4.1.2:
+  version "4.1.11"
+  resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
+
+"graceful-readlink@>= 1.0.0":
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725"
+
+gzip-size@3.0.0, gzip-size@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-3.0.0.tgz#546188e9bdc337f673772f81660464b389dce520"
+  dependencies:
+    duplexer "^0.1.1"
+
+handle-thing@^1.2.4:
+  version "1.2.5"
+  resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-1.2.5.tgz#fd7aad726bf1a5fd16dfc29b2f7a6601d27139c4"
+
+handlebars@^4.0.1, handlebars@^4.0.3:
+  version "4.0.6"
+  resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.6.tgz#2ce4484850537f9c97a8026d5399b935c4ed4ed7"
+  dependencies:
+    async "^1.4.0"
+    optimist "^0.6.1"
+    source-map "^0.4.4"
+  optionalDependencies:
+    uglify-js "^2.6"
+
+har-validator@~2.0.6:
+  version "2.0.6"
+  resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d"
+  dependencies:
+    chalk "^1.1.1"
+    commander "^2.9.0"
+    is-my-json-valid "^2.12.4"
+    pinkie-promise "^2.0.0"
+
+has-ansi@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
+  dependencies:
+    ansi-regex "^2.0.0"
+
+has-binary@0.1.7:
+  version "0.1.7"
+  resolved "https://registry.yarnpkg.com/has-binary/-/has-binary-0.1.7.tgz#68e61eb16210c9545a0a5cce06a873912fe1e68c"
+  dependencies:
+    isarray "0.0.1"
+
+has-cors@1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz#5e474793f7ea9843d1bb99c23eef49ff126fff39"
+
+has-flag@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa"
+
+has-unicode@^2.0.0:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
+
+has@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28"
+  dependencies:
+    function-bind "^1.0.2"
+
+hash-sum@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/hash-sum/-/hash-sum-1.0.2.tgz#33b40777754c6432573c120cc3808bbd10d47f04"
+
+hash.js@^1.0.0:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.0.3.tgz#1332ff00156c0a0ffdd8236013d07b77a0451573"
+  dependencies:
+    inherits "^2.0.1"
+
+hawk@~3.1.3:
+  version "3.1.3"
+  resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4"
+  dependencies:
+    boom "2.x.x"
+    cryptiles "2.x.x"
+    hoek "2.x.x"
+    sntp "1.x.x"
+
+he@^1.1.0:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd"
+
+hoek@2.x.x:
+  version "2.16.3"
+  resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed"
+
+home-or-tmp@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8"
+  dependencies:
+    os-homedir "^1.0.0"
+    os-tmpdir "^1.0.1"
+
+hosted-git-info@^2.1.4:
+  version "2.2.0"
+  resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.2.0.tgz#7a0d097863d886c0fabbdcd37bf1758d8becf8a5"
+
+hpack.js@^2.1.6:
+  version "2.1.6"
+  resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2"
+  dependencies:
+    inherits "^2.0.1"
+    obuf "^1.0.0"
+    readable-stream "^2.0.1"
+    wbuf "^1.1.0"
+
+html-comment-regex@^1.1.0:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.1.tgz#668b93776eaae55ebde8f3ad464b307a4963625e"
+
+html-entities@1.2.0, html-entities@^1.2.0:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.0.tgz#41948caf85ce82fed36e4e6a0ed371a6664379e2"
+
+htmlparser2@^3.8.2:
+  version "3.9.2"
+  resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.9.2.tgz#1bdf87acca0f3f9e53fa4fcceb0f4b4cbb00b338"
+  dependencies:
+    domelementtype "^1.3.0"
+    domhandler "^2.3.0"
+    domutils "^1.5.1"
+    entities "^1.1.1"
+    inherits "^2.0.1"
+    readable-stream "^2.0.2"
+
+http-deceiver@^1.2.4:
+  version "1.2.7"
+  resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87"
+
+http-errors@~1.5.0:
+  version "1.5.1"
+  resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.5.1.tgz#788c0d2c1de2c81b9e6e8c01843b6b97eb920750"
+  dependencies:
+    inherits "2.0.3"
+    setprototypeof "1.0.2"
+    statuses ">= 1.3.1 < 2"
+
+http-errors@~1.6.1:
+  version "1.6.1"
+  resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.1.tgz#5f8b8ed98aca545656bf572997387f904a722257"
+  dependencies:
+    depd "1.1.0"
+    inherits "2.0.3"
+    setprototypeof "1.0.3"
+    statuses ">= 1.3.1 < 2"
+
+http-proxy-middleware@~0.17.4:
+  version "0.17.4"
+  resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.17.4.tgz#642e8848851d66f09d4f124912846dbaeb41b833"
+  dependencies:
+    http-proxy "^1.16.2"
+    is-glob "^3.1.0"
+    lodash "^4.17.2"
+    micromatch "^2.3.11"
+
+http-proxy@^1.13.0, http-proxy@^1.16.2:
+  version "1.16.2"
+  resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.16.2.tgz#06dff292952bf64dbe8471fa9df73066d4f37742"
+  dependencies:
+    eventemitter3 "1.x.x"
+    requires-port "1.x.x"
+
+http-signature@~1.1.0:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf"
+  dependencies:
+    assert-plus "^0.2.0"
+    jsprim "^1.2.2"
+    sshpk "^1.7.0"
+
+https-browserify@0.0.1:
+  version "0.0.1"
+  resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-0.0.1.tgz#3f91365cabe60b77ed0ebba24b454e3e09d95a82"
+
+iconv-lite@0.4.15:
+  version "0.4.15"
+  resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.15.tgz#fe265a218ac6a57cfe854927e9d04c19825eddeb"
+
+icss-replace-symbols@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.0.2.tgz#cb0b6054eb3af6edc9ab1d62d01933e2d4c8bfa5"
+
+ieee754@^1.1.4:
+  version "1.1.8"
+  resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4"
+
+ignore-by-default@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09"
+
+ignore@^3.2.0:
+  version "3.2.2"
+  resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.2.2.tgz#1c51e1ef53bab6ddc15db4d9ac4ec139eceb3410"
+
+immediate@~3.0.5:
+  version "3.0.6"
+  resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b"
+
+imurmurhash@^0.1.4:
+  version "0.1.4"
+  resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
+
+indexes-of@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607"
+
+indexof@0.0.1:
+  version "0.0.1"
+  resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d"
+
+infinity-agent@^2.0.0:
+  version "2.0.3"
+  resolved "https://registry.yarnpkg.com/infinity-agent/-/infinity-agent-2.0.3.tgz#45e0e2ff7a9eb030b27d62b74b3744b7a7ac4216"
+
+inflight@^1.0.4:
+  version "1.0.6"
+  resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
+  dependencies:
+    once "^1.3.0"
+    wrappy "1"
+
+inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1:
+  version "2.0.3"
+  resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
+
+inherits@2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1"
+
+ini@^1.3.4, ini@~1.3.0:
+  version "1.3.4"
+  resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e"
+
+inquirer@^0.12.0:
+  version "0.12.0"
+  resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e"
+  dependencies:
+    ansi-escapes "^1.1.0"
+    ansi-regex "^2.0.0"
+    chalk "^1.0.0"
+    cli-cursor "^1.0.1"
+    cli-width "^2.0.0"
+    figures "^1.3.5"
+    lodash "^4.3.0"
+    readline2 "^1.0.1"
+    run-async "^0.1.0"
+    rx-lite "^3.1.2"
+    string-width "^1.0.1"
+    strip-ansi "^3.0.0"
+    through "^2.3.6"
+
+interpret@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.1.tgz#d579fb7f693b858004947af39fa0db49f795602c"
+
+invariant@^2.2.0:
+  version "2.2.2"
+  resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360"
+  dependencies:
+    loose-envify "^1.0.0"
+
+invert-kv@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6"
+
+ipaddr.js@1.3.0:
+  version "1.3.0"
+  resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.3.0.tgz#1e03a52fdad83a8bbb2b25cbf4998b4cffcd3dec"
+
+is-absolute-url@^2.0.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6"
+
+is-absolute@^0.2.3:
+  version "0.2.6"
+  resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-0.2.6.tgz#20de69f3db942ef2d87b9c2da36f172235b1b5eb"
+  dependencies:
+    is-relative "^0.2.1"
+    is-windows "^0.2.0"
+
+is-arrayish@^0.2.1:
+  version "0.2.1"
+  resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
+
+is-binary-path@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898"
+  dependencies:
+    binary-extensions "^1.0.0"
+
+is-buffer@^1.0.2:
+  version "1.1.4"
+  resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.4.tgz#cfc86ccd5dc5a52fa80489111c6920c457e2d98b"
+
+is-builtin-module@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe"
+  dependencies:
+    builtin-modules "^1.0.0"
+
+is-dotfile@^1.0.0:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.2.tgz#2c132383f39199f8edc268ca01b9b007d205cc4d"
+
+is-equal-shallow@^0.1.3:
+  version "0.1.3"
+  resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534"
+  dependencies:
+    is-primitive "^2.0.0"
+
+is-extendable@^0.1.1:
+  version "0.1.1"
+  resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
+
+is-extglob@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0"
+
+is-extglob@^2.1.0:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
+
+is-finite@^1.0.0:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa"
+  dependencies:
+    number-is-nan "^1.0.0"
+
+is-fullwidth-code-point@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
+  dependencies:
+    number-is-nan "^1.0.0"
+
+is-fullwidth-code-point@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
+
+is-glob@^2.0.0, is-glob@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863"
+  dependencies:
+    is-extglob "^1.0.0"
+
+is-glob@^3.1.0:
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a"
+  dependencies:
+    is-extglob "^2.1.0"
+
+is-my-json-valid@^2.10.0, is-my-json-valid@^2.12.4:
+  version "2.15.0"
+  resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz#936edda3ca3c211fd98f3b2d3e08da43f7b2915b"
+  dependencies:
+    generate-function "^2.0.0"
+    generate-object-property "^1.1.0"
+    jsonpointer "^4.0.0"
+    xtend "^4.0.0"
+
+is-npm@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4"
+
+is-number@^0.1.1:
+  version "0.1.1"
+  resolved "https://registry.yarnpkg.com/is-number/-/is-number-0.1.1.tgz#69a7af116963d47206ec9bd9b48a14216f1e3806"
+
+is-number@^2.0.2, is-number@^2.1.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f"
+  dependencies:
+    kind-of "^3.0.2"
+
+is-path-cwd@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d"
+
+is-path-in-cwd@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc"
+  dependencies:
+    is-path-inside "^1.0.0"
+
+is-path-inside@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.0.tgz#fc06e5a1683fbda13de667aff717bbc10a48f37f"
+  dependencies:
+    path-is-inside "^1.0.1"
+
+is-plain-obj@^1.0.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
+
+is-posix-bracket@^0.1.0:
+  version "0.1.1"
+  resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4"
+
+is-primitive@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575"
+
+is-property@^1.0.0:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84"
+
+is-redirect@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24"
+
+is-relative@^0.2.1:
+  version "0.2.1"
+  resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-0.2.1.tgz#d27f4c7d516d175fb610db84bbeef23c3bc97aa5"
+  dependencies:
+    is-unc-path "^0.1.1"
+
+is-resolvable@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.0.0.tgz#8df57c61ea2e3c501408d100fb013cf8d6e0cc62"
+  dependencies:
+    tryit "^1.0.1"
+
+is-stream@^1.0.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
+
+is-svg@^2.0.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-2.1.0.tgz#cf61090da0d9efbcab8722deba6f032208dbb0e9"
+  dependencies:
+    html-comment-regex "^1.1.0"
+
+is-typedarray@~1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
+
+is-unc-path@^0.1.1:
+  version "0.1.2"
+  resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-0.1.2.tgz#6ab053a72573c10250ff416a3814c35178af39b9"
+  dependencies:
+    unc-path-regex "^0.1.0"
+
+is-utf8@^0.2.0:
+  version "0.2.1"
+  resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
+
+is-windows@^0.2.0:
+  version "0.2.0"
+  resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-0.2.0.tgz#de1aa6d63ea29dd248737b69f1ff8b8002d2108c"
+
+isarray@0.0.1:
+  version "0.0.1"
+  resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
+
+isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
+
+isbinaryfile@^3.0.0:
+  version "3.0.2"
+  resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-3.0.2.tgz#4a3e974ec0cba9004d3fc6cde7209ea69368a621"
+
+isexe@^1.1.1:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/isexe/-/isexe-1.1.2.tgz#36f3e22e60750920f5e7241a476a8c6a42275ad0"
+
+isobject@^2.0.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
+  dependencies:
+    isarray "1.0.0"
+
+isstream@~0.1.2:
+  version "0.1.2"
+  resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
+
+istanbul-api@^1.1.1:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-1.1.1.tgz#d36e2f1560d1a43ce304c4ff7338182de61c8f73"
+  dependencies:
+    async "^2.1.4"
+    fileset "^2.0.2"
+    istanbul-lib-coverage "^1.0.0"
+    istanbul-lib-hook "^1.0.0"
+    istanbul-lib-instrument "^1.3.0"
+    istanbul-lib-report "^1.0.0-alpha.3"
+    istanbul-lib-source-maps "^1.1.0"
+    istanbul-reports "^1.0.0"
+    js-yaml "^3.7.0"
+    mkdirp "^0.5.1"
+    once "^1.4.0"
+
+istanbul-lib-coverage@^1.0.0, istanbul-lib-coverage@^1.0.0-alpha, istanbul-lib-coverage@^1.0.0-alpha.0:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.0.1.tgz#f263efb519c051c5f1f3343034fc40e7b43ff212"
+
+istanbul-lib-hook@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-1.0.0.tgz#fc5367ee27f59268e8f060b0c7aaf051d9c425c5"
+  dependencies:
+    append-transform "^0.4.0"
+
+istanbul-lib-instrument@^1.3.0, istanbul-lib-instrument@^1.4.2:
+  version "1.4.2"
+  resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.4.2.tgz#0e2fdfac93c1dabf2e31578637dc78a19089f43e"
+  dependencies:
+    babel-generator "^6.18.0"
+    babel-template "^6.16.0"
+    babel-traverse "^6.18.0"
+    babel-types "^6.18.0"
+    babylon "^6.13.0"
+    istanbul-lib-coverage "^1.0.0"
+    semver "^5.3.0"
+
+istanbul-lib-report@^1.0.0-alpha.3:
+  version "1.0.0-alpha.3"
+  resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-1.0.0-alpha.3.tgz#32d5f6ec7f33ca3a602209e278b2e6ff143498af"
+  dependencies:
+    async "^1.4.2"
+    istanbul-lib-coverage "^1.0.0-alpha"
+    mkdirp "^0.5.1"
+    path-parse "^1.0.5"
+    rimraf "^2.4.3"
+    supports-color "^3.1.2"
+
+istanbul-lib-source-maps@^1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.1.0.tgz#9d429218f35b823560ea300a96ff0c3bbdab785f"
+  dependencies:
+    istanbul-lib-coverage "^1.0.0-alpha.0"
+    mkdirp "^0.5.1"
+    rimraf "^2.4.4"
+    source-map "^0.5.3"
+
+istanbul-reports@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.0.1.tgz#9a17176bc4a6cbebdae52b2f15961d52fa623fbc"
+  dependencies:
+    handlebars "^4.0.3"
+
+istanbul@^0.4.5:
+  version "0.4.5"
+  resolved "https://registry.yarnpkg.com/istanbul/-/istanbul-0.4.5.tgz#65c7d73d4c4da84d4f3ac310b918fb0b8033733b"
+  dependencies:
+    abbrev "1.0.x"
+    async "1.x"
+    escodegen "1.8.x"
+    esprima "2.7.x"
+    glob "^5.0.15"
+    handlebars "^4.0.1"
+    js-yaml "3.x"
+    mkdirp "0.5.x"
+    nopt "3.x"
+    once "1.x"
+    resolve "1.1.x"
+    supports-color "^3.1.0"
+    which "^1.1.1"
+    wordwrap "^1.0.0"
+
+jasmine-core@^2.6.3:
+  version "2.6.3"
+  resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-2.6.3.tgz#45072950e4a42b1e322fe55c001100a465d77815"
+
+jasmine-jquery@^2.1.1:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/jasmine-jquery/-/jasmine-jquery-2.1.1.tgz#d4095e646944a26763235769ab018d9f30f0d47b"
+
+jed@^1.1.1:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/jed/-/jed-1.1.1.tgz#7a549bbd9ffe1585b0cd0a191e203055bee574b4"
+
+jodid25519@^1.0.0:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/jodid25519/-/jodid25519-1.0.2.tgz#06d4912255093419477d425633606e0e90782967"
+  dependencies:
+    jsbn "~0.1.0"
+
+jquery-ujs@^1.2.1:
+  version "1.2.1"
+  resolved "https://registry.yarnpkg.com/jquery-ujs/-/jquery-ujs-1.2.1.tgz#6ee75b1ef4e9ac95e7124f8d71f7d351f5548e92"
+  dependencies:
+    jquery ">=1.8.0"
+
+jquery@>=1.8.0, jquery@^2.2.1:
+  version "2.2.1"
+  resolved "https://registry.yarnpkg.com/jquery/-/jquery-2.2.1.tgz#3c3e16854ad3d2ac44ac65021b17426d22ad803f"
+
+js-base64@^2.1.9:
+  version "2.1.9"
+  resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.1.9.tgz#f0e80ae039a4bd654b5f281fc93f04a914a7fcce"
+
+js-beautify@^1.6.3:
+  version "1.6.12"
+  resolved "https://registry.yarnpkg.com/js-beautify/-/js-beautify-1.6.12.tgz#78b75933505d376da6e5a28e9b7887e0094db8b5"
+  dependencies:
+    config-chain "~1.1.5"
+    editorconfig "^0.13.2"
+    mkdirp "~0.5.0"
+    nopt "~3.0.1"
+
+js-cookie@^2.1.3:
+  version "2.1.3"
+  resolved "https://registry.yarnpkg.com/js-cookie/-/js-cookie-2.1.3.tgz#48071625217ac9ecfab8c343a13d42ec09ff0526"
+
+js-tokens@^3.0.0:
+  version "3.0.1"
+  resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7"
+
+js-yaml@3.x, js-yaml@^3.4.3, js-yaml@^3.5.1, js-yaml@^3.7.0:
+  version "3.8.1"
+  resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.8.1.tgz#782ba50200be7b9e5a8537001b7804db3ad02628"
+  dependencies:
+    argparse "^1.0.7"
+    esprima "^3.1.1"
+
+js-yaml@~3.7.0:
+  version "3.7.0"
+  resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80"
+  dependencies:
+    argparse "^1.0.7"
+    esprima "^2.6.0"
+
+jsbn@~0.1.0:
+  version "0.1.0"
+  resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.0.tgz#650987da0dd74f4ebf5a11377a2aa2d273e97dfd"
+
+jsesc@^1.3.0:
+  version "1.3.0"
+  resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b"
+
+jsesc@~0.5.0:
+  version "0.5.0"
+  resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
+
+json-loader@^0.5.4:
+  version "0.5.4"
+  resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.4.tgz#8baa1365a632f58a3c46d20175fc6002c96e37de"
+
+json-schema@0.2.3:
+  version "0.2.3"
+  resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
+
+json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af"
+  dependencies:
+    jsonify "~0.0.0"
+
+json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1:
+  version "5.0.1"
+  resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
+
+json3@3.3.2, json3@^3.3.2:
+  version "3.3.2"
+  resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1"
+
+json5@^0.5.0, json5@^0.5.1:
+  version "0.5.1"
+  resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
+
+jsonify@~0.0.0:
+  version "0.0.0"
+  resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
+
+jsonpointer@^4.0.0:
+  version "4.0.1"
+  resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9"
+
+jsprim@^1.2.2:
+  version "1.3.1"
+  resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.3.1.tgz#2a7256f70412a29ee3670aaca625994c4dcff252"
+  dependencies:
+    extsprintf "1.0.2"
+    json-schema "0.2.3"
+    verror "1.3.6"
+
+jszip-utils@^0.0.2:
+  version "0.0.2"
+  resolved "https://registry.yarnpkg.com/jszip-utils/-/jszip-utils-0.0.2.tgz#457d5cbca60a1c2e0706e9da2b544e8e7bc50bf8"
+
+jszip@^3.1.3:
+  version "3.1.3"
+  resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.1.3.tgz#8a920403b2b1651c0fc126be90192d9080957c37"
+  dependencies:
+    core-js "~2.3.0"
+    es6-promise "~3.0.2"
+    lie "~3.1.0"
+    pako "~1.0.2"
+    readable-stream "~2.0.6"
+
+karma-chrome-launcher@^2.1.1:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/karma-chrome-launcher/-/karma-chrome-launcher-2.1.1.tgz#216879c68ac04d8d5140e99619ba04b59afd46cf"
+  dependencies:
+    fs-access "^1.0.0"
+    which "^1.2.1"
+
+karma-coverage-istanbul-reporter@^0.2.0:
+  version "0.2.0"
+  resolved "https://registry.yarnpkg.com/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-0.2.0.tgz#5766263338adeb0026f7e4ac7a89a5f056c5642c"
+  dependencies:
+    istanbul-api "^1.1.1"
+
+karma-jasmine@^1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/karma-jasmine/-/karma-jasmine-1.1.0.tgz#22e4c06bf9a182e5294d1f705e3733811b810acf"
+
+karma-mocha-reporter@^2.2.2:
+  version "2.2.2"
+  resolved "https://registry.yarnpkg.com/karma-mocha-reporter/-/karma-mocha-reporter-2.2.2.tgz#876de9a287244e54a608591732a98e66611f6abe"
+  dependencies:
+    chalk "1.1.3"
+
+karma-sourcemap-loader@^0.3.7:
+  version "0.3.7"
+  resolved "https://registry.yarnpkg.com/karma-sourcemap-loader/-/karma-sourcemap-loader-0.3.7.tgz#91322c77f8f13d46fed062b042e1009d4c4505d8"
+  dependencies:
+    graceful-fs "^4.1.2"
+
+karma-webpack@^2.0.2:
+  version "2.0.2"
+  resolved "https://registry.yarnpkg.com/karma-webpack/-/karma-webpack-2.0.2.tgz#bd38350af5645c9644090770939ebe7ce726f864"
+  dependencies:
+    async "~0.9.0"
+    loader-utils "^0.2.5"
+    lodash "^3.8.0"
+    source-map "^0.1.41"
+    webpack-dev-middleware "^1.0.11"
+
+karma@^1.7.0:
+  version "1.7.0"
+  resolved "https://registry.yarnpkg.com/karma/-/karma-1.7.0.tgz#6f7a1a406446fa2e187ec95398698f4cee476269"
+  dependencies:
+    bluebird "^3.3.0"
+    body-parser "^1.16.1"
+    chokidar "^1.4.1"
+    colors "^1.1.0"
+    combine-lists "^1.0.0"
+    connect "^3.6.0"
+    core-js "^2.2.0"
+    di "^0.0.1"
+    dom-serialize "^2.2.0"
+    expand-braces "^0.1.1"
+    glob "^7.1.1"
+    graceful-fs "^4.1.2"
+    http-proxy "^1.13.0"
+    isbinaryfile "^3.0.0"
+    lodash "^3.8.0"
+    log4js "^0.6.31"
+    mime "^1.3.4"
+    minimatch "^3.0.2"
+    optimist "^0.6.1"
+    qjobs "^1.1.4"
+    range-parser "^1.2.0"
+    rimraf "^2.6.0"
+    safe-buffer "^5.0.1"
+    socket.io "1.7.3"
+    source-map "^0.5.3"
+    tmp "0.0.31"
+    useragent "^2.1.12"
+
+kind-of@^3.0.2:
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.1.0.tgz#475d698a5e49ff5e53d14e3e732429dc8bf4cf47"
+  dependencies:
+    is-buffer "^1.0.2"
+
+latest-version@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-1.0.1.tgz#72cfc46e3e8d1be651e1ebb54ea9f6ea96f374bb"
+  dependencies:
+    package-json "^1.0.0"
+
+lazy-cache@^1.0.3:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e"
+
+lcid@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835"
+  dependencies:
+    invert-kv "^1.0.0"
+
+levn@^0.3.0, levn@~0.3.0:
+  version "0.3.0"
+  resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
+  dependencies:
+    prelude-ls "~1.1.2"
+    type-check "~0.3.2"
+
+lie@~3.1.0:
+  version "3.1.1"
+  resolved "https://registry.yarnpkg.com/lie/-/lie-3.1.1.tgz#9a436b2cc7746ca59de7a41fa469b3efb76bd87e"
+  dependencies:
+    immediate "~3.0.5"
+
+load-json-file@^1.0.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"
+  dependencies:
+    graceful-fs "^4.1.2"
+    parse-json "^2.2.0"
+    pify "^2.0.0"
+    pinkie-promise "^2.0.0"
+    strip-bom "^2.0.0"
+
+loader-runner@^2.3.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2"
+
+loader-utils@^0.2.11, loader-utils@^0.2.16, loader-utils@^0.2.5:
+  version "0.2.16"
+  resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.16.tgz#f08632066ed8282835dff88dfb52704765adee6d"
+  dependencies:
+    big.js "^3.1.3"
+    emojis-list "^2.0.0"
+    json5 "^0.5.0"
+    object-assign "^4.0.1"
+
+loader-utils@^1.0.2, loader-utils@^1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.1.0.tgz#c98aef488bcceda2ffb5e2de646d6a754429f5cd"
+  dependencies:
+    big.js "^3.1.3"
+    emojis-list "^2.0.0"
+    json5 "^0.5.0"
+
+locate-path@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
+  dependencies:
+    p-locate "^2.0.0"
+    path-exists "^3.0.0"
+
+lodash._baseassign@^3.0.0:
+  version "3.2.0"
+  resolved "https://registry.yarnpkg.com/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz#8c38a099500f215ad09e59f1722fd0c52bfe0a4e"
+  dependencies:
+    lodash._basecopy "^3.0.0"
+    lodash.keys "^3.0.0"
+
+lodash._basecopy@^3.0.0:
+  version "3.0.1"
+  resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36"
+
+lodash._baseget@^3.0.0:
+  version "3.7.2"
+  resolved "https://registry.yarnpkg.com/lodash._baseget/-/lodash._baseget-3.7.2.tgz#1b6ae1d5facf3c25532350a13c1197cb8bb674f4"
+
+lodash._bindcallback@^3.0.0:
+  version "3.0.1"
+  resolved "https://registry.yarnpkg.com/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz#e531c27644cf8b57a99e17ed95b35c748789392e"
+
+lodash._createassigner@^3.0.0:
+  version "3.1.1"
+  resolved "https://registry.yarnpkg.com/lodash._createassigner/-/lodash._createassigner-3.1.1.tgz#838a5bae2fdaca63ac22dee8e19fa4e6d6970b11"
+  dependencies:
+    lodash._bindcallback "^3.0.0"
+    lodash._isiterateecall "^3.0.0"
+    lodash.restparam "^3.0.0"
+
+lodash._getnative@^3.0.0:
+  version "3.9.1"
+  resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5"
+
+lodash._isiterateecall@^3.0.0:
+  version "3.0.9"
+  resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c"
+
+lodash._topath@^3.0.0:
+  version "3.8.1"
+  resolved "https://registry.yarnpkg.com/lodash._topath/-/lodash._topath-3.8.1.tgz#3ec5e2606014f4cb97f755fe6914edd8bfc00eac"
+  dependencies:
+    lodash.isarray "^3.0.0"
+
+lodash.assign@^3.0.0:
+  version "3.2.0"
+  resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-3.2.0.tgz#3ce9f0234b4b2223e296b8fa0ac1fee8ebca64fa"
+  dependencies:
+    lodash._baseassign "^3.0.0"
+    lodash._createassigner "^3.0.0"
+    lodash.keys "^3.0.0"
+
+lodash.camelcase@4.1.1:
+  version "4.1.1"
+  resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.1.1.tgz#065b3ff08f0b7662f389934c46a5504c90e0b2d8"
+  dependencies:
+    lodash.capitalize "^4.0.0"
+    lodash.deburr "^4.0.0"
+    lodash.words "^4.0.0"
+
+lodash.camelcase@^4.3.0:
+  version "4.3.0"
+  resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6"
+
+lodash.capitalize@^4.0.0:
+  version "4.2.1"
+  resolved "https://registry.yarnpkg.com/lodash.capitalize/-/lodash.capitalize-4.2.1.tgz#f826c9b4e2a8511d84e3aca29db05e1a4f3b72a9"
+
+lodash.cond@^4.3.0:
+  version "4.5.2"
+  resolved "https://registry.yarnpkg.com/lodash.cond/-/lodash.cond-4.5.2.tgz#f471a1da486be60f6ab955d17115523dd1d255d5"
+
+lodash.deburr@^4.0.0:
+  version "4.1.0"
+  resolved "https://registry.yarnpkg.com/lodash.deburr/-/lodash.deburr-4.1.0.tgz#ddb1bbb3ef07458c0177ba07de14422cb033ff9b"
+
+lodash.defaults@^3.1.2:
+  version "3.1.2"
+  resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-3.1.2.tgz#c7308b18dbf8bc9372d701a73493c61192bd2e2c"
+  dependencies:
+    lodash.assign "^3.0.0"
+    lodash.restparam "^3.0.0"
+
+lodash.get@4.4.2:
+  version "4.4.2"
+  resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99"
+
+lodash.get@^3.7.0:
+  version "3.7.0"
+  resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-3.7.0.tgz#3ce68ae2c91683b281cc5394128303cbf75e691f"
+  dependencies:
+    lodash._baseget "^3.0.0"
+    lodash._topath "^3.0.0"
+
+lodash.isarguments@^3.0.0:
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a"
+
+lodash.isarray@^3.0.0:
+  version "3.0.4"
+  resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55"
+
+lodash.kebabcase@4.0.1:
+  version "4.0.1"
+  resolved "https://registry.yarnpkg.com/lodash.kebabcase/-/lodash.kebabcase-4.0.1.tgz#5e63bc9aa2a5562ff3b97ca7af2f803de1bcb90e"
+  dependencies:
+    lodash.deburr "^4.0.0"
+    lodash.words "^4.0.0"
+
+lodash.keys@^3.0.0:
+  version "3.1.2"
+  resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a"
+  dependencies:
+    lodash._getnative "^3.0.0"
+    lodash.isarguments "^3.0.0"
+    lodash.isarray "^3.0.0"
+
+lodash.memoize@^4.1.2:
+  version "4.1.2"
+  resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
+
+lodash.restparam@^3.0.0:
+  version "3.6.1"
+  resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805"
+
+lodash.snakecase@4.0.1:
+  version "4.0.1"
+  resolved "https://registry.yarnpkg.com/lodash.snakecase/-/lodash.snakecase-4.0.1.tgz#bd012e5d2f93f7b58b9303e9a7fbfd5db13d6281"
+  dependencies:
+    lodash.deburr "^4.0.0"
+    lodash.words "^4.0.0"
+
+lodash.uniq@^4.5.0:
+  version "4.5.0"
+  resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
+
+lodash.words@^4.0.0:
+  version "4.2.0"
+  resolved "https://registry.yarnpkg.com/lodash.words/-/lodash.words-4.2.0.tgz#5ecfeaf8ecf8acaa8e0c8386295f1993c9cf4036"
+
+lodash@^3.8.0:
+  version "3.10.1"
+  resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6"
+
+lodash@^4.0.0, lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.3.0, lodash@^4.5.0:
+  version "4.17.4"
+  resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
+
+log4js@^0.6.31:
+  version "0.6.38"
+  resolved "https://registry.yarnpkg.com/log4js/-/log4js-0.6.38.tgz#2c494116695d6fb25480943d3fc872e662a522fd"
+  dependencies:
+    readable-stream "~1.0.2"
+    semver "~4.3.3"
+
+longest@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
+
+loose-envify@^1.0.0:
+  version "1.3.1"
+  resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
+  dependencies:
+    js-tokens "^3.0.0"
+
+lowercase-keys@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306"
+
+lru-cache@2.2.x:
+  version "2.2.4"
+  resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.2.4.tgz#6c658619becf14031d0d0b594b16042ce4dc063d"
+
+lru-cache@^3.2.0:
+  version "3.2.0"
+  resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-3.2.0.tgz#71789b3b7f5399bec8565dda38aa30d2a097efee"
+  dependencies:
+    pseudomap "^1.0.1"
+
+lru-cache@^4.0.1:
+  version "4.0.2"
+  resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.0.2.tgz#1d17679c069cda5d040991a09dbc2c0db377e55e"
+  dependencies:
+    pseudomap "^1.0.1"
+    yallist "^2.0.0"
+
+macaddress@^0.2.8:
+  version "0.2.8"
+  resolved "https://registry.yarnpkg.com/macaddress/-/macaddress-0.2.8.tgz#5904dc537c39ec6dbefeae902327135fa8511f12"
+
+map-stream@~0.1.0:
+  version "0.1.0"
+  resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194"
+
+marked@^0.3.6:
+  version "0.3.6"
+  resolved "https://registry.yarnpkg.com/marked/-/marked-0.3.6.tgz#b2c6c618fccece4ef86c4fc6cb8a7cbf5aeda8d7"
+
+math-expression-evaluator@^1.2.14:
+  version "1.2.16"
+  resolved "https://registry.yarnpkg.com/math-expression-evaluator/-/math-expression-evaluator-1.2.16.tgz#b357fa1ca9faefb8e48d10c14ef2bcb2d9f0a7c9"
+
+media-typer@0.3.0:
+  version "0.3.0"
+  resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
+
+memory-fs@^0.2.0:
+  version "0.2.0"
+  resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.2.0.tgz#f2bb25368bc121e391c2520de92969caee0a0290"
+
+memory-fs@^0.4.0, memory-fs@~0.4.1:
+  version "0.4.1"
+  resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552"
+  dependencies:
+    errno "^0.1.3"
+    readable-stream "^2.0.1"
+
+merge-descriptors@1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
+
+methods@~1.1.2:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
+
+micromatch@^2.1.5, micromatch@^2.3.11:
+  version "2.3.11"
+  resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565"
+  dependencies:
+    arr-diff "^2.0.0"
+    array-unique "^0.2.1"
+    braces "^1.8.2"
+    expand-brackets "^0.1.4"
+    extglob "^0.3.1"
+    filename-regex "^2.0.0"
+    is-extglob "^1.0.0"
+    is-glob "^2.0.1"
+    kind-of "^3.0.2"
+    normalize-path "^2.0.1"
+    object.omit "^2.0.0"
+    parse-glob "^3.0.4"
+    regex-cache "^0.4.2"
+
+miller-rabin@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.0.tgz#4a62fb1d42933c05583982f4c716f6fb9e6c6d3d"
+  dependencies:
+    bn.js "^4.0.0"
+    brorand "^1.0.1"
+
+"mime-db@>= 1.24.0 < 2", mime-db@~1.26.0:
+  version "1.26.0"
+  resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.26.0.tgz#eaffcd0e4fc6935cf8134da246e2e6c35305adff"
+
+mime-db@~1.27.0:
+  version "1.27.0"
+  resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.27.0.tgz#820f572296bbd20ec25ed55e5b5de869e5436eb1"
+
+mime-types@^2.1.12, mime-types@~2.1.15, mime-types@~2.1.7:
+  version "2.1.15"
+  resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.15.tgz#a4ebf5064094569237b8cf70046776d09fc92aed"
+  dependencies:
+    mime-db "~1.27.0"
+
+mime-types@~2.1.11:
+  version "2.1.14"
+  resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.14.tgz#f7ef7d97583fcaf3b7d282b6f8b5679dab1e94ee"
+  dependencies:
+    mime-db "~1.26.0"
+
+mime@1.3.4, mime@1.3.x, mime@^1.3.4:
+  version "1.3.4"
+  resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53"
+
+minimalistic-assert@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz#702be2dda6b37f4836bcb3f5db56641b64a1d3d3"
+
+"minimatch@2 || 3", minimatch@3.0.3, minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3:
+  version "3.0.3"
+  resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774"
+  dependencies:
+    brace-expansion "^1.0.0"
+
+minimist@0.0.8, minimist@~0.0.1:
+  version "0.0.8"
+  resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
+
+minimist@^1.2.0:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
+
+mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1:
+  version "0.5.1"
+  resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
+  dependencies:
+    minimist "0.0.8"
+
+moment@2.x:
+  version "2.17.1"
+  resolved "https://registry.yarnpkg.com/moment/-/moment-2.17.1.tgz#fed9506063f36b10f066c8b59a144d7faebe1d82"
+
+mousetrap@^1.4.6:
+  version "1.4.6"
+  resolved "https://registry.yarnpkg.com/mousetrap/-/mousetrap-1.4.6.tgz#eaca72e22e56d5b769b7555873b688c3332e390a"
+
+ms@0.7.1:
+  version "0.7.1"
+  resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098"
+
+ms@0.7.2:
+  version "0.7.2"
+  resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765"
+
+ms@2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
+
+mute-stream@0.0.5:
+  version "0.0.5"
+  resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0"
+
+name-all-modules-plugin@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/name-all-modules-plugin/-/name-all-modules-plugin-1.0.1.tgz#0abfb6ad835718b9fb4def0674e06657a954375c"
+
+nan@^2.0.0, nan@^2.3.0:
+  version "2.5.1"
+  resolved "https://registry.yarnpkg.com/nan/-/nan-2.5.1.tgz#d5b01691253326a97a2bbee9e61c55d8d60351e2"
+
+natural-compare@^1.4.0:
+  version "1.4.0"
+  resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
+
+negotiator@0.6.1:
+  version "0.6.1"
+  resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9"
+
+nested-error-stacks@^1.0.0:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/nested-error-stacks/-/nested-error-stacks-1.0.2.tgz#19f619591519f096769a5ba9a86e6eeec823c3cf"
+  dependencies:
+    inherits "~2.0.1"
+
+node-ensure@^0.0.0:
+  version "0.0.0"
+  resolved "https://registry.yarnpkg.com/node-ensure/-/node-ensure-0.0.0.tgz#ecae764150de99861ec5c810fd5d096b183932a7"
+
+node-libs-browser@^1.0.0:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-1.1.1.tgz#2a38243abedd7dffcd07a97c9aca5668975a6fea"
+  dependencies:
+    assert "^1.1.1"
+    browserify-zlib "^0.1.4"
+    buffer "^4.3.0"
+    console-browserify "^1.1.0"
+    constants-browserify "^1.0.0"
+    crypto-browserify "^3.11.0"
+    domain-browser "^1.1.1"
+    events "^1.0.0"
+    https-browserify "0.0.1"
+    os-browserify "^0.2.0"
+    path-browserify "0.0.0"
+    process "^0.11.0"
+    punycode "^1.2.4"
+    querystring-es3 "^0.2.0"
+    readable-stream "^2.0.5"
+    stream-browserify "^2.0.1"
+    stream-http "^2.3.1"
+    string_decoder "^0.10.25"
+    timers-browserify "^1.4.2"
+    tty-browserify "0.0.0"
+    url "^0.11.0"
+    util "^0.10.3"
+    vm-browserify "0.0.4"
+
+node-libs-browser@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.0.0.tgz#a3a59ec97024985b46e958379646f96c4b616646"
+  dependencies:
+    assert "^1.1.1"
+    browserify-zlib "^0.1.4"
+    buffer "^4.3.0"
+    console-browserify "^1.1.0"
+    constants-browserify "^1.0.0"
+    crypto-browserify "^3.11.0"
+    domain-browser "^1.1.1"
+    events "^1.0.0"
+    https-browserify "0.0.1"
+    os-browserify "^0.2.0"
+    path-browserify "0.0.0"
+    process "^0.11.0"
+    punycode "^1.2.4"
+    querystring-es3 "^0.2.0"
+    readable-stream "^2.0.5"
+    stream-browserify "^2.0.1"
+    stream-http "^2.3.1"
+    string_decoder "^0.10.25"
+    timers-browserify "^2.0.2"
+    tty-browserify "0.0.0"
+    url "^0.11.0"
+    util "^0.10.3"
+    vm-browserify "0.0.4"
+
+node-pre-gyp@^0.6.29, node-pre-gyp@^0.6.4:
+  version "0.6.33"
+  resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.33.tgz#640ac55198f6a925972e0c16c4ac26a034d5ecc9"
+  dependencies:
+    mkdirp "~0.5.1"
+    nopt "~3.0.6"
+    npmlog "^4.0.1"
+    rc "~1.1.6"
+    request "^2.79.0"
+    rimraf "~2.5.4"
+    semver "~5.3.0"
+    tar "~2.2.1"
+    tar-pack "~3.3.0"
+
+node-zopfli@^2.0.0:
+  version "2.0.2"
+  resolved "https://registry.yarnpkg.com/node-zopfli/-/node-zopfli-2.0.2.tgz#a7a473ae92aaea85d4c68d45bbf2c944c46116b8"
+  dependencies:
+    commander "^2.8.1"
+    defaults "^1.0.2"
+    nan "^2.0.0"
+    node-pre-gyp "^0.6.4"
+
+nodemon@^1.11.0:
+  version "1.11.0"
+  resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-1.11.0.tgz#226c562bd2a7b13d3d7518b49ad4828a3623d06c"
+  dependencies:
+    chokidar "^1.4.3"
+    debug "^2.2.0"
+    es6-promise "^3.0.2"
+    ignore-by-default "^1.0.0"
+    lodash.defaults "^3.1.2"
+    minimatch "^3.0.0"
+    ps-tree "^1.0.1"
+    touch "1.0.0"
+    undefsafe "0.0.3"
+    update-notifier "0.5.0"
+
+nopt@3.x, nopt@~3.0.1, nopt@~3.0.6:
+  version "3.0.6"
+  resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9"
+  dependencies:
+    abbrev "1"
+
+nopt@~1.0.10:
+  version "1.0.10"
+  resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee"
+  dependencies:
+    abbrev "1"
+
+normalize-package-data@^2.3.2:
+  version "2.3.5"
+  resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.5.tgz#8d924f142960e1777e7ffe170543631cc7cb02df"
+  dependencies:
+    hosted-git-info "^2.1.4"
+    is-builtin-module "^1.0.0"
+    semver "2 || 3 || 4 || 5"
+    validate-npm-package-license "^3.0.1"
+
+normalize-path@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.0.1.tgz#47886ac1662760d4261b7d979d241709d3ce3f7a"
+
+normalize-range@^0.1.2:
+  version "0.1.2"
+  resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942"
+
+normalize-url@^1.4.0:
+  version "1.9.1"
+  resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c"
+  dependencies:
+    object-assign "^4.0.1"
+    prepend-http "^1.0.0"
+    query-string "^4.1.0"
+    sort-keys "^1.0.0"
+
+npmlog@^4.0.1:
+  version "4.0.2"
+  resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.2.tgz#d03950e0e78ce1527ba26d2a7592e9348ac3e75f"
+  dependencies:
+    are-we-there-yet "~1.1.2"
+    console-control-strings "~1.1.0"
+    gauge "~2.7.1"
+    set-blocking "~2.0.0"
+
+null-check@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/null-check/-/null-check-1.0.0.tgz#977dffd7176012b9ec30d2a39db5cf72a0439edd"
+
+num2fraction@^1.2.2:
+  version "1.2.2"
+  resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede"
+
+number-is-nan@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
+
+oauth-sign@~0.8.1:
+  version "0.8.2"
+  resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43"
+
+object-assign@4.1.0:
+  version "4.1.0"
+  resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0"
+
+object-assign@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2"
+
+object-assign@^4.0.1, object-assign@^4.1.0:
+  version "4.1.1"
+  resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
+
+object-component@0.0.3:
+  version "0.0.3"
+  resolved "https://registry.yarnpkg.com/object-component/-/object-component-0.0.3.tgz#f0c69aa50efc95b866c186f400a33769cb2f1291"
+
+object.omit@^2.0.0:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa"
+  dependencies:
+    for-own "^0.1.4"
+    is-extendable "^0.1.1"
+
+obuf@^1.0.0, obuf@^1.1.0:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.1.tgz#104124b6c602c6796881a042541d36db43a5264e"
+
+on-finished@~2.3.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
+  dependencies:
+    ee-first "1.1.1"
+
+on-headers@~1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz#928f5d0f470d49342651ea6794b0857c100693f7"
+
+once@1.x, once@^1.3.0, once@^1.4.0:
+  version "1.4.0"
+  resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
+  dependencies:
+    wrappy "1"
+
+once@~1.3.0, once@~1.3.3:
+  version "1.3.3"
+  resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20"
+  dependencies:
+    wrappy "1"
+
+onetime@^1.0.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789"
+
+opener@^1.4.3:
+  version "1.4.3"
+  resolved "https://registry.yarnpkg.com/opener/-/opener-1.4.3.tgz#5c6da2c5d7e5831e8ffa3964950f8d6674ac90b8"
+
+opn@4.0.2:
+  version "4.0.2"
+  resolved "https://registry.yarnpkg.com/opn/-/opn-4.0.2.tgz#7abc22e644dff63b0a96d5ab7f2790c0f01abc95"
+  dependencies:
+    object-assign "^4.0.1"
+    pinkie-promise "^2.0.0"
+
+optimist@^0.6.1:
+  version "0.6.1"
+  resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686"
+  dependencies:
+    minimist "~0.0.1"
+    wordwrap "~0.0.2"
+
+optionator@^0.8.1, optionator@^0.8.2:
+  version "0.8.2"
+  resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64"
+  dependencies:
+    deep-is "~0.1.3"
+    fast-levenshtein "~2.0.4"
+    levn "~0.3.0"
+    prelude-ls "~1.1.2"
+    type-check "~0.3.2"
+    wordwrap "~1.0.0"
+
+options@>=0.0.5:
+  version "0.0.6"
+  resolved "https://registry.yarnpkg.com/options/-/options-0.0.6.tgz#ec22d312806bb53e731773e7cdaefcf1c643128f"
+
+original@>=0.0.5:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/original/-/original-1.0.0.tgz#9147f93fa1696d04be61e01bd50baeaca656bd3b"
+  dependencies:
+    url-parse "1.0.x"
+
+os-browserify@^0.2.0:
+  version "0.2.1"
+  resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.2.1.tgz#63fc4ccee5d2d7763d26bbf8601078e6c2e0044f"
+
+os-homedir@^1.0.0, os-homedir@^1.0.1:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
+
+os-locale@^1.4.0:
+  version "1.4.0"
+  resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9"
+  dependencies:
+    lcid "^1.0.0"
+
+os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.1:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
+
+osenv@^0.1.0:
+  version "0.1.4"
+  resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644"
+  dependencies:
+    os-homedir "^1.0.0"
+    os-tmpdir "^1.0.0"
+
+p-limit@^1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.1.0.tgz#b07ff2d9a5d88bec806035895a2bab66a27988bc"
+
+p-locate@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
+  dependencies:
+    p-limit "^1.1.0"
+
+package-json@^1.0.0:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/package-json/-/package-json-1.2.0.tgz#c8ecac094227cdf76a316874ed05e27cc939a0e0"
+  dependencies:
+    got "^3.2.0"
+    registry-url "^3.0.0"
+
+pako@~0.2.0:
+  version "0.2.9"
+  resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75"
+
+pako@~1.0.2:
+  version "1.0.5"
+  resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.5.tgz#d2205dfe5b9da8af797e7c163db4d1f84e4600bc"
+
+parse-asn1@^5.0.0:
+  version "5.0.0"
+  resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.0.0.tgz#35060f6d5015d37628c770f4e091a0b5a278bc23"
+  dependencies:
+    asn1.js "^4.0.0"
+    browserify-aes "^1.0.0"
+    create-hash "^1.1.0"
+    evp_bytestokey "^1.0.0"
+    pbkdf2 "^3.0.3"
+
+parse-glob@^3.0.4:
+  version "3.0.4"
+  resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c"
+  dependencies:
+    glob-base "^0.3.0"
+    is-dotfile "^1.0.0"
+    is-extglob "^1.0.0"
+    is-glob "^2.0.0"
+
+parse-json@^2.2.0:
+  version "2.2.0"
+  resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
+  dependencies:
+    error-ex "^1.2.0"
+
+parsejson@0.0.3:
+  version "0.0.3"
+  resolved "https://registry.yarnpkg.com/parsejson/-/parsejson-0.0.3.tgz#ab7e3759f209ece99437973f7d0f1f64ae0e64ab"
+  dependencies:
+    better-assert "~1.0.0"
+
+parseqs@0.0.5:
+  version "0.0.5"
+  resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.5.tgz#d5208a3738e46766e291ba2ea173684921a8b89d"
+  dependencies:
+    better-assert "~1.0.0"
+
+parseuri@0.0.5:
+  version "0.0.5"
+  resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.5.tgz#80204a50d4dbb779bfdc6ebe2778d90e4bce320a"
+  dependencies:
+    better-assert "~1.0.0"
+
+parseurl@~1.3.1:
+  version "1.3.1"
+  resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.1.tgz#c8ab8c9223ba34888aa64a297b28853bec18da56"
+
+path-browserify@0.0.0:
+  version "0.0.0"
+  resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a"
+
+path-exists@^2.0.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b"
+  dependencies:
+    pinkie-promise "^2.0.0"
+
+path-exists@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
+
+path-is-absolute@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
+
+path-is-inside@^1.0.1:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
+
+path-parse@^1.0.5:
+  version "1.0.5"
+  resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1"
+
+path-to-regexp@0.1.7:
+  version "0.1.7"
+  resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
+
+path-type@^1.0.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441"
+  dependencies:
+    graceful-fs "^4.1.2"
+    pify "^2.0.0"
+    pinkie-promise "^2.0.0"
+
+pause-stream@0.0.11:
+  version "0.0.11"
+  resolved "https://registry.yarnpkg.com/pause-stream/-/pause-stream-0.0.11.tgz#fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445"
+  dependencies:
+    through "~2.3"
+
+pbkdf2@^3.0.3:
+  version "3.0.9"
+  resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.9.tgz#f2c4b25a600058b3c3773c086c37dbbee1ffe693"
+  dependencies:
+    create-hmac "^1.1.2"
+
+pdfjs-dist@^1.8.252:
+  version "1.8.252"
+  resolved "https://registry.yarnpkg.com/pdfjs-dist/-/pdfjs-dist-1.8.252.tgz#2477245695341f7fe096824dacf327bc324c0f52"
+  dependencies:
+    node-ensure "^0.0.0"
+    worker-loader "^0.8.0"
+
+pify@^2.0.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
+
+pikaday@^1.5.1:
+  version "1.5.1"
+  resolved "https://registry.yarnpkg.com/pikaday/-/pikaday-1.5.1.tgz#0a48549bc1a14ea1d08c44074d761bc2f2bfcfd3"
+  optionalDependencies:
+    moment "2.x"
+
+pinkie-promise@^2.0.0:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
+  dependencies:
+    pinkie "^2.0.0"
+
+pinkie@^2.0.0:
+  version "2.0.4"
+  resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
+
+pkg-dir@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4"
+  dependencies:
+    find-up "^1.0.0"
+
+pkg-up@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-1.0.0.tgz#3e08fb461525c4421624a33b9f7e6d0af5b05a26"
+  dependencies:
+    find-up "^1.0.0"
+
+pluralize@^1.2.1:
+  version "1.2.1"
+  resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45"
+
+portfinder@^1.0.9:
+  version "1.0.13"
+  resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.13.tgz#bb32ecd87c27104ae6ee44b5a3ccbf0ebb1aede9"
+  dependencies:
+    async "^1.5.2"
+    debug "^2.2.0"
+    mkdirp "0.5.x"
+
+postcss-calc@^5.2.0:
+  version "5.3.1"
+  resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-5.3.1.tgz#77bae7ca928ad85716e2fda42f261bf7c1d65b5e"
+  dependencies:
+    postcss "^5.0.2"
+    postcss-message-helpers "^2.0.0"
+    reduce-css-calc "^1.2.6"
+
+postcss-colormin@^2.1.8:
+  version "2.2.2"
+  resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-2.2.2.tgz#6631417d5f0e909a3d7ec26b24c8a8d1e4f96e4b"
+  dependencies:
+    colormin "^1.0.5"
+    postcss "^5.0.13"
+    postcss-value-parser "^3.2.3"
+
+postcss-convert-values@^2.3.4:
+  version "2.6.1"
+  resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz#bbd8593c5c1fd2e3d1c322bb925dcae8dae4d62d"
+  dependencies:
+    postcss "^5.0.11"
+    postcss-value-parser "^3.1.2"
+
+postcss-discard-comments@^2.0.4:
+  version "2.0.4"
+  resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz#befe89fafd5b3dace5ccce51b76b81514be00e3d"
+  dependencies:
+    postcss "^5.0.14"
+
+postcss-discard-duplicates@^2.0.1:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz#b9abf27b88ac188158a5eb12abcae20263b91932"
+  dependencies:
+    postcss "^5.0.4"
+
+postcss-discard-empty@^2.0.1:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz#d2b4bd9d5ced5ebd8dcade7640c7d7cd7f4f92b5"
+  dependencies:
+    postcss "^5.0.14"
+
+postcss-discard-overridden@^0.1.1:
+  version "0.1.1"
+  resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz#8b1eaf554f686fb288cd874c55667b0aa3668d58"
+  dependencies:
+    postcss "^5.0.16"
+
+postcss-discard-unused@^2.2.1:
+  version "2.2.3"
+  resolved "https://registry.yarnpkg.com/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz#bce30b2cc591ffc634322b5fb3464b6d934f4433"
+  dependencies:
+    postcss "^5.0.14"
+    uniqs "^2.0.0"
+
+postcss-filter-plugins@^2.0.0:
+  version "2.0.2"
+  resolved "https://registry.yarnpkg.com/postcss-filter-plugins/-/postcss-filter-plugins-2.0.2.tgz#6d85862534d735ac420e4a85806e1f5d4286d84c"
+  dependencies:
+    postcss "^5.0.4"
+    uniqid "^4.0.0"
+
+postcss-load-config@^1.1.0:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-1.2.0.tgz#539e9afc9ddc8620121ebf9d8c3673e0ce50d28a"
+  dependencies:
+    cosmiconfig "^2.1.0"
+    object-assign "^4.1.0"
+    postcss-load-options "^1.2.0"
+    postcss-load-plugins "^2.3.0"
+
+postcss-load-options@^1.2.0:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/postcss-load-options/-/postcss-load-options-1.2.0.tgz#b098b1559ddac2df04bc0bb375f99a5cfe2b6d8c"
+  dependencies:
+    cosmiconfig "^2.1.0"
+    object-assign "^4.1.0"
+
+postcss-load-plugins@^2.3.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz#745768116599aca2f009fad426b00175049d8d92"
+  dependencies:
+    cosmiconfig "^2.1.1"
+    object-assign "^4.1.0"
+
+postcss-merge-idents@^2.1.5:
+  version "2.1.7"
+  resolved "https://registry.yarnpkg.com/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz#4c5530313c08e1d5b3bbf3d2bbc747e278eea270"
+  dependencies:
+    has "^1.0.1"
+    postcss "^5.0.10"
+    postcss-value-parser "^3.1.1"
+
+postcss-merge-longhand@^2.0.1:
+  version "2.0.2"
+  resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz#23d90cd127b0a77994915332739034a1a4f3d658"
+  dependencies:
+    postcss "^5.0.4"
+
+postcss-merge-rules@^2.0.3:
+  version "2.1.2"
+  resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz#d1df5dfaa7b1acc3be553f0e9e10e87c61b5f721"
+  dependencies:
+    browserslist "^1.5.2"
+    caniuse-api "^1.5.2"
+    postcss "^5.0.4"
+    postcss-selector-parser "^2.2.2"
+    vendors "^1.0.0"
+
+postcss-message-helpers@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz#a4f2f4fab6e4fe002f0aed000478cdf52f9ba60e"
+
+postcss-minify-font-values@^1.0.2:
+  version "1.0.5"
+  resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz#4b58edb56641eba7c8474ab3526cafd7bbdecb69"
+  dependencies:
+    object-assign "^4.0.1"
+    postcss "^5.0.4"
+    postcss-value-parser "^3.0.2"
+
+postcss-minify-gradients@^1.0.1:
+  version "1.0.5"
+  resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz#5dbda11373703f83cfb4a3ea3881d8d75ff5e6e1"
+  dependencies:
+    postcss "^5.0.12"
+    postcss-value-parser "^3.3.0"
+
+postcss-minify-params@^1.0.4:
+  version "1.2.2"
+  resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz#ad2ce071373b943b3d930a3fa59a358c28d6f1f3"
+  dependencies:
+    alphanum-sort "^1.0.1"
+    postcss "^5.0.2"
+    postcss-value-parser "^3.0.2"
+    uniqs "^2.0.0"
+
+postcss-minify-selectors@^2.0.4:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz#b2c6a98c0072cf91b932d1a496508114311735bf"
+  dependencies:
+    alphanum-sort "^1.0.2"
+    has "^1.0.1"
+    postcss "^5.0.14"
+    postcss-selector-parser "^2.0.0"
+
+postcss-modules-extract-imports@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.0.1.tgz#8fb3fef9a6dd0420d3f6d4353cf1ff73f2b2a341"
+  dependencies:
+    postcss "^5.0.4"
+
+postcss-modules-local-by-default@^1.0.1:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.1.1.tgz#29a10673fa37d19251265ca2ba3150d9040eb4ce"
+  dependencies:
+    css-selector-tokenizer "^0.6.0"
+    postcss "^5.0.4"
+
+postcss-modules-scope@^1.0.0:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-1.0.2.tgz#ff977395e5e06202d7362290b88b1e8cd049de29"
+  dependencies:
+    css-selector-tokenizer "^0.6.0"
+    postcss "^5.0.4"
+
+postcss-modules-values@^1.1.0:
+  version "1.2.2"
+  resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-1.2.2.tgz#f0e7d476fe1ed88c5e4c7f97533a3e772ad94ca1"
+  dependencies:
+    icss-replace-symbols "^1.0.2"
+    postcss "^5.0.14"
+
+postcss-normalize-charset@^1.1.0:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz#ef9ee71212d7fe759c78ed162f61ed62b5cb93f1"
+  dependencies:
+    postcss "^5.0.5"
+
+postcss-normalize-url@^3.0.7:
+  version "3.0.8"
+  resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz#108f74b3f2fcdaf891a2ffa3ea4592279fc78222"
+  dependencies:
+    is-absolute-url "^2.0.0"
+    normalize-url "^1.4.0"
+    postcss "^5.0.14"
+    postcss-value-parser "^3.2.3"
+
+postcss-ordered-values@^2.1.0:
+  version "2.2.3"
+  resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz#eec6c2a67b6c412a8db2042e77fe8da43f95c11d"
+  dependencies:
+    postcss "^5.0.4"
+    postcss-value-parser "^3.0.1"
+
+postcss-reduce-idents@^2.2.2:
+  version "2.4.0"
+  resolved "https://registry.yarnpkg.com/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz#c2c6d20cc958284f6abfbe63f7609bf409059ad3"
+  dependencies:
+    postcss "^5.0.4"
+    postcss-value-parser "^3.0.2"
+
+postcss-reduce-initial@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz#68f80695f045d08263a879ad240df8dd64f644ea"
+  dependencies:
+    postcss "^5.0.4"
+
+postcss-reduce-transforms@^1.0.3:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz#ff76f4d8212437b31c298a42d2e1444025771ae1"
+  dependencies:
+    has "^1.0.1"
+    postcss "^5.0.8"
+    postcss-value-parser "^3.0.1"
+
+postcss-selector-parser@^2.0.0, postcss-selector-parser@^2.2.2:
+  version "2.2.3"
+  resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz#f9437788606c3c9acee16ffe8d8b16297f27bb90"
+  dependencies:
+    flatten "^1.0.2"
+    indexes-of "^1.0.1"
+    uniq "^1.0.1"
+
+postcss-svgo@^2.1.1:
+  version "2.1.6"
+  resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-2.1.6.tgz#b6df18aa613b666e133f08adb5219c2684ac108d"
+  dependencies:
+    is-svg "^2.0.0"
+    postcss "^5.0.14"
+    postcss-value-parser "^3.2.3"
+    svgo "^0.7.0"
+
+postcss-unique-selectors@^2.0.2:
+  version "2.0.2"
+  resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz#981d57d29ddcb33e7b1dfe1fd43b8649f933ca1d"
+  dependencies:
+    alphanum-sort "^1.0.1"
+    postcss "^5.0.4"
+    uniqs "^2.0.0"
+
+postcss-value-parser@^3.0.1, postcss-value-parser@^3.0.2, postcss-value-parser@^3.1.1, postcss-value-parser@^3.1.2, postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.0:
+  version "3.3.0"
+  resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15"
+
+postcss-zindex@^2.0.1:
+  version "2.2.0"
+  resolved "https://registry.yarnpkg.com/postcss-zindex/-/postcss-zindex-2.2.0.tgz#d2109ddc055b91af67fc4cb3b025946639d2af22"
+  dependencies:
+    has "^1.0.1"
+    postcss "^5.0.4"
+    uniqs "^2.0.0"
+
+postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0.14, postcss@^5.0.16, postcss@^5.0.2, postcss@^5.0.21, postcss@^5.0.4, postcss@^5.0.5, postcss@^5.0.6, postcss@^5.0.8, postcss@^5.2.16:
+  version "5.2.16"
+  resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.16.tgz#732b3100000f9ff8379a48a53839ed097376ad57"
+  dependencies:
+    chalk "^1.1.3"
+    js-base64 "^2.1.9"
+    source-map "^0.5.6"
+    supports-color "^3.2.3"
+
+prelude-ls@~1.1.2:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
+
+prepend-http@^1.0.0:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc"
+
+preserve@^0.2.0:
+  version "0.2.0"
+  resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
+
+prismjs@^1.6.0:
+  version "1.6.0"
+  resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.6.0.tgz#118d95fb7a66dba2272e343b345f5236659db365"
+  optionalDependencies:
+    clipboard "^1.5.5"
+
+private@^0.1.6:
+  version "0.1.7"
+  resolved "https://registry.yarnpkg.com/private/-/private-0.1.7.tgz#68ce5e8a1ef0a23bb570cc28537b5332aba63ef1"
+
+process-nextick-args@~1.0.6:
+  version "1.0.7"
+  resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3"
+
+process@^0.11.0, process@~0.11.0:
+  version "0.11.9"
+  resolved "https://registry.yarnpkg.com/process/-/process-0.11.9.tgz#7bd5ad21aa6253e7da8682264f1e11d11c0318c1"
+
+progress@^1.1.8:
+  version "1.1.8"
+  resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be"
+
+proto-list@~1.2.1:
+  version "1.2.4"
+  resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849"
+
+proxy-addr@~1.1.4:
+  version "1.1.4"
+  resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-1.1.4.tgz#27e545f6960a44a627d9b44467e35c1b6b4ce2f3"
+  dependencies:
+    forwarded "~0.1.0"
+    ipaddr.js "1.3.0"
+
+prr@~0.0.0:
+  version "0.0.0"
+  resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a"
+
+ps-tree@^1.0.1:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/ps-tree/-/ps-tree-1.1.0.tgz#b421b24140d6203f1ed3c76996b4427b08e8c014"
+  dependencies:
+    event-stream "~3.3.0"
+
+pseudomap@^1.0.1:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
+
+public-encrypt@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.0.tgz#39f699f3a46560dd5ebacbca693caf7c65c18cc6"
+  dependencies:
+    bn.js "^4.1.0"
+    browserify-rsa "^4.0.0"
+    create-hash "^1.1.0"
+    parse-asn1 "^5.0.0"
+    randombytes "^2.0.1"
+
+punycode@1.3.2:
+  version "1.3.2"
+  resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d"
+
+punycode@^1.2.4, punycode@^1.4.1:
+  version "1.4.1"
+  resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
+
+q@^1.1.2:
+  version "1.5.0"
+  resolved "https://registry.yarnpkg.com/q/-/q-1.5.0.tgz#dd01bac9d06d30e6f219aecb8253ee9ebdc308f1"
+
+qjobs@^1.1.4:
+  version "1.1.5"
+  resolved "https://registry.yarnpkg.com/qjobs/-/qjobs-1.1.5.tgz#659de9f2cf8dcc27a1481276f205377272382e73"
+
+qs@6.4.0:
+  version "6.4.0"
+  resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233"
+
+qs@~6.3.0:
+  version "6.3.0"
+  resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.0.tgz#f403b264f23bc01228c74131b407f18d5ea5d442"
+
+query-string@^4.1.0:
+  version "4.3.2"
+  resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.2.tgz#ec0fd765f58a50031a3968c2431386f8947a5cdd"
+  dependencies:
+    object-assign "^4.1.0"
+    strict-uri-encode "^1.0.0"
+
+querystring-es3@^0.2.0:
+  version "0.2.1"
+  resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
+
+querystring@0.2.0:
+  version "0.2.0"
+  resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620"
+
+querystringify@0.0.x:
+  version "0.0.4"
+  resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-0.0.4.tgz#0cf7f84f9463ff0ae51c4c4b142d95be37724d9c"
+
+randomatic@^1.1.3:
+  version "1.1.6"
+  resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.6.tgz#110dcabff397e9dcff7c0789ccc0a49adf1ec5bb"
+  dependencies:
+    is-number "^2.0.2"
+    kind-of "^3.0.2"
+
+randombytes@^2.0.0, randombytes@^2.0.1:
+  version "2.0.3"
+  resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.3.tgz#674c99760901c3c4112771a31e521dc349cc09ec"
+
+range-parser@^1.0.3, range-parser@^1.2.0, range-parser@~1.2.0:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e"
+
+raphael@^2.2.7:
+  version "2.2.7"
+  resolved "https://registry.yarnpkg.com/raphael/-/raphael-2.2.7.tgz#231b19141f8d086986d8faceb66f8b562ee2c810"
+  dependencies:
+    eve-raphael "0.5.0"
+
+raven-js@^3.14.0:
+  version "3.14.0"
+  resolved "https://registry.yarnpkg.com/raven-js/-/raven-js-3.14.0.tgz#94dda81d975fdc4a42f193db437cf70021d654e0"
+  dependencies:
+    json-stringify-safe "^5.0.1"
+
+raw-body@~2.2.0:
+  version "2.2.0"
+  resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.2.0.tgz#994976cf6a5096a41162840492f0bdc5d6e7fb96"
+  dependencies:
+    bytes "2.4.0"
+    iconv-lite "0.4.15"
+    unpipe "1.0.0"
+
+raw-loader@^0.5.1:
+  version "0.5.1"
+  resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-0.5.1.tgz#0c3d0beaed8a01c966d9787bf778281252a979aa"
+
+rc@^1.0.1, rc@~1.1.6:
+  version "1.1.6"
+  resolved "https://registry.yarnpkg.com/rc/-/rc-1.1.6.tgz#43651b76b6ae53b5c802f1151fa3fc3b059969c9"
+  dependencies:
+    deep-extend "~0.4.0"
+    ini "~1.3.0"
+    minimist "^1.2.0"
+    strip-json-comments "~1.0.4"
+
+react-dev-utils@^0.5.2:
+  version "0.5.2"
+  resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-0.5.2.tgz#50d0b962d3a94b6c2e8f2011ed6468e4124bc410"
+  dependencies:
+    ansi-html "0.0.5"
+    chalk "1.1.3"
+    escape-string-regexp "1.0.5"
+    filesize "3.3.0"
+    gzip-size "3.0.0"
+    html-entities "1.2.0"
+    opn "4.0.2"
+    recursive-readdir "2.1.1"
+    sockjs-client "1.0.1"
+    strip-ansi "3.0.1"
+
+read-all-stream@^3.0.0:
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/read-all-stream/-/read-all-stream-3.1.0.tgz#35c3e177f2078ef789ee4bfafa4373074eaef4fa"
+  dependencies:
+    pinkie-promise "^2.0.0"
+    readable-stream "^2.0.0"
+
+read-pkg-up@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02"
+  dependencies:
+    find-up "^1.0.0"
+    read-pkg "^1.0.0"
+
+read-pkg@^1.0.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"
+  dependencies:
+    load-json-file "^1.0.0"
+    normalize-package-data "^2.3.2"
+    path-type "^1.0.0"
+
+readable-stream@^2.0.0, "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.1.0, readable-stream@^2.2.2:
+  version "2.2.2"
+  resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.2.tgz#a9e6fec3c7dda85f8bb1b3ba7028604556fc825e"
+  dependencies:
+    buffer-shims "^1.0.0"
+    core-util-is "~1.0.0"
+    inherits "~2.0.1"
+    isarray "~1.0.0"
+    process-nextick-args "~1.0.6"
+    string_decoder "~0.10.x"
+    util-deprecate "~1.0.1"
+
+readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@~2.0.6:
+  version "2.0.6"
+  resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e"
+  dependencies:
+    core-util-is "~1.0.0"
+    inherits "~2.0.1"
+    isarray "~1.0.0"
+    process-nextick-args "~1.0.6"
+    string_decoder "~0.10.x"
+    util-deprecate "~1.0.1"
+
+readable-stream@~1.0.2:
+  version "1.0.34"
+  resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c"
+  dependencies:
+    core-util-is "~1.0.0"
+    inherits "~2.0.1"
+    isarray "0.0.1"
+    string_decoder "~0.10.x"
+
+readable-stream@~2.1.4:
+  version "2.1.5"
+  resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0"
+  dependencies:
+    buffer-shims "^1.0.0"
+    core-util-is "~1.0.0"
+    inherits "~2.0.1"
+    isarray "~1.0.0"
+    process-nextick-args "~1.0.6"
+    string_decoder "~0.10.x"
+    util-deprecate "~1.0.1"
+
+readdirp@^2.0.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78"
+  dependencies:
+    graceful-fs "^4.1.2"
+    minimatch "^3.0.2"
+    readable-stream "^2.0.2"
+    set-immediate-shim "^1.0.1"
+
+readline2@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35"
+  dependencies:
+    code-point-at "^1.0.0"
+    is-fullwidth-code-point "^1.0.0"
+    mute-stream "0.0.5"
+
+rechoir@^0.6.2:
+  version "0.6.2"
+  resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384"
+  dependencies:
+    resolve "^1.1.6"
+
+recursive-readdir@2.1.1:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.1.1.tgz#a01cfc7f7f38a53ec096a096f63a50489c3e297c"
+  dependencies:
+    minimatch "3.0.3"
+
+reduce-css-calc@^1.2.6:
+  version "1.3.0"
+  resolved "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz#747c914e049614a4c9cfbba629871ad1d2927716"
+  dependencies:
+    balanced-match "^0.4.2"
+    math-expression-evaluator "^1.2.14"
+    reduce-function-call "^1.0.1"
+
+reduce-function-call@^1.0.1:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/reduce-function-call/-/reduce-function-call-1.0.2.tgz#5a200bf92e0e37751752fe45b0ab330fd4b6be99"
+  dependencies:
+    balanced-match "^0.4.2"
+
+regenerate@^1.2.1:
+  version "1.3.2"
+  resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.2.tgz#d1941c67bad437e1be76433add5b385f95b19260"
+
+regenerator-runtime@^0.10.0:
+  version "0.10.1"
+  resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz#257f41961ce44558b18f7814af48c17559f9faeb"
+
+regenerator-transform@0.9.8:
+  version "0.9.8"
+  resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.9.8.tgz#0f88bb2bc03932ddb7b6b7312e68078f01026d6c"
+  dependencies:
+    babel-runtime "^6.18.0"
+    babel-types "^6.19.0"
+    private "^0.1.6"
+
+regex-cache@^0.4.2:
+  version "0.4.3"
+  resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145"
+  dependencies:
+    is-equal-shallow "^0.1.3"
+    is-primitive "^2.0.0"
+
+regexpu-core@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-1.0.0.tgz#86a763f58ee4d7c2f6b102e4764050de7ed90c6b"
+  dependencies:
+    regenerate "^1.2.1"
+    regjsgen "^0.2.0"
+    regjsparser "^0.1.4"
+
+regexpu-core@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240"
+  dependencies:
+    regenerate "^1.2.1"
+    regjsgen "^0.2.0"
+    regjsparser "^0.1.4"
+
+registry-url@^3.0.0:
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942"
+  dependencies:
+    rc "^1.0.1"
+
+regjsgen@^0.2.0:
+  version "0.2.0"
+  resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7"
+
+regjsparser@^0.1.4:
+  version "0.1.5"
+  resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c"
+  dependencies:
+    jsesc "~0.5.0"
+
+repeat-element@^1.1.2:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a"
+
+repeat-string@^0.2.2:
+  version "0.2.2"
+  resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-0.2.2.tgz#c7a8d3236068362059a7e4651fc6884e8b1fb4ae"
+
+repeat-string@^1.5.2:
+  version "1.6.1"
+  resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
+
+repeating@^1.1.2:
+  version "1.1.3"
+  resolved "https://registry.yarnpkg.com/repeating/-/repeating-1.1.3.tgz#3d4114218877537494f97f77f9785fab810fa4ac"
+  dependencies:
+    is-finite "^1.0.0"
+
+repeating@^2.0.0:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda"
+  dependencies:
+    is-finite "^1.0.0"
+
+request@^2.79.0:
+  version "2.79.0"
+  resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de"
+  dependencies:
+    aws-sign2 "~0.6.0"
+    aws4 "^1.2.1"
+    caseless "~0.11.0"
+    combined-stream "~1.0.5"
+    extend "~3.0.0"
+    forever-agent "~0.6.1"
+    form-data "~2.1.1"
+    har-validator "~2.0.6"
+    hawk "~3.1.3"
+    http-signature "~1.1.0"
+    is-typedarray "~1.0.0"
+    isstream "~0.1.2"
+    json-stringify-safe "~5.0.1"
+    mime-types "~2.1.7"
+    oauth-sign "~0.8.1"
+    qs "~6.3.0"
+    stringstream "~0.0.4"
+    tough-cookie "~2.3.0"
+    tunnel-agent "~0.4.1"
+    uuid "^3.0.0"
+
+require-directory@^2.1.1:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
+
+require-from-string@^1.1.0:
+  version "1.2.1"
+  resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-1.2.1.tgz#529c9ccef27380adfec9a2f965b649bbee636418"
+
+require-main-filename@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"
+
+require-uncached@^1.0.2:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3"
+  dependencies:
+    caller-path "^0.1.0"
+    resolve-from "^1.0.0"
+
+requires-port@1.0.x, requires-port@1.x.x:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
+
+resolve-from@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226"
+
+resolve@1.1.x:
+  version "1.1.7"
+  resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
+
+resolve@^1.1.6, resolve@^1.2.0:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.2.0.tgz#9589c3f2f6149d1417a40becc1663db6ec6bc26c"
+
+restore-cursor@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541"
+  dependencies:
+    exit-hook "^1.0.0"
+    onetime "^1.0.0"
+
+right-align@^0.1.1:
+  version "0.1.3"
+  resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef"
+  dependencies:
+    align-text "^0.1.1"
+
+rimraf@2, rimraf@^2.2.8, rimraf@^2.4.3, rimraf@^2.4.4, rimraf@^2.6.0:
+  version "2.6.1"
+  resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d"
+  dependencies:
+    glob "^7.0.5"
+
+rimraf@~2.5.1, rimraf@~2.5.4:
+  version "2.5.4"
+  resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04"
+  dependencies:
+    glob "^7.0.5"
+
+ripemd160@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-1.0.1.tgz#93a4bbd4942bc574b69a8fa57c71de10ecca7d6e"
+
+run-async@^0.1.0:
+  version "0.1.0"
+  resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389"
+  dependencies:
+    once "^1.3.0"
+
+rx-lite@^3.1.2:
+  version "3.1.2"
+  resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102"
+
+safe-buffer@^5.0.1, safe-buffer@~5.0.1:
+  version "5.0.1"
+  resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7"
+
+sax@~1.2.1:
+  version "1.2.2"
+  resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.2.tgz#fd8631a23bc7826bef5d871bdb87378c95647828"
+
+select-hose@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca"
+
+select2@3.5.2-browserify:
+  version "3.5.2-browserify"
+  resolved "https://registry.yarnpkg.com/select2/-/select2-3.5.2-browserify.tgz#dc4dafda38d67a734e8a97a46f0d3529ae05391d"
+
+select@^1.1.2:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/select/-/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d"
+
+semver-diff@^2.0.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36"
+  dependencies:
+    semver "^5.0.3"
+
+"semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.3.0, semver@~5.3.0:
+  version "5.3.0"
+  resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
+
+semver@~4.3.3:
+  version "4.3.6"
+  resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da"
+
+send@0.15.3:
+  version "0.15.3"
+  resolved "https://registry.yarnpkg.com/send/-/send-0.15.3.tgz#5013f9f99023df50d1bd9892c19e3defd1d53309"
+  dependencies:
+    debug "2.6.7"
+    depd "~1.1.0"
+    destroy "~1.0.4"
+    encodeurl "~1.0.1"
+    escape-html "~1.0.3"
+    etag "~1.8.0"
+    fresh "0.5.0"
+    http-errors "~1.6.1"
+    mime "1.3.4"
+    ms "2.0.0"
+    on-finished "~2.3.0"
+    range-parser "~1.2.0"
+    statuses "~1.3.1"
+
+serve-index@^1.7.2:
+  version "1.8.0"
+  resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.8.0.tgz#7c5d96c13fb131101f93c1c5774f8516a1e78d3b"
+  dependencies:
+    accepts "~1.3.3"
+    batch "0.5.3"
+    debug "~2.2.0"
+    escape-html "~1.0.3"
+    http-errors "~1.5.0"
+    mime-types "~2.1.11"
+    parseurl "~1.3.1"
+
+serve-static@1.12.3:
+  version "1.12.3"
+  resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.12.3.tgz#9f4ba19e2f3030c547f8af99107838ec38d5b1e2"
+  dependencies:
+    encodeurl "~1.0.1"
+    escape-html "~1.0.3"
+    parseurl "~1.3.1"
+    send "0.15.3"
+
+set-blocking@^2.0.0, set-blocking@~2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
+
+set-immediate-shim@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61"
+
+setimmediate@^1.0.4:
+  version "1.0.5"
+  resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
+
+setprototypeof@1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.2.tgz#81a552141ec104b88e89ce383103ad5c66564d08"
+
+setprototypeof@1.0.3:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04"
+
+sha.js@^2.3.6:
+  version "2.4.8"
+  resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.8.tgz#37068c2c476b6baf402d14a49c67f597921f634f"
+  dependencies:
+    inherits "^2.0.1"
+
+shelljs@^0.7.5:
+  version "0.7.6"
+  resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.6.tgz#379cccfb56b91c8601e4793356eb5382924de9ad"
+  dependencies:
+    glob "^7.0.0"
+    interpret "^1.0.0"
+    rechoir "^0.6.2"
+
+sigmund@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590"
+
+signal-exit@^3.0.0:
+  version "3.0.2"
+  resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
+
+slash@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"
+
+slice-ansi@0.0.4:
+  version "0.0.4"
+  resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35"
+
+slide@^1.1.5:
+  version "1.1.6"
+  resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707"
+
+sntp@1.x.x:
+  version "1.0.9"
+  resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198"
+  dependencies:
+    hoek "2.x.x"
+
+socket.io-adapter@0.5.0:
+  version "0.5.0"
+  resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-0.5.0.tgz#cb6d4bb8bec81e1078b99677f9ced0046066bb8b"
+  dependencies:
+    debug "2.3.3"
+    socket.io-parser "2.3.1"
+
+socket.io-client@1.7.3:
+  version "1.7.3"
+  resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-1.7.3.tgz#b30e86aa10d5ef3546601c09cde4765e381da377"
+  dependencies:
+    backo2 "1.0.2"
+    component-bind "1.0.0"
+    component-emitter "1.2.1"
+    debug "2.3.3"
+    engine.io-client "1.8.3"
+    has-binary "0.1.7"
+    indexof "0.0.1"
+    object-component "0.0.3"
+    parseuri "0.0.5"
+    socket.io-parser "2.3.1"
+    to-array "0.1.4"
+
+socket.io-parser@2.3.1:
+  version "2.3.1"
+  resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-2.3.1.tgz#dd532025103ce429697326befd64005fcfe5b4a0"
+  dependencies:
+    component-emitter "1.1.2"
+    debug "2.2.0"
+    isarray "0.0.1"
+    json3 "3.3.2"
+
+socket.io@1.7.3:
+  version "1.7.3"
+  resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-1.7.3.tgz#b8af9caba00949e568e369f1327ea9be9ea2461b"
+  dependencies:
+    debug "2.3.3"
+    engine.io "1.8.3"
+    has-binary "0.1.7"
+    object-assign "4.1.0"
+    socket.io-adapter "0.5.0"
+    socket.io-client "1.7.3"
+    socket.io-parser "2.3.1"
+
+sockjs-client@1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.0.1.tgz#8943ae05b46547bc2054816c409002cf5e2fe026"
+  dependencies:
+    debug "^2.1.0"
+    eventsource "^0.1.3"
+    faye-websocket "~0.7.3"
+    inherits "^2.0.1"
+    json3 "^3.3.2"
+    url-parse "^1.0.1"
+
+sockjs-client@1.1.2:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.1.2.tgz#f0212a8550e4c9468c8cceaeefd2e3493c033ad5"
+  dependencies:
+    debug "^2.2.0"
+    eventsource "0.1.6"
+    faye-websocket "~0.11.0"
+    inherits "^2.0.1"
+    json3 "^3.3.2"
+    url-parse "^1.1.1"
+
+sockjs@0.3.18:
+  version "0.3.18"
+  resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.18.tgz#d9b289316ca7df77595ef299e075f0f937eb4207"
+  dependencies:
+    faye-websocket "^0.10.0"
+    uuid "^2.0.2"
+
+sort-keys@^1.0.0:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad"
+  dependencies:
+    is-plain-obj "^1.0.0"
+
+source-list-map@^0.1.7, source-list-map@~0.1.7:
+  version "0.1.8"
+  resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.8.tgz#c550b2ab5427f6b3f21f5afead88c4f5587b2106"
+
+source-list-map@^1.1.1:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-1.1.1.tgz#1a33ac210ca144d1e561f906ebccab5669ff4cb4"
+
+source-map-support@^0.4.2:
+  version "0.4.11"
+  resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.11.tgz#647f939978b38535909530885303daf23279f322"
+  dependencies:
+    source-map "^0.5.3"
+
+source-map@0.5.x, source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1, source-map@~0.5.3:
+  version "0.5.6"
+  resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412"
+
+source-map@^0.1.41:
+  version "0.1.43"
+  resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346"
+  dependencies:
+    amdefine ">=0.0.4"
+
+source-map@^0.4.4:
+  version "0.4.4"
+  resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b"
+  dependencies:
+    amdefine ">=0.0.4"
+
+source-map@~0.2.0:
+  version "0.2.0"
+  resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d"
+  dependencies:
+    amdefine ">=0.0.4"
+
+spdx-correct@~1.0.0:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40"
+  dependencies:
+    spdx-license-ids "^1.0.2"
+
+spdx-expression-parse@~1.0.0:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c"
+
+spdx-license-ids@^1.0.2:
+  version "1.2.2"
+  resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57"
+
+spdy-transport@^2.0.15:
+  version "2.0.18"
+  resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-2.0.18.tgz#43fc9c56be2cccc12bb3e2754aa971154e836ea6"
+  dependencies:
+    debug "^2.2.0"
+    hpack.js "^2.1.6"
+    obuf "^1.1.0"
+    readable-stream "^2.0.1"
+    wbuf "^1.4.0"
+
+spdy@^3.4.1:
+  version "3.4.4"
+  resolved "https://registry.yarnpkg.com/spdy/-/spdy-3.4.4.tgz#e0406407ca90ff01b553eb013505442649f5a819"
+  dependencies:
+    debug "^2.2.0"
+    handle-thing "^1.2.4"
+    http-deceiver "^1.2.4"
+    select-hose "^2.0.0"
+    spdy-transport "^2.0.15"
+
+split@0.3:
+  version "0.3.3"
+  resolved "https://registry.yarnpkg.com/split/-/split-0.3.3.tgz#cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f"
+  dependencies:
+    through "2"
+
+sprintf-js@~1.0.2:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
+
+sql.js@^0.4.0:
+  version "0.4.0"
+  resolved "https://registry.yarnpkg.com/sql.js/-/sql.js-0.4.0.tgz#23be9635520eb0ff43a741e7e830397266e88445"
+
+sshpk@^1.7.0:
+  version "1.10.2"
+  resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.10.2.tgz#d5a804ce22695515638e798dbe23273de070a5fa"
+  dependencies:
+    asn1 "~0.2.3"
+    assert-plus "^1.0.0"
+    dashdash "^1.12.0"
+    getpass "^0.1.1"
+  optionalDependencies:
+    bcrypt-pbkdf "^1.0.0"
+    ecc-jsbn "~0.1.1"
+    jodid25519 "^1.0.0"
+    jsbn "~0.1.0"
+    tweetnacl "~0.14.0"
+
+stats-webpack-plugin@^0.4.3:
+  version "0.4.3"
+  resolved "https://registry.yarnpkg.com/stats-webpack-plugin/-/stats-webpack-plugin-0.4.3.tgz#b2f618202f28dd04ab47d7ecf54ab846137b7aea"
+
+"statuses@>= 1.3.1 < 2", statuses@~1.3.1:
+  version "1.3.1"
+  resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e"
+
+stream-browserify@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db"
+  dependencies:
+    inherits "~2.0.1"
+    readable-stream "^2.0.2"
+
+stream-combiner@~0.0.4:
+  version "0.0.4"
+  resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.0.4.tgz#4d5e433c185261dde623ca3f44c586bcf5c4ad14"
+  dependencies:
+    duplexer "~0.1.1"
+
+stream-http@^2.3.1:
+  version "2.6.3"
+  resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.6.3.tgz#4c3ddbf9635968ea2cfd4e48d43de5def2625ac3"
+  dependencies:
+    builtin-status-codes "^3.0.0"
+    inherits "^2.0.1"
+    readable-stream "^2.1.0"
+    to-arraybuffer "^1.0.0"
+    xtend "^4.0.0"
+
+stream-shift@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952"
+
+strict-uri-encode@^1.0.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713"
+
+string-length@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/string-length/-/string-length-1.0.1.tgz#56970fb1c38558e9e70b728bf3de269ac45adfac"
+  dependencies:
+    strip-ansi "^3.0.0"
+
+string-width@^1.0.1, string-width@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
+  dependencies:
+    code-point-at "^1.0.0"
+    is-fullwidth-code-point "^1.0.0"
+    strip-ansi "^3.0.0"
+
+string-width@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.0.0.tgz#635c5436cc72a6e0c387ceca278d4e2eec52687e"
+  dependencies:
+    is-fullwidth-code-point "^2.0.0"
+    strip-ansi "^3.0.0"
+
+string_decoder@^0.10.25, string_decoder@~0.10.x:
+  version "0.10.31"
+  resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
+
+stringstream@~0.0.4:
+  version "0.0.5"
+  resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878"
+
+strip-ansi@3.0.1, strip-ansi@^3.0.0, strip-ansi@^3.0.1:
+  version "3.0.1"
+  resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
+  dependencies:
+    ansi-regex "^2.0.0"
+
+strip-bom@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e"
+  dependencies:
+    is-utf8 "^0.2.0"
+
+strip-bom@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
+
+strip-json-comments@~1.0.4:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91"
+
+strip-json-comments@~2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
+
+supports-color@^0.2.0:
+  version "0.2.0"
+  resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-0.2.0.tgz#d92de2694eb3f67323973d7ae3d8b55b4c22190a"
+
+supports-color@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
+
+supports-color@^3.1.0, supports-color@^3.1.1, supports-color@^3.1.2, supports-color@^3.2.3:
+  version "3.2.3"
+  resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6"
+  dependencies:
+    has-flag "^1.0.0"
+
+svgo@^0.7.0:
+  version "0.7.2"
+  resolved "https://registry.yarnpkg.com/svgo/-/svgo-0.7.2.tgz#9f5772413952135c6fefbf40afe6a4faa88b4bb5"
+  dependencies:
+    coa "~1.0.1"
+    colors "~1.1.2"
+    csso "~2.3.1"
+    js-yaml "~3.7.0"
+    mkdirp "~0.5.1"
+    sax "~1.2.1"
+    whet.extend "~0.9.9"
+
+table@^3.7.8:
+  version "3.8.3"
+  resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f"
+  dependencies:
+    ajv "^4.7.0"
+    ajv-keywords "^1.0.0"
+    chalk "^1.1.1"
+    lodash "^4.0.0"
+    slice-ansi "0.0.4"
+    string-width "^2.0.0"
+
+tapable@^0.1.8:
+  version "0.1.10"
+  resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.1.10.tgz#29c35707c2b70e50d07482b5d202e8ed446dafd4"
+
+tapable@^0.2.5, tapable@~0.2.5:
+  version "0.2.6"
+  resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.2.6.tgz#206be8e188860b514425375e6f1ae89bfb01fd8d"
+
+tar-pack@~3.3.0:
+  version "3.3.0"
+  resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.3.0.tgz#30931816418f55afc4d21775afdd6720cee45dae"
+  dependencies:
+    debug "~2.2.0"
+    fstream "~1.0.10"
+    fstream-ignore "~1.0.5"
+    once "~1.3.3"
+    readable-stream "~2.1.4"
+    rimraf "~2.5.1"
+    tar "~2.2.1"
+    uid-number "~0.0.6"
+
+tar@~2.2.1:
+  version "2.2.1"
+  resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1"
+  dependencies:
+    block-stream "*"
+    fstream "^1.0.2"
+    inherits "2"
+
+test-exclude@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-4.0.0.tgz#0ddc0100b8ae7e88b34eb4fd98a907e961991900"
+  dependencies:
+    arrify "^1.0.1"
+    micromatch "^2.3.11"
+    object-assign "^4.1.0"
+    read-pkg-up "^1.0.1"
+    require-main-filename "^1.0.1"
+
+text-table@~0.2.0:
+  version "0.2.0"
+  resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
+
+three-orbit-controls@^82.1.0:
+  version "82.1.0"
+  resolved "https://registry.yarnpkg.com/three-orbit-controls/-/three-orbit-controls-82.1.0.tgz#11a7f33d0a20ecec98f098b37780f6537374fab4"
+
+three-stl-loader@^1.0.4:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/three-stl-loader/-/three-stl-loader-1.0.4.tgz#6b3319a31e3b910aab1883d19b00c81a663c3e03"
+
+three@^0.84.0:
+  version "0.84.0"
+  resolved "https://registry.yarnpkg.com/three/-/three-0.84.0.tgz#95be85a55a0fa002aa625ed559130957dcffd918"
+
+through@2, through@^2.3.6, through@~2.3, through@~2.3.1:
+  version "2.3.8"
+  resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
+
+timeago.js@^2.0.5:
+  version "2.0.5"
+  resolved "https://registry.yarnpkg.com/timeago.js/-/timeago.js-2.0.5.tgz#730c74fbdb0b0917a553675a4460e3a7f80db86c"
+
+timed-out@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-2.0.0.tgz#f38b0ae81d3747d628001f41dafc652ace671c0a"
+
+timers-browserify@^1.4.2:
+  version "1.4.2"
+  resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-1.4.2.tgz#c9c58b575be8407375cb5e2462dacee74359f41d"
+  dependencies:
+    process "~0.11.0"
+
+timers-browserify@^2.0.2:
+  version "2.0.2"
+  resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.2.tgz#ab4883cf597dcd50af211349a00fbca56ac86b86"
+  dependencies:
+    setimmediate "^1.0.4"
+
+tiny-emitter@^1.0.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-1.1.0.tgz#ab405a21ffed814a76c19739648093d70654fecb"
+
+tmp@0.0.31, tmp@0.0.x:
+  version "0.0.31"
+  resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.31.tgz#8f38ab9438e17315e5dbd8b3657e8bfb277ae4a7"
+  dependencies:
+    os-tmpdir "~1.0.1"
+
+to-array@0.1.4:
+  version "0.1.4"
+  resolved "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890"
+
+to-arraybuffer@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43"
+
+to-fast-properties@^1.0.1:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.2.tgz#f3f5c0c3ba7299a7ef99427e44633257ade43320"
+
+touch@1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/touch/-/touch-1.0.0.tgz#449cbe2dbae5a8c8038e30d71fa0ff464947c4de"
+  dependencies:
+    nopt "~1.0.10"
+
+tough-cookie@~2.3.0:
+  version "2.3.2"
+  resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a"
+  dependencies:
+    punycode "^1.4.1"
+
+traverse@0.6.6:
+  version "0.6.6"
+  resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.6.6.tgz#cbdf560fd7b9af632502fed40f918c157ea97137"
+
+trim-right@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
+
+tryit@^1.0.1:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/tryit/-/tryit-1.0.3.tgz#393be730a9446fd1ead6da59a014308f36c289cb"
+
+tty-browserify@0.0.0:
+  version "0.0.0"
+  resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6"
+
+tunnel-agent@~0.4.1:
+  version "0.4.3"
+  resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb"
+
+tweetnacl@^0.14.3, tweetnacl@~0.14.0:
+  version "0.14.5"
+  resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
+
+type-check@~0.3.2:
+  version "0.3.2"
+  resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
+  dependencies:
+    prelude-ls "~1.1.2"
+
+type-is@~1.6.15:
+  version "1.6.15"
+  resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410"
+  dependencies:
+    media-typer "0.3.0"
+    mime-types "~2.1.15"
+
+typedarray@^0.0.6:
+  version "0.0.6"
+  resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
+
+uglify-js@^2.6, uglify-js@^2.8.27:
+  version "2.8.27"
+  resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.27.tgz#47787f912b0f242e5b984343be8e35e95f694c9c"
+  dependencies:
+    source-map "~0.5.1"
+    yargs "~3.10.0"
+  optionalDependencies:
+    uglify-to-browserify "~1.0.0"
+
+uglify-to-browserify@~1.0.0:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7"
+
+uid-number@~0.0.6:
+  version "0.0.6"
+  resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81"
+
+ultron@1.0.x:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.0.2.tgz#ace116ab557cd197386a4e88f4685378c8b2e4fa"
+
+ultron@~1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.0.tgz#b07a2e6a541a815fc6a34ccd4533baec307ca864"
+
+unc-path-regex@^0.1.0:
+  version "0.1.2"
+  resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa"
+
+undefsafe@0.0.3:
+  version "0.0.3"
+  resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-0.0.3.tgz#ecca3a03e56b9af17385baac812ac83b994a962f"
+
+underscore@^1.8.3:
+  version "1.8.3"
+  resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.8.3.tgz#4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022"
+
+uniq@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff"
+
+uniqid@^4.0.0:
+  version "4.1.1"
+  resolved "https://registry.yarnpkg.com/uniqid/-/uniqid-4.1.1.tgz#89220ddf6b751ae52b5f72484863528596bb84c1"
+  dependencies:
+    macaddress "^0.2.8"
+
+uniqs@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02"
+
+unpipe@1.0.0, unpipe@~1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
+
+update-notifier@0.5.0:
+  version "0.5.0"
+  resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-0.5.0.tgz#07b5dc2066b3627ab3b4f530130f7eddda07a4cc"
+  dependencies:
+    chalk "^1.0.0"
+    configstore "^1.0.0"
+    is-npm "^1.0.0"
+    latest-version "^1.0.0"
+    repeating "^1.1.2"
+    semver-diff "^2.0.0"
+    string-length "^1.0.0"
+
+url-loader@^0.5.8:
+  version "0.5.8"
+  resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-0.5.8.tgz#b9183b1801e0f847718673673040bc9dc1c715c5"
+  dependencies:
+    loader-utils "^1.0.2"
+    mime "1.3.x"
+
+url-parse@1.0.x:
+  version "1.0.5"
+  resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.0.5.tgz#0854860422afdcfefeb6c965c662d4800169927b"
+  dependencies:
+    querystringify "0.0.x"
+    requires-port "1.0.x"
+
+url-parse@^1.0.1, url-parse@^1.1.1:
+  version "1.1.7"
+  resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.1.7.tgz#025cff999653a459ab34232147d89514cc87d74a"
+  dependencies:
+    querystringify "0.0.x"
+    requires-port "1.0.x"
+
+url@^0.11.0:
+  version "0.11.0"
+  resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1"
+  dependencies:
+    punycode "1.3.2"
+    querystring "0.2.0"
+
+user-home@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f"
+  dependencies:
+    os-homedir "^1.0.0"
+
+useragent@^2.1.12:
+  version "2.1.13"
+  resolved "https://registry.yarnpkg.com/useragent/-/useragent-2.1.13.tgz#bba43e8aa24d5ceb83c2937473e102e21df74c10"
+  dependencies:
+    lru-cache "2.2.x"
+    tmp "0.0.x"
+
+util-deprecate@~1.0.1:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
+
+util@0.10.3, util@^0.10.3:
+  version "0.10.3"
+  resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9"
+  dependencies:
+    inherits "2.0.1"
+
+utils-merge@1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.0.tgz#0294fb922bb9375153541c4f7096231f287c8af8"
+
+uuid@^2.0.1, uuid@^2.0.2:
+  version "2.0.3"
+  resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a"
+
+uuid@^3.0.0:
+  version "3.0.1"
+  resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1"
+
+validate-npm-package-license@^3.0.1:
+  version "3.0.1"
+  resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc"
+  dependencies:
+    spdx-correct "~1.0.0"
+    spdx-expression-parse "~1.0.0"
+
+vary@~1.1.0, vary@~1.1.1:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.1.tgz#67535ebb694c1d52257457984665323f587e8d37"
+
+vendors@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.1.tgz#37ad73c8ee417fb3d580e785312307d274847f22"
+
+verror@1.3.6:
+  version "1.3.6"
+  resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c"
+  dependencies:
+    extsprintf "1.0.2"
+
+visibilityjs@^1.2.4:
+  version "1.2.4"
+  resolved "https://registry.yarnpkg.com/visibilityjs/-/visibilityjs-1.2.4.tgz#bff8663da62c8c10ad4ee5ae6a1ae6fac4259d63"
+
+vm-browserify@0.0.4:
+  version "0.0.4"
+  resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73"
+  dependencies:
+    indexof "0.0.1"
+
+void-elements@^2.0.0:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec"
+
+vue-hot-reload-api@^2.0.11:
+  version "2.0.11"
+  resolved "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.0.11.tgz#bf26374fb73366ce03f799e65ef5dfd0e28a1568"
+
+vue-loader@^11.3.4:
+  version "11.3.4"
+  resolved "https://registry.yarnpkg.com/vue-loader/-/vue-loader-11.3.4.tgz#65e10a44ce092d906e14bbc72981dec99eb090d2"
+  dependencies:
+    consolidate "^0.14.0"
+    hash-sum "^1.0.2"
+    js-beautify "^1.6.3"
+    loader-utils "^1.1.0"
+    lru-cache "^4.0.1"
+    postcss "^5.0.21"
+    postcss-load-config "^1.1.0"
+    postcss-selector-parser "^2.0.0"
+    source-map "^0.5.6"
+    vue-hot-reload-api "^2.0.11"
+    vue-style-loader "^2.0.0"
+    vue-template-es2015-compiler "^1.2.2"
+
+vue-resource@^0.9.3:
+  version "0.9.3"
+  resolved "https://registry.yarnpkg.com/vue-resource/-/vue-resource-0.9.3.tgz#ab46e1c44ea219142dcc28ae4043b3b04c80959d"
+
+vue-style-loader@^2.0.0:
+  version "2.0.5"
+  resolved "https://registry.yarnpkg.com/vue-style-loader/-/vue-style-loader-2.0.5.tgz#f0efac992febe3f12e493e334edb13cd235a3d22"
+  dependencies:
+    hash-sum "^1.0.2"
+    loader-utils "^1.0.2"
+
+vue-template-compiler@^2.2.6:
+  version "2.2.6"
+  resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.2.6.tgz#2e2928daf0cd0feca9dfc35a9729adeae173ec68"
+  dependencies:
+    de-indent "^1.0.2"
+    he "^1.1.0"
+
+vue-template-es2015-compiler@^1.2.2:
+  version "1.5.1"
+  resolved "https://registry.yarnpkg.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.5.1.tgz#0c36cc57aa3a9ec13e846342cb14a72fcac8bd93"
+
+vue@^2.2.6:
+  version "2.2.6"
+  resolved "https://registry.yarnpkg.com/vue/-/vue-2.2.6.tgz#451714b394dd6d4eae7b773c40c2034a59621aed"
+
+watchpack@^1.3.1:
+  version "1.3.1"
+  resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.3.1.tgz#7d8693907b28ce6013e7f3610aa2a1acf07dad87"
+  dependencies:
+    async "^2.1.2"
+    chokidar "^1.4.3"
+    graceful-fs "^4.1.2"
+
+wbuf@^1.1.0, wbuf@^1.4.0:
+  version "1.7.2"
+  resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.2.tgz#d697b99f1f59512df2751be42769c1580b5801fe"
+  dependencies:
+    minimalistic-assert "^1.0.0"
+
+webpack-bundle-analyzer@^2.8.2:
+  version "2.8.2"
+  resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-2.8.2.tgz#8b6240c29a9d63bc72f09d920fb050adbcce9fe8"
+  dependencies:
+    acorn "^5.0.3"
+    chalk "^1.1.3"
+    commander "^2.9.0"
+    ejs "^2.5.6"
+    express "^4.15.2"
+    filesize "^3.5.9"
+    gzip-size "^3.0.0"
+    lodash "^4.17.4"
+    mkdirp "^0.5.1"
+    opener "^1.4.3"
+    ws "^2.3.1"
+
+webpack-dev-middleware@^1.0.11, webpack-dev-middleware@^1.9.0:
+  version "1.10.0"
+  resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.10.0.tgz#7d5be2651e692fddfafd8aaed177c16ff51f0eb8"
+  dependencies:
+    memory-fs "~0.4.1"
+    mime "^1.3.4"
+    path-is-absolute "^1.0.0"
+    range-parser "^1.0.3"
+
+webpack-dev-server@^2.4.2:
+  version "2.4.2"
+  resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-2.4.2.tgz#cf595d6b40878452b6d2ad7229056b686f8a16be"
+  dependencies:
+    ansi-html "0.0.7"
+    chokidar "^1.6.0"
+    compression "^1.5.2"
+    connect-history-api-fallback "^1.3.0"
+    express "^4.13.3"
+    html-entities "^1.2.0"
+    http-proxy-middleware "~0.17.4"
+    opn "4.0.2"
+    portfinder "^1.0.9"
+    serve-index "^1.7.2"
+    sockjs "0.3.18"
+    sockjs-client "1.1.2"
+    spdy "^3.4.1"
+    strip-ansi "^3.0.0"
+    supports-color "^3.1.1"
+    webpack-dev-middleware "^1.9.0"
+    yargs "^6.0.0"
+
+webpack-sources@^0.1.0:
+  version "0.1.4"
+  resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.1.4.tgz#ccc2c817e08e5fa393239412690bb481821393cd"
+  dependencies:
+    source-list-map "~0.1.7"
+    source-map "~0.5.3"
+
+webpack-sources@^0.2.3:
+  version "0.2.3"
+  resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.2.3.tgz#17c62bfaf13c707f9d02c479e0dcdde8380697fb"
+  dependencies:
+    source-list-map "^1.1.1"
+    source-map "~0.5.3"
+
+webpack@^2.6.1:
+  version "2.6.1"
+  resolved "https://registry.yarnpkg.com/webpack/-/webpack-2.6.1.tgz#2e0457f0abb1ac5df3ab106c69c672f236785f07"
+  dependencies:
+    acorn "^5.0.0"
+    acorn-dynamic-import "^2.0.0"
+    ajv "^4.7.0"
+    ajv-keywords "^1.1.1"
+    async "^2.1.2"
+    enhanced-resolve "^3.0.0"
+    interpret "^1.0.0"
+    json-loader "^0.5.4"
+    json5 "^0.5.1"
+    loader-runner "^2.3.0"
+    loader-utils "^0.2.16"
+    memory-fs "~0.4.1"
+    mkdirp "~0.5.0"
+    node-libs-browser "^2.0.0"
+    source-map "^0.5.3"
+    supports-color "^3.1.0"
+    tapable "~0.2.5"
+    uglify-js "^2.8.27"
+    watchpack "^1.3.1"
+    webpack-sources "^0.2.3"
+    yargs "^6.0.0"
+
+websocket-driver@>=0.3.6, websocket-driver@>=0.5.1:
+  version "0.6.5"
+  resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.6.5.tgz#5cb2556ceb85f4373c6d8238aa691c8454e13a36"
+  dependencies:
+    websocket-extensions ">=0.1.1"
+
+websocket-extensions@>=0.1.1:
+  version "0.1.1"
+  resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.1.tgz#76899499c184b6ef754377c2dbb0cd6cb55d29e7"
+
+whet.extend@~0.9.9:
+  version "0.9.9"
+  resolved "https://registry.yarnpkg.com/whet.extend/-/whet.extend-0.9.9.tgz#f877d5bf648c97e5aa542fadc16d6a259b9c11a1"
+
+which-module@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f"
+
+which@^1.1.1, which@^1.2.1:
+  version "1.2.12"
+  resolved "https://registry.yarnpkg.com/which/-/which-1.2.12.tgz#de67b5e450269f194909ef23ece4ebe416fa1192"
+  dependencies:
+    isexe "^1.1.1"
+
+wide-align@^1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.0.tgz#40edde802a71fea1f070da3e62dcda2e7add96ad"
+  dependencies:
+    string-width "^1.0.1"
+
+window-size@0.1.0:
+  version "0.1.0"
+  resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d"
+
+wordwrap@0.0.2:
+  version "0.0.2"
+  resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f"
+
+wordwrap@^1.0.0, wordwrap@~1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
+
+wordwrap@~0.0.2:
+  version "0.0.3"
+  resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107"
+
+worker-loader@^0.8.0:
+  version "0.8.0"
+  resolved "https://registry.yarnpkg.com/worker-loader/-/worker-loader-0.8.0.tgz#13582960dcd7d700dc829d3fd252a7561696167e"
+  dependencies:
+    loader-utils "^1.0.2"
+
+wrap-ansi@^2.0.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85"
+  dependencies:
+    string-width "^1.0.1"
+    strip-ansi "^3.0.1"
+
+wrappy@1:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
+
+write-file-atomic@^1.1.2:
+  version "1.3.1"
+  resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.3.1.tgz#7d45ba32316328dd1ec7d90f60ebc0d845bb759a"
+  dependencies:
+    graceful-fs "^4.1.11"
+    imurmurhash "^0.1.4"
+    slide "^1.1.5"
+
+write@^0.2.1:
+  version "0.2.1"
+  resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757"
+  dependencies:
+    mkdirp "^0.5.1"
+
+ws@1.1.2:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.2.tgz#8a244fa052401e08c9886cf44a85189e1fd4067f"
+  dependencies:
+    options ">=0.0.5"
+    ultron "1.0.x"
+
+ws@^2.3.1:
+  version "2.3.1"
+  resolved "https://registry.yarnpkg.com/ws/-/ws-2.3.1.tgz#6b94b3e447cb6a363f785eaf94af6359e8e81c80"
+  dependencies:
+    safe-buffer "~5.0.1"
+    ultron "~1.1.0"
+
+wtf-8@1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/wtf-8/-/wtf-8-1.0.0.tgz#392d8ba2d0f1c34d1ee2d630f15d0efb68e1048a"
+
+xdg-basedir@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-2.0.0.tgz#edbc903cc385fc04523d966a335504b5504d1bd2"
+  dependencies:
+    os-homedir "^1.0.0"
+
+xmlhttprequest-ssl@1.5.3:
+  version "1.5.3"
+  resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz#185a888c04eca46c3e4070d99f7b49de3528992d"
+
+xtend@^4.0.0:
+  version "4.0.1"
+  resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
+
+y18n@^3.2.1:
+  version "3.2.1"
+  resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41"
+
+yallist@^2.0.0:
+  version "2.1.2"
+  resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
+
+yargs-parser@^4.2.0:
+  version "4.2.1"
+  resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c"
+  dependencies:
+    camelcase "^3.0.0"
+
+yargs@^6.0.0:
+  version "6.6.0"
+  resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208"
+  dependencies:
+    camelcase "^3.0.0"
+    cliui "^3.2.0"
+    decamelize "^1.1.1"
+    get-caller-file "^1.0.1"
+    os-locale "^1.4.0"
+    read-pkg-up "^1.0.1"
+    require-directory "^2.1.1"
+    require-main-filename "^1.0.1"
+    set-blocking "^2.0.0"
+    string-width "^1.0.2"
+    which-module "^1.0.0"
+    y18n "^3.2.1"
+    yargs-parser "^4.2.0"
+
+yargs@~3.10.0:
+  version "3.10.0"
+  resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1"
+  dependencies:
+    camelcase "^1.0.2"
+    cliui "^2.1.0"
+    decamelize "^1.0.0"
+    window-size "0.1.0"
+
+yeast@0.1.2:
+  version "0.1.2"
+  resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419"
diff --git a/pkgs/applications/version-management/gitlab/yarn.nix b/pkgs/applications/version-management/gitlab/yarn.nix
new file mode 100644
index 000000000000..989d1563193c
--- /dev/null
+++ b/pkgs/applications/version-management/gitlab/yarn.nix
@@ -0,0 +1,8501 @@
+{fetchurl, linkFarm}: rec {
+  offline_cache = linkFarm "offline" packages;
+  packages = [
+
+    {
+      name = "abbrev-1.0.9.tgz";
+      path = fetchurl {
+        name = "abbrev-1.0.9.tgz";
+        url  = "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz";
+        sha1 = "91b4792588a7738c25f35dd6f63752a2f8776135";
+      };
+    }
+
+    {
+      name = "accepts-1.3.3.tgz";
+      path = fetchurl {
+        name = "accepts-1.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/accepts/-/accepts-1.3.3.tgz";
+        sha1 = "c3ca7434938648c3e0d9c1e328dd68b622c284ca";
+      };
+    }
+
+    {
+      name = "acorn-dynamic-import-2.0.1.tgz";
+      path = fetchurl {
+        name = "acorn-dynamic-import-2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-2.0.1.tgz";
+        sha1 = "23f671eb6e650dab277fef477c321b1178a8cca2";
+      };
+    }
+
+    {
+      name = "acorn-jsx-3.0.1.tgz";
+      path = fetchurl {
+        name = "acorn-jsx-3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz";
+        sha1 = "afdf9488fb1ecefc8348f6fb22f464e32a58b36b";
+      };
+    }
+
+    {
+      name = "acorn-4.0.4.tgz";
+      path = fetchurl {
+        name = "acorn-4.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/acorn/-/acorn-4.0.4.tgz";
+        sha1 = "17a8d6a7a6c4ef538b814ec9abac2779293bf30a";
+      };
+    }
+
+    {
+      name = "acorn-3.3.0.tgz";
+      path = fetchurl {
+        name = "acorn-3.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz";
+        sha1 = "45e37fb39e8da3f25baee3ff5369e2bb5f22017a";
+      };
+    }
+
+    {
+      name = "acorn-5.0.3.tgz";
+      path = fetchurl {
+        name = "acorn-5.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/acorn/-/acorn-5.0.3.tgz";
+        sha1 = "c460df08491463f028ccb82eab3730bf01087b3d";
+      };
+    }
+
+    {
+      name = "after-0.8.2.tgz";
+      path = fetchurl {
+        name = "after-0.8.2.tgz";
+        url  = "https://registry.yarnpkg.com/after/-/after-0.8.2.tgz";
+        sha1 = "fedb394f9f0e02aa9768e702bda23b505fae7e1f";
+      };
+    }
+
+    {
+      name = "ajv-keywords-1.5.1.tgz";
+      path = fetchurl {
+        name = "ajv-keywords-1.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz";
+        sha1 = "314dd0a4b3368fad3dfcdc54ede6171b886daf3c";
+      };
+    }
+
+    {
+      name = "ajv-4.11.2.tgz";
+      path = fetchurl {
+        name = "ajv-4.11.2.tgz";
+        url  = "https://registry.yarnpkg.com/ajv/-/ajv-4.11.2.tgz";
+        sha1 = "f166c3c11cbc6cb9dcc102a5bcfe5b72c95287e6";
+      };
+    }
+
+    {
+      name = "align-text-0.1.4.tgz";
+      path = fetchurl {
+        name = "align-text-0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz";
+        sha1 = "0cd90a561093f35d0a99256c22b7069433fad117";
+      };
+    }
+
+    {
+      name = "alphanum-sort-1.0.2.tgz";
+      path = fetchurl {
+        name = "alphanum-sort-1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz";
+        sha1 = "97a1119649b211ad33691d9f9f486a8ec9fbe0a3";
+      };
+    }
+
+    {
+      name = "amdefine-1.0.1.tgz";
+      path = fetchurl {
+        name = "amdefine-1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz";
+        sha1 = "4a5282ac164729e93619bcfd3ad151f817ce91f5";
+      };
+    }
+
+    {
+      name = "ansi-escapes-1.4.0.tgz";
+      path = fetchurl {
+        name = "ansi-escapes-1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz";
+        sha1 = "d3a8a83b319aa67793662b13e761c7911422306e";
+      };
+    }
+
+    {
+      name = "ansi-html-0.0.5.tgz";
+      path = fetchurl {
+        name = "ansi-html-0.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.5.tgz";
+        sha1 = "0dcaa5a081206866bc240a3b773a184ea3b88b64";
+      };
+    }
+
+    {
+      name = "ansi-html-0.0.7.tgz";
+      path = fetchurl {
+        name = "ansi-html-0.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz";
+        sha1 = "813584021962a9e9e6fd039f940d12f56ca7859e";
+      };
+    }
+
+    {
+      name = "ansi-regex-2.1.1.tgz";
+      path = fetchurl {
+        name = "ansi-regex-2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz";
+        sha1 = "c3b33ab5ee360d86e0e628f0468ae7ef27d654df";
+      };
+    }
+
+    {
+      name = "ansi-styles-2.2.1.tgz";
+      path = fetchurl {
+        name = "ansi-styles-2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz";
+        sha1 = "b432dd3358b634cf75e1e4664368240533c1ddbe";
+      };
+    }
+
+    {
+      name = "anymatch-1.3.0.tgz";
+      path = fetchurl {
+        name = "anymatch-1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.0.tgz";
+        sha1 = "a3e52fa39168c825ff57b0248126ce5a8ff95507";
+      };
+    }
+
+    {
+      name = "append-transform-0.4.0.tgz";
+      path = fetchurl {
+        name = "append-transform-0.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/append-transform/-/append-transform-0.4.0.tgz";
+        sha1 = "d76ebf8ca94d276e247a36bad44a4b74ab611991";
+      };
+    }
+
+    {
+      name = "aproba-1.1.0.tgz";
+      path = fetchurl {
+        name = "aproba-1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/aproba/-/aproba-1.1.0.tgz";
+        sha1 = "4d8f047a318604e18e3c06a0e52230d3d19f147b";
+      };
+    }
+
+    {
+      name = "are-we-there-yet-1.1.2.tgz";
+      path = fetchurl {
+        name = "are-we-there-yet-1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz";
+        sha1 = "80e470e95a084794fe1899262c5667c6e88de1b3";
+      };
+    }
+
+    {
+      name = "argparse-1.0.9.tgz";
+      path = fetchurl {
+        name = "argparse-1.0.9.tgz";
+        url  = "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz";
+        sha1 = "73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86";
+      };
+    }
+
+    {
+      name = "arr-diff-2.0.0.tgz";
+      path = fetchurl {
+        name = "arr-diff-2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz";
+        sha1 = "8f3b827f955a8bd669697e4a4256ac3ceae356cf";
+      };
+    }
+
+    {
+      name = "arr-flatten-1.0.1.tgz";
+      path = fetchurl {
+        name = "arr-flatten-1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.0.1.tgz";
+        sha1 = "e5ffe54d45e19f32f216e91eb99c8ce892bb604b";
+      };
+    }
+
+    {
+      name = "array-find-1.0.0.tgz";
+      path = fetchurl {
+        name = "array-find-1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/array-find/-/array-find-1.0.0.tgz";
+        sha1 = "6c8e286d11ed768327f8e62ecee87353ca3e78b8";
+      };
+    }
+
+    {
+      name = "array-flatten-1.1.1.tgz";
+      path = fetchurl {
+        name = "array-flatten-1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz";
+        sha1 = "9a5f699051b1e7073328f2a008968b64ea2955d2";
+      };
+    }
+
+    {
+      name = "array-slice-0.2.3.tgz";
+      path = fetchurl {
+        name = "array-slice-0.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/array-slice/-/array-slice-0.2.3.tgz";
+        sha1 = "dd3cfb80ed7973a75117cdac69b0b99ec86186f5";
+      };
+    }
+
+    {
+      name = "array-union-1.0.2.tgz";
+      path = fetchurl {
+        name = "array-union-1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz";
+        sha1 = "9a34410e4f4e3da23dea375be5be70f24778ec39";
+      };
+    }
+
+    {
+      name = "array-uniq-1.0.3.tgz";
+      path = fetchurl {
+        name = "array-uniq-1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz";
+        sha1 = "af6ac877a25cc7f74e058894753858dfdb24fdb6";
+      };
+    }
+
+    {
+      name = "array-unique-0.2.1.tgz";
+      path = fetchurl {
+        name = "array-unique-0.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz";
+        sha1 = "a1d97ccafcbc2625cc70fadceb36a50c58b01a53";
+      };
+    }
+
+    {
+      name = "arraybuffer.slice-0.0.6.tgz";
+      path = fetchurl {
+        name = "arraybuffer.slice-0.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz";
+        sha1 = "f33b2159f0532a3f3107a272c0ccfbd1ad2979ca";
+      };
+    }
+
+    {
+      name = "arrify-1.0.1.tgz";
+      path = fetchurl {
+        name = "arrify-1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz";
+        sha1 = "898508da2226f380df904728456849c1501a4b0d";
+      };
+    }
+
+    {
+      name = "asn1.js-4.9.1.tgz";
+      path = fetchurl {
+        name = "asn1.js-4.9.1.tgz";
+        url  = "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.9.1.tgz";
+        sha1 = "48ba240b45a9280e94748990ba597d216617fd40";
+      };
+    }
+
+    {
+      name = "asn1-0.2.3.tgz";
+      path = fetchurl {
+        name = "asn1-0.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz";
+        sha1 = "dac8787713c9966849fc8180777ebe9c1ddf3b86";
+      };
+    }
+
+    {
+      name = "assert-plus-0.2.0.tgz";
+      path = fetchurl {
+        name = "assert-plus-0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz";
+        sha1 = "d74e1b87e7affc0db8aadb7021f3fe48101ab234";
+      };
+    }
+
+    {
+      name = "assert-plus-1.0.0.tgz";
+      path = fetchurl {
+        name = "assert-plus-1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz";
+        sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525";
+      };
+    }
+
+    {
+      name = "assert-1.4.1.tgz";
+      path = fetchurl {
+        name = "assert-1.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz";
+        sha1 = "99912d591836b5a6f5b345c0f07eefc08fc65d91";
+      };
+    }
+
+    {
+      name = "async-each-1.0.1.tgz";
+      path = fetchurl {
+        name = "async-each-1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz";
+        sha1 = "19d386a1d9edc6e7c1c85d388aedbcc56d33602d";
+      };
+    }
+
+    {
+      name = "async-0.2.10.tgz";
+      path = fetchurl {
+        name = "async-0.2.10.tgz";
+        url  = "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz";
+        sha1 = "b6bbe0b0674b9d719708ca38de8c237cb526c3d1";
+      };
+    }
+
+    {
+      name = "async-1.5.2.tgz";
+      path = fetchurl {
+        name = "async-1.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz";
+        sha1 = "ec6a61ae56480c0c3cb241c95618e20892f9672a";
+      };
+    }
+
+    {
+      name = "async-2.1.4.tgz";
+      path = fetchurl {
+        name = "async-2.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/async/-/async-2.1.4.tgz";
+        sha1 = "2d2160c7788032e4dd6cbe2502f1f9a2c8f6cde4";
+      };
+    }
+
+    {
+      name = "async-0.9.2.tgz";
+      path = fetchurl {
+        name = "async-0.9.2.tgz";
+        url  = "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz";
+        sha1 = "aea74d5e61c1f899613bf64bda66d4c78f2fd17d";
+      };
+    }
+
+    {
+      name = "asynckit-0.4.0.tgz";
+      path = fetchurl {
+        name = "asynckit-0.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz";
+        sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79";
+      };
+    }
+
+    {
+      name = "autoprefixer-6.7.7.tgz";
+      path = fetchurl {
+        name = "autoprefixer-6.7.7.tgz";
+        url  = "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.7.tgz";
+        sha1 = "1dbd1c835658e35ce3f9984099db00585c782014";
+      };
+    }
+
+    {
+      name = "aws-sign2-0.6.0.tgz";
+      path = fetchurl {
+        name = "aws-sign2-0.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz";
+        sha1 = "14342dd38dbcc94d0e5b87d763cd63612c0e794f";
+      };
+    }
+
+    {
+      name = "aws4-1.6.0.tgz";
+      path = fetchurl {
+        name = "aws4-1.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz";
+        sha1 = "83ef5ca860b2b32e4a0deedee8c771b9db57471e";
+      };
+    }
+
+    {
+      name = "babel-code-frame-6.22.0.tgz";
+      path = fetchurl {
+        name = "babel-code-frame-6.22.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz";
+        sha1 = "027620bee567a88c32561574e7fd0801d33118e4";
+      };
+    }
+
+    {
+      name = "babel-core-6.23.1.tgz";
+      path = fetchurl {
+        name = "babel-core-6.23.1.tgz";
+        url  = "https://registry.yarnpkg.com/babel-core/-/babel-core-6.23.1.tgz";
+        sha1 = "c143cb621bb2f621710c220c5d579d15b8a442df";
+      };
+    }
+
+    {
+      name = "babel-eslint-7.2.1.tgz";
+      path = fetchurl {
+        name = "babel-eslint-7.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-7.2.1.tgz";
+        sha1 = "079422eb73ba811e3ca0865ce87af29327f8c52f";
+      };
+    }
+
+    {
+      name = "babel-generator-6.23.0.tgz";
+      path = fetchurl {
+        name = "babel-generator-6.23.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.23.0.tgz";
+        sha1 = "6b8edab956ef3116f79d8c84c5a3c05f32a74bc5";
+      };
+    }
+
+    {
+      name = "babel-helper-bindify-decorators-6.22.0.tgz";
+      path = fetchurl {
+        name = "babel-helper-bindify-decorators-6.22.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.22.0.tgz";
+        sha1 = "d7f5bc261275941ac62acfc4e20dacfb8a3fe952";
+      };
+    }
+
+    {
+      name = "babel-helper-builder-binary-assignment-operator-visitor-6.22.0.tgz";
+      path = fetchurl {
+        name = "babel-helper-builder-binary-assignment-operator-visitor-6.22.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.22.0.tgz";
+        sha1 = "29df56be144d81bdeac08262bfa41d2c5e91cdcd";
+      };
+    }
+
+    {
+      name = "babel-helper-call-delegate-6.22.0.tgz";
+      path = fetchurl {
+        name = "babel-helper-call-delegate-6.22.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.22.0.tgz";
+        sha1 = "119921b56120f17e9dae3f74b4f5cc7bcc1b37ef";
+      };
+    }
+
+    {
+      name = "babel-helper-define-map-6.23.0.tgz";
+      path = fetchurl {
+        name = "babel-helper-define-map-6.23.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.23.0.tgz";
+        sha1 = "1444f960c9691d69a2ced6a205315f8fd00804e7";
+      };
+    }
+
+    {
+      name = "babel-helper-explode-assignable-expression-6.22.0.tgz";
+      path = fetchurl {
+        name = "babel-helper-explode-assignable-expression-6.22.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.22.0.tgz";
+        sha1 = "c97bf76eed3e0bae4048121f2b9dae1a4e7d0478";
+      };
+    }
+
+    {
+      name = "babel-helper-explode-class-6.22.0.tgz";
+      path = fetchurl {
+        name = "babel-helper-explode-class-6.22.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-helper-explode-class/-/babel-helper-explode-class-6.22.0.tgz";
+        sha1 = "646304924aa6388a516843ba7f1855ef8dfeb69b";
+      };
+    }
+
+    {
+      name = "babel-helper-function-name-6.23.0.tgz";
+      path = fetchurl {
+        name = "babel-helper-function-name-6.23.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.23.0.tgz";
+        sha1 = "25742d67175c8903dbe4b6cb9d9e1fcb8dcf23a6";
+      };
+    }
+
+    {
+      name = "babel-helper-get-function-arity-6.22.0.tgz";
+      path = fetchurl {
+        name = "babel-helper-get-function-arity-6.22.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.22.0.tgz";
+        sha1 = "0beb464ad69dc7347410ac6ade9f03a50634f5ce";
+      };
+    }
+
+    {
+      name = "babel-helper-hoist-variables-6.22.0.tgz";
+      path = fetchurl {
+        name = "babel-helper-hoist-variables-6.22.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.22.0.tgz";
+        sha1 = "3eacbf731d80705845dd2e9718f600cfb9b4ba72";
+      };
+    }
+
+    {
+      name = "babel-helper-optimise-call-expression-6.23.0.tgz";
+      path = fetchurl {
+        name = "babel-helper-optimise-call-expression-6.23.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.23.0.tgz";
+        sha1 = "f3ee7eed355b4282138b33d02b78369e470622f5";
+      };
+    }
+
+    {
+      name = "babel-helper-regex-6.22.0.tgz";
+      path = fetchurl {
+        name = "babel-helper-regex-6.22.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.22.0.tgz";
+        sha1 = "79f532be1647b1f0ee3474b5f5c3da58001d247d";
+      };
+    }
+
+    {
+      name = "babel-helper-remap-async-to-generator-6.22.0.tgz";
+      path = fetchurl {
+        name = "babel-helper-remap-async-to-generator-6.22.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.22.0.tgz";
+        sha1 = "2186ae73278ed03b8b15ced089609da981053383";
+      };
+    }
+
+    {
+      name = "babel-helper-replace-supers-6.23.0.tgz";
+      path = fetchurl {
+        name = "babel-helper-replace-supers-6.23.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.23.0.tgz";
+        sha1 = "eeaf8ad9b58ec4337ca94223bacdca1f8d9b4bfd";
+      };
+    }
+
+    {
+      name = "babel-helpers-6.23.0.tgz";
+      path = fetchurl {
+        name = "babel-helpers-6.23.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.23.0.tgz";
+        sha1 = "4f8f2e092d0b6a8808a4bde79c27f1e2ecf0d992";
+      };
+    }
+
+    {
+      name = "babel-loader-6.2.10.tgz";
+      path = fetchurl {
+        name = "babel-loader-6.2.10.tgz";
+        url  = "https://registry.yarnpkg.com/babel-loader/-/babel-loader-6.2.10.tgz";
+        sha1 = "adefc2b242320cd5d15e65b31cea0e8b1b02d4b0";
+      };
+    }
+
+    {
+      name = "babel-messages-6.23.0.tgz";
+      path = fetchurl {
+        name = "babel-messages-6.23.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz";
+        sha1 = "f3cdf4703858035b2a2951c6ec5edf6c62f2630e";
+      };
+    }
+
+    {
+      name = "babel-plugin-check-es2015-constants-6.22.0.tgz";
+      path = fetchurl {
+        name = "babel-plugin-check-es2015-constants-6.22.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz";
+        sha1 = "35157b101426fd2ffd3da3f75c7d1e91835bbf8a";
+      };
+    }
+
+    {
+      name = "babel-plugin-istanbul-4.0.0.tgz";
+      path = fetchurl {
+        name = "babel-plugin-istanbul-4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-4.0.0.tgz";
+        sha1 = "36bde8fbef4837e5ff0366531a2beabd7b1ffa10";
+      };
+    }
+
+    {
+      name = "babel-plugin-syntax-async-functions-6.13.0.tgz";
+      path = fetchurl {
+        name = "babel-plugin-syntax-async-functions-6.13.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz";
+        sha1 = "cad9cad1191b5ad634bf30ae0872391e0647be95";
+      };
+    }
+
+    {
+      name = "babel-plugin-syntax-async-generators-6.13.0.tgz";
+      path = fetchurl {
+        name = "babel-plugin-syntax-async-generators-6.13.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz";
+        sha1 = "6bc963ebb16eccbae6b92b596eb7f35c342a8b9a";
+      };
+    }
+
+    {
+      name = "babel-plugin-syntax-class-properties-6.13.0.tgz";
+      path = fetchurl {
+        name = "babel-plugin-syntax-class-properties-6.13.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz";
+        sha1 = "d7eb23b79a317f8543962c505b827c7d6cac27de";
+      };
+    }
+
+    {
+      name = "babel-plugin-syntax-decorators-6.13.0.tgz";
+      path = fetchurl {
+        name = "babel-plugin-syntax-decorators-6.13.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz";
+        sha1 = "312563b4dbde3cc806cee3e416cceeaddd11ac0b";
+      };
+    }
+
+    {
+      name = "babel-plugin-syntax-dynamic-import-6.18.0.tgz";
+      path = fetchurl {
+        name = "babel-plugin-syntax-dynamic-import-6.18.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz";
+        sha1 = "8d6a26229c83745a9982a441051572caa179b1da";
+      };
+    }
+
+    {
+      name = "babel-plugin-syntax-exponentiation-operator-6.13.0.tgz";
+      path = fetchurl {
+        name = "babel-plugin-syntax-exponentiation-operator-6.13.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz";
+        sha1 = "9ee7e8337290da95288201a6a57f4170317830de";
+      };
+    }
+
+    {
+      name = "babel-plugin-syntax-object-rest-spread-6.13.0.tgz";
+      path = fetchurl {
+        name = "babel-plugin-syntax-object-rest-spread-6.13.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz";
+        sha1 = "fd6536f2bce13836ffa3a5458c4903a597bb3bf5";
+      };
+    }
+
+    {
+      name = "babel-plugin-syntax-trailing-function-commas-6.22.0.tgz";
+      path = fetchurl {
+        name = "babel-plugin-syntax-trailing-function-commas-6.22.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz";
+        sha1 = "ba0360937f8d06e40180a43fe0d5616fff532cf3";
+      };
+    }
+
+    {
+      name = "babel-plugin-transform-async-generator-functions-6.22.0.tgz";
+      path = fetchurl {
+        name = "babel-plugin-transform-async-generator-functions-6.22.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.22.0.tgz";
+        sha1 = "a720a98153a7596f204099cd5409f4b3c05bab46";
+      };
+    }
+
+    {
+      name = "babel-plugin-transform-async-to-generator-6.22.0.tgz";
+      path = fetchurl {
+        name = "babel-plugin-transform-async-to-generator-6.22.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.22.0.tgz";
+        sha1 = "194b6938ec195ad36efc4c33a971acf00d8cd35e";
+      };
+    }
+
+    {
+      name = "babel-plugin-transform-class-properties-6.23.0.tgz";
+      path = fetchurl {
+        name = "babel-plugin-transform-class-properties-6.23.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.23.0.tgz";
+        sha1 = "187b747ee404399013563c993db038f34754ac3b";
+      };
+    }
+
+    {
+      name = "babel-plugin-transform-decorators-6.22.0.tgz";
+      path = fetchurl {
+        name = "babel-plugin-transform-decorators-6.22.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.22.0.tgz";
+        sha1 = "c03635b27a23b23b7224f49232c237a73988d27c";
+      };
+    }
+
+    {
+      name = "babel-plugin-transform-define-1.2.0.tgz";
+      path = fetchurl {
+        name = "babel-plugin-transform-define-1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-define/-/babel-plugin-transform-define-1.2.0.tgz";
+        sha1 = "f036bda05162f29a542e434f585da1ccf1e7ec6a";
+      };
+    }
+
+    {
+      name = "babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz";
+      path = fetchurl {
+        name = "babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz";
+        sha1 = "452692cb711d5f79dc7f85e440ce41b9f244d221";
+      };
+    }
+
+    {
+      name = "babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz";
+      path = fetchurl {
+        name = "babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz";
+        sha1 = "bbc51b49f964d70cb8d8e0b94e820246ce3a6141";
+      };
+    }
+
+    {
+      name = "babel-plugin-transform-es2015-block-scoping-6.23.0.tgz";
+      path = fetchurl {
+        name = "babel-plugin-transform-es2015-block-scoping-6.23.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.23.0.tgz";
+        sha1 = "e48895cf0b375be148cd7c8879b422707a053b51";
+      };
+    }
+
+    {
+      name = "babel-plugin-transform-es2015-classes-6.23.0.tgz";
+      path = fetchurl {
+        name = "babel-plugin-transform-es2015-classes-6.23.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.23.0.tgz";
+        sha1 = "49b53f326202a2fd1b3bbaa5e2edd8a4f78643c1";
+      };
+    }
+
+    {
+      name = "babel-plugin-transform-es2015-computed-properties-6.22.0.tgz";
+      path = fetchurl {
+        name = "babel-plugin-transform-es2015-computed-properties-6.22.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.22.0.tgz";
+        sha1 = "7c383e9629bba4820c11b0425bdd6290f7f057e7";
+      };
+    }
+
+    {
+      name = "babel-plugin-transform-es2015-destructuring-6.23.0.tgz";
+      path = fetchurl {
+        name = "babel-plugin-transform-es2015-destructuring-6.23.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz";
+        sha1 = "997bb1f1ab967f682d2b0876fe358d60e765c56d";
+      };
+    }
+
+    {
+      name = "babel-plugin-transform-es2015-duplicate-keys-6.22.0.tgz";
+      path = fetchurl {
+        name = "babel-plugin-transform-es2015-duplicate-keys-6.22.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.22.0.tgz";
+        sha1 = "672397031c21610d72dd2bbb0ba9fb6277e1c36b";
+      };
+    }
+
+    {
+      name = "babel-plugin-transform-es2015-for-of-6.23.0.tgz";
+      path = fetchurl {
+        name = "babel-plugin-transform-es2015-for-of-6.23.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz";
+        sha1 = "f47c95b2b613df1d3ecc2fdb7573623c75248691";
+      };
+    }
+
+    {
+      name = "babel-plugin-transform-es2015-function-name-6.22.0.tgz";
+      path = fetchurl {
+        name = "babel-plugin-transform-es2015-function-name-6.22.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.22.0.tgz";
+        sha1 = "f5fcc8b09093f9a23c76ac3d9e392c3ec4b77104";
+      };
+    }
+
+    {
+      name = "babel-plugin-transform-es2015-literals-6.22.0.tgz";
+      path = fetchurl {
+        name = "babel-plugin-transform-es2015-literals-6.22.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz";
+        sha1 = "4f54a02d6cd66cf915280019a31d31925377ca2e";
+      };
+    }
+
+    {
+      name = "babel-plugin-transform-es2015-modules-amd-6.24.0.tgz";
+      path = fetchurl {
+        name = "babel-plugin-transform-es2015-modules-amd-6.24.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.0.tgz";
+        sha1 = "a1911fb9b7ec7e05a43a63c5995007557bcf6a2e";
+      };
+    }
+
+    {
+      name = "babel-plugin-transform-es2015-modules-commonjs-6.24.0.tgz";
+      path = fetchurl {
+        name = "babel-plugin-transform-es2015-modules-commonjs-6.24.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.24.0.tgz";
+        sha1 = "e921aefb72c2cc26cb03d107626156413222134f";
+      };
+    }
+
+    {
+      name = "babel-plugin-transform-es2015-modules-systemjs-6.23.0.tgz";
+      path = fetchurl {
+        name = "babel-plugin-transform-es2015-modules-systemjs-6.23.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.23.0.tgz";
+        sha1 = "ae3469227ffac39b0310d90fec73bfdc4f6317b0";
+      };
+    }
+
+    {
+      name = "babel-plugin-transform-es2015-modules-umd-6.24.0.tgz";
+      path = fetchurl {
+        name = "babel-plugin-transform-es2015-modules-umd-6.24.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.0.tgz";
+        sha1 = "fd5fa63521cae8d273927c3958afd7c067733450";
+      };
+    }
+
+    {
+      name = "babel-plugin-transform-es2015-object-super-6.22.0.tgz";
+      path = fetchurl {
+        name = "babel-plugin-transform-es2015-object-super-6.22.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.22.0.tgz";
+        sha1 = "daa60e114a042ea769dd53fe528fc82311eb98fc";
+      };
+    }
+
+    {
+      name = "babel-plugin-transform-es2015-parameters-6.23.0.tgz";
+      path = fetchurl {
+        name = "babel-plugin-transform-es2015-parameters-6.23.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.23.0.tgz";
+        sha1 = "3a2aabb70c8af945d5ce386f1a4250625a83ae3b";
+      };
+    }
+
+    {
+      name = "babel-plugin-transform-es2015-shorthand-properties-6.22.0.tgz";
+      path = fetchurl {
+        name = "babel-plugin-transform-es2015-shorthand-properties-6.22.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.22.0.tgz";
+        sha1 = "8ba776e0affaa60bff21e921403b8a652a2ff723";
+      };
+    }
+
+    {
+      name = "babel-plugin-transform-es2015-spread-6.22.0.tgz";
+      path = fetchurl {
+        name = "babel-plugin-transform-es2015-spread-6.22.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz";
+        sha1 = "d6d68a99f89aedc4536c81a542e8dd9f1746f8d1";
+      };
+    }
+
+    {
+      name = "babel-plugin-transform-es2015-sticky-regex-6.22.0.tgz";
+      path = fetchurl {
+        name = "babel-plugin-transform-es2015-sticky-regex-6.22.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.22.0.tgz";
+        sha1 = "ab316829e866ee3f4b9eb96939757d19a5bc4593";
+      };
+    }
+
+    {
+      name = "babel-plugin-transform-es2015-template-literals-6.22.0.tgz";
+      path = fetchurl {
+        name = "babel-plugin-transform-es2015-template-literals-6.22.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz";
+        sha1 = "a84b3450f7e9f8f1f6839d6d687da84bb1236d8d";
+      };
+    }
+
+    {
+      name = "babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz";
+      path = fetchurl {
+        name = "babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz";
+        sha1 = "dec09f1cddff94b52ac73d505c84df59dcceb372";
+      };
+    }
+
+    {
+      name = "babel-plugin-transform-es2015-unicode-regex-6.22.0.tgz";
+      path = fetchurl {
+        name = "babel-plugin-transform-es2015-unicode-regex-6.22.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.22.0.tgz";
+        sha1 = "8d9cc27e7ee1decfe65454fb986452a04a613d20";
+      };
+    }
+
+    {
+      name = "babel-plugin-transform-exponentiation-operator-6.22.0.tgz";
+      path = fetchurl {
+        name = "babel-plugin-transform-exponentiation-operator-6.22.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.22.0.tgz";
+        sha1 = "d57c8335281918e54ef053118ce6eb108468084d";
+      };
+    }
+
+    {
+      name = "babel-plugin-transform-object-rest-spread-6.23.0.tgz";
+      path = fetchurl {
+        name = "babel-plugin-transform-object-rest-spread-6.23.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.23.0.tgz";
+        sha1 = "875d6bc9be761c58a2ae3feee5dc4895d8c7f921";
+      };
+    }
+
+    {
+      name = "babel-plugin-transform-regenerator-6.22.0.tgz";
+      path = fetchurl {
+        name = "babel-plugin-transform-regenerator-6.22.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.22.0.tgz";
+        sha1 = "65740593a319c44522157538d690b84094617ea6";
+      };
+    }
+
+    {
+      name = "babel-plugin-transform-strict-mode-6.22.0.tgz";
+      path = fetchurl {
+        name = "babel-plugin-transform-strict-mode-6.22.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.22.0.tgz";
+        sha1 = "e008df01340fdc87e959da65991b7e05970c8c7c";
+      };
+    }
+
+    {
+      name = "babel-preset-es2015-6.24.0.tgz";
+      path = fetchurl {
+        name = "babel-preset-es2015-6.24.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.24.0.tgz";
+        sha1 = "c162d68b1932696e036cd3110dc1ccd303d2673a";
+      };
+    }
+
+    {
+      name = "babel-preset-es2016-6.22.0.tgz";
+      path = fetchurl {
+        name = "babel-preset-es2016-6.22.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-preset-es2016/-/babel-preset-es2016-6.22.0.tgz";
+        sha1 = "b061aaa3983d40c9fbacfa3743b5df37f336156c";
+      };
+    }
+
+    {
+      name = "babel-preset-es2017-6.22.0.tgz";
+      path = fetchurl {
+        name = "babel-preset-es2017-6.22.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-preset-es2017/-/babel-preset-es2017-6.22.0.tgz";
+        sha1 = "de2f9da5a30c50d293fb54a0ba15d6ddc573f0f2";
+      };
+    }
+
+    {
+      name = "babel-preset-latest-6.24.0.tgz";
+      path = fetchurl {
+        name = "babel-preset-latest-6.24.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-preset-latest/-/babel-preset-latest-6.24.0.tgz";
+        sha1 = "a68d20f509edcc5d7433a48dfaebf7e4f2cd4cb7";
+      };
+    }
+
+    {
+      name = "babel-preset-stage-2-6.22.0.tgz";
+      path = fetchurl {
+        name = "babel-preset-stage-2-6.22.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-preset-stage-2/-/babel-preset-stage-2-6.22.0.tgz";
+        sha1 = "ccd565f19c245cade394b21216df704a73b27c07";
+      };
+    }
+
+    {
+      name = "babel-preset-stage-3-6.22.0.tgz";
+      path = fetchurl {
+        name = "babel-preset-stage-3-6.22.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-preset-stage-3/-/babel-preset-stage-3-6.22.0.tgz";
+        sha1 = "a4e92bbace7456fafdf651d7a7657ee0bbca9c2e";
+      };
+    }
+
+    {
+      name = "babel-register-6.23.0.tgz";
+      path = fetchurl {
+        name = "babel-register-6.23.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-register/-/babel-register-6.23.0.tgz";
+        sha1 = "c9aa3d4cca94b51da34826c4a0f9e08145d74ff3";
+      };
+    }
+
+    {
+      name = "babel-runtime-6.22.0.tgz";
+      path = fetchurl {
+        name = "babel-runtime-6.22.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.22.0.tgz";
+        sha1 = "1cf8b4ac67c77a4ddb0db2ae1f74de52ac4ca611";
+      };
+    }
+
+    {
+      name = "babel-template-6.23.0.tgz";
+      path = fetchurl {
+        name = "babel-template-6.23.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-template/-/babel-template-6.23.0.tgz";
+        sha1 = "04d4f270adbb3aa704a8143ae26faa529238e638";
+      };
+    }
+
+    {
+      name = "babel-traverse-6.23.1.tgz";
+      path = fetchurl {
+        name = "babel-traverse-6.23.1.tgz";
+        url  = "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.23.1.tgz";
+        sha1 = "d3cb59010ecd06a97d81310065f966b699e14f48";
+      };
+    }
+
+    {
+      name = "babel-types-6.23.0.tgz";
+      path = fetchurl {
+        name = "babel-types-6.23.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-types/-/babel-types-6.23.0.tgz";
+        sha1 = "bb17179d7538bad38cd0c9e115d340f77e7e9acf";
+      };
+    }
+
+    {
+      name = "babylon-6.15.0.tgz";
+      path = fetchurl {
+        name = "babylon-6.15.0.tgz";
+        url  = "https://registry.yarnpkg.com/babylon/-/babylon-6.15.0.tgz";
+        sha1 = "ba65cfa1a80e1759b0e89fb562e27dccae70348e";
+      };
+    }
+
+    {
+      name = "babylon-6.16.1.tgz";
+      path = fetchurl {
+        name = "babylon-6.16.1.tgz";
+        url  = "https://registry.yarnpkg.com/babylon/-/babylon-6.16.1.tgz";
+        sha1 = "30c5a22f481978a9e7f8cdfdf496b11d94b404d3";
+      };
+    }
+
+    {
+      name = "backo2-1.0.2.tgz";
+      path = fetchurl {
+        name = "backo2-1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz";
+        sha1 = "31ab1ac8b129363463e35b3ebb69f4dfcfba7947";
+      };
+    }
+
+    {
+      name = "balanced-match-0.4.2.tgz";
+      path = fetchurl {
+        name = "balanced-match-0.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz";
+        sha1 = "cb3f3e3c732dc0f01ee70b403f302e61d7709838";
+      };
+    }
+
+    {
+      name = "base64-arraybuffer-0.1.5.tgz";
+      path = fetchurl {
+        name = "base64-arraybuffer-0.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz";
+        sha1 = "73926771923b5a19747ad666aa5cd4bf9c6e9ce8";
+      };
+    }
+
+    {
+      name = "base64-js-1.2.0.tgz";
+      path = fetchurl {
+        name = "base64-js-1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.0.tgz";
+        sha1 = "a39992d723584811982be5e290bb6a53d86700f1";
+      };
+    }
+
+    {
+      name = "base64id-1.0.0.tgz";
+      path = fetchurl {
+        name = "base64id-1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/base64id/-/base64id-1.0.0.tgz";
+        sha1 = "47688cb99bb6804f0e06d3e763b1c32e57d8e6b6";
+      };
+    }
+
+    {
+      name = "batch-0.5.3.tgz";
+      path = fetchurl {
+        name = "batch-0.5.3.tgz";
+        url  = "https://registry.yarnpkg.com/batch/-/batch-0.5.3.tgz";
+        sha1 = "3f3414f380321743bfc1042f9a83ff1d5824d464";
+      };
+    }
+
+    {
+      name = "bcrypt-pbkdf-1.0.1.tgz";
+      path = fetchurl {
+        name = "bcrypt-pbkdf-1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz";
+        sha1 = "63bc5dcb61331b92bc05fd528953c33462a06f8d";
+      };
+    }
+
+    {
+      name = "better-assert-1.0.2.tgz";
+      path = fetchurl {
+        name = "better-assert-1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/better-assert/-/better-assert-1.0.2.tgz";
+        sha1 = "40866b9e1b9e0b55b481894311e68faffaebc522";
+      };
+    }
+
+    {
+      name = "big.js-3.1.3.tgz";
+      path = fetchurl {
+        name = "big.js-3.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/big.js/-/big.js-3.1.3.tgz";
+        sha1 = "4cada2193652eb3ca9ec8e55c9015669c9806978";
+      };
+    }
+
+    {
+      name = "binary-extensions-1.8.0.tgz";
+      path = fetchurl {
+        name = "binary-extensions-1.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz";
+        sha1 = "48ec8d16df4377eae5fa5884682480af4d95c774";
+      };
+    }
+
+    {
+      name = "blob-0.0.4.tgz";
+      path = fetchurl {
+        name = "blob-0.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/blob/-/blob-0.0.4.tgz";
+        sha1 = "bcf13052ca54463f30f9fc7e95b9a47630a94921";
+      };
+    }
+
+    {
+      name = "block-stream-0.0.9.tgz";
+      path = fetchurl {
+        name = "block-stream-0.0.9.tgz";
+        url  = "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz";
+        sha1 = "13ebfe778a03205cfe03751481ebb4b3300c126a";
+      };
+    }
+
+    {
+      name = "bluebird-3.4.7.tgz";
+      path = fetchurl {
+        name = "bluebird-3.4.7.tgz";
+        url  = "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.7.tgz";
+        sha1 = "f72d760be09b7f76d08ed8fae98b289a8d05fab3";
+      };
+    }
+
+    {
+      name = "bn.js-4.11.6.tgz";
+      path = fetchurl {
+        name = "bn.js-4.11.6.tgz";
+        url  = "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz";
+        sha1 = "53344adb14617a13f6e8dd2ce28905d1c0ba3215";
+      };
+    }
+
+    {
+      name = "body-parser-1.17.2.tgz";
+      path = fetchurl {
+        name = "body-parser-1.17.2.tgz";
+        url  = "https://registry.yarnpkg.com/body-parser/-/body-parser-1.17.2.tgz";
+        sha1 = "f8892abc8f9e627d42aedafbca66bf5ab99104ee";
+      };
+    }
+
+    {
+      name = "boom-2.10.1.tgz";
+      path = fetchurl {
+        name = "boom-2.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz";
+        sha1 = "39c8918ceff5799f83f9492a848f625add0c766f";
+      };
+    }
+
+    {
+      name = "bootstrap-sass-3.3.6.tgz";
+      path = fetchurl {
+        name = "bootstrap-sass-3.3.6.tgz";
+        url  = "https://registry.yarnpkg.com/bootstrap-sass/-/bootstrap-sass-3.3.6.tgz";
+        sha1 = "363b0d300e868d3e70134c1a742bb17288444fd1";
+      };
+    }
+
+    {
+      name = "brace-expansion-1.1.6.tgz";
+      path = fetchurl {
+        name = "brace-expansion-1.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.6.tgz";
+        sha1 = "7197d7eaa9b87e648390ea61fc66c84427420df9";
+      };
+    }
+
+    {
+      name = "braces-0.1.5.tgz";
+      path = fetchurl {
+        name = "braces-0.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/braces/-/braces-0.1.5.tgz";
+        sha1 = "c085711085291d8b75fdd74eab0f8597280711e6";
+      };
+    }
+
+    {
+      name = "braces-1.8.5.tgz";
+      path = fetchurl {
+        name = "braces-1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz";
+        sha1 = "ba77962e12dff969d6b76711e914b737857bf6a7";
+      };
+    }
+
+    {
+      name = "brorand-1.0.7.tgz";
+      path = fetchurl {
+        name = "brorand-1.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/brorand/-/brorand-1.0.7.tgz";
+        sha1 = "6677fa5e4901bdbf9c9ec2a748e28dca407a9bfc";
+      };
+    }
+
+    {
+      name = "browserify-aes-1.0.6.tgz";
+      path = fetchurl {
+        name = "browserify-aes-1.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.0.6.tgz";
+        sha1 = "5e7725dbdef1fd5930d4ebab48567ce451c48a0a";
+      };
+    }
+
+    {
+      name = "browserify-cipher-1.0.0.tgz";
+      path = fetchurl {
+        name = "browserify-cipher-1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.0.tgz";
+        sha1 = "9988244874bf5ed4e28da95666dcd66ac8fc363a";
+      };
+    }
+
+    {
+      name = "browserify-des-1.0.0.tgz";
+      path = fetchurl {
+        name = "browserify-des-1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.0.tgz";
+        sha1 = "daa277717470922ed2fe18594118a175439721dd";
+      };
+    }
+
+    {
+      name = "browserify-rsa-4.0.1.tgz";
+      path = fetchurl {
+        name = "browserify-rsa-4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz";
+        sha1 = "21e0abfaf6f2029cf2fafb133567a701d4135524";
+      };
+    }
+
+    {
+      name = "browserify-sign-4.0.0.tgz";
+      path = fetchurl {
+        name = "browserify-sign-4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.0.tgz";
+        sha1 = "10773910c3c206d5420a46aad8694f820b85968f";
+      };
+    }
+
+    {
+      name = "browserify-zlib-0.1.4.tgz";
+      path = fetchurl {
+        name = "browserify-zlib-0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.1.4.tgz";
+        sha1 = "bb35f8a519f600e0fa6b8485241c979d0141fb2d";
+      };
+    }
+
+    {
+      name = "browserslist-1.7.7.tgz";
+      path = fetchurl {
+        name = "browserslist-1.7.7.tgz";
+        url  = "https://registry.yarnpkg.com/browserslist/-/browserslist-1.7.7.tgz";
+        sha1 = "0bd76704258be829b2398bb50e4b62d1a166b0b9";
+      };
+    }
+
+    {
+      name = "buffer-shims-1.0.0.tgz";
+      path = fetchurl {
+        name = "buffer-shims-1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz";
+        sha1 = "9978ce317388c649ad8793028c3477ef044a8b51";
+      };
+    }
+
+    {
+      name = "buffer-xor-1.0.3.tgz";
+      path = fetchurl {
+        name = "buffer-xor-1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz";
+        sha1 = "26e61ed1422fb70dd42e6e36729ed51d855fe8d9";
+      };
+    }
+
+    {
+      name = "buffer-4.9.1.tgz";
+      path = fetchurl {
+        name = "buffer-4.9.1.tgz";
+        url  = "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz";
+        sha1 = "6d1bb601b07a4efced97094132093027c95bc298";
+      };
+    }
+
+    {
+      name = "builtin-modules-1.1.1.tgz";
+      path = fetchurl {
+        name = "builtin-modules-1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz";
+        sha1 = "270f076c5a72c02f5b65a47df94c5fe3a278892f";
+      };
+    }
+
+    {
+      name = "builtin-status-codes-3.0.0.tgz";
+      path = fetchurl {
+        name = "builtin-status-codes-3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz";
+        sha1 = "85982878e21b98e1c66425e03d0174788f569ee8";
+      };
+    }
+
+    {
+      name = "bytes-2.3.0.tgz";
+      path = fetchurl {
+        name = "bytes-2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/bytes/-/bytes-2.3.0.tgz";
+        sha1 = "d5b680a165b6201739acb611542aabc2d8ceb070";
+      };
+    }
+
+    {
+      name = "bytes-2.4.0.tgz";
+      path = fetchurl {
+        name = "bytes-2.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/bytes/-/bytes-2.4.0.tgz";
+        sha1 = "7d97196f9d5baf7f6935e25985549edd2a6c2339";
+      };
+    }
+
+    {
+      name = "caller-path-0.1.0.tgz";
+      path = fetchurl {
+        name = "caller-path-0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz";
+        sha1 = "94085ef63581ecd3daa92444a8fe94e82577751f";
+      };
+    }
+
+    {
+      name = "callsite-1.0.0.tgz";
+      path = fetchurl {
+        name = "callsite-1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz";
+        sha1 = "280398e5d664bd74038b6f0905153e6e8af1bc20";
+      };
+    }
+
+    {
+      name = "callsites-0.2.0.tgz";
+      path = fetchurl {
+        name = "callsites-0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz";
+        sha1 = "afab96262910a7f33c19a5775825c69f34e350ca";
+      };
+    }
+
+    {
+      name = "camelcase-1.2.1.tgz";
+      path = fetchurl {
+        name = "camelcase-1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz";
+        sha1 = "9bb5304d2e0b56698b2c758b08a3eaa9daa58a39";
+      };
+    }
+
+    {
+      name = "camelcase-3.0.0.tgz";
+      path = fetchurl {
+        name = "camelcase-3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz";
+        sha1 = "32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a";
+      };
+    }
+
+    {
+      name = "caniuse-api-1.6.1.tgz";
+      path = fetchurl {
+        name = "caniuse-api-1.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-1.6.1.tgz";
+        sha1 = "b534e7c734c4f81ec5fbe8aca2ad24354b962c6c";
+      };
+    }
+
+    {
+      name = "caniuse-db-1.0.30000649.tgz";
+      path = fetchurl {
+        name = "caniuse-db-1.0.30000649.tgz";
+        url  = "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000649.tgz";
+        sha1 = "1ee1754a6df235450c8b7cd15e0ebf507221a86a";
+      };
+    }
+
+    {
+      name = "caseless-0.11.0.tgz";
+      path = fetchurl {
+        name = "caseless-0.11.0.tgz";
+        url  = "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz";
+        sha1 = "715b96ea9841593cc33067923f5ec60ebda4f7d7";
+      };
+    }
+
+    {
+      name = "center-align-0.1.3.tgz";
+      path = fetchurl {
+        name = "center-align-0.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz";
+        sha1 = "aa0d32629b6ee972200411cbd4461c907bc2b7ad";
+      };
+    }
+
+    {
+      name = "chalk-1.1.3.tgz";
+      path = fetchurl {
+        name = "chalk-1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz";
+        sha1 = "a8115c55e4a702fe4d150abd3872822a7e09fc98";
+      };
+    }
+
+    {
+      name = "chokidar-1.6.1.tgz";
+      path = fetchurl {
+        name = "chokidar-1.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/chokidar/-/chokidar-1.6.1.tgz";
+        sha1 = "2f4447ab5e96e50fb3d789fd90d4c72e0e4c70c2";
+      };
+    }
+
+    {
+      name = "cipher-base-1.0.3.tgz";
+      path = fetchurl {
+        name = "cipher-base-1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.3.tgz";
+        sha1 = "eeabf194419ce900da3018c207d212f2a6df0a07";
+      };
+    }
+
+    {
+      name = "circular-json-0.3.1.tgz";
+      path = fetchurl {
+        name = "circular-json-0.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.1.tgz";
+        sha1 = "be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d";
+      };
+    }
+
+    {
+      name = "clap-1.1.3.tgz";
+      path = fetchurl {
+        name = "clap-1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/clap/-/clap-1.1.3.tgz";
+        sha1 = "b3bd36e93dd4cbfb395a3c26896352445265c05b";
+      };
+    }
+
+    {
+      name = "cli-cursor-1.0.2.tgz";
+      path = fetchurl {
+        name = "cli-cursor-1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz";
+        sha1 = "64da3f7d56a54412e59794bd62dc35295e8f2987";
+      };
+    }
+
+    {
+      name = "cli-width-2.1.0.tgz";
+      path = fetchurl {
+        name = "cli-width-2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/cli-width/-/cli-width-2.1.0.tgz";
+        sha1 = "b234ca209b29ef66fc518d9b98d5847b00edf00a";
+      };
+    }
+
+    {
+      name = "clipboard-1.6.1.tgz";
+      path = fetchurl {
+        name = "clipboard-1.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/clipboard/-/clipboard-1.6.1.tgz";
+        sha1 = "65c5b654812466b0faab82dc6ba0f1d2f8e4be53";
+      };
+    }
+
+    {
+      name = "cliui-2.1.0.tgz";
+      path = fetchurl {
+        name = "cliui-2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz";
+        sha1 = "4b475760ff80264c762c3a1719032e91c7fea0d1";
+      };
+    }
+
+    {
+      name = "cliui-3.2.0.tgz";
+      path = fetchurl {
+        name = "cliui-3.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz";
+        sha1 = "120601537a916d29940f934da3b48d585a39213d";
+      };
+    }
+
+    {
+      name = "clone-1.0.2.tgz";
+      path = fetchurl {
+        name = "clone-1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz";
+        sha1 = "260b7a99ebb1edfe247538175f783243cb19d149";
+      };
+    }
+
+    {
+      name = "co-4.6.0.tgz";
+      path = fetchurl {
+        name = "co-4.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz";
+        sha1 = "6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184";
+      };
+    }
+
+    {
+      name = "coa-1.0.1.tgz";
+      path = fetchurl {
+        name = "coa-1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/coa/-/coa-1.0.1.tgz";
+        sha1 = "7f959346cfc8719e3f7233cd6852854a7c67d8a3";
+      };
+    }
+
+    {
+      name = "code-point-at-1.1.0.tgz";
+      path = fetchurl {
+        name = "code-point-at-1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz";
+        sha1 = "0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77";
+      };
+    }
+
+    {
+      name = "color-convert-1.9.0.tgz";
+      path = fetchurl {
+        name = "color-convert-1.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.0.tgz";
+        sha1 = "1accf97dd739b983bf994d56fec8f95853641b7a";
+      };
+    }
+
+    {
+      name = "color-name-1.1.2.tgz";
+      path = fetchurl {
+        name = "color-name-1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/color-name/-/color-name-1.1.2.tgz";
+        sha1 = "5c8ab72b64bd2215d617ae9559ebb148475cf98d";
+      };
+    }
+
+    {
+      name = "color-string-0.3.0.tgz";
+      path = fetchurl {
+        name = "color-string-0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/color-string/-/color-string-0.3.0.tgz";
+        sha1 = "27d46fb67025c5c2fa25993bfbf579e47841b991";
+      };
+    }
+
+    {
+      name = "color-0.11.4.tgz";
+      path = fetchurl {
+        name = "color-0.11.4.tgz";
+        url  = "https://registry.yarnpkg.com/color/-/color-0.11.4.tgz";
+        sha1 = "6d7b5c74fb65e841cd48792ad1ed5e07b904d764";
+      };
+    }
+
+    {
+      name = "colormin-1.1.2.tgz";
+      path = fetchurl {
+        name = "colormin-1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/colormin/-/colormin-1.1.2.tgz";
+        sha1 = "ea2f7420a72b96881a38aae59ec124a6f7298133";
+      };
+    }
+
+    {
+      name = "colors-1.1.2.tgz";
+      path = fetchurl {
+        name = "colors-1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz";
+        sha1 = "168a4701756b6a7f51a12ce0c97bfa28c084ed63";
+      };
+    }
+
+    {
+      name = "combine-lists-1.0.1.tgz";
+      path = fetchurl {
+        name = "combine-lists-1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/combine-lists/-/combine-lists-1.0.1.tgz";
+        sha1 = "458c07e09e0d900fc28b70a3fec2dacd1d2cb7f6";
+      };
+    }
+
+    {
+      name = "combined-stream-1.0.5.tgz";
+      path = fetchurl {
+        name = "combined-stream-1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz";
+        sha1 = "938370a57b4a51dea2c77c15d5c5fdf895164009";
+      };
+    }
+
+    {
+      name = "commander-2.9.0.tgz";
+      path = fetchurl {
+        name = "commander-2.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz";
+        sha1 = "9c99094176e12240cb22d6c5146098400fe0f7d4";
+      };
+    }
+
+    {
+      name = "commondir-1.0.1.tgz";
+      path = fetchurl {
+        name = "commondir-1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz";
+        sha1 = "ddd800da0c66127393cca5950ea968a3aaf1253b";
+      };
+    }
+
+    {
+      name = "component-bind-1.0.0.tgz";
+      path = fetchurl {
+        name = "component-bind-1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz";
+        sha1 = "00c608ab7dcd93897c0009651b1d3a8e1e73bbd1";
+      };
+    }
+
+    {
+      name = "component-emitter-1.1.2.tgz";
+      path = fetchurl {
+        name = "component-emitter-1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.1.2.tgz";
+        sha1 = "296594f2753daa63996d2af08d15a95116c9aec3";
+      };
+    }
+
+    {
+      name = "component-emitter-1.2.1.tgz";
+      path = fetchurl {
+        name = "component-emitter-1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz";
+        sha1 = "137918d6d78283f7df7a6b7c5a63e140e69425e6";
+      };
+    }
+
+    {
+      name = "component-inherit-0.0.3.tgz";
+      path = fetchurl {
+        name = "component-inherit-0.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz";
+        sha1 = "645fc4adf58b72b649d5cae65135619db26ff143";
+      };
+    }
+
+    {
+      name = "compressible-2.0.9.tgz";
+      path = fetchurl {
+        name = "compressible-2.0.9.tgz";
+        url  = "https://registry.yarnpkg.com/compressible/-/compressible-2.0.9.tgz";
+        sha1 = "6daab4e2b599c2770dd9e21e7a891b1c5a755425";
+      };
+    }
+
+    {
+      name = "compression-webpack-plugin-0.3.2.tgz";
+      path = fetchurl {
+        name = "compression-webpack-plugin-0.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/compression-webpack-plugin/-/compression-webpack-plugin-0.3.2.tgz";
+        sha1 = "1edfb0e749d7366d3e701670c463359b2c0cf704";
+      };
+    }
+
+    {
+      name = "compression-1.6.2.tgz";
+      path = fetchurl {
+        name = "compression-1.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/compression/-/compression-1.6.2.tgz";
+        sha1 = "cceb121ecc9d09c52d7ad0c3350ea93ddd402bc3";
+      };
+    }
+
+    {
+      name = "concat-map-0.0.1.tgz";
+      path = fetchurl {
+        name = "concat-map-0.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz";
+        sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b";
+      };
+    }
+
+    {
+      name = "concat-stream-1.6.0.tgz";
+      path = fetchurl {
+        name = "concat-stream-1.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz";
+        sha1 = "0aac662fd52be78964d5532f694784e70110acf7";
+      };
+    }
+
+    {
+      name = "config-chain-1.1.11.tgz";
+      path = fetchurl {
+        name = "config-chain-1.1.11.tgz";
+        url  = "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.11.tgz";
+        sha1 = "aba09747dfbe4c3e70e766a6e41586e1859fc6f2";
+      };
+    }
+
+    {
+      name = "configstore-1.4.0.tgz";
+      path = fetchurl {
+        name = "configstore-1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/configstore/-/configstore-1.4.0.tgz";
+        sha1 = "c35781d0501d268c25c54b8b17f6240e8a4fb021";
+      };
+    }
+
+    {
+      name = "connect-history-api-fallback-1.3.0.tgz";
+      path = fetchurl {
+        name = "connect-history-api-fallback-1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.3.0.tgz";
+        sha1 = "e51d17f8f0ef0db90a64fdb47de3051556e9f169";
+      };
+    }
+
+    {
+      name = "connect-3.6.2.tgz";
+      path = fetchurl {
+        name = "connect-3.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/connect/-/connect-3.6.2.tgz";
+        sha1 = "694e8d20681bfe490282c8ab886be98f09f42fe7";
+      };
+    }
+
+    {
+      name = "console-browserify-1.1.0.tgz";
+      path = fetchurl {
+        name = "console-browserify-1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz";
+        sha1 = "f0241c45730a9fc6323b206dbf38edc741d0bb10";
+      };
+    }
+
+    {
+      name = "console-control-strings-1.1.0.tgz";
+      path = fetchurl {
+        name = "console-control-strings-1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz";
+        sha1 = "3d7cf4464db6446ea644bf4b39507f9851008e8e";
+      };
+    }
+
+    {
+      name = "consolidate-0.14.5.tgz";
+      path = fetchurl {
+        name = "consolidate-0.14.5.tgz";
+        url  = "https://registry.yarnpkg.com/consolidate/-/consolidate-0.14.5.tgz";
+        sha1 = "5a25047bc76f73072667c8cb52c989888f494c63";
+      };
+    }
+
+    {
+      name = "constants-browserify-1.0.0.tgz";
+      path = fetchurl {
+        name = "constants-browserify-1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz";
+        sha1 = "c20b96d8c617748aaf1c16021760cd27fcb8cb75";
+      };
+    }
+
+    {
+      name = "contains-path-0.1.0.tgz";
+      path = fetchurl {
+        name = "contains-path-0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz";
+        sha1 = "fe8cf184ff6670b6baef01a9d4861a5cbec4120a";
+      };
+    }
+
+    {
+      name = "content-disposition-0.5.2.tgz";
+      path = fetchurl {
+        name = "content-disposition-0.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz";
+        sha1 = "0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4";
+      };
+    }
+
+    {
+      name = "content-type-1.0.2.tgz";
+      path = fetchurl {
+        name = "content-type-1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/content-type/-/content-type-1.0.2.tgz";
+        sha1 = "b7d113aee7a8dd27bd21133c4dc2529df1721eed";
+      };
+    }
+
+    {
+      name = "convert-source-map-1.3.0.tgz";
+      path = fetchurl {
+        name = "convert-source-map-1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.3.0.tgz";
+        sha1 = "e9f3e9c6e2728efc2676696a70eb382f73106a67";
+      };
+    }
+
+    {
+      name = "cookie-signature-1.0.6.tgz";
+      path = fetchurl {
+        name = "cookie-signature-1.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz";
+        sha1 = "e303a882b342cc3ee8ca513a79999734dab3ae2c";
+      };
+    }
+
+    {
+      name = "cookie-0.3.1.tgz";
+      path = fetchurl {
+        name = "cookie-0.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz";
+        sha1 = "e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb";
+      };
+    }
+
+    {
+      name = "core-js-2.4.1.tgz";
+      path = fetchurl {
+        name = "core-js-2.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz";
+        sha1 = "4de911e667b0eae9124e34254b53aea6fc618d3e";
+      };
+    }
+
+    {
+      name = "core-js-2.3.0.tgz";
+      path = fetchurl {
+        name = "core-js-2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/core-js/-/core-js-2.3.0.tgz";
+        sha1 = "fab83fbb0b2d8dc85fa636c4b9d34c75420c6d65";
+      };
+    }
+
+    {
+      name = "core-util-is-1.0.2.tgz";
+      path = fetchurl {
+        name = "core-util-is-1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz";
+        sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
+      };
+    }
+
+    {
+      name = "cosmiconfig-2.1.1.tgz";
+      path = fetchurl {
+        name = "cosmiconfig-2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-2.1.1.tgz";
+        sha1 = "817f2c2039347a1e9bf7d090c0923e53f749ca82";
+      };
+    }
+
+    {
+      name = "create-ecdh-4.0.0.tgz";
+      path = fetchurl {
+        name = "create-ecdh-4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.0.tgz";
+        sha1 = "888c723596cdf7612f6498233eebd7a35301737d";
+      };
+    }
+
+    {
+      name = "create-hash-1.1.2.tgz";
+      path = fetchurl {
+        name = "create-hash-1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/create-hash/-/create-hash-1.1.2.tgz";
+        sha1 = "51210062d7bb7479f6c65bb41a92208b1d61abad";
+      };
+    }
+
+    {
+      name = "create-hmac-1.1.4.tgz";
+      path = fetchurl {
+        name = "create-hmac-1.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.4.tgz";
+        sha1 = "d3fb4ba253eb8b3f56e39ea2fbcb8af747bd3170";
+      };
+    }
+
+    {
+      name = "cryptiles-2.0.5.tgz";
+      path = fetchurl {
+        name = "cryptiles-2.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz";
+        sha1 = "3bdfecdc608147c1c67202fa291e7dca59eaa3b8";
+      };
+    }
+
+    {
+      name = "crypto-browserify-3.11.0.tgz";
+      path = fetchurl {
+        name = "crypto-browserify-3.11.0.tgz";
+        url  = "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.11.0.tgz";
+        sha1 = "3652a0906ab9b2a7e0c3ce66a408e957a2485522";
+      };
+    }
+
+    {
+      name = "css-color-names-0.0.4.tgz";
+      path = fetchurl {
+        name = "css-color-names-0.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz";
+        sha1 = "808adc2e79cf84738069b646cb20ec27beb629e0";
+      };
+    }
+
+    {
+      name = "css-loader-0.28.0.tgz";
+      path = fetchurl {
+        name = "css-loader-0.28.0.tgz";
+        url  = "https://registry.yarnpkg.com/css-loader/-/css-loader-0.28.0.tgz";
+        sha1 = "417cfa9789f8cde59a30ccbf3e4da7a806889bad";
+      };
+    }
+
+    {
+      name = "css-selector-tokenizer-0.6.0.tgz";
+      path = fetchurl {
+        name = "css-selector-tokenizer-0.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.6.0.tgz";
+        sha1 = "6445f582c7930d241dcc5007a43d6fcb8f073152";
+      };
+    }
+
+    {
+      name = "css-selector-tokenizer-0.7.0.tgz";
+      path = fetchurl {
+        name = "css-selector-tokenizer-0.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz";
+        sha1 = "e6988474ae8c953477bf5e7efecfceccd9cf4c86";
+      };
+    }
+
+    {
+      name = "cssesc-0.1.0.tgz";
+      path = fetchurl {
+        name = "cssesc-0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz";
+        sha1 = "c814903e45623371a0477b40109aaafbeeaddbb4";
+      };
+    }
+
+    {
+      name = "cssnano-3.10.0.tgz";
+      path = fetchurl {
+        name = "cssnano-3.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/cssnano/-/cssnano-3.10.0.tgz";
+        sha1 = "4f38f6cea2b9b17fa01490f23f1dc68ea65c1c38";
+      };
+    }
+
+    {
+      name = "csso-2.3.2.tgz";
+      path = fetchurl {
+        name = "csso-2.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/csso/-/csso-2.3.2.tgz";
+        sha1 = "ddd52c587033f49e94b71fc55569f252e8ff5f85";
+      };
+    }
+
+    {
+      name = "custom-event-1.0.1.tgz";
+      path = fetchurl {
+        name = "custom-event-1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/custom-event/-/custom-event-1.0.1.tgz";
+        sha1 = "5d02a46850adf1b4a317946a3928fccb5bfd0425";
+      };
+    }
+
+    {
+      name = "d3-3.5.11.tgz";
+      path = fetchurl {
+        name = "d3-3.5.11.tgz";
+        url  = "https://registry.yarnpkg.com/d3/-/d3-3.5.11.tgz";
+        sha1 = "d130750eed0554db70e8432102f920a12407b69c";
+      };
+    }
+
+    {
+      name = "d-0.1.1.tgz";
+      path = fetchurl {
+        name = "d-0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/d/-/d-0.1.1.tgz";
+        sha1 = "da184c535d18d8ee7ba2aa229b914009fae11309";
+      };
+    }
+
+    {
+      name = "dashdash-1.14.1.tgz";
+      path = fetchurl {
+        name = "dashdash-1.14.1.tgz";
+        url  = "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz";
+        sha1 = "853cfa0f7cbe2fed5de20326b8dd581035f6e2f0";
+      };
+    }
+
+    {
+      name = "date-now-0.1.4.tgz";
+      path = fetchurl {
+        name = "date-now-0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz";
+        sha1 = "eaf439fd4d4848ad74e5cc7dbef200672b9e345b";
+      };
+    }
+
+    {
+      name = "de-indent-1.0.2.tgz";
+      path = fetchurl {
+        name = "de-indent-1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/de-indent/-/de-indent-1.0.2.tgz";
+        sha1 = "b2038e846dc33baa5796128d0804b455b8c1e21d";
+      };
+    }
+
+    {
+      name = "debug-2.2.0.tgz";
+      path = fetchurl {
+        name = "debug-2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz";
+        sha1 = "f87057e995b1a1f6ae6a4960664137bc56f039da";
+      };
+    }
+
+    {
+      name = "debug-2.3.3.tgz";
+      path = fetchurl {
+        name = "debug-2.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/debug/-/debug-2.3.3.tgz";
+        sha1 = "40c453e67e6e13c901ddec317af8986cda9eff8c";
+      };
+    }
+
+    {
+      name = "debug-2.6.7.tgz";
+      path = fetchurl {
+        name = "debug-2.6.7.tgz";
+        url  = "https://registry.yarnpkg.com/debug/-/debug-2.6.7.tgz";
+        sha1 = "92bad1f6d05bbb6bba22cca88bcd0ec894c2861e";
+      };
+    }
+
+    {
+      name = "debug-2.6.0.tgz";
+      path = fetchurl {
+        name = "debug-2.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/debug/-/debug-2.6.0.tgz";
+        sha1 = "bc596bcabe7617f11d9fa15361eded5608b8499b";
+      };
+    }
+
+    {
+      name = "decamelize-1.2.0.tgz";
+      path = fetchurl {
+        name = "decamelize-1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz";
+        sha1 = "f6534d15148269b20352e7bee26f501f9a191290";
+      };
+    }
+
+    {
+      name = "deckar01-task_list-2.0.0.tgz";
+      path = fetchurl {
+        name = "deckar01-task_list-2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/deckar01-task_list/-/deckar01-task_list-2.0.0.tgz";
+        sha1 = "7f7a595430d21b3036ed5dfbf97d6b65de18e2c9";
+      };
+    }
+
+    {
+      name = "deep-extend-0.4.1.tgz";
+      path = fetchurl {
+        name = "deep-extend-0.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.1.tgz";
+        sha1 = "efe4113d08085f4e6f9687759810f807469e2253";
+      };
+    }
+
+    {
+      name = "deep-is-0.1.3.tgz";
+      path = fetchurl {
+        name = "deep-is-0.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz";
+        sha1 = "b369d6fb5dbc13eecf524f91b070feedc357cf34";
+      };
+    }
+
+    {
+      name = "default-require-extensions-1.0.0.tgz";
+      path = fetchurl {
+        name = "default-require-extensions-1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-1.0.0.tgz";
+        sha1 = "f37ea15d3e13ffd9b437d33e1a75b5fb97874cb8";
+      };
+    }
+
+    {
+      name = "defaults-1.0.3.tgz";
+      path = fetchurl {
+        name = "defaults-1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz";
+        sha1 = "c656051e9817d9ff08ed881477f3fe4019f3ef7d";
+      };
+    }
+
+    {
+      name = "defined-1.0.0.tgz";
+      path = fetchurl {
+        name = "defined-1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz";
+        sha1 = "c98d9bcef75674188e110969151199e39b1fa693";
+      };
+    }
+
+    {
+      name = "del-2.2.2.tgz";
+      path = fetchurl {
+        name = "del-2.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz";
+        sha1 = "c12c981d067846c84bcaf862cff930d907ffd1a8";
+      };
+    }
+
+    {
+      name = "delayed-stream-1.0.0.tgz";
+      path = fetchurl {
+        name = "delayed-stream-1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz";
+        sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619";
+      };
+    }
+
+    {
+      name = "delegate-3.1.2.tgz";
+      path = fetchurl {
+        name = "delegate-3.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/delegate/-/delegate-3.1.2.tgz";
+        sha1 = "1e1bc6f5cadda6cb6cbf7e6d05d0bcdd5712aebe";
+      };
+    }
+
+    {
+      name = "delegates-1.0.0.tgz";
+      path = fetchurl {
+        name = "delegates-1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz";
+        sha1 = "84c6e159b81904fdca59a0ef44cd870d31250f9a";
+      };
+    }
+
+    {
+      name = "depd-1.1.0.tgz";
+      path = fetchurl {
+        name = "depd-1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/depd/-/depd-1.1.0.tgz";
+        sha1 = "e1bd82c6aab6ced965b97b88b17ed3e528ca18c3";
+      };
+    }
+
+    {
+      name = "des.js-1.0.0.tgz";
+      path = fetchurl {
+        name = "des.js-1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz";
+        sha1 = "c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc";
+      };
+    }
+
+    {
+      name = "destroy-1.0.4.tgz";
+      path = fetchurl {
+        name = "destroy-1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz";
+        sha1 = "978857442c44749e4206613e37946205826abd80";
+      };
+    }
+
+    {
+      name = "detect-indent-4.0.0.tgz";
+      path = fetchurl {
+        name = "detect-indent-4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz";
+        sha1 = "f76d064352cdf43a1cb6ce619c4ee3a9475de208";
+      };
+    }
+
+    {
+      name = "di-0.0.1.tgz";
+      path = fetchurl {
+        name = "di-0.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/di/-/di-0.0.1.tgz";
+        sha1 = "806649326ceaa7caa3306d75d985ea2748ba913c";
+      };
+    }
+
+    {
+      name = "diffie-hellman-5.0.2.tgz";
+      path = fetchurl {
+        name = "diffie-hellman-5.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.2.tgz";
+        sha1 = "b5835739270cfe26acf632099fded2a07f209e5e";
+      };
+    }
+
+    {
+      name = "doctrine-1.5.0.tgz";
+      path = fetchurl {
+        name = "doctrine-1.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz";
+        sha1 = "379dce730f6166f76cefa4e6707a159b02c5a6fa";
+      };
+    }
+
+    {
+      name = "document-register-element-1.3.0.tgz";
+      path = fetchurl {
+        name = "document-register-element-1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/document-register-element/-/document-register-element-1.3.0.tgz";
+        sha1 = "fb3babb523c74662be47be19c6bc33e71990d940";
+      };
+    }
+
+    {
+      name = "dom-serialize-2.2.1.tgz";
+      path = fetchurl {
+        name = "dom-serialize-2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/dom-serialize/-/dom-serialize-2.2.1.tgz";
+        sha1 = "562ae8999f44be5ea3076f5419dcd59eb43ac95b";
+      };
+    }
+
+    {
+      name = "dom-serializer-0.1.0.tgz";
+      path = fetchurl {
+        name = "dom-serializer-0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz";
+        sha1 = "073c697546ce0780ce23be4a28e293e40bc30c82";
+      };
+    }
+
+    {
+      name = "domain-browser-1.1.7.tgz";
+      path = fetchurl {
+        name = "domain-browser-1.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.1.7.tgz";
+        sha1 = "867aa4b093faa05f1de08c06f4d7b21fdf8698bc";
+      };
+    }
+
+    {
+      name = "domelementtype-1.3.0.tgz";
+      path = fetchurl {
+        name = "domelementtype-1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.0.tgz";
+        sha1 = "b17aed82e8ab59e52dd9c19b1756e0fc187204c2";
+      };
+    }
+
+    {
+      name = "domelementtype-1.1.3.tgz";
+      path = fetchurl {
+        name = "domelementtype-1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz";
+        sha1 = "bd28773e2642881aec51544924299c5cd822185b";
+      };
+    }
+
+    {
+      name = "domhandler-2.3.0.tgz";
+      path = fetchurl {
+        name = "domhandler-2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/domhandler/-/domhandler-2.3.0.tgz";
+        sha1 = "2de59a0822d5027fabff6f032c2b25a2a8abe738";
+      };
+    }
+
+    {
+      name = "domutils-1.5.1.tgz";
+      path = fetchurl {
+        name = "domutils-1.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz";
+        sha1 = "dcd8488a26f563d61079e48c9f7b7e32373682cf";
+      };
+    }
+
+    {
+      name = "dropzone-4.2.0.tgz";
+      path = fetchurl {
+        name = "dropzone-4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/dropzone/-/dropzone-4.2.0.tgz";
+        sha1 = "fbe7acbb9918e0706489072ef663effeef8a79f3";
+      };
+    }
+
+    {
+      name = "duplexer-0.1.1.tgz";
+      path = fetchurl {
+        name = "duplexer-0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz";
+        sha1 = "ace6ff808c1ce66b57d1ebf97977acb02334cfc1";
+      };
+    }
+
+    {
+      name = "duplexify-3.5.0.tgz";
+      path = fetchurl {
+        name = "duplexify-3.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/duplexify/-/duplexify-3.5.0.tgz";
+        sha1 = "1aa773002e1578457e9d9d4a50b0ccaaebcbd604";
+      };
+    }
+
+    {
+      name = "ecc-jsbn-0.1.1.tgz";
+      path = fetchurl {
+        name = "ecc-jsbn-0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz";
+        sha1 = "0fc73a9ed5f0d53c38193398523ef7e543777505";
+      };
+    }
+
+    {
+      name = "editorconfig-0.13.2.tgz";
+      path = fetchurl {
+        name = "editorconfig-0.13.2.tgz";
+        url  = "https://registry.yarnpkg.com/editorconfig/-/editorconfig-0.13.2.tgz";
+        sha1 = "8e57926d9ee69ab6cb999f027c2171467acceb35";
+      };
+    }
+
+    {
+      name = "ee-first-1.1.1.tgz";
+      path = fetchurl {
+        name = "ee-first-1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz";
+        sha1 = "590c61156b0ae2f4f0255732a158b266bc56b21d";
+      };
+    }
+
+    {
+      name = "ejs-2.5.6.tgz";
+      path = fetchurl {
+        name = "ejs-2.5.6.tgz";
+        url  = "https://registry.yarnpkg.com/ejs/-/ejs-2.5.6.tgz";
+        sha1 = "479636bfa3fe3b1debd52087f0acb204b4f19c88";
+      };
+    }
+
+    {
+      name = "electron-to-chromium-1.3.3.tgz";
+      path = fetchurl {
+        name = "electron-to-chromium-1.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.3.tgz";
+        sha1 = "651eb63fe89f39db70ffc8dbd5d9b66958bc6a0e";
+      };
+    }
+
+    {
+      name = "elliptic-6.3.3.tgz";
+      path = fetchurl {
+        name = "elliptic-6.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/elliptic/-/elliptic-6.3.3.tgz";
+        sha1 = "5482d9646d54bcb89fd7d994fc9e2e9568876e3f";
+      };
+    }
+
+    {
+      name = "emoji-unicode-version-0.2.1.tgz";
+      path = fetchurl {
+        name = "emoji-unicode-version-0.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/emoji-unicode-version/-/emoji-unicode-version-0.2.1.tgz";
+        sha1 = "0ebf3666b5414097971d34994e299fce75cdbafc";
+      };
+    }
+
+    {
+      name = "emojis-list-2.1.0.tgz";
+      path = fetchurl {
+        name = "emojis-list-2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz";
+        sha1 = "4daa4d9db00f9819880c79fa457ae5b09a1fd389";
+      };
+    }
+
+    {
+      name = "encodeurl-1.0.1.tgz";
+      path = fetchurl {
+        name = "encodeurl-1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.1.tgz";
+        sha1 = "79e3d58655346909fe6f0f45a5de68103b294d20";
+      };
+    }
+
+    {
+      name = "end-of-stream-1.0.0.tgz";
+      path = fetchurl {
+        name = "end-of-stream-1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.0.0.tgz";
+        sha1 = "d4596e702734a93e40e9af864319eabd99ff2f0e";
+      };
+    }
+
+    {
+      name = "engine.io-client-1.8.3.tgz";
+      path = fetchurl {
+        name = "engine.io-client-1.8.3.tgz";
+        url  = "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-1.8.3.tgz";
+        sha1 = "1798ed93451246453d4c6f635d7a201fe940d5ab";
+      };
+    }
+
+    {
+      name = "engine.io-parser-1.3.2.tgz";
+      path = fetchurl {
+        name = "engine.io-parser-1.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-1.3.2.tgz";
+        sha1 = "937b079f0007d0893ec56d46cb220b8cb435220a";
+      };
+    }
+
+    {
+      name = "engine.io-1.8.3.tgz";
+      path = fetchurl {
+        name = "engine.io-1.8.3.tgz";
+        url  = "https://registry.yarnpkg.com/engine.io/-/engine.io-1.8.3.tgz";
+        sha1 = "8de7f97895d20d39b85f88eeee777b2bd42b13d4";
+      };
+    }
+
+    {
+      name = "enhanced-resolve-3.1.0.tgz";
+      path = fetchurl {
+        name = "enhanced-resolve-3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.1.0.tgz";
+        sha1 = "9f4b626f577245edcf4b2ad83d86e17f4f421dec";
+      };
+    }
+
+    {
+      name = "enhanced-resolve-0.9.1.tgz";
+      path = fetchurl {
+        name = "enhanced-resolve-0.9.1.tgz";
+        url  = "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz";
+        sha1 = "4d6e689b3725f86090927ccc86cd9f1635b89e2e";
+      };
+    }
+
+    {
+      name = "ent-2.2.0.tgz";
+      path = fetchurl {
+        name = "ent-2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/ent/-/ent-2.2.0.tgz";
+        sha1 = "e964219325a21d05f44466a2f686ed6ce5f5dd1d";
+      };
+    }
+
+    {
+      name = "entities-1.1.1.tgz";
+      path = fetchurl {
+        name = "entities-1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz";
+        sha1 = "6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0";
+      };
+    }
+
+    {
+      name = "errno-0.1.4.tgz";
+      path = fetchurl {
+        name = "errno-0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/errno/-/errno-0.1.4.tgz";
+        sha1 = "b896e23a9e5e8ba33871fc996abd3635fc9a1c7d";
+      };
+    }
+
+    {
+      name = "error-ex-1.3.0.tgz";
+      path = fetchurl {
+        name = "error-ex-1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.0.tgz";
+        sha1 = "e67b43f3e82c96ea3a584ffee0b9fc3325d802d9";
+      };
+    }
+
+    {
+      name = "es5-ext-0.10.12.tgz";
+      path = fetchurl {
+        name = "es5-ext-0.10.12.tgz";
+        url  = "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.12.tgz";
+        sha1 = "aa84641d4db76b62abba5e45fd805ecbab140047";
+      };
+    }
+
+    {
+      name = "es6-iterator-2.0.0.tgz";
+      path = fetchurl {
+        name = "es6-iterator-2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.0.tgz";
+        sha1 = "bd968567d61635e33c0b80727613c9cb4b096bac";
+      };
+    }
+
+    {
+      name = "es6-map-0.1.4.tgz";
+      path = fetchurl {
+        name = "es6-map-0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.4.tgz";
+        sha1 = "a34b147be224773a4d7da8072794cefa3632b897";
+      };
+    }
+
+    {
+      name = "es6-promise-3.0.2.tgz";
+      path = fetchurl {
+        name = "es6-promise-3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/es6-promise/-/es6-promise-3.0.2.tgz";
+        sha1 = "010d5858423a5f118979665f46486a95c6ee2bb6";
+      };
+    }
+
+    {
+      name = "es6-set-0.1.4.tgz";
+      path = fetchurl {
+        name = "es6-set-0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.4.tgz";
+        sha1 = "9516b6761c2964b92ff479456233a247dc707ce8";
+      };
+    }
+
+    {
+      name = "es6-symbol-3.1.0.tgz";
+      path = fetchurl {
+        name = "es6-symbol-3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.0.tgz";
+        sha1 = "94481c655e7a7cad82eba832d97d5433496d7ffa";
+      };
+    }
+
+    {
+      name = "es6-weak-map-2.0.1.tgz";
+      path = fetchurl {
+        name = "es6-weak-map-2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.1.tgz";
+        sha1 = "0d2bbd8827eb5fb4ba8f97fbfea50d43db21ea81";
+      };
+    }
+
+    {
+      name = "escape-html-1.0.3.tgz";
+      path = fetchurl {
+        name = "escape-html-1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz";
+        sha1 = "0258eae4d3d0c0974de1c169188ef0051d1d1988";
+      };
+    }
+
+    {
+      name = "escape-string-regexp-1.0.5.tgz";
+      path = fetchurl {
+        name = "escape-string-regexp-1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz";
+        sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4";
+      };
+    }
+
+    {
+      name = "escodegen-1.8.1.tgz";
+      path = fetchurl {
+        name = "escodegen-1.8.1.tgz";
+        url  = "https://registry.yarnpkg.com/escodegen/-/escodegen-1.8.1.tgz";
+        sha1 = "5a5b53af4693110bebb0867aa3430dd3b70a1018";
+      };
+    }
+
+    {
+      name = "escope-3.6.0.tgz";
+      path = fetchurl {
+        name = "escope-3.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz";
+        sha1 = "e01975e812781a163a6dadfdd80398dc64c889c3";
+      };
+    }
+
+    {
+      name = "eslint-config-airbnb-base-10.0.1.tgz";
+      path = fetchurl {
+        name = "eslint-config-airbnb-base-10.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-10.0.1.tgz";
+        sha1 = "f17d4e52992c1d45d1b7713efbcd5ecd0e7e0506";
+      };
+    }
+
+    {
+      name = "eslint-import-resolver-node-0.2.3.tgz";
+      path = fetchurl {
+        name = "eslint-import-resolver-node-0.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.2.3.tgz";
+        sha1 = "5add8106e8c928db2cba232bcd9efa846e3da16c";
+      };
+    }
+
+    {
+      name = "eslint-import-resolver-webpack-0.8.1.tgz";
+      path = fetchurl {
+        name = "eslint-import-resolver-webpack-0.8.1.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-import-resolver-webpack/-/eslint-import-resolver-webpack-0.8.1.tgz";
+        sha1 = "c7f8b4d5bd3c5b489457e5728c5db1c4ffbac9aa";
+      };
+    }
+
+    {
+      name = "eslint-module-utils-2.0.0.tgz";
+      path = fetchurl {
+        name = "eslint-module-utils-2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.0.0.tgz";
+        sha1 = "a6f8c21d901358759cdc35dbac1982ae1ee58bce";
+      };
+    }
+
+    {
+      name = "eslint-plugin-filenames-1.1.0.tgz";
+      path = fetchurl {
+        name = "eslint-plugin-filenames-1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-filenames/-/eslint-plugin-filenames-1.1.0.tgz";
+        sha1 = "bb925218ab25b1aad1c622cfa9cb8f43cc03a4ff";
+      };
+    }
+
+    {
+      name = "eslint-plugin-html-2.0.1.tgz";
+      path = fetchurl {
+        name = "eslint-plugin-html-2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-html/-/eslint-plugin-html-2.0.1.tgz";
+        sha1 = "3a829510e82522f1e2e44d55d7661a176121fce1";
+      };
+    }
+
+    {
+      name = "eslint-plugin-import-2.2.0.tgz";
+      path = fetchurl {
+        name = "eslint-plugin-import-2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.2.0.tgz";
+        sha1 = "72ba306fad305d67c4816348a4699a4229ac8b4e";
+      };
+    }
+
+    {
+      name = "eslint-plugin-jasmine-2.2.0.tgz";
+      path = fetchurl {
+        name = "eslint-plugin-jasmine-2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-jasmine/-/eslint-plugin-jasmine-2.2.0.tgz";
+        sha1 = "7135879383c39a667c721d302b9f20f0389543de";
+      };
+    }
+
+    {
+      name = "eslint-plugin-promise-3.5.0.tgz";
+      path = fetchurl {
+        name = "eslint-plugin-promise-3.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-3.5.0.tgz";
+        sha1 = "78fbb6ffe047201627569e85a6c5373af2a68fca";
+      };
+    }
+
+    {
+      name = "eslint-3.15.0.tgz";
+      path = fetchurl {
+        name = "eslint-3.15.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint/-/eslint-3.15.0.tgz";
+        sha1 = "bdcc6a6c5ffe08160e7b93c066695362a91e30f2";
+      };
+    }
+
+    {
+      name = "espree-3.4.0.tgz";
+      path = fetchurl {
+        name = "espree-3.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/espree/-/espree-3.4.0.tgz";
+        sha1 = "41656fa5628e042878025ef467e78f125cb86e1d";
+      };
+    }
+
+    {
+      name = "esprima-2.7.3.tgz";
+      path = fetchurl {
+        name = "esprima-2.7.3.tgz";
+        url  = "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz";
+        sha1 = "96e3b70d5779f6ad49cd032673d1c312767ba581";
+      };
+    }
+
+    {
+      name = "esprima-3.1.3.tgz";
+      path = fetchurl {
+        name = "esprima-3.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz";
+        sha1 = "fdca51cee6133895e3c88d535ce49dbff62a4633";
+      };
+    }
+
+    {
+      name = "esrecurse-4.1.0.tgz";
+      path = fetchurl {
+        name = "esrecurse-4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.1.0.tgz";
+        sha1 = "4713b6536adf7f2ac4f327d559e7756bff648220";
+      };
+    }
+
+    {
+      name = "estraverse-1.9.3.tgz";
+      path = fetchurl {
+        name = "estraverse-1.9.3.tgz";
+        url  = "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz";
+        sha1 = "af67f2dc922582415950926091a4005d29c9bb44";
+      };
+    }
+
+    {
+      name = "estraverse-4.2.0.tgz";
+      path = fetchurl {
+        name = "estraverse-4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz";
+        sha1 = "0dee3fed31fcd469618ce7342099fc1afa0bdb13";
+      };
+    }
+
+    {
+      name = "estraverse-4.1.1.tgz";
+      path = fetchurl {
+        name = "estraverse-4.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/estraverse/-/estraverse-4.1.1.tgz";
+        sha1 = "f6caca728933a850ef90661d0e17982ba47111a2";
+      };
+    }
+
+    {
+      name = "esutils-2.0.2.tgz";
+      path = fetchurl {
+        name = "esutils-2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz";
+        sha1 = "0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b";
+      };
+    }
+
+    {
+      name = "etag-1.8.0.tgz";
+      path = fetchurl {
+        name = "etag-1.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/etag/-/etag-1.8.0.tgz";
+        sha1 = "6f631aef336d6c46362b51764044ce216be3c051";
+      };
+    }
+
+    {
+      name = "eve-raphael-0.5.0.tgz";
+      path = fetchurl {
+        name = "eve-raphael-0.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/eve-raphael/-/eve-raphael-0.5.0.tgz";
+        sha1 = "17c754b792beef3fa6684d79cf5a47c63c4cda30";
+      };
+    }
+
+    {
+      name = "event-emitter-0.3.4.tgz";
+      path = fetchurl {
+        name = "event-emitter-0.3.4.tgz";
+        url  = "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.4.tgz";
+        sha1 = "8d63ddfb4cfe1fae3b32ca265c4c720222080bb5";
+      };
+    }
+
+    {
+      name = "event-stream-3.3.4.tgz";
+      path = fetchurl {
+        name = "event-stream-3.3.4.tgz";
+        url  = "https://registry.yarnpkg.com/event-stream/-/event-stream-3.3.4.tgz";
+        sha1 = "4ab4c9a0f5a54db9338b4c34d86bfce8f4b35571";
+      };
+    }
+
+    {
+      name = "eventemitter3-1.2.0.tgz";
+      path = fetchurl {
+        name = "eventemitter3-1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-1.2.0.tgz";
+        sha1 = "1c86991d816ad1e504750e73874224ecf3bec508";
+      };
+    }
+
+    {
+      name = "events-1.1.1.tgz";
+      path = fetchurl {
+        name = "events-1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz";
+        sha1 = "9ebdb7635ad099c70dcc4c2a1f5004288e8bd924";
+      };
+    }
+
+    {
+      name = "eventsource-0.1.6.tgz";
+      path = fetchurl {
+        name = "eventsource-0.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/eventsource/-/eventsource-0.1.6.tgz";
+        sha1 = "0acede849ed7dd1ccc32c811bb11b944d4f29232";
+      };
+    }
+
+    {
+      name = "evp_bytestokey-1.0.0.tgz";
+      path = fetchurl {
+        name = "evp_bytestokey-1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.0.tgz";
+        sha1 = "497b66ad9fef65cd7c08a6180824ba1476b66e53";
+      };
+    }
+
+    {
+      name = "exit-hook-1.1.1.tgz";
+      path = fetchurl {
+        name = "exit-hook-1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz";
+        sha1 = "f05ca233b48c05d54fff07765df8507e95c02ff8";
+      };
+    }
+
+    {
+      name = "expand-braces-0.1.2.tgz";
+      path = fetchurl {
+        name = "expand-braces-0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/expand-braces/-/expand-braces-0.1.2.tgz";
+        sha1 = "488b1d1d2451cb3d3a6b192cfc030f44c5855fea";
+      };
+    }
+
+    {
+      name = "expand-brackets-0.1.5.tgz";
+      path = fetchurl {
+        name = "expand-brackets-0.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz";
+        sha1 = "df07284e342a807cd733ac5af72411e581d1177b";
+      };
+    }
+
+    {
+      name = "expand-range-0.1.1.tgz";
+      path = fetchurl {
+        name = "expand-range-0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/expand-range/-/expand-range-0.1.1.tgz";
+        sha1 = "4cb8eda0993ca56fa4f41fc42f3cbb4ccadff044";
+      };
+    }
+
+    {
+      name = "expand-range-1.8.2.tgz";
+      path = fetchurl {
+        name = "expand-range-1.8.2.tgz";
+        url  = "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz";
+        sha1 = "a299effd335fe2721ebae8e257ec79644fc85337";
+      };
+    }
+
+    {
+      name = "exports-loader-0.6.4.tgz";
+      path = fetchurl {
+        name = "exports-loader-0.6.4.tgz";
+        url  = "https://registry.yarnpkg.com/exports-loader/-/exports-loader-0.6.4.tgz";
+        sha1 = "d70fc6121975b35fc12830cf52754be2740fc886";
+      };
+    }
+
+    {
+      name = "express-4.15.3.tgz";
+      path = fetchurl {
+        name = "express-4.15.3.tgz";
+        url  = "https://registry.yarnpkg.com/express/-/express-4.15.3.tgz";
+        sha1 = "bab65d0f03aa80c358408972fc700f916944b662";
+      };
+    }
+
+    {
+      name = "extend-3.0.0.tgz";
+      path = fetchurl {
+        name = "extend-3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/extend/-/extend-3.0.0.tgz";
+        sha1 = "5a474353b9f3353ddd8176dfd37b91c83a46f1d4";
+      };
+    }
+
+    {
+      name = "extglob-0.3.2.tgz";
+      path = fetchurl {
+        name = "extglob-0.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz";
+        sha1 = "2e18ff3d2f49ab2765cec9023f011daa8d8349a1";
+      };
+    }
+
+    {
+      name = "extsprintf-1.0.2.tgz";
+      path = fetchurl {
+        name = "extsprintf-1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz";
+        sha1 = "e1080e0658e300b06294990cc70e1502235fd550";
+      };
+    }
+
+    {
+      name = "fast-levenshtein-2.0.6.tgz";
+      path = fetchurl {
+        name = "fast-levenshtein-2.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz";
+        sha1 = "3d8a5c66883a16a30ca8643e851f19baa7797917";
+      };
+    }
+
+    {
+      name = "fastparse-1.1.1.tgz";
+      path = fetchurl {
+        name = "fastparse-1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.1.tgz";
+        sha1 = "d1e2643b38a94d7583b479060e6c4affc94071f8";
+      };
+    }
+
+    {
+      name = "faye-websocket-0.10.0.tgz";
+      path = fetchurl {
+        name = "faye-websocket-0.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz";
+        sha1 = "4e492f8d04dfb6f89003507f6edbf2d501e7c6f4";
+      };
+    }
+
+    {
+      name = "faye-websocket-0.11.1.tgz";
+      path = fetchurl {
+        name = "faye-websocket-0.11.1.tgz";
+        url  = "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.1.tgz";
+        sha1 = "f0efe18c4f56e4f40afc7e06c719fd5ee6188f38";
+      };
+    }
+
+    {
+      name = "faye-websocket-0.7.3.tgz";
+      path = fetchurl {
+        name = "faye-websocket-0.7.3.tgz";
+        url  = "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.7.3.tgz";
+        sha1 = "cc4074c7f4a4dfd03af54dd65c354b135132ce11";
+      };
+    }
+
+    {
+      name = "figures-1.7.0.tgz";
+      path = fetchurl {
+        name = "figures-1.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz";
+        sha1 = "cbe1e3affcf1cd44b80cadfed28dc793a9701d2e";
+      };
+    }
+
+    {
+      name = "file-entry-cache-2.0.0.tgz";
+      path = fetchurl {
+        name = "file-entry-cache-2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz";
+        sha1 = "c392990c3e684783d838b8c84a45d8a048458361";
+      };
+    }
+
+    {
+      name = "file-loader-0.11.1.tgz";
+      path = fetchurl {
+        name = "file-loader-0.11.1.tgz";
+        url  = "https://registry.yarnpkg.com/file-loader/-/file-loader-0.11.1.tgz";
+        sha1 = "6b328ee1234a729e4e47d36375dd6d35c0e1db84";
+      };
+    }
+
+    {
+      name = "filename-regex-2.0.0.tgz";
+      path = fetchurl {
+        name = "filename-regex-2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.0.tgz";
+        sha1 = "996e3e80479b98b9897f15a8a58b3d084e926775";
+      };
+    }
+
+    {
+      name = "fileset-2.0.3.tgz";
+      path = fetchurl {
+        name = "fileset-2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/fileset/-/fileset-2.0.3.tgz";
+        sha1 = "8e7548a96d3cc2327ee5e674168723a333bba2a0";
+      };
+    }
+
+    {
+      name = "filesize-3.3.0.tgz";
+      path = fetchurl {
+        name = "filesize-3.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/filesize/-/filesize-3.3.0.tgz";
+        sha1 = "53149ea3460e3b2e024962a51648aa572cf98122";
+      };
+    }
+
+    {
+      name = "filesize-3.5.10.tgz";
+      path = fetchurl {
+        name = "filesize-3.5.10.tgz";
+        url  = "https://registry.yarnpkg.com/filesize/-/filesize-3.5.10.tgz";
+        sha1 = "fc8fa23ddb4ef9e5e0ab6e1e64f679a24a56761f";
+      };
+    }
+
+    {
+      name = "fill-range-2.2.3.tgz";
+      path = fetchurl {
+        name = "fill-range-2.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz";
+        sha1 = "50b77dfd7e469bc7492470963699fe7a8485a723";
+      };
+    }
+
+    {
+      name = "finalhandler-1.0.3.tgz";
+      path = fetchurl {
+        name = "finalhandler-1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.0.3.tgz";
+        sha1 = "ef47e77950e999780e86022a560e3217e0d0cc89";
+      };
+    }
+
+    {
+      name = "find-cache-dir-0.1.1.tgz";
+      path = fetchurl {
+        name = "find-cache-dir-0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz";
+        sha1 = "c8defae57c8a52a8a784f9e31c57c742e993a0b9";
+      };
+    }
+
+    {
+      name = "find-root-0.1.2.tgz";
+      path = fetchurl {
+        name = "find-root-0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/find-root/-/find-root-0.1.2.tgz";
+        sha1 = "98d2267cff1916ccaf2743b3a0eea81d79d7dcd1";
+      };
+    }
+
+    {
+      name = "find-up-1.1.2.tgz";
+      path = fetchurl {
+        name = "find-up-1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz";
+        sha1 = "6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f";
+      };
+    }
+
+    {
+      name = "find-up-2.1.0.tgz";
+      path = fetchurl {
+        name = "find-up-2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz";
+        sha1 = "45d1b7e506c717ddd482775a2b77920a3c0c57a7";
+      };
+    }
+
+    {
+      name = "flat-cache-1.2.2.tgz";
+      path = fetchurl {
+        name = "flat-cache-1.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.2.2.tgz";
+        sha1 = "fa86714e72c21db88601761ecf2f555d1abc6b96";
+      };
+    }
+
+    {
+      name = "flatten-1.0.2.tgz";
+      path = fetchurl {
+        name = "flatten-1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz";
+        sha1 = "dae46a9d78fbe25292258cc1e780a41d95c03782";
+      };
+    }
+
+    {
+      name = "for-in-0.1.6.tgz";
+      path = fetchurl {
+        name = "for-in-0.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/for-in/-/for-in-0.1.6.tgz";
+        sha1 = "c9f96e89bfad18a545af5ec3ed352a1d9e5b4dc8";
+      };
+    }
+
+    {
+      name = "for-own-0.1.4.tgz";
+      path = fetchurl {
+        name = "for-own-0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/for-own/-/for-own-0.1.4.tgz";
+        sha1 = "0149b41a39088c7515f51ebe1c1386d45f935072";
+      };
+    }
+
+    {
+      name = "forever-agent-0.6.1.tgz";
+      path = fetchurl {
+        name = "forever-agent-0.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz";
+        sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91";
+      };
+    }
+
+    {
+      name = "form-data-2.1.2.tgz";
+      path = fetchurl {
+        name = "form-data-2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/form-data/-/form-data-2.1.2.tgz";
+        sha1 = "89c3534008b97eada4cbb157d58f6f5df025eae4";
+      };
+    }
+
+    {
+      name = "forwarded-0.1.0.tgz";
+      path = fetchurl {
+        name = "forwarded-0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.0.tgz";
+        sha1 = "19ef9874c4ae1c297bcf078fde63a09b66a84363";
+      };
+    }
+
+    {
+      name = "fresh-0.5.0.tgz";
+      path = fetchurl {
+        name = "fresh-0.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/fresh/-/fresh-0.5.0.tgz";
+        sha1 = "f474ca5e6a9246d6fd8e0953cfa9b9c805afa78e";
+      };
+    }
+
+    {
+      name = "from-0.1.7.tgz";
+      path = fetchurl {
+        name = "from-0.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/from/-/from-0.1.7.tgz";
+        sha1 = "83c60afc58b9c56997007ed1a768b3ab303a44fe";
+      };
+    }
+
+    {
+      name = "fs-access-1.0.1.tgz";
+      path = fetchurl {
+        name = "fs-access-1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/fs-access/-/fs-access-1.0.1.tgz";
+        sha1 = "d6a87f262271cefebec30c553407fb995da8777a";
+      };
+    }
+
+    {
+      name = "fs.realpath-1.0.0.tgz";
+      path = fetchurl {
+        name = "fs.realpath-1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz";
+        sha1 = "1504ad2523158caa40db4a2787cb01411994ea4f";
+      };
+    }
+
+    {
+      name = "fsevents-1.0.17.tgz";
+      path = fetchurl {
+        name = "fsevents-1.0.17.tgz";
+        url  = "https://registry.yarnpkg.com/fsevents/-/fsevents-1.0.17.tgz";
+        sha1 = "8537f3f12272678765b4fd6528c0f1f66f8f4558";
+      };
+    }
+
+    {
+      name = "fstream-ignore-1.0.5.tgz";
+      path = fetchurl {
+        name = "fstream-ignore-1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz";
+        sha1 = "9c31dae34767018fe1d249b24dada67d092da105";
+      };
+    }
+
+    {
+      name = "fstream-1.0.10.tgz";
+      path = fetchurl {
+        name = "fstream-1.0.10.tgz";
+        url  = "https://registry.yarnpkg.com/fstream/-/fstream-1.0.10.tgz";
+        sha1 = "604e8a92fe26ffd9f6fae30399d4984e1ab22822";
+      };
+    }
+
+    {
+      name = "function-bind-1.1.0.tgz";
+      path = fetchurl {
+        name = "function-bind-1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz";
+        sha1 = "16176714c801798e4e8f2cf7f7529467bb4a5771";
+      };
+    }
+
+    {
+      name = "gauge-2.7.2.tgz";
+      path = fetchurl {
+        name = "gauge-2.7.2.tgz";
+        url  = "https://registry.yarnpkg.com/gauge/-/gauge-2.7.2.tgz";
+        sha1 = "15cecc31b02d05345a5d6b0e171cdb3ad2307774";
+      };
+    }
+
+    {
+      name = "generate-function-2.0.0.tgz";
+      path = fetchurl {
+        name = "generate-function-2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz";
+        sha1 = "6858fe7c0969b7d4e9093337647ac79f60dfbe74";
+      };
+    }
+
+    {
+      name = "generate-object-property-1.2.0.tgz";
+      path = fetchurl {
+        name = "generate-object-property-1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz";
+        sha1 = "9c0e1c40308ce804f4783618b937fa88f99d50d0";
+      };
+    }
+
+    {
+      name = "get-caller-file-1.0.2.tgz";
+      path = fetchurl {
+        name = "get-caller-file-1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz";
+        sha1 = "f702e63127e7e231c160a80c1554acb70d5047e5";
+      };
+    }
+
+    {
+      name = "getpass-0.1.6.tgz";
+      path = fetchurl {
+        name = "getpass-0.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/getpass/-/getpass-0.1.6.tgz";
+        sha1 = "283ffd9fc1256840875311c1b60e8c40187110e6";
+      };
+    }
+
+    {
+      name = "glob-base-0.3.0.tgz";
+      path = fetchurl {
+        name = "glob-base-0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz";
+        sha1 = "dbb164f6221b1c0b1ccf82aea328b497df0ea3c4";
+      };
+    }
+
+    {
+      name = "glob-parent-2.0.0.tgz";
+      path = fetchurl {
+        name = "glob-parent-2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz";
+        sha1 = "81383d72db054fcccf5336daa902f182f6edbb28";
+      };
+    }
+
+    {
+      name = "glob-5.0.15.tgz";
+      path = fetchurl {
+        name = "glob-5.0.15.tgz";
+        url  = "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz";
+        sha1 = "1bc936b9e02f4a603fcc222ecf7633d30b8b93b1";
+      };
+    }
+
+    {
+      name = "glob-7.1.1.tgz";
+      path = fetchurl {
+        name = "glob-7.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz";
+        sha1 = "805211df04faaf1c63a3600306cdf5ade50b2ec8";
+      };
+    }
+
+    {
+      name = "globals-9.14.0.tgz";
+      path = fetchurl {
+        name = "globals-9.14.0.tgz";
+        url  = "https://registry.yarnpkg.com/globals/-/globals-9.14.0.tgz";
+        sha1 = "8859936af0038741263053b39d0e76ca241e4034";
+      };
+    }
+
+    {
+      name = "globby-5.0.0.tgz";
+      path = fetchurl {
+        name = "globby-5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz";
+        sha1 = "ebd84667ca0dbb330b99bcfc68eac2bc54370e0d";
+      };
+    }
+
+    {
+      name = "good-listener-1.2.2.tgz";
+      path = fetchurl {
+        name = "good-listener-1.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/good-listener/-/good-listener-1.2.2.tgz";
+        sha1 = "d53b30cdf9313dffb7dc9a0d477096aa6d145c50";
+      };
+    }
+
+    {
+      name = "got-3.3.1.tgz";
+      path = fetchurl {
+        name = "got-3.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/got/-/got-3.3.1.tgz";
+        sha1 = "e5d0ed4af55fc3eef4d56007769d98192bcb2eca";
+      };
+    }
+
+    {
+      name = "graceful-fs-4.1.11.tgz";
+      path = fetchurl {
+        name = "graceful-fs-4.1.11.tgz";
+        url  = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz";
+        sha1 = "0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658";
+      };
+    }
+
+    {
+      name = "graceful-readlink-1.0.1.tgz";
+      path = fetchurl {
+        name = "graceful-readlink-1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz";
+        sha1 = "4cafad76bc62f02fa039b2f94e9a3dd3a391a725";
+      };
+    }
+
+    {
+      name = "gzip-size-3.0.0.tgz";
+      path = fetchurl {
+        name = "gzip-size-3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/gzip-size/-/gzip-size-3.0.0.tgz";
+        sha1 = "546188e9bdc337f673772f81660464b389dce520";
+      };
+    }
+
+    {
+      name = "handle-thing-1.2.5.tgz";
+      path = fetchurl {
+        name = "handle-thing-1.2.5.tgz";
+        url  = "https://registry.yarnpkg.com/handle-thing/-/handle-thing-1.2.5.tgz";
+        sha1 = "fd7aad726bf1a5fd16dfc29b2f7a6601d27139c4";
+      };
+    }
+
+    {
+      name = "handlebars-4.0.6.tgz";
+      path = fetchurl {
+        name = "handlebars-4.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.6.tgz";
+        sha1 = "2ce4484850537f9c97a8026d5399b935c4ed4ed7";
+      };
+    }
+
+    {
+      name = "har-validator-2.0.6.tgz";
+      path = fetchurl {
+        name = "har-validator-2.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz";
+        sha1 = "cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d";
+      };
+    }
+
+    {
+      name = "has-ansi-2.0.0.tgz";
+      path = fetchurl {
+        name = "has-ansi-2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz";
+        sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91";
+      };
+    }
+
+    {
+      name = "has-binary-0.1.7.tgz";
+      path = fetchurl {
+        name = "has-binary-0.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/has-binary/-/has-binary-0.1.7.tgz";
+        sha1 = "68e61eb16210c9545a0a5cce06a873912fe1e68c";
+      };
+    }
+
+    {
+      name = "has-cors-1.1.0.tgz";
+      path = fetchurl {
+        name = "has-cors-1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz";
+        sha1 = "5e474793f7ea9843d1bb99c23eef49ff126fff39";
+      };
+    }
+
+    {
+      name = "has-flag-1.0.0.tgz";
+      path = fetchurl {
+        name = "has-flag-1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz";
+        sha1 = "9d9e793165ce017a00f00418c43f942a7b1d11fa";
+      };
+    }
+
+    {
+      name = "has-unicode-2.0.1.tgz";
+      path = fetchurl {
+        name = "has-unicode-2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz";
+        sha1 = "e0e6fe6a28cf51138855e086d1691e771de2a8b9";
+      };
+    }
+
+    {
+      name = "has-1.0.1.tgz";
+      path = fetchurl {
+        name = "has-1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz";
+        sha1 = "8461733f538b0837c9361e39a9ab9e9704dc2f28";
+      };
+    }
+
+    {
+      name = "hash-sum-1.0.2.tgz";
+      path = fetchurl {
+        name = "hash-sum-1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/hash-sum/-/hash-sum-1.0.2.tgz";
+        sha1 = "33b40777754c6432573c120cc3808bbd10d47f04";
+      };
+    }
+
+    {
+      name = "hash.js-1.0.3.tgz";
+      path = fetchurl {
+        name = "hash.js-1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/hash.js/-/hash.js-1.0.3.tgz";
+        sha1 = "1332ff00156c0a0ffdd8236013d07b77a0451573";
+      };
+    }
+
+    {
+      name = "hawk-3.1.3.tgz";
+      path = fetchurl {
+        name = "hawk-3.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz";
+        sha1 = "078444bd7c1640b0fe540d2c9b73d59678e8e1c4";
+      };
+    }
+
+    {
+      name = "he-1.1.1.tgz";
+      path = fetchurl {
+        name = "he-1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz";
+        sha1 = "93410fd21b009735151f8868c2f271f3427e23fd";
+      };
+    }
+
+    {
+      name = "hoek-2.16.3.tgz";
+      path = fetchurl {
+        name = "hoek-2.16.3.tgz";
+        url  = "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz";
+        sha1 = "20bb7403d3cea398e91dc4710a8ff1b8274a25ed";
+      };
+    }
+
+    {
+      name = "home-or-tmp-2.0.0.tgz";
+      path = fetchurl {
+        name = "home-or-tmp-2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz";
+        sha1 = "e36c3f2d2cae7d746a857e38d18d5f32a7882db8";
+      };
+    }
+
+    {
+      name = "hosted-git-info-2.2.0.tgz";
+      path = fetchurl {
+        name = "hosted-git-info-2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.2.0.tgz";
+        sha1 = "7a0d097863d886c0fabbdcd37bf1758d8becf8a5";
+      };
+    }
+
+    {
+      name = "hpack.js-2.1.6.tgz";
+      path = fetchurl {
+        name = "hpack.js-2.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz";
+        sha1 = "87774c0949e513f42e84575b3c45681fade2a0b2";
+      };
+    }
+
+    {
+      name = "html-comment-regex-1.1.1.tgz";
+      path = fetchurl {
+        name = "html-comment-regex-1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.1.tgz";
+        sha1 = "668b93776eaae55ebde8f3ad464b307a4963625e";
+      };
+    }
+
+    {
+      name = "html-entities-1.2.0.tgz";
+      path = fetchurl {
+        name = "html-entities-1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.0.tgz";
+        sha1 = "41948caf85ce82fed36e4e6a0ed371a6664379e2";
+      };
+    }
+
+    {
+      name = "htmlparser2-3.9.2.tgz";
+      path = fetchurl {
+        name = "htmlparser2-3.9.2.tgz";
+        url  = "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.9.2.tgz";
+        sha1 = "1bdf87acca0f3f9e53fa4fcceb0f4b4cbb00b338";
+      };
+    }
+
+    {
+      name = "http-deceiver-1.2.7.tgz";
+      path = fetchurl {
+        name = "http-deceiver-1.2.7.tgz";
+        url  = "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz";
+        sha1 = "fa7168944ab9a519d337cb0bec7284dc3e723d87";
+      };
+    }
+
+    {
+      name = "http-errors-1.5.1.tgz";
+      path = fetchurl {
+        name = "http-errors-1.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/http-errors/-/http-errors-1.5.1.tgz";
+        sha1 = "788c0d2c1de2c81b9e6e8c01843b6b97eb920750";
+      };
+    }
+
+    {
+      name = "http-errors-1.6.1.tgz";
+      path = fetchurl {
+        name = "http-errors-1.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.1.tgz";
+        sha1 = "5f8b8ed98aca545656bf572997387f904a722257";
+      };
+    }
+
+    {
+      name = "http-proxy-middleware-0.17.4.tgz";
+      path = fetchurl {
+        name = "http-proxy-middleware-0.17.4.tgz";
+        url  = "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.17.4.tgz";
+        sha1 = "642e8848851d66f09d4f124912846dbaeb41b833";
+      };
+    }
+
+    {
+      name = "http-proxy-1.16.2.tgz";
+      path = fetchurl {
+        name = "http-proxy-1.16.2.tgz";
+        url  = "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.16.2.tgz";
+        sha1 = "06dff292952bf64dbe8471fa9df73066d4f37742";
+      };
+    }
+
+    {
+      name = "http-signature-1.1.1.tgz";
+      path = fetchurl {
+        name = "http-signature-1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz";
+        sha1 = "df72e267066cd0ac67fb76adf8e134a8fbcf91bf";
+      };
+    }
+
+    {
+      name = "https-browserify-0.0.1.tgz";
+      path = fetchurl {
+        name = "https-browserify-0.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/https-browserify/-/https-browserify-0.0.1.tgz";
+        sha1 = "3f91365cabe60b77ed0ebba24b454e3e09d95a82";
+      };
+    }
+
+    {
+      name = "iconv-lite-0.4.15.tgz";
+      path = fetchurl {
+        name = "iconv-lite-0.4.15.tgz";
+        url  = "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.15.tgz";
+        sha1 = "fe265a218ac6a57cfe854927e9d04c19825eddeb";
+      };
+    }
+
+    {
+      name = "icss-replace-symbols-1.0.2.tgz";
+      path = fetchurl {
+        name = "icss-replace-symbols-1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.0.2.tgz";
+        sha1 = "cb0b6054eb3af6edc9ab1d62d01933e2d4c8bfa5";
+      };
+    }
+
+    {
+      name = "ieee754-1.1.8.tgz";
+      path = fetchurl {
+        name = "ieee754-1.1.8.tgz";
+        url  = "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz";
+        sha1 = "be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4";
+      };
+    }
+
+    {
+      name = "ignore-by-default-1.0.1.tgz";
+      path = fetchurl {
+        name = "ignore-by-default-1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz";
+        sha1 = "48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09";
+      };
+    }
+
+    {
+      name = "ignore-3.2.2.tgz";
+      path = fetchurl {
+        name = "ignore-3.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/ignore/-/ignore-3.2.2.tgz";
+        sha1 = "1c51e1ef53bab6ddc15db4d9ac4ec139eceb3410";
+      };
+    }
+
+    {
+      name = "immediate-3.0.6.tgz";
+      path = fetchurl {
+        name = "immediate-3.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz";
+        sha1 = "9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b";
+      };
+    }
+
+    {
+      name = "imurmurhash-0.1.4.tgz";
+      path = fetchurl {
+        name = "imurmurhash-0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz";
+        sha1 = "9218b9b2b928a238b13dc4fb6b6d576f231453ea";
+      };
+    }
+
+    {
+      name = "indexes-of-1.0.1.tgz";
+      path = fetchurl {
+        name = "indexes-of-1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz";
+        sha1 = "f30f716c8e2bd346c7b67d3df3915566a7c05607";
+      };
+    }
+
+    {
+      name = "indexof-0.0.1.tgz";
+      path = fetchurl {
+        name = "indexof-0.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz";
+        sha1 = "82dc336d232b9062179d05ab3293a66059fd435d";
+      };
+    }
+
+    {
+      name = "infinity-agent-2.0.3.tgz";
+      path = fetchurl {
+        name = "infinity-agent-2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/infinity-agent/-/infinity-agent-2.0.3.tgz";
+        sha1 = "45e0e2ff7a9eb030b27d62b74b3744b7a7ac4216";
+      };
+    }
+
+    {
+      name = "inflight-1.0.6.tgz";
+      path = fetchurl {
+        name = "inflight-1.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz";
+        sha1 = "49bd6331d7d02d0c09bc910a1075ba8165b56df9";
+      };
+    }
+
+    {
+      name = "inherits-2.0.3.tgz";
+      path = fetchurl {
+        name = "inherits-2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz";
+        sha1 = "633c2c83e3da42a502f52466022480f4208261de";
+      };
+    }
+
+    {
+      name = "inherits-2.0.1.tgz";
+      path = fetchurl {
+        name = "inherits-2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz";
+        sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1";
+      };
+    }
+
+    {
+      name = "ini-1.3.4.tgz";
+      path = fetchurl {
+        name = "ini-1.3.4.tgz";
+        url  = "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz";
+        sha1 = "0537cb79daf59b59a1a517dff706c86ec039162e";
+      };
+    }
+
+    {
+      name = "inquirer-0.12.0.tgz";
+      path = fetchurl {
+        name = "inquirer-0.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz";
+        sha1 = "1ef2bfd63504df0bc75785fff8c2c41df12f077e";
+      };
+    }
+
+    {
+      name = "interpret-1.0.1.tgz";
+      path = fetchurl {
+        name = "interpret-1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/interpret/-/interpret-1.0.1.tgz";
+        sha1 = "d579fb7f693b858004947af39fa0db49f795602c";
+      };
+    }
+
+    {
+      name = "invariant-2.2.2.tgz";
+      path = fetchurl {
+        name = "invariant-2.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz";
+        sha1 = "9e1f56ac0acdb6bf303306f338be3b204ae60360";
+      };
+    }
+
+    {
+      name = "invert-kv-1.0.0.tgz";
+      path = fetchurl {
+        name = "invert-kv-1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz";
+        sha1 = "104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6";
+      };
+    }
+
+    {
+      name = "ipaddr.js-1.3.0.tgz";
+      path = fetchurl {
+        name = "ipaddr.js-1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.3.0.tgz";
+        sha1 = "1e03a52fdad83a8bbb2b25cbf4998b4cffcd3dec";
+      };
+    }
+
+    {
+      name = "is-absolute-url-2.1.0.tgz";
+      path = fetchurl {
+        name = "is-absolute-url-2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz";
+        sha1 = "50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6";
+      };
+    }
+
+    {
+      name = "is-absolute-0.2.6.tgz";
+      path = fetchurl {
+        name = "is-absolute-0.2.6.tgz";
+        url  = "https://registry.yarnpkg.com/is-absolute/-/is-absolute-0.2.6.tgz";
+        sha1 = "20de69f3db942ef2d87b9c2da36f172235b1b5eb";
+      };
+    }
+
+    {
+      name = "is-arrayish-0.2.1.tgz";
+      path = fetchurl {
+        name = "is-arrayish-0.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz";
+        sha1 = "77c99840527aa8ecb1a8ba697b80645a7a926a9d";
+      };
+    }
+
+    {
+      name = "is-binary-path-1.0.1.tgz";
+      path = fetchurl {
+        name = "is-binary-path-1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz";
+        sha1 = "75f16642b480f187a711c814161fd3a4a7655898";
+      };
+    }
+
+    {
+      name = "is-buffer-1.1.4.tgz";
+      path = fetchurl {
+        name = "is-buffer-1.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.4.tgz";
+        sha1 = "cfc86ccd5dc5a52fa80489111c6920c457e2d98b";
+      };
+    }
+
+    {
+      name = "is-builtin-module-1.0.0.tgz";
+      path = fetchurl {
+        name = "is-builtin-module-1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz";
+        sha1 = "540572d34f7ac3119f8f76c30cbc1b1e037affbe";
+      };
+    }
+
+    {
+      name = "is-dotfile-1.0.2.tgz";
+      path = fetchurl {
+        name = "is-dotfile-1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.2.tgz";
+        sha1 = "2c132383f39199f8edc268ca01b9b007d205cc4d";
+      };
+    }
+
+    {
+      name = "is-equal-shallow-0.1.3.tgz";
+      path = fetchurl {
+        name = "is-equal-shallow-0.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz";
+        sha1 = "2238098fc221de0bcfa5d9eac4c45d638aa1c534";
+      };
+    }
+
+    {
+      name = "is-extendable-0.1.1.tgz";
+      path = fetchurl {
+        name = "is-extendable-0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz";
+        sha1 = "62b110e289a471418e3ec36a617d472e301dfc89";
+      };
+    }
+
+    {
+      name = "is-extglob-1.0.0.tgz";
+      path = fetchurl {
+        name = "is-extglob-1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz";
+        sha1 = "ac468177c4943405a092fc8f29760c6ffc6206c0";
+      };
+    }
+
+    {
+      name = "is-extglob-2.1.1.tgz";
+      path = fetchurl {
+        name = "is-extglob-2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz";
+        sha1 = "a88c02535791f02ed37c76a1b9ea9773c833f8c2";
+      };
+    }
+
+    {
+      name = "is-finite-1.0.2.tgz";
+      path = fetchurl {
+        name = "is-finite-1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz";
+        sha1 = "cc6677695602be550ef11e8b4aa6305342b6d0aa";
+      };
+    }
+
+    {
+      name = "is-fullwidth-code-point-1.0.0.tgz";
+      path = fetchurl {
+        name = "is-fullwidth-code-point-1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz";
+        sha1 = "ef9e31386f031a7f0d643af82fde50c457ef00cb";
+      };
+    }
+
+    {
+      name = "is-fullwidth-code-point-2.0.0.tgz";
+      path = fetchurl {
+        name = "is-fullwidth-code-point-2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz";
+        sha1 = "a3b30a5c4f199183167aaab93beefae3ddfb654f";
+      };
+    }
+
+    {
+      name = "is-glob-2.0.1.tgz";
+      path = fetchurl {
+        name = "is-glob-2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz";
+        sha1 = "d096f926a3ded5600f3fdfd91198cb0888c2d863";
+      };
+    }
+
+    {
+      name = "is-glob-3.1.0.tgz";
+      path = fetchurl {
+        name = "is-glob-3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz";
+        sha1 = "7ba5ae24217804ac70707b96922567486cc3e84a";
+      };
+    }
+
+    {
+      name = "is-my-json-valid-2.15.0.tgz";
+      path = fetchurl {
+        name = "is-my-json-valid-2.15.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz";
+        sha1 = "936edda3ca3c211fd98f3b2d3e08da43f7b2915b";
+      };
+    }
+
+    {
+      name = "is-npm-1.0.0.tgz";
+      path = fetchurl {
+        name = "is-npm-1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz";
+        sha1 = "f2fb63a65e4905b406c86072765a1a4dc793b9f4";
+      };
+    }
+
+    {
+      name = "is-number-0.1.1.tgz";
+      path = fetchurl {
+        name = "is-number-0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-number/-/is-number-0.1.1.tgz";
+        sha1 = "69a7af116963d47206ec9bd9b48a14216f1e3806";
+      };
+    }
+
+    {
+      name = "is-number-2.1.0.tgz";
+      path = fetchurl {
+        name = "is-number-2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz";
+        sha1 = "01fcbbb393463a548f2f466cce16dece49db908f";
+      };
+    }
+
+    {
+      name = "is-path-cwd-1.0.0.tgz";
+      path = fetchurl {
+        name = "is-path-cwd-1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz";
+        sha1 = "d225ec23132e89edd38fda767472e62e65f1106d";
+      };
+    }
+
+    {
+      name = "is-path-in-cwd-1.0.0.tgz";
+      path = fetchurl {
+        name = "is-path-in-cwd-1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz";
+        sha1 = "6477582b8214d602346094567003be8a9eac04dc";
+      };
+    }
+
+    {
+      name = "is-path-inside-1.0.0.tgz";
+      path = fetchurl {
+        name = "is-path-inside-1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.0.tgz";
+        sha1 = "fc06e5a1683fbda13de667aff717bbc10a48f37f";
+      };
+    }
+
+    {
+      name = "is-plain-obj-1.1.0.tgz";
+      path = fetchurl {
+        name = "is-plain-obj-1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz";
+        sha1 = "71a50c8429dfca773c92a390a4a03b39fcd51d3e";
+      };
+    }
+
+    {
+      name = "is-posix-bracket-0.1.1.tgz";
+      path = fetchurl {
+        name = "is-posix-bracket-0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz";
+        sha1 = "3334dc79774368e92f016e6fbc0a88f5cd6e6bc4";
+      };
+    }
+
+    {
+      name = "is-primitive-2.0.0.tgz";
+      path = fetchurl {
+        name = "is-primitive-2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz";
+        sha1 = "207bab91638499c07b2adf240a41a87210034575";
+      };
+    }
+
+    {
+      name = "is-property-1.0.2.tgz";
+      path = fetchurl {
+        name = "is-property-1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz";
+        sha1 = "57fe1c4e48474edd65b09911f26b1cd4095dda84";
+      };
+    }
+
+    {
+      name = "is-redirect-1.0.0.tgz";
+      path = fetchurl {
+        name = "is-redirect-1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz";
+        sha1 = "1d03dded53bd8db0f30c26e4f95d36fc7c87dc24";
+      };
+    }
+
+    {
+      name = "is-relative-0.2.1.tgz";
+      path = fetchurl {
+        name = "is-relative-0.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-relative/-/is-relative-0.2.1.tgz";
+        sha1 = "d27f4c7d516d175fb610db84bbeef23c3bc97aa5";
+      };
+    }
+
+    {
+      name = "is-resolvable-1.0.0.tgz";
+      path = fetchurl {
+        name = "is-resolvable-1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.0.0.tgz";
+        sha1 = "8df57c61ea2e3c501408d100fb013cf8d6e0cc62";
+      };
+    }
+
+    {
+      name = "is-stream-1.1.0.tgz";
+      path = fetchurl {
+        name = "is-stream-1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz";
+        sha1 = "12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44";
+      };
+    }
+
+    {
+      name = "is-svg-2.1.0.tgz";
+      path = fetchurl {
+        name = "is-svg-2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-svg/-/is-svg-2.1.0.tgz";
+        sha1 = "cf61090da0d9efbcab8722deba6f032208dbb0e9";
+      };
+    }
+
+    {
+      name = "is-typedarray-1.0.0.tgz";
+      path = fetchurl {
+        name = "is-typedarray-1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz";
+        sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a";
+      };
+    }
+
+    {
+      name = "is-unc-path-0.1.2.tgz";
+      path = fetchurl {
+        name = "is-unc-path-0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-0.1.2.tgz";
+        sha1 = "6ab053a72573c10250ff416a3814c35178af39b9";
+      };
+    }
+
+    {
+      name = "is-utf8-0.2.1.tgz";
+      path = fetchurl {
+        name = "is-utf8-0.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz";
+        sha1 = "4b0da1442104d1b336340e80797e865cf39f7d72";
+      };
+    }
+
+    {
+      name = "is-windows-0.2.0.tgz";
+      path = fetchurl {
+        name = "is-windows-0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-windows/-/is-windows-0.2.0.tgz";
+        sha1 = "de1aa6d63ea29dd248737b69f1ff8b8002d2108c";
+      };
+    }
+
+    {
+      name = "isarray-0.0.1.tgz";
+      path = fetchurl {
+        name = "isarray-0.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz";
+        sha1 = "8a18acfca9a8f4177e09abfc6038939b05d1eedf";
+      };
+    }
+
+    {
+      name = "isarray-1.0.0.tgz";
+      path = fetchurl {
+        name = "isarray-1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz";
+        sha1 = "bb935d48582cba168c06834957a54a3e07124f11";
+      };
+    }
+
+    {
+      name = "isbinaryfile-3.0.2.tgz";
+      path = fetchurl {
+        name = "isbinaryfile-3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-3.0.2.tgz";
+        sha1 = "4a3e974ec0cba9004d3fc6cde7209ea69368a621";
+      };
+    }
+
+    {
+      name = "isexe-1.1.2.tgz";
+      path = fetchurl {
+        name = "isexe-1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/isexe/-/isexe-1.1.2.tgz";
+        sha1 = "36f3e22e60750920f5e7241a476a8c6a42275ad0";
+      };
+    }
+
+    {
+      name = "isobject-2.1.0.tgz";
+      path = fetchurl {
+        name = "isobject-2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz";
+        sha1 = "f065561096a3f1da2ef46272f815c840d87e0c89";
+      };
+    }
+
+    {
+      name = "isstream-0.1.2.tgz";
+      path = fetchurl {
+        name = "isstream-0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz";
+        sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a";
+      };
+    }
+
+    {
+      name = "istanbul-api-1.1.1.tgz";
+      path = fetchurl {
+        name = "istanbul-api-1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-1.1.1.tgz";
+        sha1 = "d36e2f1560d1a43ce304c4ff7338182de61c8f73";
+      };
+    }
+
+    {
+      name = "istanbul-lib-coverage-1.0.1.tgz";
+      path = fetchurl {
+        name = "istanbul-lib-coverage-1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.0.1.tgz";
+        sha1 = "f263efb519c051c5f1f3343034fc40e7b43ff212";
+      };
+    }
+
+    {
+      name = "istanbul-lib-hook-1.0.0.tgz";
+      path = fetchurl {
+        name = "istanbul-lib-hook-1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-1.0.0.tgz";
+        sha1 = "fc5367ee27f59268e8f060b0c7aaf051d9c425c5";
+      };
+    }
+
+    {
+      name = "istanbul-lib-instrument-1.4.2.tgz";
+      path = fetchurl {
+        name = "istanbul-lib-instrument-1.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.4.2.tgz";
+        sha1 = "0e2fdfac93c1dabf2e31578637dc78a19089f43e";
+      };
+    }
+
+    {
+      name = "istanbul-lib-report-1.0.0-alpha.3.tgz";
+      path = fetchurl {
+        name = "istanbul-lib-report-1.0.0-alpha.3.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-1.0.0-alpha.3.tgz";
+        sha1 = "32d5f6ec7f33ca3a602209e278b2e6ff143498af";
+      };
+    }
+
+    {
+      name = "istanbul-lib-source-maps-1.1.0.tgz";
+      path = fetchurl {
+        name = "istanbul-lib-source-maps-1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.1.0.tgz";
+        sha1 = "9d429218f35b823560ea300a96ff0c3bbdab785f";
+      };
+    }
+
+    {
+      name = "istanbul-reports-1.0.1.tgz";
+      path = fetchurl {
+        name = "istanbul-reports-1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.0.1.tgz";
+        sha1 = "9a17176bc4a6cbebdae52b2f15961d52fa623fbc";
+      };
+    }
+
+    {
+      name = "istanbul-0.4.5.tgz";
+      path = fetchurl {
+        name = "istanbul-0.4.5.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul/-/istanbul-0.4.5.tgz";
+        sha1 = "65c7d73d4c4da84d4f3ac310b918fb0b8033733b";
+      };
+    }
+
+    {
+      name = "jasmine-core-2.6.3.tgz";
+      path = fetchurl {
+        name = "jasmine-core-2.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-2.6.3.tgz";
+        sha1 = "45072950e4a42b1e322fe55c001100a465d77815";
+      };
+    }
+
+    {
+      name = "jasmine-jquery-2.1.1.tgz";
+      path = fetchurl {
+        name = "jasmine-jquery-2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/jasmine-jquery/-/jasmine-jquery-2.1.1.tgz";
+        sha1 = "d4095e646944a26763235769ab018d9f30f0d47b";
+      };
+    }
+
+    {
+      name = "jed-1.1.1.tgz";
+      path = fetchurl {
+        name = "jed-1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/jed/-/jed-1.1.1.tgz";
+        sha1 = "7a549bbd9ffe1585b0cd0a191e203055bee574b4";
+      };
+    }
+
+    {
+      name = "jodid25519-1.0.2.tgz";
+      path = fetchurl {
+        name = "jodid25519-1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/jodid25519/-/jodid25519-1.0.2.tgz";
+        sha1 = "06d4912255093419477d425633606e0e90782967";
+      };
+    }
+
+    {
+      name = "jquery-ujs-1.2.1.tgz";
+      path = fetchurl {
+        name = "jquery-ujs-1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/jquery-ujs/-/jquery-ujs-1.2.1.tgz";
+        sha1 = "6ee75b1ef4e9ac95e7124f8d71f7d351f5548e92";
+      };
+    }
+
+    {
+      name = "jquery-2.2.1.tgz";
+      path = fetchurl {
+        name = "jquery-2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/jquery/-/jquery-2.2.1.tgz";
+        sha1 = "3c3e16854ad3d2ac44ac65021b17426d22ad803f";
+      };
+    }
+
+    {
+      name = "js-base64-2.1.9.tgz";
+      path = fetchurl {
+        name = "js-base64-2.1.9.tgz";
+        url  = "https://registry.yarnpkg.com/js-base64/-/js-base64-2.1.9.tgz";
+        sha1 = "f0e80ae039a4bd654b5f281fc93f04a914a7fcce";
+      };
+    }
+
+    {
+      name = "js-beautify-1.6.12.tgz";
+      path = fetchurl {
+        name = "js-beautify-1.6.12.tgz";
+        url  = "https://registry.yarnpkg.com/js-beautify/-/js-beautify-1.6.12.tgz";
+        sha1 = "78b75933505d376da6e5a28e9b7887e0094db8b5";
+      };
+    }
+
+    {
+      name = "js-cookie-2.1.3.tgz";
+      path = fetchurl {
+        name = "js-cookie-2.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/js-cookie/-/js-cookie-2.1.3.tgz";
+        sha1 = "48071625217ac9ecfab8c343a13d42ec09ff0526";
+      };
+    }
+
+    {
+      name = "js-tokens-3.0.1.tgz";
+      path = fetchurl {
+        name = "js-tokens-3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz";
+        sha1 = "08e9f132484a2c45a30907e9dc4d5567b7f114d7";
+      };
+    }
+
+    {
+      name = "js-yaml-3.8.1.tgz";
+      path = fetchurl {
+        name = "js-yaml-3.8.1.tgz";
+        url  = "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.8.1.tgz";
+        sha1 = "782ba50200be7b9e5a8537001b7804db3ad02628";
+      };
+    }
+
+    {
+      name = "js-yaml-3.7.0.tgz";
+      path = fetchurl {
+        name = "js-yaml-3.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz";
+        sha1 = "5c967ddd837a9bfdca5f2de84253abe8a1c03b80";
+      };
+    }
+
+    {
+      name = "jsbn-0.1.0.tgz";
+      path = fetchurl {
+        name = "jsbn-0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.0.tgz";
+        sha1 = "650987da0dd74f4ebf5a11377a2aa2d273e97dfd";
+      };
+    }
+
+    {
+      name = "jsesc-1.3.0.tgz";
+      path = fetchurl {
+        name = "jsesc-1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz";
+        sha1 = "46c3fec8c1892b12b0833db9bc7622176dbab34b";
+      };
+    }
+
+    {
+      name = "jsesc-0.5.0.tgz";
+      path = fetchurl {
+        name = "jsesc-0.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz";
+        sha1 = "e7dee66e35d6fc16f710fe91d5cf69f70f08911d";
+      };
+    }
+
+    {
+      name = "json-loader-0.5.4.tgz";
+      path = fetchurl {
+        name = "json-loader-0.5.4.tgz";
+        url  = "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.4.tgz";
+        sha1 = "8baa1365a632f58a3c46d20175fc6002c96e37de";
+      };
+    }
+
+    {
+      name = "json-schema-0.2.3.tgz";
+      path = fetchurl {
+        name = "json-schema-0.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz";
+        sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13";
+      };
+    }
+
+    {
+      name = "json-stable-stringify-1.0.1.tgz";
+      path = fetchurl {
+        name = "json-stable-stringify-1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz";
+        sha1 = "9a759d39c5f2ff503fd5300646ed445f88c4f9af";
+      };
+    }
+
+    {
+      name = "json-stringify-safe-5.0.1.tgz";
+      path = fetchurl {
+        name = "json-stringify-safe-5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz";
+        sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb";
+      };
+    }
+
+    {
+      name = "json3-3.3.2.tgz";
+      path = fetchurl {
+        name = "json3-3.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz";
+        sha1 = "3c0434743df93e2f5c42aee7b19bcb483575f4e1";
+      };
+    }
+
+    {
+      name = "json5-0.5.1.tgz";
+      path = fetchurl {
+        name = "json5-0.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz";
+        sha1 = "1eade7acc012034ad84e2396767ead9fa5495821";
+      };
+    }
+
+    {
+      name = "jsonify-0.0.0.tgz";
+      path = fetchurl {
+        name = "jsonify-0.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz";
+        sha1 = "2c74b6ee41d93ca51b7b5aaee8f503631d252a73";
+      };
+    }
+
+    {
+      name = "jsonpointer-4.0.1.tgz";
+      path = fetchurl {
+        name = "jsonpointer-4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz";
+        sha1 = "4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9";
+      };
+    }
+
+    {
+      name = "jsprim-1.3.1.tgz";
+      path = fetchurl {
+        name = "jsprim-1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/jsprim/-/jsprim-1.3.1.tgz";
+        sha1 = "2a7256f70412a29ee3670aaca625994c4dcff252";
+      };
+    }
+
+    {
+      name = "jszip-utils-0.0.2.tgz";
+      path = fetchurl {
+        name = "jszip-utils-0.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/jszip-utils/-/jszip-utils-0.0.2.tgz";
+        sha1 = "457d5cbca60a1c2e0706e9da2b544e8e7bc50bf8";
+      };
+    }
+
+    {
+      name = "jszip-3.1.3.tgz";
+      path = fetchurl {
+        name = "jszip-3.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/jszip/-/jszip-3.1.3.tgz";
+        sha1 = "8a920403b2b1651c0fc126be90192d9080957c37";
+      };
+    }
+
+    {
+      name = "karma-chrome-launcher-2.1.1.tgz";
+      path = fetchurl {
+        name = "karma-chrome-launcher-2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/karma-chrome-launcher/-/karma-chrome-launcher-2.1.1.tgz";
+        sha1 = "216879c68ac04d8d5140e99619ba04b59afd46cf";
+      };
+    }
+
+    {
+      name = "karma-coverage-istanbul-reporter-0.2.0.tgz";
+      path = fetchurl {
+        name = "karma-coverage-istanbul-reporter-0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-0.2.0.tgz";
+        sha1 = "5766263338adeb0026f7e4ac7a89a5f056c5642c";
+      };
+    }
+
+    {
+      name = "karma-jasmine-1.1.0.tgz";
+      path = fetchurl {
+        name = "karma-jasmine-1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/karma-jasmine/-/karma-jasmine-1.1.0.tgz";
+        sha1 = "22e4c06bf9a182e5294d1f705e3733811b810acf";
+      };
+    }
+
+    {
+      name = "karma-mocha-reporter-2.2.2.tgz";
+      path = fetchurl {
+        name = "karma-mocha-reporter-2.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/karma-mocha-reporter/-/karma-mocha-reporter-2.2.2.tgz";
+        sha1 = "876de9a287244e54a608591732a98e66611f6abe";
+      };
+    }
+
+    {
+      name = "karma-sourcemap-loader-0.3.7.tgz";
+      path = fetchurl {
+        name = "karma-sourcemap-loader-0.3.7.tgz";
+        url  = "https://registry.yarnpkg.com/karma-sourcemap-loader/-/karma-sourcemap-loader-0.3.7.tgz";
+        sha1 = "91322c77f8f13d46fed062b042e1009d4c4505d8";
+      };
+    }
+
+    {
+      name = "karma-webpack-2.0.2.tgz";
+      path = fetchurl {
+        name = "karma-webpack-2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/karma-webpack/-/karma-webpack-2.0.2.tgz";
+        sha1 = "bd38350af5645c9644090770939ebe7ce726f864";
+      };
+    }
+
+    {
+      name = "karma-1.7.0.tgz";
+      path = fetchurl {
+        name = "karma-1.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/karma/-/karma-1.7.0.tgz";
+        sha1 = "6f7a1a406446fa2e187ec95398698f4cee476269";
+      };
+    }
+
+    {
+      name = "kind-of-3.1.0.tgz";
+      path = fetchurl {
+        name = "kind-of-3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/kind-of/-/kind-of-3.1.0.tgz";
+        sha1 = "475d698a5e49ff5e53d14e3e732429dc8bf4cf47";
+      };
+    }
+
+    {
+      name = "latest-version-1.0.1.tgz";
+      path = fetchurl {
+        name = "latest-version-1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/latest-version/-/latest-version-1.0.1.tgz";
+        sha1 = "72cfc46e3e8d1be651e1ebb54ea9f6ea96f374bb";
+      };
+    }
+
+    {
+      name = "lazy-cache-1.0.4.tgz";
+      path = fetchurl {
+        name = "lazy-cache-1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz";
+        sha1 = "a1d78fc3a50474cb80845d3b3b6e1da49a446e8e";
+      };
+    }
+
+    {
+      name = "lcid-1.0.0.tgz";
+      path = fetchurl {
+        name = "lcid-1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz";
+        sha1 = "308accafa0bc483a3867b4b6f2b9506251d1b835";
+      };
+    }
+
+    {
+      name = "levn-0.3.0.tgz";
+      path = fetchurl {
+        name = "levn-0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz";
+        sha1 = "3b09924edf9f083c0490fdd4c0bc4421e04764ee";
+      };
+    }
+
+    {
+      name = "lie-3.1.1.tgz";
+      path = fetchurl {
+        name = "lie-3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/lie/-/lie-3.1.1.tgz";
+        sha1 = "9a436b2cc7746ca59de7a41fa469b3efb76bd87e";
+      };
+    }
+
+    {
+      name = "load-json-file-1.1.0.tgz";
+      path = fetchurl {
+        name = "load-json-file-1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz";
+        sha1 = "956905708d58b4bab4c2261b04f59f31c99374c0";
+      };
+    }
+
+    {
+      name = "loader-runner-2.3.0.tgz";
+      path = fetchurl {
+        name = "loader-runner-2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz";
+        sha1 = "f482aea82d543e07921700d5a46ef26fdac6b8a2";
+      };
+    }
+
+    {
+      name = "loader-utils-0.2.16.tgz";
+      path = fetchurl {
+        name = "loader-utils-0.2.16.tgz";
+        url  = "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.16.tgz";
+        sha1 = "f08632066ed8282835dff88dfb52704765adee6d";
+      };
+    }
+
+    {
+      name = "loader-utils-1.1.0.tgz";
+      path = fetchurl {
+        name = "loader-utils-1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.1.0.tgz";
+        sha1 = "c98aef488bcceda2ffb5e2de646d6a754429f5cd";
+      };
+    }
+
+    {
+      name = "locate-path-2.0.0.tgz";
+      path = fetchurl {
+        name = "locate-path-2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz";
+        sha1 = "2b568b265eec944c6d9c0de9c3dbbbca0354cd8e";
+      };
+    }
+
+    {
+      name = "lodash._baseassign-3.2.0.tgz";
+      path = fetchurl {
+        name = "lodash._baseassign-3.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz";
+        sha1 = "8c38a099500f215ad09e59f1722fd0c52bfe0a4e";
+      };
+    }
+
+    {
+      name = "lodash._basecopy-3.0.1.tgz";
+      path = fetchurl {
+        name = "lodash._basecopy-3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz";
+        sha1 = "8da0e6a876cf344c0ad8a54882111dd3c5c7ca36";
+      };
+    }
+
+    {
+      name = "lodash._baseget-3.7.2.tgz";
+      path = fetchurl {
+        name = "lodash._baseget-3.7.2.tgz";
+        url  = "https://registry.yarnpkg.com/lodash._baseget/-/lodash._baseget-3.7.2.tgz";
+        sha1 = "1b6ae1d5facf3c25532350a13c1197cb8bb674f4";
+      };
+    }
+
+    {
+      name = "lodash._bindcallback-3.0.1.tgz";
+      path = fetchurl {
+        name = "lodash._bindcallback-3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz";
+        sha1 = "e531c27644cf8b57a99e17ed95b35c748789392e";
+      };
+    }
+
+    {
+      name = "lodash._createassigner-3.1.1.tgz";
+      path = fetchurl {
+        name = "lodash._createassigner-3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/lodash._createassigner/-/lodash._createassigner-3.1.1.tgz";
+        sha1 = "838a5bae2fdaca63ac22dee8e19fa4e6d6970b11";
+      };
+    }
+
+    {
+      name = "lodash._getnative-3.9.1.tgz";
+      path = fetchurl {
+        name = "lodash._getnative-3.9.1.tgz";
+        url  = "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz";
+        sha1 = "570bc7dede46d61cdcde687d65d3eecbaa3aaff5";
+      };
+    }
+
+    {
+      name = "lodash._isiterateecall-3.0.9.tgz";
+      path = fetchurl {
+        name = "lodash._isiterateecall-3.0.9.tgz";
+        url  = "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz";
+        sha1 = "5203ad7ba425fae842460e696db9cf3e6aac057c";
+      };
+    }
+
+    {
+      name = "lodash._topath-3.8.1.tgz";
+      path = fetchurl {
+        name = "lodash._topath-3.8.1.tgz";
+        url  = "https://registry.yarnpkg.com/lodash._topath/-/lodash._topath-3.8.1.tgz";
+        sha1 = "3ec5e2606014f4cb97f755fe6914edd8bfc00eac";
+      };
+    }
+
+    {
+      name = "lodash.assign-3.2.0.tgz";
+      path = fetchurl {
+        name = "lodash.assign-3.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-3.2.0.tgz";
+        sha1 = "3ce9f0234b4b2223e296b8fa0ac1fee8ebca64fa";
+      };
+    }
+
+    {
+      name = "lodash.camelcase-4.1.1.tgz";
+      path = fetchurl {
+        name = "lodash.camelcase-4.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.1.1.tgz";
+        sha1 = "065b3ff08f0b7662f389934c46a5504c90e0b2d8";
+      };
+    }
+
+    {
+      name = "lodash.camelcase-4.3.0.tgz";
+      path = fetchurl {
+        name = "lodash.camelcase-4.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz";
+        sha1 = "b28aa6288a2b9fc651035c7711f65ab6190331a6";
+      };
+    }
+
+    {
+      name = "lodash.capitalize-4.2.1.tgz";
+      path = fetchurl {
+        name = "lodash.capitalize-4.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.capitalize/-/lodash.capitalize-4.2.1.tgz";
+        sha1 = "f826c9b4e2a8511d84e3aca29db05e1a4f3b72a9";
+      };
+    }
+
+    {
+      name = "lodash.cond-4.5.2.tgz";
+      path = fetchurl {
+        name = "lodash.cond-4.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.cond/-/lodash.cond-4.5.2.tgz";
+        sha1 = "f471a1da486be60f6ab955d17115523dd1d255d5";
+      };
+    }
+
+    {
+      name = "lodash.deburr-4.1.0.tgz";
+      path = fetchurl {
+        name = "lodash.deburr-4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.deburr/-/lodash.deburr-4.1.0.tgz";
+        sha1 = "ddb1bbb3ef07458c0177ba07de14422cb033ff9b";
+      };
+    }
+
+    {
+      name = "lodash.defaults-3.1.2.tgz";
+      path = fetchurl {
+        name = "lodash.defaults-3.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-3.1.2.tgz";
+        sha1 = "c7308b18dbf8bc9372d701a73493c61192bd2e2c";
+      };
+    }
+
+    {
+      name = "lodash.get-4.4.2.tgz";
+      path = fetchurl {
+        name = "lodash.get-4.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz";
+        sha1 = "2d177f652fa31e939b4438d5341499dfa3825e99";
+      };
+    }
+
+    {
+      name = "lodash.get-3.7.0.tgz";
+      path = fetchurl {
+        name = "lodash.get-3.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.get/-/lodash.get-3.7.0.tgz";
+        sha1 = "3ce68ae2c91683b281cc5394128303cbf75e691f";
+      };
+    }
+
+    {
+      name = "lodash.isarguments-3.1.0.tgz";
+      path = fetchurl {
+        name = "lodash.isarguments-3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz";
+        sha1 = "2f573d85c6a24289ff00663b491c1d338ff3458a";
+      };
+    }
+
+    {
+      name = "lodash.isarray-3.0.4.tgz";
+      path = fetchurl {
+        name = "lodash.isarray-3.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz";
+        sha1 = "79e4eb88c36a8122af86f844aa9bcd851b5fbb55";
+      };
+    }
+
+    {
+      name = "lodash.kebabcase-4.0.1.tgz";
+      path = fetchurl {
+        name = "lodash.kebabcase-4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.kebabcase/-/lodash.kebabcase-4.0.1.tgz";
+        sha1 = "5e63bc9aa2a5562ff3b97ca7af2f803de1bcb90e";
+      };
+    }
+
+    {
+      name = "lodash.keys-3.1.2.tgz";
+      path = fetchurl {
+        name = "lodash.keys-3.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz";
+        sha1 = "4dbc0472b156be50a0b286855d1bd0b0c656098a";
+      };
+    }
+
+    {
+      name = "lodash.memoize-4.1.2.tgz";
+      path = fetchurl {
+        name = "lodash.memoize-4.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz";
+        sha1 = "bcc6c49a42a2840ed997f323eada5ecd182e0bfe";
+      };
+    }
+
+    {
+      name = "lodash.restparam-3.6.1.tgz";
+      path = fetchurl {
+        name = "lodash.restparam-3.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz";
+        sha1 = "936a4e309ef330a7645ed4145986c85ae5b20805";
+      };
+    }
+
+    {
+      name = "lodash.snakecase-4.0.1.tgz";
+      path = fetchurl {
+        name = "lodash.snakecase-4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.snakecase/-/lodash.snakecase-4.0.1.tgz";
+        sha1 = "bd012e5d2f93f7b58b9303e9a7fbfd5db13d6281";
+      };
+    }
+
+    {
+      name = "lodash.uniq-4.5.0.tgz";
+      path = fetchurl {
+        name = "lodash.uniq-4.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz";
+        sha1 = "d0225373aeb652adc1bc82e4945339a842754773";
+      };
+    }
+
+    {
+      name = "lodash.words-4.2.0.tgz";
+      path = fetchurl {
+        name = "lodash.words-4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.words/-/lodash.words-4.2.0.tgz";
+        sha1 = "5ecfeaf8ecf8acaa8e0c8386295f1993c9cf4036";
+      };
+    }
+
+    {
+      name = "lodash-3.10.1.tgz";
+      path = fetchurl {
+        name = "lodash-3.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz";
+        sha1 = "5bf45e8e49ba4189e17d482789dfd15bd140b7b6";
+      };
+    }
+
+    {
+      name = "lodash-4.17.4.tgz";
+      path = fetchurl {
+        name = "lodash-4.17.4.tgz";
+        url  = "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz";
+        sha1 = "78203a4d1c328ae1d86dca6460e369b57f4055ae";
+      };
+    }
+
+    {
+      name = "log4js-0.6.38.tgz";
+      path = fetchurl {
+        name = "log4js-0.6.38.tgz";
+        url  = "https://registry.yarnpkg.com/log4js/-/log4js-0.6.38.tgz";
+        sha1 = "2c494116695d6fb25480943d3fc872e662a522fd";
+      };
+    }
+
+    {
+      name = "longest-1.0.1.tgz";
+      path = fetchurl {
+        name = "longest-1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz";
+        sha1 = "30a0b2da38f73770e8294a0d22e6625ed77d0097";
+      };
+    }
+
+    {
+      name = "loose-envify-1.3.1.tgz";
+      path = fetchurl {
+        name = "loose-envify-1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz";
+        sha1 = "d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848";
+      };
+    }
+
+    {
+      name = "lowercase-keys-1.0.0.tgz";
+      path = fetchurl {
+        name = "lowercase-keys-1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz";
+        sha1 = "4e3366b39e7f5457e35f1324bdf6f88d0bfc7306";
+      };
+    }
+
+    {
+      name = "lru-cache-2.2.4.tgz";
+      path = fetchurl {
+        name = "lru-cache-2.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.2.4.tgz";
+        sha1 = "6c658619becf14031d0d0b594b16042ce4dc063d";
+      };
+    }
+
+    {
+      name = "lru-cache-3.2.0.tgz";
+      path = fetchurl {
+        name = "lru-cache-3.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/lru-cache/-/lru-cache-3.2.0.tgz";
+        sha1 = "71789b3b7f5399bec8565dda38aa30d2a097efee";
+      };
+    }
+
+    {
+      name = "lru-cache-4.0.2.tgz";
+      path = fetchurl {
+        name = "lru-cache-4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.0.2.tgz";
+        sha1 = "1d17679c069cda5d040991a09dbc2c0db377e55e";
+      };
+    }
+
+    {
+      name = "macaddress-0.2.8.tgz";
+      path = fetchurl {
+        name = "macaddress-0.2.8.tgz";
+        url  = "https://registry.yarnpkg.com/macaddress/-/macaddress-0.2.8.tgz";
+        sha1 = "5904dc537c39ec6dbefeae902327135fa8511f12";
+      };
+    }
+
+    {
+      name = "map-stream-0.1.0.tgz";
+      path = fetchurl {
+        name = "map-stream-0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz";
+        sha1 = "e56aa94c4c8055a16404a0674b78f215f7c8e194";
+      };
+    }
+
+    {
+      name = "marked-0.3.6.tgz";
+      path = fetchurl {
+        name = "marked-0.3.6.tgz";
+        url  = "https://registry.yarnpkg.com/marked/-/marked-0.3.6.tgz";
+        sha1 = "b2c6c618fccece4ef86c4fc6cb8a7cbf5aeda8d7";
+      };
+    }
+
+    {
+      name = "math-expression-evaluator-1.2.16.tgz";
+      path = fetchurl {
+        name = "math-expression-evaluator-1.2.16.tgz";
+        url  = "https://registry.yarnpkg.com/math-expression-evaluator/-/math-expression-evaluator-1.2.16.tgz";
+        sha1 = "b357fa1ca9faefb8e48d10c14ef2bcb2d9f0a7c9";
+      };
+    }
+
+    {
+      name = "media-typer-0.3.0.tgz";
+      path = fetchurl {
+        name = "media-typer-0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz";
+        sha1 = "8710d7af0aa626f8fffa1ce00168545263255748";
+      };
+    }
+
+    {
+      name = "memory-fs-0.2.0.tgz";
+      path = fetchurl {
+        name = "memory-fs-0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.2.0.tgz";
+        sha1 = "f2bb25368bc121e391c2520de92969caee0a0290";
+      };
+    }
+
+    {
+      name = "memory-fs-0.4.1.tgz";
+      path = fetchurl {
+        name = "memory-fs-0.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz";
+        sha1 = "3a9a20b8462523e447cfbc7e8bb80ed667bfc552";
+      };
+    }
+
+    {
+      name = "merge-descriptors-1.0.1.tgz";
+      path = fetchurl {
+        name = "merge-descriptors-1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz";
+        sha1 = "b00aaa556dd8b44568150ec9d1b953f3f90cbb61";
+      };
+    }
+
+    {
+      name = "methods-1.1.2.tgz";
+      path = fetchurl {
+        name = "methods-1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz";
+        sha1 = "5529a4d67654134edcc5266656835b0f851afcee";
+      };
+    }
+
+    {
+      name = "micromatch-2.3.11.tgz";
+      path = fetchurl {
+        name = "micromatch-2.3.11.tgz";
+        url  = "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz";
+        sha1 = "86677c97d1720b363431d04d0d15293bd38c1565";
+      };
+    }
+
+    {
+      name = "miller-rabin-4.0.0.tgz";
+      path = fetchurl {
+        name = "miller-rabin-4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.0.tgz";
+        sha1 = "4a62fb1d42933c05583982f4c716f6fb9e6c6d3d";
+      };
+    }
+
+    {
+      name = "mime-db-1.26.0.tgz";
+      path = fetchurl {
+        name = "mime-db-1.26.0.tgz";
+        url  = "https://registry.yarnpkg.com/mime-db/-/mime-db-1.26.0.tgz";
+        sha1 = "eaffcd0e4fc6935cf8134da246e2e6c35305adff";
+      };
+    }
+
+    {
+      name = "mime-db-1.27.0.tgz";
+      path = fetchurl {
+        name = "mime-db-1.27.0.tgz";
+        url  = "https://registry.yarnpkg.com/mime-db/-/mime-db-1.27.0.tgz";
+        sha1 = "820f572296bbd20ec25ed55e5b5de869e5436eb1";
+      };
+    }
+
+    {
+      name = "mime-types-2.1.15.tgz";
+      path = fetchurl {
+        name = "mime-types-2.1.15.tgz";
+        url  = "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.15.tgz";
+        sha1 = "a4ebf5064094569237b8cf70046776d09fc92aed";
+      };
+    }
+
+    {
+      name = "mime-types-2.1.14.tgz";
+      path = fetchurl {
+        name = "mime-types-2.1.14.tgz";
+        url  = "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.14.tgz";
+        sha1 = "f7ef7d97583fcaf3b7d282b6f8b5679dab1e94ee";
+      };
+    }
+
+    {
+      name = "mime-1.3.4.tgz";
+      path = fetchurl {
+        name = "mime-1.3.4.tgz";
+        url  = "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz";
+        sha1 = "115f9e3b6b3daf2959983cb38f149a2d40eb5d53";
+      };
+    }
+
+    {
+      name = "minimalistic-assert-1.0.0.tgz";
+      path = fetchurl {
+        name = "minimalistic-assert-1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz";
+        sha1 = "702be2dda6b37f4836bcb3f5db56641b64a1d3d3";
+      };
+    }
+
+    {
+      name = "minimatch-3.0.3.tgz";
+      path = fetchurl {
+        name = "minimatch-3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz";
+        sha1 = "2a4e4090b96b2db06a9d7df01055a62a77c9b774";
+      };
+    }
+
+    {
+      name = "minimist-0.0.8.tgz";
+      path = fetchurl {
+        name = "minimist-0.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz";
+        sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
+      };
+    }
+
+    {
+      name = "minimist-1.2.0.tgz";
+      path = fetchurl {
+        name = "minimist-1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz";
+        sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284";
+      };
+    }
+
+    {
+      name = "mkdirp-0.5.1.tgz";
+      path = fetchurl {
+        name = "mkdirp-0.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz";
+        sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903";
+      };
+    }
+
+    {
+      name = "moment-2.17.1.tgz";
+      path = fetchurl {
+        name = "moment-2.17.1.tgz";
+        url  = "https://registry.yarnpkg.com/moment/-/moment-2.17.1.tgz";
+        sha1 = "fed9506063f36b10f066c8b59a144d7faebe1d82";
+      };
+    }
+
+    {
+      name = "mousetrap-1.4.6.tgz";
+      path = fetchurl {
+        name = "mousetrap-1.4.6.tgz";
+        url  = "https://registry.yarnpkg.com/mousetrap/-/mousetrap-1.4.6.tgz";
+        sha1 = "eaca72e22e56d5b769b7555873b688c3332e390a";
+      };
+    }
+
+    {
+      name = "ms-0.7.1.tgz";
+      path = fetchurl {
+        name = "ms-0.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz";
+        sha1 = "9cd13c03adbff25b65effde7ce864ee952017098";
+      };
+    }
+
+    {
+      name = "ms-0.7.2.tgz";
+      path = fetchurl {
+        name = "ms-0.7.2.tgz";
+        url  = "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz";
+        sha1 = "ae25cf2512b3885a1d95d7f037868d8431124765";
+      };
+    }
+
+    {
+      name = "ms-2.0.0.tgz";
+      path = fetchurl {
+        name = "ms-2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz";
+        sha1 = "5608aeadfc00be6c2901df5f9861788de0d597c8";
+      };
+    }
+
+    {
+      name = "mute-stream-0.0.5.tgz";
+      path = fetchurl {
+        name = "mute-stream-0.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz";
+        sha1 = "8fbfabb0a98a253d3184331f9e8deb7372fac6c0";
+      };
+    }
+
+    {
+      name = "name-all-modules-plugin-1.0.1.tgz";
+      path = fetchurl {
+        name = "name-all-modules-plugin-1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/name-all-modules-plugin/-/name-all-modules-plugin-1.0.1.tgz";
+        sha1 = "0abfb6ad835718b9fb4def0674e06657a954375c";
+      };
+    }
+
+    {
+      name = "nan-2.5.1.tgz";
+      path = fetchurl {
+        name = "nan-2.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/nan/-/nan-2.5.1.tgz";
+        sha1 = "d5b01691253326a97a2bbee9e61c55d8d60351e2";
+      };
+    }
+
+    {
+      name = "natural-compare-1.4.0.tgz";
+      path = fetchurl {
+        name = "natural-compare-1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz";
+        sha1 = "4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7";
+      };
+    }
+
+    {
+      name = "negotiator-0.6.1.tgz";
+      path = fetchurl {
+        name = "negotiator-0.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz";
+        sha1 = "2b327184e8992101177b28563fb5e7102acd0ca9";
+      };
+    }
+
+    {
+      name = "nested-error-stacks-1.0.2.tgz";
+      path = fetchurl {
+        name = "nested-error-stacks-1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/nested-error-stacks/-/nested-error-stacks-1.0.2.tgz";
+        sha1 = "19f619591519f096769a5ba9a86e6eeec823c3cf";
+      };
+    }
+
+    {
+      name = "node-ensure-0.0.0.tgz";
+      path = fetchurl {
+        name = "node-ensure-0.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/node-ensure/-/node-ensure-0.0.0.tgz";
+        sha1 = "ecae764150de99861ec5c810fd5d096b183932a7";
+      };
+    }
+
+    {
+      name = "node-libs-browser-1.1.1.tgz";
+      path = fetchurl {
+        name = "node-libs-browser-1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-1.1.1.tgz";
+        sha1 = "2a38243abedd7dffcd07a97c9aca5668975a6fea";
+      };
+    }
+
+    {
+      name = "node-libs-browser-2.0.0.tgz";
+      path = fetchurl {
+        name = "node-libs-browser-2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.0.0.tgz";
+        sha1 = "a3a59ec97024985b46e958379646f96c4b616646";
+      };
+    }
+
+    {
+      name = "node-pre-gyp-0.6.33.tgz";
+      path = fetchurl {
+        name = "node-pre-gyp-0.6.33.tgz";
+        url  = "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.33.tgz";
+        sha1 = "640ac55198f6a925972e0c16c4ac26a034d5ecc9";
+      };
+    }
+
+    {
+      name = "node-zopfli-2.0.2.tgz";
+      path = fetchurl {
+        name = "node-zopfli-2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/node-zopfli/-/node-zopfli-2.0.2.tgz";
+        sha1 = "a7a473ae92aaea85d4c68d45bbf2c944c46116b8";
+      };
+    }
+
+    {
+      name = "nodemon-1.11.0.tgz";
+      path = fetchurl {
+        name = "nodemon-1.11.0.tgz";
+        url  = "https://registry.yarnpkg.com/nodemon/-/nodemon-1.11.0.tgz";
+        sha1 = "226c562bd2a7b13d3d7518b49ad4828a3623d06c";
+      };
+    }
+
+    {
+      name = "nopt-3.0.6.tgz";
+      path = fetchurl {
+        name = "nopt-3.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz";
+        sha1 = "c6465dbf08abcd4db359317f79ac68a646b28ff9";
+      };
+    }
+
+    {
+      name = "nopt-1.0.10.tgz";
+      path = fetchurl {
+        name = "nopt-1.0.10.tgz";
+        url  = "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz";
+        sha1 = "6ddd21bd2a31417b92727dd585f8a6f37608ebee";
+      };
+    }
+
+    {
+      name = "normalize-package-data-2.3.5.tgz";
+      path = fetchurl {
+        name = "normalize-package-data-2.3.5.tgz";
+        url  = "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.5.tgz";
+        sha1 = "8d924f142960e1777e7ffe170543631cc7cb02df";
+      };
+    }
+
+    {
+      name = "normalize-path-2.0.1.tgz";
+      path = fetchurl {
+        name = "normalize-path-2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.0.1.tgz";
+        sha1 = "47886ac1662760d4261b7d979d241709d3ce3f7a";
+      };
+    }
+
+    {
+      name = "normalize-range-0.1.2.tgz";
+      path = fetchurl {
+        name = "normalize-range-0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz";
+        sha1 = "2d10c06bdfd312ea9777695a4d28439456b75942";
+      };
+    }
+
+    {
+      name = "normalize-url-1.9.1.tgz";
+      path = fetchurl {
+        name = "normalize-url-1.9.1.tgz";
+        url  = "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz";
+        sha1 = "2cc0d66b31ea23036458436e3620d85954c66c3c";
+      };
+    }
+
+    {
+      name = "npmlog-4.0.2.tgz";
+      path = fetchurl {
+        name = "npmlog-4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.2.tgz";
+        sha1 = "d03950e0e78ce1527ba26d2a7592e9348ac3e75f";
+      };
+    }
+
+    {
+      name = "null-check-1.0.0.tgz";
+      path = fetchurl {
+        name = "null-check-1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/null-check/-/null-check-1.0.0.tgz";
+        sha1 = "977dffd7176012b9ec30d2a39db5cf72a0439edd";
+      };
+    }
+
+    {
+      name = "num2fraction-1.2.2.tgz";
+      path = fetchurl {
+        name = "num2fraction-1.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz";
+        sha1 = "6f682b6a027a4e9ddfa4564cd2589d1d4e669ede";
+      };
+    }
+
+    {
+      name = "number-is-nan-1.0.1.tgz";
+      path = fetchurl {
+        name = "number-is-nan-1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz";
+        sha1 = "097b602b53422a522c1afb8790318336941a011d";
+      };
+    }
+
+    {
+      name = "oauth-sign-0.8.2.tgz";
+      path = fetchurl {
+        name = "oauth-sign-0.8.2.tgz";
+        url  = "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz";
+        sha1 = "46a6ab7f0aead8deae9ec0565780b7d4efeb9d43";
+      };
+    }
+
+    {
+      name = "object-assign-4.1.0.tgz";
+      path = fetchurl {
+        name = "object-assign-4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz";
+        sha1 = "7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0";
+      };
+    }
+
+    {
+      name = "object-assign-3.0.0.tgz";
+      path = fetchurl {
+        name = "object-assign-3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz";
+        sha1 = "9bedd5ca0897949bca47e7ff408062d549f587f2";
+      };
+    }
+
+    {
+      name = "object-assign-4.1.1.tgz";
+      path = fetchurl {
+        name = "object-assign-4.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz";
+        sha1 = "2109adc7965887cfc05cbbd442cac8bfbb360863";
+      };
+    }
+
+    {
+      name = "object-component-0.0.3.tgz";
+      path = fetchurl {
+        name = "object-component-0.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/object-component/-/object-component-0.0.3.tgz";
+        sha1 = "f0c69aa50efc95b866c186f400a33769cb2f1291";
+      };
+    }
+
+    {
+      name = "object.omit-2.0.1.tgz";
+      path = fetchurl {
+        name = "object.omit-2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz";
+        sha1 = "1a9c744829f39dbb858c76ca3579ae2a54ebd1fa";
+      };
+    }
+
+    {
+      name = "obuf-1.1.1.tgz";
+      path = fetchurl {
+        name = "obuf-1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/obuf/-/obuf-1.1.1.tgz";
+        sha1 = "104124b6c602c6796881a042541d36db43a5264e";
+      };
+    }
+
+    {
+      name = "on-finished-2.3.0.tgz";
+      path = fetchurl {
+        name = "on-finished-2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz";
+        sha1 = "20f1336481b083cd75337992a16971aa2d906947";
+      };
+    }
+
+    {
+      name = "on-headers-1.0.1.tgz";
+      path = fetchurl {
+        name = "on-headers-1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz";
+        sha1 = "928f5d0f470d49342651ea6794b0857c100693f7";
+      };
+    }
+
+    {
+      name = "once-1.4.0.tgz";
+      path = fetchurl {
+        name = "once-1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz";
+        sha1 = "583b1aa775961d4b113ac17d9c50baef9dd76bd1";
+      };
+    }
+
+    {
+      name = "once-1.3.3.tgz";
+      path = fetchurl {
+        name = "once-1.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz";
+        sha1 = "b2e261557ce4c314ec8304f3fa82663e4297ca20";
+      };
+    }
+
+    {
+      name = "onetime-1.1.0.tgz";
+      path = fetchurl {
+        name = "onetime-1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz";
+        sha1 = "a1f7838f8314c516f05ecefcbc4ccfe04b4ed789";
+      };
+    }
+
+    {
+      name = "opener-1.4.3.tgz";
+      path = fetchurl {
+        name = "opener-1.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/opener/-/opener-1.4.3.tgz";
+        sha1 = "5c6da2c5d7e5831e8ffa3964950f8d6674ac90b8";
+      };
+    }
+
+    {
+      name = "opn-4.0.2.tgz";
+      path = fetchurl {
+        name = "opn-4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/opn/-/opn-4.0.2.tgz";
+        sha1 = "7abc22e644dff63b0a96d5ab7f2790c0f01abc95";
+      };
+    }
+
+    {
+      name = "optimist-0.6.1.tgz";
+      path = fetchurl {
+        name = "optimist-0.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz";
+        sha1 = "da3ea74686fa21a19a111c326e90eb15a0196686";
+      };
+    }
+
+    {
+      name = "optionator-0.8.2.tgz";
+      path = fetchurl {
+        name = "optionator-0.8.2.tgz";
+        url  = "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz";
+        sha1 = "364c5e409d3f4d6301d6c0b4c05bba50180aeb64";
+      };
+    }
+
+    {
+      name = "options-0.0.6.tgz";
+      path = fetchurl {
+        name = "options-0.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/options/-/options-0.0.6.tgz";
+        sha1 = "ec22d312806bb53e731773e7cdaefcf1c643128f";
+      };
+    }
+
+    {
+      name = "original-1.0.0.tgz";
+      path = fetchurl {
+        name = "original-1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/original/-/original-1.0.0.tgz";
+        sha1 = "9147f93fa1696d04be61e01bd50baeaca656bd3b";
+      };
+    }
+
+    {
+      name = "os-browserify-0.2.1.tgz";
+      path = fetchurl {
+        name = "os-browserify-0.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.2.1.tgz";
+        sha1 = "63fc4ccee5d2d7763d26bbf8601078e6c2e0044f";
+      };
+    }
+
+    {
+      name = "os-homedir-1.0.2.tgz";
+      path = fetchurl {
+        name = "os-homedir-1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz";
+        sha1 = "ffbc4988336e0e833de0c168c7ef152121aa7fb3";
+      };
+    }
+
+    {
+      name = "os-locale-1.4.0.tgz";
+      path = fetchurl {
+        name = "os-locale-1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz";
+        sha1 = "20f9f17ae29ed345e8bde583b13d2009803c14d9";
+      };
+    }
+
+    {
+      name = "os-tmpdir-1.0.2.tgz";
+      path = fetchurl {
+        name = "os-tmpdir-1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz";
+        sha1 = "bbe67406c79aa85c5cfec766fe5734555dfa1274";
+      };
+    }
+
+    {
+      name = "osenv-0.1.4.tgz";
+      path = fetchurl {
+        name = "osenv-0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz";
+        sha1 = "42fe6d5953df06c8064be6f176c3d05aaaa34644";
+      };
+    }
+
+    {
+      name = "p-limit-1.1.0.tgz";
+      path = fetchurl {
+        name = "p-limit-1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-limit/-/p-limit-1.1.0.tgz";
+        sha1 = "b07ff2d9a5d88bec806035895a2bab66a27988bc";
+      };
+    }
+
+    {
+      name = "p-locate-2.0.0.tgz";
+      path = fetchurl {
+        name = "p-locate-2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz";
+        sha1 = "20a0103b222a70c8fd39cc2e580680f3dde5ec43";
+      };
+    }
+
+    {
+      name = "package-json-1.2.0.tgz";
+      path = fetchurl {
+        name = "package-json-1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/package-json/-/package-json-1.2.0.tgz";
+        sha1 = "c8ecac094227cdf76a316874ed05e27cc939a0e0";
+      };
+    }
+
+    {
+      name = "pako-0.2.9.tgz";
+      path = fetchurl {
+        name = "pako-0.2.9.tgz";
+        url  = "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz";
+        sha1 = "f3f7522f4ef782348da8161bad9ecfd51bf83a75";
+      };
+    }
+
+    {
+      name = "pako-1.0.5.tgz";
+      path = fetchurl {
+        name = "pako-1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/pako/-/pako-1.0.5.tgz";
+        sha1 = "d2205dfe5b9da8af797e7c163db4d1f84e4600bc";
+      };
+    }
+
+    {
+      name = "parse-asn1-5.0.0.tgz";
+      path = fetchurl {
+        name = "parse-asn1-5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.0.0.tgz";
+        sha1 = "35060f6d5015d37628c770f4e091a0b5a278bc23";
+      };
+    }
+
+    {
+      name = "parse-glob-3.0.4.tgz";
+      path = fetchurl {
+        name = "parse-glob-3.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz";
+        sha1 = "b2c376cfb11f35513badd173ef0bb6e3a388391c";
+      };
+    }
+
+    {
+      name = "parse-json-2.2.0.tgz";
+      path = fetchurl {
+        name = "parse-json-2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz";
+        sha1 = "f480f40434ef80741f8469099f8dea18f55a4dc9";
+      };
+    }
+
+    {
+      name = "parsejson-0.0.3.tgz";
+      path = fetchurl {
+        name = "parsejson-0.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/parsejson/-/parsejson-0.0.3.tgz";
+        sha1 = "ab7e3759f209ece99437973f7d0f1f64ae0e64ab";
+      };
+    }
+
+    {
+      name = "parseqs-0.0.5.tgz";
+      path = fetchurl {
+        name = "parseqs-0.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.5.tgz";
+        sha1 = "d5208a3738e46766e291ba2ea173684921a8b89d";
+      };
+    }
+
+    {
+      name = "parseuri-0.0.5.tgz";
+      path = fetchurl {
+        name = "parseuri-0.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.5.tgz";
+        sha1 = "80204a50d4dbb779bfdc6ebe2778d90e4bce320a";
+      };
+    }
+
+    {
+      name = "parseurl-1.3.1.tgz";
+      path = fetchurl {
+        name = "parseurl-1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.1.tgz";
+        sha1 = "c8ab8c9223ba34888aa64a297b28853bec18da56";
+      };
+    }
+
+    {
+      name = "path-browserify-0.0.0.tgz";
+      path = fetchurl {
+        name = "path-browserify-0.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz";
+        sha1 = "a0b870729aae214005b7d5032ec2cbbb0fb4451a";
+      };
+    }
+
+    {
+      name = "path-exists-2.1.0.tgz";
+      path = fetchurl {
+        name = "path-exists-2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz";
+        sha1 = "0feb6c64f0fc518d9a754dd5efb62c7022761f4b";
+      };
+    }
+
+    {
+      name = "path-exists-3.0.0.tgz";
+      path = fetchurl {
+        name = "path-exists-3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz";
+        sha1 = "ce0ebeaa5f78cb18925ea7d810d7b59b010fd515";
+      };
+    }
+
+    {
+      name = "path-is-absolute-1.0.1.tgz";
+      path = fetchurl {
+        name = "path-is-absolute-1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz";
+        sha1 = "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f";
+      };
+    }
+
+    {
+      name = "path-is-inside-1.0.2.tgz";
+      path = fetchurl {
+        name = "path-is-inside-1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz";
+        sha1 = "365417dede44430d1c11af61027facf074bdfc53";
+      };
+    }
+
+    {
+      name = "path-parse-1.0.5.tgz";
+      path = fetchurl {
+        name = "path-parse-1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz";
+        sha1 = "3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1";
+      };
+    }
+
+    {
+      name = "path-to-regexp-0.1.7.tgz";
+      path = fetchurl {
+        name = "path-to-regexp-0.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz";
+        sha1 = "df604178005f522f15eb4490e7247a1bfaa67f8c";
+      };
+    }
+
+    {
+      name = "path-type-1.1.0.tgz";
+      path = fetchurl {
+        name = "path-type-1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz";
+        sha1 = "59c44f7ee491da704da415da5a4070ba4f8fe441";
+      };
+    }
+
+    {
+      name = "pause-stream-0.0.11.tgz";
+      path = fetchurl {
+        name = "pause-stream-0.0.11.tgz";
+        url  = "https://registry.yarnpkg.com/pause-stream/-/pause-stream-0.0.11.tgz";
+        sha1 = "fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445";
+      };
+    }
+
+    {
+      name = "pbkdf2-3.0.9.tgz";
+      path = fetchurl {
+        name = "pbkdf2-3.0.9.tgz";
+        url  = "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.9.tgz";
+        sha1 = "f2c4b25a600058b3c3773c086c37dbbee1ffe693";
+      };
+    }
+
+    {
+      name = "pdfjs-dist-1.8.252.tgz";
+      path = fetchurl {
+        name = "pdfjs-dist-1.8.252.tgz";
+        url  = "https://registry.yarnpkg.com/pdfjs-dist/-/pdfjs-dist-1.8.252.tgz";
+        sha1 = "2477245695341f7fe096824dacf327bc324c0f52";
+      };
+    }
+
+    {
+      name = "pify-2.3.0.tgz";
+      path = fetchurl {
+        name = "pify-2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz";
+        sha1 = "ed141a6ac043a849ea588498e7dca8b15330e90c";
+      };
+    }
+
+    {
+      name = "pikaday-1.5.1.tgz";
+      path = fetchurl {
+        name = "pikaday-1.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/pikaday/-/pikaday-1.5.1.tgz";
+        sha1 = "0a48549bc1a14ea1d08c44074d761bc2f2bfcfd3";
+      };
+    }
+
+    {
+      name = "pinkie-promise-2.0.1.tgz";
+      path = fetchurl {
+        name = "pinkie-promise-2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz";
+        sha1 = "2135d6dfa7a358c069ac9b178776288228450ffa";
+      };
+    }
+
+    {
+      name = "pinkie-2.0.4.tgz";
+      path = fetchurl {
+        name = "pinkie-2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz";
+        sha1 = "72556b80cfa0d48a974e80e77248e80ed4f7f870";
+      };
+    }
+
+    {
+      name = "pkg-dir-1.0.0.tgz";
+      path = fetchurl {
+        name = "pkg-dir-1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz";
+        sha1 = "7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4";
+      };
+    }
+
+    {
+      name = "pkg-up-1.0.0.tgz";
+      path = fetchurl {
+        name = "pkg-up-1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/pkg-up/-/pkg-up-1.0.0.tgz";
+        sha1 = "3e08fb461525c4421624a33b9f7e6d0af5b05a26";
+      };
+    }
+
+    {
+      name = "pluralize-1.2.1.tgz";
+      path = fetchurl {
+        name = "pluralize-1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz";
+        sha1 = "d1a21483fd22bb41e58a12fa3421823140897c45";
+      };
+    }
+
+    {
+      name = "portfinder-1.0.13.tgz";
+      path = fetchurl {
+        name = "portfinder-1.0.13.tgz";
+        url  = "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.13.tgz";
+        sha1 = "bb32ecd87c27104ae6ee44b5a3ccbf0ebb1aede9";
+      };
+    }
+
+    {
+      name = "postcss-calc-5.3.1.tgz";
+      path = fetchurl {
+        name = "postcss-calc-5.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-5.3.1.tgz";
+        sha1 = "77bae7ca928ad85716e2fda42f261bf7c1d65b5e";
+      };
+    }
+
+    {
+      name = "postcss-colormin-2.2.2.tgz";
+      path = fetchurl {
+        name = "postcss-colormin-2.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-2.2.2.tgz";
+        sha1 = "6631417d5f0e909a3d7ec26b24c8a8d1e4f96e4b";
+      };
+    }
+
+    {
+      name = "postcss-convert-values-2.6.1.tgz";
+      path = fetchurl {
+        name = "postcss-convert-values-2.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz";
+        sha1 = "bbd8593c5c1fd2e3d1c322bb925dcae8dae4d62d";
+      };
+    }
+
+    {
+      name = "postcss-discard-comments-2.0.4.tgz";
+      path = fetchurl {
+        name = "postcss-discard-comments-2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz";
+        sha1 = "befe89fafd5b3dace5ccce51b76b81514be00e3d";
+      };
+    }
+
+    {
+      name = "postcss-discard-duplicates-2.1.0.tgz";
+      path = fetchurl {
+        name = "postcss-discard-duplicates-2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz";
+        sha1 = "b9abf27b88ac188158a5eb12abcae20263b91932";
+      };
+    }
+
+    {
+      name = "postcss-discard-empty-2.1.0.tgz";
+      path = fetchurl {
+        name = "postcss-discard-empty-2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz";
+        sha1 = "d2b4bd9d5ced5ebd8dcade7640c7d7cd7f4f92b5";
+      };
+    }
+
+    {
+      name = "postcss-discard-overridden-0.1.1.tgz";
+      path = fetchurl {
+        name = "postcss-discard-overridden-0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz";
+        sha1 = "8b1eaf554f686fb288cd874c55667b0aa3668d58";
+      };
+    }
+
+    {
+      name = "postcss-discard-unused-2.2.3.tgz";
+      path = fetchurl {
+        name = "postcss-discard-unused-2.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz";
+        sha1 = "bce30b2cc591ffc634322b5fb3464b6d934f4433";
+      };
+    }
+
+    {
+      name = "postcss-filter-plugins-2.0.2.tgz";
+      path = fetchurl {
+        name = "postcss-filter-plugins-2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-filter-plugins/-/postcss-filter-plugins-2.0.2.tgz";
+        sha1 = "6d85862534d735ac420e4a85806e1f5d4286d84c";
+      };
+    }
+
+    {
+      name = "postcss-load-config-1.2.0.tgz";
+      path = fetchurl {
+        name = "postcss-load-config-1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-1.2.0.tgz";
+        sha1 = "539e9afc9ddc8620121ebf9d8c3673e0ce50d28a";
+      };
+    }
+
+    {
+      name = "postcss-load-options-1.2.0.tgz";
+      path = fetchurl {
+        name = "postcss-load-options-1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-load-options/-/postcss-load-options-1.2.0.tgz";
+        sha1 = "b098b1559ddac2df04bc0bb375f99a5cfe2b6d8c";
+      };
+    }
+
+    {
+      name = "postcss-load-plugins-2.3.0.tgz";
+      path = fetchurl {
+        name = "postcss-load-plugins-2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz";
+        sha1 = "745768116599aca2f009fad426b00175049d8d92";
+      };
+    }
+
+    {
+      name = "postcss-merge-idents-2.1.7.tgz";
+      path = fetchurl {
+        name = "postcss-merge-idents-2.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz";
+        sha1 = "4c5530313c08e1d5b3bbf3d2bbc747e278eea270";
+      };
+    }
+
+    {
+      name = "postcss-merge-longhand-2.0.2.tgz";
+      path = fetchurl {
+        name = "postcss-merge-longhand-2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz";
+        sha1 = "23d90cd127b0a77994915332739034a1a4f3d658";
+      };
+    }
+
+    {
+      name = "postcss-merge-rules-2.1.2.tgz";
+      path = fetchurl {
+        name = "postcss-merge-rules-2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz";
+        sha1 = "d1df5dfaa7b1acc3be553f0e9e10e87c61b5f721";
+      };
+    }
+
+    {
+      name = "postcss-message-helpers-2.0.0.tgz";
+      path = fetchurl {
+        name = "postcss-message-helpers-2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz";
+        sha1 = "a4f2f4fab6e4fe002f0aed000478cdf52f9ba60e";
+      };
+    }
+
+    {
+      name = "postcss-minify-font-values-1.0.5.tgz";
+      path = fetchurl {
+        name = "postcss-minify-font-values-1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz";
+        sha1 = "4b58edb56641eba7c8474ab3526cafd7bbdecb69";
+      };
+    }
+
+    {
+      name = "postcss-minify-gradients-1.0.5.tgz";
+      path = fetchurl {
+        name = "postcss-minify-gradients-1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz";
+        sha1 = "5dbda11373703f83cfb4a3ea3881d8d75ff5e6e1";
+      };
+    }
+
+    {
+      name = "postcss-minify-params-1.2.2.tgz";
+      path = fetchurl {
+        name = "postcss-minify-params-1.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz";
+        sha1 = "ad2ce071373b943b3d930a3fa59a358c28d6f1f3";
+      };
+    }
+
+    {
+      name = "postcss-minify-selectors-2.1.1.tgz";
+      path = fetchurl {
+        name = "postcss-minify-selectors-2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz";
+        sha1 = "b2c6a98c0072cf91b932d1a496508114311735bf";
+      };
+    }
+
+    {
+      name = "postcss-modules-extract-imports-1.0.1.tgz";
+      path = fetchurl {
+        name = "postcss-modules-extract-imports-1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.0.1.tgz";
+        sha1 = "8fb3fef9a6dd0420d3f6d4353cf1ff73f2b2a341";
+      };
+    }
+
+    {
+      name = "postcss-modules-local-by-default-1.1.1.tgz";
+      path = fetchurl {
+        name = "postcss-modules-local-by-default-1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.1.1.tgz";
+        sha1 = "29a10673fa37d19251265ca2ba3150d9040eb4ce";
+      };
+    }
+
+    {
+      name = "postcss-modules-scope-1.0.2.tgz";
+      path = fetchurl {
+        name = "postcss-modules-scope-1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-1.0.2.tgz";
+        sha1 = "ff977395e5e06202d7362290b88b1e8cd049de29";
+      };
+    }
+
+    {
+      name = "postcss-modules-values-1.2.2.tgz";
+      path = fetchurl {
+        name = "postcss-modules-values-1.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-1.2.2.tgz";
+        sha1 = "f0e7d476fe1ed88c5e4c7f97533a3e772ad94ca1";
+      };
+    }
+
+    {
+      name = "postcss-normalize-charset-1.1.1.tgz";
+      path = fetchurl {
+        name = "postcss-normalize-charset-1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz";
+        sha1 = "ef9ee71212d7fe759c78ed162f61ed62b5cb93f1";
+      };
+    }
+
+    {
+      name = "postcss-normalize-url-3.0.8.tgz";
+      path = fetchurl {
+        name = "postcss-normalize-url-3.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz";
+        sha1 = "108f74b3f2fcdaf891a2ffa3ea4592279fc78222";
+      };
+    }
+
+    {
+      name = "postcss-ordered-values-2.2.3.tgz";
+      path = fetchurl {
+        name = "postcss-ordered-values-2.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz";
+        sha1 = "eec6c2a67b6c412a8db2042e77fe8da43f95c11d";
+      };
+    }
+
+    {
+      name = "postcss-reduce-idents-2.4.0.tgz";
+      path = fetchurl {
+        name = "postcss-reduce-idents-2.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz";
+        sha1 = "c2c6d20cc958284f6abfbe63f7609bf409059ad3";
+      };
+    }
+
+    {
+      name = "postcss-reduce-initial-1.0.1.tgz";
+      path = fetchurl {
+        name = "postcss-reduce-initial-1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz";
+        sha1 = "68f80695f045d08263a879ad240df8dd64f644ea";
+      };
+    }
+
+    {
+      name = "postcss-reduce-transforms-1.0.4.tgz";
+      path = fetchurl {
+        name = "postcss-reduce-transforms-1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz";
+        sha1 = "ff76f4d8212437b31c298a42d2e1444025771ae1";
+      };
+    }
+
+    {
+      name = "postcss-selector-parser-2.2.3.tgz";
+      path = fetchurl {
+        name = "postcss-selector-parser-2.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz";
+        sha1 = "f9437788606c3c9acee16ffe8d8b16297f27bb90";
+      };
+    }
+
+    {
+      name = "postcss-svgo-2.1.6.tgz";
+      path = fetchurl {
+        name = "postcss-svgo-2.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-2.1.6.tgz";
+        sha1 = "b6df18aa613b666e133f08adb5219c2684ac108d";
+      };
+    }
+
+    {
+      name = "postcss-unique-selectors-2.0.2.tgz";
+      path = fetchurl {
+        name = "postcss-unique-selectors-2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz";
+        sha1 = "981d57d29ddcb33e7b1dfe1fd43b8649f933ca1d";
+      };
+    }
+
+    {
+      name = "postcss-value-parser-3.3.0.tgz";
+      path = fetchurl {
+        name = "postcss-value-parser-3.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz";
+        sha1 = "87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15";
+      };
+    }
+
+    {
+      name = "postcss-zindex-2.2.0.tgz";
+      path = fetchurl {
+        name = "postcss-zindex-2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-zindex/-/postcss-zindex-2.2.0.tgz";
+        sha1 = "d2109ddc055b91af67fc4cb3b025946639d2af22";
+      };
+    }
+
+    {
+      name = "postcss-5.2.16.tgz";
+      path = fetchurl {
+        name = "postcss-5.2.16.tgz";
+        url  = "https://registry.yarnpkg.com/postcss/-/postcss-5.2.16.tgz";
+        sha1 = "732b3100000f9ff8379a48a53839ed097376ad57";
+      };
+    }
+
+    {
+      name = "prelude-ls-1.1.2.tgz";
+      path = fetchurl {
+        name = "prelude-ls-1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz";
+        sha1 = "21932a549f5e52ffd9a827f570e04be62a97da54";
+      };
+    }
+
+    {
+      name = "prepend-http-1.0.4.tgz";
+      path = fetchurl {
+        name = "prepend-http-1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz";
+        sha1 = "d4f4562b0ce3696e41ac52d0e002e57a635dc6dc";
+      };
+    }
+
+    {
+      name = "preserve-0.2.0.tgz";
+      path = fetchurl {
+        name = "preserve-0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz";
+        sha1 = "815ed1f6ebc65926f865b310c0713bcb3315ce4b";
+      };
+    }
+
+    {
+      name = "prismjs-1.6.0.tgz";
+      path = fetchurl {
+        name = "prismjs-1.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/prismjs/-/prismjs-1.6.0.tgz";
+        sha1 = "118d95fb7a66dba2272e343b345f5236659db365";
+      };
+    }
+
+    {
+      name = "private-0.1.7.tgz";
+      path = fetchurl {
+        name = "private-0.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/private/-/private-0.1.7.tgz";
+        sha1 = "68ce5e8a1ef0a23bb570cc28537b5332aba63ef1";
+      };
+    }
+
+    {
+      name = "process-nextick-args-1.0.7.tgz";
+      path = fetchurl {
+        name = "process-nextick-args-1.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz";
+        sha1 = "150e20b756590ad3f91093f25a4f2ad8bff30ba3";
+      };
+    }
+
+    {
+      name = "process-0.11.9.tgz";
+      path = fetchurl {
+        name = "process-0.11.9.tgz";
+        url  = "https://registry.yarnpkg.com/process/-/process-0.11.9.tgz";
+        sha1 = "7bd5ad21aa6253e7da8682264f1e11d11c0318c1";
+      };
+    }
+
+    {
+      name = "progress-1.1.8.tgz";
+      path = fetchurl {
+        name = "progress-1.1.8.tgz";
+        url  = "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz";
+        sha1 = "e260c78f6161cdd9b0e56cc3e0a85de17c7a57be";
+      };
+    }
+
+    {
+      name = "proto-list-1.2.4.tgz";
+      path = fetchurl {
+        name = "proto-list-1.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz";
+        sha1 = "212d5bfe1318306a420f6402b8e26ff39647a849";
+      };
+    }
+
+    {
+      name = "proxy-addr-1.1.4.tgz";
+      path = fetchurl {
+        name = "proxy-addr-1.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-1.1.4.tgz";
+        sha1 = "27e545f6960a44a627d9b44467e35c1b6b4ce2f3";
+      };
+    }
+
+    {
+      name = "prr-0.0.0.tgz";
+      path = fetchurl {
+        name = "prr-0.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz";
+        sha1 = "1a84b85908325501411853d0081ee3fa86e2926a";
+      };
+    }
+
+    {
+      name = "ps-tree-1.1.0.tgz";
+      path = fetchurl {
+        name = "ps-tree-1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/ps-tree/-/ps-tree-1.1.0.tgz";
+        sha1 = "b421b24140d6203f1ed3c76996b4427b08e8c014";
+      };
+    }
+
+    {
+      name = "pseudomap-1.0.2.tgz";
+      path = fetchurl {
+        name = "pseudomap-1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz";
+        sha1 = "f052a28da70e618917ef0a8ac34c1ae5a68286b3";
+      };
+    }
+
+    {
+      name = "public-encrypt-4.0.0.tgz";
+      path = fetchurl {
+        name = "public-encrypt-4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.0.tgz";
+        sha1 = "39f699f3a46560dd5ebacbca693caf7c65c18cc6";
+      };
+    }
+
+    {
+      name = "punycode-1.3.2.tgz";
+      path = fetchurl {
+        name = "punycode-1.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz";
+        sha1 = "9653a036fb7c1ee42342f2325cceefea3926c48d";
+      };
+    }
+
+    {
+      name = "punycode-1.4.1.tgz";
+      path = fetchurl {
+        name = "punycode-1.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz";
+        sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e";
+      };
+    }
+
+    {
+      name = "q-1.5.0.tgz";
+      path = fetchurl {
+        name = "q-1.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/q/-/q-1.5.0.tgz";
+        sha1 = "dd01bac9d06d30e6f219aecb8253ee9ebdc308f1";
+      };
+    }
+
+    {
+      name = "qjobs-1.1.5.tgz";
+      path = fetchurl {
+        name = "qjobs-1.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/qjobs/-/qjobs-1.1.5.tgz";
+        sha1 = "659de9f2cf8dcc27a1481276f205377272382e73";
+      };
+    }
+
+    {
+      name = "qs-6.4.0.tgz";
+      path = fetchurl {
+        name = "qs-6.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz";
+        sha1 = "13e26d28ad6b0ffaa91312cd3bf708ed351e7233";
+      };
+    }
+
+    {
+      name = "qs-6.3.0.tgz";
+      path = fetchurl {
+        name = "qs-6.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/qs/-/qs-6.3.0.tgz";
+        sha1 = "f403b264f23bc01228c74131b407f18d5ea5d442";
+      };
+    }
+
+    {
+      name = "query-string-4.3.2.tgz";
+      path = fetchurl {
+        name = "query-string-4.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/query-string/-/query-string-4.3.2.tgz";
+        sha1 = "ec0fd765f58a50031a3968c2431386f8947a5cdd";
+      };
+    }
+
+    {
+      name = "querystring-es3-0.2.1.tgz";
+      path = fetchurl {
+        name = "querystring-es3-0.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz";
+        sha1 = "9ec61f79049875707d69414596fd907a4d711e73";
+      };
+    }
+
+    {
+      name = "querystring-0.2.0.tgz";
+      path = fetchurl {
+        name = "querystring-0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz";
+        sha1 = "b209849203bb25df820da756e747005878521620";
+      };
+    }
+
+    {
+      name = "querystringify-0.0.4.tgz";
+      path = fetchurl {
+        name = "querystringify-0.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/querystringify/-/querystringify-0.0.4.tgz";
+        sha1 = "0cf7f84f9463ff0ae51c4c4b142d95be37724d9c";
+      };
+    }
+
+    {
+      name = "randomatic-1.1.6.tgz";
+      path = fetchurl {
+        name = "randomatic-1.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.6.tgz";
+        sha1 = "110dcabff397e9dcff7c0789ccc0a49adf1ec5bb";
+      };
+    }
+
+    {
+      name = "randombytes-2.0.3.tgz";
+      path = fetchurl {
+        name = "randombytes-2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.3.tgz";
+        sha1 = "674c99760901c3c4112771a31e521dc349cc09ec";
+      };
+    }
+
+    {
+      name = "range-parser-1.2.0.tgz";
+      path = fetchurl {
+        name = "range-parser-1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz";
+        sha1 = "f49be6b487894ddc40dcc94a322f611092e00d5e";
+      };
+    }
+
+    {
+      name = "raphael-2.2.7.tgz";
+      path = fetchurl {
+        name = "raphael-2.2.7.tgz";
+        url  = "https://registry.yarnpkg.com/raphael/-/raphael-2.2.7.tgz";
+        sha1 = "231b19141f8d086986d8faceb66f8b562ee2c810";
+      };
+    }
+
+    {
+      name = "raven-js-3.14.0.tgz";
+      path = fetchurl {
+        name = "raven-js-3.14.0.tgz";
+        url  = "https://registry.yarnpkg.com/raven-js/-/raven-js-3.14.0.tgz";
+        sha1 = "94dda81d975fdc4a42f193db437cf70021d654e0";
+      };
+    }
+
+    {
+      name = "raw-body-2.2.0.tgz";
+      path = fetchurl {
+        name = "raw-body-2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/raw-body/-/raw-body-2.2.0.tgz";
+        sha1 = "994976cf6a5096a41162840492f0bdc5d6e7fb96";
+      };
+    }
+
+    {
+      name = "raw-loader-0.5.1.tgz";
+      path = fetchurl {
+        name = "raw-loader-0.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/raw-loader/-/raw-loader-0.5.1.tgz";
+        sha1 = "0c3d0beaed8a01c966d9787bf778281252a979aa";
+      };
+    }
+
+    {
+      name = "rc-1.1.6.tgz";
+      path = fetchurl {
+        name = "rc-1.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/rc/-/rc-1.1.6.tgz";
+        sha1 = "43651b76b6ae53b5c802f1151fa3fc3b059969c9";
+      };
+    }
+
+    {
+      name = "react-dev-utils-0.5.2.tgz";
+      path = fetchurl {
+        name = "react-dev-utils-0.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-0.5.2.tgz";
+        sha1 = "50d0b962d3a94b6c2e8f2011ed6468e4124bc410";
+      };
+    }
+
+    {
+      name = "read-all-stream-3.1.0.tgz";
+      path = fetchurl {
+        name = "read-all-stream-3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/read-all-stream/-/read-all-stream-3.1.0.tgz";
+        sha1 = "35c3e177f2078ef789ee4bfafa4373074eaef4fa";
+      };
+    }
+
+    {
+      name = "read-pkg-up-1.0.1.tgz";
+      path = fetchurl {
+        name = "read-pkg-up-1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz";
+        sha1 = "9d63c13276c065918d57f002a57f40a1b643fb02";
+      };
+    }
+
+    {
+      name = "read-pkg-1.1.0.tgz";
+      path = fetchurl {
+        name = "read-pkg-1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz";
+        sha1 = "f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28";
+      };
+    }
+
+    {
+      name = "readable-stream-2.2.2.tgz";
+      path = fetchurl {
+        name = "readable-stream-2.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.2.tgz";
+        sha1 = "a9e6fec3c7dda85f8bb1b3ba7028604556fc825e";
+      };
+    }
+
+    {
+      name = "readable-stream-2.0.6.tgz";
+      path = fetchurl {
+        name = "readable-stream-2.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz";
+        sha1 = "8f90341e68a53ccc928788dacfcd11b36eb9b78e";
+      };
+    }
+
+    {
+      name = "readable-stream-1.0.34.tgz";
+      path = fetchurl {
+        name = "readable-stream-1.0.34.tgz";
+        url  = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz";
+        sha1 = "125820e34bc842d2f2aaafafe4c2916ee32c157c";
+      };
+    }
+
+    {
+      name = "readable-stream-2.1.5.tgz";
+      path = fetchurl {
+        name = "readable-stream-2.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz";
+        sha1 = "66fa8b720e1438b364681f2ad1a63c618448c9d0";
+      };
+    }
+
+    {
+      name = "readdirp-2.1.0.tgz";
+      path = fetchurl {
+        name = "readdirp-2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz";
+        sha1 = "4ed0ad060df3073300c48440373f72d1cc642d78";
+      };
+    }
+
+    {
+      name = "readline2-1.0.1.tgz";
+      path = fetchurl {
+        name = "readline2-1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz";
+        sha1 = "41059608ffc154757b715d9989d199ffbf372e35";
+      };
+    }
+
+    {
+      name = "rechoir-0.6.2.tgz";
+      path = fetchurl {
+        name = "rechoir-0.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz";
+        sha1 = "85204b54dba82d5742e28c96756ef43af50e3384";
+      };
+    }
+
+    {
+      name = "recursive-readdir-2.1.1.tgz";
+      path = fetchurl {
+        name = "recursive-readdir-2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.1.1.tgz";
+        sha1 = "a01cfc7f7f38a53ec096a096f63a50489c3e297c";
+      };
+    }
+
+    {
+      name = "reduce-css-calc-1.3.0.tgz";
+      path = fetchurl {
+        name = "reduce-css-calc-1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz";
+        sha1 = "747c914e049614a4c9cfbba629871ad1d2927716";
+      };
+    }
+
+    {
+      name = "reduce-function-call-1.0.2.tgz";
+      path = fetchurl {
+        name = "reduce-function-call-1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/reduce-function-call/-/reduce-function-call-1.0.2.tgz";
+        sha1 = "5a200bf92e0e37751752fe45b0ab330fd4b6be99";
+      };
+    }
+
+    {
+      name = "regenerate-1.3.2.tgz";
+      path = fetchurl {
+        name = "regenerate-1.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.2.tgz";
+        sha1 = "d1941c67bad437e1be76433add5b385f95b19260";
+      };
+    }
+
+    {
+      name = "regenerator-runtime-0.10.1.tgz";
+      path = fetchurl {
+        name = "regenerator-runtime-0.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz";
+        sha1 = "257f41961ce44558b18f7814af48c17559f9faeb";
+      };
+    }
+
+    {
+      name = "regenerator-transform-0.9.8.tgz";
+      path = fetchurl {
+        name = "regenerator-transform-0.9.8.tgz";
+        url  = "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.9.8.tgz";
+        sha1 = "0f88bb2bc03932ddb7b6b7312e68078f01026d6c";
+      };
+    }
+
+    {
+      name = "regex-cache-0.4.3.tgz";
+      path = fetchurl {
+        name = "regex-cache-0.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.3.tgz";
+        sha1 = "9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145";
+      };
+    }
+
+    {
+      name = "regexpu-core-1.0.0.tgz";
+      path = fetchurl {
+        name = "regexpu-core-1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-1.0.0.tgz";
+        sha1 = "86a763f58ee4d7c2f6b102e4764050de7ed90c6b";
+      };
+    }
+
+    {
+      name = "regexpu-core-2.0.0.tgz";
+      path = fetchurl {
+        name = "regexpu-core-2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz";
+        sha1 = "49d038837b8dcf8bfa5b9a42139938e6ea2ae240";
+      };
+    }
+
+    {
+      name = "registry-url-3.1.0.tgz";
+      path = fetchurl {
+        name = "registry-url-3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz";
+        sha1 = "3d4ef870f73dde1d77f0cf9a381432444e174942";
+      };
+    }
+
+    {
+      name = "regjsgen-0.2.0.tgz";
+      path = fetchurl {
+        name = "regjsgen-0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz";
+        sha1 = "6c016adeac554f75823fe37ac05b92d5a4edb1f7";
+      };
+    }
+
+    {
+      name = "regjsparser-0.1.5.tgz";
+      path = fetchurl {
+        name = "regjsparser-0.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz";
+        sha1 = "7ee8f84dc6fa792d3fd0ae228d24bd949ead205c";
+      };
+    }
+
+    {
+      name = "repeat-element-1.1.2.tgz";
+      path = fetchurl {
+        name = "repeat-element-1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz";
+        sha1 = "ef089a178d1483baae4d93eb98b4f9e4e11d990a";
+      };
+    }
+
+    {
+      name = "repeat-string-0.2.2.tgz";
+      path = fetchurl {
+        name = "repeat-string-0.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/repeat-string/-/repeat-string-0.2.2.tgz";
+        sha1 = "c7a8d3236068362059a7e4651fc6884e8b1fb4ae";
+      };
+    }
+
+    {
+      name = "repeat-string-1.6.1.tgz";
+      path = fetchurl {
+        name = "repeat-string-1.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz";
+        sha1 = "8dcae470e1c88abc2d600fff4a776286da75e637";
+      };
+    }
+
+    {
+      name = "repeating-1.1.3.tgz";
+      path = fetchurl {
+        name = "repeating-1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/repeating/-/repeating-1.1.3.tgz";
+        sha1 = "3d4114218877537494f97f77f9785fab810fa4ac";
+      };
+    }
+
+    {
+      name = "repeating-2.0.1.tgz";
+      path = fetchurl {
+        name = "repeating-2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz";
+        sha1 = "5214c53a926d3552707527fbab415dbc08d06dda";
+      };
+    }
+
+    {
+      name = "request-2.79.0.tgz";
+      path = fetchurl {
+        name = "request-2.79.0.tgz";
+        url  = "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz";
+        sha1 = "4dfe5bf6be8b8cdc37fcf93e04b65577722710de";
+      };
+    }
+
+    {
+      name = "require-directory-2.1.1.tgz";
+      path = fetchurl {
+        name = "require-directory-2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz";
+        sha1 = "8c64ad5fd30dab1c976e2344ffe7f792a6a6df42";
+      };
+    }
+
+    {
+      name = "require-from-string-1.2.1.tgz";
+      path = fetchurl {
+        name = "require-from-string-1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/require-from-string/-/require-from-string-1.2.1.tgz";
+        sha1 = "529c9ccef27380adfec9a2f965b649bbee636418";
+      };
+    }
+
+    {
+      name = "require-main-filename-1.0.1.tgz";
+      path = fetchurl {
+        name = "require-main-filename-1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz";
+        sha1 = "97f717b69d48784f5f526a6c5aa8ffdda055a4d1";
+      };
+    }
+
+    {
+      name = "require-uncached-1.0.3.tgz";
+      path = fetchurl {
+        name = "require-uncached-1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz";
+        sha1 = "4e0d56d6c9662fd31e43011c4b95aa49955421d3";
+      };
+    }
+
+    {
+      name = "requires-port-1.0.0.tgz";
+      path = fetchurl {
+        name = "requires-port-1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz";
+        sha1 = "925d2601d39ac485e091cf0da5c6e694dc3dcaff";
+      };
+    }
+
+    {
+      name = "resolve-from-1.0.1.tgz";
+      path = fetchurl {
+        name = "resolve-from-1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz";
+        sha1 = "26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226";
+      };
+    }
+
+    {
+      name = "resolve-1.1.7.tgz";
+      path = fetchurl {
+        name = "resolve-1.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz";
+        sha1 = "203114d82ad2c5ed9e8e0411b3932875e889e97b";
+      };
+    }
+
+    {
+      name = "resolve-1.2.0.tgz";
+      path = fetchurl {
+        name = "resolve-1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/resolve/-/resolve-1.2.0.tgz";
+        sha1 = "9589c3f2f6149d1417a40becc1663db6ec6bc26c";
+      };
+    }
+
+    {
+      name = "restore-cursor-1.0.1.tgz";
+      path = fetchurl {
+        name = "restore-cursor-1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz";
+        sha1 = "34661f46886327fed2991479152252df92daa541";
+      };
+    }
+
+    {
+      name = "right-align-0.1.3.tgz";
+      path = fetchurl {
+        name = "right-align-0.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz";
+        sha1 = "61339b722fe6a3515689210d24e14c96148613ef";
+      };
+    }
+
+    {
+      name = "rimraf-2.6.1.tgz";
+      path = fetchurl {
+        name = "rimraf-2.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz";
+        sha1 = "c2338ec643df7a1b7fe5c54fa86f57428a55f33d";
+      };
+    }
+
+    {
+      name = "rimraf-2.5.4.tgz";
+      path = fetchurl {
+        name = "rimraf-2.5.4.tgz";
+        url  = "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz";
+        sha1 = "96800093cbf1a0c86bd95b4625467535c29dfa04";
+      };
+    }
+
+    {
+      name = "ripemd160-1.0.1.tgz";
+      path = fetchurl {
+        name = "ripemd160-1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/ripemd160/-/ripemd160-1.0.1.tgz";
+        sha1 = "93a4bbd4942bc574b69a8fa57c71de10ecca7d6e";
+      };
+    }
+
+    {
+      name = "run-async-0.1.0.tgz";
+      path = fetchurl {
+        name = "run-async-0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz";
+        sha1 = "c8ad4a5e110661e402a7d21b530e009f25f8e389";
+      };
+    }
+
+    {
+      name = "rx-lite-3.1.2.tgz";
+      path = fetchurl {
+        name = "rx-lite-3.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz";
+        sha1 = "19ce502ca572665f3b647b10939f97fd1615f102";
+      };
+    }
+
+    {
+      name = "safe-buffer-5.0.1.tgz";
+      path = fetchurl {
+        name = "safe-buffer-5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.0.1.tgz";
+        sha1 = "d263ca54696cd8a306b5ca6551e92de57918fbe7";
+      };
+    }
+
+    {
+      name = "sax-1.2.2.tgz";
+      path = fetchurl {
+        name = "sax-1.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/sax/-/sax-1.2.2.tgz";
+        sha1 = "fd8631a23bc7826bef5d871bdb87378c95647828";
+      };
+    }
+
+    {
+      name = "select-hose-2.0.0.tgz";
+      path = fetchurl {
+        name = "select-hose-2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz";
+        sha1 = "625d8658f865af43ec962bfc376a37359a4994ca";
+      };
+    }
+
+    {
+      name = "select2-3.5.2-browserify.tgz";
+      path = fetchurl {
+        name = "select2-3.5.2-browserify.tgz";
+        url  = "https://registry.yarnpkg.com/select2/-/select2-3.5.2-browserify.tgz";
+        sha1 = "dc4dafda38d67a734e8a97a46f0d3529ae05391d";
+      };
+    }
+
+    {
+      name = "select-1.1.2.tgz";
+      path = fetchurl {
+        name = "select-1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/select/-/select-1.1.2.tgz";
+        sha1 = "0e7350acdec80b1108528786ec1d4418d11b396d";
+      };
+    }
+
+    {
+      name = "semver-diff-2.1.0.tgz";
+      path = fetchurl {
+        name = "semver-diff-2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz";
+        sha1 = "4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36";
+      };
+    }
+
+    {
+      name = "semver-5.3.0.tgz";
+      path = fetchurl {
+        name = "semver-5.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz";
+        sha1 = "9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f";
+      };
+    }
+
+    {
+      name = "semver-4.3.6.tgz";
+      path = fetchurl {
+        name = "semver-4.3.6.tgz";
+        url  = "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz";
+        sha1 = "300bc6e0e86374f7ba61068b5b1ecd57fc6532da";
+      };
+    }
+
+    {
+      name = "send-0.15.3.tgz";
+      path = fetchurl {
+        name = "send-0.15.3.tgz";
+        url  = "https://registry.yarnpkg.com/send/-/send-0.15.3.tgz";
+        sha1 = "5013f9f99023df50d1bd9892c19e3defd1d53309";
+      };
+    }
+
+    {
+      name = "serve-index-1.8.0.tgz";
+      path = fetchurl {
+        name = "serve-index-1.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/serve-index/-/serve-index-1.8.0.tgz";
+        sha1 = "7c5d96c13fb131101f93c1c5774f8516a1e78d3b";
+      };
+    }
+
+    {
+      name = "serve-static-1.12.3.tgz";
+      path = fetchurl {
+        name = "serve-static-1.12.3.tgz";
+        url  = "https://registry.yarnpkg.com/serve-static/-/serve-static-1.12.3.tgz";
+        sha1 = "9f4ba19e2f3030c547f8af99107838ec38d5b1e2";
+      };
+    }
+
+    {
+      name = "set-blocking-2.0.0.tgz";
+      path = fetchurl {
+        name = "set-blocking-2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz";
+        sha1 = "045f9782d011ae9a6803ddd382b24392b3d890f7";
+      };
+    }
+
+    {
+      name = "set-immediate-shim-1.0.1.tgz";
+      path = fetchurl {
+        name = "set-immediate-shim-1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz";
+        sha1 = "4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61";
+      };
+    }
+
+    {
+      name = "setimmediate-1.0.5.tgz";
+      path = fetchurl {
+        name = "setimmediate-1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz";
+        sha1 = "290cbb232e306942d7d7ea9b83732ab7856f8285";
+      };
+    }
+
+    {
+      name = "setprototypeof-1.0.2.tgz";
+      path = fetchurl {
+        name = "setprototypeof-1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.2.tgz";
+        sha1 = "81a552141ec104b88e89ce383103ad5c66564d08";
+      };
+    }
+
+    {
+      name = "setprototypeof-1.0.3.tgz";
+      path = fetchurl {
+        name = "setprototypeof-1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz";
+        sha1 = "66567e37043eeb4f04d91bd658c0cbefb55b8e04";
+      };
+    }
+
+    {
+      name = "sha.js-2.4.8.tgz";
+      path = fetchurl {
+        name = "sha.js-2.4.8.tgz";
+        url  = "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.8.tgz";
+        sha1 = "37068c2c476b6baf402d14a49c67f597921f634f";
+      };
+    }
+
+    {
+      name = "shelljs-0.7.6.tgz";
+      path = fetchurl {
+        name = "shelljs-0.7.6.tgz";
+        url  = "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.6.tgz";
+        sha1 = "379cccfb56b91c8601e4793356eb5382924de9ad";
+      };
+    }
+
+    {
+      name = "sigmund-1.0.1.tgz";
+      path = fetchurl {
+        name = "sigmund-1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz";
+        sha1 = "3ff21f198cad2175f9f3b781853fd94d0d19b590";
+      };
+    }
+
+    {
+      name = "signal-exit-3.0.2.tgz";
+      path = fetchurl {
+        name = "signal-exit-3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz";
+        sha1 = "b5fdc08f1287ea1178628e415e25132b73646c6d";
+      };
+    }
+
+    {
+      name = "slash-1.0.0.tgz";
+      path = fetchurl {
+        name = "slash-1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz";
+        sha1 = "c41f2f6c39fc16d1cd17ad4b5d896114ae470d55";
+      };
+    }
+
+    {
+      name = "slice-ansi-0.0.4.tgz";
+      path = fetchurl {
+        name = "slice-ansi-0.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz";
+        sha1 = "edbf8903f66f7ce2f8eafd6ceed65e264c831b35";
+      };
+    }
+
+    {
+      name = "slide-1.1.6.tgz";
+      path = fetchurl {
+        name = "slide-1.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz";
+        sha1 = "56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707";
+      };
+    }
+
+    {
+      name = "sntp-1.0.9.tgz";
+      path = fetchurl {
+        name = "sntp-1.0.9.tgz";
+        url  = "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz";
+        sha1 = "6541184cc90aeea6c6e7b35e2659082443c66198";
+      };
+    }
+
+    {
+      name = "socket.io-adapter-0.5.0.tgz";
+      path = fetchurl {
+        name = "socket.io-adapter-0.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-0.5.0.tgz";
+        sha1 = "cb6d4bb8bec81e1078b99677f9ced0046066bb8b";
+      };
+    }
+
+    {
+      name = "socket.io-client-1.7.3.tgz";
+      path = fetchurl {
+        name = "socket.io-client-1.7.3.tgz";
+        url  = "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-1.7.3.tgz";
+        sha1 = "b30e86aa10d5ef3546601c09cde4765e381da377";
+      };
+    }
+
+    {
+      name = "socket.io-parser-2.3.1.tgz";
+      path = fetchurl {
+        name = "socket.io-parser-2.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-2.3.1.tgz";
+        sha1 = "dd532025103ce429697326befd64005fcfe5b4a0";
+      };
+    }
+
+    {
+      name = "socket.io-1.7.3.tgz";
+      path = fetchurl {
+        name = "socket.io-1.7.3.tgz";
+        url  = "https://registry.yarnpkg.com/socket.io/-/socket.io-1.7.3.tgz";
+        sha1 = "b8af9caba00949e568e369f1327ea9be9ea2461b";
+      };
+    }
+
+    {
+      name = "sockjs-client-1.0.1.tgz";
+      path = fetchurl {
+        name = "sockjs-client-1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.0.1.tgz";
+        sha1 = "8943ae05b46547bc2054816c409002cf5e2fe026";
+      };
+    }
+
+    {
+      name = "sockjs-client-1.1.2.tgz";
+      path = fetchurl {
+        name = "sockjs-client-1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.1.2.tgz";
+        sha1 = "f0212a8550e4c9468c8cceaeefd2e3493c033ad5";
+      };
+    }
+
+    {
+      name = "sockjs-0.3.18.tgz";
+      path = fetchurl {
+        name = "sockjs-0.3.18.tgz";
+        url  = "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.18.tgz";
+        sha1 = "d9b289316ca7df77595ef299e075f0f937eb4207";
+      };
+    }
+
+    {
+      name = "sort-keys-1.1.2.tgz";
+      path = fetchurl {
+        name = "sort-keys-1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz";
+        sha1 = "441b6d4d346798f1b4e49e8920adfba0e543f9ad";
+      };
+    }
+
+    {
+      name = "source-list-map-0.1.8.tgz";
+      path = fetchurl {
+        name = "source-list-map-0.1.8.tgz";
+        url  = "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.8.tgz";
+        sha1 = "c550b2ab5427f6b3f21f5afead88c4f5587b2106";
+      };
+    }
+
+    {
+      name = "source-list-map-1.1.1.tgz";
+      path = fetchurl {
+        name = "source-list-map-1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/source-list-map/-/source-list-map-1.1.1.tgz";
+        sha1 = "1a33ac210ca144d1e561f906ebccab5669ff4cb4";
+      };
+    }
+
+    {
+      name = "source-map-support-0.4.11.tgz";
+      path = fetchurl {
+        name = "source-map-support-0.4.11.tgz";
+        url  = "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.11.tgz";
+        sha1 = "647f939978b38535909530885303daf23279f322";
+      };
+    }
+
+    {
+      name = "source-map-0.5.6.tgz";
+      path = fetchurl {
+        name = "source-map-0.5.6.tgz";
+        url  = "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz";
+        sha1 = "75ce38f52bf0733c5a7f0c118d81334a2bb5f412";
+      };
+    }
+
+    {
+      name = "source-map-0.1.43.tgz";
+      path = fetchurl {
+        name = "source-map-0.1.43.tgz";
+        url  = "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz";
+        sha1 = "c24bc146ca517c1471f5dacbe2571b2b7f9e3346";
+      };
+    }
+
+    {
+      name = "source-map-0.4.4.tgz";
+      path = fetchurl {
+        name = "source-map-0.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz";
+        sha1 = "eba4f5da9c0dc999de68032d8b4f76173652036b";
+      };
+    }
+
+    {
+      name = "source-map-0.2.0.tgz";
+      path = fetchurl {
+        name = "source-map-0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/source-map/-/source-map-0.2.0.tgz";
+        sha1 = "dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d";
+      };
+    }
+
+    {
+      name = "spdx-correct-1.0.2.tgz";
+      path = fetchurl {
+        name = "spdx-correct-1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz";
+        sha1 = "4b3073d933ff51f3912f03ac5519498a4150db40";
+      };
+    }
+
+    {
+      name = "spdx-expression-parse-1.0.4.tgz";
+      path = fetchurl {
+        name = "spdx-expression-parse-1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz";
+        sha1 = "9bdf2f20e1f40ed447fbe273266191fced51626c";
+      };
+    }
+
+    {
+      name = "spdx-license-ids-1.2.2.tgz";
+      path = fetchurl {
+        name = "spdx-license-ids-1.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz";
+        sha1 = "c9df7a3424594ade6bd11900d596696dc06bac57";
+      };
+    }
+
+    {
+      name = "spdy-transport-2.0.18.tgz";
+      path = fetchurl {
+        name = "spdy-transport-2.0.18.tgz";
+        url  = "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-2.0.18.tgz";
+        sha1 = "43fc9c56be2cccc12bb3e2754aa971154e836ea6";
+      };
+    }
+
+    {
+      name = "spdy-3.4.4.tgz";
+      path = fetchurl {
+        name = "spdy-3.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/spdy/-/spdy-3.4.4.tgz";
+        sha1 = "e0406407ca90ff01b553eb013505442649f5a819";
+      };
+    }
+
+    {
+      name = "split-0.3.3.tgz";
+      path = fetchurl {
+        name = "split-0.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/split/-/split-0.3.3.tgz";
+        sha1 = "cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f";
+      };
+    }
+
+    {
+      name = "sprintf-js-1.0.3.tgz";
+      path = fetchurl {
+        name = "sprintf-js-1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz";
+        sha1 = "04e6926f662895354f3dd015203633b857297e2c";
+      };
+    }
+
+    {
+      name = "sql.js-0.4.0.tgz";
+      path = fetchurl {
+        name = "sql.js-0.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/sql.js/-/sql.js-0.4.0.tgz";
+        sha1 = "23be9635520eb0ff43a741e7e830397266e88445";
+      };
+    }
+
+    {
+      name = "sshpk-1.10.2.tgz";
+      path = fetchurl {
+        name = "sshpk-1.10.2.tgz";
+        url  = "https://registry.yarnpkg.com/sshpk/-/sshpk-1.10.2.tgz";
+        sha1 = "d5a804ce22695515638e798dbe23273de070a5fa";
+      };
+    }
+
+    {
+      name = "stats-webpack-plugin-0.4.3.tgz";
+      path = fetchurl {
+        name = "stats-webpack-plugin-0.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/stats-webpack-plugin/-/stats-webpack-plugin-0.4.3.tgz";
+        sha1 = "b2f618202f28dd04ab47d7ecf54ab846137b7aea";
+      };
+    }
+
+    {
+      name = "statuses-1.3.1.tgz";
+      path = fetchurl {
+        name = "statuses-1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz";
+        sha1 = "faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e";
+      };
+    }
+
+    {
+      name = "stream-browserify-2.0.1.tgz";
+      path = fetchurl {
+        name = "stream-browserify-2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz";
+        sha1 = "66266ee5f9bdb9940a4e4514cafb43bb71e5c9db";
+      };
+    }
+
+    {
+      name = "stream-combiner-0.0.4.tgz";
+      path = fetchurl {
+        name = "stream-combiner-0.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.0.4.tgz";
+        sha1 = "4d5e433c185261dde623ca3f44c586bcf5c4ad14";
+      };
+    }
+
+    {
+      name = "stream-http-2.6.3.tgz";
+      path = fetchurl {
+        name = "stream-http-2.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/stream-http/-/stream-http-2.6.3.tgz";
+        sha1 = "4c3ddbf9635968ea2cfd4e48d43de5def2625ac3";
+      };
+    }
+
+    {
+      name = "stream-shift-1.0.0.tgz";
+      path = fetchurl {
+        name = "stream-shift-1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz";
+        sha1 = "d5c752825e5367e786f78e18e445ea223a155952";
+      };
+    }
+
+    {
+      name = "strict-uri-encode-1.1.0.tgz";
+      path = fetchurl {
+        name = "strict-uri-encode-1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz";
+        sha1 = "279b225df1d582b1f54e65addd4352e18faa0713";
+      };
+    }
+
+    {
+      name = "string-length-1.0.1.tgz";
+      path = fetchurl {
+        name = "string-length-1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/string-length/-/string-length-1.0.1.tgz";
+        sha1 = "56970fb1c38558e9e70b728bf3de269ac45adfac";
+      };
+    }
+
+    {
+      name = "string-width-1.0.2.tgz";
+      path = fetchurl {
+        name = "string-width-1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz";
+        sha1 = "118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3";
+      };
+    }
+
+    {
+      name = "string-width-2.0.0.tgz";
+      path = fetchurl {
+        name = "string-width-2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/string-width/-/string-width-2.0.0.tgz";
+        sha1 = "635c5436cc72a6e0c387ceca278d4e2eec52687e";
+      };
+    }
+
+    {
+      name = "string_decoder-0.10.31.tgz";
+      path = fetchurl {
+        name = "string_decoder-0.10.31.tgz";
+        url  = "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz";
+        sha1 = "62e203bc41766c6c28c9fc84301dab1c5310fa94";
+      };
+    }
+
+    {
+      name = "stringstream-0.0.5.tgz";
+      path = fetchurl {
+        name = "stringstream-0.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz";
+        sha1 = "4e484cd4de5a0bbbee18e46307710a8a81621878";
+      };
+    }
+
+    {
+      name = "strip-ansi-3.0.1.tgz";
+      path = fetchurl {
+        name = "strip-ansi-3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz";
+        sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf";
+      };
+    }
+
+    {
+      name = "strip-bom-2.0.0.tgz";
+      path = fetchurl {
+        name = "strip-bom-2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz";
+        sha1 = "6219a85616520491f35788bdbf1447a99c7e6b0e";
+      };
+    }
+
+    {
+      name = "strip-bom-3.0.0.tgz";
+      path = fetchurl {
+        name = "strip-bom-3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz";
+        sha1 = "2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3";
+      };
+    }
+
+    {
+      name = "strip-json-comments-1.0.4.tgz";
+      path = fetchurl {
+        name = "strip-json-comments-1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz";
+        sha1 = "1e15fbcac97d3ee99bf2d73b4c656b082bbafb91";
+      };
+    }
+
+    {
+      name = "strip-json-comments-2.0.1.tgz";
+      path = fetchurl {
+        name = "strip-json-comments-2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz";
+        sha1 = "3c531942e908c2697c0ec344858c286c7ca0a60a";
+      };
+    }
+
+    {
+      name = "supports-color-0.2.0.tgz";
+      path = fetchurl {
+        name = "supports-color-0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/supports-color/-/supports-color-0.2.0.tgz";
+        sha1 = "d92de2694eb3f67323973d7ae3d8b55b4c22190a";
+      };
+    }
+
+    {
+      name = "supports-color-2.0.0.tgz";
+      path = fetchurl {
+        name = "supports-color-2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz";
+        sha1 = "535d045ce6b6363fa40117084629995e9df324c7";
+      };
+    }
+
+    {
+      name = "supports-color-3.2.3.tgz";
+      path = fetchurl {
+        name = "supports-color-3.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz";
+        sha1 = "65ac0504b3954171d8a64946b2ae3cbb8a5f54f6";
+      };
+    }
+
+    {
+      name = "svgo-0.7.2.tgz";
+      path = fetchurl {
+        name = "svgo-0.7.2.tgz";
+        url  = "https://registry.yarnpkg.com/svgo/-/svgo-0.7.2.tgz";
+        sha1 = "9f5772413952135c6fefbf40afe6a4faa88b4bb5";
+      };
+    }
+
+    {
+      name = "table-3.8.3.tgz";
+      path = fetchurl {
+        name = "table-3.8.3.tgz";
+        url  = "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz";
+        sha1 = "2bbc542f0fda9861a755d3947fefd8b3f513855f";
+      };
+    }
+
+    {
+      name = "tapable-0.1.10.tgz";
+      path = fetchurl {
+        name = "tapable-0.1.10.tgz";
+        url  = "https://registry.yarnpkg.com/tapable/-/tapable-0.1.10.tgz";
+        sha1 = "29c35707c2b70e50d07482b5d202e8ed446dafd4";
+      };
+    }
+
+    {
+      name = "tapable-0.2.6.tgz";
+      path = fetchurl {
+        name = "tapable-0.2.6.tgz";
+        url  = "https://registry.yarnpkg.com/tapable/-/tapable-0.2.6.tgz";
+        sha1 = "206be8e188860b514425375e6f1ae89bfb01fd8d";
+      };
+    }
+
+    {
+      name = "tar-pack-3.3.0.tgz";
+      path = fetchurl {
+        name = "tar-pack-3.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.3.0.tgz";
+        sha1 = "30931816418f55afc4d21775afdd6720cee45dae";
+      };
+    }
+
+    {
+      name = "tar-2.2.1.tgz";
+      path = fetchurl {
+        name = "tar-2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz";
+        sha1 = "8e4d2a256c0e2185c6b18ad694aec968b83cb1d1";
+      };
+    }
+
+    {
+      name = "test-exclude-4.0.0.tgz";
+      path = fetchurl {
+        name = "test-exclude-4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/test-exclude/-/test-exclude-4.0.0.tgz";
+        sha1 = "0ddc0100b8ae7e88b34eb4fd98a907e961991900";
+      };
+    }
+
+    {
+      name = "text-table-0.2.0.tgz";
+      path = fetchurl {
+        name = "text-table-0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz";
+        sha1 = "7f5ee823ae805207c00af2df4a84ec3fcfa570b4";
+      };
+    }
+
+    {
+      name = "three-orbit-controls-82.1.0.tgz";
+      path = fetchurl {
+        name = "three-orbit-controls-82.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/three-orbit-controls/-/three-orbit-controls-82.1.0.tgz";
+        sha1 = "11a7f33d0a20ecec98f098b37780f6537374fab4";
+      };
+    }
+
+    {
+      name = "three-stl-loader-1.0.4.tgz";
+      path = fetchurl {
+        name = "three-stl-loader-1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/three-stl-loader/-/three-stl-loader-1.0.4.tgz";
+        sha1 = "6b3319a31e3b910aab1883d19b00c81a663c3e03";
+      };
+    }
+
+    {
+      name = "three-0.84.0.tgz";
+      path = fetchurl {
+        name = "three-0.84.0.tgz";
+        url  = "https://registry.yarnpkg.com/three/-/three-0.84.0.tgz";
+        sha1 = "95be85a55a0fa002aa625ed559130957dcffd918";
+      };
+    }
+
+    {
+      name = "through-2.3.8.tgz";
+      path = fetchurl {
+        name = "through-2.3.8.tgz";
+        url  = "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz";
+        sha1 = "0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5";
+      };
+    }
+
+    {
+      name = "timeago.js-2.0.5.tgz";
+      path = fetchurl {
+        name = "timeago.js-2.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/timeago.js/-/timeago.js-2.0.5.tgz";
+        sha1 = "730c74fbdb0b0917a553675a4460e3a7f80db86c";
+      };
+    }
+
+    {
+      name = "timed-out-2.0.0.tgz";
+      path = fetchurl {
+        name = "timed-out-2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/timed-out/-/timed-out-2.0.0.tgz";
+        sha1 = "f38b0ae81d3747d628001f41dafc652ace671c0a";
+      };
+    }
+
+    {
+      name = "timers-browserify-1.4.2.tgz";
+      path = fetchurl {
+        name = "timers-browserify-1.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-1.4.2.tgz";
+        sha1 = "c9c58b575be8407375cb5e2462dacee74359f41d";
+      };
+    }
+
+    {
+      name = "timers-browserify-2.0.2.tgz";
+      path = fetchurl {
+        name = "timers-browserify-2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.2.tgz";
+        sha1 = "ab4883cf597dcd50af211349a00fbca56ac86b86";
+      };
+    }
+
+    {
+      name = "tiny-emitter-1.1.0.tgz";
+      path = fetchurl {
+        name = "tiny-emitter-1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-1.1.0.tgz";
+        sha1 = "ab405a21ffed814a76c19739648093d70654fecb";
+      };
+    }
+
+    {
+      name = "tmp-0.0.31.tgz";
+      path = fetchurl {
+        name = "tmp-0.0.31.tgz";
+        url  = "https://registry.yarnpkg.com/tmp/-/tmp-0.0.31.tgz";
+        sha1 = "8f38ab9438e17315e5dbd8b3657e8bfb277ae4a7";
+      };
+    }
+
+    {
+      name = "to-array-0.1.4.tgz";
+      path = fetchurl {
+        name = "to-array-0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz";
+        sha1 = "17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890";
+      };
+    }
+
+    {
+      name = "to-arraybuffer-1.0.1.tgz";
+      path = fetchurl {
+        name = "to-arraybuffer-1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz";
+        sha1 = "7d229b1fcc637e466ca081180836a7aabff83f43";
+      };
+    }
+
+    {
+      name = "to-fast-properties-1.0.2.tgz";
+      path = fetchurl {
+        name = "to-fast-properties-1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.2.tgz";
+        sha1 = "f3f5c0c3ba7299a7ef99427e44633257ade43320";
+      };
+    }
+
+    {
+      name = "touch-1.0.0.tgz";
+      path = fetchurl {
+        name = "touch-1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/touch/-/touch-1.0.0.tgz";
+        sha1 = "449cbe2dbae5a8c8038e30d71fa0ff464947c4de";
+      };
+    }
+
+    {
+      name = "tough-cookie-2.3.2.tgz";
+      path = fetchurl {
+        name = "tough-cookie-2.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz";
+        sha1 = "f081f76e4c85720e6c37a5faced737150d84072a";
+      };
+    }
+
+    {
+      name = "traverse-0.6.6.tgz";
+      path = fetchurl {
+        name = "traverse-0.6.6.tgz";
+        url  = "https://registry.yarnpkg.com/traverse/-/traverse-0.6.6.tgz";
+        sha1 = "cbdf560fd7b9af632502fed40f918c157ea97137";
+      };
+    }
+
+    {
+      name = "trim-right-1.0.1.tgz";
+      path = fetchurl {
+        name = "trim-right-1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz";
+        sha1 = "cb2e1203067e0c8de1f614094b9fe45704ea6003";
+      };
+    }
+
+    {
+      name = "tryit-1.0.3.tgz";
+      path = fetchurl {
+        name = "tryit-1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/tryit/-/tryit-1.0.3.tgz";
+        sha1 = "393be730a9446fd1ead6da59a014308f36c289cb";
+      };
+    }
+
+    {
+      name = "tty-browserify-0.0.0.tgz";
+      path = fetchurl {
+        name = "tty-browserify-0.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz";
+        sha1 = "a157ba402da24e9bf957f9aa69d524eed42901a6";
+      };
+    }
+
+    {
+      name = "tunnel-agent-0.4.3.tgz";
+      path = fetchurl {
+        name = "tunnel-agent-0.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz";
+        sha1 = "6373db76909fe570e08d73583365ed828a74eeeb";
+      };
+    }
+
+    {
+      name = "tweetnacl-0.14.5.tgz";
+      path = fetchurl {
+        name = "tweetnacl-0.14.5.tgz";
+        url  = "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz";
+        sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64";
+      };
+    }
+
+    {
+      name = "type-check-0.3.2.tgz";
+      path = fetchurl {
+        name = "type-check-0.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz";
+        sha1 = "5884cab512cf1d355e3fb784f30804b2b520db72";
+      };
+    }
+
+    {
+      name = "type-is-1.6.15.tgz";
+      path = fetchurl {
+        name = "type-is-1.6.15.tgz";
+        url  = "https://registry.yarnpkg.com/type-is/-/type-is-1.6.15.tgz";
+        sha1 = "cab10fb4909e441c82842eafe1ad646c81804410";
+      };
+    }
+
+    {
+      name = "typedarray-0.0.6.tgz";
+      path = fetchurl {
+        name = "typedarray-0.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz";
+        sha1 = "867ac74e3864187b1d3d47d996a78ec5c8830777";
+      };
+    }
+
+    {
+      name = "uglify-js-2.8.27.tgz";
+      path = fetchurl {
+        name = "uglify-js-2.8.27.tgz";
+        url  = "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.27.tgz";
+        sha1 = "47787f912b0f242e5b984343be8e35e95f694c9c";
+      };
+    }
+
+    {
+      name = "uglify-to-browserify-1.0.2.tgz";
+      path = fetchurl {
+        name = "uglify-to-browserify-1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz";
+        sha1 = "6e0924d6bda6b5afe349e39a6d632850a0f882b7";
+      };
+    }
+
+    {
+      name = "uid-number-0.0.6.tgz";
+      path = fetchurl {
+        name = "uid-number-0.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz";
+        sha1 = "0ea10e8035e8eb5b8e4449f06da1c730663baa81";
+      };
+    }
+
+    {
+      name = "ultron-1.0.2.tgz";
+      path = fetchurl {
+        name = "ultron-1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/ultron/-/ultron-1.0.2.tgz";
+        sha1 = "ace116ab557cd197386a4e88f4685378c8b2e4fa";
+      };
+    }
+
+    {
+      name = "ultron-1.1.0.tgz";
+      path = fetchurl {
+        name = "ultron-1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/ultron/-/ultron-1.1.0.tgz";
+        sha1 = "b07a2e6a541a815fc6a34ccd4533baec307ca864";
+      };
+    }
+
+    {
+      name = "unc-path-regex-0.1.2.tgz";
+      path = fetchurl {
+        name = "unc-path-regex-0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz";
+        sha1 = "e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa";
+      };
+    }
+
+    {
+      name = "undefsafe-0.0.3.tgz";
+      path = fetchurl {
+        name = "undefsafe-0.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/undefsafe/-/undefsafe-0.0.3.tgz";
+        sha1 = "ecca3a03e56b9af17385baac812ac83b994a962f";
+      };
+    }
+
+    {
+      name = "underscore-1.8.3.tgz";
+      path = fetchurl {
+        name = "underscore-1.8.3.tgz";
+        url  = "https://registry.yarnpkg.com/underscore/-/underscore-1.8.3.tgz";
+        sha1 = "4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022";
+      };
+    }
+
+    {
+      name = "uniq-1.0.1.tgz";
+      path = fetchurl {
+        name = "uniq-1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz";
+        sha1 = "b31c5ae8254844a3a8281541ce2b04b865a734ff";
+      };
+    }
+
+    {
+      name = "uniqid-4.1.1.tgz";
+      path = fetchurl {
+        name = "uniqid-4.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/uniqid/-/uniqid-4.1.1.tgz";
+        sha1 = "89220ddf6b751ae52b5f72484863528596bb84c1";
+      };
+    }
+
+    {
+      name = "uniqs-2.0.0.tgz";
+      path = fetchurl {
+        name = "uniqs-2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz";
+        sha1 = "ffede4b36b25290696e6e165d4a59edb998e6b02";
+      };
+    }
+
+    {
+      name = "unpipe-1.0.0.tgz";
+      path = fetchurl {
+        name = "unpipe-1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz";
+        sha1 = "b2bf4ee8514aae6165b4817829d21b2ef49904ec";
+      };
+    }
+
+    {
+      name = "update-notifier-0.5.0.tgz";
+      path = fetchurl {
+        name = "update-notifier-0.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/update-notifier/-/update-notifier-0.5.0.tgz";
+        sha1 = "07b5dc2066b3627ab3b4f530130f7eddda07a4cc";
+      };
+    }
+
+    {
+      name = "url-loader-0.5.8.tgz";
+      path = fetchurl {
+        name = "url-loader-0.5.8.tgz";
+        url  = "https://registry.yarnpkg.com/url-loader/-/url-loader-0.5.8.tgz";
+        sha1 = "b9183b1801e0f847718673673040bc9dc1c715c5";
+      };
+    }
+
+    {
+      name = "url-parse-1.0.5.tgz";
+      path = fetchurl {
+        name = "url-parse-1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/url-parse/-/url-parse-1.0.5.tgz";
+        sha1 = "0854860422afdcfefeb6c965c662d4800169927b";
+      };
+    }
+
+    {
+      name = "url-parse-1.1.7.tgz";
+      path = fetchurl {
+        name = "url-parse-1.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/url-parse/-/url-parse-1.1.7.tgz";
+        sha1 = "025cff999653a459ab34232147d89514cc87d74a";
+      };
+    }
+
+    {
+      name = "url-0.11.0.tgz";
+      path = fetchurl {
+        name = "url-0.11.0.tgz";
+        url  = "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz";
+        sha1 = "3838e97cfc60521eb73c525a8e55bfdd9e2e28f1";
+      };
+    }
+
+    {
+      name = "user-home-2.0.0.tgz";
+      path = fetchurl {
+        name = "user-home-2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz";
+        sha1 = "9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f";
+      };
+    }
+
+    {
+      name = "useragent-2.1.13.tgz";
+      path = fetchurl {
+        name = "useragent-2.1.13.tgz";
+        url  = "https://registry.yarnpkg.com/useragent/-/useragent-2.1.13.tgz";
+        sha1 = "bba43e8aa24d5ceb83c2937473e102e21df74c10";
+      };
+    }
+
+    {
+      name = "util-deprecate-1.0.2.tgz";
+      path = fetchurl {
+        name = "util-deprecate-1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz";
+        sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf";
+      };
+    }
+
+    {
+      name = "util-0.10.3.tgz";
+      path = fetchurl {
+        name = "util-0.10.3.tgz";
+        url  = "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz";
+        sha1 = "7afb1afe50805246489e3db7fe0ed379336ac0f9";
+      };
+    }
+
+    {
+      name = "utils-merge-1.0.0.tgz";
+      path = fetchurl {
+        name = "utils-merge-1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.0.tgz";
+        sha1 = "0294fb922bb9375153541c4f7096231f287c8af8";
+      };
+    }
+
+    {
+      name = "uuid-2.0.3.tgz";
+      path = fetchurl {
+        name = "uuid-2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz";
+        sha1 = "67e2e863797215530dff318e5bf9dcebfd47b21a";
+      };
+    }
+
+    {
+      name = "uuid-3.0.1.tgz";
+      path = fetchurl {
+        name = "uuid-3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz";
+        sha1 = "6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1";
+      };
+    }
+
+    {
+      name = "validate-npm-package-license-3.0.1.tgz";
+      path = fetchurl {
+        name = "validate-npm-package-license-3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz";
+        sha1 = "2804babe712ad3379459acfbe24746ab2c303fbc";
+      };
+    }
+
+    {
+      name = "vary-1.1.1.tgz";
+      path = fetchurl {
+        name = "vary-1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/vary/-/vary-1.1.1.tgz";
+        sha1 = "67535ebb694c1d52257457984665323f587e8d37";
+      };
+    }
+
+    {
+      name = "vendors-1.0.1.tgz";
+      path = fetchurl {
+        name = "vendors-1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/vendors/-/vendors-1.0.1.tgz";
+        sha1 = "37ad73c8ee417fb3d580e785312307d274847f22";
+      };
+    }
+
+    {
+      name = "verror-1.3.6.tgz";
+      path = fetchurl {
+        name = "verror-1.3.6.tgz";
+        url  = "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz";
+        sha1 = "cff5df12946d297d2baaefaa2689e25be01c005c";
+      };
+    }
+
+    {
+      name = "visibilityjs-1.2.4.tgz";
+      path = fetchurl {
+        name = "visibilityjs-1.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/visibilityjs/-/visibilityjs-1.2.4.tgz";
+        sha1 = "bff8663da62c8c10ad4ee5ae6a1ae6fac4259d63";
+      };
+    }
+
+    {
+      name = "vm-browserify-0.0.4.tgz";
+      path = fetchurl {
+        name = "vm-browserify-0.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz";
+        sha1 = "5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73";
+      };
+    }
+
+    {
+      name = "void-elements-2.0.1.tgz";
+      path = fetchurl {
+        name = "void-elements-2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz";
+        sha1 = "c066afb582bb1cb4128d60ea92392e94d5e9dbec";
+      };
+    }
+
+    {
+      name = "vue-hot-reload-api-2.0.11.tgz";
+      path = fetchurl {
+        name = "vue-hot-reload-api-2.0.11.tgz";
+        url  = "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.0.11.tgz";
+        sha1 = "bf26374fb73366ce03f799e65ef5dfd0e28a1568";
+      };
+    }
+
+    {
+      name = "vue-loader-11.3.4.tgz";
+      path = fetchurl {
+        name = "vue-loader-11.3.4.tgz";
+        url  = "https://registry.yarnpkg.com/vue-loader/-/vue-loader-11.3.4.tgz";
+        sha1 = "65e10a44ce092d906e14bbc72981dec99eb090d2";
+      };
+    }
+
+    {
+      name = "vue-resource-0.9.3.tgz";
+      path = fetchurl {
+        name = "vue-resource-0.9.3.tgz";
+        url  = "https://registry.yarnpkg.com/vue-resource/-/vue-resource-0.9.3.tgz";
+        sha1 = "ab46e1c44ea219142dcc28ae4043b3b04c80959d";
+      };
+    }
+
+    {
+      name = "vue-style-loader-2.0.5.tgz";
+      path = fetchurl {
+        name = "vue-style-loader-2.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/vue-style-loader/-/vue-style-loader-2.0.5.tgz";
+        sha1 = "f0efac992febe3f12e493e334edb13cd235a3d22";
+      };
+    }
+
+    {
+      name = "vue-template-compiler-2.2.6.tgz";
+      path = fetchurl {
+        name = "vue-template-compiler-2.2.6.tgz";
+        url  = "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.2.6.tgz";
+        sha1 = "2e2928daf0cd0feca9dfc35a9729adeae173ec68";
+      };
+    }
+
+    {
+      name = "vue-template-es2015-compiler-1.5.1.tgz";
+      path = fetchurl {
+        name = "vue-template-es2015-compiler-1.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.5.1.tgz";
+        sha1 = "0c36cc57aa3a9ec13e846342cb14a72fcac8bd93";
+      };
+    }
+
+    {
+      name = "vue-2.2.6.tgz";
+      path = fetchurl {
+        name = "vue-2.2.6.tgz";
+        url  = "https://registry.yarnpkg.com/vue/-/vue-2.2.6.tgz";
+        sha1 = "451714b394dd6d4eae7b773c40c2034a59621aed";
+      };
+    }
+
+    {
+      name = "watchpack-1.3.1.tgz";
+      path = fetchurl {
+        name = "watchpack-1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/watchpack/-/watchpack-1.3.1.tgz";
+        sha1 = "7d8693907b28ce6013e7f3610aa2a1acf07dad87";
+      };
+    }
+
+    {
+      name = "wbuf-1.7.2.tgz";
+      path = fetchurl {
+        name = "wbuf-1.7.2.tgz";
+        url  = "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.2.tgz";
+        sha1 = "d697b99f1f59512df2751be42769c1580b5801fe";
+      };
+    }
+
+    {
+      name = "webpack-bundle-analyzer-2.8.2.tgz";
+      path = fetchurl {
+        name = "webpack-bundle-analyzer-2.8.2.tgz";
+        url  = "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-2.8.2.tgz";
+        sha1 = "8b6240c29a9d63bc72f09d920fb050adbcce9fe8";
+      };
+    }
+
+    {
+      name = "webpack-dev-middleware-1.10.0.tgz";
+      path = fetchurl {
+        name = "webpack-dev-middleware-1.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.10.0.tgz";
+        sha1 = "7d5be2651e692fddfafd8aaed177c16ff51f0eb8";
+      };
+    }
+
+    {
+      name = "webpack-dev-server-2.4.2.tgz";
+      path = fetchurl {
+        name = "webpack-dev-server-2.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-2.4.2.tgz";
+        sha1 = "cf595d6b40878452b6d2ad7229056b686f8a16be";
+      };
+    }
+
+    {
+      name = "webpack-sources-0.1.4.tgz";
+      path = fetchurl {
+        name = "webpack-sources-0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.1.4.tgz";
+        sha1 = "ccc2c817e08e5fa393239412690bb481821393cd";
+      };
+    }
+
+    {
+      name = "webpack-sources-0.2.3.tgz";
+      path = fetchurl {
+        name = "webpack-sources-0.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.2.3.tgz";
+        sha1 = "17c62bfaf13c707f9d02c479e0dcdde8380697fb";
+      };
+    }
+
+    {
+      name = "webpack-2.6.1.tgz";
+      path = fetchurl {
+        name = "webpack-2.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/webpack/-/webpack-2.6.1.tgz";
+        sha1 = "2e0457f0abb1ac5df3ab106c69c672f236785f07";
+      };
+    }
+
+    {
+      name = "websocket-driver-0.6.5.tgz";
+      path = fetchurl {
+        name = "websocket-driver-0.6.5.tgz";
+        url  = "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.6.5.tgz";
+        sha1 = "5cb2556ceb85f4373c6d8238aa691c8454e13a36";
+      };
+    }
+
+    {
+      name = "websocket-extensions-0.1.1.tgz";
+      path = fetchurl {
+        name = "websocket-extensions-0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.1.tgz";
+        sha1 = "76899499c184b6ef754377c2dbb0cd6cb55d29e7";
+      };
+    }
+
+    {
+      name = "whet.extend-0.9.9.tgz";
+      path = fetchurl {
+        name = "whet.extend-0.9.9.tgz";
+        url  = "https://registry.yarnpkg.com/whet.extend/-/whet.extend-0.9.9.tgz";
+        sha1 = "f877d5bf648c97e5aa542fadc16d6a259b9c11a1";
+      };
+    }
+
+    {
+      name = "which-module-1.0.0.tgz";
+      path = fetchurl {
+        name = "which-module-1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz";
+        sha1 = "bba63ca861948994ff307736089e3b96026c2a4f";
+      };
+    }
+
+    {
+      name = "which-1.2.12.tgz";
+      path = fetchurl {
+        name = "which-1.2.12.tgz";
+        url  = "https://registry.yarnpkg.com/which/-/which-1.2.12.tgz";
+        sha1 = "de67b5e450269f194909ef23ece4ebe416fa1192";
+      };
+    }
+
+    {
+      name = "wide-align-1.1.0.tgz";
+      path = fetchurl {
+        name = "wide-align-1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.0.tgz";
+        sha1 = "40edde802a71fea1f070da3e62dcda2e7add96ad";
+      };
+    }
+
+    {
+      name = "window-size-0.1.0.tgz";
+      path = fetchurl {
+        name = "window-size-0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz";
+        sha1 = "5438cd2ea93b202efa3a19fe8887aee7c94f9c9d";
+      };
+    }
+
+    {
+      name = "wordwrap-0.0.2.tgz";
+      path = fetchurl {
+        name = "wordwrap-0.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz";
+        sha1 = "b79669bb42ecb409f83d583cad52ca17eaa1643f";
+      };
+    }
+
+    {
+      name = "wordwrap-1.0.0.tgz";
+      path = fetchurl {
+        name = "wordwrap-1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz";
+        sha1 = "27584810891456a4171c8d0226441ade90cbcaeb";
+      };
+    }
+
+    {
+      name = "wordwrap-0.0.3.tgz";
+      path = fetchurl {
+        name = "wordwrap-0.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz";
+        sha1 = "a3d5da6cd5c0bc0008d37234bbaf1bed63059107";
+      };
+    }
+
+    {
+      name = "worker-loader-0.8.0.tgz";
+      path = fetchurl {
+        name = "worker-loader-0.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/worker-loader/-/worker-loader-0.8.0.tgz";
+        sha1 = "13582960dcd7d700dc829d3fd252a7561696167e";
+      };
+    }
+
+    {
+      name = "wrap-ansi-2.1.0.tgz";
+      path = fetchurl {
+        name = "wrap-ansi-2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz";
+        sha1 = "d8fc3d284dd05794fe84973caecdd1cf824fdd85";
+      };
+    }
+
+    {
+      name = "wrappy-1.0.2.tgz";
+      path = fetchurl {
+        name = "wrappy-1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz";
+        sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f";
+      };
+    }
+
+    {
+      name = "write-file-atomic-1.3.1.tgz";
+      path = fetchurl {
+        name = "write-file-atomic-1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.3.1.tgz";
+        sha1 = "7d45ba32316328dd1ec7d90f60ebc0d845bb759a";
+      };
+    }
+
+    {
+      name = "write-0.2.1.tgz";
+      path = fetchurl {
+        name = "write-0.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz";
+        sha1 = "5fc03828e264cea3fe91455476f7a3c566cb0757";
+      };
+    }
+
+    {
+      name = "ws-1.1.2.tgz";
+      path = fetchurl {
+        name = "ws-1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/ws/-/ws-1.1.2.tgz";
+        sha1 = "8a244fa052401e08c9886cf44a85189e1fd4067f";
+      };
+    }
+
+    {
+      name = "ws-2.3.1.tgz";
+      path = fetchurl {
+        name = "ws-2.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/ws/-/ws-2.3.1.tgz";
+        sha1 = "6b94b3e447cb6a363f785eaf94af6359e8e81c80";
+      };
+    }
+
+    {
+      name = "wtf-8-1.0.0.tgz";
+      path = fetchurl {
+        name = "wtf-8-1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/wtf-8/-/wtf-8-1.0.0.tgz";
+        sha1 = "392d8ba2d0f1c34d1ee2d630f15d0efb68e1048a";
+      };
+    }
+
+    {
+      name = "xdg-basedir-2.0.0.tgz";
+      path = fetchurl {
+        name = "xdg-basedir-2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-2.0.0.tgz";
+        sha1 = "edbc903cc385fc04523d966a335504b5504d1bd2";
+      };
+    }
+
+    {
+      name = "xmlhttprequest-ssl-1.5.3.tgz";
+      path = fetchurl {
+        name = "xmlhttprequest-ssl-1.5.3.tgz";
+        url  = "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz";
+        sha1 = "185a888c04eca46c3e4070d99f7b49de3528992d";
+      };
+    }
+
+    {
+      name = "xtend-4.0.1.tgz";
+      path = fetchurl {
+        name = "xtend-4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz";
+        sha1 = "a5c6d532be656e23db820efb943a1f04998d63af";
+      };
+    }
+
+    {
+      name = "y18n-3.2.1.tgz";
+      path = fetchurl {
+        name = "y18n-3.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz";
+        sha1 = "6d15fba884c08679c0d77e88e7759e811e07fa41";
+      };
+    }
+
+    {
+      name = "yallist-2.1.2.tgz";
+      path = fetchurl {
+        name = "yallist-2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz";
+        sha1 = "1c11f9218f076089a47dd512f93c6699a6a81d52";
+      };
+    }
+
+    {
+      name = "yargs-parser-4.2.1.tgz";
+      path = fetchurl {
+        name = "yargs-parser-4.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz";
+        sha1 = "29cceac0dc4f03c6c87b4a9f217dd18c9f74871c";
+      };
+    }
+
+    {
+      name = "yargs-6.6.0.tgz";
+      path = fetchurl {
+        name = "yargs-6.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz";
+        sha1 = "782ec21ef403345f830a808ca3d513af56065208";
+      };
+    }
+
+    {
+      name = "yargs-3.10.0.tgz";
+      path = fetchurl {
+        name = "yargs-3.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz";
+        sha1 = "f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1";
+      };
+    }
+
+    {
+      name = "yeast-0.1.2.tgz";
+      path = fetchurl {
+        name = "yeast-0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz";
+        sha1 = "008e06d8094320c372dbc2f8ed76a0ca6c8ac419";
+      };
+    }
+  ];
+}
diff --git a/pkgs/desktops/mate/atril/default.nix b/pkgs/desktops/mate/atril/default.nix
index 089b54de15e4..5b02c6ad117f 100644
--- a/pkgs/desktops/mate/atril/default.nix
+++ b/pkgs/desktops/mate/atril/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, gtk3, libxml2, libsecret, poppler, itstool, mate, wrapGAppsHook }:
+{ stdenv, fetchurl, pkgconfig, intltool, gtk3, libxml2, libsecret, poppler, itstool, mate, hicolor_icon_theme, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   name = "atril-${version}";
@@ -23,6 +23,7 @@ stdenv.mkDerivation rec {
     libsecret
     libxml2
     poppler
+    hicolor_icon_theme
     mate.mate-desktop
   ];
 
diff --git a/pkgs/desktops/mate/default.nix b/pkgs/desktops/mate/default.nix
index 3cac721c0eb3..0db1d3f74c0e 100644
--- a/pkgs/desktops/mate/default.nix
+++ b/pkgs/desktops/mate/default.nix
@@ -23,6 +23,7 @@ let
     mate-icon-theme = callPackage ./mate-icon-theme { };
     mate-icon-theme-faenza = callPackage ./mate-icon-theme-faenza { };
     mate-menus = callPackage ./mate-menus { };
+    mate-notification-daemon = callPackage ./mate-notification-daemon { };
     mate-panel = callPackage ./mate-panel { };
     mate-session-manager = callPackage ./mate-session-manager { };
     mate-settings-daemon = callPackage ./mate-settings-daemon { };
@@ -41,6 +42,7 @@ let
       mate-desktop
       mate-icon-theme
       mate-menus
+      mate-notification-daemon
       mate-panel
       mate-session-manager
       mate-settings-daemon
diff --git a/pkgs/desktops/mate/engrampa/default.nix b/pkgs/desktops/mate/engrampa/default.nix
index dea2bea5ee9b..026890829890 100644
--- a/pkgs/desktops/mate/engrampa/default.nix
+++ b/pkgs/desktops/mate/engrampa/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, itstool, libxml2, gnome3, mate, wrapGAppsHook }:
+{ stdenv, fetchurl, pkgconfig, intltool, itstool, libxml2, gnome3, mate, hicolor_icon_theme, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   name = "engrampa-${version}";
@@ -22,6 +22,7 @@ stdenv.mkDerivation rec {
     libxml2
     gnome3.gtk
     mate.caja
+    hicolor_icon_theme
     mate.mate-desktop
   ];
 
diff --git a/pkgs/desktops/mate/eom/default.nix b/pkgs/desktops/mate/eom/default.nix
index 1c27958b0c97..c7651e1b5be8 100644
--- a/pkgs/desktops/mate/eom/default.nix
+++ b/pkgs/desktops/mate/eom/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, itstool, dbus_glib, exempi, lcms2, libexif, libjpeg, librsvg, libxml2, shared_mime_info, gnome3, mate, wrapGAppsHook }:
+{ stdenv, fetchurl, pkgconfig, intltool, itstool, dbus_glib, exempi, lcms2, libexif, libjpeg, librsvg, libxml2, shared_mime_info, gnome3, mate, hicolor_icon_theme, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   name = "eom-${version}";
@@ -15,6 +15,7 @@ stdenv.mkDerivation rec {
     pkgconfig
     intltool
     itstool
+    hicolor_icon_theme
     wrapGAppsHook
   ];
 
diff --git a/pkgs/desktops/mate/libmateweather/default.nix b/pkgs/desktops/mate/libmateweather/default.nix
index aafc0fa9ceba..4d7c9dd61d6d 100644
--- a/pkgs/desktops/mate/libmateweather/default.nix
+++ b/pkgs/desktops/mate/libmateweather/default.nix
@@ -20,6 +20,8 @@ stdenv.mkDerivation rec {
     "--enable-locations-compression"
   ];
 
+  preFixup = "rm -f $out/share/icons/mate/icon-theme.cache";
+
   meta = with stdenv.lib; {
     description = "Library to access weather information from online services for MATE";
     homepage = https://github.com/mate-desktop/libmateweather;
diff --git a/pkgs/desktops/mate/mate-control-center/default.nix b/pkgs/desktops/mate/mate-control-center/default.nix
index ad91069356f1..3b04d4b48aa1 100644
--- a/pkgs/desktops/mate/mate-control-center/default.nix
+++ b/pkgs/desktops/mate/mate-control-center/default.nix
@@ -1,4 +1,7 @@
-{ stdenv, fetchurl, pkgconfig, intltool, itstool, libxml2, dbus_glib, libxklavier, libcanberra_gtk3, desktop_file_utils, gnome3, mate, wrapGAppsHook }:
+{ stdenv, fetchurl, pkgconfig, intltool, itstool, libxml2, dbus_glib,
+  libxklavier, libcanberra_gtk3, librsvg, libappindicator-gtk3,
+  desktop_file_utils, gnome3, mate, hicolor_icon_theme, wrapGAppsHook
+}:
 
 stdenv.mkDerivation rec {
   name = "mate-control-center-${version}";
@@ -24,8 +27,11 @@ stdenv.mkDerivation rec {
     dbus_glib
     libxklavier
     libcanberra_gtk3
+    librsvg
+    libappindicator-gtk3
     gnome3.gtk
     gnome3.dconf
+    hicolor_icon_theme
     mate.mate-desktop
     mate.libmatekbd
     mate.mate-menus
diff --git a/pkgs/desktops/mate/mate-desktop/default.nix b/pkgs/desktops/mate/mate-desktop/default.nix
index eb247efe0525..8fea89cdcb6b 100644
--- a/pkgs/desktops/mate/mate-desktop/default.nix
+++ b/pkgs/desktops/mate/mate-desktop/default.nix
@@ -20,11 +20,6 @@ stdenv.mkDerivation rec {
   buildInputs = [
     gnome3.dconf
     gnome3.gtk
-    gnome3.defaultIconTheme
-  ];
-
-  propagatedUserEnvPkgs = [
-    gnome3.gnome_themes_standard
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/mate/mate-notification-daemon/default.nix b/pkgs/desktops/mate/mate-notification-daemon/default.nix
new file mode 100644
index 000000000000..5a64727419c6
--- /dev/null
+++ b/pkgs/desktops/mate/mate-notification-daemon/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, pkgconfig, intltool, dbus_glib, libcanberra_gtk3,
+  libnotify, libwnck3, gnome3, wrapGAppsHook }:
+
+stdenv.mkDerivation rec {
+  name = "mate-notification-daemon-${version}";
+  version = "${major-ver}.${minor-ver}";
+  major-ver = "1.18";
+  minor-ver = "0";
+
+  src = fetchurl {
+    url = "http://pub.mate-desktop.org/releases/${major-ver}/${name}.tar.xz";
+    sha256 = "0rhhv99ipxy7l4fdgwvqp3g0c3d4njq0fhkag2vs1nwc6kx0h7sc";
+  };
+
+  nativeBuildInputs = [
+    pkgconfig
+    intltool
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    dbus_glib
+    libcanberra_gtk3
+    libnotify
+    libwnck3
+    gnome3.gtk
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Notification daemon for MATE";
+    homepage = https://github.com/mate-desktop/mate-notification-daemon;
+    license = licenses.gpl2;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.romildo ];
+  };
+}
diff --git a/pkgs/desktops/mate/mate-panel/default.nix b/pkgs/desktops/mate/mate-panel/default.nix
index cc6fd6c363c4..d3e6f11fd947 100644
--- a/pkgs/desktops/mate/mate-panel/default.nix
+++ b/pkgs/desktops/mate/mate-panel/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, itstool, glib, dbus_glib, libwnck3, librsvg, libxml2, gnome3, mate, wrapGAppsHook }:
+{ stdenv, fetchurl, pkgconfig, intltool, itstool, glib, dbus_glib, libwnck3, librsvg, libxml2, gnome3, mate, hicolor_icon_theme, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   name = "mate-panel-${version}";
@@ -24,6 +24,7 @@ stdenv.mkDerivation rec {
     libwnck3
     librsvg
     libxml2
+    hicolor_icon_theme
     gnome3.gtk
     gnome3.dconf
     mate.libmateweather
diff --git a/pkgs/desktops/mate/mate-session-manager/default.nix b/pkgs/desktops/mate/mate-session-manager/default.nix
index 316104334ac8..48d2890388a7 100644
--- a/pkgs/desktops/mate/mate-session-manager/default.nix
+++ b/pkgs/desktops/mate/mate-session-manager/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, itstool, dbus_glib, systemd, xtrans, xorg, gnome3, mate, wrapGAppsHook }:
+{ stdenv, fetchurl, pkgconfig, intltool, itstool, dbus_glib, systemd, xtrans, xorg, gnome3, mate, hicolor_icon_theme, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   name = "mate-session-manager-${version}";
@@ -21,6 +21,7 @@ stdenv.mkDerivation rec {
     dbus_glib
     systemd
     xtrans
+    hicolor_icon_theme
     xorg.libSM
     gnome3.gtk3
     gnome3.gsettings_desktop_schemas
diff --git a/pkgs/desktops/plasma-5/srcs.nix b/pkgs/desktops/plasma-5/srcs.nix
index 4e582bcef10a..854b86c1640d 100644
--- a/pkgs/desktops/plasma-5/srcs.nix
+++ b/pkgs/desktops/plasma-5/srcs.nix
@@ -131,11 +131,11 @@
     };
   };
   kscreenlocker = {
-    version = "5.10.5";
+    version = "5.10.5.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.10.5/kscreenlocker-5.10.5.tar.xz";
-      sha256 = "07c8x4pj9adwwm5036wbrrw2sj8xi9d8b6d7qya6bam9xrq0mxkb";
-      name = "kscreenlocker-5.10.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.10.5/kscreenlocker-5.10.5.1.tar.xz";
+      sha256 = "03ih0dyyjljv40wl7mpbssfirkkljw8mnpjjhzk357lzadkplzvp";
+      name = "kscreenlocker-5.10.5.1.tar.xz";
     };
   };
   ksshaskpass = {
diff --git a/pkgs/development/compilers/arachne-pnr/default.nix b/pkgs/development/compilers/arachne-pnr/default.nix
index 52a3b485d91e..6508b05a5348 100644
--- a/pkgs/development/compilers/arachne-pnr/default.nix
+++ b/pkgs/development/compilers/arachne-pnr/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "arachne-pnr-${version}";
-  version = "2016.08.18";
+  version = "2017.06.29";
 
   src = fetchFromGitHub {
     owner = "cseed";
     repo = "arachne-pnr";
-    rev = "52e69ed207342710080d85c7c639480e74a021d7";
-    sha256 = "15bdw5yxj76lxrwksp6liwmr6l1x77isf4bs50ys9rsnmiwh8c3w";
+    rev = "7e135edb31feacde85ec5b7e5c03fc9157080977";
+    sha256 = "1wszcx6hgw4q4r778zswrlwdwvwxq834bkajck8w9yfqwxs9lmq8";
   };
 
   preBuild = ''
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
       the IceStorm [2] icepack command.
     '';
     homepage = https://github.com/cseed/arachne-pnr;
-    license = stdenv.lib.licenses.gpl2;
+    license = stdenv.lib.licenses.mit;
     maintainers = [ stdenv.lib.maintainers.shell ];
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/development/compilers/openjdk/8.nix b/pkgs/development/compilers/openjdk/8.nix
index 3355304b3bb2..45054a3577db 100644
--- a/pkgs/development/compilers/openjdk/8.nix
+++ b/pkgs/development/compilers/openjdk/8.nix
@@ -21,42 +21,42 @@ let
     else
       throw "openjdk requires i686-linux or x86_64 linux";
 
-  update = "152";
-  build = "04";
+  update = "144";
+  build = "01";
   baseurl = "http://hg.openjdk.java.net/jdk8u/jdk8u";
   repover = "jdk8u${update}-b${build}";
   paxflags = if stdenv.isi686 then "msp" else "m";
   jdk8 = fetchurl {
              url = "${baseurl}/archive/${repover}.tar.gz";
-             sha256 = "1hnpbx0v89jmbg58ym4zm255da11zf5jq8y5s58zj4x2z6b1fpxi";
+             sha256 = "08b7ia2ifvcl8xnpflf019ak3xcbdjnxcy1mhfp3nbfsbk2sia45";
           };
   langtools = fetchurl {
              url = "${baseurl}/langtools/archive/${repover}.tar.gz";
-             sha256 = "060q01msfyspn14c9mkf9x0l8sprki9n8zb3cwlgglhnr2d4gfbr";
+             sha256 = "0g7q6ljvn79psrcak3l4imd27w047ngavn9jcn3xwivg5wppsfks";
           };
   hotspot = fetchurl {
              url = "${baseurl}/hotspot/archive/${repover}.tar.gz";
-             sha256 = "0705667y6llsmszvdcbhbxzbn1csv1f2rlyghwggx5xnaq46dhx6";
+             sha256 = "1hbbzf0m2a78dm8pyvc11jwfpj7q67pvjrp3hf0cnc38k9mzrn8q";
           };
   corba = fetchurl {
              url = "${baseurl}/corba/archive/${repover}.tar.gz";
-             sha256 = "13f4h43lw9q1292fymn2d7whwvccpkcqraasdhvzf904101xcpsl";
+             sha256 = "1znc0prsb814ggm6qjgbsykm864mwypnxgi9w9f9riq8gs0578gh";
           };
   jdk = fetchurl {
              url = "${baseurl}/jdk/archive/${repover}.tar.gz";
-             sha256 = "16wqinqv0aqyf6jg3nsn6rj5s7ggq82wvx86zm584g56011vkgf6";
+             sha256 = "0gx5md1v1jmqhdwcc7smpf46sgp4alvb6jz3n6yjlcyfzk92yi78";
           };
   jaxws = fetchurl {
              url = "${baseurl}/jaxws/archive/${repover}.tar.gz";
-             sha256 = "0japl4nyb8y3w1mpfpkxn5vkf8fap1rg340vjnb6qm6fpqvl964f";
+             sha256 = "0ad9w7gnwlpdssw2p3kfny02mmvzc6z8i2n7qq0177ml48c88iji";
           };
   jaxp = fetchurl {
              url = "${baseurl}/jaxp/archive/${repover}.tar.gz";
-             sha256 = "024zphx9r92ws9xjihvhyrbbbamfl7js0s24ff577v5z5gdb1lly";
+             sha256 = "14yzbbishsyrzmymws6mnndqj6hvs69ivfdbjhgwi0wl23g9siym";
           };
   nashorn = fetchurl {
              url = "${baseurl}/nashorn/archive/${repover}.tar.gz";
-             sha256 = "1crnbjjv1s6ndqpllcrggcpsxvqcnpr58zp51y0hjz3m3gpsxwcq";
+             sha256 = "175q29n4bfmm1cyyga7x58zhh6ann9rm3wibw0scrhgy23lx052x";
           };
   openjdk8 = stdenv.mkDerivation {
     name = "openjdk-8u${update}b${build}";
@@ -100,8 +100,9 @@ let
       substituteInPlace hotspot/make/linux/makefiles/dtrace.make --replace /usr/include/sys/sdt.h "/no-such-path"
     ''
     # https://bugzilla.redhat.com/show_bug.cgi?id=1306558
+    # https://github.com/JetBrains/jdk8u/commit/eaa5e0711a43d64874111254d74893fa299d5716
     + stdenv.lib.optionalString stdenv.cc.isGNU ''
-      NIX_CFLAGS_COMPILE+=" -fno-lifetime-dse -fno-delete-null-pointer-checks"
+      NIX_CFLAGS_COMPILE+=" -fno-lifetime-dse -fno-delete-null-pointer-checks -std=gnu++98 -Wno-error"
     '';
 
     configureFlags = [
@@ -246,7 +247,7 @@ let
       homepage = http://openjdk.java.net/;
       license = licenses.gpl2;
       description = "The open-source Java Development Kit";
-      maintainers = with maintainers; [ edwtjo ];
+      maintainers = with maintainers; [ edwtjo nequissimus ];
       platforms = platforms.linux;
     };
 
diff --git a/pkgs/development/compilers/sbcl/default.nix b/pkgs/development/compilers/sbcl/default.nix
index 82859a0e4298..2ee7d2b7e113 100644
--- a/pkgs/development/compilers/sbcl/default.nix
+++ b/pkgs/development/compilers/sbcl/default.nix
@@ -9,11 +9,11 @@
 
 stdenv.mkDerivation rec {
   name    = "sbcl-${version}";
-  version = "1.3.20";
+  version = "1.3.21";
 
   src = fetchurl {
     url    = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2";
-    sha256 = "0qhzrl2msdyzqp3165qlh9s6jrif5rddsmj9q50z0bxnaf0330jj";
+    sha256 = "13hmavfmxsqp2s89aa6kljpgjm6c2063bgrz0maq1ms1y3052k38";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/compilers/souper/default.nix b/pkgs/development/compilers/souper/default.nix
index 327139ce0455..2203dc980b13 100644
--- a/pkgs/development/compilers/souper/default.nix
+++ b/pkgs/development/compilers/souper/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, cmake, makeWrapper
-, llvmPackages_4, hiredis, z3_opt, gtest
+, llvmPackages_4, hiredis, z3, gtest
 }:
 
 let
@@ -46,7 +46,7 @@ in stdenv.mkDerivation rec {
       cp -v ./souper       $out/bin/
       cp -v ./clang-souper $out/bin/
       wrapProgram "$out/bin/souper" \
-          --add-flags "-z3-path=\"${z3_opt}/bin/z3\""
+          --add-flags "-z3-path=\"${z3}/bin/z3\""
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/compilers/tinycc/default.nix b/pkgs/development/compilers/tinycc/default.nix
index 7e083ffe67be..094007aa2d0f 100644
--- a/pkgs/development/compilers/tinycc/default.nix
+++ b/pkgs/development/compilers/tinycc/default.nix
@@ -2,10 +2,10 @@
 with stdenv.lib;
 
 let
-  date = "20170710";
+  date = "20170821";
   version = "0.9.27pre-${date}";
-  rev = "2acb04f7f2077a4cff103421d79ceee48441918a";
-  sha256 = "1rh89dx1myqfm752d4rlzrm8aadfm17fm88ps0q9ibmbxavb45qw";
+  rev = "b8fe8fc2105455eb5004be89fa8575aa928a18f3";
+  sha256 = "0rsv5pikm7ai2n7r93qlbvkyky23dsgc3sdc83crbcxjjk6xh378";
 in
 
 stdenv.mkDerivation rec {
diff --git a/pkgs/development/compilers/yosys/default.nix b/pkgs/development/compilers/yosys/default.nix
index b91eddee3bfd..ed374ea68229 100644
--- a/pkgs/development/compilers/yosys/default.nix
+++ b/pkgs/development/compilers/yosys/default.nix
@@ -2,21 +2,21 @@
 
 stdenv.mkDerivation rec {
   name = "yosys-${version}";
-  version = "2016.11.25";
+  version = "2017.09.01";
 
   srcs = [
     (fetchFromGitHub {
       owner = "cliffordwolf";
       repo = "yosys";
-      rev = "5c2c78e2dd12a860f830dafd73fbed8edf1a3823";
-      sha256 = "1cvfkg0hllp7k2g52mxczd8d0ad7inlpkg27rrbyani2kg0066bk";
+      rev = "18609f3df82a3403c41d552908183f7e49ff5678";
+      sha256 = "0qdjxqg3l098g8pda5a4cif4bd78rx7vilv3z62r56ppj55mgw96";
       name = "yosys";
     })
     (fetchFromBitbucket {
       owner = "alanmi";
       repo = "abc";
-      rev = "238674cd44f2";
-      sha256 = "18xk7lqai05am11zymixilgam4jvz5f2jwy9cgillz035man2yzw";
+      rev = "ff5be0604997";
+      sha256 = "08gdvxm44dvhgjw6lf2jx0xyk6h4ai37h6b88dysvaa69sx7rh8n";
       name = "yosys-abc";
     })
   ];
diff --git a/pkgs/development/haskell-modules/lib.nix b/pkgs/development/haskell-modules/lib.nix
index 6da19794f6f4..48110cffabf8 100644
--- a/pkgs/development/haskell-modules/lib.nix
+++ b/pkgs/development/haskell-modules/lib.nix
@@ -73,6 +73,17 @@ rec {
 
   disableHardening = drv: flags: overrideCabal drv (drv: { hardeningDisable = flags; });
 
+  # Controls if Nix should strip the binary files (removes debug symbols)
+  doStrip = drv: overrideCabal drv (drv: { dontStrip = false; });
+  dontStrip = drv: overrideCabal drv (drv: { dontStrip = true; });
+
+  # Useful for debugging segfaults with gdb. 
+  # -g: enables debugging symbols
+  # --disable-*-stripping: tell GHC not to strip resulting binaries
+  # dontStrip: see above
+  enableDWARFDebugging = drv:
+   appendConfigureFlag (dontStrip drv) "--ghc-options=-g --disable-executable-stripping --disable-library-stripping";
+
   sdistTarball = pkg: lib.overrideDerivation pkg (drv: {
     name = "${drv.pname}-source-${drv.version}";
     # Since we disable the haddock phase, we also need to override the
diff --git a/pkgs/development/interpreters/nix-exec/default.nix b/pkgs/development/interpreters/nix-exec/default.nix
index 78eb04601cd8..dea3f6ec633a 100644
--- a/pkgs/development/interpreters/nix-exec/default.nix
+++ b/pkgs/development/interpreters/nix-exec/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, nix, git, gcc6 }: let
+{ stdenv, fetchurl, pkgconfig, nix, git }: let
   version = "4.1.6";
 in stdenv.mkDerivation {
   name = "nix-exec-${version}";
@@ -8,7 +8,7 @@ in stdenv.mkDerivation {
     sha256 = "0slpsnzzzdkf5d9za7j4kr15jr4mn1k9klfsxibzy47b2bx1vkar";
   };
 
-  buildInputs = [ pkgconfig nix git gcc6 ];
+  buildInputs = [ pkgconfig nix git ];
 
   NIX_CFLAGS_COMPILE = "-std=c++1y";
 
diff --git a/pkgs/development/libraries/appstream-glib/default.nix b/pkgs/development/libraries/appstream-glib/default.nix
index 4230e1e7d6e2..8addecfa1b40 100644
--- a/pkgs/development/libraries/appstream-glib/default.nix
+++ b/pkgs/development/libraries/appstream-glib/default.nix
@@ -1,25 +1,25 @@
 { stdenv, fetchFromGitHub, pkgconfig, gettext, gtk3, intltool, glib
-, gtk_doc, autoconf, automake, libtool, libarchive, libyaml
+, gtk_doc, autoconf, automake, libtool, libarchive
 , gobjectIntrospection, sqlite, libsoup, gcab, attr, acl, docbook_xsl
-, libuuid, json_glib, autoconf-archive, gperf
+, libuuid, json_glib, autoconf-archive, meson, gperf, ninja
 }:
 
 stdenv.mkDerivation rec {
-  name = "appstream-glib-0.6.13";
+  name = "appstream-glib-0.7.2";
 
   src = fetchFromGitHub {
     owner = "hughsie";
     repo = "appstream-glib";
     rev = stdenv.lib.replaceStrings ["." "-"] ["_" "_"] name;
-    sha256 = "1csscszdp1imd0hiib6xx7mfylfl1r64xmma14p5jq1yprprpa9h";
+    sha256 = "1jvwfida12d2snc8p9lpbpqzrixw2naaiwfmsrldwkrxsj3i19pl";
   };
 
-  nativeBuildInputs = [ autoconf automake libtool pkgconfig intltool autoconf-archive ];
+  nativeBuildInputs = [ meson pkgconfig ninja ];
   buildInputs = [ glib gtk_doc gettext sqlite libsoup
                   gcab attr acl docbook_xsl libuuid json_glib
-                  libarchive libyaml gobjectIntrospection gperf ];
+                  libarchive gobjectIntrospection gperf ];
   propagatedBuildInputs = [ gtk3 ];
-  configureScript = "./autogen.sh";
+  mesonFlags = [ "-Denable-rpm=false" "-Denable-stemmer=false" "-Denable-dep11=false" ];
 
   meta = with stdenv.lib; {
     description = "Objects and helper methods to read and write AppStream metadata";
diff --git a/pkgs/development/libraries/audio/suil/default.nix b/pkgs/development/libraries/audio/suil/default.nix
index f0dbdcc7daf6..8864d710174a 100644
--- a/pkgs/development/libraries/audio/suil/default.nix
+++ b/pkgs/development/libraries/audio/suil/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, gtk2, lv2, pkgconfig, python, serd, sord, sratom, gcc6
+{ stdenv, lib, fetchurl, gtk2, lv2, pkgconfig, python, serd, sord, sratom
 , withQt4 ? true, qt4 ? null
 , withQt5 ? false, qt5 ? null }:
 
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     sha256 = "1kji3lhha26qr6xm9j8ic5c40zbrrb5qnwm2qxzmsfxgmrz29wkf";
   };
 
-  buildInputs = [ gtk2 lv2 pkgconfig python serd sord sratom gcc6 ]
+  buildInputs = [ gtk2 lv2 pkgconfig python serd sord sratom ]
     ++ (lib.optionals withQt4 [ qt4 ])
     ++ (lib.optionals withQt5 (with qt5; [ qtbase qttools ]));
 
diff --git a/pkgs/development/libraries/libgcrypt/default.nix b/pkgs/development/libraries/libgcrypt/default.nix
index 34a3ed65b124..8d71cfd313d9 100644
--- a/pkgs/development/libraries/libgcrypt/default.nix
+++ b/pkgs/development/libraries/libgcrypt/default.nix
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     homepage = https://www.gnu.org/software/libgcrypt/;
-    description = "General-pupose cryptographic library";
+    description = "General-purpose cryptographic library";
     license = licenses.lgpl2Plus;
     platforms = platforms.all;
     maintainers = [ maintainers.wkennington maintainers.vrthra ];
diff --git a/pkgs/development/libraries/libjson-rpc-cpp/default.nix b/pkgs/development/libraries/libjson-rpc-cpp/default.nix
index 6487e9267bee..7c0bc358ea9c 100644
--- a/pkgs/development/libraries/libjson-rpc-cpp/default.nix
+++ b/pkgs/development/libraries/libjson-rpc-cpp/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, cmake, jsoncpp, argtable, curl, libmicrohttpd
-, doxygen, catch, pkgconfig, git, gcc6
+, doxygen, catch, pkgconfig, git
 }:
 
 stdenv.mkDerivation rec {
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
 
     function fixRunPath {
       p=$(patchelf --print-rpath $1)
-      q="$p:${stdenv.lib.makeLibraryPath [ gcc6 jsoncpp argtable libmicrohttpd curl ]}:$out/lib"
+      q="$p:${stdenv.lib.makeLibraryPath [ jsoncpp argtable libmicrohttpd curl ]}:$out/lib"
       patchelf --set-rpath $q $1
     }
 
@@ -53,7 +53,7 @@ stdenv.mkDerivation rec {
     cp -r Install/* $out
   '';
 
-  nativeBuildInputs = [ pkgconfig gcc6 ];
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ cmake jsoncpp argtable curl libmicrohttpd doxygen catch ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix
index b3066c4eed82..a625399cc63c 100644
--- a/pkgs/development/libraries/libvirt/default.nix
+++ b/pkgs/development/libraries/libvirt/default.nix
@@ -85,8 +85,8 @@ stdenv.mkDerivation rec {
     sed -e "/gettext\.sh/a \\\n# Added in nixpkgs:\ngettext() { \"${gettext}/bin/gettext\" \"\$@\"; }" \
         -i "$out/libexec/libvirt-guests.sh"
 
-    substituteInPlace $out/lib/systemd/system/libvirtd.service --replace /bin/kill ${coreutils}/bin/kill
   '' + optionalString stdenv.isLinux ''
+    substituteInPlace $out/lib/systemd/system/libvirtd.service --replace /bin/kill ${coreutils}/bin/kill
     rm $out/lib/systemd/system/{virtlockd,virtlogd}.*
     wrapProgram $out/sbin/libvirtd \
       --prefix PATH : ${makeBinPath [ iptables iproute pmutils numad numactl ]}
diff --git a/pkgs/development/libraries/opal/default.nix b/pkgs/development/libraries/opal/default.nix
index 5090aa874ec4..36a4c3b0bb67 100644
--- a/pkgs/development/libraries/opal/default.nix
+++ b/pkgs/development/libraries/opal/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  NIX_CFLAGS_COMPILE = "-D__STDC_CONSTANT_MACROS=1";
+  NIX_CFLAGS_COMPILE = "-D__STDC_CONSTANT_MACROS=1 -std=gnu++98";
 
   patches = [ ./disable-samples-ftbfs.diff ./libav9.patch ./libav10.patch ];
       
diff --git a/pkgs/development/libraries/ptlib/bison.patch b/pkgs/development/libraries/ptlib/bison.patch
deleted file mode 100644
index 58593470c213..000000000000
--- a/pkgs/development/libraries/ptlib/bison.patch
+++ /dev/null
@@ -1,2887 +0,0 @@
---- 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 604f246e711f..ecea72d2e8f8 100644
--- a/pkgs/development/libraries/ptlib/default.nix
+++ b/pkgs/development/libraries/ptlib/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, bison, flex, unixODBC
+{ stdenv, fetchurl, fetchpatch, pkgconfig, bison, flex, unixODBC
 , openssl, openldap, cyrus_sasl, kerberos, expat, SDL, libdv, libv4l, alsaLib }:
 
 stdenv.mkDerivation rec {
@@ -9,12 +9,24 @@ stdenv.mkDerivation rec {
     sha256 = "1jf27mjz8vqnclhrhrpn7niz4c177kcjbd1hc7vn65ihcqfz05rs";
   };
 
+  NIX_CFLAGS_COMPILE = "-std=gnu++98";
+
   buildInputs = [ pkgconfig bison flex unixODBC openssl openldap
                   cyrus_sasl kerberos expat SDL libdv libv4l alsaLib ];
 
   enableParallelBuilding = true;
 
-  patches = [ ./bison.patch ./sslv3.patch ];
+  patches = [
+    (fetchpatch { url = http://sources.debian.net/data/main/p/ptlib/2.10.11~dfsg-2.1/debian/patches/bison-fix;
+      sha256 = "0vzv9kyn9s628z8wy2gva380gi1rmhxilwlg5pikl5a0wn8p46nw";
+    })
+    (fetchpatch { url = http://sources.debian.net/data/main/p/ptlib/2.10.11~dfsg-2.1/debian/patches/no-sslv3;
+      sha256 = "172s1dnnrl54p9sf1nl7s475sm78rpw3p8jxi0pdx6izzl8hcdr0";
+    })
+    (fetchpatch { url = http://sources.debian.net/data/main/p/ptlib/2.10.11~dfsg-2.1/debian/patches/gcc-5_support;
+      sha256 = "0pf2yj0150r4cnc6nv65mclrm3dillqh1xjk7m6gsjnk9b96i5d4";
+    })
+  ];
 
   meta = with stdenv.lib; {
     description = "Portable Tools from OPAL VoIP";
diff --git a/pkgs/development/libraries/ptlib/sslv3.patch b/pkgs/development/libraries/ptlib/sslv3.patch
deleted file mode 100644
index 1ccf3593ec1f..000000000000
--- a/pkgs/development/libraries/ptlib/sslv3.patch
+++ /dev/null
@@ -1,16 +0,0 @@
---- ptlib-2.10.11/src/ptclib/pssl.cxx	2016-02-07 09:54:36.326325637 +0000
-+++ ptlib-2.10.11/src/ptclib/pssl.cxx	2016-02-07 09:55:55.677870908 +0000
-@@ -805,11 +805,13 @@
-   SSL_METHOD * meth;
- 
-   switch (method) {
-+#if !defined(OPENSSL_NO_SSL3)
-     case SSLv3:
-       meth = SSLv3_method();
-       break;
-+#endif
-     case TLSv1:
-       meth = TLSv1_method(); 
-       break;
-     case SSLv23:
-     default:
diff --git a/pkgs/development/lisp-modules/README.txt b/pkgs/development/lisp-modules/README.txt
index 2a2fc9cb4f39..c55fb9b1a7c8 100644
--- a/pkgs/development/lisp-modules/README.txt
+++ b/pkgs/development/lisp-modules/README.txt
@@ -1,16 +1,21 @@
-Prerequisite: have Quicklisp installed somehow.
+Want to add a package?  There are 3 simple steps!
+1. Add the needed system names to quicklisp-to-nix-systems.txt.
+2. cd <path to quicklisp-to-nix-systems.txt> ; nix-shell --run 'quicklisp-to-nix .'
+3. Add native libraries and whatever else is needed to quicklisp-to-nix-overrides.nix.
 
-Add to LD_LIBRARY_PATH all the things listed in quicklisp-to-nix-overrides.nix
-for library propagatedBuildInputs (a lot of these are done via addNativeLibs).
+To update to a more recent quicklisp dist modify
+lispPackages.quicklisp to have a more recent distinfo.
 
-Current list is:
-openssl fuse libuv mariadb libfixposix libev sqlite
+quicklisp-to-nix-system-info is responsible for installing a quicklisp
+package into an isolated environment and figuring out which packages
+are required by that system.  It also extracts other information that
+is readily available once the system is loaded.  The information
+produced by this program is fed into quicklisp-to-nix.  You usually
+don't need to run this program unless you're trying to understand why
+quicklisp-to-nix failed to handle a system.  The technique used by
+quicklisp-to-nix-system-info is described in its source.
 
-Add the needed system names to quicklisp-to-nix-systems.txt and load
-quicklisp-to-nix/ql-to-nix.lisp and call
-(ql-to-nix "/path/to/nixpkgs/pkgs/development/lisp-modules/") which is often
-just (ql-to-nix ".")
-
-Add native libraries and whatever else is needed to overrides.
-
-The lispPackages set is supposed to be buildable in its entirety.
+quicklisp-to-nix is responsible for reading
+quicklisp-to-nix-systems.txt, running quicklisp-to-nix-system-info,
+and generating the nix packages associated with the closure of
+quicklisp systems.
diff --git a/pkgs/development/lisp-modules/define-package.nix b/pkgs/development/lisp-modules/define-package.nix
index 2af5530aa5c1..1a155b3e9339 100644
--- a/pkgs/development/lisp-modules/define-package.nix
+++ b/pkgs/development/lisp-modules/define-package.nix
@@ -1,7 +1,10 @@
-args @ {stdenv, clwrapper, baseName, packageName ? baseName, testSystems ? [packageName]
+args @ {stdenv, clwrapper, baseName, packageName ? baseName
+  , parasites ? []
+  , buildSystems ? ([packageName] ++ parasites)
   , version ? "latest"
   , src, description, deps, buildInputs ? [], meta ? {}, overrides?(x: {})
-  , propagatedBuildInputs ? []}:
+  , propagatedBuildInputs ? []
+  , asdFilesToKeep ? [(builtins.concatStringsSep "" [packageName ".asd"])]}:
 let
   deployConfigScript = ''
     outhash="$out"
@@ -43,11 +46,34 @@ let
     echo "export LD_LIBRARY_PATH=\"\$NIX_LISP_LD_LIBRARY_PATH\''${NIX_LISP_LD_LIBRARY_PATH:+:}\$LD_LIBRARY_PATH\"" >> "$launch_script"
     echo '"${clwrapper}/bin/common-lisp.sh" "$@"' >> "$launch_script"
   '';
+  moveAsdFiles = ''
+    find $out/lib/common-lisp/ -name '*.asd' | while read ASD_FILE; do
+      KEEP_THIS_ASD=0
+      for ALLOWED_ASD in $asdFilesToKeep; do
+        ALLOWED_ASD="/$ALLOWED_ASD"
+        ALLOWED_ASD_LENGTH=${"$"}{#ALLOWED_ASD}
+        ASD_FILE_LENGTH=${"$"}{#ASD_FILE}
+        ASD_FILE_SUFFIX_INDEX=$(expr "$ASD_FILE_LENGTH" - "$ALLOWED_ASD_LENGTH")
+        ASD_FILE_SUFFIX_INDEX=$(expr "$ASD_FILE_SUFFIX_INDEX" + 1)
+        echo $ALLOWED_ASD $ASD_FILE $ASD_FILE_SUFFIX_INDEX $(expr substr "$ASD_FILE" "$ASD_FILE_SUFFIX_INDEX" "$ASD_FILE_LENGTH")
+        if [ "$(expr substr "$ASD_FILE" "$ASD_FILE_SUFFIX_INDEX" "$ASD_FILE_LENGTH")" == "$ALLOWED_ASD" ]; then
+          KEEP_THIS_ASD=1
+          break
+        fi
+      done
+      if [ "$KEEP_THIS_ASD" == 0 ]; then
+        mv "$ASD_FILE"{,.sibling}
+      fi
+    done
+  '';
 basePackage = {
   name = "lisp-${baseName}-${version}";
   inherit src;
 
+  dontBuild = true;
+
   inherit deployConfigScript deployLaunchScript;
+  inherit asdFilesToKeep moveAsdFiles;
   installPhase = ''
     eval "$preInstall"
 
@@ -58,18 +84,19 @@ basePackage = {
 
     ${deployConfigScript}
     ${deployLaunchScript}
+    ${moveAsdFiles}
 
-    ${stdenv.lib.concatMapStrings (testSystem: ''
-       env -i \
-       NIX_LISP="$NIX_LISP" \
-       NIX_LISP_PRELAUNCH_HOOK='nix_lisp_run_single_form "(progn
-             (asdf:compile-system :${testSystem})
-             (asdf:load-system :${testSystem})
-             (asdf:operate (quote asdf::compile-bundle-op) :${testSystem})
-             (ignore-errors (asdf:operate (quote asdf::deploy-asd-op) :${testSystem}))
-             )"' \
-          "$out/bin/${args.baseName}-lisp-launcher.sh"
-    '') testSystems}
+    env -i \
+    NIX_LISP="$NIX_LISP" \
+    NIX_LISP_PRELAUNCH_HOOK='nix_lisp_run_single_form "(progn
+          ${stdenv.lib.concatMapStrings (system: ''
+            (asdf:compile-system :${system})
+            (asdf:load-system :${system})
+            (asdf:operate (quote asdf::compile-bundle-op) :${system})
+            (ignore-errors (asdf:operate (quote asdf::deploy-asd-op) :${system}))
+'') buildSystems}
+          )"' \
+       "$out/bin/${args.baseName}-lisp-launcher.sh"
 
     eval "$postInstall"
   '';
diff --git a/pkgs/development/lisp-modules/lisp-packages.nix b/pkgs/development/lisp-modules/lisp-packages.nix
index eaae4726751c..c31dc4979640 100644
--- a/pkgs/development/lisp-modules/lisp-packages.nix
+++ b/pkgs/development/lisp-modules/lisp-packages.nix
@@ -1,4 +1,4 @@
-{stdenv, clwrapper, pkgs}:
+{stdenv, clwrapper, pkgs, sbcl, coreutils, nix, asdf}:
 let lispPackages = rec {
   inherit pkgs clwrapper stdenv;
   nixLib = pkgs.lib;
@@ -6,37 +6,11 @@ let lispPackages = rec {
 
   buildLispPackage =  callPackage ./define-package.nix;
 
-  esrap-peg = buildLispPackage rec {
-    baseName = "esrap-peg";
-    version = "git-20170320";
-    description = "A wrapper around Esrap to allow generating Esrap grammars from PEG definitions";
-    deps = with (pkgs.quicklispPackagesFor clwrapper); [alexandria cl-ppcre-template cl-unification esrap iterate];
-    src = pkgs.fetchgit {
-      url = "https://github.com/fb08af68/esrap-peg.git";
-      sha256 = "15yiial7cy2nbgszqxd26qqcc6n3pw5qlrppzx0mfr3xbd9pvzby";
-      rev = ''5a559b0030ecbf5e14cb070b0dc240535faa3402'';
-    };
-  };
-
-  clx-xkeyboard = buildLispPackage rec {
-    baseName = "clx-xkeyboard";
-    testSystems = ["xkeyboard"];
-    version = "git-20150523";
-    description = "CLX support for X Keyboard extensions";
-    deps = with (pkgs.quicklispPackagesFor clwrapper); [clx];
-    # Source type: git
-    src = pkgs.fetchgit {
-      url = ''https://github.com/filonenko-mikhail/clx-xkeyboard'';
-      sha256 = "11b34da7d354a709a24774032e85a8947be023594f8a333eaff6d4aa79f2b3db";
-      rev = ''11455d36283ef31c498bd58ffebf48c0f6b86ea6'';
-    };
-  };
-
   quicklisp = buildLispPackage rec {
     baseName = "quicklisp";
     version = "2017-03-06";
 
-    testSystems = [];
+    buildSystems = [];
 
     description = "The Common Lisp package manager";
     deps = [];
@@ -50,8 +24,8 @@ let lispPackages = rec {
       quicklispdist = pkgs.fetchurl {
         # Will usually be replaced with a fresh version anyway, but needs to be
         # a valid distinfo.txt
-        url = "http://beta.quicklisp.org/dist/quicklisp/2016-03-18/distinfo.txt";
-        sha256 = "13mvign4rsicfvg3vs3vj1qcjvj2m1aqhq93ck0sgizxfcj5167m";
+        url = "http://beta.quicklisp.org/dist/quicklisp/2017-07-25/distinfo.txt";
+        sha256 = "165fd4a10zc3mxyy7wr4i2r3n6fzd1wd2hgzfyp32xlc41qj2ajf";
       };
       buildPhase = '' true; '';
       postInstall = ''
@@ -61,5 +35,46 @@ let lispPackages = rec {
       '';
     };
   };
+
+  quicklisp-to-nix-system-info = stdenv.mkDerivation rec {
+    name = "quicklisp-to-nix-system-info-${version}";
+    version = "1.0.0";
+    src = ./quicklisp-to-nix;
+    nativeBuildInputs = [sbcl];
+    buildInputs = [
+      lispPackages.quicklisp coreutils
+    ];
+    touch = coreutils;
+    nix-prefetch-url = nix;
+    inherit quicklisp;
+    buildPhase = ''
+      ${sbcl}/bin/sbcl --eval '(load #P"${asdf}/lib/common-lisp/asdf/build/asdf.lisp")' --load $src/system-info.lisp --eval '(ql-to-nix-system-info::dump-image)'
+    '';
+    installPhase = ''
+      mkdir -p $out/bin
+      cp quicklisp-to-nix-system-info $out/bin
+    '';
+    dontStrip = true;
+  };
+
+  quicklisp-to-nix = stdenv.mkDerivation rec {
+    name = "quicklisp-to-nix-${version}";
+    version = "1.0.0";
+    src = ./quicklisp-to-nix;
+    buildDependencies = [sbcl quicklisp-to-nix-system-info];
+    touch = coreutils;
+    nix-prefetch-url = nix;
+    inherit quicklisp;
+    deps = [];
+    system-info = quicklisp-to-nix-system-info;
+    buildPhase = ''
+      ${sbcl}/bin/sbcl --eval '(load #P"${asdf}/lib/common-lisp/asdf/build/asdf.lisp")' --load $src/ql-to-nix.lisp --eval '(ql-to-nix::dump-image)'
+    '';
+    installPhase = ''
+      mkdir -p $out/bin
+      cp quicklisp-to-nix $out/bin
+    '';
+    dontStrip = true;
+  };
 };
 in lispPackages
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-aliases.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-aliases.nix
deleted file mode 100644
index cdcfde8eb332..000000000000
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-aliases.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{quicklisp-to-nix-packages}:
-with quicklisp-to-nix-packages;
-rec {
-  cffi-grovel = cffi;
-
-  cxml-test = null;
-  cxml-dom = null;
-  cxml-klacks = null;
-  cxml-xml = null;
-
-  cl-async-util = cl-async-base;
-  cl-async = cl-async-base;
-}
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/_3bmd.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/_3bmd.nix
index 4bc7545d9667..6a40dda0c1cd 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/_3bmd.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/_3bmd.nix
@@ -5,33 +5,26 @@ rec {
 
   description = ''markdown processor in CL using esrap parser.'';
 
-  deps = [ args."split-sequence" args."esrap" args."alexandria" ];
+  deps = [ args."alexandria" args."esrap" args."split-sequence" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/3bmd/2016-12-04/3bmd-20161204-git.tgz'';
     sha256 = ''158rymq6ra9ipmkqrqmgr4ay5m46cdxxha03622svllhyf7xzypx'';
   };
-    
+
   packageName = "3bmd";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/3bmd[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["3bmd.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM 3bmd DESCRIPTION markdown processor in CL using esrap parser. SHA256 158rymq6ra9ipmkqrqmgr4ay5m46cdxxha03622svllhyf7xzypx URL
-    http://beta.quicklisp.org/archive/3bmd/2016-12-04/3bmd-20161204-git.tgz MD5 b80864c74437e0cfb66663e9bbf08fed NAME 3bmd TESTNAME NIL FILENAME _3bmd DEPS
-    ((NAME split-sequence FILENAME split-sequence) (NAME esrap FILENAME esrap) (NAME alexandria FILENAME alexandria)) DEPENDENCIES
-    (split-sequence esrap alexandria) VERSION 20161204-git SIBLINGS
-    (3bmd-ext-code-blocks 3bmd-ext-definition-lists 3bmd-ext-tables 3bmd-ext-wiki-links 3bmd-youtube-tests 3bmd-youtube)) */
+/* (SYSTEM 3bmd DESCRIPTION markdown processor in CL using esrap parser. SHA256
+    158rymq6ra9ipmkqrqmgr4ay5m46cdxxha03622svllhyf7xzypx URL
+    http://beta.quicklisp.org/archive/3bmd/2016-12-04/3bmd-20161204-git.tgz MD5
+    b80864c74437e0cfb66663e9bbf08fed NAME 3bmd FILENAME _3bmd DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME esrap FILENAME esrap)
+     (NAME split-sequence FILENAME split-sequence))
+    DEPENDENCIES (alexandria esrap split-sequence) VERSION 20161204-git
+    SIBLINGS
+    (3bmd-ext-code-blocks 3bmd-ext-definition-lists 3bmd-ext-tables
+     3bmd-ext-wiki-links 3bmd-youtube-tests 3bmd-youtube)
+    PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/abnf.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/abnf.nix
index 1f605fcc7959..a657159a41f1 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/abnf.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/abnf.nix
@@ -5,31 +5,23 @@ rec {
 
   description = ''ABNF Parser Generator, per RFC2234'';
 
-  deps = [ args."cl-ppcre" args."esrap" ];
+  deps = [ args."alexandria" args."cl-ppcre" args."esrap" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/cl-abnf/2015-06-08/cl-abnf-20150608-git.tgz'';
     sha256 = ''00x95h7v5q7azvr9wrpcfcwsq3sdipjr1hgq9a9lbimp8gfbz687'';
   };
-    
+
   packageName = "abnf";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/abnf[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["abnf.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM abnf DESCRIPTION ABNF Parser Generator, per RFC2234 SHA256 00x95h7v5q7azvr9wrpcfcwsq3sdipjr1hgq9a9lbimp8gfbz687 URL
-    http://beta.quicklisp.org/archive/cl-abnf/2015-06-08/cl-abnf-20150608-git.tgz MD5 311c2b17e49666dac1c2bb45256be708 NAME abnf TESTNAME NIL FILENAME abnf
-    DEPS ((NAME cl-ppcre FILENAME cl-ppcre) (NAME esrap FILENAME esrap)) DEPENDENCIES (cl-ppcre esrap) VERSION cl-20150608-git SIBLINGS NIL) */
+/* (SYSTEM abnf DESCRIPTION ABNF Parser Generator, per RFC2234 SHA256
+    00x95h7v5q7azvr9wrpcfcwsq3sdipjr1hgq9a9lbimp8gfbz687 URL
+    http://beta.quicklisp.org/archive/cl-abnf/2015-06-08/cl-abnf-20150608-git.tgz
+    MD5 311c2b17e49666dac1c2bb45256be708 NAME abnf FILENAME abnf DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME cl-ppcre FILENAME cl-ppcre)
+     (NAME esrap FILENAME esrap))
+    DEPENDENCIES (alexandria cl-ppcre esrap) VERSION cl-20150608-git SIBLINGS
+    NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/alexandria.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/alexandria.nix
index 52f0161aecb9..334ff7e82d65 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/alexandria.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/alexandria.nix
@@ -11,25 +11,16 @@ rec {
     url = ''http://beta.quicklisp.org/archive/alexandria/2017-06-30/alexandria-20170630-git.tgz'';
     sha256 = ''1ch7987ijs5gz5dk3i02bqgb2bn7s9p3sfsrwq4fp1sxykwr9fis'';
   };
-    
+
   packageName = "alexandria";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/alexandria[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["alexandria.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM alexandria DESCRIPTION Alexandria is a collection of portable public domain utilities. SHA256 1ch7987ijs5gz5dk3i02bqgb2bn7s9p3sfsrwq4fp1sxykwr9fis
-    URL http://beta.quicklisp.org/archive/alexandria/2017-06-30/alexandria-20170630-git.tgz MD5 ce5427881c909981192f870cb52ff59f NAME alexandria TESTNAME NIL
-    FILENAME alexandria DEPS NIL DEPENDENCIES NIL VERSION 20170630-git SIBLINGS (alexandria-tests)) */
+/* (SYSTEM alexandria DESCRIPTION
+    Alexandria is a collection of portable public domain utilities. SHA256
+    1ch7987ijs5gz5dk3i02bqgb2bn7s9p3sfsrwq4fp1sxykwr9fis URL
+    http://beta.quicklisp.org/archive/alexandria/2017-06-30/alexandria-20170630-git.tgz
+    MD5 ce5427881c909981192f870cb52ff59f NAME alexandria FILENAME alexandria
+    DEPS NIL DEPENDENCIES NIL VERSION 20170630-git SIBLINGS (alexandria-tests)
+    PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/anaphora.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/anaphora.nix
index cc1eb1962026..f1fdf5bb8dca 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/anaphora.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/anaphora.nix
@@ -3,33 +3,25 @@ rec {
   baseName = ''anaphora'';
   version = ''20170227-git'';
 
+  parasites = [ "anaphora/test" ];
+
   description = ''The Anaphoric Macro Package from Hell'';
 
-  deps = [ ];
+  deps = [ args."rt" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/anaphora/2017-02-27/anaphora-20170227-git.tgz'';
     sha256 = ''1inv6bcly6r7yixj1pp0i4h0y7lxyv68mk9wsi5iwi9gx6000yd9'';
   };
-    
+
   packageName = "anaphora";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/anaphora[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["anaphora.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM anaphora DESCRIPTION The Anaphoric Macro Package from Hell SHA256 1inv6bcly6r7yixj1pp0i4h0y7lxyv68mk9wsi5iwi9gx6000yd9 URL
-    http://beta.quicklisp.org/archive/anaphora/2017-02-27/anaphora-20170227-git.tgz MD5 6121d9bbc92df29d823b60ae0d0c556d NAME anaphora TESTNAME NIL FILENAME
-    anaphora DEPS NIL DEPENDENCIES NIL VERSION 20170227-git SIBLINGS NIL) */
+/* (SYSTEM anaphora DESCRIPTION The Anaphoric Macro Package from Hell SHA256
+    1inv6bcly6r7yixj1pp0i4h0y7lxyv68mk9wsi5iwi9gx6000yd9 URL
+    http://beta.quicklisp.org/archive/anaphora/2017-02-27/anaphora-20170227-git.tgz
+    MD5 6121d9bbc92df29d823b60ae0d0c556d NAME anaphora FILENAME anaphora DEPS
+    ((NAME rt FILENAME rt)) DEPENDENCIES (rt) VERSION 20170227-git SIBLINGS NIL
+    PARASITES (anaphora/test)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/array-utils.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/array-utils.nix
index 20763679a82f..f7adf3b3494e 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/array-utils.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/array-utils.nix
@@ -11,25 +11,15 @@ rec {
     url = ''http://beta.quicklisp.org/archive/array-utils/2017-06-30/array-utils-20170630-git.tgz'';
     sha256 = ''1nj42w2q11qdg65cviaj514pcql1gi729mcsj5g2vy17pr298zgb'';
   };
-    
+
   packageName = "array-utils";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/array-utils[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["array-utils.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM array-utils DESCRIPTION A few utilities for working with arrays. SHA256 1nj42w2q11qdg65cviaj514pcql1gi729mcsj5g2vy17pr298zgb URL
-    http://beta.quicklisp.org/archive/array-utils/2017-06-30/array-utils-20170630-git.tgz MD5 550b37bc0eccfafa889de00b59c422dc NAME array-utils TESTNAME NIL
-    FILENAME array-utils DEPS NIL DEPENDENCIES NIL VERSION 20170630-git SIBLINGS (array-utils-test)) */
+/* (SYSTEM array-utils DESCRIPTION A few utilities for working with arrays.
+    SHA256 1nj42w2q11qdg65cviaj514pcql1gi729mcsj5g2vy17pr298zgb URL
+    http://beta.quicklisp.org/archive/array-utils/2017-06-30/array-utils-20170630-git.tgz
+    MD5 550b37bc0eccfafa889de00b59c422dc NAME array-utils FILENAME array-utils
+    DEPS NIL DEPENDENCIES NIL VERSION 20170630-git SIBLINGS (array-utils-test)
+    PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/asdf-finalizers.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/asdf-finalizers.nix
new file mode 100644
index 000000000000..f2125676e5a2
--- /dev/null
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/asdf-finalizers.nix
@@ -0,0 +1,26 @@
+args @ { fetchurl, ... }:
+rec {
+  baseName = ''asdf-finalizers'';
+  version = ''20170403-git'';
+
+  description = ''Enforced calling of finalizers for Lisp code'';
+
+  deps = [ ];
+
+  src = fetchurl {
+    url = ''http://beta.quicklisp.org/archive/asdf-finalizers/2017-04-03/asdf-finalizers-20170403-git.tgz'';
+    sha256 = ''1w2ka0123icbjba7ngdd6h93j72g236h6jw4bsmvsak69fj0ybxj'';
+  };
+
+  packageName = "asdf-finalizers";
+
+  asdFilesToKeep = ["asdf-finalizers.asd"];
+  overrides = x: x;
+}
+/* (SYSTEM asdf-finalizers DESCRIPTION
+    Enforced calling of finalizers for Lisp code SHA256
+    1w2ka0123icbjba7ngdd6h93j72g236h6jw4bsmvsak69fj0ybxj URL
+    http://beta.quicklisp.org/archive/asdf-finalizers/2017-04-03/asdf-finalizers-20170403-git.tgz
+    MD5 a9e3c960e6b6fdbd69640b520ef8044b NAME asdf-finalizers FILENAME
+    asdf-finalizers DEPS NIL DEPENDENCIES NIL VERSION 20170403-git SIBLINGS
+    (asdf-finalizers-test list-of) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/asdf-system-connections.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/asdf-system-connections.nix
index f694e4746ac8..65df45d95a50 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/asdf-system-connections.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/asdf-system-connections.nix
@@ -11,26 +11,16 @@ rec {
     url = ''http://beta.quicklisp.org/archive/asdf-system-connections/2017-01-24/asdf-system-connections-20170124-git.tgz'';
     sha256 = ''0h8237bq3niw6glcsps77n1ykcmc5bjkcrbjyxjgkmcb1c5kwwpq'';
   };
-    
+
   packageName = "asdf-system-connections";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/asdf-system-connections[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["asdf-system-connections.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM asdf-system-connections DESCRIPTION Allows for ASDF system to be connected so that auto-loading may occur. SHA256
-    0h8237bq3niw6glcsps77n1ykcmc5bjkcrbjyxjgkmcb1c5kwwpq URL
-    http://beta.quicklisp.org/archive/asdf-system-connections/2017-01-24/asdf-system-connections-20170124-git.tgz MD5 23bdbb69c433568e3e15ed705b803992 NAME
-    asdf-system-connections TESTNAME NIL FILENAME asdf-system-connections DEPS NIL DEPENDENCIES NIL VERSION 20170124-git SIBLINGS NIL) */
+/* (SYSTEM asdf-system-connections DESCRIPTION
+    Allows for ASDF system to be connected so that auto-loading may occur.
+    SHA256 0h8237bq3niw6glcsps77n1ykcmc5bjkcrbjyxjgkmcb1c5kwwpq URL
+    http://beta.quicklisp.org/archive/asdf-system-connections/2017-01-24/asdf-system-connections-20170124-git.tgz
+    MD5 23bdbb69c433568e3e15ed705b803992 NAME asdf-system-connections FILENAME
+    asdf-system-connections DEPS NIL DEPENDENCIES NIL VERSION 20170124-git
+    SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/babel-streams.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/babel-streams.nix
index e85bb4f8f92b..e96c18a81209 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/babel-streams.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/babel-streams.nix
@@ -5,32 +5,26 @@ rec {
 
   description = ''Some useful streams based on Babel's encoding code'';
 
-  deps = [ args."trivial-gray-streams" args."alexandria" ];
+  deps = [ args."alexandria" args."babel" args."trivial-features" args."trivial-gray-streams" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/babel/2017-06-30/babel-20170630-git.tgz'';
     sha256 = ''0w1jfzdklk5zz9vgplr2a0vc6gybrwl8wa72nj6xs4ihp7spf0lx'';
   };
-    
+
   packageName = "babel-streams";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/babel-streams[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["babel-streams.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM babel-streams DESCRIPTION Some useful streams based on Babel's encoding code SHA256 0w1jfzdklk5zz9vgplr2a0vc6gybrwl8wa72nj6xs4ihp7spf0lx URL
-    http://beta.quicklisp.org/archive/babel/2017-06-30/babel-20170630-git.tgz MD5 aa7eff848b97bb7f7aa6bdb43a081964 NAME babel-streams TESTNAME NIL FILENAME
-    babel-streams DEPS ((NAME trivial-gray-streams FILENAME trivial-gray-streams) (NAME alexandria FILENAME alexandria)) DEPENDENCIES
-    (trivial-gray-streams alexandria) VERSION babel-20170630-git SIBLINGS (babel-tests babel)) */
+/* (SYSTEM babel-streams DESCRIPTION
+    Some useful streams based on Babel's encoding code SHA256
+    0w1jfzdklk5zz9vgplr2a0vc6gybrwl8wa72nj6xs4ihp7spf0lx URL
+    http://beta.quicklisp.org/archive/babel/2017-06-30/babel-20170630-git.tgz
+    MD5 aa7eff848b97bb7f7aa6bdb43a081964 NAME babel-streams FILENAME
+    babel-streams DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
+     (NAME trivial-features FILENAME trivial-features)
+     (NAME trivial-gray-streams FILENAME trivial-gray-streams))
+    DEPENDENCIES (alexandria babel trivial-features trivial-gray-streams)
+    VERSION babel-20170630-git SIBLINGS (babel-tests babel) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/babel.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/babel.nix
index e567b056b240..d5b31daa33ab 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/babel.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/babel.nix
@@ -5,32 +5,23 @@ rec {
 
   description = ''Babel, a charset conversion library.'';
 
-  deps = [ args."trivial-features" args."alexandria" ];
+  deps = [ args."alexandria" args."trivial-features" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/babel/2017-06-30/babel-20170630-git.tgz'';
     sha256 = ''0w1jfzdklk5zz9vgplr2a0vc6gybrwl8wa72nj6xs4ihp7spf0lx'';
   };
-    
+
   packageName = "babel";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/babel[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["babel.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM babel DESCRIPTION Babel, a charset conversion library. SHA256 0w1jfzdklk5zz9vgplr2a0vc6gybrwl8wa72nj6xs4ihp7spf0lx URL
-    http://beta.quicklisp.org/archive/babel/2017-06-30/babel-20170630-git.tgz MD5 aa7eff848b97bb7f7aa6bdb43a081964 NAME babel TESTNAME NIL FILENAME babel DEPS
-    ((NAME trivial-features FILENAME trivial-features) (NAME alexandria FILENAME alexandria)) DEPENDENCIES (trivial-features alexandria) VERSION 20170630-git
-    SIBLINGS (babel-streams babel-tests)) */
+/* (SYSTEM babel DESCRIPTION Babel, a charset conversion library. SHA256
+    0w1jfzdklk5zz9vgplr2a0vc6gybrwl8wa72nj6xs4ihp7spf0lx URL
+    http://beta.quicklisp.org/archive/babel/2017-06-30/babel-20170630-git.tgz
+    MD5 aa7eff848b97bb7f7aa6bdb43a081964 NAME babel FILENAME babel DEPS
+    ((NAME alexandria FILENAME alexandria)
+     (NAME trivial-features FILENAME trivial-features))
+    DEPENDENCIES (alexandria trivial-features) VERSION 20170630-git SIBLINGS
+    (babel-streams babel-tests) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/blackbird.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/blackbird.nix
index edeadade715f..a660882f36b1 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/blackbird.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/blackbird.nix
@@ -11,25 +11,15 @@ rec {
     url = ''http://beta.quicklisp.org/archive/blackbird/2016-05-31/blackbird-20160531-git.tgz'';
     sha256 = ''0l053fb5fdz1q6dyfgys6nmbairc3aig4wjl5abpf8b1paf7gzq9'';
   };
-    
+
   packageName = "blackbird";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/blackbird[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["blackbird.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM blackbird DESCRIPTION A promise implementation for Common Lisp. SHA256 0l053fb5fdz1q6dyfgys6nmbairc3aig4wjl5abpf8b1paf7gzq9 URL
-    http://beta.quicklisp.org/archive/blackbird/2016-05-31/blackbird-20160531-git.tgz MD5 5cb13dc06a0eae8dcba14714d2b5365d NAME blackbird TESTNAME NIL FILENAME
-    blackbird DEPS ((NAME vom FILENAME vom)) DEPENDENCIES (vom) VERSION 20160531-git SIBLINGS (blackbird-test)) */
+/* (SYSTEM blackbird DESCRIPTION A promise implementation for Common Lisp.
+    SHA256 0l053fb5fdz1q6dyfgys6nmbairc3aig4wjl5abpf8b1paf7gzq9 URL
+    http://beta.quicklisp.org/archive/blackbird/2016-05-31/blackbird-20160531-git.tgz
+    MD5 5cb13dc06a0eae8dcba14714d2b5365d NAME blackbird FILENAME blackbird DEPS
+    ((NAME vom FILENAME vom)) DEPENDENCIES (vom) VERSION 20160531-git SIBLINGS
+    (blackbird-test) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/bordeaux-threads.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/bordeaux-threads.nix
index 002b2ad0e376..f0fc5d4d0c0f 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/bordeaux-threads.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/bordeaux-threads.nix
@@ -3,34 +3,28 @@ rec {
   baseName = ''bordeaux-threads'';
   version = ''v0.8.5'';
 
+  parasites = [ "bordeaux-threads/test" ];
+
   description = ''Bordeaux Threads makes writing portable multi-threaded apps simple.'';
 
-  deps = [ args."alexandria" ];
+  deps = [ args."alexandria" args."fiveam" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/bordeaux-threads/2016-03-18/bordeaux-threads-v0.8.5.tgz'';
     sha256 = ''09q1xd3fca6ln6mh45cx24xzkrcnvhgl5nn9g2jv0rwj1m2xvbpd'';
   };
-    
+
   packageName = "bordeaux-threads";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/bordeaux-threads[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["bordeaux-threads.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM bordeaux-threads DESCRIPTION Bordeaux Threads makes writing portable multi-threaded apps simple. SHA256
-    09q1xd3fca6ln6mh45cx24xzkrcnvhgl5nn9g2jv0rwj1m2xvbpd URL http://beta.quicklisp.org/archive/bordeaux-threads/2016-03-18/bordeaux-threads-v0.8.5.tgz MD5
-    67e363a363e164b6f61a047957b8554e NAME bordeaux-threads TESTNAME NIL FILENAME bordeaux-threads DEPS ((NAME alexandria FILENAME alexandria)) DEPENDENCIES
-    (alexandria) VERSION v0.8.5 SIBLINGS NIL) */
+/* (SYSTEM bordeaux-threads DESCRIPTION
+    Bordeaux Threads makes writing portable multi-threaded apps simple. SHA256
+    09q1xd3fca6ln6mh45cx24xzkrcnvhgl5nn9g2jv0rwj1m2xvbpd URL
+    http://beta.quicklisp.org/archive/bordeaux-threads/2016-03-18/bordeaux-threads-v0.8.5.tgz
+    MD5 67e363a363e164b6f61a047957b8554e NAME bordeaux-threads FILENAME
+    bordeaux-threads DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME fiveam FILENAME fiveam))
+    DEPENDENCIES (alexandria fiveam) VERSION v0.8.5 SIBLINGS NIL PARASITES
+    (bordeaux-threads/test)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/caveman.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/caveman.nix
index c01189a491e9..1c6dadb8fb41 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/caveman.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/caveman.nix
@@ -5,36 +5,33 @@ rec {
 
   description = ''Web Application Framework for Common Lisp'';
 
-  deps = [ args."myway" args."local-time" args."do-urlencode" args."clack-v1-compat" args."cl-syntax-annot" args."cl-syntax" args."cl-project" args."cl-ppcre" args."cl-emb" args."anaphora" ];
+  deps = [ args."anaphora" args."cl-emb" args."cl-ppcre" args."cl-project" args."cl-syntax" args."cl-syntax-annot" args."clack-v1-compat" args."do-urlencode" args."local-time" args."myway" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/caveman/2017-06-30/caveman-20170630-git.tgz'';
     sha256 = ''0wpjnskcvrgvqn9gbr43yqnpcxfmdggbiyaxz9rrhgcis2rwjkj2'';
   };
-    
+
   packageName = "caveman";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/caveman[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["caveman.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM caveman DESCRIPTION Web Application Framework for Common Lisp SHA256 0wpjnskcvrgvqn9gbr43yqnpcxfmdggbiyaxz9rrhgcis2rwjkj2 URL
-    http://beta.quicklisp.org/archive/caveman/2017-06-30/caveman-20170630-git.tgz MD5 774f85fa78792bde012bad78efff4b53 NAME caveman TESTNAME NIL FILENAME
-    caveman DEPS
-    ((NAME myway FILENAME myway) (NAME local-time FILENAME local-time) (NAME do-urlencode FILENAME do-urlencode)
-     (NAME clack-v1-compat FILENAME clack-v1-compat) (NAME cl-syntax-annot FILENAME cl-syntax-annot) (NAME cl-syntax FILENAME cl-syntax)
-     (NAME cl-project FILENAME cl-project) (NAME cl-ppcre FILENAME cl-ppcre) (NAME cl-emb FILENAME cl-emb) (NAME anaphora FILENAME anaphora))
-    DEPENDENCIES (myway local-time do-urlencode clack-v1-compat cl-syntax-annot cl-syntax cl-project cl-ppcre cl-emb anaphora) VERSION 20170630-git SIBLINGS
-    (caveman-middleware-dbimanager caveman-test caveman2-db caveman2-test caveman2)) */
+/* (SYSTEM caveman DESCRIPTION Web Application Framework for Common Lisp SHA256
+    0wpjnskcvrgvqn9gbr43yqnpcxfmdggbiyaxz9rrhgcis2rwjkj2 URL
+    http://beta.quicklisp.org/archive/caveman/2017-06-30/caveman-20170630-git.tgz
+    MD5 774f85fa78792bde012bad78efff4b53 NAME caveman FILENAME caveman DEPS
+    ((NAME anaphora FILENAME anaphora) (NAME cl-emb FILENAME cl-emb)
+     (NAME cl-ppcre FILENAME cl-ppcre) (NAME cl-project FILENAME cl-project)
+     (NAME cl-syntax FILENAME cl-syntax)
+     (NAME cl-syntax-annot FILENAME cl-syntax-annot)
+     (NAME clack-v1-compat FILENAME clack-v1-compat)
+     (NAME do-urlencode FILENAME do-urlencode)
+     (NAME local-time FILENAME local-time) (NAME myway FILENAME myway))
+    DEPENDENCIES
+    (anaphora cl-emb cl-ppcre cl-project cl-syntax cl-syntax-annot
+     clack-v1-compat do-urlencode local-time myway)
+    VERSION 20170630-git SIBLINGS
+    (caveman-middleware-dbimanager caveman-test caveman2-db caveman2-test
+     caveman2)
+    PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cffi-grovel.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cffi-grovel.nix
index e5dd39df1cd2..7923c444f24d 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cffi-grovel.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cffi-grovel.nix
@@ -5,32 +5,26 @@ rec {
 
   description = ''The CFFI Groveller'';
 
-  deps = [ args."alexandria" ];
+  deps = [ args."alexandria" args."babel" args."cffi" args."cffi-toolchain" args."trivial-features" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/cffi/2017-06-30/cffi_0.19.0.tgz'';
     sha256 = ''12v3ha0qp3f9lq2h3d7y3mwdq216nsdfig0s3c4akw90rsbnydj9'';
   };
-    
+
   packageName = "cffi-grovel";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cffi-grovel[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["cffi-grovel.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM cffi-grovel DESCRIPTION The CFFI Groveller SHA256 12v3ha0qp3f9lq2h3d7y3mwdq216nsdfig0s3c4akw90rsbnydj9 URL
-    http://beta.quicklisp.org/archive/cffi/2017-06-30/cffi_0.19.0.tgz MD5 7589b6437fec19fdabc65892536c3dc3 NAME cffi-grovel TESTNAME NIL FILENAME cffi-grovel
-    DEPS ((NAME alexandria FILENAME alexandria)) DEPENDENCIES (alexandria) VERSION cffi_0.19.0 SIBLINGS
-    (cffi-examples cffi-libffi cffi-tests cffi-toolchain cffi-uffi-compat cffi)) */
+/* (SYSTEM cffi-grovel DESCRIPTION The CFFI Groveller SHA256
+    12v3ha0qp3f9lq2h3d7y3mwdq216nsdfig0s3c4akw90rsbnydj9 URL
+    http://beta.quicklisp.org/archive/cffi/2017-06-30/cffi_0.19.0.tgz MD5
+    7589b6437fec19fdabc65892536c3dc3 NAME cffi-grovel FILENAME cffi-grovel DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
+     (NAME cffi FILENAME cffi) (NAME cffi-toolchain FILENAME cffi-toolchain)
+     (NAME trivial-features FILENAME trivial-features))
+    DEPENDENCIES (alexandria babel cffi cffi-toolchain trivial-features)
+    VERSION cffi_0.19.0 SIBLINGS
+    (cffi-examples cffi-libffi cffi-tests cffi-toolchain cffi-uffi-compat cffi)
+    PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cffi-toolchain.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cffi-toolchain.nix
new file mode 100644
index 000000000000..8234b83edfbb
--- /dev/null
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cffi-toolchain.nix
@@ -0,0 +1,31 @@
+args @ { fetchurl, ... }:
+rec {
+  baseName = ''cffi-toolchain'';
+  version = ''cffi_0.19.0'';
+
+  description = ''The CFFI toolchain'';
+
+  deps = [ args."alexandria" args."babel" args."cffi" args."trivial-features" ];
+
+  src = fetchurl {
+    url = ''http://beta.quicklisp.org/archive/cffi/2017-06-30/cffi_0.19.0.tgz'';
+    sha256 = ''12v3ha0qp3f9lq2h3d7y3mwdq216nsdfig0s3c4akw90rsbnydj9'';
+  };
+
+  packageName = "cffi-toolchain";
+
+  asdFilesToKeep = ["cffi-toolchain.asd"];
+  overrides = x: x;
+}
+/* (SYSTEM cffi-toolchain DESCRIPTION The CFFI toolchain SHA256
+    12v3ha0qp3f9lq2h3d7y3mwdq216nsdfig0s3c4akw90rsbnydj9 URL
+    http://beta.quicklisp.org/archive/cffi/2017-06-30/cffi_0.19.0.tgz MD5
+    7589b6437fec19fdabc65892536c3dc3 NAME cffi-toolchain FILENAME
+    cffi-toolchain DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
+     (NAME cffi FILENAME cffi)
+     (NAME trivial-features FILENAME trivial-features))
+    DEPENDENCIES (alexandria babel cffi trivial-features) VERSION cffi_0.19.0
+    SIBLINGS
+    (cffi-examples cffi-grovel cffi-libffi cffi-tests cffi-uffi-compat cffi)
+    PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cffi.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cffi.nix
index 7c09b2ec6436..d79a36e03028 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cffi.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cffi.nix
@@ -3,35 +3,32 @@ rec {
   baseName = ''cffi'';
   version = ''cffi_0.19.0'';
 
+  parasites = [ "cffi/c2ffi" "cffi/c2ffi-generator" ];
+
   description = ''The Common Foreign Function Interface'';
 
-  deps = [ args."uiop" args."trivial-features" args."babel" args."alexandria" ];
+  deps = [ args."alexandria" args."babel" args."cl-json" args."cl-ppcre" args."trivial-features" args."uiop" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/cffi/2017-06-30/cffi_0.19.0.tgz'';
     sha256 = ''12v3ha0qp3f9lq2h3d7y3mwdq216nsdfig0s3c4akw90rsbnydj9'';
   };
-    
+
   packageName = "cffi";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cffi[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["cffi.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM cffi DESCRIPTION The Common Foreign Function Interface SHA256 12v3ha0qp3f9lq2h3d7y3mwdq216nsdfig0s3c4akw90rsbnydj9 URL
-    http://beta.quicklisp.org/archive/cffi/2017-06-30/cffi_0.19.0.tgz MD5 7589b6437fec19fdabc65892536c3dc3 NAME cffi TESTNAME NIL FILENAME cffi DEPS
-    ((NAME uiop FILENAME uiop) (NAME trivial-features FILENAME trivial-features) (NAME babel FILENAME babel) (NAME alexandria FILENAME alexandria))
-    DEPENDENCIES (uiop trivial-features babel alexandria) VERSION cffi_0.19.0 SIBLINGS
-    (cffi-examples cffi-grovel cffi-libffi cffi-tests cffi-toolchain cffi-uffi-compat)) */
+/* (SYSTEM cffi DESCRIPTION The Common Foreign Function Interface SHA256
+    12v3ha0qp3f9lq2h3d7y3mwdq216nsdfig0s3c4akw90rsbnydj9 URL
+    http://beta.quicklisp.org/archive/cffi/2017-06-30/cffi_0.19.0.tgz MD5
+    7589b6437fec19fdabc65892536c3dc3 NAME cffi FILENAME cffi DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
+     (NAME cl-json FILENAME cl-json) (NAME cl-ppcre FILENAME cl-ppcre)
+     (NAME trivial-features FILENAME trivial-features)
+     (NAME uiop FILENAME uiop))
+    DEPENDENCIES (alexandria babel cl-json cl-ppcre trivial-features uiop)
+    VERSION cffi_0.19.0 SIBLINGS
+    (cffi-examples cffi-grovel cffi-libffi cffi-tests cffi-toolchain
+     cffi-uffi-compat)
+    PARASITES (cffi/c2ffi cffi/c2ffi-generator)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/chipz.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/chipz.nix
index e2a9da13b459..e13932346a62 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/chipz.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/chipz.nix
@@ -11,25 +11,15 @@ rec {
     url = ''http://beta.quicklisp.org/archive/chipz/2016-03-18/chipz-20160318-git.tgz'';
     sha256 = ''1dpsg8kd43k075xihb0szcq1f7iq8ryg5r77x5wi6hy9jhpq8826'';
   };
-    
+
   packageName = "chipz";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/chipz[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["chipz.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM chipz DESCRIPTION A library for decompressing deflate, zlib, and gzip data SHA256 1dpsg8kd43k075xihb0szcq1f7iq8ryg5r77x5wi6hy9jhpq8826 URL
-    http://beta.quicklisp.org/archive/chipz/2016-03-18/chipz-20160318-git.tgz MD5 625cb9c551f3692799e2029d4a0dd7e9 NAME chipz TESTNAME NIL FILENAME chipz DEPS
-    NIL DEPENDENCIES NIL VERSION 20160318-git SIBLINGS NIL) */
+/* (SYSTEM chipz DESCRIPTION
+    A library for decompressing deflate, zlib, and gzip data SHA256
+    1dpsg8kd43k075xihb0szcq1f7iq8ryg5r77x5wi6hy9jhpq8826 URL
+    http://beta.quicklisp.org/archive/chipz/2016-03-18/chipz-20160318-git.tgz
+    MD5 625cb9c551f3692799e2029d4a0dd7e9 NAME chipz FILENAME chipz DEPS NIL
+    DEPENDENCIES NIL VERSION 20160318-git SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/chunga.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/chunga.nix
index d6361d4392d1..6a4fd0defb99 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/chunga.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/chunga.nix
@@ -11,25 +11,15 @@ rec {
     url = ''http://beta.quicklisp.org/archive/chunga/2014-12-17/chunga-1.1.6.tgz'';
     sha256 = ''1ivdfi9hjkzp2anhpjm58gzrjpn6mdsp35km115c1j1c4yhs9lzg'';
   };
-    
+
   packageName = "chunga";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/chunga[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["chunga.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM chunga DESCRIPTION NIL SHA256 1ivdfi9hjkzp2anhpjm58gzrjpn6mdsp35km115c1j1c4yhs9lzg URL
-    http://beta.quicklisp.org/archive/chunga/2014-12-17/chunga-1.1.6.tgz MD5 75f5c4f9dec3a8a181ed5ef7e5d700b5 NAME chunga TESTNAME NIL FILENAME chunga DEPS
-    ((NAME trivial-gray-streams FILENAME trivial-gray-streams)) DEPENDENCIES (trivial-gray-streams) VERSION 1.1.6 SIBLINGS NIL) */
+/* (SYSTEM chunga DESCRIPTION NIL SHA256
+    1ivdfi9hjkzp2anhpjm58gzrjpn6mdsp35km115c1j1c4yhs9lzg URL
+    http://beta.quicklisp.org/archive/chunga/2014-12-17/chunga-1.1.6.tgz MD5
+    75f5c4f9dec3a8a181ed5ef7e5d700b5 NAME chunga FILENAME chunga DEPS
+    ((NAME trivial-gray-streams FILENAME trivial-gray-streams)) DEPENDENCIES
+    (trivial-gray-streams) VERSION 1.1.6 SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/circular-streams.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/circular-streams.nix
index 39cf82831a97..b25e131be559 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/circular-streams.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/circular-streams.nix
@@ -5,32 +5,26 @@ rec {
 
   description = ''Circularly readable streams for Common Lisp'';
 
-  deps = [ args."trivial-gray-streams" args."fast-io" ];
+  deps = [ args."alexandria" args."fast-io" args."static-vectors" args."trivial-gray-streams" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/circular-streams/2016-12-04/circular-streams-20161204-git.tgz'';
     sha256 = ''1i29b9sciqs5x59hlkdj2r4siyqgrwj5hb4lnc80jgfqvzbq4128'';
   };
-    
+
   packageName = "circular-streams";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/circular-streams[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["circular-streams.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM circular-streams DESCRIPTION Circularly readable streams for Common Lisp SHA256 1i29b9sciqs5x59hlkdj2r4siyqgrwj5hb4lnc80jgfqvzbq4128 URL
-    http://beta.quicklisp.org/archive/circular-streams/2016-12-04/circular-streams-20161204-git.tgz MD5 2383f3b82fa3335d9106e1354a678db8 NAME circular-streams
-    TESTNAME NIL FILENAME circular-streams DEPS ((NAME trivial-gray-streams FILENAME trivial-gray-streams) (NAME fast-io FILENAME fast-io)) DEPENDENCIES
-    (trivial-gray-streams fast-io) VERSION 20161204-git SIBLINGS (circular-streams-test)) */
+/* (SYSTEM circular-streams DESCRIPTION
+    Circularly readable streams for Common Lisp SHA256
+    1i29b9sciqs5x59hlkdj2r4siyqgrwj5hb4lnc80jgfqvzbq4128 URL
+    http://beta.quicklisp.org/archive/circular-streams/2016-12-04/circular-streams-20161204-git.tgz
+    MD5 2383f3b82fa3335d9106e1354a678db8 NAME circular-streams FILENAME
+    circular-streams DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME fast-io FILENAME fast-io)
+     (NAME static-vectors FILENAME static-vectors)
+     (NAME trivial-gray-streams FILENAME trivial-gray-streams))
+    DEPENDENCIES (alexandria fast-io static-vectors trivial-gray-streams)
+    VERSION 20161204-git SIBLINGS (circular-streams-test) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl+ssl.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl+ssl.nix
index 4f0c1a0421d4..8a8a26a2e9bc 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl+ssl.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl+ssl.nix
@@ -3,38 +3,35 @@ rec {
   baseName = ''cl+ssl'';
   version = ''cl+ssl-20170725-git'';
 
+  parasites = [ "openssl-1.1.0" ];
+
   description = ''Common Lisp interface to OpenSSL.'';
 
-  deps = [ args."uiop" args."trivial-gray-streams" args."trivial-garbage" args."trivial-features" args."flexi-streams" args."cffi" args."bordeaux-threads" args."alexandria" ];
+  deps = [ args."alexandria" args."babel" args."bordeaux-threads" args."cffi" args."flexi-streams" args."trivial-features" args."trivial-garbage" args."trivial-gray-streams" args."uiop" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/cl+ssl/2017-07-25/cl+ssl-20170725-git.tgz'';
     sha256 = ''1p5886l5bwz4bj2xy8mpsjswg103b8saqdnw050a4wk9shpj1j69'';
   };
-    
+
   packageName = "cl+ssl";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl+ssl[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["cl+ssl.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM cl+ssl DESCRIPTION Common Lisp interface to OpenSSL. SHA256 1p5886l5bwz4bj2xy8mpsjswg103b8saqdnw050a4wk9shpj1j69 URL
-    http://beta.quicklisp.org/archive/cl+ssl/2017-07-25/cl+ssl-20170725-git.tgz MD5 3458c83f442395e0492c7e9b9720a1f2 NAME cl+ssl TESTNAME NIL FILENAME cl+ssl
-    DEPS
-    ((NAME uiop FILENAME uiop) (NAME trivial-gray-streams FILENAME trivial-gray-streams) (NAME trivial-garbage FILENAME trivial-garbage)
-     (NAME trivial-features FILENAME trivial-features) (NAME flexi-streams FILENAME flexi-streams) (NAME cffi FILENAME cffi)
-     (NAME bordeaux-threads FILENAME bordeaux-threads) (NAME alexandria FILENAME alexandria))
-    DEPENDENCIES (uiop trivial-gray-streams trivial-garbage trivial-features flexi-streams cffi bordeaux-threads alexandria) VERSION cl+ssl-20170725-git
-    SIBLINGS (cl+ssl.test)) */
+/* (SYSTEM cl+ssl DESCRIPTION Common Lisp interface to OpenSSL. SHA256
+    1p5886l5bwz4bj2xy8mpsjswg103b8saqdnw050a4wk9shpj1j69 URL
+    http://beta.quicklisp.org/archive/cl+ssl/2017-07-25/cl+ssl-20170725-git.tgz
+    MD5 3458c83f442395e0492c7e9b9720a1f2 NAME cl+ssl FILENAME cl+ssl DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
+     (NAME bordeaux-threads FILENAME bordeaux-threads)
+     (NAME cffi FILENAME cffi) (NAME flexi-streams FILENAME flexi-streams)
+     (NAME trivial-features FILENAME trivial-features)
+     (NAME trivial-garbage FILENAME trivial-garbage)
+     (NAME trivial-gray-streams FILENAME trivial-gray-streams)
+     (NAME uiop FILENAME uiop))
+    DEPENDENCIES
+    (alexandria babel bordeaux-threads cffi flexi-streams trivial-features
+     trivial-garbage trivial-gray-streams uiop)
+    VERSION cl+ssl-20170725-git SIBLINGS (cl+ssl.test) PARASITES
+    (openssl-1.1.0)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-aa.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-aa.nix
index ab800bc17805..9a664aa97735 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-aa.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-aa.nix
@@ -11,25 +11,15 @@ rec {
     url = ''http://beta.quicklisp.org/archive/cl-vectors/2017-06-30/cl-vectors-20170630-git.tgz'';
     sha256 = ''0820qwi6pp8683rqp37x9l9shm0vh873bc4p9q38cz56ck7il740'';
   };
-    
+
   packageName = "cl-aa";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl-aa[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["cl-aa.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM cl-aa DESCRIPTION cl-aa: polygon rasterizer SHA256 0820qwi6pp8683rqp37x9l9shm0vh873bc4p9q38cz56ck7il740 URL
-    http://beta.quicklisp.org/archive/cl-vectors/2017-06-30/cl-vectors-20170630-git.tgz MD5 cee3bb14adbba3142b782c646f7651ce NAME cl-aa TESTNAME NIL FILENAME
-    cl-aa DEPS NIL DEPENDENCIES NIL VERSION cl-vectors-20170630-git SIBLINGS (cl-aa-misc cl-paths-ttf cl-paths cl-vectors)) */
+/* (SYSTEM cl-aa DESCRIPTION cl-aa: polygon rasterizer SHA256
+    0820qwi6pp8683rqp37x9l9shm0vh873bc4p9q38cz56ck7il740 URL
+    http://beta.quicklisp.org/archive/cl-vectors/2017-06-30/cl-vectors-20170630-git.tgz
+    MD5 cee3bb14adbba3142b782c646f7651ce NAME cl-aa FILENAME cl-aa DEPS NIL
+    DEPENDENCIES NIL VERSION cl-vectors-20170630-git SIBLINGS
+    (cl-aa-misc cl-paths-ttf cl-paths cl-vectors) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-annot.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-annot.nix
index 591df96c84e4..5f93167a1141 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-annot.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-annot.nix
@@ -11,25 +11,15 @@ rec {
     url = ''http://beta.quicklisp.org/archive/cl-annot/2015-06-08/cl-annot-20150608-git.tgz'';
     sha256 = ''0ixsp20rk498phv3iivipn3qbw7a7x260x63hc6kpv2s746lpdg3'';
   };
-    
+
   packageName = "cl-annot";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl-annot[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["cl-annot.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM cl-annot DESCRIPTION Python-like Annotation Syntax for Common Lisp SHA256 0ixsp20rk498phv3iivipn3qbw7a7x260x63hc6kpv2s746lpdg3 URL
-    http://beta.quicklisp.org/archive/cl-annot/2015-06-08/cl-annot-20150608-git.tgz MD5 35d8f79311bda4dd86002d11edcd0a21 NAME cl-annot TESTNAME NIL FILENAME
-    cl-annot DEPS ((NAME alexandria FILENAME alexandria)) DEPENDENCIES (alexandria) VERSION 20150608-git SIBLINGS NIL) */
+/* (SYSTEM cl-annot DESCRIPTION Python-like Annotation Syntax for Common Lisp
+    SHA256 0ixsp20rk498phv3iivipn3qbw7a7x260x63hc6kpv2s746lpdg3 URL
+    http://beta.quicklisp.org/archive/cl-annot/2015-06-08/cl-annot-20150608-git.tgz
+    MD5 35d8f79311bda4dd86002d11edcd0a21 NAME cl-annot FILENAME cl-annot DEPS
+    ((NAME alexandria FILENAME alexandria)) DEPENDENCIES (alexandria) VERSION
+    20150608-git SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-anonfun.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-anonfun.nix
index 51b5b5cf5431..a413743eb8d5 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-anonfun.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-anonfun.nix
@@ -11,25 +11,14 @@ rec {
     url = ''http://beta.quicklisp.org/archive/cl-anonfun/2011-12-03/cl-anonfun-20111203-git.tgz'';
     sha256 = ''16r3v3yba41smkqpz0qvzabkxashl39klfb6vxhzbly696x87p1m'';
   };
-    
+
   packageName = "cl-anonfun";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl-anonfun[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["cl-anonfun.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM cl-anonfun DESCRIPTION Anonymous function helpers for Common Lisp SHA256 16r3v3yba41smkqpz0qvzabkxashl39klfb6vxhzbly696x87p1m URL
-    http://beta.quicklisp.org/archive/cl-anonfun/2011-12-03/cl-anonfun-20111203-git.tgz MD5 915bda1a7653d42090f8d20a1ad85d0b NAME cl-anonfun TESTNAME NIL
-    FILENAME cl-anonfun DEPS NIL DEPENDENCIES NIL VERSION 20111203-git SIBLINGS NIL) */
+/* (SYSTEM cl-anonfun DESCRIPTION Anonymous function helpers for Common Lisp
+    SHA256 16r3v3yba41smkqpz0qvzabkxashl39klfb6vxhzbly696x87p1m URL
+    http://beta.quicklisp.org/archive/cl-anonfun/2011-12-03/cl-anonfun-20111203-git.tgz
+    MD5 915bda1a7653d42090f8d20a1ad85d0b NAME cl-anonfun FILENAME cl-anonfun
+    DEPS NIL DEPENDENCIES NIL VERSION 20111203-git SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ansi-text.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ansi-text.nix
index 0dce1f789449..9b053c920e32 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ansi-text.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ansi-text.nix
@@ -5,32 +5,25 @@ rec {
 
   description = ''ANSI control string characters, focused on color'';
 
-  deps = [ args."cl-colors" args."alexandria" ];
+  deps = [ args."alexandria" args."anaphora" args."cl-colors" args."let-plus" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/cl-ansi-text/2015-08-04/cl-ansi-text-20150804-git.tgz'';
     sha256 = ''112w7qg8yp28qyc2b5c7km457krr3xksxyps1icmgdpqf9ccpn2i'';
   };
-    
+
   packageName = "cl-ansi-text";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl-ansi-text[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["cl-ansi-text.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM cl-ansi-text DESCRIPTION ANSI control string characters, focused on color SHA256 112w7qg8yp28qyc2b5c7km457krr3xksxyps1icmgdpqf9ccpn2i URL
-    http://beta.quicklisp.org/archive/cl-ansi-text/2015-08-04/cl-ansi-text-20150804-git.tgz MD5 70aa38b40377a5e89a7f22bb68b3f796 NAME cl-ansi-text TESTNAME NIL
-    FILENAME cl-ansi-text DEPS ((NAME cl-colors FILENAME cl-colors) (NAME alexandria FILENAME alexandria)) DEPENDENCIES (cl-colors alexandria) VERSION
-    20150804-git SIBLINGS (cl-ansi-text-test)) */
+/* (SYSTEM cl-ansi-text DESCRIPTION
+    ANSI control string characters, focused on color SHA256
+    112w7qg8yp28qyc2b5c7km457krr3xksxyps1icmgdpqf9ccpn2i URL
+    http://beta.quicklisp.org/archive/cl-ansi-text/2015-08-04/cl-ansi-text-20150804-git.tgz
+    MD5 70aa38b40377a5e89a7f22bb68b3f796 NAME cl-ansi-text FILENAME
+    cl-ansi-text DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME anaphora FILENAME anaphora)
+     (NAME cl-colors FILENAME cl-colors) (NAME let-plus FILENAME let-plus))
+    DEPENDENCIES (alexandria anaphora cl-colors let-plus) VERSION 20150804-git
+    SIBLINGS (cl-ansi-text-test) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async-base.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async-base.nix
deleted file mode 100644
index 210e914aeee8..000000000000
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async-base.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-args @ { fetchurl, ... }:
-rec {
-  baseName = ''cl-async-base'';
-  version = ''cl-async-20160825-git'';
-
-  testSystems = ["cl-async"];
-
-  description = ''Base system for cl-async.'';
-
-  deps = [ args."cl-libuv" args."cffi" args."bordeaux-threads" ];
-
-  src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/cl-async/2016-08-25/cl-async-20160825-git.tgz'';
-    sha256 = ''104x6vw9zrmzz3sipmzn0ygil6ccyy8gpvvjxak2bfxbmxcl09pa'';
-  };
-    
-  packageName = "cl-async-base";
-
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl-async-base[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
-}
-/* (SYSTEM cl-async-base DESCRIPTION Base system for cl-async. SHA256 104x6vw9zrmzz3sipmzn0ygil6ccyy8gpvvjxak2bfxbmxcl09pa URL
-    http://beta.quicklisp.org/archive/cl-async/2016-08-25/cl-async-20160825-git.tgz MD5 18e1d6c54a27c8ba721ebaa3d8c6e112 NAME cl-async-base TESTNAME cl-async
-    FILENAME cl-async-base DEPS ((NAME cl-libuv FILENAME cl-libuv) (NAME cffi FILENAME cffi) (NAME bordeaux-threads FILENAME bordeaux-threads)) DEPENDENCIES
-    (cl-libuv cffi bordeaux-threads) VERSION cl-async-20160825-git SIBLINGS (cl-async-repl cl-async-ssl cl-async-test cl-async)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async-repl.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async-repl.nix
index 21dd26e4a838..8a323e3dcc96 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async-repl.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async-repl.nix
@@ -5,32 +5,38 @@ rec {
 
   description = ''REPL integration for CL-ASYNC.'';
 
-  deps = [ args."bordeaux-threads" ];
+  deps = [ args."alexandria" args."babel" args."bordeaux-threads" args."cffi" args."cffi-grovel" args."cl-async" args."cl-async-base" args."cl-async-util" args."cl-libuv" args."cl-ppcre" args."fast-io" args."static-vectors" args."trivial-features" args."trivial-gray-streams" args."vom" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/cl-async/2016-08-25/cl-async-20160825-git.tgz'';
     sha256 = ''104x6vw9zrmzz3sipmzn0ygil6ccyy8gpvvjxak2bfxbmxcl09pa'';
   };
-    
+
   packageName = "cl-async-repl";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl-async-repl[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["cl-async-repl.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM cl-async-repl DESCRIPTION REPL integration for CL-ASYNC. SHA256 104x6vw9zrmzz3sipmzn0ygil6ccyy8gpvvjxak2bfxbmxcl09pa URL
-    http://beta.quicklisp.org/archive/cl-async/2016-08-25/cl-async-20160825-git.tgz MD5 18e1d6c54a27c8ba721ebaa3d8c6e112 NAME cl-async-repl TESTNAME NIL
-    FILENAME cl-async-repl DEPS ((NAME bordeaux-threads FILENAME bordeaux-threads)) DEPENDENCIES (bordeaux-threads) VERSION cl-async-20160825-git SIBLINGS
-    (cl-async-ssl cl-async-test cl-async)) */
+/* (SYSTEM cl-async-repl DESCRIPTION REPL integration for CL-ASYNC. SHA256
+    104x6vw9zrmzz3sipmzn0ygil6ccyy8gpvvjxak2bfxbmxcl09pa URL
+    http://beta.quicklisp.org/archive/cl-async/2016-08-25/cl-async-20160825-git.tgz
+    MD5 18e1d6c54a27c8ba721ebaa3d8c6e112 NAME cl-async-repl FILENAME
+    cl-async-repl DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
+     (NAME bordeaux-threads FILENAME bordeaux-threads)
+     (NAME cffi FILENAME cffi) (NAME cffi-grovel FILENAME cffi-grovel)
+     (NAME cl-async FILENAME cl-async)
+     (NAME cl-async-base FILENAME cl-async-base)
+     (NAME cl-async-util FILENAME cl-async-util)
+     (NAME cl-libuv FILENAME cl-libuv) (NAME cl-ppcre FILENAME cl-ppcre)
+     (NAME fast-io FILENAME fast-io)
+     (NAME static-vectors FILENAME static-vectors)
+     (NAME trivial-features FILENAME trivial-features)
+     (NAME trivial-gray-streams FILENAME trivial-gray-streams)
+     (NAME vom FILENAME vom))
+    DEPENDENCIES
+    (alexandria babel bordeaux-threads cffi cffi-grovel cl-async cl-async-base
+     cl-async-util cl-libuv cl-ppcre fast-io static-vectors trivial-features
+     trivial-gray-streams vom)
+    VERSION cl-async-20160825-git SIBLINGS
+    (cl-async-ssl cl-async-test cl-async) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async-ssl.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async-ssl.nix
index 438a85700e77..7c040c7a4616 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async-ssl.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async-ssl.nix
@@ -5,32 +5,39 @@ rec {
 
   description = ''SSL Wrapper around cl-async socket implementation.'';
 
-  deps = [ args."vom" args."cffi" ];
+  deps = [ args."alexandria" args."babel" args."bordeaux-threads" args."cffi" args."cffi-grovel" args."cl-async" args."cl-async-base" args."cl-async-util" args."cl-libuv" args."cl-ppcre" args."fast-io" args."static-vectors" args."trivial-features" args."trivial-gray-streams" args."vom" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/cl-async/2016-08-25/cl-async-20160825-git.tgz'';
     sha256 = ''104x6vw9zrmzz3sipmzn0ygil6ccyy8gpvvjxak2bfxbmxcl09pa'';
   };
-    
+
   packageName = "cl-async-ssl";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl-async-ssl[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["cl-async-ssl.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM cl-async-ssl DESCRIPTION SSL Wrapper around cl-async socket implementation. SHA256 104x6vw9zrmzz3sipmzn0ygil6ccyy8gpvvjxak2bfxbmxcl09pa URL
-    http://beta.quicklisp.org/archive/cl-async/2016-08-25/cl-async-20160825-git.tgz MD5 18e1d6c54a27c8ba721ebaa3d8c6e112 NAME cl-async-ssl TESTNAME NIL
-    FILENAME cl-async-ssl DEPS ((NAME vom FILENAME vom) (NAME cffi FILENAME cffi)) DEPENDENCIES (vom cffi) VERSION cl-async-20160825-git SIBLINGS
-    (cl-async-repl cl-async-test cl-async)) */
+/* (SYSTEM cl-async-ssl DESCRIPTION
+    SSL Wrapper around cl-async socket implementation. SHA256
+    104x6vw9zrmzz3sipmzn0ygil6ccyy8gpvvjxak2bfxbmxcl09pa URL
+    http://beta.quicklisp.org/archive/cl-async/2016-08-25/cl-async-20160825-git.tgz
+    MD5 18e1d6c54a27c8ba721ebaa3d8c6e112 NAME cl-async-ssl FILENAME
+    cl-async-ssl DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
+     (NAME bordeaux-threads FILENAME bordeaux-threads)
+     (NAME cffi FILENAME cffi) (NAME cffi-grovel FILENAME cffi-grovel)
+     (NAME cl-async FILENAME cl-async)
+     (NAME cl-async-base FILENAME cl-async-base)
+     (NAME cl-async-util FILENAME cl-async-util)
+     (NAME cl-libuv FILENAME cl-libuv) (NAME cl-ppcre FILENAME cl-ppcre)
+     (NAME fast-io FILENAME fast-io)
+     (NAME static-vectors FILENAME static-vectors)
+     (NAME trivial-features FILENAME trivial-features)
+     (NAME trivial-gray-streams FILENAME trivial-gray-streams)
+     (NAME vom FILENAME vom))
+    DEPENDENCIES
+    (alexandria babel bordeaux-threads cffi cffi-grovel cl-async cl-async-base
+     cl-async-util cl-libuv cl-ppcre fast-io static-vectors trivial-features
+     trivial-gray-streams vom)
+    VERSION cl-async-20160825-git SIBLINGS
+    (cl-async-repl cl-async-test cl-async) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async-util.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async-util.nix
deleted file mode 100644
index 8bc2b61128f4..000000000000
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async-util.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-args @ { fetchurl, ... }:
-rec {
-  baseName = ''cl-async-util'';
-  version = ''cl-async-20160825-git'';
-
-  description = ''Internal utilities for cl-async.'';
-
-  deps = [ args."vom" args."fast-io" args."cl-ppcre" args."cl-libuv" args."cl-async-base" args."cffi" ];
-
-  src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/cl-async/2016-08-25/cl-async-20160825-git.tgz'';
-    sha256 = ''104x6vw9zrmzz3sipmzn0ygil6ccyy8gpvvjxak2bfxbmxcl09pa'';
-  };
-    
-  packageName = "cl-async-util";
-
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl-async-util[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
-}
-/* (SYSTEM cl-async-util DESCRIPTION Internal utilities for cl-async. SHA256 104x6vw9zrmzz3sipmzn0ygil6ccyy8gpvvjxak2bfxbmxcl09pa URL
-    http://beta.quicklisp.org/archive/cl-async/2016-08-25/cl-async-20160825-git.tgz MD5 18e1d6c54a27c8ba721ebaa3d8c6e112 NAME cl-async-util TESTNAME NIL
-    FILENAME cl-async-util DEPS
-    ((NAME vom FILENAME vom) (NAME fast-io FILENAME fast-io) (NAME cl-ppcre FILENAME cl-ppcre) (NAME cl-libuv FILENAME cl-libuv)
-     (NAME cl-async-base FILENAME cl-async-base) (NAME cffi FILENAME cffi))
-    DEPENDENCIES (vom fast-io cl-ppcre cl-libuv cl-async-base cffi) VERSION cl-async-20160825-git SIBLINGS (cl-async-repl cl-async-ssl cl-async-test cl-async)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async.nix
index 2e8a5ce83de0..cc31b7a186f8 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async.nix
@@ -3,38 +3,37 @@ rec {
   baseName = ''cl-async'';
   version = ''20160825-git'';
 
+  parasites = [ "cl-async-base" "cl-async-util" ];
+
   description = ''Asynchronous operations for Common Lisp.'';
 
-  deps = [ args."uiop" args."trivial-gray-streams" args."trivial-features" args."static-vectors" args."cl-ppcre" args."cl-libuv" args."cl-async-util" args."cl-async-base" args."cffi" args."babel" ];
+  deps = [ args."alexandria" args."babel" args."bordeaux-threads" args."cffi" args."cffi-grovel" args."cl-libuv" args."cl-ppcre" args."fast-io" args."static-vectors" args."trivial-features" args."trivial-gray-streams" args."uiop" args."vom" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/cl-async/2016-08-25/cl-async-20160825-git.tgz'';
     sha256 = ''104x6vw9zrmzz3sipmzn0ygil6ccyy8gpvvjxak2bfxbmxcl09pa'';
   };
-    
+
   packageName = "cl-async";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl-async[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["cl-async.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM cl-async DESCRIPTION Asynchronous operations for Common Lisp. SHA256 104x6vw9zrmzz3sipmzn0ygil6ccyy8gpvvjxak2bfxbmxcl09pa URL
-    http://beta.quicklisp.org/archive/cl-async/2016-08-25/cl-async-20160825-git.tgz MD5 18e1d6c54a27c8ba721ebaa3d8c6e112 NAME cl-async TESTNAME NIL FILENAME
-    cl-async DEPS
-    ((NAME uiop FILENAME uiop) (NAME trivial-gray-streams FILENAME trivial-gray-streams) (NAME trivial-features FILENAME trivial-features)
-     (NAME static-vectors FILENAME static-vectors) (NAME cl-ppcre FILENAME cl-ppcre) (NAME cl-libuv FILENAME cl-libuv)
-     (NAME cl-async-util FILENAME cl-async-util) (NAME cl-async-base FILENAME cl-async-base) (NAME cffi FILENAME cffi) (NAME babel FILENAME babel))
-    DEPENDENCIES (uiop trivial-gray-streams trivial-features static-vectors cl-ppcre cl-libuv cl-async-util cl-async-base cffi babel) VERSION 20160825-git
-    SIBLINGS (cl-async-repl cl-async-ssl cl-async-test)) */
+/* (SYSTEM cl-async DESCRIPTION Asynchronous operations for Common Lisp. SHA256
+    104x6vw9zrmzz3sipmzn0ygil6ccyy8gpvvjxak2bfxbmxcl09pa URL
+    http://beta.quicklisp.org/archive/cl-async/2016-08-25/cl-async-20160825-git.tgz
+    MD5 18e1d6c54a27c8ba721ebaa3d8c6e112 NAME cl-async FILENAME cl-async DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
+     (NAME bordeaux-threads FILENAME bordeaux-threads)
+     (NAME cffi FILENAME cffi) (NAME cffi-grovel FILENAME cffi-grovel)
+     (NAME cl-libuv FILENAME cl-libuv) (NAME cl-ppcre FILENAME cl-ppcre)
+     (NAME fast-io FILENAME fast-io)
+     (NAME static-vectors FILENAME static-vectors)
+     (NAME trivial-features FILENAME trivial-features)
+     (NAME trivial-gray-streams FILENAME trivial-gray-streams)
+     (NAME uiop FILENAME uiop) (NAME vom FILENAME vom))
+    DEPENDENCIES
+    (alexandria babel bordeaux-threads cffi cffi-grovel cl-libuv cl-ppcre
+     fast-io static-vectors trivial-features trivial-gray-streams uiop vom)
+    VERSION 20160825-git SIBLINGS (cl-async-repl cl-async-ssl cl-async-test)
+    PARASITES (cl-async-base cl-async-util)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-base64.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-base64.nix
index 86cc31f56420..a4a9a9261fd6 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-base64.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-base64.nix
@@ -3,33 +3,26 @@ rec {
   baseName = ''cl-base64'';
   version = ''20150923-git'';
 
+  parasites = [ "cl-base64-tests" ];
+
   description = ''Base64 encoding and decoding with URI support.'';
 
-  deps = [ ];
+  deps = [ args."kmrcl" args."ptester" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/cl-base64/2015-09-23/cl-base64-20150923-git.tgz'';
     sha256 = ''0haip5x0091r9xa8gdzr21s0rk432998nbxxfys35lhnyc1vgyhp'';
   };
-    
+
   packageName = "cl-base64";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl-base64[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["cl-base64.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM cl-base64 DESCRIPTION Base64 encoding and decoding with URI support. SHA256 0haip5x0091r9xa8gdzr21s0rk432998nbxxfys35lhnyc1vgyhp URL
-    http://beta.quicklisp.org/archive/cl-base64/2015-09-23/cl-base64-20150923-git.tgz MD5 560d0601eaa86901611f1484257b9a57 NAME cl-base64 TESTNAME NIL FILENAME
-    cl-base64 DEPS NIL DEPENDENCIES NIL VERSION 20150923-git SIBLINGS NIL) */
+/* (SYSTEM cl-base64 DESCRIPTION Base64 encoding and decoding with URI support.
+    SHA256 0haip5x0091r9xa8gdzr21s0rk432998nbxxfys35lhnyc1vgyhp URL
+    http://beta.quicklisp.org/archive/cl-base64/2015-09-23/cl-base64-20150923-git.tgz
+    MD5 560d0601eaa86901611f1484257b9a57 NAME cl-base64 FILENAME cl-base64 DEPS
+    ((NAME kmrcl FILENAME kmrcl) (NAME ptester FILENAME ptester)) DEPENDENCIES
+    (kmrcl ptester) VERSION 20150923-git SIBLINGS NIL PARASITES
+    (cl-base64-tests)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-cli.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-cli.nix
index f5bee7c03d23..36641b73b750 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-cli.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-cli.nix
@@ -11,25 +11,15 @@ rec {
     url = ''http://beta.quicklisp.org/archive/cl-cli/2015-12-18/cl-cli-20151218-git.tgz'';
     sha256 = ''0d097wjprljghkai1yacvjqmjm1mwpa46yxbacjnwps8pqwh18ay'';
   };
-    
+
   packageName = "cl-cli";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl-cli[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["cl-cli.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM cl-cli DESCRIPTION Command line parser SHA256 0d097wjprljghkai1yacvjqmjm1mwpa46yxbacjnwps8pqwh18ay URL
-    http://beta.quicklisp.org/archive/cl-cli/2015-12-18/cl-cli-20151218-git.tgz MD5 820e5c7dde6800fcfa44b1fbc7a9d62b NAME cl-cli TESTNAME NIL FILENAME cl-cli
-    DEPS ((NAME split-sequence FILENAME split-sequence)) DEPENDENCIES (split-sequence) VERSION 20151218-git SIBLINGS NIL) */
+/* (SYSTEM cl-cli DESCRIPTION Command line parser SHA256
+    0d097wjprljghkai1yacvjqmjm1mwpa46yxbacjnwps8pqwh18ay URL
+    http://beta.quicklisp.org/archive/cl-cli/2015-12-18/cl-cli-20151218-git.tgz
+    MD5 820e5c7dde6800fcfa44b1fbc7a9d62b NAME cl-cli FILENAME cl-cli DEPS
+    ((NAME split-sequence FILENAME split-sequence)) DEPENDENCIES
+    (split-sequence) VERSION 20151218-git SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-colors.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-colors.nix
index 5abdac589dda..6a6ad9a6e700 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-colors.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-colors.nix
@@ -3,34 +3,27 @@ rec {
   baseName = ''cl-colors'';
   version = ''20151218-git'';
 
+  parasites = [ "cl-colors-tests" ];
+
   description = ''Simple color library for Common Lisp'';
 
-  deps = [ args."alexandria" args."let-plus" ];
+  deps = [ args."alexandria" args."anaphora" args."let-plus" args."lift" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/cl-colors/2015-12-18/cl-colors-20151218-git.tgz'';
     sha256 = ''032kswn6h2ib7v8v1dg0lmgfks7zk52wrv31q6p2zj2a156ccqp4'';
   };
-    
+
   packageName = "cl-colors";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl-colors[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["cl-colors.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM cl-colors DESCRIPTION Simple color library for Common Lisp SHA256 032kswn6h2ib7v8v1dg0lmgfks7zk52wrv31q6p2zj2a156ccqp4 URL
-    http://beta.quicklisp.org/archive/cl-colors/2015-12-18/cl-colors-20151218-git.tgz MD5 2963c3e7aca2c5db2132394f83716515 NAME cl-colors TESTNAME NIL FILENAME
-    cl-colors DEPS ((NAME alexandria FILENAME alexandria) (NAME let-plus FILENAME let-plus)) DEPENDENCIES (alexandria let-plus) VERSION 20151218-git SIBLINGS
-    NIL) */
+/* (SYSTEM cl-colors DESCRIPTION Simple color library for Common Lisp SHA256
+    032kswn6h2ib7v8v1dg0lmgfks7zk52wrv31q6p2zj2a156ccqp4 URL
+    http://beta.quicklisp.org/archive/cl-colors/2015-12-18/cl-colors-20151218-git.tgz
+    MD5 2963c3e7aca2c5db2132394f83716515 NAME cl-colors FILENAME cl-colors DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME anaphora FILENAME anaphora)
+     (NAME let-plus FILENAME let-plus) (NAME lift FILENAME lift))
+    DEPENDENCIES (alexandria anaphora let-plus lift) VERSION 20151218-git
+    SIBLINGS NIL PARASITES (cl-colors-tests)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-containers.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-containers.nix
index 89627b22fbc2..ebff2928c3ea 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-containers.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-containers.nix
@@ -3,34 +3,31 @@ rec {
   baseName = ''cl-containers'';
   version = ''20170403-git'';
 
+  parasites = [ "cl-containers/with-moptilities" "cl-containers/with-utilities" ];
+
   description = ''A generic container library for Common Lisp'';
 
-  deps = [ args."metatilities-base" args."asdf-system-connections" ];
+  deps = [ args."asdf-system-connections" args."metatilities-base" args."moptilities" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/cl-containers/2017-04-03/cl-containers-20170403-git.tgz'';
     sha256 = ''0wlwbz5xv3468iszvmfxnj924mdwx0lyzmhsggiq7iq7ip8wbbxg'';
   };
-    
+
   packageName = "cl-containers";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl-containers[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["cl-containers.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM cl-containers DESCRIPTION A generic container library for Common Lisp SHA256 0wlwbz5xv3468iszvmfxnj924mdwx0lyzmhsggiq7iq7ip8wbbxg URL
-    http://beta.quicklisp.org/archive/cl-containers/2017-04-03/cl-containers-20170403-git.tgz MD5 17123cd2b018cd3eb048eceef78be3f8 NAME cl-containers TESTNAME
-    NIL FILENAME cl-containers DEPS ((NAME metatilities-base FILENAME metatilities-base) (NAME asdf-system-connections FILENAME asdf-system-connections))
-    DEPENDENCIES (metatilities-base asdf-system-connections) VERSION 20170403-git SIBLINGS (cl-containers-test)) */
+/* (SYSTEM cl-containers DESCRIPTION
+    A generic container library for Common Lisp SHA256
+    0wlwbz5xv3468iszvmfxnj924mdwx0lyzmhsggiq7iq7ip8wbbxg URL
+    http://beta.quicklisp.org/archive/cl-containers/2017-04-03/cl-containers-20170403-git.tgz
+    MD5 17123cd2b018cd3eb048eceef78be3f8 NAME cl-containers FILENAME
+    cl-containers DEPS
+    ((NAME asdf-system-connections FILENAME asdf-system-connections)
+     (NAME metatilities-base FILENAME metatilities-base)
+     (NAME moptilities FILENAME moptilities))
+    DEPENDENCIES (asdf-system-connections metatilities-base moptilities)
+    VERSION 20170403-git SIBLINGS (cl-containers-test) PARASITES
+    (cl-containers/with-moptilities cl-containers/with-utilities)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-cookie.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-cookie.nix
index 5aa6ad1c9c08..a3aacd0aa8bd 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-cookie.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-cookie.nix
@@ -5,34 +5,31 @@ rec {
 
   description = ''HTTP cookie manager'';
 
-  deps = [ args."quri" args."proc-parse" args."local-time" args."cl-ppcre" args."alexandria" ];
+  deps = [ args."alexandria" args."babel" args."bordeaux-threads" args."cl-fad" args."cl-ppcre" args."cl-utilities" args."local-time" args."proc-parse" args."quri" args."split-sequence" args."trivial-features" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/cl-cookie/2015-08-04/cl-cookie-20150804-git.tgz'';
     sha256 = ''0llh5d2p7wi5amzpckng1bzmf2bdfdwkfapcdq0znqlzd5bvbby8'';
   };
-    
+
   packageName = "cl-cookie";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl-cookie[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["cl-cookie.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM cl-cookie DESCRIPTION HTTP cookie manager SHA256 0llh5d2p7wi5amzpckng1bzmf2bdfdwkfapcdq0znqlzd5bvbby8 URL
-    http://beta.quicklisp.org/archive/cl-cookie/2015-08-04/cl-cookie-20150804-git.tgz MD5 d2c08a71afd47b3ad42e1234ec1a3083 NAME cl-cookie TESTNAME NIL FILENAME
-    cl-cookie DEPS
-    ((NAME quri FILENAME quri) (NAME proc-parse FILENAME proc-parse) (NAME local-time FILENAME local-time) (NAME cl-ppcre FILENAME cl-ppcre)
-     (NAME alexandria FILENAME alexandria))
-    DEPENDENCIES (quri proc-parse local-time cl-ppcre alexandria) VERSION 20150804-git SIBLINGS (cl-cookie-test)) */
+/* (SYSTEM cl-cookie DESCRIPTION HTTP cookie manager SHA256
+    0llh5d2p7wi5amzpckng1bzmf2bdfdwkfapcdq0znqlzd5bvbby8 URL
+    http://beta.quicklisp.org/archive/cl-cookie/2015-08-04/cl-cookie-20150804-git.tgz
+    MD5 d2c08a71afd47b3ad42e1234ec1a3083 NAME cl-cookie FILENAME cl-cookie DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
+     (NAME bordeaux-threads FILENAME bordeaux-threads)
+     (NAME cl-fad FILENAME cl-fad) (NAME cl-ppcre FILENAME cl-ppcre)
+     (NAME cl-utilities FILENAME cl-utilities)
+     (NAME local-time FILENAME local-time)
+     (NAME proc-parse FILENAME proc-parse) (NAME quri FILENAME quri)
+     (NAME split-sequence FILENAME split-sequence)
+     (NAME trivial-features FILENAME trivial-features))
+    DEPENDENCIES
+    (alexandria babel bordeaux-threads cl-fad cl-ppcre cl-utilities local-time
+     proc-parse quri split-sequence trivial-features)
+    VERSION 20150804-git SIBLINGS (cl-cookie-test) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-csv.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-csv.nix
index 3436e5a75a61..3e1ef10ef993 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-csv.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-csv.nix
@@ -3,34 +3,34 @@ rec {
   baseName = ''cl-csv'';
   version = ''20170403-git'';
 
+  parasites = [ "cl-csv-test" ];
+
   description = ''Facilities for reading and writing CSV format files'';
 
-  deps = [ args."iterate" args."cl-interpol" args."alexandria" ];
+  deps = [ args."alexandria" args."cl-interpol" args."cl-ppcre" args."cl-unicode" args."flexi-streams" args."iterate" args."lisp-unit2" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/cl-csv/2017-04-03/cl-csv-20170403-git.tgz'';
     sha256 = ''1mz0hr0r7yxw1dzdbaqzxabmipp286zc6aglni9f46isjwmqpy6h'';
   };
-    
+
   packageName = "cl-csv";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl-csv[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["cl-csv.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM cl-csv DESCRIPTION Facilities for reading and writing CSV format files SHA256 1mz0hr0r7yxw1dzdbaqzxabmipp286zc6aglni9f46isjwmqpy6h URL
-    http://beta.quicklisp.org/archive/cl-csv/2017-04-03/cl-csv-20170403-git.tgz MD5 1e71a90c5057371fab044d440c39f0a3 NAME cl-csv TESTNAME NIL FILENAME cl-csv
-    DEPS ((NAME iterate FILENAME iterate) (NAME cl-interpol FILENAME cl-interpol) (NAME alexandria FILENAME alexandria)) DEPENDENCIES
-    (iterate cl-interpol alexandria) VERSION 20170403-git SIBLINGS (cl-csv-clsql cl-csv-data-table)) */
+/* (SYSTEM cl-csv DESCRIPTION
+    Facilities for reading and writing CSV format files SHA256
+    1mz0hr0r7yxw1dzdbaqzxabmipp286zc6aglni9f46isjwmqpy6h URL
+    http://beta.quicklisp.org/archive/cl-csv/2017-04-03/cl-csv-20170403-git.tgz
+    MD5 1e71a90c5057371fab044d440c39f0a3 NAME cl-csv FILENAME cl-csv DEPS
+    ((NAME alexandria FILENAME alexandria)
+     (NAME cl-interpol FILENAME cl-interpol) (NAME cl-ppcre FILENAME cl-ppcre)
+     (NAME cl-unicode FILENAME cl-unicode)
+     (NAME flexi-streams FILENAME flexi-streams)
+     (NAME iterate FILENAME iterate) (NAME lisp-unit2 FILENAME lisp-unit2))
+    DEPENDENCIES
+    (alexandria cl-interpol cl-ppcre cl-unicode flexi-streams iterate
+     lisp-unit2)
+    VERSION 20170403-git SIBLINGS (cl-csv-clsql cl-csv-data-table) PARASITES
+    (cl-csv-test)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-dbi.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-dbi.nix
index 54f3380f490b..4273869e62a4 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-dbi.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-dbi.nix
@@ -5,31 +5,32 @@ rec {
 
   description = '''';
 
-  deps = [ ];
+  deps = [ args."alexandria" args."bordeaux-threads" args."cl-annot" args."cl-syntax" args."cl-syntax-annot" args."closer-mop" args."dbi" args."named-readtables" args."split-sequence" args."trivial-types" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/cl-dbi/2017-07-25/cl-dbi-20170725-git.tgz'';
     sha256 = ''1gmd5y44nidqmxw7zk0mxl4mgl3mcjf1v05gjdslp3ginzznrqzl'';
   };
-    
+
   packageName = "cl-dbi";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl-dbi[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["cl-dbi.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM cl-dbi DESCRIPTION NIL SHA256 1gmd5y44nidqmxw7zk0mxl4mgl3mcjf1v05gjdslp3ginzznrqzl URL
-    http://beta.quicklisp.org/archive/cl-dbi/2017-07-25/cl-dbi-20170725-git.tgz MD5 a9fe67b7fea2640cea9708342a1347bd NAME cl-dbi TESTNAME NIL FILENAME cl-dbi
-    DEPS NIL DEPENDENCIES NIL VERSION 20170725-git SIBLINGS (dbd-mysql dbd-postgres dbd-sqlite3 dbi-test dbi)) */
+/* (SYSTEM cl-dbi DESCRIPTION NIL SHA256
+    1gmd5y44nidqmxw7zk0mxl4mgl3mcjf1v05gjdslp3ginzznrqzl URL
+    http://beta.quicklisp.org/archive/cl-dbi/2017-07-25/cl-dbi-20170725-git.tgz
+    MD5 a9fe67b7fea2640cea9708342a1347bd NAME cl-dbi FILENAME cl-dbi DEPS
+    ((NAME alexandria FILENAME alexandria)
+     (NAME bordeaux-threads FILENAME bordeaux-threads)
+     (NAME cl-annot FILENAME cl-annot) (NAME cl-syntax FILENAME cl-syntax)
+     (NAME cl-syntax-annot FILENAME cl-syntax-annot)
+     (NAME closer-mop FILENAME closer-mop) (NAME dbi FILENAME dbi)
+     (NAME named-readtables FILENAME named-readtables)
+     (NAME split-sequence FILENAME split-sequence)
+     (NAME trivial-types FILENAME trivial-types))
+    DEPENDENCIES
+    (alexandria bordeaux-threads cl-annot cl-syntax cl-syntax-annot closer-mop
+     dbi named-readtables split-sequence trivial-types)
+    VERSION 20170725-git SIBLINGS
+    (dbd-mysql dbd-postgres dbd-sqlite3 dbi-test dbi) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-emb.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-emb.nix
index 06a834ff1455..a4da254cc6b7 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-emb.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-emb.nix
@@ -11,25 +11,15 @@ rec {
     url = ''http://beta.quicklisp.org/archive/cl-emb/2017-02-27/cl-emb-20170227-git.tgz'';
     sha256 = ''03n97xvh3v8bz1p75v1vhryfkjm74v0cr5jwg4rakq9zkchhfk80'';
   };
-    
+
   packageName = "cl-emb";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl-emb[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["cl-emb.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM cl-emb DESCRIPTION A templating system for Common Lisp SHA256 03n97xvh3v8bz1p75v1vhryfkjm74v0cr5jwg4rakq9zkchhfk80 URL
-    http://beta.quicklisp.org/archive/cl-emb/2017-02-27/cl-emb-20170227-git.tgz MD5 01d850432cc2f8e920e50b4b36e42d42 NAME cl-emb TESTNAME NIL FILENAME cl-emb
-    DEPS ((NAME cl-ppcre FILENAME cl-ppcre)) DEPENDENCIES (cl-ppcre) VERSION 20170227-git SIBLINGS NIL) */
+/* (SYSTEM cl-emb DESCRIPTION A templating system for Common Lisp SHA256
+    03n97xvh3v8bz1p75v1vhryfkjm74v0cr5jwg4rakq9zkchhfk80 URL
+    http://beta.quicklisp.org/archive/cl-emb/2017-02-27/cl-emb-20170227-git.tgz
+    MD5 01d850432cc2f8e920e50b4b36e42d42 NAME cl-emb FILENAME cl-emb DEPS
+    ((NAME cl-ppcre FILENAME cl-ppcre)) DEPENDENCIES (cl-ppcre) VERSION
+    20170227-git SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-fad.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-fad.nix
index 43651428bd07..25ad098f267f 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-fad.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-fad.nix
@@ -3,34 +3,28 @@ rec {
   baseName = ''cl-fad'';
   version = ''0.7.4'';
 
+  parasites = [ "cl-fad-test" ];
+
   description = ''Portable pathname library'';
 
-  deps = [ args."alexandria" args."bordeaux-threads" ];
+  deps = [ args."alexandria" args."bordeaux-threads" args."cl-ppcre" args."unit-test" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/cl-fad/2016-08-25/cl-fad-0.7.4.tgz'';
     sha256 = ''1avp5j66vrpv5symgw4n4szlc2cyqz4haa0cxzy1pl8p0a8k0v9x'';
   };
-    
+
   packageName = "cl-fad";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl-fad[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["cl-fad.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM cl-fad DESCRIPTION Portable pathname library SHA256 1avp5j66vrpv5symgw4n4szlc2cyqz4haa0cxzy1pl8p0a8k0v9x URL
-    http://beta.quicklisp.org/archive/cl-fad/2016-08-25/cl-fad-0.7.4.tgz MD5 8ee53f2249eca9d7d54e268662b41845 NAME cl-fad TESTNAME NIL FILENAME cl-fad DEPS
-    ((NAME alexandria FILENAME alexandria) (NAME bordeaux-threads FILENAME bordeaux-threads)) DEPENDENCIES (alexandria bordeaux-threads) VERSION 0.7.4 SIBLINGS
-    NIL) */
+/* (SYSTEM cl-fad DESCRIPTION Portable pathname library SHA256
+    1avp5j66vrpv5symgw4n4szlc2cyqz4haa0cxzy1pl8p0a8k0v9x URL
+    http://beta.quicklisp.org/archive/cl-fad/2016-08-25/cl-fad-0.7.4.tgz MD5
+    8ee53f2249eca9d7d54e268662b41845 NAME cl-fad FILENAME cl-fad DEPS
+    ((NAME alexandria FILENAME alexandria)
+     (NAME bordeaux-threads FILENAME bordeaux-threads)
+     (NAME cl-ppcre FILENAME cl-ppcre) (NAME unit-test FILENAME unit-test))
+    DEPENDENCIES (alexandria bordeaux-threads cl-ppcre unit-test) VERSION 0.7.4
+    SIBLINGS NIL PARASITES (cl-fad-test)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-fuse-meta-fs.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-fuse-meta-fs.nix
index 681b9205e9b3..a972751f36a6 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-fuse-meta-fs.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-fuse-meta-fs.nix
@@ -5,33 +5,35 @@ rec {
 
   description = ''CFFI bindings to FUSE (Filesystem in user space)'';
 
-  deps = [ args."bordeaux-threads" args."cl-fuse" args."iterate" args."pcall" ];
+  deps = [ args."alexandria" args."babel" args."bordeaux-threads" args."cffi" args."cffi-grovel" args."cl-fuse" args."cl-utilities" args."iterate" args."pcall" args."pcall-queue" args."trivial-backtrace" args."trivial-features" args."trivial-utf-8" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/cl-fuse-meta-fs/2015-06-08/cl-fuse-meta-fs-20150608-git.tgz'';
     sha256 = ''1i3yw237ygwlkhbcbm9q54ad9g4fi63fw4mg508hr7bz9gzg36q2'';
   };
-    
+
   packageName = "cl-fuse-meta-fs";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl-fuse-meta-fs[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["cl-fuse-meta-fs.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM cl-fuse-meta-fs DESCRIPTION CFFI bindings to FUSE (Filesystem in user space) SHA256 1i3yw237ygwlkhbcbm9q54ad9g4fi63fw4mg508hr7bz9gzg36q2 URL
-    http://beta.quicklisp.org/archive/cl-fuse-meta-fs/2015-06-08/cl-fuse-meta-fs-20150608-git.tgz MD5 eb80b959dd6494cd787cff4f8c2f214b NAME cl-fuse-meta-fs
-    TESTNAME NIL FILENAME cl-fuse-meta-fs DEPS
-    ((NAME bordeaux-threads FILENAME bordeaux-threads) (NAME cl-fuse FILENAME cl-fuse) (NAME iterate FILENAME iterate) (NAME pcall FILENAME pcall))
-    DEPENDENCIES (bordeaux-threads cl-fuse iterate pcall) VERSION 20150608-git SIBLINGS NIL) */
+/* (SYSTEM cl-fuse-meta-fs DESCRIPTION
+    CFFI bindings to FUSE (Filesystem in user space) SHA256
+    1i3yw237ygwlkhbcbm9q54ad9g4fi63fw4mg508hr7bz9gzg36q2 URL
+    http://beta.quicklisp.org/archive/cl-fuse-meta-fs/2015-06-08/cl-fuse-meta-fs-20150608-git.tgz
+    MD5 eb80b959dd6494cd787cff4f8c2f214b NAME cl-fuse-meta-fs FILENAME
+    cl-fuse-meta-fs DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
+     (NAME bordeaux-threads FILENAME bordeaux-threads)
+     (NAME cffi FILENAME cffi) (NAME cffi-grovel FILENAME cffi-grovel)
+     (NAME cl-fuse FILENAME cl-fuse) (NAME cl-utilities FILENAME cl-utilities)
+     (NAME iterate FILENAME iterate) (NAME pcall FILENAME pcall)
+     (NAME pcall-queue FILENAME pcall-queue)
+     (NAME trivial-backtrace FILENAME trivial-backtrace)
+     (NAME trivial-features FILENAME trivial-features)
+     (NAME trivial-utf-8 FILENAME trivial-utf-8))
+    DEPENDENCIES
+    (alexandria babel bordeaux-threads cffi cffi-grovel cl-fuse cl-utilities
+     iterate pcall pcall-queue trivial-backtrace trivial-features
+     trivial-utf-8)
+    VERSION 20150608-git SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-fuse.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-fuse.nix
index 8681110c22e0..e597b192b308 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-fuse.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-fuse.nix
@@ -5,35 +5,30 @@ rec {
 
   description = ''CFFI bindings to FUSE (Filesystem in user space)'';
 
-  deps = [ args."bordeaux-threads" args."cffi" args."cffi-grovel" args."cl-utilities" args."iterate" args."trivial-backtrace" args."trivial-utf-8" ];
+  deps = [ args."alexandria" args."babel" args."bordeaux-threads" args."cffi" args."cffi-grovel" args."cl-utilities" args."iterate" args."trivial-backtrace" args."trivial-features" args."trivial-utf-8" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/cl-fuse/2016-03-18/cl-fuse-20160318-git.tgz'';
     sha256 = ''1yllmnnhqp42s37a2y7h7vph854xgna62l1pidvlyskc90bl5jf6'';
   };
-    
+
   packageName = "cl-fuse";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl-fuse[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["cl-fuse.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM cl-fuse DESCRIPTION CFFI bindings to FUSE (Filesystem in user space) SHA256 1yllmnnhqp42s37a2y7h7vph854xgna62l1pidvlyskc90bl5jf6 URL
-    http://beta.quicklisp.org/archive/cl-fuse/2016-03-18/cl-fuse-20160318-git.tgz MD5 ce2e907e5ae2cece72fa314be1ced44c NAME cl-fuse TESTNAME NIL FILENAME
-    cl-fuse DEPS
-    ((NAME bordeaux-threads FILENAME bordeaux-threads) (NAME cffi FILENAME cffi) (NAME cffi-grovel FILENAME cffi-grovel)
-     (NAME cl-utilities FILENAME cl-utilities) (NAME iterate FILENAME iterate) (NAME trivial-backtrace FILENAME trivial-backtrace)
+/* (SYSTEM cl-fuse DESCRIPTION CFFI bindings to FUSE (Filesystem in user space)
+    SHA256 1yllmnnhqp42s37a2y7h7vph854xgna62l1pidvlyskc90bl5jf6 URL
+    http://beta.quicklisp.org/archive/cl-fuse/2016-03-18/cl-fuse-20160318-git.tgz
+    MD5 ce2e907e5ae2cece72fa314be1ced44c NAME cl-fuse FILENAME cl-fuse DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
+     (NAME bordeaux-threads FILENAME bordeaux-threads)
+     (NAME cffi FILENAME cffi) (NAME cffi-grovel FILENAME cffi-grovel)
+     (NAME cl-utilities FILENAME cl-utilities) (NAME iterate FILENAME iterate)
+     (NAME trivial-backtrace FILENAME trivial-backtrace)
+     (NAME trivial-features FILENAME trivial-features)
      (NAME trivial-utf-8 FILENAME trivial-utf-8))
-    DEPENDENCIES (bordeaux-threads cffi cffi-grovel cl-utilities iterate trivial-backtrace trivial-utf-8) VERSION 20160318-git SIBLINGS NIL) */
+    DEPENDENCIES
+    (alexandria babel bordeaux-threads cffi cffi-grovel cl-utilities iterate
+     trivial-backtrace trivial-features trivial-utf-8)
+    VERSION 20160318-git SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-interpol.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-interpol.nix
index 5dae43b6e59c..97c948507c49 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-interpol.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-interpol.nix
@@ -3,33 +3,28 @@ rec {
   baseName = ''cl-interpol'';
   version = ''0.2.6'';
 
+  parasites = [ "cl-interpol-test" ];
+
   description = '''';
 
-  deps = [ args."cl-unicode" ];
+  deps = [ args."cl-ppcre" args."cl-unicode" args."flexi-streams" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/cl-interpol/2016-09-29/cl-interpol-0.2.6.tgz'';
     sha256 = ''172iy4bp4fxyfhz7n6jbqz4j8xqnzpvmh981bbi5waflg58x9h8b'';
   };
-    
+
   packageName = "cl-interpol";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl-interpol[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["cl-interpol.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM cl-interpol DESCRIPTION NIL SHA256 172iy4bp4fxyfhz7n6jbqz4j8xqnzpvmh981bbi5waflg58x9h8b URL
-    http://beta.quicklisp.org/archive/cl-interpol/2016-09-29/cl-interpol-0.2.6.tgz MD5 1adc92924670601ebb92546ef8bdc6a7 NAME cl-interpol TESTNAME NIL FILENAME
-    cl-interpol DEPS ((NAME cl-unicode FILENAME cl-unicode)) DEPENDENCIES (cl-unicode) VERSION 0.2.6 SIBLINGS NIL) */
+/* (SYSTEM cl-interpol DESCRIPTION NIL SHA256
+    172iy4bp4fxyfhz7n6jbqz4j8xqnzpvmh981bbi5waflg58x9h8b URL
+    http://beta.quicklisp.org/archive/cl-interpol/2016-09-29/cl-interpol-0.2.6.tgz
+    MD5 1adc92924670601ebb92546ef8bdc6a7 NAME cl-interpol FILENAME cl-interpol
+    DEPS
+    ((NAME cl-ppcre FILENAME cl-ppcre) (NAME cl-unicode FILENAME cl-unicode)
+     (NAME flexi-streams FILENAME flexi-streams))
+    DEPENDENCIES (cl-ppcre cl-unicode flexi-streams) VERSION 0.2.6 SIBLINGS NIL
+    PARASITES (cl-interpol-test)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-json.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-json.nix
index 20afe70c7960..d8bc535f3559 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-json.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-json.nix
@@ -3,33 +3,26 @@ rec {
   baseName = ''cl-json'';
   version = ''20141217-git'';
 
+  parasites = [ "cl-json.test" ];
+
   description = ''JSON in Lisp. JSON (JavaScript Object Notation) is a lightweight data-interchange format.'';
 
-  deps = [ ];
+  deps = [ args."fiveam" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/cl-json/2014-12-17/cl-json-20141217-git.tgz'';
     sha256 = ''00cfppyi6njsbpv1x03jcv4zwplg0q1138174l3wjkvi3gsql17g'';
   };
-    
+
   packageName = "cl-json";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl-json[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["cl-json.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM cl-json DESCRIPTION JSON in Lisp. JSON (JavaScript Object Notation) is a lightweight data-interchange format. SHA256
-    00cfppyi6njsbpv1x03jcv4zwplg0q1138174l3wjkvi3gsql17g URL http://beta.quicklisp.org/archive/cl-json/2014-12-17/cl-json-20141217-git.tgz MD5
-    9d873fa462b93c76d90642d8e3fb4881 NAME cl-json TESTNAME NIL FILENAME cl-json DEPS NIL DEPENDENCIES NIL VERSION 20141217-git SIBLINGS NIL) */
+/* (SYSTEM cl-json DESCRIPTION
+    JSON in Lisp. JSON (JavaScript Object Notation) is a lightweight data-interchange format.
+    SHA256 00cfppyi6njsbpv1x03jcv4zwplg0q1138174l3wjkvi3gsql17g URL
+    http://beta.quicklisp.org/archive/cl-json/2014-12-17/cl-json-20141217-git.tgz
+    MD5 9d873fa462b93c76d90642d8e3fb4881 NAME cl-json FILENAME cl-json DEPS
+    ((NAME fiveam FILENAME fiveam)) DEPENDENCIES (fiveam) VERSION 20141217-git
+    SIBLINGS NIL PARASITES (cl-json.test)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-l10n-cldr.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-l10n-cldr.nix
index 74d40aa8e793..dfabda0428f0 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-l10n-cldr.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-l10n-cldr.nix
@@ -11,25 +11,16 @@ rec {
     url = ''http://beta.quicklisp.org/archive/cl-l10n-cldr/2012-09-09/cl-l10n-cldr-20120909-darcs.tgz'';
     sha256 = ''03l81bx8izvzwzw0qah34l4k47l4gmhr917phhhl81qp55x7zbiv'';
   };
-    
+
   packageName = "cl-l10n-cldr";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl-l10n-cldr[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["cl-l10n-cldr.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM cl-l10n-cldr DESCRIPTION The necessary CLDR files for cl-l10n packaged in a QuickLisp friendly way. SHA256
-    03l81bx8izvzwzw0qah34l4k47l4gmhr917phhhl81qp55x7zbiv URL http://beta.quicklisp.org/archive/cl-l10n-cldr/2012-09-09/cl-l10n-cldr-20120909-darcs.tgz MD5
-    466e776f2f6b931d9863e1fc4d0b514e NAME cl-l10n-cldr TESTNAME NIL FILENAME cl-l10n-cldr DEPS NIL DEPENDENCIES NIL VERSION 20120909-darcs SIBLINGS NIL) */
+/* (SYSTEM cl-l10n-cldr DESCRIPTION
+    The necessary CLDR files for cl-l10n packaged in a QuickLisp friendly way.
+    SHA256 03l81bx8izvzwzw0qah34l4k47l4gmhr917phhhl81qp55x7zbiv URL
+    http://beta.quicklisp.org/archive/cl-l10n-cldr/2012-09-09/cl-l10n-cldr-20120909-darcs.tgz
+    MD5 466e776f2f6b931d9863e1fc4d0b514e NAME cl-l10n-cldr FILENAME
+    cl-l10n-cldr DEPS NIL DEPENDENCIES NIL VERSION 20120909-darcs SIBLINGS NIL
+    PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-l10n.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-l10n.nix
index eabcda82eabd..b5ede76f8178 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-l10n.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-l10n.nix
@@ -3,37 +3,43 @@ rec {
   baseName = ''cl-l10n'';
   version = ''20161204-darcs'';
 
+  parasites = [ "cl-l10n/test" ];
+
   description = ''Portable CL Locale Support'';
 
-  deps = [ args."alexandria" args."cl-fad" args."cl-l10n-cldr" args."cl-ppcre" args."closer-mop" args."cxml" args."flexi-streams" args."iterate" args."local-time" args."metabang-bind" ];
+  deps = [ args."alexandria" args."babel" args."bordeaux-threads" args."cl-fad" args."cl-l10n-cldr" args."cl-ppcre" args."closer-mop" args."closure-common" args."cxml" args."cxml-dom" args."cxml-klacks" args."cxml-test" args."cxml-xml" args."flexi-streams" args."hu_dot_dwim_dot_stefil" args."iterate" args."local-time" args."metabang-bind" args."parse-number" args."puri" args."trivial-features" args."trivial-gray-streams" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/cl-l10n/2016-12-04/cl-l10n-20161204-darcs.tgz'';
     sha256 = ''1r8jgwks21az78c5kdxgw5llk9ml423vjkv1f93qg1vx3zma6vzl'';
   };
-    
+
   packageName = "cl-l10n";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl-l10n[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["cl-l10n.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM cl-l10n DESCRIPTION Portable CL Locale Support SHA256 1r8jgwks21az78c5kdxgw5llk9ml423vjkv1f93qg1vx3zma6vzl URL
-    http://beta.quicklisp.org/archive/cl-l10n/2016-12-04/cl-l10n-20161204-darcs.tgz MD5 c7cb0bb584b061799abaaaf2bd65c9c5 NAME cl-l10n TESTNAME NIL FILENAME
-    cl-l10n DEPS
-    ((NAME alexandria FILENAME alexandria) (NAME cl-fad FILENAME cl-fad) (NAME cl-l10n-cldr FILENAME cl-l10n-cldr) (NAME cl-ppcre FILENAME cl-ppcre)
-     (NAME closer-mop FILENAME closer-mop) (NAME cxml FILENAME cxml) (NAME flexi-streams FILENAME flexi-streams) (NAME iterate FILENAME iterate)
-     (NAME local-time FILENAME local-time) (NAME metabang-bind FILENAME metabang-bind))
-    DEPENDENCIES (alexandria cl-fad cl-l10n-cldr cl-ppcre closer-mop cxml flexi-streams iterate local-time metabang-bind) VERSION 20161204-darcs SIBLINGS NIL) */
+/* (SYSTEM cl-l10n DESCRIPTION Portable CL Locale Support SHA256
+    1r8jgwks21az78c5kdxgw5llk9ml423vjkv1f93qg1vx3zma6vzl URL
+    http://beta.quicklisp.org/archive/cl-l10n/2016-12-04/cl-l10n-20161204-darcs.tgz
+    MD5 c7cb0bb584b061799abaaaf2bd65c9c5 NAME cl-l10n FILENAME cl-l10n DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
+     (NAME bordeaux-threads FILENAME bordeaux-threads)
+     (NAME cl-fad FILENAME cl-fad) (NAME cl-l10n-cldr FILENAME cl-l10n-cldr)
+     (NAME cl-ppcre FILENAME cl-ppcre) (NAME closer-mop FILENAME closer-mop)
+     (NAME closure-common FILENAME closure-common) (NAME cxml FILENAME cxml)
+     (NAME cxml-dom FILENAME cxml-dom) (NAME cxml-klacks FILENAME cxml-klacks)
+     (NAME cxml-test FILENAME cxml-test) (NAME cxml-xml FILENAME cxml-xml)
+     (NAME flexi-streams FILENAME flexi-streams)
+     (NAME hu.dwim.stefil FILENAME hu_dot_dwim_dot_stefil)
+     (NAME iterate FILENAME iterate) (NAME local-time FILENAME local-time)
+     (NAME metabang-bind FILENAME metabang-bind)
+     (NAME parse-number FILENAME parse-number) (NAME puri FILENAME puri)
+     (NAME trivial-features FILENAME trivial-features)
+     (NAME trivial-gray-streams FILENAME trivial-gray-streams))
+    DEPENDENCIES
+    (alexandria babel bordeaux-threads cl-fad cl-l10n-cldr cl-ppcre closer-mop
+     closure-common cxml cxml-dom cxml-klacks cxml-test cxml-xml flexi-streams
+     hu.dwim.stefil iterate local-time metabang-bind parse-number puri
+     trivial-features trivial-gray-streams)
+    VERSION 20161204-darcs SIBLINGS NIL PARASITES (cl-l10n/test)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-libuv.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-libuv.nix
index c08467fdd20d..deda83b7e0f6 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-libuv.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-libuv.nix
@@ -5,32 +5,24 @@ rec {
 
   description = ''Low-level libuv bindings for Common Lisp.'';
 
-  deps = [ args."alexandria" args."cffi" args."cffi-grovel" ];
+  deps = [ args."alexandria" args."babel" args."cffi" args."cffi-grovel" args."trivial-features" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/cl-libuv/2016-08-25/cl-libuv-20160825-git.tgz'';
     sha256 = ''02vi9ph9pxbxgp9jsbgzb9nijsv0vyk3f1jyhhm88i0y1kb3595r'';
   };
-    
+
   packageName = "cl-libuv";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl-libuv[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["cl-libuv.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM cl-libuv DESCRIPTION Low-level libuv bindings for Common Lisp. SHA256 02vi9ph9pxbxgp9jsbgzb9nijsv0vyk3f1jyhhm88i0y1kb3595r URL
-    http://beta.quicklisp.org/archive/cl-libuv/2016-08-25/cl-libuv-20160825-git.tgz MD5 ba5e3cfaadcf710eaee67cc9e716e45a NAME cl-libuv TESTNAME NIL FILENAME
-    cl-libuv DEPS ((NAME alexandria FILENAME alexandria) (NAME cffi FILENAME cffi) (NAME cffi-grovel FILENAME cffi-grovel)) DEPENDENCIES
-    (alexandria cffi cffi-grovel) VERSION 20160825-git SIBLINGS NIL) */
+/* (SYSTEM cl-libuv DESCRIPTION Low-level libuv bindings for Common Lisp.
+    SHA256 02vi9ph9pxbxgp9jsbgzb9nijsv0vyk3f1jyhhm88i0y1kb3595r URL
+    http://beta.quicklisp.org/archive/cl-libuv/2016-08-25/cl-libuv-20160825-git.tgz
+    MD5 ba5e3cfaadcf710eaee67cc9e716e45a NAME cl-libuv FILENAME cl-libuv DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
+     (NAME cffi FILENAME cffi) (NAME cffi-grovel FILENAME cffi-grovel)
+     (NAME trivial-features FILENAME trivial-features))
+    DEPENDENCIES (alexandria babel cffi cffi-grovel trivial-features) VERSION
+    20160825-git SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-log.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-log.nix
index cc0a45b6e387..57c9c03ba42b 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-log.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-log.nix
@@ -11,25 +11,14 @@ rec {
     url = ''http://beta.quicklisp.org/archive/cl-log/2013-01-28/cl-log.1.0.1.tgz'';
     sha256 = ''0wdbq0x6xn21qp3zd49giss3viv8wbs3ga8bg2grfnmzwfwl0y2d'';
   };
-    
+
   packageName = "cl-log";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl-log[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["cl-log.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM cl-log DESCRIPTION CL-LOG - a general purpose logging utility SHA256 0wdbq0x6xn21qp3zd49giss3viv8wbs3ga8bg2grfnmzwfwl0y2d URL
-    http://beta.quicklisp.org/archive/cl-log/2013-01-28/cl-log.1.0.1.tgz MD5 fb960933eb748c14adc3ccb376ac8066 NAME cl-log TESTNAME NIL FILENAME cl-log DEPS NIL
-    DEPENDENCIES NIL VERSION cl-log.1.0.1 SIBLINGS (cl-log-test)) */
+/* (SYSTEM cl-log DESCRIPTION CL-LOG - a general purpose logging utility SHA256
+    0wdbq0x6xn21qp3zd49giss3viv8wbs3ga8bg2grfnmzwfwl0y2d URL
+    http://beta.quicklisp.org/archive/cl-log/2013-01-28/cl-log.1.0.1.tgz MD5
+    fb960933eb748c14adc3ccb376ac8066 NAME cl-log FILENAME cl-log DEPS NIL
+    DEPENDENCIES NIL VERSION cl-log.1.0.1 SIBLINGS (cl-log-test) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-markdown.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-markdown.nix
index 791b1e558271..f52952af3e1a 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-markdown.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-markdown.nix
@@ -5,35 +5,32 @@ rec {
 
   description = '''';
 
-  deps = [ args."metatilities-base" args."metabang-bind" args."dynamic-classes" args."cl-ppcre" args."cl-containers" args."anaphora" ];
+  deps = [ args."anaphora" args."asdf-system-connections" args."cl-containers" args."cl-ppcre" args."dynamic-classes" args."metabang-bind" args."metatilities-base" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/cl-markdown/2010-10-06/cl-markdown-20101006-darcs.tgz'';
     sha256 = ''1hrv7szhmhxgbadwrmf6wx4kwkbg3dnabbsz4hfffzjgprwac79w'';
   };
-    
+
   packageName = "cl-markdown";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl-markdown[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["cl-markdown.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM cl-markdown DESCRIPTION NIL SHA256 1hrv7szhmhxgbadwrmf6wx4kwkbg3dnabbsz4hfffzjgprwac79w URL
-    http://beta.quicklisp.org/archive/cl-markdown/2010-10-06/cl-markdown-20101006-darcs.tgz MD5 3e748529531ad1dcbee5443fe24b6300 NAME cl-markdown TESTNAME NIL
-    FILENAME cl-markdown DEPS
-    ((NAME metatilities-base FILENAME metatilities-base) (NAME metabang-bind FILENAME metabang-bind) (NAME dynamic-classes FILENAME dynamic-classes)
-     (NAME cl-ppcre FILENAME cl-ppcre) (NAME cl-containers FILENAME cl-containers) (NAME anaphora FILENAME anaphora))
-    DEPENDENCIES (metatilities-base metabang-bind dynamic-classes cl-ppcre cl-containers anaphora) VERSION 20101006-darcs SIBLINGS
-    (cl-markdown-comparisons cl-markdown-test)) */
+/* (SYSTEM cl-markdown DESCRIPTION NIL SHA256
+    1hrv7szhmhxgbadwrmf6wx4kwkbg3dnabbsz4hfffzjgprwac79w URL
+    http://beta.quicklisp.org/archive/cl-markdown/2010-10-06/cl-markdown-20101006-darcs.tgz
+    MD5 3e748529531ad1dcbee5443fe24b6300 NAME cl-markdown FILENAME cl-markdown
+    DEPS
+    ((NAME anaphora FILENAME anaphora)
+     (NAME asdf-system-connections FILENAME asdf-system-connections)
+     (NAME cl-containers FILENAME cl-containers)
+     (NAME cl-ppcre FILENAME cl-ppcre)
+     (NAME dynamic-classes FILENAME dynamic-classes)
+     (NAME metabang-bind FILENAME metabang-bind)
+     (NAME metatilities-base FILENAME metatilities-base))
+    DEPENDENCIES
+    (anaphora asdf-system-connections cl-containers cl-ppcre dynamic-classes
+     metabang-bind metatilities-base)
+    VERSION 20101006-darcs SIBLINGS (cl-markdown-comparisons cl-markdown-test)
+    PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-markup.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-markup.nix
index a8f218d37565..8967b0970c56 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-markup.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-markup.nix
@@ -11,25 +11,15 @@ rec {
     url = ''http://beta.quicklisp.org/archive/cl-markup/2013-10-03/cl-markup-20131003-git.tgz'';
     sha256 = ''1ik3a5k6axq941zbf6zyig553i5gnypbcxdq9l7bfxp8w18vbj0r'';
   };
-    
+
   packageName = "cl-markup";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl-markup[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["cl-markup.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM cl-markup DESCRIPTION NIL SHA256 1ik3a5k6axq941zbf6zyig553i5gnypbcxdq9l7bfxp8w18vbj0r URL
-    http://beta.quicklisp.org/archive/cl-markup/2013-10-03/cl-markup-20131003-git.tgz MD5 3ec36b8e15435933f614959032987848 NAME cl-markup TESTNAME NIL FILENAME
-    cl-markup DEPS NIL DEPENDENCIES NIL VERSION 20131003-git SIBLINGS (cl-markup-test)) */
+/* (SYSTEM cl-markup DESCRIPTION NIL SHA256
+    1ik3a5k6axq941zbf6zyig553i5gnypbcxdq9l7bfxp8w18vbj0r URL
+    http://beta.quicklisp.org/archive/cl-markup/2013-10-03/cl-markup-20131003-git.tgz
+    MD5 3ec36b8e15435933f614959032987848 NAME cl-markup FILENAME cl-markup DEPS
+    NIL DEPENDENCIES NIL VERSION 20131003-git SIBLINGS (cl-markup-test)
+    PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-mysql.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-mysql.nix
index 90983764cdac..fa4e18cdbfe9 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-mysql.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-mysql.nix
@@ -5,31 +5,24 @@ rec {
 
   description = ''Common Lisp MySQL library bindings'';
 
-  deps = [ args."cffi" ];
+  deps = [ args."alexandria" args."babel" args."cffi" args."trivial-features" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/cl-mysql/2016-06-28/cl-mysql-20160628-git.tgz'';
     sha256 = ''1zkijanw34nc91dn9jv30590ir6jw7bbcwjsqbvli69fh4b03319'';
   };
-    
+
   packageName = "cl-mysql";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl-mysql[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["cl-mysql.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM cl-mysql DESCRIPTION Common Lisp MySQL library bindings SHA256 1zkijanw34nc91dn9jv30590ir6jw7bbcwjsqbvli69fh4b03319 URL
-    http://beta.quicklisp.org/archive/cl-mysql/2016-06-28/cl-mysql-20160628-git.tgz MD5 349615d041c2f2177b678088f9c22409 NAME cl-mysql TESTNAME NIL FILENAME
-    cl-mysql DEPS ((NAME cffi FILENAME cffi)) DEPENDENCIES (cffi) VERSION 20160628-git SIBLINGS (cl-mysql-test)) */
+/* (SYSTEM cl-mysql DESCRIPTION Common Lisp MySQL library bindings SHA256
+    1zkijanw34nc91dn9jv30590ir6jw7bbcwjsqbvli69fh4b03319 URL
+    http://beta.quicklisp.org/archive/cl-mysql/2016-06-28/cl-mysql-20160628-git.tgz
+    MD5 349615d041c2f2177b678088f9c22409 NAME cl-mysql FILENAME cl-mysql DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
+     (NAME cffi FILENAME cffi)
+     (NAME trivial-features FILENAME trivial-features))
+    DEPENDENCIES (alexandria babel cffi trivial-features) VERSION 20160628-git
+    SIBLINGS (cl-mysql-test) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-paths-ttf.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-paths-ttf.nix
index 27f4ef1b71af..b0514e306d30 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-paths-ttf.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-paths-ttf.nix
@@ -5,32 +5,23 @@ rec {
 
   description = ''cl-paths-ttf: vectorial paths manipulation'';
 
-  deps = [ args."zpb-ttf" ];
+  deps = [ args."cl-paths" args."zpb-ttf" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/cl-vectors/2017-06-30/cl-vectors-20170630-git.tgz'';
     sha256 = ''0820qwi6pp8683rqp37x9l9shm0vh873bc4p9q38cz56ck7il740'';
   };
-    
+
   packageName = "cl-paths-ttf";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl-paths-ttf[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["cl-paths-ttf.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM cl-paths-ttf DESCRIPTION cl-paths-ttf: vectorial paths manipulation SHA256 0820qwi6pp8683rqp37x9l9shm0vh873bc4p9q38cz56ck7il740 URL
-    http://beta.quicklisp.org/archive/cl-vectors/2017-06-30/cl-vectors-20170630-git.tgz MD5 cee3bb14adbba3142b782c646f7651ce NAME cl-paths-ttf TESTNAME NIL
-    FILENAME cl-paths-ttf DEPS ((NAME zpb-ttf FILENAME zpb-ttf)) DEPENDENCIES (zpb-ttf) VERSION cl-vectors-20170630-git SIBLINGS
-    (cl-aa-misc cl-aa cl-paths cl-vectors)) */
+/* (SYSTEM cl-paths-ttf DESCRIPTION cl-paths-ttf: vectorial paths manipulation
+    SHA256 0820qwi6pp8683rqp37x9l9shm0vh873bc4p9q38cz56ck7il740 URL
+    http://beta.quicklisp.org/archive/cl-vectors/2017-06-30/cl-vectors-20170630-git.tgz
+    MD5 cee3bb14adbba3142b782c646f7651ce NAME cl-paths-ttf FILENAME
+    cl-paths-ttf DEPS
+    ((NAME cl-paths FILENAME cl-paths) (NAME zpb-ttf FILENAME zpb-ttf))
+    DEPENDENCIES (cl-paths zpb-ttf) VERSION cl-vectors-20170630-git SIBLINGS
+    (cl-aa-misc cl-aa cl-paths cl-vectors) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-paths.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-paths.nix
new file mode 100644
index 000000000000..770c25d924de
--- /dev/null
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-paths.nix
@@ -0,0 +1,25 @@
+args @ { fetchurl, ... }:
+rec {
+  baseName = ''cl-paths'';
+  version = ''cl-vectors-20170630-git'';
+
+  description = ''cl-paths: vectorial paths manipulation'';
+
+  deps = [ ];
+
+  src = fetchurl {
+    url = ''http://beta.quicklisp.org/archive/cl-vectors/2017-06-30/cl-vectors-20170630-git.tgz'';
+    sha256 = ''0820qwi6pp8683rqp37x9l9shm0vh873bc4p9q38cz56ck7il740'';
+  };
+
+  packageName = "cl-paths";
+
+  asdFilesToKeep = ["cl-paths.asd"];
+  overrides = x: x;
+}
+/* (SYSTEM cl-paths DESCRIPTION cl-paths: vectorial paths manipulation SHA256
+    0820qwi6pp8683rqp37x9l9shm0vh873bc4p9q38cz56ck7il740 URL
+    http://beta.quicklisp.org/archive/cl-vectors/2017-06-30/cl-vectors-20170630-git.tgz
+    MD5 cee3bb14adbba3142b782c646f7651ce NAME cl-paths FILENAME cl-paths DEPS
+    NIL DEPENDENCIES NIL VERSION cl-vectors-20170630-git SIBLINGS
+    (cl-aa-misc cl-aa cl-paths-ttf cl-vectors) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-postgres.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-postgres.nix
index 7766454c1939..485a2c3de22f 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-postgres.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-postgres.nix
@@ -3,33 +3,26 @@ rec {
   baseName = ''cl-postgres'';
   version = ''postmodern-20170403-git'';
 
+  parasites = [ "cl-postgres-tests" ];
+
   description = ''Low-level client library for PostgreSQL'';
 
-  deps = [ args."md5" ];
+  deps = [ args."fiveam" args."md5" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/postmodern/2017-04-03/postmodern-20170403-git.tgz'';
     sha256 = ''1pklmp0y0falrmbxll79drrcrlgslasavdym5r45m8kkzi1zpv9p'';
   };
-    
+
   packageName = "cl-postgres";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl-postgres[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["cl-postgres.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM cl-postgres DESCRIPTION Low-level client library for PostgreSQL SHA256 1pklmp0y0falrmbxll79drrcrlgslasavdym5r45m8kkzi1zpv9p URL
-    http://beta.quicklisp.org/archive/postmodern/2017-04-03/postmodern-20170403-git.tgz MD5 7a4145a0a5ff5bcb7a4bf29b5c2915d2 NAME cl-postgres TESTNAME NIL
-    FILENAME cl-postgres DEPS ((NAME md5 FILENAME md5)) DEPENDENCIES (md5) VERSION postmodern-20170403-git SIBLINGS (postmodern s-sql simple-date)) */
+/* (SYSTEM cl-postgres DESCRIPTION Low-level client library for PostgreSQL
+    SHA256 1pklmp0y0falrmbxll79drrcrlgslasavdym5r45m8kkzi1zpv9p URL
+    http://beta.quicklisp.org/archive/postmodern/2017-04-03/postmodern-20170403-git.tgz
+    MD5 7a4145a0a5ff5bcb7a4bf29b5c2915d2 NAME cl-postgres FILENAME cl-postgres
+    DEPS ((NAME fiveam FILENAME fiveam) (NAME md5 FILENAME md5)) DEPENDENCIES
+    (fiveam md5) VERSION postmodern-20170403-git SIBLINGS
+    (postmodern s-sql simple-date) PARASITES (cl-postgres-tests)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ppcre-template.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ppcre-template.nix
index 6d1b67e28c0a..92ede6007ef9 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ppcre-template.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ppcre-template.nix
@@ -9,36 +9,30 @@ This system is not required and it is handled only if CL-PPCRE is
 available.  If it is, then the library provides the
 REGULAR-EXPRESSION-TEMPLATE.'';
 
-  deps = [ args."cl-ppcre" ];
+  deps = [ args."cl-ppcre" args."cl-unification" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/cl-unification/2017-06-30/cl-unification-20170630-git.tgz'';
     sha256 = ''063xcf2ib3gdpjr39bgkaj6msylzdhbdjsj458w08iyidbxivwlz'';
   };
-    
+
   packageName = "cl-ppcre-template";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl-ppcre-template[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["cl-ppcre-template.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM cl-ppcre-template DESCRIPTION A system used to conditionally load the CL-PPCRE Template.
+/* (SYSTEM cl-ppcre-template DESCRIPTION
+    A system used to conditionally load the CL-PPCRE Template.
 
 This system is not required and it is handled only if CL-PPCRE is
 available.  If it is, then the library provides the
 REGULAR-EXPRESSION-TEMPLATE.
-    SHA256 063xcf2ib3gdpjr39bgkaj6msylzdhbdjsj458w08iyidbxivwlz URL http://beta.quicklisp.org/archive/cl-unification/2017-06-30/cl-unification-20170630-git.tgz
-    MD5 f6bf197ca8c79c935efe3a3c25953044 NAME cl-ppcre-template TESTNAME NIL FILENAME cl-ppcre-template DEPS ((NAME cl-ppcre FILENAME cl-ppcre)) DEPENDENCIES
-    (cl-ppcre) VERSION cl-unification-20170630-git SIBLINGS (cl-unification-lib cl-unification-test cl-unification)) */
+    SHA256 063xcf2ib3gdpjr39bgkaj6msylzdhbdjsj458w08iyidbxivwlz URL
+    http://beta.quicklisp.org/archive/cl-unification/2017-06-30/cl-unification-20170630-git.tgz
+    MD5 f6bf197ca8c79c935efe3a3c25953044 NAME cl-ppcre-template FILENAME
+    cl-ppcre-template DEPS
+    ((NAME cl-ppcre FILENAME cl-ppcre)
+     (NAME cl-unification FILENAME cl-unification))
+    DEPENDENCIES (cl-ppcre cl-unification) VERSION cl-unification-20170630-git
+    SIBLINGS (cl-unification-lib cl-unification-test cl-unification) PARASITES
+    NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ppcre-unicode.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ppcre-unicode.nix
index b79a00f672f4..5f2b2e37e30d 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ppcre-unicode.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ppcre-unicode.nix
@@ -3,33 +3,31 @@ rec {
   baseName = ''cl-ppcre-unicode'';
   version = ''cl-ppcre-2.0.11'';
 
+  parasites = [ "cl-ppcre-unicode-test" ];
+
   description = ''Perl-compatible regular expression library (Unicode)'';
 
-  deps = [ args."cl-unicode" ];
+  deps = [ args."cl-ppcre" args."cl-ppcre-test" args."cl-unicode" args."flexi-streams" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/cl-ppcre/2015-09-23/cl-ppcre-2.0.11.tgz'';
     sha256 = ''1djciws9n0jg3qdrck3j4wj607zvkbir8p379mp0p7b5g0glwvb2'';
   };
-    
+
   packageName = "cl-ppcre-unicode";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl-ppcre-unicode[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["cl-ppcre-unicode.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM cl-ppcre-unicode DESCRIPTION Perl-compatible regular expression library (Unicode) SHA256 1djciws9n0jg3qdrck3j4wj607zvkbir8p379mp0p7b5g0glwvb2 URL
-    http://beta.quicklisp.org/archive/cl-ppcre/2015-09-23/cl-ppcre-2.0.11.tgz MD5 6d5250467c05eb661a76d395186a1da0 NAME cl-ppcre-unicode TESTNAME NIL FILENAME
-    cl-ppcre-unicode DEPS ((NAME cl-unicode FILENAME cl-unicode)) DEPENDENCIES (cl-unicode) VERSION cl-ppcre-2.0.11 SIBLINGS (cl-ppcre)) */
+/* (SYSTEM cl-ppcre-unicode DESCRIPTION
+    Perl-compatible regular expression library (Unicode) SHA256
+    1djciws9n0jg3qdrck3j4wj607zvkbir8p379mp0p7b5g0glwvb2 URL
+    http://beta.quicklisp.org/archive/cl-ppcre/2015-09-23/cl-ppcre-2.0.11.tgz
+    MD5 6d5250467c05eb661a76d395186a1da0 NAME cl-ppcre-unicode FILENAME
+    cl-ppcre-unicode DEPS
+    ((NAME cl-ppcre FILENAME cl-ppcre)
+     (NAME cl-ppcre-test FILENAME cl-ppcre-test)
+     (NAME cl-unicode FILENAME cl-unicode)
+     (NAME flexi-streams FILENAME flexi-streams))
+    DEPENDENCIES (cl-ppcre cl-ppcre-test cl-unicode flexi-streams) VERSION
+    cl-ppcre-2.0.11 SIBLINGS (cl-ppcre) PARASITES (cl-ppcre-unicode-test)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ppcre.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ppcre.nix
index b7c60a16696c..74d74a9b114c 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ppcre.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ppcre.nix
@@ -3,33 +3,25 @@ rec {
   baseName = ''cl-ppcre'';
   version = ''2.0.11'';
 
+  parasites = [ "cl-ppcre-test" ];
+
   description = ''Perl-compatible regular expression library'';
 
-  deps = [ ];
+  deps = [ args."flexi-streams" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/cl-ppcre/2015-09-23/cl-ppcre-2.0.11.tgz'';
     sha256 = ''1djciws9n0jg3qdrck3j4wj607zvkbir8p379mp0p7b5g0glwvb2'';
   };
-    
+
   packageName = "cl-ppcre";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl-ppcre[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["cl-ppcre.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM cl-ppcre DESCRIPTION Perl-compatible regular expression library SHA256 1djciws9n0jg3qdrck3j4wj607zvkbir8p379mp0p7b5g0glwvb2 URL
-    http://beta.quicklisp.org/archive/cl-ppcre/2015-09-23/cl-ppcre-2.0.11.tgz MD5 6d5250467c05eb661a76d395186a1da0 NAME cl-ppcre TESTNAME NIL FILENAME cl-ppcre
-    DEPS NIL DEPENDENCIES NIL VERSION 2.0.11 SIBLINGS (cl-ppcre-unicode)) */
+/* (SYSTEM cl-ppcre DESCRIPTION Perl-compatible regular expression library
+    SHA256 1djciws9n0jg3qdrck3j4wj607zvkbir8p379mp0p7b5g0glwvb2 URL
+    http://beta.quicklisp.org/archive/cl-ppcre/2015-09-23/cl-ppcre-2.0.11.tgz
+    MD5 6d5250467c05eb661a76d395186a1da0 NAME cl-ppcre FILENAME cl-ppcre DEPS
+    ((NAME flexi-streams FILENAME flexi-streams)) DEPENDENCIES (flexi-streams)
+    VERSION 2.0.11 SIBLINGS (cl-ppcre-unicode) PARASITES (cl-ppcre-test)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-project.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-project.nix
index 74c1213cc6dd..bfaaabfbc2d7 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-project.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-project.nix
@@ -5,34 +5,31 @@ rec {
 
   description = ''Generate a skeleton for modern project'';
 
-  deps = [ args."uiop" args."prove" args."local-time" args."cl-ppcre" args."cl-emb" ];
+  deps = [ args."alexandria" args."anaphora" args."bordeaux-threads" args."cl-ansi-text" args."cl-colors" args."cl-emb" args."cl-fad" args."cl-ppcre" args."let-plus" args."local-time" args."prove" args."uiop" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/cl-project/2016-05-31/cl-project-20160531-git.tgz'';
     sha256 = ''1xwjgs5pzkdnd9i5lcic9z41d1c4yf7pvarrvawfxcicg6rrfw81'';
   };
-    
+
   packageName = "cl-project";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl-project[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["cl-project.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM cl-project DESCRIPTION Generate a skeleton for modern project SHA256 1xwjgs5pzkdnd9i5lcic9z41d1c4yf7pvarrvawfxcicg6rrfw81 URL
-    http://beta.quicklisp.org/archive/cl-project/2016-05-31/cl-project-20160531-git.tgz MD5 63de5ce6f0f3e5f60094a86d32c2f1a9 NAME cl-project TESTNAME NIL
-    FILENAME cl-project DEPS
-    ((NAME uiop FILENAME uiop) (NAME prove FILENAME prove) (NAME local-time FILENAME local-time) (NAME cl-ppcre FILENAME cl-ppcre)
-     (NAME cl-emb FILENAME cl-emb))
-    DEPENDENCIES (uiop prove local-time cl-ppcre cl-emb) VERSION 20160531-git SIBLINGS (cl-project-test)) */
+/* (SYSTEM cl-project DESCRIPTION Generate a skeleton for modern project SHA256
+    1xwjgs5pzkdnd9i5lcic9z41d1c4yf7pvarrvawfxcicg6rrfw81 URL
+    http://beta.quicklisp.org/archive/cl-project/2016-05-31/cl-project-20160531-git.tgz
+    MD5 63de5ce6f0f3e5f60094a86d32c2f1a9 NAME cl-project FILENAME cl-project
+    DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME anaphora FILENAME anaphora)
+     (NAME bordeaux-threads FILENAME bordeaux-threads)
+     (NAME cl-ansi-text FILENAME cl-ansi-text)
+     (NAME cl-colors FILENAME cl-colors) (NAME cl-emb FILENAME cl-emb)
+     (NAME cl-fad FILENAME cl-fad) (NAME cl-ppcre FILENAME cl-ppcre)
+     (NAME let-plus FILENAME let-plus) (NAME local-time FILENAME local-time)
+     (NAME prove FILENAME prove) (NAME uiop FILENAME uiop))
+    DEPENDENCIES
+    (alexandria anaphora bordeaux-threads cl-ansi-text cl-colors cl-emb cl-fad
+     cl-ppcre let-plus local-time prove uiop)
+    VERSION 20160531-git SIBLINGS (cl-project-test) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-reexport.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-reexport.nix
index 03d863f21221..916af5b29727 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-reexport.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-reexport.nix
@@ -11,25 +11,15 @@ rec {
     url = ''http://beta.quicklisp.org/archive/cl-reexport/2015-07-09/cl-reexport-20150709-git.tgz'';
     sha256 = ''1y6qlyps7g0wl4rbmzvw6s1kjdwwmh33layyjclsjp9j5nm8mdmi'';
   };
-    
+
   packageName = "cl-reexport";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl-reexport[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["cl-reexport.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM cl-reexport DESCRIPTION Reexport external symbols in other packages. SHA256 1y6qlyps7g0wl4rbmzvw6s1kjdwwmh33layyjclsjp9j5nm8mdmi URL
-    http://beta.quicklisp.org/archive/cl-reexport/2015-07-09/cl-reexport-20150709-git.tgz MD5 207d02771cbd906d033ff704ca5c3a3d NAME cl-reexport TESTNAME NIL
-    FILENAME cl-reexport DEPS ((NAME alexandria FILENAME alexandria)) DEPENDENCIES (alexandria) VERSION 20150709-git SIBLINGS (cl-reexport-test)) */
+/* (SYSTEM cl-reexport DESCRIPTION Reexport external symbols in other packages.
+    SHA256 1y6qlyps7g0wl4rbmzvw6s1kjdwwmh33layyjclsjp9j5nm8mdmi URL
+    http://beta.quicklisp.org/archive/cl-reexport/2015-07-09/cl-reexport-20150709-git.tgz
+    MD5 207d02771cbd906d033ff704ca5c3a3d NAME cl-reexport FILENAME cl-reexport
+    DEPS ((NAME alexandria FILENAME alexandria)) DEPENDENCIES (alexandria)
+    VERSION 20150709-git SIBLINGS (cl-reexport-test) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-smtp.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-smtp.nix
index 1d525c7a675f..9cb69caaafd5 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-smtp.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-smtp.nix
@@ -5,34 +5,34 @@ rec {
 
   description = ''Common Lisp smtp client.'';
 
-  deps = [ args."cl+ssl" args."cl-base64" args."flexi-streams" args."trivial-gray-streams" args."usocket" ];
+  deps = [ args."alexandria" args."babel" args."bordeaux-threads" args."cffi" args."cl+ssl" args."cl-base64" args."flexi-streams" args."split-sequence" args."trivial-features" args."trivial-garbage" args."trivial-gray-streams" args."usocket" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/cl-smtp/2016-08-25/cl-smtp-20160825-git.tgz'';
     sha256 = ''0svkvy6x458a7rgvp3wki0lmhdxpaa1j0brwsw2mlpl2jqkx5dxh'';
   };
-    
+
   packageName = "cl-smtp";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl-smtp[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["cl-smtp.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM cl-smtp DESCRIPTION Common Lisp smtp client. SHA256 0svkvy6x458a7rgvp3wki0lmhdxpaa1j0brwsw2mlpl2jqkx5dxh URL
-    http://beta.quicklisp.org/archive/cl-smtp/2016-08-25/cl-smtp-20160825-git.tgz MD5 e6bb60e66b0f7d9cc5e4f98aba56998a NAME cl-smtp TESTNAME NIL FILENAME
-    cl-smtp DEPS
-    ((NAME cl+ssl FILENAME cl+ssl) (NAME cl-base64 FILENAME cl-base64) (NAME flexi-streams FILENAME flexi-streams)
-     (NAME trivial-gray-streams FILENAME trivial-gray-streams) (NAME usocket FILENAME usocket))
-    DEPENDENCIES (cl+ssl cl-base64 flexi-streams trivial-gray-streams usocket) VERSION 20160825-git SIBLINGS NIL) */
+/* (SYSTEM cl-smtp DESCRIPTION Common Lisp smtp client. SHA256
+    0svkvy6x458a7rgvp3wki0lmhdxpaa1j0brwsw2mlpl2jqkx5dxh URL
+    http://beta.quicklisp.org/archive/cl-smtp/2016-08-25/cl-smtp-20160825-git.tgz
+    MD5 e6bb60e66b0f7d9cc5e4f98aba56998a NAME cl-smtp FILENAME cl-smtp DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
+     (NAME bordeaux-threads FILENAME bordeaux-threads)
+     (NAME cffi FILENAME cffi) (NAME cl+ssl FILENAME cl+ssl)
+     (NAME cl-base64 FILENAME cl-base64)
+     (NAME flexi-streams FILENAME flexi-streams)
+     (NAME split-sequence FILENAME split-sequence)
+     (NAME trivial-features FILENAME trivial-features)
+     (NAME trivial-garbage FILENAME trivial-garbage)
+     (NAME trivial-gray-streams FILENAME trivial-gray-streams)
+     (NAME usocket FILENAME usocket))
+    DEPENDENCIES
+    (alexandria babel bordeaux-threads cffi cl+ssl cl-base64 flexi-streams
+     split-sequence trivial-features trivial-garbage trivial-gray-streams
+     usocket)
+    VERSION 20160825-git SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-store.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-store.nix
index 9a49e468ce1e..142fbfee2eab 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-store.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-store.nix
@@ -3,33 +3,25 @@ rec {
   baseName = ''cl-store'';
   version = ''20160531-git'';
 
+  parasites = [ "cl-store-tests" ];
+
   description = ''Serialization package'';
 
-  deps = [ ];
+  deps = [ args."rt" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/cl-store/2016-05-31/cl-store-20160531-git.tgz'';
     sha256 = ''0j1pfgvzy6l7hb68xsz2dghsa94lip7caq6f6608jsqadmdswljz'';
   };
-    
+
   packageName = "cl-store";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl-store[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["cl-store.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM cl-store DESCRIPTION Serialization package SHA256 0j1pfgvzy6l7hb68xsz2dghsa94lip7caq6f6608jsqadmdswljz URL
-    http://beta.quicklisp.org/archive/cl-store/2016-05-31/cl-store-20160531-git.tgz MD5 8b3f33956b05d8e900346663f6abca3c NAME cl-store TESTNAME NIL FILENAME
-    cl-store DEPS NIL DEPENDENCIES NIL VERSION 20160531-git SIBLINGS NIL) */
+/* (SYSTEM cl-store DESCRIPTION Serialization package SHA256
+    0j1pfgvzy6l7hb68xsz2dghsa94lip7caq6f6608jsqadmdswljz URL
+    http://beta.quicklisp.org/archive/cl-store/2016-05-31/cl-store-20160531-git.tgz
+    MD5 8b3f33956b05d8e900346663f6abca3c NAME cl-store FILENAME cl-store DEPS
+    ((NAME rt FILENAME rt)) DEPENDENCIES (rt) VERSION 20160531-git SIBLINGS NIL
+    PARASITES (cl-store-tests)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-syntax-annot.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-syntax-annot.nix
index e82cb4d501f9..add200b09a1d 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-syntax-annot.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-syntax-annot.nix
@@ -5,32 +5,29 @@ rec {
 
   description = ''CL-Syntax Reader Syntax for cl-annot'';
 
-  deps = [ args."cl-annot" ];
+  deps = [ args."alexandria" args."cl-annot" args."cl-syntax" args."named-readtables" args."trivial-types" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/cl-syntax/2015-04-07/cl-syntax-20150407-git.tgz'';
     sha256 = ''1pz9a7hiql493ax5qgs9zb3bmvf0nnmmgdx14s4j2apdy2m34v8n'';
   };
-    
+
   packageName = "cl-syntax-annot";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl-syntax-annot[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["cl-syntax-annot.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM cl-syntax-annot DESCRIPTION CL-Syntax Reader Syntax for cl-annot SHA256 1pz9a7hiql493ax5qgs9zb3bmvf0nnmmgdx14s4j2apdy2m34v8n URL
-    http://beta.quicklisp.org/archive/cl-syntax/2015-04-07/cl-syntax-20150407-git.tgz MD5 602b84143aafe59d65f4e08ac20a124a NAME cl-syntax-annot TESTNAME NIL
-    FILENAME cl-syntax-annot DEPS ((NAME cl-annot FILENAME cl-annot)) DEPENDENCIES (cl-annot) VERSION cl-syntax-20150407-git SIBLINGS
-    (cl-syntax-anonfun cl-syntax-clsql cl-syntax-fare-quasiquote cl-syntax-interpol cl-syntax-markup cl-syntax)) */
+/* (SYSTEM cl-syntax-annot DESCRIPTION CL-Syntax Reader Syntax for cl-annot
+    SHA256 1pz9a7hiql493ax5qgs9zb3bmvf0nnmmgdx14s4j2apdy2m34v8n URL
+    http://beta.quicklisp.org/archive/cl-syntax/2015-04-07/cl-syntax-20150407-git.tgz
+    MD5 602b84143aafe59d65f4e08ac20a124a NAME cl-syntax-annot FILENAME
+    cl-syntax-annot DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME cl-annot FILENAME cl-annot)
+     (NAME cl-syntax FILENAME cl-syntax)
+     (NAME named-readtables FILENAME named-readtables)
+     (NAME trivial-types FILENAME trivial-types))
+    DEPENDENCIES (alexandria cl-annot cl-syntax named-readtables trivial-types)
+    VERSION cl-syntax-20150407-git SIBLINGS
+    (cl-syntax-anonfun cl-syntax-clsql cl-syntax-fare-quasiquote
+     cl-syntax-interpol cl-syntax-markup cl-syntax)
+    PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-syntax-anonfun.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-syntax-anonfun.nix
index 6680fc51cbc2..c19a47df6c23 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-syntax-anonfun.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-syntax-anonfun.nix
@@ -5,32 +5,28 @@ rec {
 
   description = ''CL-Syntax Reader Syntax for cl-anonfun'';
 
-  deps = [ args."cl-anonfun" ];
+  deps = [ args."cl-anonfun" args."cl-syntax" args."named-readtables" args."trivial-types" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/cl-syntax/2015-04-07/cl-syntax-20150407-git.tgz'';
     sha256 = ''1pz9a7hiql493ax5qgs9zb3bmvf0nnmmgdx14s4j2apdy2m34v8n'';
   };
-    
+
   packageName = "cl-syntax-anonfun";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl-syntax-anonfun[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["cl-syntax-anonfun.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM cl-syntax-anonfun DESCRIPTION CL-Syntax Reader Syntax for cl-anonfun SHA256 1pz9a7hiql493ax5qgs9zb3bmvf0nnmmgdx14s4j2apdy2m34v8n URL
-    http://beta.quicklisp.org/archive/cl-syntax/2015-04-07/cl-syntax-20150407-git.tgz MD5 602b84143aafe59d65f4e08ac20a124a NAME cl-syntax-anonfun TESTNAME NIL
-    FILENAME cl-syntax-anonfun DEPS ((NAME cl-anonfun FILENAME cl-anonfun)) DEPENDENCIES (cl-anonfun) VERSION cl-syntax-20150407-git SIBLINGS
-    (cl-syntax-annot cl-syntax-clsql cl-syntax-fare-quasiquote cl-syntax-interpol cl-syntax-markup cl-syntax)) */
+/* (SYSTEM cl-syntax-anonfun DESCRIPTION CL-Syntax Reader Syntax for cl-anonfun
+    SHA256 1pz9a7hiql493ax5qgs9zb3bmvf0nnmmgdx14s4j2apdy2m34v8n URL
+    http://beta.quicklisp.org/archive/cl-syntax/2015-04-07/cl-syntax-20150407-git.tgz
+    MD5 602b84143aafe59d65f4e08ac20a124a NAME cl-syntax-anonfun FILENAME
+    cl-syntax-anonfun DEPS
+    ((NAME cl-anonfun FILENAME cl-anonfun) (NAME cl-syntax FILENAME cl-syntax)
+     (NAME named-readtables FILENAME named-readtables)
+     (NAME trivial-types FILENAME trivial-types))
+    DEPENDENCIES (cl-anonfun cl-syntax named-readtables trivial-types) VERSION
+    cl-syntax-20150407-git SIBLINGS
+    (cl-syntax-annot cl-syntax-clsql cl-syntax-fare-quasiquote
+     cl-syntax-interpol cl-syntax-markup cl-syntax)
+    PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-syntax-markup.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-syntax-markup.nix
index 2150b64cb6fc..cded8dc2d06d 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-syntax-markup.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-syntax-markup.nix
@@ -5,32 +5,28 @@ rec {
 
   description = ''CL-Syntax Reader Syntax for CL-Markup'';
 
-  deps = [ args."cl-markup" ];
+  deps = [ args."cl-markup" args."cl-syntax" args."named-readtables" args."trivial-types" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/cl-syntax/2015-04-07/cl-syntax-20150407-git.tgz'';
     sha256 = ''1pz9a7hiql493ax5qgs9zb3bmvf0nnmmgdx14s4j2apdy2m34v8n'';
   };
-    
+
   packageName = "cl-syntax-markup";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl-syntax-markup[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["cl-syntax-markup.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM cl-syntax-markup DESCRIPTION CL-Syntax Reader Syntax for CL-Markup SHA256 1pz9a7hiql493ax5qgs9zb3bmvf0nnmmgdx14s4j2apdy2m34v8n URL
-    http://beta.quicklisp.org/archive/cl-syntax/2015-04-07/cl-syntax-20150407-git.tgz MD5 602b84143aafe59d65f4e08ac20a124a NAME cl-syntax-markup TESTNAME NIL
-    FILENAME cl-syntax-markup DEPS ((NAME cl-markup FILENAME cl-markup)) DEPENDENCIES (cl-markup) VERSION cl-syntax-20150407-git SIBLINGS
-    (cl-syntax-annot cl-syntax-anonfun cl-syntax-clsql cl-syntax-fare-quasiquote cl-syntax-interpol cl-syntax)) */
+/* (SYSTEM cl-syntax-markup DESCRIPTION CL-Syntax Reader Syntax for CL-Markup
+    SHA256 1pz9a7hiql493ax5qgs9zb3bmvf0nnmmgdx14s4j2apdy2m34v8n URL
+    http://beta.quicklisp.org/archive/cl-syntax/2015-04-07/cl-syntax-20150407-git.tgz
+    MD5 602b84143aafe59d65f4e08ac20a124a NAME cl-syntax-markup FILENAME
+    cl-syntax-markup DEPS
+    ((NAME cl-markup FILENAME cl-markup) (NAME cl-syntax FILENAME cl-syntax)
+     (NAME named-readtables FILENAME named-readtables)
+     (NAME trivial-types FILENAME trivial-types))
+    DEPENDENCIES (cl-markup cl-syntax named-readtables trivial-types) VERSION
+    cl-syntax-20150407-git SIBLINGS
+    (cl-syntax-annot cl-syntax-anonfun cl-syntax-clsql
+     cl-syntax-fare-quasiquote cl-syntax-interpol cl-syntax)
+    PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-syntax.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-syntax.nix
index 264d74e2db4f..353c8210885e 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-syntax.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-syntax.nix
@@ -5,33 +5,26 @@ rec {
 
   description = ''Reader Syntax Coventions for Common Lisp and SLIME'';
 
-  deps = [ args."trivial-types" args."named-readtables" ];
+  deps = [ args."named-readtables" args."trivial-types" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/cl-syntax/2015-04-07/cl-syntax-20150407-git.tgz'';
     sha256 = ''1pz9a7hiql493ax5qgs9zb3bmvf0nnmmgdx14s4j2apdy2m34v8n'';
   };
-    
+
   packageName = "cl-syntax";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl-syntax[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["cl-syntax.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM cl-syntax DESCRIPTION Reader Syntax Coventions for Common Lisp and SLIME SHA256 1pz9a7hiql493ax5qgs9zb3bmvf0nnmmgdx14s4j2apdy2m34v8n URL
-    http://beta.quicklisp.org/archive/cl-syntax/2015-04-07/cl-syntax-20150407-git.tgz MD5 602b84143aafe59d65f4e08ac20a124a NAME cl-syntax TESTNAME NIL FILENAME
-    cl-syntax DEPS ((NAME trivial-types FILENAME trivial-types) (NAME named-readtables FILENAME named-readtables)) DEPENDENCIES
-    (trivial-types named-readtables) VERSION 20150407-git SIBLINGS
-    (cl-syntax-annot cl-syntax-anonfun cl-syntax-clsql cl-syntax-fare-quasiquote cl-syntax-interpol cl-syntax-markup)) */
+/* (SYSTEM cl-syntax DESCRIPTION
+    Reader Syntax Coventions for Common Lisp and SLIME SHA256
+    1pz9a7hiql493ax5qgs9zb3bmvf0nnmmgdx14s4j2apdy2m34v8n URL
+    http://beta.quicklisp.org/archive/cl-syntax/2015-04-07/cl-syntax-20150407-git.tgz
+    MD5 602b84143aafe59d65f4e08ac20a124a NAME cl-syntax FILENAME cl-syntax DEPS
+    ((NAME named-readtables FILENAME named-readtables)
+     (NAME trivial-types FILENAME trivial-types))
+    DEPENDENCIES (named-readtables trivial-types) VERSION 20150407-git SIBLINGS
+    (cl-syntax-annot cl-syntax-anonfun cl-syntax-clsql
+     cl-syntax-fare-quasiquote cl-syntax-interpol cl-syntax-markup)
+    PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-test-more.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-test-more.nix
index 2e7f97cf66ac..7425b7ce0a81 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-test-more.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-test-more.nix
@@ -5,31 +5,28 @@ rec {
 
   description = '''';
 
-  deps = [ ];
+  deps = [ args."alexandria" args."anaphora" args."cl-ansi-text" args."cl-colors" args."cl-ppcre" args."let-plus" args."prove" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/prove/2017-04-03/prove-20170403-git.tgz'';
     sha256 = ''091xxkn9zj22c4gmm8x714k29bs4j0j7akppwh55zjsmrxdhqcpl'';
   };
-    
+
   packageName = "cl-test-more";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl-test-more[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["cl-test-more.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM cl-test-more DESCRIPTION NIL SHA256 091xxkn9zj22c4gmm8x714k29bs4j0j7akppwh55zjsmrxdhqcpl URL
-    http://beta.quicklisp.org/archive/prove/2017-04-03/prove-20170403-git.tgz MD5 063b615692c8711d2392204ecf1b37b7 NAME cl-test-more TESTNAME NIL FILENAME
-    cl-test-more DEPS NIL DEPENDENCIES NIL VERSION prove-20170403-git SIBLINGS (prove-asdf prove-test prove)) */
+/* (SYSTEM cl-test-more DESCRIPTION NIL SHA256
+    091xxkn9zj22c4gmm8x714k29bs4j0j7akppwh55zjsmrxdhqcpl URL
+    http://beta.quicklisp.org/archive/prove/2017-04-03/prove-20170403-git.tgz
+    MD5 063b615692c8711d2392204ecf1b37b7 NAME cl-test-more FILENAME
+    cl-test-more DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME anaphora FILENAME anaphora)
+     (NAME cl-ansi-text FILENAME cl-ansi-text)
+     (NAME cl-colors FILENAME cl-colors) (NAME cl-ppcre FILENAME cl-ppcre)
+     (NAME let-plus FILENAME let-plus) (NAME prove FILENAME prove))
+    DEPENDENCIES
+    (alexandria anaphora cl-ansi-text cl-colors cl-ppcre let-plus prove)
+    VERSION prove-20170403-git SIBLINGS (prove-asdf prove-test prove) PARASITES
+    NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-unicode.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-unicode.nix
index 95d8db3b0cf4..e35645f6e98e 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-unicode.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-unicode.nix
@@ -3,33 +3,28 @@ rec {
   baseName = ''cl-unicode'';
   version = ''0.1.5'';
 
+  parasites = [ "cl-unicode/base" "cl-unicode/build" "cl-unicode/test" ];
+
   description = ''Portable Unicode Library'';
 
-  deps = [ args."cl-unicode_slash_base" ];
+  deps = [ args."cl-ppcre" args."flexi-streams" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/cl-unicode/2014-12-17/cl-unicode-0.1.5.tgz'';
     sha256 = ''1jd5qq5ji6l749c4x415z22y9r0k9z18pdi9p9fqvamzh854i46n'';
   };
-    
+
   packageName = "cl-unicode";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl-unicode[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["cl-unicode.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM cl-unicode DESCRIPTION Portable Unicode Library SHA256 1jd5qq5ji6l749c4x415z22y9r0k9z18pdi9p9fqvamzh854i46n URL
-    http://beta.quicklisp.org/archive/cl-unicode/2014-12-17/cl-unicode-0.1.5.tgz MD5 2fd456537bd670126da84466226bc5c5 NAME cl-unicode TESTNAME NIL FILENAME
-    cl-unicode DEPS ((NAME cl-unicode/base FILENAME cl-unicode_slash_base)) DEPENDENCIES (cl-unicode/base) VERSION 0.1.5 SIBLINGS NIL) */
+/* (SYSTEM cl-unicode DESCRIPTION Portable Unicode Library SHA256
+    1jd5qq5ji6l749c4x415z22y9r0k9z18pdi9p9fqvamzh854i46n URL
+    http://beta.quicklisp.org/archive/cl-unicode/2014-12-17/cl-unicode-0.1.5.tgz
+    MD5 2fd456537bd670126da84466226bc5c5 NAME cl-unicode FILENAME cl-unicode
+    DEPS
+    ((NAME cl-ppcre FILENAME cl-ppcre)
+     (NAME flexi-streams FILENAME flexi-streams))
+    DEPENDENCIES (cl-ppcre flexi-streams) VERSION 0.1.5 SIBLINGS NIL PARASITES
+    (cl-unicode/base cl-unicode/build cl-unicode/test)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-unicode_slash_base.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-unicode_slash_base.nix
deleted file mode 100644
index 50a4227fc40c..000000000000
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-unicode_slash_base.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-args @ { fetchurl, ... }:
-rec {
-  baseName = ''cl-unicode_slash_base'';
-  version = ''cl-unicode-0.1.5'';
-
-  description = '''';
-
-  deps = [ args."cl-ppcre" ];
-
-  src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/cl-unicode/2014-12-17/cl-unicode-0.1.5.tgz'';
-    sha256 = ''1jd5qq5ji6l749c4x415z22y9r0k9z18pdi9p9fqvamzh854i46n'';
-  };
-    
-  packageName = "cl-unicode/base";
-
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl-unicode/base[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
-}
-/* (SYSTEM cl-unicode/base DESCRIPTION NIL SHA256 1jd5qq5ji6l749c4x415z22y9r0k9z18pdi9p9fqvamzh854i46n URL
-    http://beta.quicklisp.org/archive/cl-unicode/2014-12-17/cl-unicode-0.1.5.tgz MD5 2fd456537bd670126da84466226bc5c5 NAME cl-unicode/base TESTNAME NIL
-    FILENAME cl-unicode_slash_base DEPS ((NAME cl-ppcre FILENAME cl-ppcre)) DEPENDENCIES (cl-ppcre) VERSION cl-unicode-0.1.5 SIBLINGS (cl-unicode)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-unification.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-unification.nix
index 93d93b180103..39f3fccb7a7e 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-unification.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-unification.nix
@@ -13,28 +13,17 @@ The system contains the definitions for the 'unification' machinery.'';
     url = ''http://beta.quicklisp.org/archive/cl-unification/2017-06-30/cl-unification-20170630-git.tgz'';
     sha256 = ''063xcf2ib3gdpjr39bgkaj6msylzdhbdjsj458w08iyidbxivwlz'';
   };
-    
+
   packageName = "cl-unification";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl-unification[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["cl-unification.asd"];
+  overrides = x: x;
 }
 /* (SYSTEM cl-unification DESCRIPTION The CL-UNIFICATION system.
 
 The system contains the definitions for the 'unification' machinery.
-    SHA256 063xcf2ib3gdpjr39bgkaj6msylzdhbdjsj458w08iyidbxivwlz URL http://beta.quicklisp.org/archive/cl-unification/2017-06-30/cl-unification-20170630-git.tgz
-    MD5 f6bf197ca8c79c935efe3a3c25953044 NAME cl-unification TESTNAME NIL FILENAME cl-unification DEPS NIL DEPENDENCIES NIL VERSION 20170630-git SIBLINGS
-    (cl-unification-lib cl-unification-test cl-ppcre-template)) */
+    SHA256 063xcf2ib3gdpjr39bgkaj6msylzdhbdjsj458w08iyidbxivwlz URL
+    http://beta.quicklisp.org/archive/cl-unification/2017-06-30/cl-unification-20170630-git.tgz
+    MD5 f6bf197ca8c79c935efe3a3c25953044 NAME cl-unification FILENAME
+    cl-unification DEPS NIL DEPENDENCIES NIL VERSION 20170630-git SIBLINGS
+    (cl-unification-lib cl-unification-test cl-ppcre-template) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-utilities.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-utilities.nix
index da23cbc94994..750da99d5d6a 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-utilities.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-utilities.nix
@@ -11,25 +11,15 @@ rec {
     url = ''http://beta.quicklisp.org/archive/cl-utilities/2010-10-06/cl-utilities-1.2.4.tgz'';
     sha256 = ''1z2ippnv2wgyxpz15zpif7j7sp1r20fkjhm4n6am2fyp6a3k3a87'';
   };
-    
+
   packageName = "cl-utilities";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl-utilities[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["cl-utilities.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM cl-utilities DESCRIPTION NIL SHA256 1z2ippnv2wgyxpz15zpif7j7sp1r20fkjhm4n6am2fyp6a3k3a87 URL
-    http://beta.quicklisp.org/archive/cl-utilities/2010-10-06/cl-utilities-1.2.4.tgz MD5 c3a4ba38b627448d3ed40ce888048940 NAME cl-utilities TESTNAME NIL
-    FILENAME cl-utilities DEPS NIL DEPENDENCIES NIL VERSION 1.2.4 SIBLINGS NIL) */
+/* (SYSTEM cl-utilities DESCRIPTION NIL SHA256
+    1z2ippnv2wgyxpz15zpif7j7sp1r20fkjhm4n6am2fyp6a3k3a87 URL
+    http://beta.quicklisp.org/archive/cl-utilities/2010-10-06/cl-utilities-1.2.4.tgz
+    MD5 c3a4ba38b627448d3ed40ce888048940 NAME cl-utilities FILENAME
+    cl-utilities DEPS NIL DEPENDENCIES NIL VERSION 1.2.4 SIBLINGS NIL PARASITES
+    NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-vectors.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-vectors.nix
index 081bad6047e6..b0e89eb23038 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-vectors.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-vectors.nix
@@ -5,31 +5,22 @@ rec {
 
   description = ''cl-paths: vectorial paths manipulation'';
 
-  deps = [ ];
+  deps = [ args."cl-aa" args."cl-paths" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/cl-vectors/2017-06-30/cl-vectors-20170630-git.tgz'';
     sha256 = ''0820qwi6pp8683rqp37x9l9shm0vh873bc4p9q38cz56ck7il740'';
   };
-    
+
   packageName = "cl-vectors";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl-vectors[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["cl-vectors.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM cl-vectors DESCRIPTION cl-paths: vectorial paths manipulation SHA256 0820qwi6pp8683rqp37x9l9shm0vh873bc4p9q38cz56ck7il740 URL
-    http://beta.quicklisp.org/archive/cl-vectors/2017-06-30/cl-vectors-20170630-git.tgz MD5 cee3bb14adbba3142b782c646f7651ce NAME cl-vectors TESTNAME NIL
-    FILENAME cl-vectors DEPS NIL DEPENDENCIES NIL VERSION 20170630-git SIBLINGS (cl-aa-misc cl-aa cl-paths-ttf cl-paths)) */
+/* (SYSTEM cl-vectors DESCRIPTION cl-paths: vectorial paths manipulation SHA256
+    0820qwi6pp8683rqp37x9l9shm0vh873bc4p9q38cz56ck7il740 URL
+    http://beta.quicklisp.org/archive/cl-vectors/2017-06-30/cl-vectors-20170630-git.tgz
+    MD5 cee3bb14adbba3142b782c646f7651ce NAME cl-vectors FILENAME cl-vectors
+    DEPS ((NAME cl-aa FILENAME cl-aa) (NAME cl-paths FILENAME cl-paths))
+    DEPENDENCIES (cl-aa cl-paths) VERSION 20170630-git SIBLINGS
+    (cl-aa-misc cl-aa cl-paths-ttf cl-paths) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-who.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-who.nix
index e5888844c821..32304139c515 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-who.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-who.nix
@@ -3,33 +3,25 @@ rec {
   baseName = ''cl-who'';
   version = ''1.1.4'';
 
+  parasites = [ "cl-who-test" ];
+
   description = ''(X)HTML generation macros'';
 
-  deps = [ ];
+  deps = [ args."flexi-streams" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/cl-who/2014-12-17/cl-who-1.1.4.tgz'';
     sha256 = ''0r9wc92njz1cc7nghgbhdmd7jy216ylhlabfj0vc45bmfa4w44rq'';
   };
-    
+
   packageName = "cl-who";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl-who[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["cl-who.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM cl-who DESCRIPTION (X)HTML generation macros SHA256 0r9wc92njz1cc7nghgbhdmd7jy216ylhlabfj0vc45bmfa4w44rq URL
-    http://beta.quicklisp.org/archive/cl-who/2014-12-17/cl-who-1.1.4.tgz MD5 a9e6f0b6a8aaa247dbf751de2cb550bf NAME cl-who TESTNAME NIL FILENAME cl-who DEPS NIL
-    DEPENDENCIES NIL VERSION 1.1.4 SIBLINGS NIL) */
+/* (SYSTEM cl-who DESCRIPTION (X)HTML generation macros SHA256
+    0r9wc92njz1cc7nghgbhdmd7jy216ylhlabfj0vc45bmfa4w44rq URL
+    http://beta.quicklisp.org/archive/cl-who/2014-12-17/cl-who-1.1.4.tgz MD5
+    a9e6f0b6a8aaa247dbf751de2cb550bf NAME cl-who FILENAME cl-who DEPS
+    ((NAME flexi-streams FILENAME flexi-streams)) DEPENDENCIES (flexi-streams)
+    VERSION 1.1.4 SIBLINGS NIL PARASITES (cl-who-test)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-socket.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-socket.nix
index 94b763417d6f..7ced3fd41b18 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-socket.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-socket.nix
@@ -11,29 +11,23 @@ rec {
     url = ''http://beta.quicklisp.org/archive/clack/2017-06-30/clack-20170630-git.tgz'';
     sha256 = ''1z3xrwldfzd4nagk2d0gw5hspnr35r6kh19ksqr3kyf6wpn2lybg'';
   };
-    
+
   packageName = "clack-socket";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/clack-socket[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["clack-socket.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM clack-socket DESCRIPTION NIL SHA256 1z3xrwldfzd4nagk2d0gw5hspnr35r6kh19ksqr3kyf6wpn2lybg URL
-    http://beta.quicklisp.org/archive/clack/2017-06-30/clack-20170630-git.tgz MD5 845b25a3cc6f3a1ee1dbd6de73dfb815 NAME clack-socket TESTNAME NIL FILENAME
+/* (SYSTEM clack-socket DESCRIPTION NIL SHA256
+    1z3xrwldfzd4nagk2d0gw5hspnr35r6kh19ksqr3kyf6wpn2lybg URL
+    http://beta.quicklisp.org/archive/clack/2017-06-30/clack-20170630-git.tgz
+    MD5 845b25a3cc6f3a1ee1dbd6de73dfb815 NAME clack-socket FILENAME
     clack-socket DEPS NIL DEPENDENCIES NIL VERSION clack-20170630-git SIBLINGS
-    (clack-handler-fcgi clack-handler-hunchentoot clack-handler-toot clack-handler-wookie clack-test clack-v1-compat clack t-clack-handler-fcgi
-     t-clack-handler-hunchentoot t-clack-handler-toot t-clack-handler-wookie t-clack-v1-compat clack-middleware-auth-basic clack-middleware-clsql
-     clack-middleware-csrf clack-middleware-dbi clack-middleware-oauth clack-middleware-postmodern clack-middleware-rucksack clack-session-store-dbi
-     t-clack-middleware-auth-basic t-clack-middleware-csrf)) */
+    (clack-handler-fcgi clack-handler-hunchentoot clack-handler-toot
+     clack-handler-wookie clack-test clack-v1-compat clack t-clack-handler-fcgi
+     t-clack-handler-hunchentoot t-clack-handler-toot t-clack-handler-wookie
+     t-clack-v1-compat clack-middleware-auth-basic clack-middleware-clsql
+     clack-middleware-csrf clack-middleware-dbi clack-middleware-oauth
+     clack-middleware-postmodern clack-middleware-rucksack
+     clack-session-store-dbi t-clack-middleware-auth-basic
+     t-clack-middleware-csrf)
+    PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-test.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-test.nix
new file mode 100644
index 000000000000..35fa6046ae51
--- /dev/null
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-test.nix
@@ -0,0 +1,41 @@
+args @ { fetchurl, ... }:
+rec {
+  baseName = ''clack-test'';
+  version = ''clack-20170630-git'';
+
+  description = ''Testing Clack Applications.'';
+
+  deps = [ args."bordeaux-threads" args."clack" args."dexador" args."flexi-streams" args."http-body" args."lack" args."prove" args."usocket" ];
+
+  src = fetchurl {
+    url = ''http://beta.quicklisp.org/archive/clack/2017-06-30/clack-20170630-git.tgz'';
+    sha256 = ''1z3xrwldfzd4nagk2d0gw5hspnr35r6kh19ksqr3kyf6wpn2lybg'';
+  };
+
+  packageName = "clack-test";
+
+  asdFilesToKeep = ["clack-test.asd"];
+  overrides = x: x;
+}
+/* (SYSTEM clack-test DESCRIPTION Testing Clack Applications. SHA256
+    1z3xrwldfzd4nagk2d0gw5hspnr35r6kh19ksqr3kyf6wpn2lybg URL
+    http://beta.quicklisp.org/archive/clack/2017-06-30/clack-20170630-git.tgz
+    MD5 845b25a3cc6f3a1ee1dbd6de73dfb815 NAME clack-test FILENAME clack-test
+    DEPS
+    ((NAME bordeaux-threads FILENAME bordeaux-threads)
+     (NAME clack FILENAME clack) (NAME dexador FILENAME dexador)
+     (NAME flexi-streams FILENAME flexi-streams)
+     (NAME http-body FILENAME http-body) (NAME lack FILENAME lack)
+     (NAME prove FILENAME prove) (NAME usocket FILENAME usocket))
+    DEPENDENCIES
+    (bordeaux-threads clack dexador flexi-streams http-body lack prove usocket)
+    VERSION clack-20170630-git SIBLINGS
+    (clack-handler-fcgi clack-handler-hunchentoot clack-handler-toot
+     clack-handler-wookie clack-socket clack-v1-compat clack
+     t-clack-handler-fcgi t-clack-handler-hunchentoot t-clack-handler-toot
+     t-clack-handler-wookie t-clack-v1-compat clack-middleware-auth-basic
+     clack-middleware-clsql clack-middleware-csrf clack-middleware-dbi
+     clack-middleware-oauth clack-middleware-postmodern
+     clack-middleware-rucksack clack-session-store-dbi
+     t-clack-middleware-auth-basic t-clack-middleware-csrf)
+    PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-v1-compat.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-v1-compat.nix
index 98b706498dd9..bf6b3dbfa652 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-v1-compat.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-v1-compat.nix
@@ -5,45 +5,52 @@ rec {
 
   description = '''';
 
-  deps = [ args."uiop" args."trivial-types" args."trivial-mimes" args."trivial-backtrace" args."split-sequence" args."quri" args."marshal" args."local-time" args."lack-util" args."lack" args."ironclad" args."http-body" args."flexi-streams" args."cl-syntax-annot" args."cl-ppcre" args."cl-base64" args."circular-streams" args."alexandria" ];
+  deps = [ args."alexandria" args."bordeaux-threads" args."circular-streams" args."cl-base64" args."cl-ppcre" args."cl-syntax-annot" args."clack" args."clack-test" args."dexador" args."flexi-streams" args."http-body" args."ironclad" args."lack" args."lack-util" args."local-time" args."marshal" args."prove" args."quri" args."split-sequence" args."trivial-backtrace" args."trivial-mimes" args."trivial-types" args."uiop" args."usocket" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/clack/2017-06-30/clack-20170630-git.tgz'';
     sha256 = ''1z3xrwldfzd4nagk2d0gw5hspnr35r6kh19ksqr3kyf6wpn2lybg'';
   };
-    
+
   packageName = "clack-v1-compat";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/clack-v1-compat[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["clack-v1-compat.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM clack-v1-compat DESCRIPTION NIL SHA256 1z3xrwldfzd4nagk2d0gw5hspnr35r6kh19ksqr3kyf6wpn2lybg URL
-    http://beta.quicklisp.org/archive/clack/2017-06-30/clack-20170630-git.tgz MD5 845b25a3cc6f3a1ee1dbd6de73dfb815 NAME clack-v1-compat TESTNAME NIL FILENAME
+/* (SYSTEM clack-v1-compat DESCRIPTION NIL SHA256
+    1z3xrwldfzd4nagk2d0gw5hspnr35r6kh19ksqr3kyf6wpn2lybg URL
+    http://beta.quicklisp.org/archive/clack/2017-06-30/clack-20170630-git.tgz
+    MD5 845b25a3cc6f3a1ee1dbd6de73dfb815 NAME clack-v1-compat FILENAME
     clack-v1-compat DEPS
-    ((NAME uiop FILENAME uiop) (NAME trivial-types FILENAME trivial-types) (NAME trivial-mimes FILENAME trivial-mimes)
-     (NAME trivial-backtrace FILENAME trivial-backtrace) (NAME split-sequence FILENAME split-sequence) (NAME quri FILENAME quri)
-     (NAME marshal FILENAME marshal) (NAME local-time FILENAME local-time) (NAME lack-util FILENAME lack-util) (NAME lack FILENAME lack)
-     (NAME ironclad FILENAME ironclad) (NAME http-body FILENAME http-body) (NAME flexi-streams FILENAME flexi-streams)
-     (NAME cl-syntax-annot FILENAME cl-syntax-annot) (NAME cl-ppcre FILENAME cl-ppcre) (NAME cl-base64 FILENAME cl-base64)
-     (NAME circular-streams FILENAME circular-streams) (NAME alexandria FILENAME alexandria))
+    ((NAME alexandria FILENAME alexandria)
+     (NAME bordeaux-threads FILENAME bordeaux-threads)
+     (NAME circular-streams FILENAME circular-streams)
+     (NAME cl-base64 FILENAME cl-base64) (NAME cl-ppcre FILENAME cl-ppcre)
+     (NAME cl-syntax-annot FILENAME cl-syntax-annot)
+     (NAME clack FILENAME clack) (NAME clack-test FILENAME clack-test)
+     (NAME dexador FILENAME dexador)
+     (NAME flexi-streams FILENAME flexi-streams)
+     (NAME http-body FILENAME http-body) (NAME ironclad FILENAME ironclad)
+     (NAME lack FILENAME lack) (NAME lack-util FILENAME lack-util)
+     (NAME local-time FILENAME local-time) (NAME marshal FILENAME marshal)
+     (NAME prove FILENAME prove) (NAME quri FILENAME quri)
+     (NAME split-sequence FILENAME split-sequence)
+     (NAME trivial-backtrace FILENAME trivial-backtrace)
+     (NAME trivial-mimes FILENAME trivial-mimes)
+     (NAME trivial-types FILENAME trivial-types) (NAME uiop FILENAME uiop)
+     (NAME usocket FILENAME usocket))
     DEPENDENCIES
-    (uiop trivial-types trivial-mimes trivial-backtrace split-sequence quri marshal local-time lack-util lack ironclad http-body flexi-streams cl-syntax-annot
-     cl-ppcre cl-base64 circular-streams alexandria)
+    (alexandria bordeaux-threads circular-streams cl-base64 cl-ppcre
+     cl-syntax-annot clack clack-test dexador flexi-streams http-body ironclad
+     lack lack-util local-time marshal prove quri split-sequence
+     trivial-backtrace trivial-mimes trivial-types uiop usocket)
     VERSION clack-20170630-git SIBLINGS
-    (clack-handler-fcgi clack-handler-hunchentoot clack-handler-toot clack-handler-wookie clack-socket clack-test clack t-clack-handler-fcgi
-     t-clack-handler-hunchentoot t-clack-handler-toot t-clack-handler-wookie t-clack-v1-compat clack-middleware-auth-basic clack-middleware-clsql
-     clack-middleware-csrf clack-middleware-dbi clack-middleware-oauth clack-middleware-postmodern clack-middleware-rucksack clack-session-store-dbi
-     t-clack-middleware-auth-basic t-clack-middleware-csrf)) */
+    (clack-handler-fcgi clack-handler-hunchentoot clack-handler-toot
+     clack-handler-wookie clack-socket clack-test clack t-clack-handler-fcgi
+     t-clack-handler-hunchentoot t-clack-handler-toot t-clack-handler-wookie
+     t-clack-v1-compat clack-middleware-auth-basic clack-middleware-clsql
+     clack-middleware-csrf clack-middleware-dbi clack-middleware-oauth
+     clack-middleware-postmodern clack-middleware-rucksack
+     clack-session-store-dbi t-clack-middleware-auth-basic
+     t-clack-middleware-csrf)
+    PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack.nix
index bfd86a7b0dea..26ded8945cd0 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack.nix
@@ -5,37 +5,36 @@ rec {
 
   description = ''Web application environment for Common Lisp'';
 
-  deps = [ args."uiop" args."lack-util" args."lack-middleware-backtrace" args."lack" args."bordeaux-threads" args."alexandria" ];
+  deps = [ args."alexandria" args."bordeaux-threads" args."lack" args."lack-middleware-backtrace" args."lack-util" args."uiop" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/clack/2017-06-30/clack-20170630-git.tgz'';
     sha256 = ''1z3xrwldfzd4nagk2d0gw5hspnr35r6kh19ksqr3kyf6wpn2lybg'';
   };
-    
+
   packageName = "clack";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/clack[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["clack.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM clack DESCRIPTION Web application environment for Common Lisp SHA256 1z3xrwldfzd4nagk2d0gw5hspnr35r6kh19ksqr3kyf6wpn2lybg URL
-    http://beta.quicklisp.org/archive/clack/2017-06-30/clack-20170630-git.tgz MD5 845b25a3cc6f3a1ee1dbd6de73dfb815 NAME clack TESTNAME NIL FILENAME clack DEPS
-    ((NAME uiop FILENAME uiop) (NAME lack-util FILENAME lack-util) (NAME lack-middleware-backtrace FILENAME lack-middleware-backtrace)
-     (NAME lack FILENAME lack) (NAME bordeaux-threads FILENAME bordeaux-threads) (NAME alexandria FILENAME alexandria))
-    DEPENDENCIES (uiop lack-util lack-middleware-backtrace lack bordeaux-threads alexandria) VERSION 20170630-git SIBLINGS
-    (clack-handler-fcgi clack-handler-hunchentoot clack-handler-toot clack-handler-wookie clack-socket clack-test clack-v1-compat t-clack-handler-fcgi
-     t-clack-handler-hunchentoot t-clack-handler-toot t-clack-handler-wookie t-clack-v1-compat clack-middleware-auth-basic clack-middleware-clsql
-     clack-middleware-csrf clack-middleware-dbi clack-middleware-oauth clack-middleware-postmodern clack-middleware-rucksack clack-session-store-dbi
-     t-clack-middleware-auth-basic t-clack-middleware-csrf)) */
+/* (SYSTEM clack DESCRIPTION Web application environment for Common Lisp SHA256
+    1z3xrwldfzd4nagk2d0gw5hspnr35r6kh19ksqr3kyf6wpn2lybg URL
+    http://beta.quicklisp.org/archive/clack/2017-06-30/clack-20170630-git.tgz
+    MD5 845b25a3cc6f3a1ee1dbd6de73dfb815 NAME clack FILENAME clack DEPS
+    ((NAME alexandria FILENAME alexandria)
+     (NAME bordeaux-threads FILENAME bordeaux-threads)
+     (NAME lack FILENAME lack)
+     (NAME lack-middleware-backtrace FILENAME lack-middleware-backtrace)
+     (NAME lack-util FILENAME lack-util) (NAME uiop FILENAME uiop))
+    DEPENDENCIES
+    (alexandria bordeaux-threads lack lack-middleware-backtrace lack-util uiop)
+    VERSION 20170630-git SIBLINGS
+    (clack-handler-fcgi clack-handler-hunchentoot clack-handler-toot
+     clack-handler-wookie clack-socket clack-test clack-v1-compat
+     t-clack-handler-fcgi t-clack-handler-hunchentoot t-clack-handler-toot
+     t-clack-handler-wookie t-clack-v1-compat clack-middleware-auth-basic
+     clack-middleware-clsql clack-middleware-csrf clack-middleware-dbi
+     clack-middleware-oauth clack-middleware-postmodern
+     clack-middleware-rucksack clack-session-store-dbi
+     t-clack-middleware-auth-basic t-clack-middleware-csrf)
+    PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/closer-mop.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/closer-mop.nix
index 4c1d85ec3be6..3c15d7cf7539 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/closer-mop.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/closer-mop.nix
@@ -11,26 +11,15 @@ rec {
     url = ''http://beta.quicklisp.org/archive/closer-mop/2017-07-25/closer-mop-20170725-git.tgz'';
     sha256 = ''0qc4zh4zicv3zm4bw8c3s2r2bjbx2bp31j69lwiz1mdl9xg0nhsc'';
   };
-    
+
   packageName = "closer-mop";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/closer-mop[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["closer-mop.asd"];
+  overrides = x: x;
 }
 /* (SYSTEM closer-mop DESCRIPTION
     Closer to MOP is a compatibility layer that rectifies many of the absent or incorrect CLOS MOP features across a broad range of Common Lisp implementations.
-    SHA256 0qc4zh4zicv3zm4bw8c3s2r2bjbx2bp31j69lwiz1mdl9xg0nhsc URL http://beta.quicklisp.org/archive/closer-mop/2017-07-25/closer-mop-20170725-git.tgz MD5
-    308f9e8e4ea4573c7b6820055b6f171d NAME closer-mop TESTNAME NIL FILENAME closer-mop DEPS NIL DEPENDENCIES NIL VERSION 20170725-git SIBLINGS NIL) */
+    SHA256 0qc4zh4zicv3zm4bw8c3s2r2bjbx2bp31j69lwiz1mdl9xg0nhsc URL
+    http://beta.quicklisp.org/archive/closer-mop/2017-07-25/closer-mop-20170725-git.tgz
+    MD5 308f9e8e4ea4573c7b6820055b6f171d NAME closer-mop FILENAME closer-mop
+    DEPS NIL DEPENDENCIES NIL VERSION 20170725-git SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/closure-common.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/closure-common.nix
index 8dca87dc1820..fb808164aa29 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/closure-common.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/closure-common.nix
@@ -5,32 +5,25 @@ rec {
 
   description = '''';
 
-  deps = [ args."babel" args."trivial-gray-streams" ];
+  deps = [ args."alexandria" args."babel" args."trivial-features" args."trivial-gray-streams" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/closure-common/2010-11-07/closure-common-20101107-git.tgz'';
     sha256 = ''1982dpn2z7rlznn74gxy9biqybh2d4r1n688h9pn1s2bssgv3hk4'';
   };
-    
+
   packageName = "closure-common";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/closure-common[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["closure-common.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM closure-common DESCRIPTION NIL SHA256 1982dpn2z7rlznn74gxy9biqybh2d4r1n688h9pn1s2bssgv3hk4 URL
-    http://beta.quicklisp.org/archive/closure-common/2010-11-07/closure-common-20101107-git.tgz MD5 12c45a2f0420b2e86fa06cb6575b150a NAME closure-common
-    TESTNAME NIL FILENAME closure-common DEPS ((NAME babel FILENAME babel) (NAME trivial-gray-streams FILENAME trivial-gray-streams)) DEPENDENCIES
-    (babel trivial-gray-streams) VERSION 20101107-git SIBLINGS NIL) */
+/* (SYSTEM closure-common DESCRIPTION NIL SHA256
+    1982dpn2z7rlznn74gxy9biqybh2d4r1n688h9pn1s2bssgv3hk4 URL
+    http://beta.quicklisp.org/archive/closure-common/2010-11-07/closure-common-20101107-git.tgz
+    MD5 12c45a2f0420b2e86fa06cb6575b150a NAME closure-common FILENAME
+    closure-common DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
+     (NAME trivial-features FILENAME trivial-features)
+     (NAME trivial-gray-streams FILENAME trivial-gray-streams))
+    DEPENDENCIES (alexandria babel trivial-features trivial-gray-streams)
+    VERSION 20101107-git SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/clsql.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/clsql.nix
index 76eae519de91..74b8442c0c90 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/clsql.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/clsql.nix
@@ -11,27 +11,19 @@ rec {
     url = ''http://beta.quicklisp.org/archive/clsql/2016-02-08/clsql-20160208-git.tgz'';
     sha256 = ''0hc97rlfpanp6c1ziis47mrq2fgxbk0h51bhczn8k9xin2qbhhgn'';
   };
-    
+
   packageName = "clsql";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/clsql[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["clsql.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM clsql DESCRIPTION Common Lisp SQL Interface library SHA256 0hc97rlfpanp6c1ziis47mrq2fgxbk0h51bhczn8k9xin2qbhhgn URL
-    http://beta.quicklisp.org/archive/clsql/2016-02-08/clsql-20160208-git.tgz MD5 d1da7688361337a7de4fe7452c225a06 NAME clsql TESTNAME NIL FILENAME clsql DEPS
-    ((NAME uffi FILENAME uffi)) DEPENDENCIES (uffi) VERSION 20160208-git SIBLINGS
-    (clsql-aodbc clsql-cffi clsql-mysql clsql-odbc clsql-postgresql-socket clsql-postgresql-socket3 clsql-postgresql clsql-sqlite clsql-sqlite3 clsql-tests
-     clsql-uffi)) */
+/* (SYSTEM clsql DESCRIPTION Common Lisp SQL Interface library SHA256
+    0hc97rlfpanp6c1ziis47mrq2fgxbk0h51bhczn8k9xin2qbhhgn URL
+    http://beta.quicklisp.org/archive/clsql/2016-02-08/clsql-20160208-git.tgz
+    MD5 d1da7688361337a7de4fe7452c225a06 NAME clsql FILENAME clsql DEPS
+    ((NAME uffi FILENAME uffi)) DEPENDENCIES (uffi) VERSION 20160208-git
+    SIBLINGS
+    (clsql-aodbc clsql-cffi clsql-mysql clsql-odbc clsql-postgresql-socket
+     clsql-postgresql-socket3 clsql-postgresql clsql-sqlite clsql-sqlite3
+     clsql-tests clsql-uffi)
+    PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/clss.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/clss.nix
index 31ff76c0f091..11e723e0029c 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/clss.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/clss.nix
@@ -11,25 +11,16 @@ rec {
     url = ''http://beta.quicklisp.org/archive/clss/2017-06-30/clss-20170630-git.tgz'';
     sha256 = ''0kdkzx7z997lzbf331p4fkqhri0ind7agknl9y992x917m9y4rn0'';
   };
-    
+
   packageName = "clss";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/clss[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["clss.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM clss DESCRIPTION A DOM tree searching engine based on CSS selectors. SHA256 0kdkzx7z997lzbf331p4fkqhri0ind7agknl9y992x917m9y4rn0 URL
-    http://beta.quicklisp.org/archive/clss/2017-06-30/clss-20170630-git.tgz MD5 61bbadf22391940813bfc66dfd59d304 NAME clss TESTNAME NIL FILENAME clss DEPS
-    ((NAME array-utils FILENAME array-utils) (NAME plump FILENAME plump)) DEPENDENCIES (array-utils plump) VERSION 20170630-git SIBLINGS NIL) */
+/* (SYSTEM clss DESCRIPTION A DOM tree searching engine based on CSS selectors.
+    SHA256 0kdkzx7z997lzbf331p4fkqhri0ind7agknl9y992x917m9y4rn0 URL
+    http://beta.quicklisp.org/archive/clss/2017-06-30/clss-20170630-git.tgz MD5
+    61bbadf22391940813bfc66dfd59d304 NAME clss FILENAME clss DEPS
+    ((NAME array-utils FILENAME array-utils) (NAME plump FILENAME plump))
+    DEPENDENCIES (array-utils plump) VERSION 20170630-git SIBLINGS NIL
+    PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/clx-truetype.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/clx-truetype.nix
index dfd8669b59f7..6cc6c24c3b93 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/clx-truetype.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/clx-truetype.nix
@@ -3,36 +3,36 @@ rec {
   baseName = ''clx-truetype'';
   version = ''20160825-git'';
 
+  parasites = [ "clx-truetype-test" ];
+
   description = ''clx-truetype is pure common lisp solution for antialiased TrueType font rendering using CLX and XRender extension.'';
 
-  deps = [ args."cl-aa" args."cl-fad" args."cl-paths-ttf" args."cl-store" args."cl-vectors" args."clx" args."trivial-features" args."zpb-ttf" ];
+  deps = [ args."alexandria" args."bordeaux-threads" args."cl-aa" args."cl-fad" args."cl-paths-ttf" args."cl-store" args."cl-vectors" args."clx" args."trivial-features" args."zpb-ttf" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/clx-truetype/2016-08-25/clx-truetype-20160825-git.tgz'';
     sha256 = ''0ndy067rg9w6636gxwlpnw7f3ck9nrnjb03444pprik9r3c9in67'';
   };
-    
+
   packageName = "clx-truetype";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/clx-truetype[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["clx-truetype.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM clx-truetype DESCRIPTION clx-truetype is pure common lisp solution for antialiased TrueType font rendering using CLX and XRender extension. SHA256
-    0ndy067rg9w6636gxwlpnw7f3ck9nrnjb03444pprik9r3c9in67 URL http://beta.quicklisp.org/archive/clx-truetype/2016-08-25/clx-truetype-20160825-git.tgz MD5
-    7c9dedb21d52dedf727de741ac6d9c60 NAME clx-truetype TESTNAME NIL FILENAME clx-truetype DEPS
-    ((NAME cl-aa FILENAME cl-aa) (NAME cl-fad FILENAME cl-fad) (NAME cl-paths-ttf FILENAME cl-paths-ttf) (NAME cl-store FILENAME cl-store)
-     (NAME cl-vectors FILENAME cl-vectors) (NAME clx FILENAME clx) (NAME trivial-features FILENAME trivial-features) (NAME zpb-ttf FILENAME zpb-ttf))
-    DEPENDENCIES (cl-aa cl-fad cl-paths-ttf cl-store cl-vectors clx trivial-features zpb-ttf) VERSION 20160825-git SIBLINGS NIL) */
+/* (SYSTEM clx-truetype DESCRIPTION
+    clx-truetype is pure common lisp solution for antialiased TrueType font rendering using CLX and XRender extension.
+    SHA256 0ndy067rg9w6636gxwlpnw7f3ck9nrnjb03444pprik9r3c9in67 URL
+    http://beta.quicklisp.org/archive/clx-truetype/2016-08-25/clx-truetype-20160825-git.tgz
+    MD5 7c9dedb21d52dedf727de741ac6d9c60 NAME clx-truetype FILENAME
+    clx-truetype DEPS
+    ((NAME alexandria FILENAME alexandria)
+     (NAME bordeaux-threads FILENAME bordeaux-threads)
+     (NAME cl-aa FILENAME cl-aa) (NAME cl-fad FILENAME cl-fad)
+     (NAME cl-paths-ttf FILENAME cl-paths-ttf)
+     (NAME cl-store FILENAME cl-store) (NAME cl-vectors FILENAME cl-vectors)
+     (NAME clx FILENAME clx) (NAME trivial-features FILENAME trivial-features)
+     (NAME zpb-ttf FILENAME zpb-ttf))
+    DEPENDENCIES
+    (alexandria bordeaux-threads cl-aa cl-fad cl-paths-ttf cl-store cl-vectors
+     clx trivial-features zpb-ttf)
+    VERSION 20160825-git SIBLINGS NIL PARASITES (clx-truetype-test)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/clx.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/clx.nix
index b85ccdd48f55..2d802d3e4880 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/clx.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/clx.nix
@@ -11,25 +11,15 @@ rec {
     url = ''http://beta.quicklisp.org/archive/clx/2017-06-30/clx-20170630-git.tgz'';
     sha256 = ''0di8h3galjylgmy30qqwa4q8mb5505rcag0y4ia7mv7sls51jbp7'';
   };
-    
+
   packageName = "clx";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/clx[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["clx.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM clx DESCRIPTION An implementation of the X Window System protocol in Lisp. SHA256 0di8h3galjylgmy30qqwa4q8mb5505rcag0y4ia7mv7sls51jbp7 URL
-    http://beta.quicklisp.org/archive/clx/2017-06-30/clx-20170630-git.tgz MD5 ccfec3f35979df3bead0b73adc1d798a NAME clx TESTNAME NIL FILENAME clx DEPS NIL
-    DEPENDENCIES NIL VERSION 20170630-git SIBLINGS NIL) */
+/* (SYSTEM clx DESCRIPTION
+    An implementation of the X Window System protocol in Lisp. SHA256
+    0di8h3galjylgmy30qqwa4q8mb5505rcag0y4ia7mv7sls51jbp7 URL
+    http://beta.quicklisp.org/archive/clx/2017-06-30/clx-20170630-git.tgz MD5
+    ccfec3f35979df3bead0b73adc1d798a NAME clx FILENAME clx DEPS NIL
+    DEPENDENCIES NIL VERSION 20170630-git SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/command-line-arguments.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/command-line-arguments.nix
index 276b13e1bd09..e1fb59658528 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/command-line-arguments.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/command-line-arguments.nix
@@ -11,25 +11,16 @@ rec {
     url = ''http://beta.quicklisp.org/archive/command-line-arguments/2015-12-18/command-line-arguments-20151218-git.tgz'';
     sha256 = ''07yv3vj9kjd84q09d6kvgryqxb71bsa7jl22fd1an6inmk0a3yyh'';
   };
-    
+
   packageName = "command-line-arguments";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/command-line-arguments[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["command-line-arguments.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM command-line-arguments DESCRIPTION small library to deal with command-line arguments SHA256 07yv3vj9kjd84q09d6kvgryqxb71bsa7jl22fd1an6inmk0a3yyh URL
-    http://beta.quicklisp.org/archive/command-line-arguments/2015-12-18/command-line-arguments-20151218-git.tgz MD5 8cdb99db40143e34cf6b0b25ca95f826 NAME
-    command-line-arguments TESTNAME NIL FILENAME command-line-arguments DEPS NIL DEPENDENCIES NIL VERSION 20151218-git SIBLINGS NIL) */
+/* (SYSTEM command-line-arguments DESCRIPTION
+    small library to deal with command-line arguments SHA256
+    07yv3vj9kjd84q09d6kvgryqxb71bsa7jl22fd1an6inmk0a3yyh URL
+    http://beta.quicklisp.org/archive/command-line-arguments/2015-12-18/command-line-arguments-20151218-git.tgz
+    MD5 8cdb99db40143e34cf6b0b25ca95f826 NAME command-line-arguments FILENAME
+    command-line-arguments DEPS NIL DEPENDENCIES NIL VERSION 20151218-git
+    SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/css-lite.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/css-lite.nix
index 695164566ba3..f4941aa80cd6 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/css-lite.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/css-lite.nix
@@ -11,25 +11,14 @@ rec {
     url = ''http://beta.quicklisp.org/archive/css-lite/2012-04-07/css-lite-20120407-git.tgz'';
     sha256 = ''1gf1qqaxhly6ixh9ykqhg9b52s8p5wlwi46vp2k29qy7gmx4f1qg'';
   };
-    
+
   packageName = "css-lite";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/css-lite[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["css-lite.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM css-lite DESCRIPTION NIL SHA256 1gf1qqaxhly6ixh9ykqhg9b52s8p5wlwi46vp2k29qy7gmx4f1qg URL
-    http://beta.quicklisp.org/archive/css-lite/2012-04-07/css-lite-20120407-git.tgz MD5 9b25afb0d2c3f0c32d2303ab1d3f570d NAME css-lite TESTNAME NIL FILENAME
-    css-lite DEPS NIL DEPENDENCIES NIL VERSION 20120407-git SIBLINGS NIL) */
+/* (SYSTEM css-lite DESCRIPTION NIL SHA256
+    1gf1qqaxhly6ixh9ykqhg9b52s8p5wlwi46vp2k29qy7gmx4f1qg URL
+    http://beta.quicklisp.org/archive/css-lite/2012-04-07/css-lite-20120407-git.tgz
+    MD5 9b25afb0d2c3f0c32d2303ab1d3f570d NAME css-lite FILENAME css-lite DEPS
+    NIL DEPENDENCIES NIL VERSION 20120407-git SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cxml-dom.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cxml-dom.nix
deleted file mode 100644
index 924b61cae6e1..000000000000
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cxml-dom.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-args @ { fetchurl, ... }:
-rec {
-  baseName = ''cxml-dom'';
-  version = ''cxml-20110619-git'';
-
-  testSystems = ["cxml"];
-
-  description = '''';
-
-  deps = [ args."cxml-xml" ];
-
-  src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/cxml/2011-06-19/cxml-20110619-git.tgz'';
-    sha256 = ''04k6syn9p7qsazi84kab9n9ki2pb5hrcs0ilw7wikxfqnbabm2yk'';
-  };
-    
-  packageName = "cxml-dom";
-
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cxml-dom[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
-}
-/* (SYSTEM cxml-dom DESCRIPTION NIL SHA256 04k6syn9p7qsazi84kab9n9ki2pb5hrcs0ilw7wikxfqnbabm2yk URL
-    http://beta.quicklisp.org/archive/cxml/2011-06-19/cxml-20110619-git.tgz MD5 587755dff60416d4f716f4e785cf747e NAME cxml-dom TESTNAME cxml FILENAME cxml-dom
-    DEPS ((NAME cxml-xml FILENAME cxml-xml)) DEPENDENCIES (cxml-xml) VERSION cxml-20110619-git SIBLINGS (cxml)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cxml-klacks.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cxml-klacks.nix
deleted file mode 100644
index f8418ccf27f2..000000000000
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cxml-klacks.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-args @ { fetchurl, ... }:
-rec {
-  baseName = ''cxml-klacks'';
-  version = ''cxml-20110619-git'';
-
-  testSystems = ["cxml"];
-
-  description = '''';
-
-  deps = [ args."cxml-xml" ];
-
-  src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/cxml/2011-06-19/cxml-20110619-git.tgz'';
-    sha256 = ''04k6syn9p7qsazi84kab9n9ki2pb5hrcs0ilw7wikxfqnbabm2yk'';
-  };
-    
-  packageName = "cxml-klacks";
-
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cxml-klacks[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
-}
-/* (SYSTEM cxml-klacks DESCRIPTION NIL SHA256 04k6syn9p7qsazi84kab9n9ki2pb5hrcs0ilw7wikxfqnbabm2yk URL
-    http://beta.quicklisp.org/archive/cxml/2011-06-19/cxml-20110619-git.tgz MD5 587755dff60416d4f716f4e785cf747e NAME cxml-klacks TESTNAME cxml FILENAME
-    cxml-klacks DEPS ((NAME cxml-xml FILENAME cxml-xml)) DEPENDENCIES (cxml-xml) VERSION cxml-20110619-git SIBLINGS (cxml)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cxml-stp.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cxml-stp.nix
new file mode 100644
index 000000000000..8fe30fa73a5e
--- /dev/null
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cxml-stp.nix
@@ -0,0 +1,39 @@
+args @ { fetchurl, ... }:
+rec {
+  baseName = ''cxml-stp'';
+  version = ''20120520-git'';
+
+  parasites = [ "cxml-stp-test" ];
+
+  description = '''';
+
+  deps = [ args."alexandria" args."babel" args."cl-ppcre" args."closure-common" args."cxml" args."cxml-dom" args."cxml-klacks" args."cxml-test" args."cxml-xml" args."parse-number" args."puri" args."rt" args."trivial-features" args."trivial-gray-streams" args."xpath" args."yacc" ];
+
+  src = fetchurl {
+    url = ''http://beta.quicklisp.org/archive/cxml-stp/2012-05-20/cxml-stp-20120520-git.tgz'';
+    sha256 = ''1pmh7wvkncbwwp30d445mhj21j210swq03f6hm44x1231s8r8azv'';
+  };
+
+  packageName = "cxml-stp";
+
+  asdFilesToKeep = ["cxml-stp.asd"];
+  overrides = x: x;
+}
+/* (SYSTEM cxml-stp DESCRIPTION NIL SHA256
+    1pmh7wvkncbwwp30d445mhj21j210swq03f6hm44x1231s8r8azv URL
+    http://beta.quicklisp.org/archive/cxml-stp/2012-05-20/cxml-stp-20120520-git.tgz
+    MD5 7bc57586a91cd4d4864b8cbad3689d85 NAME cxml-stp FILENAME cxml-stp DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
+     (NAME cl-ppcre FILENAME cl-ppcre)
+     (NAME closure-common FILENAME closure-common) (NAME cxml FILENAME cxml)
+     (NAME cxml-dom FILENAME cxml-dom) (NAME cxml-klacks FILENAME cxml-klacks)
+     (NAME cxml-test FILENAME cxml-test) (NAME cxml-xml FILENAME cxml-xml)
+     (NAME parse-number FILENAME parse-number) (NAME puri FILENAME puri)
+     (NAME rt FILENAME rt) (NAME trivial-features FILENAME trivial-features)
+     (NAME trivial-gray-streams FILENAME trivial-gray-streams)
+     (NAME xpath FILENAME xpath) (NAME yacc FILENAME yacc))
+    DEPENDENCIES
+    (alexandria babel cl-ppcre closure-common cxml cxml-dom cxml-klacks
+     cxml-test cxml-xml parse-number puri rt trivial-features
+     trivial-gray-streams xpath yacc)
+    VERSION 20120520-git SIBLINGS NIL PARASITES (cxml-stp-test)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cxml-test.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cxml-test.nix
deleted file mode 100644
index e8856352dcd5..000000000000
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cxml-test.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-args @ { fetchurl, ... }:
-rec {
-  baseName = ''cxml-test'';
-  version = ''cxml-20110619-git'';
-
-  testSystems = ["cxml"];
-
-  description = '''';
-
-  deps = [ args."cxml-xml" args."cxml-klacks" args."cxml-dom" ];
-
-  src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/cxml/2011-06-19/cxml-20110619-git.tgz'';
-    sha256 = ''04k6syn9p7qsazi84kab9n9ki2pb5hrcs0ilw7wikxfqnbabm2yk'';
-  };
-    
-  packageName = "cxml-test";
-
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cxml-test[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
-}
-/* (SYSTEM cxml-test DESCRIPTION NIL SHA256 04k6syn9p7qsazi84kab9n9ki2pb5hrcs0ilw7wikxfqnbabm2yk URL
-    http://beta.quicklisp.org/archive/cxml/2011-06-19/cxml-20110619-git.tgz MD5 587755dff60416d4f716f4e785cf747e NAME cxml-test TESTNAME cxml FILENAME
-    cxml-test DEPS ((NAME cxml-xml FILENAME cxml-xml) (NAME cxml-klacks FILENAME cxml-klacks) (NAME cxml-dom FILENAME cxml-dom)) DEPENDENCIES
-    (cxml-xml cxml-klacks cxml-dom) VERSION cxml-20110619-git SIBLINGS (cxml)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cxml-xml.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cxml-xml.nix
deleted file mode 100644
index 5d8ef1587724..000000000000
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cxml-xml.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-args @ { fetchurl, ... }:
-rec {
-  baseName = ''cxml-xml'';
-  version = ''cxml-20110619-git'';
-
-  testSystems = ["cxml"];
-
-  description = '''';
-
-  deps = [ args."trivial-gray-streams" args."puri" args."closure-common" ];
-
-  src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/cxml/2011-06-19/cxml-20110619-git.tgz'';
-    sha256 = ''04k6syn9p7qsazi84kab9n9ki2pb5hrcs0ilw7wikxfqnbabm2yk'';
-  };
-    
-  packageName = "cxml-xml";
-
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cxml-xml[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
-}
-/* (SYSTEM cxml-xml DESCRIPTION NIL SHA256 04k6syn9p7qsazi84kab9n9ki2pb5hrcs0ilw7wikxfqnbabm2yk URL
-    http://beta.quicklisp.org/archive/cxml/2011-06-19/cxml-20110619-git.tgz MD5 587755dff60416d4f716f4e785cf747e NAME cxml-xml TESTNAME cxml FILENAME cxml-xml
-    DEPS ((NAME trivial-gray-streams FILENAME trivial-gray-streams) (NAME puri FILENAME puri) (NAME closure-common FILENAME closure-common)) DEPENDENCIES
-    (trivial-gray-streams puri closure-common) VERSION cxml-20110619-git SIBLINGS (cxml)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cxml.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cxml.nix
index baab538ca38b..56b2645c7ee2 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/cxml.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/cxml.nix
@@ -3,34 +3,32 @@ rec {
   baseName = ''cxml'';
   version = ''20110619-git'';
 
+  parasites = [ "cxml-dom" "cxml-klacks" "cxml-test" "cxml-xml" ];
+
   description = '''';
 
-  deps = [ args."cxml-dom" args."cxml-klacks" args."cxml-test" ];
+  deps = [ args."alexandria" args."babel" args."closure-common" args."puri" args."trivial-features" args."trivial-gray-streams" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/cxml/2011-06-19/cxml-20110619-git.tgz'';
     sha256 = ''04k6syn9p7qsazi84kab9n9ki2pb5hrcs0ilw7wikxfqnbabm2yk'';
   };
-    
+
   packageName = "cxml";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cxml[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["cxml.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM cxml DESCRIPTION NIL SHA256 04k6syn9p7qsazi84kab9n9ki2pb5hrcs0ilw7wikxfqnbabm2yk URL
-    http://beta.quicklisp.org/archive/cxml/2011-06-19/cxml-20110619-git.tgz MD5 587755dff60416d4f716f4e785cf747e NAME cxml TESTNAME NIL FILENAME cxml DEPS
-    ((NAME cxml-dom FILENAME cxml-dom) (NAME cxml-klacks FILENAME cxml-klacks) (NAME cxml-test FILENAME cxml-test)) DEPENDENCIES
-    (cxml-dom cxml-klacks cxml-test) VERSION 20110619-git SIBLINGS NIL) */
+/* (SYSTEM cxml DESCRIPTION NIL SHA256
+    04k6syn9p7qsazi84kab9n9ki2pb5hrcs0ilw7wikxfqnbabm2yk URL
+    http://beta.quicklisp.org/archive/cxml/2011-06-19/cxml-20110619-git.tgz MD5
+    587755dff60416d4f716f4e785cf747e NAME cxml FILENAME cxml DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
+     (NAME closure-common FILENAME closure-common) (NAME puri FILENAME puri)
+     (NAME trivial-features FILENAME trivial-features)
+     (NAME trivial-gray-streams FILENAME trivial-gray-streams))
+    DEPENDENCIES
+    (alexandria babel closure-common puri trivial-features
+     trivial-gray-streams)
+    VERSION 20110619-git SIBLINGS NIL PARASITES
+    (cxml-dom cxml-klacks cxml-test cxml-xml)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/db3.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/db3.nix
index 06ffeb9ad69a..ae8ed6de8776 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/db3.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/db3.nix
@@ -11,25 +11,14 @@ rec {
     url = ''http://beta.quicklisp.org/archive/cl-db3/2015-03-02/cl-db3-20150302-git.tgz'';
     sha256 = ''0mwdpb7cdvxdcbyg3ags6xzwhblai170q3p20njs3v73s30dbzxi'';
   };
-    
+
   packageName = "db3";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/db3[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["db3.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM db3 DESCRIPTION DB3 file reader SHA256 0mwdpb7cdvxdcbyg3ags6xzwhblai170q3p20njs3v73s30dbzxi URL
-    http://beta.quicklisp.org/archive/cl-db3/2015-03-02/cl-db3-20150302-git.tgz MD5 578896a3f60f474742f240b703f8c5f5 NAME db3 TESTNAME NIL FILENAME db3 DEPS
-    NIL DEPENDENCIES NIL VERSION cl-20150302-git SIBLINGS NIL) */
+/* (SYSTEM db3 DESCRIPTION DB3 file reader SHA256
+    0mwdpb7cdvxdcbyg3ags6xzwhblai170q3p20njs3v73s30dbzxi URL
+    http://beta.quicklisp.org/archive/cl-db3/2015-03-02/cl-db3-20150302-git.tgz
+    MD5 578896a3f60f474742f240b703f8c5f5 NAME db3 FILENAME db3 DEPS NIL
+    DEPENDENCIES NIL VERSION cl-20150302-git SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-mysql.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-mysql.nix
index 7251da67498d..80a936560d15 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-mysql.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-mysql.nix
@@ -5,32 +5,35 @@ rec {
 
   description = ''Database driver for MySQL.'';
 
-  deps = [ args."cl-syntax-annot" args."cl-syntax" args."cl-mysql" ];
+  deps = [ args."alexandria" args."babel" args."bordeaux-threads" args."cffi" args."cl-annot" args."cl-mysql" args."cl-syntax" args."cl-syntax-annot" args."closer-mop" args."dbi" args."named-readtables" args."split-sequence" args."trivial-features" args."trivial-types" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/cl-dbi/2017-07-25/cl-dbi-20170725-git.tgz'';
     sha256 = ''1gmd5y44nidqmxw7zk0mxl4mgl3mcjf1v05gjdslp3ginzznrqzl'';
   };
-    
+
   packageName = "dbd-mysql";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/dbd-mysql[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["dbd-mysql.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM dbd-mysql DESCRIPTION Database driver for MySQL. SHA256 1gmd5y44nidqmxw7zk0mxl4mgl3mcjf1v05gjdslp3ginzznrqzl URL
-    http://beta.quicklisp.org/archive/cl-dbi/2017-07-25/cl-dbi-20170725-git.tgz MD5 a9fe67b7fea2640cea9708342a1347bd NAME dbd-mysql TESTNAME NIL FILENAME
-    dbd-mysql DEPS ((NAME cl-syntax-annot FILENAME cl-syntax-annot) (NAME cl-syntax FILENAME cl-syntax) (NAME cl-mysql FILENAME cl-mysql)) DEPENDENCIES
-    (cl-syntax-annot cl-syntax cl-mysql) VERSION cl-dbi-20170725-git SIBLINGS (cl-dbi dbd-postgres dbd-sqlite3 dbi-test dbi)) */
+/* (SYSTEM dbd-mysql DESCRIPTION Database driver for MySQL. SHA256
+    1gmd5y44nidqmxw7zk0mxl4mgl3mcjf1v05gjdslp3ginzznrqzl URL
+    http://beta.quicklisp.org/archive/cl-dbi/2017-07-25/cl-dbi-20170725-git.tgz
+    MD5 a9fe67b7fea2640cea9708342a1347bd NAME dbd-mysql FILENAME dbd-mysql DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
+     (NAME bordeaux-threads FILENAME bordeaux-threads)
+     (NAME cffi FILENAME cffi) (NAME cl-annot FILENAME cl-annot)
+     (NAME cl-mysql FILENAME cl-mysql) (NAME cl-syntax FILENAME cl-syntax)
+     (NAME cl-syntax-annot FILENAME cl-syntax-annot)
+     (NAME closer-mop FILENAME closer-mop) (NAME dbi FILENAME dbi)
+     (NAME named-readtables FILENAME named-readtables)
+     (NAME split-sequence FILENAME split-sequence)
+     (NAME trivial-features FILENAME trivial-features)
+     (NAME trivial-types FILENAME trivial-types))
+    DEPENDENCIES
+    (alexandria babel bordeaux-threads cffi cl-annot cl-mysql cl-syntax
+     cl-syntax-annot closer-mop dbi named-readtables split-sequence
+     trivial-features trivial-types)
+    VERSION cl-dbi-20170725-git SIBLINGS
+    (cl-dbi dbd-postgres dbd-sqlite3 dbi-test dbi) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-postgres.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-postgres.nix
index 2d71945081c4..1f7a784a5e6f 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-postgres.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-postgres.nix
@@ -5,34 +5,36 @@ rec {
 
   description = ''Database driver for PostgreSQL.'';
 
-  deps = [ args."trivial-garbage" args."cl-syntax-annot" args."cl-syntax" args."cl-postgres" ];
+  deps = [ args."alexandria" args."bordeaux-threads" args."cl-annot" args."cl-postgres" args."cl-syntax" args."cl-syntax-annot" args."closer-mop" args."dbi" args."md5" args."named-readtables" args."split-sequence" args."trivial-garbage" args."trivial-types" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/cl-dbi/2017-07-25/cl-dbi-20170725-git.tgz'';
     sha256 = ''1gmd5y44nidqmxw7zk0mxl4mgl3mcjf1v05gjdslp3ginzznrqzl'';
   };
-    
+
   packageName = "dbd-postgres";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/dbd-postgres[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["dbd-postgres.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM dbd-postgres DESCRIPTION Database driver for PostgreSQL. SHA256 1gmd5y44nidqmxw7zk0mxl4mgl3mcjf1v05gjdslp3ginzznrqzl URL
-    http://beta.quicklisp.org/archive/cl-dbi/2017-07-25/cl-dbi-20170725-git.tgz MD5 a9fe67b7fea2640cea9708342a1347bd NAME dbd-postgres TESTNAME NIL FILENAME
+/* (SYSTEM dbd-postgres DESCRIPTION Database driver for PostgreSQL. SHA256
+    1gmd5y44nidqmxw7zk0mxl4mgl3mcjf1v05gjdslp3ginzznrqzl URL
+    http://beta.quicklisp.org/archive/cl-dbi/2017-07-25/cl-dbi-20170725-git.tgz
+    MD5 a9fe67b7fea2640cea9708342a1347bd NAME dbd-postgres FILENAME
     dbd-postgres DEPS
-    ((NAME trivial-garbage FILENAME trivial-garbage) (NAME cl-syntax-annot FILENAME cl-syntax-annot) (NAME cl-syntax FILENAME cl-syntax)
-     (NAME cl-postgres FILENAME cl-postgres))
-    DEPENDENCIES (trivial-garbage cl-syntax-annot cl-syntax cl-postgres) VERSION cl-dbi-20170725-git SIBLINGS (cl-dbi dbd-mysql dbd-sqlite3 dbi-test dbi)) */
+    ((NAME alexandria FILENAME alexandria)
+     (NAME bordeaux-threads FILENAME bordeaux-threads)
+     (NAME cl-annot FILENAME cl-annot) (NAME cl-postgres FILENAME cl-postgres)
+     (NAME cl-syntax FILENAME cl-syntax)
+     (NAME cl-syntax-annot FILENAME cl-syntax-annot)
+     (NAME closer-mop FILENAME closer-mop) (NAME dbi FILENAME dbi)
+     (NAME md5 FILENAME md5) (NAME named-readtables FILENAME named-readtables)
+     (NAME split-sequence FILENAME split-sequence)
+     (NAME trivial-garbage FILENAME trivial-garbage)
+     (NAME trivial-types FILENAME trivial-types))
+    DEPENDENCIES
+    (alexandria bordeaux-threads cl-annot cl-postgres cl-syntax cl-syntax-annot
+     closer-mop dbi md5 named-readtables split-sequence trivial-garbage
+     trivial-types)
+    VERSION cl-dbi-20170725-git SIBLINGS
+    (cl-dbi dbd-mysql dbd-sqlite3 dbi-test dbi) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-sqlite3.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-sqlite3.nix
index 42f5d82966ef..1300aa476341 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-sqlite3.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-sqlite3.nix
@@ -5,33 +5,38 @@ rec {
 
   description = ''Database driver for SQLite3.'';
 
-  deps = [ args."uiop" args."sqlite" args."cl-syntax-annot" args."cl-syntax" ];
+  deps = [ args."alexandria" args."babel" args."bordeaux-threads" args."cffi" args."cl-annot" args."cl-syntax" args."cl-syntax-annot" args."closer-mop" args."dbi" args."iterate" args."named-readtables" args."split-sequence" args."sqlite" args."trivial-features" args."trivial-types" args."uiop" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/cl-dbi/2017-07-25/cl-dbi-20170725-git.tgz'';
     sha256 = ''1gmd5y44nidqmxw7zk0mxl4mgl3mcjf1v05gjdslp3ginzznrqzl'';
   };
-    
+
   packageName = "dbd-sqlite3";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/dbd-sqlite3[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["dbd-sqlite3.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM dbd-sqlite3 DESCRIPTION Database driver for SQLite3. SHA256 1gmd5y44nidqmxw7zk0mxl4mgl3mcjf1v05gjdslp3ginzznrqzl URL
-    http://beta.quicklisp.org/archive/cl-dbi/2017-07-25/cl-dbi-20170725-git.tgz MD5 a9fe67b7fea2640cea9708342a1347bd NAME dbd-sqlite3 TESTNAME NIL FILENAME
-    dbd-sqlite3 DEPS
-    ((NAME uiop FILENAME uiop) (NAME sqlite FILENAME sqlite) (NAME cl-syntax-annot FILENAME cl-syntax-annot) (NAME cl-syntax FILENAME cl-syntax)) DEPENDENCIES
-    (uiop sqlite cl-syntax-annot cl-syntax) VERSION cl-dbi-20170725-git SIBLINGS (cl-dbi dbd-mysql dbd-postgres dbi-test dbi)) */
+/* (SYSTEM dbd-sqlite3 DESCRIPTION Database driver for SQLite3. SHA256
+    1gmd5y44nidqmxw7zk0mxl4mgl3mcjf1v05gjdslp3ginzznrqzl URL
+    http://beta.quicklisp.org/archive/cl-dbi/2017-07-25/cl-dbi-20170725-git.tgz
+    MD5 a9fe67b7fea2640cea9708342a1347bd NAME dbd-sqlite3 FILENAME dbd-sqlite3
+    DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
+     (NAME bordeaux-threads FILENAME bordeaux-threads)
+     (NAME cffi FILENAME cffi) (NAME cl-annot FILENAME cl-annot)
+     (NAME cl-syntax FILENAME cl-syntax)
+     (NAME cl-syntax-annot FILENAME cl-syntax-annot)
+     (NAME closer-mop FILENAME closer-mop) (NAME dbi FILENAME dbi)
+     (NAME iterate FILENAME iterate)
+     (NAME named-readtables FILENAME named-readtables)
+     (NAME split-sequence FILENAME split-sequence)
+     (NAME sqlite FILENAME sqlite)
+     (NAME trivial-features FILENAME trivial-features)
+     (NAME trivial-types FILENAME trivial-types) (NAME uiop FILENAME uiop))
+    DEPENDENCIES
+    (alexandria babel bordeaux-threads cffi cl-annot cl-syntax cl-syntax-annot
+     closer-mop dbi iterate named-readtables split-sequence sqlite
+     trivial-features trivial-types uiop)
+    VERSION cl-dbi-20170725-git SIBLINGS
+    (cl-dbi dbd-mysql dbd-postgres dbi-test dbi) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbi.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbi.nix
new file mode 100644
index 000000000000..6e7611fd9748
--- /dev/null
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbi.nix
@@ -0,0 +1,36 @@
+args @ { fetchurl, ... }:
+rec {
+  baseName = ''dbi'';
+  version = ''cl-20170725-git'';
+
+  description = ''Database independent interface for Common Lisp'';
+
+  deps = [ args."alexandria" args."bordeaux-threads" args."cl-annot" args."cl-syntax" args."cl-syntax-annot" args."closer-mop" args."named-readtables" args."split-sequence" args."trivial-types" ];
+
+  src = fetchurl {
+    url = ''http://beta.quicklisp.org/archive/cl-dbi/2017-07-25/cl-dbi-20170725-git.tgz'';
+    sha256 = ''1gmd5y44nidqmxw7zk0mxl4mgl3mcjf1v05gjdslp3ginzznrqzl'';
+  };
+
+  packageName = "dbi";
+
+  asdFilesToKeep = ["dbi.asd"];
+  overrides = x: x;
+}
+/* (SYSTEM dbi DESCRIPTION Database independent interface for Common Lisp
+    SHA256 1gmd5y44nidqmxw7zk0mxl4mgl3mcjf1v05gjdslp3ginzznrqzl URL
+    http://beta.quicklisp.org/archive/cl-dbi/2017-07-25/cl-dbi-20170725-git.tgz
+    MD5 a9fe67b7fea2640cea9708342a1347bd NAME dbi FILENAME dbi DEPS
+    ((NAME alexandria FILENAME alexandria)
+     (NAME bordeaux-threads FILENAME bordeaux-threads)
+     (NAME cl-annot FILENAME cl-annot) (NAME cl-syntax FILENAME cl-syntax)
+     (NAME cl-syntax-annot FILENAME cl-syntax-annot)
+     (NAME closer-mop FILENAME closer-mop)
+     (NAME named-readtables FILENAME named-readtables)
+     (NAME split-sequence FILENAME split-sequence)
+     (NAME trivial-types FILENAME trivial-types))
+    DEPENDENCIES
+    (alexandria bordeaux-threads cl-annot cl-syntax cl-syntax-annot closer-mop
+     named-readtables split-sequence trivial-types)
+    VERSION cl-20170725-git SIBLINGS
+    (cl-dbi dbd-mysql dbd-postgres dbd-sqlite3 dbi-test) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/dexador.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/dexador.nix
index 1eaeddd3118a..047cd3c0ffa0 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/dexador.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/dexador.nix
@@ -5,40 +5,46 @@ rec {
 
   description = ''Yet another HTTP client for Common Lisp'';
 
-  deps = [ args."usocket" args."trivial-mimes" args."trivial-gray-streams" args."quri" args."fast-io" args."fast-http" args."cl-reexport" args."cl-ppcre" args."cl-cookie" args."cl-base64" args."cl+ssl" args."chunga" args."chipz" args."bordeaux-threads" args."babel" args."alexandria" ];
+  deps = [ args."alexandria" args."babel" args."bordeaux-threads" args."cffi" args."chipz" args."chunga" args."cl+ssl" args."cl-base64" args."cl-cookie" args."cl-fad" args."cl-ppcre" args."cl-reexport" args."cl-utilities" args."fast-http" args."fast-io" args."flexi-streams" args."local-time" args."proc-parse" args."quri" args."smart-buffer" args."split-sequence" args."static-vectors" args."trivial-features" args."trivial-garbage" args."trivial-gray-streams" args."trivial-mimes" args."usocket" args."xsubseq" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/dexador/2017-07-25/dexador-20170725-git.tgz'';
     sha256 = ''1x5jw07ydvc7rdw4jyzf3zb2dg2mspbkp9ysjaqpxlvkpdmqdmyl'';
   };
-    
+
   packageName = "dexador";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/dexador[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["dexador.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM dexador DESCRIPTION Yet another HTTP client for Common Lisp SHA256 1x5jw07ydvc7rdw4jyzf3zb2dg2mspbkp9ysjaqpxlvkpdmqdmyl URL
-    http://beta.quicklisp.org/archive/dexador/2017-07-25/dexador-20170725-git.tgz MD5 1ab5cda1ba8d5c81859349e6a5b99b29 NAME dexador TESTNAME NIL FILENAME
-    dexador DEPS
-    ((NAME usocket FILENAME usocket) (NAME trivial-mimes FILENAME trivial-mimes) (NAME trivial-gray-streams FILENAME trivial-gray-streams)
-     (NAME quri FILENAME quri) (NAME fast-io FILENAME fast-io) (NAME fast-http FILENAME fast-http) (NAME cl-reexport FILENAME cl-reexport)
-     (NAME cl-ppcre FILENAME cl-ppcre) (NAME cl-cookie FILENAME cl-cookie) (NAME cl-base64 FILENAME cl-base64) (NAME cl+ssl FILENAME cl+ssl)
-     (NAME chunga FILENAME chunga) (NAME chipz FILENAME chipz) (NAME bordeaux-threads FILENAME bordeaux-threads) (NAME babel FILENAME babel)
-     (NAME alexandria FILENAME alexandria))
+/* (SYSTEM dexador DESCRIPTION Yet another HTTP client for Common Lisp SHA256
+    1x5jw07ydvc7rdw4jyzf3zb2dg2mspbkp9ysjaqpxlvkpdmqdmyl URL
+    http://beta.quicklisp.org/archive/dexador/2017-07-25/dexador-20170725-git.tgz
+    MD5 1ab5cda1ba8d5c81859349e6a5b99b29 NAME dexador FILENAME dexador DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
+     (NAME bordeaux-threads FILENAME bordeaux-threads)
+     (NAME cffi FILENAME cffi) (NAME chipz FILENAME chipz)
+     (NAME chunga FILENAME chunga) (NAME cl+ssl FILENAME cl+ssl)
+     (NAME cl-base64 FILENAME cl-base64) (NAME cl-cookie FILENAME cl-cookie)
+     (NAME cl-fad FILENAME cl-fad) (NAME cl-ppcre FILENAME cl-ppcre)
+     (NAME cl-reexport FILENAME cl-reexport)
+     (NAME cl-utilities FILENAME cl-utilities)
+     (NAME fast-http FILENAME fast-http) (NAME fast-io FILENAME fast-io)
+     (NAME flexi-streams FILENAME flexi-streams)
+     (NAME local-time FILENAME local-time)
+     (NAME proc-parse FILENAME proc-parse) (NAME quri FILENAME quri)
+     (NAME smart-buffer FILENAME smart-buffer)
+     (NAME split-sequence FILENAME split-sequence)
+     (NAME static-vectors FILENAME static-vectors)
+     (NAME trivial-features FILENAME trivial-features)
+     (NAME trivial-garbage FILENAME trivial-garbage)
+     (NAME trivial-gray-streams FILENAME trivial-gray-streams)
+     (NAME trivial-mimes FILENAME trivial-mimes)
+     (NAME usocket FILENAME usocket) (NAME xsubseq FILENAME xsubseq))
     DEPENDENCIES
-    (usocket trivial-mimes trivial-gray-streams quri fast-io fast-http cl-reexport cl-ppcre cl-cookie cl-base64 cl+ssl chunga chipz bordeaux-threads babel
-     alexandria)
-    VERSION 20170725-git SIBLINGS (dexador-test)) */
+    (alexandria babel bordeaux-threads cffi chipz chunga cl+ssl cl-base64
+     cl-cookie cl-fad cl-ppcre cl-reexport cl-utilities fast-http fast-io
+     flexi-streams local-time proc-parse quri smart-buffer split-sequence
+     static-vectors trivial-features trivial-garbage trivial-gray-streams
+     trivial-mimes usocket xsubseq)
+    VERSION 20170725-git SIBLINGS (dexador-test) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/do-urlencode.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/do-urlencode.nix
index 993a49bc9f95..08521a07d740 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/do-urlencode.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/do-urlencode.nix
@@ -5,32 +5,27 @@ rec {
 
   description = ''Percent Encoding (aka URL Encoding) library'';
 
-  deps = [ args."babel" args."babel-streams" ];
+  deps = [ args."alexandria" args."babel" args."babel-streams" args."trivial-features" args."trivial-gray-streams" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/do-urlencode/2013-07-20/do-urlencode-20130720-git.tgz'';
     sha256 = ''19l4rwqc52w7nrpy994b3n2dcv8pjgc530yn2xmgqlqabpxpz3xa'';
   };
-    
+
   packageName = "do-urlencode";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/do-urlencode[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["do-urlencode.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM do-urlencode DESCRIPTION Percent Encoding (aka URL Encoding) library SHA256 19l4rwqc52w7nrpy994b3n2dcv8pjgc530yn2xmgqlqabpxpz3xa URL
-    http://beta.quicklisp.org/archive/do-urlencode/2013-07-20/do-urlencode-20130720-git.tgz MD5 c8085e138711c225042acf83b4bf0507 NAME do-urlencode TESTNAME NIL
-    FILENAME do-urlencode DEPS ((NAME babel FILENAME babel) (NAME babel-streams FILENAME babel-streams)) DEPENDENCIES (babel babel-streams) VERSION
-    20130720-git SIBLINGS NIL) */
+/* (SYSTEM do-urlencode DESCRIPTION Percent Encoding (aka URL Encoding) library
+    SHA256 19l4rwqc52w7nrpy994b3n2dcv8pjgc530yn2xmgqlqabpxpz3xa URL
+    http://beta.quicklisp.org/archive/do-urlencode/2013-07-20/do-urlencode-20130720-git.tgz
+    MD5 c8085e138711c225042acf83b4bf0507 NAME do-urlencode FILENAME
+    do-urlencode DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
+     (NAME babel-streams FILENAME babel-streams)
+     (NAME trivial-features FILENAME trivial-features)
+     (NAME trivial-gray-streams FILENAME trivial-gray-streams))
+    DEPENDENCIES
+    (alexandria babel babel-streams trivial-features trivial-gray-streams)
+    VERSION 20130720-git SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/documentation-utils.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/documentation-utils.nix
index 06710c9a4d18..52c95b260e64 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/documentation-utils.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/documentation-utils.nix
@@ -11,27 +11,17 @@ rec {
     url = ''http://beta.quicklisp.org/archive/documentation-utils/2017-06-30/documentation-utils-20170630-git.tgz'';
     sha256 = ''0iz3r5llv0rv8l37fdcjrx9zibbaqf9nd6xhy5n2hf024997bbks'';
   };
-    
+
   packageName = "documentation-utils";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/documentation-utils[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["documentation-utils.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM documentation-utils DESCRIPTION A few simple tools to help you with documenting your library. SHA256
+/* (SYSTEM documentation-utils DESCRIPTION
+    A few simple tools to help you with documenting your library. SHA256
     0iz3r5llv0rv8l37fdcjrx9zibbaqf9nd6xhy5n2hf024997bbks URL
-    http://beta.quicklisp.org/archive/documentation-utils/2017-06-30/documentation-utils-20170630-git.tgz MD5 7c0541d4207ba221a251c8c3ec7a8cac NAME
-    documentation-utils TESTNAME NIL FILENAME documentation-utils DEPS ((NAME trivial-indent FILENAME trivial-indent)) DEPENDENCIES (trivial-indent) VERSION
-    20170630-git SIBLINGS NIL) */
+    http://beta.quicklisp.org/archive/documentation-utils/2017-06-30/documentation-utils-20170630-git.tgz
+    MD5 7c0541d4207ba221a251c8c3ec7a8cac NAME documentation-utils FILENAME
+    documentation-utils DEPS ((NAME trivial-indent FILENAME trivial-indent))
+    DEPENDENCIES (trivial-indent) VERSION 20170630-git SIBLINGS NIL PARASITES
+    NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/drakma.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/drakma.nix
index 33d83765ed60..aac0560e6772 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/drakma.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/drakma.nix
@@ -5,33 +5,27 @@ rec {
 
   description = ''Full-featured http/https client based on usocket'';
 
-  deps = [ args."usocket" args."puri" args."flexi-streams" args."cl-ppcre" args."cl-base64" args."cl+ssl" args."chunga" args."chipz" ];
+  deps = [ args."chipz" args."chunga" args."cl+ssl" args."cl-base64" args."cl-ppcre" args."flexi-streams" args."puri" args."usocket" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/drakma/2017-06-30/drakma-v2.0.3.tgz'';
     sha256 = ''1xbbwd2gg17pq03bblj6imh7lq39z2w3yix6fm25509gyhs76ymd'';
   };
-    
+
   packageName = "drakma";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/drakma[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["drakma.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM drakma DESCRIPTION Full-featured http/https client based on usocket SHA256 1xbbwd2gg17pq03bblj6imh7lq39z2w3yix6fm25509gyhs76ymd URL
-    http://beta.quicklisp.org/archive/drakma/2017-06-30/drakma-v2.0.3.tgz MD5 3578c67b445cf982414ff78b2fb8d295 NAME drakma TESTNAME NIL FILENAME drakma DEPS
-    ((NAME usocket FILENAME usocket) (NAME puri FILENAME puri) (NAME flexi-streams FILENAME flexi-streams) (NAME cl-ppcre FILENAME cl-ppcre)
-     (NAME cl-base64 FILENAME cl-base64) (NAME cl+ssl FILENAME cl+ssl) (NAME chunga FILENAME chunga) (NAME chipz FILENAME chipz))
-    DEPENDENCIES (usocket puri flexi-streams cl-ppcre cl-base64 cl+ssl chunga chipz) VERSION v2.0.3 SIBLINGS (drakma-test)) */
+/* (SYSTEM drakma DESCRIPTION Full-featured http/https client based on usocket
+    SHA256 1xbbwd2gg17pq03bblj6imh7lq39z2w3yix6fm25509gyhs76ymd URL
+    http://beta.quicklisp.org/archive/drakma/2017-06-30/drakma-v2.0.3.tgz MD5
+    3578c67b445cf982414ff78b2fb8d295 NAME drakma FILENAME drakma DEPS
+    ((NAME chipz FILENAME chipz) (NAME chunga FILENAME chunga)
+     (NAME cl+ssl FILENAME cl+ssl) (NAME cl-base64 FILENAME cl-base64)
+     (NAME cl-ppcre FILENAME cl-ppcre)
+     (NAME flexi-streams FILENAME flexi-streams) (NAME puri FILENAME puri)
+     (NAME usocket FILENAME usocket))
+    DEPENDENCIES
+    (chipz chunga cl+ssl cl-base64 cl-ppcre flexi-streams puri usocket) VERSION
+    v2.0.3 SIBLINGS (drakma-test) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/dynamic-classes.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/dynamic-classes.nix
index 283dfe813ac7..a4a58fd0d0b6 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/dynamic-classes.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/dynamic-classes.nix
@@ -11,26 +11,16 @@ rec {
     url = ''http://beta.quicklisp.org/archive/dynamic-classes/2013-01-28/dynamic-classes-20130128-git.tgz'';
     sha256 = ''0i2b9k8f8jgn86kz503z267w0zv4gdqajzw755xwhqfaknix74sa'';
   };
-    
+
   packageName = "dynamic-classes";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/dynamic-classes[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["dynamic-classes.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM dynamic-classes DESCRIPTION NIL SHA256 0i2b9k8f8jgn86kz503z267w0zv4gdqajzw755xwhqfaknix74sa URL
-    http://beta.quicklisp.org/archive/dynamic-classes/2013-01-28/dynamic-classes-20130128-git.tgz MD5 a6ed01c4f21df2b6a142328b24ac7ba3 NAME dynamic-classes
-    TESTNAME NIL FILENAME dynamic-classes DEPS ((NAME metatilities-base FILENAME metatilities-base)) DEPENDENCIES (metatilities-base) VERSION 20130128-git
-    SIBLINGS (dynamic-classes-test)) */
+/* (SYSTEM dynamic-classes DESCRIPTION NIL SHA256
+    0i2b9k8f8jgn86kz503z267w0zv4gdqajzw755xwhqfaknix74sa URL
+    http://beta.quicklisp.org/archive/dynamic-classes/2013-01-28/dynamic-classes-20130128-git.tgz
+    MD5 a6ed01c4f21df2b6a142328b24ac7ba3 NAME dynamic-classes FILENAME
+    dynamic-classes DEPS ((NAME metatilities-base FILENAME metatilities-base))
+    DEPENDENCIES (metatilities-base) VERSION 20130128-git SIBLINGS
+    (dynamic-classes-test) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/eos.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/eos.nix
new file mode 100644
index 000000000000..1568533d92af
--- /dev/null
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/eos.nix
@@ -0,0 +1,26 @@
+args @ { fetchurl, ... }:
+rec {
+  baseName = ''eos'';
+  version = ''20150608-git'';
+
+  parasites = [ "eos-tests" ];
+
+  description = ''UNMAINTAINED fork of 5AM, a test framework'';
+
+  deps = [ ];
+
+  src = fetchurl {
+    url = ''http://beta.quicklisp.org/archive/eos/2015-06-08/eos-20150608-git.tgz'';
+    sha256 = ''0fhcvg59p13h1d5h8fnssa8hn3lh19lzysazvrbxyfizfibyydr8'';
+  };
+
+  packageName = "eos";
+
+  asdFilesToKeep = ["eos.asd"];
+  overrides = x: x;
+}
+/* (SYSTEM eos DESCRIPTION UNMAINTAINED fork of 5AM, a test framework SHA256
+    0fhcvg59p13h1d5h8fnssa8hn3lh19lzysazvrbxyfizfibyydr8 URL
+    http://beta.quicklisp.org/archive/eos/2015-06-08/eos-20150608-git.tgz MD5
+    94f6a72534171ff6adcc823c31e3d53f NAME eos FILENAME eos DEPS NIL
+    DEPENDENCIES NIL VERSION 20150608-git SIBLINGS NIL PARASITES (eos-tests)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/esrap-peg.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/esrap-peg.nix
new file mode 100644
index 000000000000..d68fd839bd16
--- /dev/null
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/esrap-peg.nix
@@ -0,0 +1,29 @@
+args @ { fetchurl, ... }:
+rec {
+  baseName = ''esrap-peg'';
+  version = ''20170403-git'';
+
+  description = ''A wrapper around Esrap to allow generating Esrap grammars from PEG definitions'';
+
+  deps = [ args."alexandria" args."cl-unification" args."esrap" args."iterate" ];
+
+  src = fetchurl {
+    url = ''http://beta.quicklisp.org/archive/esrap-peg/2017-04-03/esrap-peg-20170403-git.tgz'';
+    sha256 = ''123pl1p87f8llpzs19abn5idivl4b5mxrc9rflqirbsz3gyc8wl9'';
+  };
+
+  packageName = "esrap-peg";
+
+  asdFilesToKeep = ["esrap-peg.asd"];
+  overrides = x: x;
+}
+/* (SYSTEM esrap-peg DESCRIPTION
+    A wrapper around Esrap to allow generating Esrap grammars from PEG definitions
+    SHA256 123pl1p87f8llpzs19abn5idivl4b5mxrc9rflqirbsz3gyc8wl9 URL
+    http://beta.quicklisp.org/archive/esrap-peg/2017-04-03/esrap-peg-20170403-git.tgz
+    MD5 0d31f9c82d88ad11ee3d309128e7803c NAME esrap-peg FILENAME esrap-peg DEPS
+    ((NAME alexandria FILENAME alexandria)
+     (NAME cl-unification FILENAME cl-unification) (NAME esrap FILENAME esrap)
+     (NAME iterate FILENAME iterate))
+    DEPENDENCIES (alexandria cl-unification esrap iterate) VERSION 20170403-git
+    SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/esrap.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/esrap.nix
index 1aeded93799c..2ef373aed8af 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/esrap.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/esrap.nix
@@ -3,33 +3,27 @@ rec {
   baseName = ''esrap'';
   version = ''20170630-git'';
 
+  parasites = [ "esrap/tests" ];
+
   description = ''A Packrat / Parsing Grammar / TDPL parser for Common Lisp.'';
 
-  deps = [ args."alexandria" ];
+  deps = [ args."alexandria" args."fiveam" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/esrap/2017-06-30/esrap-20170630-git.tgz'';
     sha256 = ''172ph55kb3yr0gciybza1rbi6khlnz4vriijvcjkn6m79kdnk1xh'';
   };
-    
+
   packageName = "esrap";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/esrap[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["esrap.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM esrap DESCRIPTION A Packrat / Parsing Grammar / TDPL parser for Common Lisp. SHA256 172ph55kb3yr0gciybza1rbi6khlnz4vriijvcjkn6m79kdnk1xh URL
-    http://beta.quicklisp.org/archive/esrap/2017-06-30/esrap-20170630-git.tgz MD5 bfabfebc5f5d49106df318ae2798ac45 NAME esrap TESTNAME NIL FILENAME esrap DEPS
-    ((NAME alexandria FILENAME alexandria)) DEPENDENCIES (alexandria) VERSION 20170630-git SIBLINGS NIL) */
+/* (SYSTEM esrap DESCRIPTION
+    A Packrat / Parsing Grammar / TDPL parser for Common Lisp. SHA256
+    172ph55kb3yr0gciybza1rbi6khlnz4vriijvcjkn6m79kdnk1xh URL
+    http://beta.quicklisp.org/archive/esrap/2017-06-30/esrap-20170630-git.tgz
+    MD5 bfabfebc5f5d49106df318ae2798ac45 NAME esrap FILENAME esrap DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME fiveam FILENAME fiveam))
+    DEPENDENCIES (alexandria fiveam) VERSION 20170630-git SIBLINGS NIL
+    PARASITES (esrap/tests)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/external-program.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/external-program.nix
index 698189fc9113..cec236dc5565 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/external-program.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/external-program.nix
@@ -3,34 +3,28 @@ rec {
   baseName = ''external-program'';
   version = ''20160825-git'';
 
+  parasites = [ "external-program-test" ];
+
   description = '''';
 
-  deps = [ args."trivial-features" ];
+  deps = [ args."fiveam" args."trivial-features" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/external-program/2016-08-25/external-program-20160825-git.tgz'';
     sha256 = ''0avnnhxxa1wfri9i3m1339nszyp1w2cilycc948nf5awz4mckq13'';
   };
-    
+
   packageName = "external-program";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/external-program[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["external-program.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM external-program DESCRIPTION NIL SHA256 0avnnhxxa1wfri9i3m1339nszyp1w2cilycc948nf5awz4mckq13 URL
-    http://beta.quicklisp.org/archive/external-program/2016-08-25/external-program-20160825-git.tgz MD5 6902724c4f762a17645c46b0a1d8efde NAME external-program
-    TESTNAME NIL FILENAME external-program DEPS ((NAME trivial-features FILENAME trivial-features)) DEPENDENCIES (trivial-features) VERSION 20160825-git
-    SIBLINGS NIL) */
+/* (SYSTEM external-program DESCRIPTION NIL SHA256
+    0avnnhxxa1wfri9i3m1339nszyp1w2cilycc948nf5awz4mckq13 URL
+    http://beta.quicklisp.org/archive/external-program/2016-08-25/external-program-20160825-git.tgz
+    MD5 6902724c4f762a17645c46b0a1d8efde NAME external-program FILENAME
+    external-program DEPS
+    ((NAME fiveam FILENAME fiveam)
+     (NAME trivial-features FILENAME trivial-features))
+    DEPENDENCIES (fiveam trivial-features) VERSION 20160825-git SIBLINGS NIL
+    PARASITES (external-program-test)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/fast-http.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/fast-http.nix
index 1d518e7b3271..e890f4e81ffe 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/fast-http.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/fast-http.nix
@@ -5,34 +5,26 @@ rec {
 
   description = ''A fast HTTP protocol parser in Common Lisp'';
 
-  deps = [ args."xsubseq" args."smart-buffer" args."proc-parse" args."cl-utilities" args."babel" args."alexandria" ];
+  deps = [ args."alexandria" args."babel" args."cl-utilities" args."proc-parse" args."smart-buffer" args."xsubseq" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/fast-http/2017-06-30/fast-http-20170630-git.tgz'';
     sha256 = ''0fkqwbwqc9a783ynjbszimcrannpqq4ja6wcf8ybgizr4zvsgj29'';
   };
-    
+
   packageName = "fast-http";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/fast-http[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["fast-http.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM fast-http DESCRIPTION A fast HTTP protocol parser in Common Lisp SHA256 0fkqwbwqc9a783ynjbszimcrannpqq4ja6wcf8ybgizr4zvsgj29 URL
-    http://beta.quicklisp.org/archive/fast-http/2017-06-30/fast-http-20170630-git.tgz MD5 d117d59c1f71965e0c32b19e6790cf9a NAME fast-http TESTNAME NIL FILENAME
-    fast-http DEPS
-    ((NAME xsubseq FILENAME xsubseq) (NAME smart-buffer FILENAME smart-buffer) (NAME proc-parse FILENAME proc-parse) (NAME cl-utilities FILENAME cl-utilities)
-     (NAME babel FILENAME babel) (NAME alexandria FILENAME alexandria))
-    DEPENDENCIES (xsubseq smart-buffer proc-parse cl-utilities babel alexandria) VERSION 20170630-git SIBLINGS (fast-http-test)) */
+/* (SYSTEM fast-http DESCRIPTION A fast HTTP protocol parser in Common Lisp
+    SHA256 0fkqwbwqc9a783ynjbszimcrannpqq4ja6wcf8ybgizr4zvsgj29 URL
+    http://beta.quicklisp.org/archive/fast-http/2017-06-30/fast-http-20170630-git.tgz
+    MD5 d117d59c1f71965e0c32b19e6790cf9a NAME fast-http FILENAME fast-http DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
+     (NAME cl-utilities FILENAME cl-utilities)
+     (NAME proc-parse FILENAME proc-parse)
+     (NAME smart-buffer FILENAME smart-buffer) (NAME xsubseq FILENAME xsubseq))
+    DEPENDENCIES
+    (alexandria babel cl-utilities proc-parse smart-buffer xsubseq) VERSION
+    20170630-git SIBLINGS (fast-http-test) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/fast-io.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/fast-io.nix
index 566b3d7bdc3e..8b9d5e5408b8 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/fast-io.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/fast-io.nix
@@ -5,33 +5,24 @@ rec {
 
   description = ''Alternative I/O mechanism to a stream or vector'';
 
-  deps = [ args."trivial-gray-streams" args."static-vectors" args."alexandria" ];
+  deps = [ args."alexandria" args."static-vectors" args."trivial-gray-streams" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/fast-io/2017-06-30/fast-io-20170630-git.tgz'';
     sha256 = ''0wg40jv6hn4ijks026d2aaz5pr3zfxxzaakyzzjka6981g9rgkrg'';
   };
-    
+
   packageName = "fast-io";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/fast-io[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["fast-io.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM fast-io DESCRIPTION Alternative I/O mechanism to a stream or vector SHA256 0wg40jv6hn4ijks026d2aaz5pr3zfxxzaakyzzjka6981g9rgkrg URL
-    http://beta.quicklisp.org/archive/fast-io/2017-06-30/fast-io-20170630-git.tgz MD5 34bfe5f306f2e0f6da128fe024ee242d NAME fast-io TESTNAME NIL FILENAME
-    fast-io DEPS
-    ((NAME trivial-gray-streams FILENAME trivial-gray-streams) (NAME static-vectors FILENAME static-vectors) (NAME alexandria FILENAME alexandria))
-    DEPENDENCIES (trivial-gray-streams static-vectors alexandria) VERSION 20170630-git SIBLINGS (fast-io-test)) */
+/* (SYSTEM fast-io DESCRIPTION Alternative I/O mechanism to a stream or vector
+    SHA256 0wg40jv6hn4ijks026d2aaz5pr3zfxxzaakyzzjka6981g9rgkrg URL
+    http://beta.quicklisp.org/archive/fast-io/2017-06-30/fast-io-20170630-git.tgz
+    MD5 34bfe5f306f2e0f6da128fe024ee242d NAME fast-io FILENAME fast-io DEPS
+    ((NAME alexandria FILENAME alexandria)
+     (NAME static-vectors FILENAME static-vectors)
+     (NAME trivial-gray-streams FILENAME trivial-gray-streams))
+    DEPENDENCIES (alexandria static-vectors trivial-gray-streams) VERSION
+    20170630-git SIBLINGS (fast-io-test) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/fiveam.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/fiveam.nix
index 7f04b5eb8936..364d62266042 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/fiveam.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/fiveam.nix
@@ -3,6 +3,8 @@ rec {
   baseName = ''fiveam'';
   version = ''v1.3'';
 
+  parasites = [ "fiveam/test" ];
+
   description = ''A simple regression testing framework'';
 
   deps = [ args."alexandria" args."net_dot_didierverna_dot_asdf-flv" args."trivial-backtrace" ];
@@ -11,27 +13,18 @@ rec {
     url = ''http://beta.quicklisp.org/archive/fiveam/2016-08-25/fiveam-v1.3.tgz'';
     sha256 = ''0cdjl3lg1xib5mc3rnw80n58zxmf3hz1xa567lq4jvh8kzxl30q2'';
   };
-    
+
   packageName = "fiveam";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/fiveam[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["fiveam.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM fiveam DESCRIPTION A simple regression testing framework SHA256 0cdjl3lg1xib5mc3rnw80n58zxmf3hz1xa567lq4jvh8kzxl30q2 URL
-    http://beta.quicklisp.org/archive/fiveam/2016-08-25/fiveam-v1.3.tgz MD5 bd03a588915f834031eeae9139c51aa4 NAME fiveam TESTNAME NIL FILENAME fiveam DEPS
-    ((NAME alexandria FILENAME alexandria) (NAME net.didierverna.asdf-flv FILENAME net_dot_didierverna_dot_asdf-flv)
+/* (SYSTEM fiveam DESCRIPTION A simple regression testing framework SHA256
+    0cdjl3lg1xib5mc3rnw80n58zxmf3hz1xa567lq4jvh8kzxl30q2 URL
+    http://beta.quicklisp.org/archive/fiveam/2016-08-25/fiveam-v1.3.tgz MD5
+    bd03a588915f834031eeae9139c51aa4 NAME fiveam FILENAME fiveam DEPS
+    ((NAME alexandria FILENAME alexandria)
+     (NAME net.didierverna.asdf-flv FILENAME net_dot_didierverna_dot_asdf-flv)
      (NAME trivial-backtrace FILENAME trivial-backtrace))
-    DEPENDENCIES (alexandria net.didierverna.asdf-flv trivial-backtrace) VERSION v1.3 SIBLINGS NIL) */
+    DEPENDENCIES (alexandria net.didierverna.asdf-flv trivial-backtrace)
+    VERSION v1.3 SIBLINGS NIL PARASITES (fiveam/test)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/flexi-streams.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/flexi-streams.nix
index 1bb2b6b9c188..69aeecd8aa27 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/flexi-streams.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/flexi-streams.nix
@@ -3,6 +3,8 @@ rec {
   baseName = ''flexi-streams'';
   version = ''1.0.15'';
 
+  parasites = [ "flexi-streams-test" ];
+
   description = ''Flexible bivalent streams for Common Lisp'';
 
   deps = [ args."trivial-gray-streams" ];
@@ -11,25 +13,17 @@ rec {
     url = ''http://beta.quicklisp.org/archive/flexi-streams/2015-07-09/flexi-streams-1.0.15.tgz'';
     sha256 = ''0zkx335winqs7xigbmxhhkhcsfa9hjhf1q6r4q710y29fbhpc37p'';
   };
-    
+
   packageName = "flexi-streams";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/flexi-streams[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["flexi-streams.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM flexi-streams DESCRIPTION Flexible bivalent streams for Common Lisp SHA256 0zkx335winqs7xigbmxhhkhcsfa9hjhf1q6r4q710y29fbhpc37p URL
-    http://beta.quicklisp.org/archive/flexi-streams/2015-07-09/flexi-streams-1.0.15.tgz MD5 02dbb5a0c5f982e0c7a88aad9a25004e NAME flexi-streams TESTNAME NIL
-    FILENAME flexi-streams DEPS ((NAME trivial-gray-streams FILENAME trivial-gray-streams)) DEPENDENCIES (trivial-gray-streams) VERSION 1.0.15 SIBLINGS NIL) */
+/* (SYSTEM flexi-streams DESCRIPTION Flexible bivalent streams for Common Lisp
+    SHA256 0zkx335winqs7xigbmxhhkhcsfa9hjhf1q6r4q710y29fbhpc37p URL
+    http://beta.quicklisp.org/archive/flexi-streams/2015-07-09/flexi-streams-1.0.15.tgz
+    MD5 02dbb5a0c5f982e0c7a88aad9a25004e NAME flexi-streams FILENAME
+    flexi-streams DEPS
+    ((NAME trivial-gray-streams FILENAME trivial-gray-streams)) DEPENDENCIES
+    (trivial-gray-streams) VERSION 1.0.15 SIBLINGS NIL PARASITES
+    (flexi-streams-test)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/form-fiddle.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/form-fiddle.nix
index f2d5c3a64baa..4847ee328d0e 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/form-fiddle.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/form-fiddle.nix
@@ -11,25 +11,16 @@ rec {
     url = ''http://beta.quicklisp.org/archive/form-fiddle/2017-06-30/form-fiddle-20170630-git.tgz'';
     sha256 = ''0w4isi9y2h6vswq418hj50223aac89iadl71y86wxdlznm3kdvjf'';
   };
-    
+
   packageName = "form-fiddle";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/form-fiddle[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["form-fiddle.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM form-fiddle DESCRIPTION A collection of utilities to destructure lambda forms. SHA256 0w4isi9y2h6vswq418hj50223aac89iadl71y86wxdlznm3kdvjf URL
-    http://beta.quicklisp.org/archive/form-fiddle/2017-06-30/form-fiddle-20170630-git.tgz MD5 9c8eb18dfedebcf43718cc259c910aa1 NAME form-fiddle TESTNAME NIL
-    FILENAME form-fiddle DEPS ((NAME documentation-utils FILENAME documentation-utils)) DEPENDENCIES (documentation-utils) VERSION 20170630-git SIBLINGS NIL) */
+/* (SYSTEM form-fiddle DESCRIPTION
+    A collection of utilities to destructure lambda forms. SHA256
+    0w4isi9y2h6vswq418hj50223aac89iadl71y86wxdlznm3kdvjf URL
+    http://beta.quicklisp.org/archive/form-fiddle/2017-06-30/form-fiddle-20170630-git.tgz
+    MD5 9c8eb18dfedebcf43718cc259c910aa1 NAME form-fiddle FILENAME form-fiddle
+    DEPS ((NAME documentation-utils FILENAME documentation-utils)) DEPENDENCIES
+    (documentation-utils) VERSION 20170630-git SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/fset.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/fset.nix
index c3900b7cd26a..7b0ea1ff2ada 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/fset.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/fset.nix
@@ -13,28 +13,19 @@ See: http://www.ergy.com/FSet.html
     url = ''http://beta.quicklisp.org/archive/fset/2015-01-13/fset-20150113-git.tgz'';
     sha256 = ''1k9c48jahw8i4zhx6dc96n0jzxjy2ascr2wng9hmm8vjhhqs5sl0'';
   };
-    
+
   packageName = "fset";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/fset[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["fset.asd"];
+  overrides = x: x;
 }
 /* (SYSTEM fset DESCRIPTION A functional set-theoretic collections library.
 See: http://www.ergy.com/FSet.html
 
-    SHA256 1k9c48jahw8i4zhx6dc96n0jzxjy2ascr2wng9hmm8vjhhqs5sl0 URL http://beta.quicklisp.org/archive/fset/2015-01-13/fset-20150113-git.tgz MD5
-    89f958cc900e712aed0750b336efbe15 NAME fset TESTNAME NIL FILENAME fset DEPS
-    ((NAME misc-extensions FILENAME misc-extensions) (NAME mt19937 FILENAME mt19937)) DEPENDENCIES (misc-extensions mt19937) VERSION 20150113-git SIBLINGS NIL) */
+    SHA256 1k9c48jahw8i4zhx6dc96n0jzxjy2ascr2wng9hmm8vjhhqs5sl0 URL
+    http://beta.quicklisp.org/archive/fset/2015-01-13/fset-20150113-git.tgz MD5
+    89f958cc900e712aed0750b336efbe15 NAME fset FILENAME fset DEPS
+    ((NAME misc-extensions FILENAME misc-extensions)
+     (NAME mt19937 FILENAME mt19937))
+    DEPENDENCIES (misc-extensions mt19937) VERSION 20150113-git SIBLINGS NIL
+    PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/garbage-pools.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/garbage-pools.nix
index 72403e8598a9..11d5ac4491eb 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/garbage-pools.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/garbage-pools.nix
@@ -11,25 +11,15 @@ rec {
     url = ''http://beta.quicklisp.org/archive/garbage-pools/2013-07-20/garbage-pools-20130720-git.tgz'';
     sha256 = ''1idnba1pxayn0k5yzqp9lswg7ywjhavi59lrdnphfqajjpyi9w05'';
   };
-    
+
   packageName = "garbage-pools";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/garbage-pools[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["garbage-pools.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM garbage-pools DESCRIPTION NIL SHA256 1idnba1pxayn0k5yzqp9lswg7ywjhavi59lrdnphfqajjpyi9w05 URL
-    http://beta.quicklisp.org/archive/garbage-pools/2013-07-20/garbage-pools-20130720-git.tgz MD5 f691e2ddf6ba22b3451c24b61d4ee8b6 NAME garbage-pools TESTNAME
-    NIL FILENAME garbage-pools DEPS NIL DEPENDENCIES NIL VERSION 20130720-git SIBLINGS (garbage-pools-test)) */
+/* (SYSTEM garbage-pools DESCRIPTION NIL SHA256
+    1idnba1pxayn0k5yzqp9lswg7ywjhavi59lrdnphfqajjpyi9w05 URL
+    http://beta.quicklisp.org/archive/garbage-pools/2013-07-20/garbage-pools-20130720-git.tgz
+    MD5 f691e2ddf6ba22b3451c24b61d4ee8b6 NAME garbage-pools FILENAME
+    garbage-pools DEPS NIL DEPENDENCIES NIL VERSION 20130720-git SIBLINGS
+    (garbage-pools-test) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/http-body.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/http-body.nix
index e6510c59c30d..04e53bd3fc19 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/http-body.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/http-body.nix
@@ -5,35 +5,35 @@ rec {
 
   description = ''HTTP POST data parser for Common Lisp'';
 
-  deps = [ args."trivial-gray-streams" args."quri" args."jonathan" args."flexi-streams" args."fast-http" args."cl-utilities" args."cl-ppcre" args."babel" ];
+  deps = [ args."alexandria" args."babel" args."cl-annot" args."cl-ppcre" args."cl-syntax" args."cl-utilities" args."fast-http" args."fast-io" args."flexi-streams" args."jonathan" args."proc-parse" args."quri" args."smart-buffer" args."split-sequence" args."trivial-gray-streams" args."xsubseq" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/http-body/2016-12-04/http-body-20161204-git.tgz'';
     sha256 = ''1y50yipsbl4j99igmfi83pr7p56hb31dcplpy05fp5alkb5rv0gi'';
   };
-    
+
   packageName = "http-body";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/http-body[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["http-body.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM http-body DESCRIPTION HTTP POST data parser for Common Lisp SHA256 1y50yipsbl4j99igmfi83pr7p56hb31dcplpy05fp5alkb5rv0gi URL
-    http://beta.quicklisp.org/archive/http-body/2016-12-04/http-body-20161204-git.tgz MD5 6eda50cf89aa3b6a8e9ccaf324734a0e NAME http-body TESTNAME NIL FILENAME
-    http-body DEPS
-    ((NAME trivial-gray-streams FILENAME trivial-gray-streams) (NAME quri FILENAME quri) (NAME jonathan FILENAME jonathan)
-     (NAME flexi-streams FILENAME flexi-streams) (NAME fast-http FILENAME fast-http) (NAME cl-utilities FILENAME cl-utilities)
-     (NAME cl-ppcre FILENAME cl-ppcre) (NAME babel FILENAME babel))
-    DEPENDENCIES (trivial-gray-streams quri jonathan flexi-streams fast-http cl-utilities cl-ppcre babel) VERSION 20161204-git SIBLINGS (http-body-test)) */
+/* (SYSTEM http-body DESCRIPTION HTTP POST data parser for Common Lisp SHA256
+    1y50yipsbl4j99igmfi83pr7p56hb31dcplpy05fp5alkb5rv0gi URL
+    http://beta.quicklisp.org/archive/http-body/2016-12-04/http-body-20161204-git.tgz
+    MD5 6eda50cf89aa3b6a8e9ccaf324734a0e NAME http-body FILENAME http-body DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
+     (NAME cl-annot FILENAME cl-annot) (NAME cl-ppcre FILENAME cl-ppcre)
+     (NAME cl-syntax FILENAME cl-syntax)
+     (NAME cl-utilities FILENAME cl-utilities)
+     (NAME fast-http FILENAME fast-http) (NAME fast-io FILENAME fast-io)
+     (NAME flexi-streams FILENAME flexi-streams)
+     (NAME jonathan FILENAME jonathan) (NAME proc-parse FILENAME proc-parse)
+     (NAME quri FILENAME quri) (NAME smart-buffer FILENAME smart-buffer)
+     (NAME split-sequence FILENAME split-sequence)
+     (NAME trivial-gray-streams FILENAME trivial-gray-streams)
+     (NAME xsubseq FILENAME xsubseq))
+    DEPENDENCIES
+    (alexandria babel cl-annot cl-ppcre cl-syntax cl-utilities fast-http
+     fast-io flexi-streams jonathan proc-parse quri smart-buffer split-sequence
+     trivial-gray-streams xsubseq)
+    VERSION 20161204-git SIBLINGS (http-body-test) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/hu_dot_dwim_dot_asdf.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/hu_dot_dwim_dot_asdf.nix
index b0c127e97e62..a3d8f6133a00 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/hu_dot_dwim_dot_asdf.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/hu_dot_dwim_dot_asdf.nix
@@ -11,26 +11,16 @@ rec {
     url = ''http://beta.quicklisp.org/archive/hu.dwim.asdf/2017-06-30/hu.dwim.asdf-20170630-darcs.tgz'';
     sha256 = ''151l4s0cd6jxhz1q635zhyq48b1sz9ns88agj92r0f2q8igdx0fb'';
   };
-    
+
   packageName = "hu.dwim.asdf";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/hu.dwim.asdf[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["hu.dwim.asdf.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM hu.dwim.asdf DESCRIPTION Various ASDF extensions such as attached test and documentation system, explicit development support, etc. SHA256
-    151l4s0cd6jxhz1q635zhyq48b1sz9ns88agj92r0f2q8igdx0fb URL http://beta.quicklisp.org/archive/hu.dwim.asdf/2017-06-30/hu.dwim.asdf-20170630-darcs.tgz MD5
-    b086cb36b6a88641497b20c39937c9d4 NAME hu.dwim.asdf TESTNAME NIL FILENAME hu_dot_dwim_dot_asdf DEPS ((NAME uiop FILENAME uiop)) DEPENDENCIES (uiop) VERSION
-    20170630-darcs SIBLINGS (hu.dwim.asdf.documentation)) */
+/* (SYSTEM hu.dwim.asdf DESCRIPTION
+    Various ASDF extensions such as attached test and documentation system, explicit development support, etc.
+    SHA256 151l4s0cd6jxhz1q635zhyq48b1sz9ns88agj92r0f2q8igdx0fb URL
+    http://beta.quicklisp.org/archive/hu.dwim.asdf/2017-06-30/hu.dwim.asdf-20170630-darcs.tgz
+    MD5 b086cb36b6a88641497b20c39937c9d4 NAME hu.dwim.asdf FILENAME
+    hu_dot_dwim_dot_asdf DEPS ((NAME uiop FILENAME uiop)) DEPENDENCIES (uiop)
+    VERSION 20170630-darcs SIBLINGS (hu.dwim.asdf.documentation) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/hu_dot_dwim_dot_def.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/hu_dot_dwim_dot_def.nix
deleted file mode 100644
index 2dc7c45b39c6..000000000000
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/hu_dot_dwim_dot_def.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-args @ { fetchurl, ... }:
-rec {
-  baseName = ''hu_dot_dwim_dot_def'';
-  version = ''20170630-darcs'';
-
-  description = ''General purpose, homogenous, extensible definer macro.'';
-
-  deps = [ args."metabang-bind" args."iterate" args."anaphora" args."alexandria" ];
-
-  src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/hu.dwim.def/2017-06-30/hu.dwim.def-20170630-darcs.tgz'';
-    sha256 = ''0flqwj4lxwsl8yknhzzpa1jqr2iza3gnz3vxk645j4z81ynx1cjf'';
-  };
-    
-  packageName = "hu.dwim.def";
-
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/hu.dwim.def[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
-}
-/* (SYSTEM hu.dwim.def DESCRIPTION General purpose, homogenous, extensible definer macro. SHA256 0flqwj4lxwsl8yknhzzpa1jqr2iza3gnz3vxk645j4z81ynx1cjf URL
-    http://beta.quicklisp.org/archive/hu.dwim.def/2017-06-30/hu.dwim.def-20170630-darcs.tgz MD5 def7e4172cbf5ec86a5d51f644d71f81 NAME hu.dwim.def TESTNAME NIL
-    FILENAME hu_dot_dwim_dot_def DEPS
-    ((NAME metabang-bind FILENAME metabang-bind) (NAME iterate FILENAME iterate) (NAME anaphora FILENAME anaphora) (NAME alexandria FILENAME alexandria))
-    DEPENDENCIES (metabang-bind iterate anaphora alexandria) VERSION 20170630-darcs SIBLINGS
-    (hu.dwim.def+cl-l10n hu.dwim.def+contextl hu.dwim.def+hu.dwim.common hu.dwim.def+hu.dwim.delico hu.dwim.def+swank hu.dwim.def.documentation
-     hu.dwim.def.namespace hu.dwim.def.test)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/hu_dot_dwim_dot_stefil.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/hu_dot_dwim_dot_stefil.nix
new file mode 100644
index 000000000000..51f4a2d06980
--- /dev/null
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/hu_dot_dwim_dot_stefil.nix
@@ -0,0 +1,32 @@
+args @ { fetchurl, ... }:
+rec {
+  baseName = ''hu_dot_dwim_dot_stefil'';
+  version = ''20170403-darcs'';
+
+  parasites = [ "hu.dwim.stefil/test" ];
+
+  description = ''A Simple Test Framework In Lisp.'';
+
+  deps = [ args."alexandria" args."hu_dot_dwim_dot_asdf" ];
+
+  src = fetchurl {
+    url = ''http://beta.quicklisp.org/archive/hu.dwim.stefil/2017-04-03/hu.dwim.stefil-20170403-darcs.tgz'';
+    sha256 = ''1irrsb0xfc5bx49aqs4ak0xzpjbjhxi9igx5x392gb5pzsak2r9n'';
+  };
+
+  packageName = "hu.dwim.stefil";
+
+  asdFilesToKeep = ["hu.dwim.stefil.asd"];
+  overrides = x: x;
+}
+/* (SYSTEM hu.dwim.stefil DESCRIPTION A Simple Test Framework In Lisp. SHA256
+    1irrsb0xfc5bx49aqs4ak0xzpjbjhxi9igx5x392gb5pzsak2r9n URL
+    http://beta.quicklisp.org/archive/hu.dwim.stefil/2017-04-03/hu.dwim.stefil-20170403-darcs.tgz
+    MD5 ea8be76a360b1df297a8bbd50be0d8a1 NAME hu.dwim.stefil FILENAME
+    hu_dot_dwim_dot_stefil DEPS
+    ((NAME alexandria FILENAME alexandria)
+     (NAME hu.dwim.asdf FILENAME hu_dot_dwim_dot_asdf))
+    DEPENDENCIES (alexandria hu.dwim.asdf) VERSION 20170403-darcs SIBLINGS
+    (hu.dwim.stefil+hu.dwim.def+swank hu.dwim.stefil+hu.dwim.def
+     hu.dwim.stefil+swank)
+    PARASITES (hu.dwim.stefil/test)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/hunchentoot.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/hunchentoot.nix
index 320dcfb7a037..5ce8459d9e2c 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/hunchentoot.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/hunchentoot.nix
@@ -3,43 +3,51 @@ rec {
   baseName = ''hunchentoot'';
   version = ''v1.2.37'';
 
+  parasites = [ "hunchentoot-dev" "hunchentoot-test" ];
+
   description = ''Hunchentoot is a HTTP server based on USOCKET and
   BORDEAUX-THREADS.  It supports HTTP 1.1, serves static files, has a
   simple framework for user-defined handlers and can be extended
   through subclassing.'';
 
-  deps = [ args."bordeaux-threads" args."chunga" args."cl+ssl" args."cl-base64" args."cl-fad" args."cl-ppcre" args."flexi-streams" args."md5" args."rfc2388" args."trivial-backtrace" args."usocket" ];
+  deps = [ args."alexandria" args."babel" args."bordeaux-threads" args."cffi" args."chunga" args."cl+ssl" args."cl-base64" args."cl-fad" args."cl-ppcre" args."cl-who" args."cxml-stp" args."drakma" args."flexi-streams" args."md5" args."rfc2388" args."split-sequence" args."swank" args."trivial-backtrace" args."trivial-features" args."trivial-garbage" args."trivial-gray-streams" args."usocket" args."xpath" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/hunchentoot/2017-07-25/hunchentoot-v1.2.37.tgz'';
     sha256 = ''1r0p8qasd2zy9a8l58jysz5bb1gj79cz2ikr93in0my8q44pg9lc'';
   };
-    
+
   packageName = "hunchentoot";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/hunchentoot[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["hunchentoot.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM hunchentoot DESCRIPTION Hunchentoot is a HTTP server based on USOCKET and
+/* (SYSTEM hunchentoot DESCRIPTION
+    Hunchentoot is a HTTP server based on USOCKET and
   BORDEAUX-THREADS.  It supports HTTP 1.1, serves static files, has a
   simple framework for user-defined handlers and can be extended
   through subclassing.
-    SHA256 1r0p8qasd2zy9a8l58jysz5bb1gj79cz2ikr93in0my8q44pg9lc URL http://beta.quicklisp.org/archive/hunchentoot/2017-07-25/hunchentoot-v1.2.37.tgz MD5
-    3fd6a6c4dd0d32db7b71828b52494325 NAME hunchentoot TESTNAME NIL FILENAME hunchentoot DEPS
-    ((NAME bordeaux-threads FILENAME bordeaux-threads) (NAME chunga FILENAME chunga) (NAME cl+ssl FILENAME cl+ssl) (NAME cl-base64 FILENAME cl-base64)
-     (NAME cl-fad FILENAME cl-fad) (NAME cl-ppcre FILENAME cl-ppcre) (NAME flexi-streams FILENAME flexi-streams) (NAME md5 FILENAME md5)
-     (NAME rfc2388 FILENAME rfc2388) (NAME trivial-backtrace FILENAME trivial-backtrace) (NAME usocket FILENAME usocket))
-    DEPENDENCIES (bordeaux-threads chunga cl+ssl cl-base64 cl-fad cl-ppcre flexi-streams md5 rfc2388 trivial-backtrace usocket) VERSION v1.2.37 SIBLINGS NIL) */
+    SHA256 1r0p8qasd2zy9a8l58jysz5bb1gj79cz2ikr93in0my8q44pg9lc URL
+    http://beta.quicklisp.org/archive/hunchentoot/2017-07-25/hunchentoot-v1.2.37.tgz
+    MD5 3fd6a6c4dd0d32db7b71828b52494325 NAME hunchentoot FILENAME hunchentoot
+    DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
+     (NAME bordeaux-threads FILENAME bordeaux-threads)
+     (NAME cffi FILENAME cffi) (NAME chunga FILENAME chunga)
+     (NAME cl+ssl FILENAME cl+ssl) (NAME cl-base64 FILENAME cl-base64)
+     (NAME cl-fad FILENAME cl-fad) (NAME cl-ppcre FILENAME cl-ppcre)
+     (NAME cl-who FILENAME cl-who) (NAME cxml-stp FILENAME cxml-stp)
+     (NAME drakma FILENAME drakma) (NAME flexi-streams FILENAME flexi-streams)
+     (NAME md5 FILENAME md5) (NAME rfc2388 FILENAME rfc2388)
+     (NAME split-sequence FILENAME split-sequence) (NAME swank FILENAME swank)
+     (NAME trivial-backtrace FILENAME trivial-backtrace)
+     (NAME trivial-features FILENAME trivial-features)
+     (NAME trivial-garbage FILENAME trivial-garbage)
+     (NAME trivial-gray-streams FILENAME trivial-gray-streams)
+     (NAME usocket FILENAME usocket) (NAME xpath FILENAME xpath))
+    DEPENDENCIES
+    (alexandria babel bordeaux-threads cffi chunga cl+ssl cl-base64 cl-fad
+     cl-ppcre cl-who cxml-stp drakma flexi-streams md5 rfc2388 split-sequence
+     swank trivial-backtrace trivial-features trivial-garbage
+     trivial-gray-streams usocket xpath)
+    VERSION v1.2.37 SIBLINGS NIL PARASITES (hunchentoot-dev hunchentoot-test)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/idna.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/idna.nix
index d849cf15272a..1b948bcf325e 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/idna.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/idna.nix
@@ -11,25 +11,16 @@ rec {
     url = ''http://beta.quicklisp.org/archive/idna/2012-01-07/idna-20120107-git.tgz'';
     sha256 = ''0q9hja9v5q7z89p0bzm2whchn05hymn3255fr5zj3fkja8akma5c'';
   };
-    
+
   packageName = "idna";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/idna[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["idna.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM idna DESCRIPTION IDNA (international domain names) string encoding and decoding routines SHA256 0q9hja9v5q7z89p0bzm2whchn05hymn3255fr5zj3fkja8akma5c
-    URL http://beta.quicklisp.org/archive/idna/2012-01-07/idna-20120107-git.tgz MD5 85b91a66efe4381bf116cdb5d2b756b6 NAME idna TESTNAME NIL FILENAME idna DEPS
-    ((NAME split-sequence FILENAME split-sequence)) DEPENDENCIES (split-sequence) VERSION 20120107-git SIBLINGS NIL) */
+/* (SYSTEM idna DESCRIPTION
+    IDNA (international domain names) string encoding and decoding routines
+    SHA256 0q9hja9v5q7z89p0bzm2whchn05hymn3255fr5zj3fkja8akma5c URL
+    http://beta.quicklisp.org/archive/idna/2012-01-07/idna-20120107-git.tgz MD5
+    85b91a66efe4381bf116cdb5d2b756b6 NAME idna FILENAME idna DEPS
+    ((NAME split-sequence FILENAME split-sequence)) DEPENDENCIES
+    (split-sequence) VERSION 20120107-git SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/ieee-floats.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/ieee-floats.nix
index fb106aa54c5d..3bb44ea2fc6a 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/ieee-floats.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/ieee-floats.nix
@@ -3,33 +3,25 @@ rec {
   baseName = ''ieee-floats'';
   version = ''20160318-git'';
 
+  parasites = [ "ieee-floats-tests" ];
+
   description = '''';
 
-  deps = [ ];
+  deps = [ args."eos" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/ieee-floats/2016-03-18/ieee-floats-20160318-git.tgz'';
     sha256 = ''0vw4q6q5yygfxfwx5bki4kl9lqszmhnplcl55qh8raxmb03alyx4'';
   };
-    
+
   packageName = "ieee-floats";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/ieee-floats[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["ieee-floats.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM ieee-floats DESCRIPTION NIL SHA256 0vw4q6q5yygfxfwx5bki4kl9lqszmhnplcl55qh8raxmb03alyx4 URL
-    http://beta.quicklisp.org/archive/ieee-floats/2016-03-18/ieee-floats-20160318-git.tgz MD5 84d679a4dffddc3b0cff944adde623c5 NAME ieee-floats TESTNAME NIL
-    FILENAME ieee-floats DEPS NIL DEPENDENCIES NIL VERSION 20160318-git SIBLINGS NIL) */
+/* (SYSTEM ieee-floats DESCRIPTION NIL SHA256
+    0vw4q6q5yygfxfwx5bki4kl9lqszmhnplcl55qh8raxmb03alyx4 URL
+    http://beta.quicklisp.org/archive/ieee-floats/2016-03-18/ieee-floats-20160318-git.tgz
+    MD5 84d679a4dffddc3b0cff944adde623c5 NAME ieee-floats FILENAME ieee-floats
+    DEPS ((NAME eos FILENAME eos)) DEPENDENCIES (eos) VERSION 20160318-git
+    SIBLINGS NIL PARASITES (ieee-floats-tests)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib.nix
index ba7ed0ab7d72..ce3508da8165 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib.nix
@@ -3,35 +3,42 @@ rec {
   baseName = ''iolib'';
   version = ''v0.8.3'';
 
+  parasites = [ "iolib/multiplex" "iolib/os" "iolib/pathnames" "iolib/sockets" "iolib/streams" "iolib/syscalls" "iolib/trivial-sockets" "iolib/zstreams" ];
+
   description = ''I/O library.'';
 
-  deps = [ args."iolib_slash_streams" args."iolib_slash_sockets" args."iolib_slash_multiplex" ];
+  deps = [ args."alexandria" args."babel" args."bordeaux-threads" args."cffi" args."idna" args."iolib_dot_asdf" args."iolib_dot_base" args."iolib_dot_conf" args."iolib_dot_grovel" args."split-sequence" args."swap-bytes" args."trivial-features" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/iolib/2017-06-30/iolib-v0.8.3.tgz'';
     sha256 = ''12gsvsjyxmclwidcjvyrfvd0773ib54a3qzmf33hmgc9knxlli7c'';
   };
-    
+
   packageName = "iolib";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/iolib[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["iolib.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM iolib DESCRIPTION I/O library. SHA256 12gsvsjyxmclwidcjvyrfvd0773ib54a3qzmf33hmgc9knxlli7c URL
-    http://beta.quicklisp.org/archive/iolib/2017-06-30/iolib-v0.8.3.tgz MD5 fc28d4cad6f8e43972df3baa6a8ac45c NAME iolib TESTNAME NIL FILENAME iolib DEPS
-    ((NAME iolib/streams FILENAME iolib_slash_streams) (NAME iolib/sockets FILENAME iolib_slash_sockets) (NAME iolib/multiplex FILENAME iolib_slash_multiplex))
-    DEPENDENCIES (iolib/streams iolib/sockets iolib/multiplex) VERSION v0.8.3 SIBLINGS
-    (iolib.asdf iolib.base iolib.common-lisp iolib.conf iolib.examples iolib.grovel iolib.tests)) */
+/* (SYSTEM iolib DESCRIPTION I/O library. SHA256
+    12gsvsjyxmclwidcjvyrfvd0773ib54a3qzmf33hmgc9knxlli7c URL
+    http://beta.quicklisp.org/archive/iolib/2017-06-30/iolib-v0.8.3.tgz MD5
+    fc28d4cad6f8e43972df3baa6a8ac45c NAME iolib FILENAME iolib DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
+     (NAME bordeaux-threads FILENAME bordeaux-threads)
+     (NAME cffi FILENAME cffi) (NAME idna FILENAME idna)
+     (NAME iolib.asdf FILENAME iolib_dot_asdf)
+     (NAME iolib.base FILENAME iolib_dot_base)
+     (NAME iolib.conf FILENAME iolib_dot_conf)
+     (NAME iolib.grovel FILENAME iolib_dot_grovel)
+     (NAME split-sequence FILENAME split-sequence)
+     (NAME swap-bytes FILENAME swap-bytes)
+     (NAME trivial-features FILENAME trivial-features))
+    DEPENDENCIES
+    (alexandria babel bordeaux-threads cffi idna iolib.asdf iolib.base
+     iolib.conf iolib.grovel split-sequence swap-bytes trivial-features)
+    VERSION v0.8.3 SIBLINGS
+    (iolib.asdf iolib.base iolib.common-lisp iolib.conf iolib.examples
+     iolib.grovel iolib.tests)
+    PARASITES
+    (iolib/multiplex iolib/os iolib/pathnames iolib/sockets iolib/streams
+     iolib/syscalls iolib/trivial-sockets iolib/zstreams)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_dot_asdf.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_dot_asdf.nix
new file mode 100644
index 000000000000..f566d159e0f5
--- /dev/null
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_dot_asdf.nix
@@ -0,0 +1,28 @@
+args @ { fetchurl, ... }:
+rec {
+  baseName = ''iolib_dot_asdf'';
+  version = ''iolib-v0.8.3'';
+
+  description = ''A few ASDF component classes.'';
+
+  deps = [ args."alexandria" ];
+
+  src = fetchurl {
+    url = ''http://beta.quicklisp.org/archive/iolib/2017-06-30/iolib-v0.8.3.tgz'';
+    sha256 = ''12gsvsjyxmclwidcjvyrfvd0773ib54a3qzmf33hmgc9knxlli7c'';
+  };
+
+  packageName = "iolib.asdf";
+
+  asdFilesToKeep = ["iolib.asdf.asd"];
+  overrides = x: x;
+}
+/* (SYSTEM iolib.asdf DESCRIPTION A few ASDF component classes. SHA256
+    12gsvsjyxmclwidcjvyrfvd0773ib54a3qzmf33hmgc9knxlli7c URL
+    http://beta.quicklisp.org/archive/iolib/2017-06-30/iolib-v0.8.3.tgz MD5
+    fc28d4cad6f8e43972df3baa6a8ac45c NAME iolib.asdf FILENAME iolib_dot_asdf
+    DEPS ((NAME alexandria FILENAME alexandria)) DEPENDENCIES (alexandria)
+    VERSION iolib-v0.8.3 SIBLINGS
+    (iolib iolib.base iolib.common-lisp iolib.conf iolib.examples iolib.grovel
+     iolib.tests)
+    PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_dot_base.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_dot_base.nix
new file mode 100644
index 000000000000..c42eb7e602b0
--- /dev/null
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_dot_base.nix
@@ -0,0 +1,35 @@
+args @ { fetchurl, ... }:
+rec {
+  baseName = ''iolib_dot_base'';
+  version = ''iolib-v0.8.3'';
+
+  description = ''Base IOlib package, used instead of CL.'';
+
+  deps = [ args."alexandria" args."iolib_dot_asdf" args."iolib_dot_common-lisp" args."iolib_dot_conf" args."split-sequence" ];
+
+  src = fetchurl {
+    url = ''http://beta.quicklisp.org/archive/iolib/2017-06-30/iolib-v0.8.3.tgz'';
+    sha256 = ''12gsvsjyxmclwidcjvyrfvd0773ib54a3qzmf33hmgc9knxlli7c'';
+  };
+
+  packageName = "iolib.base";
+
+  asdFilesToKeep = ["iolib.base.asd"];
+  overrides = x: x;
+}
+/* (SYSTEM iolib.base DESCRIPTION Base IOlib package, used instead of CL.
+    SHA256 12gsvsjyxmclwidcjvyrfvd0773ib54a3qzmf33hmgc9knxlli7c URL
+    http://beta.quicklisp.org/archive/iolib/2017-06-30/iolib-v0.8.3.tgz MD5
+    fc28d4cad6f8e43972df3baa6a8ac45c NAME iolib.base FILENAME iolib_dot_base
+    DEPS
+    ((NAME alexandria FILENAME alexandria)
+     (NAME iolib.asdf FILENAME iolib_dot_asdf)
+     (NAME iolib.common-lisp FILENAME iolib_dot_common-lisp)
+     (NAME iolib.conf FILENAME iolib_dot_conf)
+     (NAME split-sequence FILENAME split-sequence))
+    DEPENDENCIES
+    (alexandria iolib.asdf iolib.common-lisp iolib.conf split-sequence) VERSION
+    iolib-v0.8.3 SIBLINGS
+    (iolib iolib.asdf iolib.common-lisp iolib.conf iolib.examples iolib.grovel
+     iolib.tests)
+    PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_dot_common-lisp.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_dot_common-lisp.nix
new file mode 100644
index 000000000000..1171ae0f391d
--- /dev/null
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_dot_common-lisp.nix
@@ -0,0 +1,32 @@
+args @ { fetchurl, ... }:
+rec {
+  baseName = ''iolib_dot_common-lisp'';
+  version = ''iolib-v0.8.3'';
+
+  description = ''Slightly modified Common Lisp.'';
+
+  deps = [ args."alexandria" args."iolib_dot_asdf" args."iolib_dot_conf" ];
+
+  src = fetchurl {
+    url = ''http://beta.quicklisp.org/archive/iolib/2017-06-30/iolib-v0.8.3.tgz'';
+    sha256 = ''12gsvsjyxmclwidcjvyrfvd0773ib54a3qzmf33hmgc9knxlli7c'';
+  };
+
+  packageName = "iolib.common-lisp";
+
+  asdFilesToKeep = ["iolib.common-lisp.asd"];
+  overrides = x: x;
+}
+/* (SYSTEM iolib.common-lisp DESCRIPTION Slightly modified Common Lisp. SHA256
+    12gsvsjyxmclwidcjvyrfvd0773ib54a3qzmf33hmgc9knxlli7c URL
+    http://beta.quicklisp.org/archive/iolib/2017-06-30/iolib-v0.8.3.tgz MD5
+    fc28d4cad6f8e43972df3baa6a8ac45c NAME iolib.common-lisp FILENAME
+    iolib_dot_common-lisp DEPS
+    ((NAME alexandria FILENAME alexandria)
+     (NAME iolib.asdf FILENAME iolib_dot_asdf)
+     (NAME iolib.conf FILENAME iolib_dot_conf))
+    DEPENDENCIES (alexandria iolib.asdf iolib.conf) VERSION iolib-v0.8.3
+    SIBLINGS
+    (iolib iolib.asdf iolib.base iolib.conf iolib.examples iolib.grovel
+     iolib.tests)
+    PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_dot_conf.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_dot_conf.nix
new file mode 100644
index 000000000000..2dc99c742a4e
--- /dev/null
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_dot_conf.nix
@@ -0,0 +1,30 @@
+args @ { fetchurl, ... }:
+rec {
+  baseName = ''iolib_dot_conf'';
+  version = ''iolib-v0.8.3'';
+
+  description = ''Compile-time configuration for IOLib.'';
+
+  deps = [ args."alexandria" args."iolib_dot_asdf" ];
+
+  src = fetchurl {
+    url = ''http://beta.quicklisp.org/archive/iolib/2017-06-30/iolib-v0.8.3.tgz'';
+    sha256 = ''12gsvsjyxmclwidcjvyrfvd0773ib54a3qzmf33hmgc9knxlli7c'';
+  };
+
+  packageName = "iolib.conf";
+
+  asdFilesToKeep = ["iolib.conf.asd"];
+  overrides = x: x;
+}
+/* (SYSTEM iolib.conf DESCRIPTION Compile-time configuration for IOLib. SHA256
+    12gsvsjyxmclwidcjvyrfvd0773ib54a3qzmf33hmgc9knxlli7c URL
+    http://beta.quicklisp.org/archive/iolib/2017-06-30/iolib-v0.8.3.tgz MD5
+    fc28d4cad6f8e43972df3baa6a8ac45c NAME iolib.conf FILENAME iolib_dot_conf
+    DEPS
+    ((NAME alexandria FILENAME alexandria)
+     (NAME iolib.asdf FILENAME iolib_dot_asdf))
+    DEPENDENCIES (alexandria iolib.asdf) VERSION iolib-v0.8.3 SIBLINGS
+    (iolib iolib.asdf iolib.base iolib.common-lisp iolib.examples iolib.grovel
+     iolib.tests)
+    PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_dot_grovel.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_dot_grovel.nix
new file mode 100644
index 000000000000..d6c97ad7838a
--- /dev/null
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_dot_grovel.nix
@@ -0,0 +1,35 @@
+args @ { fetchurl, ... }:
+rec {
+  baseName = ''iolib_dot_grovel'';
+  version = ''iolib-v0.8.3'';
+
+  description = ''The CFFI Groveller'';
+
+  deps = [ args."alexandria" args."cffi" args."iolib_dot_asdf" args."iolib_dot_base" args."iolib_dot_conf" args."split-sequence" args."uiop" ];
+
+  src = fetchurl {
+    url = ''http://beta.quicklisp.org/archive/iolib/2017-06-30/iolib-v0.8.3.tgz'';
+    sha256 = ''12gsvsjyxmclwidcjvyrfvd0773ib54a3qzmf33hmgc9knxlli7c'';
+  };
+
+  packageName = "iolib.grovel";
+
+  asdFilesToKeep = ["iolib.grovel.asd"];
+  overrides = x: x;
+}
+/* (SYSTEM iolib.grovel DESCRIPTION The CFFI Groveller SHA256
+    12gsvsjyxmclwidcjvyrfvd0773ib54a3qzmf33hmgc9knxlli7c URL
+    http://beta.quicklisp.org/archive/iolib/2017-06-30/iolib-v0.8.3.tgz MD5
+    fc28d4cad6f8e43972df3baa6a8ac45c NAME iolib.grovel FILENAME
+    iolib_dot_grovel DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME cffi FILENAME cffi)
+     (NAME iolib.asdf FILENAME iolib_dot_asdf)
+     (NAME iolib.base FILENAME iolib_dot_base)
+     (NAME iolib.conf FILENAME iolib_dot_conf)
+     (NAME split-sequence FILENAME split-sequence) (NAME uiop FILENAME uiop))
+    DEPENDENCIES
+    (alexandria cffi iolib.asdf iolib.base iolib.conf split-sequence uiop)
+    VERSION iolib-v0.8.3 SIBLINGS
+    (iolib iolib.asdf iolib.base iolib.common-lisp iolib.conf iolib.examples
+     iolib.tests)
+    PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_slash_multiplex.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_slash_multiplex.nix
deleted file mode 100644
index a0d26182a8e8..000000000000
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_slash_multiplex.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-args @ { fetchurl, ... }:
-rec {
-  baseName = ''iolib_slash_multiplex'';
-  version = ''iolib-v0.8.3'';
-
-  description = ''I/O multiplexing library.'';
-
-  deps = [ args."iolib_slash_syscalls" args."cffi" ];
-
-  src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/iolib/2017-06-30/iolib-v0.8.3.tgz'';
-    sha256 = ''12gsvsjyxmclwidcjvyrfvd0773ib54a3qzmf33hmgc9knxlli7c'';
-  };
-    
-  packageName = "iolib/multiplex";
-
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/iolib/multiplex[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
-}
-/* (SYSTEM iolib/multiplex DESCRIPTION I/O multiplexing library. SHA256 12gsvsjyxmclwidcjvyrfvd0773ib54a3qzmf33hmgc9knxlli7c URL
-    http://beta.quicklisp.org/archive/iolib/2017-06-30/iolib-v0.8.3.tgz MD5 fc28d4cad6f8e43972df3baa6a8ac45c NAME iolib/multiplex TESTNAME NIL FILENAME
-    iolib_slash_multiplex DEPS ((NAME iolib/syscalls FILENAME iolib_slash_syscalls) (NAME cffi FILENAME cffi)) DEPENDENCIES (iolib/syscalls cffi) VERSION
-    iolib-v0.8.3 SIBLINGS (iolib iolib.asdf iolib.base iolib.common-lisp iolib.conf iolib.examples iolib.grovel iolib.tests)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_slash_sockets.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_slash_sockets.nix
deleted file mode 100644
index a6088dabf972..000000000000
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_slash_sockets.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-args @ { fetchurl, ... }:
-rec {
-  baseName = ''iolib_slash_sockets'';
-  version = ''iolib-v0.8.3'';
-
-  description = ''Socket library.'';
-
-  deps = [ args."swap-bytes" args."iolib_slash_syscalls" args."iolib_slash_streams" args."idna" args."cffi" args."bordeaux-threads" args."babel" ];
-
-  src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/iolib/2017-06-30/iolib-v0.8.3.tgz'';
-    sha256 = ''12gsvsjyxmclwidcjvyrfvd0773ib54a3qzmf33hmgc9knxlli7c'';
-  };
-    
-  packageName = "iolib/sockets";
-
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/iolib/sockets[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
-}
-/* (SYSTEM iolib/sockets DESCRIPTION Socket library. SHA256 12gsvsjyxmclwidcjvyrfvd0773ib54a3qzmf33hmgc9knxlli7c URL
-    http://beta.quicklisp.org/archive/iolib/2017-06-30/iolib-v0.8.3.tgz MD5 fc28d4cad6f8e43972df3baa6a8ac45c NAME iolib/sockets TESTNAME NIL FILENAME
-    iolib_slash_sockets DEPS
-    ((NAME swap-bytes FILENAME swap-bytes) (NAME iolib/syscalls FILENAME iolib_slash_syscalls) (NAME iolib/streams FILENAME iolib_slash_streams)
-     (NAME idna FILENAME idna) (NAME cffi FILENAME cffi) (NAME bordeaux-threads FILENAME bordeaux-threads) (NAME babel FILENAME babel))
-    DEPENDENCIES (swap-bytes iolib/syscalls iolib/streams idna cffi bordeaux-threads babel) VERSION iolib-v0.8.3 SIBLINGS
-    (iolib iolib.asdf iolib.base iolib.common-lisp iolib.conf iolib.examples iolib.grovel iolib.tests)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_slash_streams.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_slash_streams.nix
deleted file mode 100644
index 9caebf0db263..000000000000
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_slash_streams.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-args @ { fetchurl, ... }:
-rec {
-  baseName = ''iolib_slash_streams'';
-  version = ''iolib-v0.8.3'';
-
-  description = ''Gray streams.'';
-
-  deps = [ args."iolib_slash_multiplex" args."cffi" ];
-
-  src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/iolib/2017-06-30/iolib-v0.8.3.tgz'';
-    sha256 = ''12gsvsjyxmclwidcjvyrfvd0773ib54a3qzmf33hmgc9knxlli7c'';
-  };
-    
-  packageName = "iolib/streams";
-
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/iolib/streams[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
-}
-/* (SYSTEM iolib/streams DESCRIPTION Gray streams. SHA256 12gsvsjyxmclwidcjvyrfvd0773ib54a3qzmf33hmgc9knxlli7c URL
-    http://beta.quicklisp.org/archive/iolib/2017-06-30/iolib-v0.8.3.tgz MD5 fc28d4cad6f8e43972df3baa6a8ac45c NAME iolib/streams TESTNAME NIL FILENAME
-    iolib_slash_streams DEPS ((NAME iolib/multiplex FILENAME iolib_slash_multiplex) (NAME cffi FILENAME cffi)) DEPENDENCIES (iolib/multiplex cffi) VERSION
-    iolib-v0.8.3 SIBLINGS (iolib iolib.asdf iolib.base iolib.common-lisp iolib.conf iolib.examples iolib.grovel iolib.tests)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_slash_syscalls.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_slash_syscalls.nix
deleted file mode 100644
index 0ef71a6a95cf..000000000000
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/iolib_slash_syscalls.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-args @ { fetchurl, ... }:
-rec {
-  baseName = ''iolib_slash_syscalls'';
-  version = ''iolib-v0.8.3'';
-
-  description = ''Syscalls and foreign types.'';
-
-  deps = [ args."trivial-features" args."cffi" ];
-
-  src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/iolib/2017-06-30/iolib-v0.8.3.tgz'';
-    sha256 = ''12gsvsjyxmclwidcjvyrfvd0773ib54a3qzmf33hmgc9knxlli7c'';
-  };
-    
-  packageName = "iolib/syscalls";
-
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/iolib/syscalls[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
-}
-/* (SYSTEM iolib/syscalls DESCRIPTION Syscalls and foreign types. SHA256 12gsvsjyxmclwidcjvyrfvd0773ib54a3qzmf33hmgc9knxlli7c URL
-    http://beta.quicklisp.org/archive/iolib/2017-06-30/iolib-v0.8.3.tgz MD5 fc28d4cad6f8e43972df3baa6a8ac45c NAME iolib/syscalls TESTNAME NIL FILENAME
-    iolib_slash_syscalls DEPS ((NAME trivial-features FILENAME trivial-features) (NAME cffi FILENAME cffi)) DEPENDENCIES (trivial-features cffi) VERSION
-    iolib-v0.8.3 SIBLINGS (iolib iolib.asdf iolib.base iolib.common-lisp iolib.conf iolib.examples iolib.grovel iolib.tests)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/ironclad.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/ironclad.nix
index 6d8e3c4fb0a3..89301f90866f 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/ironclad.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/ironclad.nix
@@ -3,6 +3,8 @@ rec {
   baseName = ''ironclad'';
   version = ''v0.34'';
 
+  parasites = [ "ironclad-tests" ];
+
   description = ''A cryptographic toolkit written in pure Common Lisp'';
 
   deps = [ args."nibbles" ];
@@ -11,25 +13,16 @@ rec {
     url = ''http://beta.quicklisp.org/archive/ironclad/2017-06-30/ironclad-v0.34.tgz'';
     sha256 = ''08xlnzs7hzbr0sa4aff4xb0b60dxcpad7fb5xsnjn3qjs7yydxk0'';
   };
-    
+
   packageName = "ironclad";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/ironclad[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["ironclad.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM ironclad DESCRIPTION A cryptographic toolkit written in pure Common Lisp SHA256 08xlnzs7hzbr0sa4aff4xb0b60dxcpad7fb5xsnjn3qjs7yydxk0 URL
-    http://beta.quicklisp.org/archive/ironclad/2017-06-30/ironclad-v0.34.tgz MD5 82db632975aa83b0dce3412c1aff4a80 NAME ironclad TESTNAME NIL FILENAME ironclad
-    DEPS ((NAME nibbles FILENAME nibbles)) DEPENDENCIES (nibbles) VERSION v0.34 SIBLINGS (ironclad-text)) */
+/* (SYSTEM ironclad DESCRIPTION
+    A cryptographic toolkit written in pure Common Lisp SHA256
+    08xlnzs7hzbr0sa4aff4xb0b60dxcpad7fb5xsnjn3qjs7yydxk0 URL
+    http://beta.quicklisp.org/archive/ironclad/2017-06-30/ironclad-v0.34.tgz
+    MD5 82db632975aa83b0dce3412c1aff4a80 NAME ironclad FILENAME ironclad DEPS
+    ((NAME nibbles FILENAME nibbles)) DEPENDENCIES (nibbles) VERSION v0.34
+    SIBLINGS (ironclad-text) PARASITES (ironclad-tests)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/iterate.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/iterate.nix
index 5e02dceb84c5..42980e0c9135 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/iterate.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/iterate.nix
@@ -3,6 +3,8 @@ rec {
   baseName = ''iterate'';
   version = ''20160825-darcs'';
 
+  parasites = [ "iterate/tests" ];
+
   description = ''Jonathan Amsterdam's iterator/gatherer/accumulator facility'';
 
   deps = [ ];
@@ -11,25 +13,16 @@ rec {
     url = ''http://beta.quicklisp.org/archive/iterate/2016-08-25/iterate-20160825-darcs.tgz'';
     sha256 = ''0kvz16gnxnkdz0fy1x8y5yr28nfm7i2qpvix7mgwccdpjmsb4pgm'';
   };
-    
+
   packageName = "iterate";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/iterate[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["iterate.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM iterate DESCRIPTION Jonathan Amsterdam's iterator/gatherer/accumulator facility SHA256 0kvz16gnxnkdz0fy1x8y5yr28nfm7i2qpvix7mgwccdpjmsb4pgm URL
-    http://beta.quicklisp.org/archive/iterate/2016-08-25/iterate-20160825-darcs.tgz MD5 e73ff4898ce4831ff2a28817f32de86e NAME iterate TESTNAME NIL FILENAME
-    iterate DEPS NIL DEPENDENCIES NIL VERSION 20160825-darcs SIBLINGS NIL) */
+/* (SYSTEM iterate DESCRIPTION
+    Jonathan Amsterdam's iterator/gatherer/accumulator facility SHA256
+    0kvz16gnxnkdz0fy1x8y5yr28nfm7i2qpvix7mgwccdpjmsb4pgm URL
+    http://beta.quicklisp.org/archive/iterate/2016-08-25/iterate-20160825-darcs.tgz
+    MD5 e73ff4898ce4831ff2a28817f32de86e NAME iterate FILENAME iterate DEPS NIL
+    DEPENDENCIES NIL VERSION 20160825-darcs SIBLINGS NIL PARASITES
+    (iterate/tests)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/ixf.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/ixf.nix
index 93e6782f1639..978e58d26925 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/ixf.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/ixf.nix
@@ -11,27 +11,20 @@ rec {
     url = ''http://beta.quicklisp.org/archive/cl-ixf/2017-06-30/cl-ixf-20170630-git.tgz'';
     sha256 = ''1qfmsz3lbydas7iv0bxdl4gl5ah4ydjxxqfpyini7qy0cb4wplf2'';
   };
-    
+
   packageName = "ixf";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/ixf[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["ixf.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM ixf DESCRIPTION Tools to handle IBM PC version of IXF file format SHA256 1qfmsz3lbydas7iv0bxdl4gl5ah4ydjxxqfpyini7qy0cb4wplf2 URL
-    http://beta.quicklisp.org/archive/cl-ixf/2017-06-30/cl-ixf-20170630-git.tgz MD5 51db2caba094cac90982396cf552c847 NAME ixf TESTNAME NIL FILENAME ixf DEPS
-    ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel) (NAME cl-ppcre FILENAME cl-ppcre) (NAME ieee-floats FILENAME ieee-floats)
-     (NAME local-time FILENAME local-time) (NAME md5 FILENAME md5) (NAME split-sequence FILENAME split-sequence))
-    DEPENDENCIES (alexandria babel cl-ppcre ieee-floats local-time md5 split-sequence) VERSION cl-20170630-git SIBLINGS NIL) */
+/* (SYSTEM ixf DESCRIPTION Tools to handle IBM PC version of IXF file format
+    SHA256 1qfmsz3lbydas7iv0bxdl4gl5ah4ydjxxqfpyini7qy0cb4wplf2 URL
+    http://beta.quicklisp.org/archive/cl-ixf/2017-06-30/cl-ixf-20170630-git.tgz
+    MD5 51db2caba094cac90982396cf552c847 NAME ixf FILENAME ixf DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
+     (NAME cl-ppcre FILENAME cl-ppcre) (NAME ieee-floats FILENAME ieee-floats)
+     (NAME local-time FILENAME local-time) (NAME md5 FILENAME md5)
+     (NAME split-sequence FILENAME split-sequence))
+    DEPENDENCIES
+    (alexandria babel cl-ppcre ieee-floats local-time md5 split-sequence)
+    VERSION cl-20170630-git SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/jonathan.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/jonathan.nix
index b86efb3d8ec7..8a4d21575157 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/jonathan.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/jonathan.nix
@@ -5,35 +5,29 @@ rec {
 
   description = ''High performance JSON encoder and decoder. Currently support: SBCL, CCL.'';
 
-  deps = [ args."trivial-types" args."proc-parse" args."fast-io" args."cl-syntax-annot" args."cl-syntax" args."cl-ppcre" args."cl-annot" args."babel" ];
+  deps = [ args."babel" args."cl-annot" args."cl-ppcre" args."cl-syntax" args."cl-syntax-annot" args."fast-io" args."proc-parse" args."trivial-types" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/jonathan/2017-06-30/jonathan-20170630-git.tgz'';
     sha256 = ''0vxnxs38f6gxw51b69n09p2qmph17jkhwdvwq02sayiq3p4w10bm'';
   };
-    
+
   packageName = "jonathan";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/jonathan[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["jonathan.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM jonathan DESCRIPTION High performance JSON encoder and decoder. Currently support: SBCL, CCL. SHA256
-    0vxnxs38f6gxw51b69n09p2qmph17jkhwdvwq02sayiq3p4w10bm URL http://beta.quicklisp.org/archive/jonathan/2017-06-30/jonathan-20170630-git.tgz MD5
-    5d82723835164f4e3d9c4d031322eb98 NAME jonathan TESTNAME NIL FILENAME jonathan DEPS
-    ((NAME trivial-types FILENAME trivial-types) (NAME proc-parse FILENAME proc-parse) (NAME fast-io FILENAME fast-io)
-     (NAME cl-syntax-annot FILENAME cl-syntax-annot) (NAME cl-syntax FILENAME cl-syntax) (NAME cl-ppcre FILENAME cl-ppcre) (NAME cl-annot FILENAME cl-annot)
-     (NAME babel FILENAME babel))
-    DEPENDENCIES (trivial-types proc-parse fast-io cl-syntax-annot cl-syntax cl-ppcre cl-annot babel) VERSION 20170630-git SIBLINGS (jonathan-test)) */
+/* (SYSTEM jonathan DESCRIPTION
+    High performance JSON encoder and decoder. Currently support: SBCL, CCL.
+    SHA256 0vxnxs38f6gxw51b69n09p2qmph17jkhwdvwq02sayiq3p4w10bm URL
+    http://beta.quicklisp.org/archive/jonathan/2017-06-30/jonathan-20170630-git.tgz
+    MD5 5d82723835164f4e3d9c4d031322eb98 NAME jonathan FILENAME jonathan DEPS
+    ((NAME babel FILENAME babel) (NAME cl-annot FILENAME cl-annot)
+     (NAME cl-ppcre FILENAME cl-ppcre) (NAME cl-syntax FILENAME cl-syntax)
+     (NAME cl-syntax-annot FILENAME cl-syntax-annot)
+     (NAME fast-io FILENAME fast-io) (NAME proc-parse FILENAME proc-parse)
+     (NAME trivial-types FILENAME trivial-types))
+    DEPENDENCIES
+    (babel cl-annot cl-ppcre cl-syntax cl-syntax-annot fast-io proc-parse
+     trivial-types)
+    VERSION 20170630-git SIBLINGS (jonathan-test) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/kmrcl.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/kmrcl.nix
new file mode 100644
index 000000000000..e5cbad3e9e83
--- /dev/null
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/kmrcl.nix
@@ -0,0 +1,24 @@
+args @ { fetchurl, ... }:
+rec {
+  baseName = ''kmrcl'';
+  version = ''20150923-git'';
+
+  description = '''';
+
+  deps = [ ];
+
+  src = fetchurl {
+    url = ''http://beta.quicklisp.org/archive/kmrcl/2015-09-23/kmrcl-20150923-git.tgz'';
+    sha256 = ''0sx7p16pp5i4qr569p2265ky6rd65gyjp21k348a6c3fs2yn0r2g'';
+  };
+
+  packageName = "kmrcl";
+
+  asdFilesToKeep = ["kmrcl.asd"];
+  overrides = x: x;
+}
+/* (SYSTEM kmrcl DESCRIPTION NIL SHA256
+    0sx7p16pp5i4qr569p2265ky6rd65gyjp21k348a6c3fs2yn0r2g URL
+    http://beta.quicklisp.org/archive/kmrcl/2015-09-23/kmrcl-20150923-git.tgz
+    MD5 0cd15d3ed3e7d56528dd3243d1a5c9b1 NAME kmrcl FILENAME kmrcl DEPS NIL
+    DEPENDENCIES NIL VERSION 20150923-git SIBLINGS (kmrcl-tests) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-component.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-component.nix
new file mode 100644
index 000000000000..9f99f99d4ce3
--- /dev/null
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-component.nix
@@ -0,0 +1,34 @@
+args @ { fetchurl, ... }:
+rec {
+  baseName = ''lack-component'';
+  version = ''lack-20170725-git'';
+
+  description = '''';
+
+  deps = [ ];
+
+  src = fetchurl {
+    url = ''http://beta.quicklisp.org/archive/lack/2017-07-25/lack-20170725-git.tgz'';
+    sha256 = ''1c5xlya1zm232zsala03a6m10m11hgqvbgx04kxl29yz0ldp7jbp'';
+  };
+
+  packageName = "lack-component";
+
+  asdFilesToKeep = ["lack-component.asd"];
+  overrides = x: x;
+}
+/* (SYSTEM lack-component DESCRIPTION NIL SHA256
+    1c5xlya1zm232zsala03a6m10m11hgqvbgx04kxl29yz0ldp7jbp URL
+    http://beta.quicklisp.org/archive/lack/2017-07-25/lack-20170725-git.tgz MD5
+    ab71d36ac49e4759806e9a2ace50ae53 NAME lack-component FILENAME
+    lack-component DEPS NIL DEPENDENCIES NIL VERSION lack-20170725-git SIBLINGS
+    (lack-middleware-accesslog lack-middleware-auth-basic
+     lack-middleware-backtrace lack-middleware-csrf lack-middleware-mount
+     lack-middleware-session lack-middleware-static lack-request lack-response
+     lack-session-store-dbi lack-session-store-redis lack-test
+     lack-util-writer-stream lack-util lack t-lack-component
+     t-lack-middleware-accesslog t-lack-middleware-auth-basic
+     t-lack-middleware-backtrace t-lack-middleware-csrf t-lack-middleware-mount
+     t-lack-middleware-session t-lack-middleware-static t-lack-request
+     t-lack-session-store-dbi t-lack-session-store-redis t-lack-util t-lack)
+    PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-middleware-backtrace.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-middleware-backtrace.nix
index 5023dc63d427..2bbe5dcd33b4 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-middleware-backtrace.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-middleware-backtrace.nix
@@ -11,29 +11,24 @@ rec {
     url = ''http://beta.quicklisp.org/archive/lack/2017-07-25/lack-20170725-git.tgz'';
     sha256 = ''1c5xlya1zm232zsala03a6m10m11hgqvbgx04kxl29yz0ldp7jbp'';
   };
-    
+
   packageName = "lack-middleware-backtrace";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/lack-middleware-backtrace[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["lack-middleware-backtrace.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM lack-middleware-backtrace DESCRIPTION NIL SHA256 1c5xlya1zm232zsala03a6m10m11hgqvbgx04kxl29yz0ldp7jbp URL
-    http://beta.quicklisp.org/archive/lack/2017-07-25/lack-20170725-git.tgz MD5 ab71d36ac49e4759806e9a2ace50ae53 NAME lack-middleware-backtrace TESTNAME NIL
-    FILENAME lack-middleware-backtrace DEPS ((NAME uiop FILENAME uiop)) DEPENDENCIES (uiop) VERSION lack-20170725-git SIBLINGS
-    (lack-component lack-middleware-accesslog lack-middleware-auth-basic lack-middleware-csrf lack-middleware-mount lack-middleware-session
-     lack-middleware-static lack-request lack-response lack-session-store-dbi lack-session-store-redis lack-test lack-util-writer-stream lack-util lack
-     t-lack-component t-lack-middleware-accesslog t-lack-middleware-auth-basic t-lack-middleware-backtrace t-lack-middleware-csrf t-lack-middleware-mount
-     t-lack-middleware-session t-lack-middleware-static t-lack-request t-lack-session-store-dbi t-lack-session-store-redis t-lack-util t-lack)) */
+/* (SYSTEM lack-middleware-backtrace DESCRIPTION NIL SHA256
+    1c5xlya1zm232zsala03a6m10m11hgqvbgx04kxl29yz0ldp7jbp URL
+    http://beta.quicklisp.org/archive/lack/2017-07-25/lack-20170725-git.tgz MD5
+    ab71d36ac49e4759806e9a2ace50ae53 NAME lack-middleware-backtrace FILENAME
+    lack-middleware-backtrace DEPS ((NAME uiop FILENAME uiop)) DEPENDENCIES
+    (uiop) VERSION lack-20170725-git SIBLINGS
+    (lack-component lack-middleware-accesslog lack-middleware-auth-basic
+     lack-middleware-csrf lack-middleware-mount lack-middleware-session
+     lack-middleware-static lack-request lack-response lack-session-store-dbi
+     lack-session-store-redis lack-test lack-util-writer-stream lack-util lack
+     t-lack-component t-lack-middleware-accesslog t-lack-middleware-auth-basic
+     t-lack-middleware-backtrace t-lack-middleware-csrf t-lack-middleware-mount
+     t-lack-middleware-session t-lack-middleware-static t-lack-request
+     t-lack-session-store-dbi t-lack-session-store-redis t-lack-util t-lack)
+    PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-util.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-util.nix
index ea5ddc3f96b3..38f834cd52b4 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-util.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-util.nix
@@ -5,36 +5,31 @@ rec {
 
   description = '''';
 
-  deps = [ args."ironclad" ];
+  deps = [ args."ironclad" args."nibbles" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/lack/2017-07-25/lack-20170725-git.tgz'';
     sha256 = ''1c5xlya1zm232zsala03a6m10m11hgqvbgx04kxl29yz0ldp7jbp'';
   };
-    
+
   packageName = "lack-util";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/lack-util[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["lack-util.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM lack-util DESCRIPTION NIL SHA256 1c5xlya1zm232zsala03a6m10m11hgqvbgx04kxl29yz0ldp7jbp URL
-    http://beta.quicklisp.org/archive/lack/2017-07-25/lack-20170725-git.tgz MD5 ab71d36ac49e4759806e9a2ace50ae53 NAME lack-util TESTNAME NIL FILENAME lack-util
-    DEPS ((NAME ironclad FILENAME ironclad)) DEPENDENCIES (ironclad) VERSION lack-20170725-git SIBLINGS
-    (lack-component lack-middleware-accesslog lack-middleware-auth-basic lack-middleware-backtrace lack-middleware-csrf lack-middleware-mount
-     lack-middleware-session lack-middleware-static lack-request lack-response lack-session-store-dbi lack-session-store-redis lack-test
-     lack-util-writer-stream lack t-lack-component t-lack-middleware-accesslog t-lack-middleware-auth-basic t-lack-middleware-backtrace t-lack-middleware-csrf
-     t-lack-middleware-mount t-lack-middleware-session t-lack-middleware-static t-lack-request t-lack-session-store-dbi t-lack-session-store-redis t-lack-util
-     t-lack)) */
+/* (SYSTEM lack-util DESCRIPTION NIL SHA256
+    1c5xlya1zm232zsala03a6m10m11hgqvbgx04kxl29yz0ldp7jbp URL
+    http://beta.quicklisp.org/archive/lack/2017-07-25/lack-20170725-git.tgz MD5
+    ab71d36ac49e4759806e9a2ace50ae53 NAME lack-util FILENAME lack-util DEPS
+    ((NAME ironclad FILENAME ironclad) (NAME nibbles FILENAME nibbles))
+    DEPENDENCIES (ironclad nibbles) VERSION lack-20170725-git SIBLINGS
+    (lack-component lack-middleware-accesslog lack-middleware-auth-basic
+     lack-middleware-backtrace lack-middleware-csrf lack-middleware-mount
+     lack-middleware-session lack-middleware-static lack-request lack-response
+     lack-session-store-dbi lack-session-store-redis lack-test
+     lack-util-writer-stream lack t-lack-component t-lack-middleware-accesslog
+     t-lack-middleware-auth-basic t-lack-middleware-backtrace
+     t-lack-middleware-csrf t-lack-middleware-mount t-lack-middleware-session
+     t-lack-middleware-static t-lack-request t-lack-session-store-dbi
+     t-lack-session-store-redis t-lack-util t-lack)
+    PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack.nix
index 0b1c36d73561..0d65d48cf0a5 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack.nix
@@ -5,36 +5,34 @@ rec {
 
   description = ''A minimal Clack'';
 
-  deps = [ ];
+  deps = [ args."ironclad" args."lack-component" args."lack-util" args."nibbles" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/lack/2017-07-25/lack-20170725-git.tgz'';
     sha256 = ''1c5xlya1zm232zsala03a6m10m11hgqvbgx04kxl29yz0ldp7jbp'';
   };
-    
+
   packageName = "lack";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/lack[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["lack.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM lack DESCRIPTION A minimal Clack SHA256 1c5xlya1zm232zsala03a6m10m11hgqvbgx04kxl29yz0ldp7jbp URL
-    http://beta.quicklisp.org/archive/lack/2017-07-25/lack-20170725-git.tgz MD5 ab71d36ac49e4759806e9a2ace50ae53 NAME lack TESTNAME NIL FILENAME lack DEPS NIL
-    DEPENDENCIES NIL VERSION 20170725-git SIBLINGS
-    (lack-component lack-middleware-accesslog lack-middleware-auth-basic lack-middleware-backtrace lack-middleware-csrf lack-middleware-mount
-     lack-middleware-session lack-middleware-static lack-request lack-response lack-session-store-dbi lack-session-store-redis lack-test
-     lack-util-writer-stream lack-util t-lack-component t-lack-middleware-accesslog t-lack-middleware-auth-basic t-lack-middleware-backtrace
-     t-lack-middleware-csrf t-lack-middleware-mount t-lack-middleware-session t-lack-middleware-static t-lack-request t-lack-session-store-dbi
-     t-lack-session-store-redis t-lack-util t-lack)) */
+/* (SYSTEM lack DESCRIPTION A minimal Clack SHA256
+    1c5xlya1zm232zsala03a6m10m11hgqvbgx04kxl29yz0ldp7jbp URL
+    http://beta.quicklisp.org/archive/lack/2017-07-25/lack-20170725-git.tgz MD5
+    ab71d36ac49e4759806e9a2ace50ae53 NAME lack FILENAME lack DEPS
+    ((NAME ironclad FILENAME ironclad)
+     (NAME lack-component FILENAME lack-component)
+     (NAME lack-util FILENAME lack-util) (NAME nibbles FILENAME nibbles))
+    DEPENDENCIES (ironclad lack-component lack-util nibbles) VERSION
+    20170725-git SIBLINGS
+    (lack-component lack-middleware-accesslog lack-middleware-auth-basic
+     lack-middleware-backtrace lack-middleware-csrf lack-middleware-mount
+     lack-middleware-session lack-middleware-static lack-request lack-response
+     lack-session-store-dbi lack-session-store-redis lack-test
+     lack-util-writer-stream lack-util t-lack-component
+     t-lack-middleware-accesslog t-lack-middleware-auth-basic
+     t-lack-middleware-backtrace t-lack-middleware-csrf t-lack-middleware-mount
+     t-lack-middleware-session t-lack-middleware-static t-lack-request
+     t-lack-session-store-dbi t-lack-session-store-redis t-lack-util t-lack)
+    PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/let-plus.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/let-plus.nix
index 4082abbe656d..a94c8439cf2a 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/let-plus.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/let-plus.nix
@@ -3,34 +3,27 @@ rec {
   baseName = ''let-plus'';
   version = ''20170124-git'';
 
+  parasites = [ "let-plus-tests" ];
+
   description = ''Destructuring extension of LET*.'';
 
-  deps = [ args."alexandria" args."anaphora" ];
+  deps = [ args."alexandria" args."anaphora" args."lift" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/let-plus/2017-01-24/let-plus-20170124-git.tgz'';
     sha256 = ''1hfsw4g36vccz2lx6gk375arjj6y85yh9ch3pq7yiybjlxx68xi8'';
   };
-    
+
   packageName = "let-plus";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/let-plus[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["let-plus.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM let-plus DESCRIPTION Destructuring extension of LET*. SHA256 1hfsw4g36vccz2lx6gk375arjj6y85yh9ch3pq7yiybjlxx68xi8 URL
-    http://beta.quicklisp.org/archive/let-plus/2017-01-24/let-plus-20170124-git.tgz MD5 1180608e4da53f3866a99d4cca72e3b1 NAME let-plus TESTNAME NIL FILENAME
-    let-plus DEPS ((NAME alexandria FILENAME alexandria) (NAME anaphora FILENAME anaphora)) DEPENDENCIES (alexandria anaphora) VERSION 20170124-git SIBLINGS
-    NIL) */
+/* (SYSTEM let-plus DESCRIPTION Destructuring extension of LET*. SHA256
+    1hfsw4g36vccz2lx6gk375arjj6y85yh9ch3pq7yiybjlxx68xi8 URL
+    http://beta.quicklisp.org/archive/let-plus/2017-01-24/let-plus-20170124-git.tgz
+    MD5 1180608e4da53f3866a99d4cca72e3b1 NAME let-plus FILENAME let-plus DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME anaphora FILENAME anaphora)
+     (NAME lift FILENAME lift))
+    DEPENDENCIES (alexandria anaphora lift) VERSION 20170124-git SIBLINGS NIL
+    PARASITES (let-plus-tests)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/lev.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/lev.nix
index f35ba345d1b1..9dd6baad1bdc 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/lev.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/lev.nix
@@ -5,31 +5,24 @@ rec {
 
   description = ''libev bindings for Common Lisp'';
 
-  deps = [ args."cffi" ];
+  deps = [ args."alexandria" args."babel" args."cffi" args."trivial-features" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/lev/2015-05-05/lev-20150505-git.tgz'';
     sha256 = ''0lkkzb221ks4f0qjgh6pr5lyvb4884a87p96ir4m36x411pyk5xl'';
   };
-    
+
   packageName = "lev";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/lev[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["lev.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM lev DESCRIPTION libev bindings for Common Lisp SHA256 0lkkzb221ks4f0qjgh6pr5lyvb4884a87p96ir4m36x411pyk5xl URL
-    http://beta.quicklisp.org/archive/lev/2015-05-05/lev-20150505-git.tgz MD5 10f340f7500beb98b5c0d4a9876131fb NAME lev TESTNAME NIL FILENAME lev DEPS
-    ((NAME cffi FILENAME cffi)) DEPENDENCIES (cffi) VERSION 20150505-git SIBLINGS NIL) */
+/* (SYSTEM lev DESCRIPTION libev bindings for Common Lisp SHA256
+    0lkkzb221ks4f0qjgh6pr5lyvb4884a87p96ir4m36x411pyk5xl URL
+    http://beta.quicklisp.org/archive/lev/2015-05-05/lev-20150505-git.tgz MD5
+    10f340f7500beb98b5c0d4a9876131fb NAME lev FILENAME lev DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
+     (NAME cffi FILENAME cffi)
+     (NAME trivial-features FILENAME trivial-features))
+    DEPENDENCIES (alexandria babel cffi trivial-features) VERSION 20150505-git
+    SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/lift.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/lift.nix
new file mode 100644
index 000000000000..a3ddc2fd953e
--- /dev/null
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/lift.nix
@@ -0,0 +1,25 @@
+args @ { fetchurl, ... }:
+rec {
+  baseName = ''lift'';
+  version = ''20151031-git'';
+
+  description = ''LIsp Framework for Testing'';
+
+  deps = [ ];
+
+  src = fetchurl {
+    url = ''http://beta.quicklisp.org/archive/lift/2015-10-31/lift-20151031-git.tgz'';
+    sha256 = ''1h8fkpm377brbrc06zdynd2qilc85vr9i8r9f8pjqqmk3p1qyl46'';
+  };
+
+  packageName = "lift";
+
+  asdFilesToKeep = ["lift.asd"];
+  overrides = x: x;
+}
+/* (SYSTEM lift DESCRIPTION LIsp Framework for Testing SHA256
+    1h8fkpm377brbrc06zdynd2qilc85vr9i8r9f8pjqqmk3p1qyl46 URL
+    http://beta.quicklisp.org/archive/lift/2015-10-31/lift-20151031-git.tgz MD5
+    b92e97b3d337607743f47bde0889f3ee NAME lift FILENAME lift DEPS NIL
+    DEPENDENCIES NIL VERSION 20151031-git SIBLINGS
+    (lift-documentation lift-test) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/lisp-namespace.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/lisp-namespace.nix
index 49ec6901fd98..50bc9946ccae 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/lisp-namespace.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/lisp-namespace.nix
@@ -11,26 +11,17 @@ rec {
     url = ''http://beta.quicklisp.org/archive/lisp-namespace/2017-06-30/lisp-namespace-20170630-git.tgz'';
     sha256 = ''06mdrzjwmfynzljcs8ym8dscjlxpbbkmjfg912v68v7p2xzq6d0n'';
   };
-    
+
   packageName = "lisp-namespace";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/lisp-namespace[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["lisp-namespace.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM lisp-namespace DESCRIPTION Provides LISP-N --- extensible namespaces in Common Lisp. SHA256 06mdrzjwmfynzljcs8ym8dscjlxpbbkmjfg912v68v7p2xzq6d0n URL
-    http://beta.quicklisp.org/archive/lisp-namespace/2017-06-30/lisp-namespace-20170630-git.tgz MD5 f3379a60f7cc896a7cff384ff25a1de5 NAME lisp-namespace
-    TESTNAME NIL FILENAME lisp-namespace DEPS ((NAME alexandria FILENAME alexandria)) DEPENDENCIES (alexandria) VERSION 20170630-git SIBLINGS
-    (lisp-namespace.test)) */
+/* (SYSTEM lisp-namespace DESCRIPTION
+    Provides LISP-N --- extensible namespaces in Common Lisp. SHA256
+    06mdrzjwmfynzljcs8ym8dscjlxpbbkmjfg912v68v7p2xzq6d0n URL
+    http://beta.quicklisp.org/archive/lisp-namespace/2017-06-30/lisp-namespace-20170630-git.tgz
+    MD5 f3379a60f7cc896a7cff384ff25a1de5 NAME lisp-namespace FILENAME
+    lisp-namespace DEPS ((NAME alexandria FILENAME alexandria)) DEPENDENCIES
+    (alexandria) VERSION 20170630-git SIBLINGS (lisp-namespace.test) PARASITES
+    NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/lisp-unit2.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/lisp-unit2.nix
new file mode 100644
index 000000000000..47e57ba1285a
--- /dev/null
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/lisp-unit2.nix
@@ -0,0 +1,37 @@
+args @ { fetchurl, ... }:
+rec {
+  baseName = ''lisp-unit2'';
+  version = ''20160531-git'';
+
+  parasites = [ "lisp-unit2-test" ];
+
+  description = ''Common Lisp library that supports unit testing.'';
+
+  deps = [ args."alexandria" args."cl-interpol" args."cl-ppcre" args."cl-unicode" args."flexi-streams" args."iterate" args."symbol-munger" ];
+
+  src = fetchurl {
+    url = ''http://beta.quicklisp.org/archive/lisp-unit2/2016-05-31/lisp-unit2-20160531-git.tgz'';
+    sha256 = ''17frcygs515l611cwggm90xapl8xng9cylsrdh11ygmdxwwy59sv'';
+  };
+
+  packageName = "lisp-unit2";
+
+  asdFilesToKeep = ["lisp-unit2.asd"];
+  overrides = x: x;
+}
+/* (SYSTEM lisp-unit2 DESCRIPTION
+    Common Lisp library that supports unit testing. SHA256
+    17frcygs515l611cwggm90xapl8xng9cylsrdh11ygmdxwwy59sv URL
+    http://beta.quicklisp.org/archive/lisp-unit2/2016-05-31/lisp-unit2-20160531-git.tgz
+    MD5 913675bff1f86453887681e72ae5914d NAME lisp-unit2 FILENAME lisp-unit2
+    DEPS
+    ((NAME alexandria FILENAME alexandria)
+     (NAME cl-interpol FILENAME cl-interpol) (NAME cl-ppcre FILENAME cl-ppcre)
+     (NAME cl-unicode FILENAME cl-unicode)
+     (NAME flexi-streams FILENAME flexi-streams)
+     (NAME iterate FILENAME iterate)
+     (NAME symbol-munger FILENAME symbol-munger))
+    DEPENDENCIES
+    (alexandria cl-interpol cl-ppcre cl-unicode flexi-streams iterate
+     symbol-munger)
+    VERSION 20160531-git SIBLINGS NIL PARASITES (lisp-unit2-test)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/list-of.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/list-of.nix
index 720afedb815b..7189a09e20cf 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/list-of.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/list-of.nix
@@ -5,31 +5,22 @@ rec {
 
   description = ''magic list-of deftype'';
 
-  deps = [ ];
+  deps = [ args."asdf-finalizers" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/asdf-finalizers/2017-04-03/asdf-finalizers-20170403-git.tgz'';
     sha256 = ''1w2ka0123icbjba7ngdd6h93j72g236h6jw4bsmvsak69fj0ybxj'';
   };
-    
+
   packageName = "list-of";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/list-of[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["list-of.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM list-of DESCRIPTION magic list-of deftype SHA256 1w2ka0123icbjba7ngdd6h93j72g236h6jw4bsmvsak69fj0ybxj URL
-    http://beta.quicklisp.org/archive/asdf-finalizers/2017-04-03/asdf-finalizers-20170403-git.tgz MD5 a9e3c960e6b6fdbd69640b520ef8044b NAME list-of TESTNAME
-    NIL FILENAME list-of DEPS NIL DEPENDENCIES NIL VERSION asdf-finalizers-20170403-git SIBLINGS (asdf-finalizers-test asdf-finalizers)) */
+/* (SYSTEM list-of DESCRIPTION magic list-of deftype SHA256
+    1w2ka0123icbjba7ngdd6h93j72g236h6jw4bsmvsak69fj0ybxj URL
+    http://beta.quicklisp.org/archive/asdf-finalizers/2017-04-03/asdf-finalizers-20170403-git.tgz
+    MD5 a9e3c960e6b6fdbd69640b520ef8044b NAME list-of FILENAME list-of DEPS
+    ((NAME asdf-finalizers FILENAME asdf-finalizers)) DEPENDENCIES
+    (asdf-finalizers) VERSION asdf-finalizers-20170403-git SIBLINGS
+    (asdf-finalizers-test asdf-finalizers) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/local-time.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/local-time.nix
index 1291499be3d4..f5137a5e927d 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/local-time.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/local-time.nix
@@ -5,32 +5,26 @@ rec {
 
   description = ''A library for manipulating dates and times, based on a paper by Erik Naggum'';
 
-  deps = [ args."cl-fad" ];
+  deps = [ args."alexandria" args."bordeaux-threads" args."cl-fad" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/local-time/2017-07-25/local-time-20170725-git.tgz'';
     sha256 = ''05axwla93m5jml9lw6ljwzjhcl8pshfzxyqkvyj1w5l9klh569p9'';
   };
-    
+
   packageName = "local-time";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/local-time[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["local-time.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM local-time DESCRIPTION A library for manipulating dates and times, based on a paper by Erik Naggum SHA256
-    05axwla93m5jml9lw6ljwzjhcl8pshfzxyqkvyj1w5l9klh569p9 URL http://beta.quicklisp.org/archive/local-time/2017-07-25/local-time-20170725-git.tgz MD5
-    77a79ed1036bc3547f5174f2256c8e93 NAME local-time TESTNAME NIL FILENAME local-time DEPS ((NAME cl-fad FILENAME cl-fad)) DEPENDENCIES (cl-fad) VERSION
-    20170725-git SIBLINGS (cl-postgres+local-time local-time.test)) */
+/* (SYSTEM local-time DESCRIPTION
+    A library for manipulating dates and times, based on a paper by Erik Naggum
+    SHA256 05axwla93m5jml9lw6ljwzjhcl8pshfzxyqkvyj1w5l9klh569p9 URL
+    http://beta.quicklisp.org/archive/local-time/2017-07-25/local-time-20170725-git.tgz
+    MD5 77a79ed1036bc3547f5174f2256c8e93 NAME local-time FILENAME local-time
+    DEPS
+    ((NAME alexandria FILENAME alexandria)
+     (NAME bordeaux-threads FILENAME bordeaux-threads)
+     (NAME cl-fad FILENAME cl-fad))
+    DEPENDENCIES (alexandria bordeaux-threads cl-fad) VERSION 20170725-git
+    SIBLINGS (cl-postgres+local-time local-time.test) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/lparallel.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/lparallel.nix
index a8d9d94c6647..1a6f217a2f96 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/lparallel.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/lparallel.nix
@@ -5,32 +5,23 @@ rec {
 
   description = ''Parallelism for Common Lisp'';
 
-  deps = [ args."bordeaux-threads" args."alexandria" ];
+  deps = [ args."alexandria" args."bordeaux-threads" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/lparallel/2016-08-25/lparallel-20160825-git.tgz'';
     sha256 = ''0wwwwszbj6m0b2rsp8mpn4m6y7xk448bw8fb7gy0ggmsdfgchfr1'';
   };
-    
+
   packageName = "lparallel";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/lparallel[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["lparallel.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM lparallel DESCRIPTION Parallelism for Common Lisp SHA256 0wwwwszbj6m0b2rsp8mpn4m6y7xk448bw8fb7gy0ggmsdfgchfr1 URL
-    http://beta.quicklisp.org/archive/lparallel/2016-08-25/lparallel-20160825-git.tgz MD5 6393e8d0c0cc9ed1c88b6e7cca8de5df NAME lparallel TESTNAME NIL FILENAME
-    lparallel DEPS ((NAME bordeaux-threads FILENAME bordeaux-threads) (NAME alexandria FILENAME alexandria)) DEPENDENCIES (bordeaux-threads alexandria) VERSION
-    20160825-git SIBLINGS (lparallel-bench lparallel-test)) */
+/* (SYSTEM lparallel DESCRIPTION Parallelism for Common Lisp SHA256
+    0wwwwszbj6m0b2rsp8mpn4m6y7xk448bw8fb7gy0ggmsdfgchfr1 URL
+    http://beta.quicklisp.org/archive/lparallel/2016-08-25/lparallel-20160825-git.tgz
+    MD5 6393e8d0c0cc9ed1c88b6e7cca8de5df NAME lparallel FILENAME lparallel DEPS
+    ((NAME alexandria FILENAME alexandria)
+     (NAME bordeaux-threads FILENAME bordeaux-threads))
+    DEPENDENCIES (alexandria bordeaux-threads) VERSION 20160825-git SIBLINGS
+    (lparallel-bench lparallel-test) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/lquery.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/lquery.nix
index e5224fff18c1..b8592e12490b 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/lquery.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/lquery.nix
@@ -5,32 +5,24 @@ rec {
 
   description = ''A library to allow jQuery-like HTML/DOM manipulation.'';
 
-  deps = [ args."plump" args."form-fiddle" args."clss" args."array-utils" ];
+  deps = [ args."array-utils" args."clss" args."form-fiddle" args."plump" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/lquery/2017-06-30/lquery-20170630-git.tgz'';
     sha256 = ''19lpzjidg31lw61b78vdsqzrsdw2js4a9s7zzr5049jpzbspszjm'';
   };
-    
+
   packageName = "lquery";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/lquery[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["lquery.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM lquery DESCRIPTION A library to allow jQuery-like HTML/DOM manipulation. SHA256 19lpzjidg31lw61b78vdsqzrsdw2js4a9s7zzr5049jpzbspszjm URL
-    http://beta.quicklisp.org/archive/lquery/2017-06-30/lquery-20170630-git.tgz MD5 aeb03cb5174d682092683da488531a9c NAME lquery TESTNAME NIL FILENAME lquery
-    DEPS ((NAME plump FILENAME plump) (NAME form-fiddle FILENAME form-fiddle) (NAME clss FILENAME clss) (NAME array-utils FILENAME array-utils)) DEPENDENCIES
-    (plump form-fiddle clss array-utils) VERSION 20170630-git SIBLINGS (lquery-test)) */
+/* (SYSTEM lquery DESCRIPTION
+    A library to allow jQuery-like HTML/DOM manipulation. SHA256
+    19lpzjidg31lw61b78vdsqzrsdw2js4a9s7zzr5049jpzbspszjm URL
+    http://beta.quicklisp.org/archive/lquery/2017-06-30/lquery-20170630-git.tgz
+    MD5 aeb03cb5174d682092683da488531a9c NAME lquery FILENAME lquery DEPS
+    ((NAME array-utils FILENAME array-utils) (NAME clss FILENAME clss)
+     (NAME form-fiddle FILENAME form-fiddle) (NAME plump FILENAME plump))
+    DEPENDENCIES (array-utils clss form-fiddle plump) VERSION 20170630-git
+    SIBLINGS (lquery-test) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/map-set.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/map-set.nix
index b5c242530fe4..db25e6ae5347 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/map-set.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/map-set.nix
@@ -11,25 +11,14 @@ rec {
     url = ''http://beta.quicklisp.org/archive/map-set/2016-06-28/map-set-20160628-hg.tgz'';
     sha256 = ''15fbha43a5153ah836djp9dbg41728adjrzwryv68gcqs31rjk9v'';
   };
-    
+
   packageName = "map-set";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/map-set[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["map-set.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM map-set DESCRIPTION Set-like data structure. SHA256 15fbha43a5153ah836djp9dbg41728adjrzwryv68gcqs31rjk9v URL
-    http://beta.quicklisp.org/archive/map-set/2016-06-28/map-set-20160628-hg.tgz MD5 49cf6b527841b717b8696efaa7bb6389 NAME map-set TESTNAME NIL FILENAME
-    map-set DEPS NIL DEPENDENCIES NIL VERSION 20160628-hg SIBLINGS NIL) */
+/* (SYSTEM map-set DESCRIPTION Set-like data structure. SHA256
+    15fbha43a5153ah836djp9dbg41728adjrzwryv68gcqs31rjk9v URL
+    http://beta.quicklisp.org/archive/map-set/2016-06-28/map-set-20160628-hg.tgz
+    MD5 49cf6b527841b717b8696efaa7bb6389 NAME map-set FILENAME map-set DEPS NIL
+    DEPENDENCIES NIL VERSION 20160628-hg SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/marshal.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/marshal.nix
index 5729c898fdc6..b45b0a5da70c 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/marshal.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/marshal.nix
@@ -11,25 +11,15 @@ rec {
     url = ''http://beta.quicklisp.org/archive/cl-marshal/2017-01-24/cl-marshal-20170124-git.tgz'';
     sha256 = ''0z43m3jspl4c4fcbbxm58hxd9k69308pyijgj7grmq6mirkq664d'';
   };
-    
+
   packageName = "marshal";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/marshal[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["marshal.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM marshal DESCRIPTION marshal: Simple (de)serialization of Lisp datastructures. SHA256 0z43m3jspl4c4fcbbxm58hxd9k69308pyijgj7grmq6mirkq664d URL
-    http://beta.quicklisp.org/archive/cl-marshal/2017-01-24/cl-marshal-20170124-git.tgz MD5 ebde1b0f1c1abeb409380884cc665351 NAME marshal TESTNAME NIL FILENAME
-    marshal DEPS NIL DEPENDENCIES NIL VERSION cl-20170124-git SIBLINGS NIL) */
+/* (SYSTEM marshal DESCRIPTION
+    marshal: Simple (de)serialization of Lisp datastructures. SHA256
+    0z43m3jspl4c4fcbbxm58hxd9k69308pyijgj7grmq6mirkq664d URL
+    http://beta.quicklisp.org/archive/cl-marshal/2017-01-24/cl-marshal-20170124-git.tgz
+    MD5 ebde1b0f1c1abeb409380884cc665351 NAME marshal FILENAME marshal DEPS NIL
+    DEPENDENCIES NIL VERSION cl-20170124-git SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/md5.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/md5.nix
index c5d86ebb7034..472205924a9c 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/md5.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/md5.nix
@@ -11,25 +11,14 @@ rec {
     url = ''http://beta.quicklisp.org/archive/md5/2017-06-30/md5-20170630-git.tgz'';
     sha256 = ''0pli483skkfbi9ln8ghxnvzw9p5srs8zyilkygsimkzy8fcc5hyx'';
   };
-    
+
   packageName = "md5";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/md5[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["md5.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM md5 DESCRIPTION The MD5 Message-Digest Algorithm RFC 1321 SHA256 0pli483skkfbi9ln8ghxnvzw9p5srs8zyilkygsimkzy8fcc5hyx URL
-    http://beta.quicklisp.org/archive/md5/2017-06-30/md5-20170630-git.tgz MD5 c6a5b3ca5a23fad3dfde23963db84910 NAME md5 TESTNAME NIL FILENAME md5 DEPS NIL
-    DEPENDENCIES NIL VERSION 20170630-git SIBLINGS NIL) */
+/* (SYSTEM md5 DESCRIPTION The MD5 Message-Digest Algorithm RFC 1321 SHA256
+    0pli483skkfbi9ln8ghxnvzw9p5srs8zyilkygsimkzy8fcc5hyx URL
+    http://beta.quicklisp.org/archive/md5/2017-06-30/md5-20170630-git.tgz MD5
+    c6a5b3ca5a23fad3dfde23963db84910 NAME md5 FILENAME md5 DEPS NIL
+    DEPENDENCIES NIL VERSION 20170630-git SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/metabang-bind.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/metabang-bind.nix
index 0bfbbbe14b2f..ac12468c8804 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/metabang-bind.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/metabang-bind.nix
@@ -11,27 +11,16 @@ rec {
     url = ''http://beta.quicklisp.org/archive/metabang-bind/2017-01-24/metabang-bind-20170124-git.tgz'';
     sha256 = ''1xyiyrc9c02ylg6b749h2ihn6922kb179x7k338dmglf4mpyqxwc'';
   };
-    
+
   packageName = "metabang-bind";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/metabang-bind[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["metabang-bind.asd"];
+  overrides = x: x;
 }
 /* (SYSTEM metabang-bind DESCRIPTION
-    Bind is a macro that generalizes multiple-value-bind, let, let*, destructuring-bind, structure and slot accessors, and a whole lot more. SHA256
-    1xyiyrc9c02ylg6b749h2ihn6922kb179x7k338dmglf4mpyqxwc URL http://beta.quicklisp.org/archive/metabang-bind/2017-01-24/metabang-bind-20170124-git.tgz MD5
-    20c6a434308598ad7fa224d99f3bcbf6 NAME metabang-bind TESTNAME NIL FILENAME metabang-bind DEPS NIL DEPENDENCIES NIL VERSION 20170124-git SIBLINGS
-    (metabang-bind-test)) */
+    Bind is a macro that generalizes multiple-value-bind, let, let*, destructuring-bind, structure and slot accessors, and a whole lot more.
+    SHA256 1xyiyrc9c02ylg6b749h2ihn6922kb179x7k338dmglf4mpyqxwc URL
+    http://beta.quicklisp.org/archive/metabang-bind/2017-01-24/metabang-bind-20170124-git.tgz
+    MD5 20c6a434308598ad7fa224d99f3bcbf6 NAME metabang-bind FILENAME
+    metabang-bind DEPS NIL DEPENDENCIES NIL VERSION 20170124-git SIBLINGS
+    (metabang-bind-test) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/metatilities-base.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/metatilities-base.nix
index 1e35369a9d02..1fc10b9c8db7 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/metatilities-base.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/metatilities-base.nix
@@ -11,25 +11,16 @@ rec {
     url = ''http://beta.quicklisp.org/archive/metatilities-base/2017-04-03/metatilities-base-20170403-git.tgz'';
     sha256 = ''14c1kzpg6ydnqca95rprzmhr09kk1jp2m8hpyn5vj2v68cvqm7br'';
   };
-    
+
   packageName = "metatilities-base";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/metatilities-base[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["metatilities-base.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM metatilities-base DESCRIPTION These are metabang.com's Common Lisp basic utilities. SHA256 14c1kzpg6ydnqca95rprzmhr09kk1jp2m8hpyn5vj2v68cvqm7br URL
-    http://beta.quicklisp.org/archive/metatilities-base/2017-04-03/metatilities-base-20170403-git.tgz MD5 8a3f429862a368e63b8fde731e9ab28a NAME
-    metatilities-base TESTNAME NIL FILENAME metatilities-base DEPS NIL DEPENDENCIES NIL VERSION 20170403-git SIBLINGS (metatilities-base-test)) */
+/* (SYSTEM metatilities-base DESCRIPTION
+    These are metabang.com's Common Lisp basic utilities. SHA256
+    14c1kzpg6ydnqca95rprzmhr09kk1jp2m8hpyn5vj2v68cvqm7br URL
+    http://beta.quicklisp.org/archive/metatilities-base/2017-04-03/metatilities-base-20170403-git.tgz
+    MD5 8a3f429862a368e63b8fde731e9ab28a NAME metatilities-base FILENAME
+    metatilities-base DEPS NIL DEPENDENCIES NIL VERSION 20170403-git SIBLINGS
+    (metatilities-base-test) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/misc-extensions.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/misc-extensions.nix
index 044ce4d93585..6334804c4f70 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/misc-extensions.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/misc-extensions.nix
@@ -11,25 +11,15 @@ rec {
     url = ''http://beta.quicklisp.org/archive/misc-extensions/2015-06-08/misc-extensions-20150608-git.tgz'';
     sha256 = ''0pkvi1l5djwpvm0p8m0bcdjm61gxvzy0vgn415gngdixvbbchdqj'';
   };
-    
+
   packageName = "misc-extensions";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/misc-extensions[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["misc-extensions.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM misc-extensions DESCRIPTION NIL SHA256 0pkvi1l5djwpvm0p8m0bcdjm61gxvzy0vgn415gngdixvbbchdqj URL
-    http://beta.quicklisp.org/archive/misc-extensions/2015-06-08/misc-extensions-20150608-git.tgz MD5 ef8a05dd4382bb9d1e3960aeb77e332e NAME misc-extensions
-    TESTNAME NIL FILENAME misc-extensions DEPS NIL DEPENDENCIES NIL VERSION 20150608-git SIBLINGS NIL) */
+/* (SYSTEM misc-extensions DESCRIPTION NIL SHA256
+    0pkvi1l5djwpvm0p8m0bcdjm61gxvzy0vgn415gngdixvbbchdqj URL
+    http://beta.quicklisp.org/archive/misc-extensions/2015-06-08/misc-extensions-20150608-git.tgz
+    MD5 ef8a05dd4382bb9d1e3960aeb77e332e NAME misc-extensions FILENAME
+    misc-extensions DEPS NIL DEPENDENCIES NIL VERSION 20150608-git SIBLINGS NIL
+    PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/moptilities.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/moptilities.nix
new file mode 100644
index 000000000000..1f2dd20ee4be
--- /dev/null
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/moptilities.nix
@@ -0,0 +1,25 @@
+args @ { fetchurl, ... }:
+rec {
+  baseName = ''moptilities'';
+  version = ''20170403-git'';
+
+  description = ''Common Lisp MOP utilities'';
+
+  deps = [ args."closer-mop" ];
+
+  src = fetchurl {
+    url = ''http://beta.quicklisp.org/archive/moptilities/2017-04-03/moptilities-20170403-git.tgz'';
+    sha256 = ''0az01wx60ll3nybqlp21f5bps3fnpqhvvfg6d9x84969wdj7q4q8'';
+  };
+
+  packageName = "moptilities";
+
+  asdFilesToKeep = ["moptilities.asd"];
+  overrides = x: x;
+}
+/* (SYSTEM moptilities DESCRIPTION Common Lisp MOP utilities SHA256
+    0az01wx60ll3nybqlp21f5bps3fnpqhvvfg6d9x84969wdj7q4q8 URL
+    http://beta.quicklisp.org/archive/moptilities/2017-04-03/moptilities-20170403-git.tgz
+    MD5 b118397be325e60a772ea3631c4f19a4 NAME moptilities FILENAME moptilities
+    DEPS ((NAME closer-mop FILENAME closer-mop)) DEPENDENCIES (closer-mop)
+    VERSION 20170403-git SIBLINGS (moptilities-test) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/mssql.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/mssql.nix
index 8d5450803ceb..565003d1e877 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/mssql.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/mssql.nix
@@ -11,26 +11,17 @@ rec {
     url = ''http://beta.quicklisp.org/archive/cl-mssql/2017-06-30/cl-mssql-20170630-git.tgz'';
     sha256 = ''0vwssk39m8pqn8srwvbcnq43wkqlav5rvq64byrnpsrwlfcbfvxy'';
   };
-    
+
   packageName = "mssql";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/mssql[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["mssql.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM mssql DESCRIPTION NIL SHA256 0vwssk39m8pqn8srwvbcnq43wkqlav5rvq64byrnpsrwlfcbfvxy URL
-    http://beta.quicklisp.org/archive/cl-mssql/2017-06-30/cl-mssql-20170630-git.tgz MD5 88e65c72923896df603ecf20039ae305 NAME mssql TESTNAME NIL FILENAME mssql
-    DEPS ((NAME cffi FILENAME cffi) (NAME garbage-pools FILENAME garbage-pools) (NAME iterate FILENAME iterate) (NAME parse-number FILENAME parse-number))
-    DEPENDENCIES (cffi garbage-pools iterate parse-number) VERSION cl-20170630-git SIBLINGS NIL) */
+/* (SYSTEM mssql DESCRIPTION NIL SHA256
+    0vwssk39m8pqn8srwvbcnq43wkqlav5rvq64byrnpsrwlfcbfvxy URL
+    http://beta.quicklisp.org/archive/cl-mssql/2017-06-30/cl-mssql-20170630-git.tgz
+    MD5 88e65c72923896df603ecf20039ae305 NAME mssql FILENAME mssql DEPS
+    ((NAME cffi FILENAME cffi) (NAME garbage-pools FILENAME garbage-pools)
+     (NAME iterate FILENAME iterate) (NAME parse-number FILENAME parse-number))
+    DEPENDENCIES (cffi garbage-pools iterate parse-number) VERSION
+    cl-20170630-git SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/mt19937.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/mt19937.nix
index 9b581d4f1ccf..a8cfc070bf99 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/mt19937.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/mt19937.nix
@@ -11,25 +11,15 @@ rec {
     url = ''http://beta.quicklisp.org/archive/mt19937/2011-02-19/mt19937-1.1.1.tgz'';
     sha256 = ''1iw636b0iw5ygkv02y8i41lh7xj0acglv0hg5agryn0zzi2nf1xv'';
   };
-    
+
   packageName = "mt19937";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/mt19937[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["mt19937.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM mt19937 DESCRIPTION Portable MT19937 Mersenne Twister random number generator SHA256 1iw636b0iw5ygkv02y8i41lh7xj0acglv0hg5agryn0zzi2nf1xv URL
-    http://beta.quicklisp.org/archive/mt19937/2011-02-19/mt19937-1.1.1.tgz MD5 54c63977b6d77abd66ebe0227b77c143 NAME mt19937 TESTNAME NIL FILENAME mt19937 DEPS
-    NIL DEPENDENCIES NIL VERSION 1.1.1 SIBLINGS NIL) */
+/* (SYSTEM mt19937 DESCRIPTION
+    Portable MT19937 Mersenne Twister random number generator SHA256
+    1iw636b0iw5ygkv02y8i41lh7xj0acglv0hg5agryn0zzi2nf1xv URL
+    http://beta.quicklisp.org/archive/mt19937/2011-02-19/mt19937-1.1.1.tgz MD5
+    54c63977b6d77abd66ebe0227b77c143 NAME mt19937 FILENAME mt19937 DEPS NIL
+    DEPENDENCIES NIL VERSION 1.1.1 SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/myway.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/myway.nix
index 6580c322b04c..fe2fc42a18b9 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/myway.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/myway.nix
@@ -5,33 +5,28 @@ rec {
 
   description = ''Sinatra-compatible routing library.'';
 
-  deps = [ args."quri" args."map-set" args."cl-utilities" args."cl-ppcre" args."alexandria" ];
+  deps = [ args."alexandria" args."babel" args."cl-ppcre" args."cl-utilities" args."map-set" args."quri" args."split-sequence" args."trivial-features" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/myway/2015-03-02/myway-20150302-git.tgz'';
     sha256 = ''1spab9zzhwjg3r5xncr5ncha7phw72wp49cxxncgphh1lfaiyblh'';
   };
-    
+
   packageName = "myway";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/myway[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["myway.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM myway DESCRIPTION Sinatra-compatible routing library. SHA256 1spab9zzhwjg3r5xncr5ncha7phw72wp49cxxncgphh1lfaiyblh URL
-    http://beta.quicklisp.org/archive/myway/2015-03-02/myway-20150302-git.tgz MD5 6a16b41eb3216c469bfc8783cce08b01 NAME myway TESTNAME NIL FILENAME myway DEPS
-    ((NAME quri FILENAME quri) (NAME map-set FILENAME map-set) (NAME cl-utilities FILENAME cl-utilities) (NAME cl-ppcre FILENAME cl-ppcre)
-     (NAME alexandria FILENAME alexandria))
-    DEPENDENCIES (quri map-set cl-utilities cl-ppcre alexandria) VERSION 20150302-git SIBLINGS (myway-test)) */
+/* (SYSTEM myway DESCRIPTION Sinatra-compatible routing library. SHA256
+    1spab9zzhwjg3r5xncr5ncha7phw72wp49cxxncgphh1lfaiyblh URL
+    http://beta.quicklisp.org/archive/myway/2015-03-02/myway-20150302-git.tgz
+    MD5 6a16b41eb3216c469bfc8783cce08b01 NAME myway FILENAME myway DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
+     (NAME cl-ppcre FILENAME cl-ppcre)
+     (NAME cl-utilities FILENAME cl-utilities) (NAME map-set FILENAME map-set)
+     (NAME quri FILENAME quri) (NAME split-sequence FILENAME split-sequence)
+     (NAME trivial-features FILENAME trivial-features))
+    DEPENDENCIES
+    (alexandria babel cl-ppcre cl-utilities map-set quri split-sequence
+     trivial-features)
+    VERSION 20150302-git SIBLINGS (myway-test) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/named-readtables.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/named-readtables.nix
index 53834f82431d..a239fe7e32b5 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/named-readtables.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/named-readtables.nix
@@ -12,27 +12,17 @@ rec {
     url = ''http://beta.quicklisp.org/archive/named-readtables/2017-01-24/named-readtables-20170124-git.tgz'';
     sha256 = ''1j0drddahdjab40dd9v9qy92xbvzwgbk6y3hv990sdp9f8ac1q45'';
   };
-    
+
   packageName = "named-readtables";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/named-readtables[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["named-readtables.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM named-readtables DESCRIPTION Library that creates a namespace for named readtable
+/* (SYSTEM named-readtables DESCRIPTION
+    Library that creates a namespace for named readtable
   akin to the namespace of packages.
     SHA256 1j0drddahdjab40dd9v9qy92xbvzwgbk6y3hv990sdp9f8ac1q45 URL
-    http://beta.quicklisp.org/archive/named-readtables/2017-01-24/named-readtables-20170124-git.tgz MD5 1237a07f90e29939e48b595eaad2bd82 NAME named-readtables
-    TESTNAME NIL FILENAME named-readtables DEPS NIL DEPENDENCIES NIL VERSION 20170124-git SIBLINGS NIL) */
+    http://beta.quicklisp.org/archive/named-readtables/2017-01-24/named-readtables-20170124-git.tgz
+    MD5 1237a07f90e29939e48b595eaad2bd82 NAME named-readtables FILENAME
+    named-readtables DEPS NIL DEPENDENCIES NIL VERSION 20170124-git SIBLINGS
+    NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/net_dot_didierverna_dot_asdf-flv.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/net_dot_didierverna_dot_asdf-flv.nix
index b289feae8832..4e7c84566a0a 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/net_dot_didierverna_dot_asdf-flv.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/net_dot_didierverna_dot_asdf-flv.nix
@@ -11,26 +11,16 @@ rec {
     url = ''http://beta.quicklisp.org/archive/asdf-flv/2016-04-21/asdf-flv-version-2.1.tgz'';
     sha256 = ''12k0d4xyv6s9vy6gq18p8c9bm334jsfjly22lhg680kx2zr7y0lc'';
   };
-    
+
   packageName = "net.didierverna.asdf-flv";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/net.didierverna.asdf-flv[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["net.didierverna.asdf-flv.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM net.didierverna.asdf-flv DESCRIPTION ASDF extension to provide support for file-local variables. SHA256
-    12k0d4xyv6s9vy6gq18p8c9bm334jsfjly22lhg680kx2zr7y0lc URL http://beta.quicklisp.org/archive/asdf-flv/2016-04-21/asdf-flv-version-2.1.tgz MD5
-    2b74b721b7e5335d2230d6b95fc6be56 NAME net.didierverna.asdf-flv TESTNAME NIL FILENAME net_dot_didierverna_dot_asdf-flv DEPS NIL DEPENDENCIES NIL VERSION
-    asdf-flv-version-2.1 SIBLINGS NIL) */
+/* (SYSTEM net.didierverna.asdf-flv DESCRIPTION
+    ASDF extension to provide support for file-local variables. SHA256
+    12k0d4xyv6s9vy6gq18p8c9bm334jsfjly22lhg680kx2zr7y0lc URL
+    http://beta.quicklisp.org/archive/asdf-flv/2016-04-21/asdf-flv-version-2.1.tgz
+    MD5 2b74b721b7e5335d2230d6b95fc6be56 NAME net.didierverna.asdf-flv FILENAME
+    net_dot_didierverna_dot_asdf-flv DEPS NIL DEPENDENCIES NIL VERSION
+    asdf-flv-version-2.1 SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/nibbles.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/nibbles.nix
index 622fd506b153..fbcfbe29164d 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/nibbles.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/nibbles.nix
@@ -3,6 +3,8 @@ rec {
   baseName = ''nibbles'';
   version = ''20170403-git'';
 
+  parasites = [ "nibbles-tests" ];
+
   description = ''A library for accessing octet-addressed blocks of data in big- and little-endian orders'';
 
   deps = [ ];
@@ -11,25 +13,16 @@ rec {
     url = ''http://beta.quicklisp.org/archive/nibbles/2017-04-03/nibbles-20170403-git.tgz'';
     sha256 = ''0bg7jwhqhm3qmpzk21gjv50sl0grdn68d770cqfs7in62ny35lk4'';
   };
-    
+
   packageName = "nibbles";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/nibbles[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["nibbles.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM nibbles DESCRIPTION A library for accessing octet-addressed blocks of data in big- and little-endian orders SHA256
-    0bg7jwhqhm3qmpzk21gjv50sl0grdn68d770cqfs7in62ny35lk4 URL http://beta.quicklisp.org/archive/nibbles/2017-04-03/nibbles-20170403-git.tgz MD5
-    5683a0a5510860a036b2a272036cda87 NAME nibbles TESTNAME NIL FILENAME nibbles DEPS NIL DEPENDENCIES NIL VERSION 20170403-git SIBLINGS NIL) */
+/* (SYSTEM nibbles DESCRIPTION
+    A library for accessing octet-addressed blocks of data in big- and little-endian orders
+    SHA256 0bg7jwhqhm3qmpzk21gjv50sl0grdn68d770cqfs7in62ny35lk4 URL
+    http://beta.quicklisp.org/archive/nibbles/2017-04-03/nibbles-20170403-git.tgz
+    MD5 5683a0a5510860a036b2a272036cda87 NAME nibbles FILENAME nibbles DEPS NIL
+    DEPENDENCIES NIL VERSION 20170403-git SIBLINGS NIL PARASITES
+    (nibbles-tests)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/optima.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/optima.nix
index 74cb02155eb7..07b86f58fe7c 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/optima.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/optima.nix
@@ -5,32 +5,23 @@ rec {
 
   description = ''Optimized Pattern Matching Library'';
 
-  deps = [ args."closer-mop" args."alexandria" ];
+  deps = [ args."alexandria" args."closer-mop" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/optima/2015-07-09/optima-20150709-git.tgz'';
     sha256 = ''0vqyqrnx2d8qwa2jlg9l2wn6vrykraj8a1ysz0gxxxnwpqc29hdc'';
   };
-    
+
   packageName = "optima";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/optima[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["optima.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM optima DESCRIPTION Optimized Pattern Matching Library SHA256 0vqyqrnx2d8qwa2jlg9l2wn6vrykraj8a1ysz0gxxxnwpqc29hdc URL
-    http://beta.quicklisp.org/archive/optima/2015-07-09/optima-20150709-git.tgz MD5 20523dc3dfc04bb2526008dff0842caa NAME optima TESTNAME NIL FILENAME optima
-    DEPS ((NAME closer-mop FILENAME closer-mop) (NAME alexandria FILENAME alexandria)) DEPENDENCIES (closer-mop alexandria) VERSION 20150709-git SIBLINGS
-    (optima.ppcre optima.test)) */
+/* (SYSTEM optima DESCRIPTION Optimized Pattern Matching Library SHA256
+    0vqyqrnx2d8qwa2jlg9l2wn6vrykraj8a1ysz0gxxxnwpqc29hdc URL
+    http://beta.quicklisp.org/archive/optima/2015-07-09/optima-20150709-git.tgz
+    MD5 20523dc3dfc04bb2526008dff0842caa NAME optima FILENAME optima DEPS
+    ((NAME alexandria FILENAME alexandria)
+     (NAME closer-mop FILENAME closer-mop))
+    DEPENDENCIES (alexandria closer-mop) VERSION 20150709-git SIBLINGS
+    (optima.ppcre optima.test) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/parenscript.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/parenscript.nix
index b7398d3973d5..bb5121667ac6 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/parenscript.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/parenscript.nix
@@ -5,32 +5,24 @@ rec {
 
   description = ''Lisp to JavaScript transpiler'';
 
-  deps = [ args."named-readtables" args."cl-ppcre" args."anaphora" ];
+  deps = [ args."anaphora" args."cl-ppcre" args."named-readtables" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/parenscript/2016-03-18/Parenscript-2.6.tgz'';
     sha256 = ''1hvr407fz7gzaxqbnki4k3l44qvl7vk6p5pn7811nrv6lk3kp5li'';
   };
-    
+
   packageName = "parenscript";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/parenscript[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["parenscript.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM parenscript DESCRIPTION Lisp to JavaScript transpiler SHA256 1hvr407fz7gzaxqbnki4k3l44qvl7vk6p5pn7811nrv6lk3kp5li URL
-    http://beta.quicklisp.org/archive/parenscript/2016-03-18/Parenscript-2.6.tgz MD5 dadecc13f2918bc618fb143e893deb99 NAME parenscript TESTNAME NIL FILENAME
-    parenscript DEPS ((NAME named-readtables FILENAME named-readtables) (NAME cl-ppcre FILENAME cl-ppcre) (NAME anaphora FILENAME anaphora)) DEPENDENCIES
-    (named-readtables cl-ppcre anaphora) VERSION Parenscript-2.6 SIBLINGS (parenscript.test)) */
+/* (SYSTEM parenscript DESCRIPTION Lisp to JavaScript transpiler SHA256
+    1hvr407fz7gzaxqbnki4k3l44qvl7vk6p5pn7811nrv6lk3kp5li URL
+    http://beta.quicklisp.org/archive/parenscript/2016-03-18/Parenscript-2.6.tgz
+    MD5 dadecc13f2918bc618fb143e893deb99 NAME parenscript FILENAME parenscript
+    DEPS
+    ((NAME anaphora FILENAME anaphora) (NAME cl-ppcre FILENAME cl-ppcre)
+     (NAME named-readtables FILENAME named-readtables))
+    DEPENDENCIES (anaphora cl-ppcre named-readtables) VERSION Parenscript-2.6
+    SIBLINGS (parenscript.test) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/parse-number.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/parse-number.nix
index 726209f96178..d998ed305bb5 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/parse-number.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/parse-number.nix
@@ -3,6 +3,8 @@ rec {
   baseName = ''parse-number'';
   version = ''1.4'';
 
+  parasites = [ "parse-number-tests" ];
+
   description = ''Number parsing library'';
 
   deps = [ ];
@@ -11,25 +13,15 @@ rec {
     url = ''http://beta.quicklisp.org/archive/parse-number/2014-08-26/parse-number-1.4.tgz'';
     sha256 = ''0y8jh7ss47z3asdxknad2g8h12nclvx0by750xniizj33b6h9blh'';
   };
-    
+
   packageName = "parse-number";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/parse-number[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["parse-number.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM parse-number DESCRIPTION Number parsing library SHA256 0y8jh7ss47z3asdxknad2g8h12nclvx0by750xniizj33b6h9blh URL
-    http://beta.quicklisp.org/archive/parse-number/2014-08-26/parse-number-1.4.tgz MD5 f189d474a2cd063f9743b452241e59a9 NAME parse-number TESTNAME NIL FILENAME
-    parse-number DEPS NIL DEPENDENCIES NIL VERSION 1.4 SIBLINGS NIL) */
+/* (SYSTEM parse-number DESCRIPTION Number parsing library SHA256
+    0y8jh7ss47z3asdxknad2g8h12nclvx0by750xniizj33b6h9blh URL
+    http://beta.quicklisp.org/archive/parse-number/2014-08-26/parse-number-1.4.tgz
+    MD5 f189d474a2cd063f9743b452241e59a9 NAME parse-number FILENAME
+    parse-number DEPS NIL DEPENDENCIES NIL VERSION 1.4 SIBLINGS NIL PARASITES
+    (parse-number-tests)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/pcall-queue.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/pcall-queue.nix
new file mode 100644
index 000000000000..93890afd3004
--- /dev/null
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/pcall-queue.nix
@@ -0,0 +1,27 @@
+args @ { fetchurl, ... }:
+rec {
+  baseName = ''pcall-queue'';
+  version = ''pcall-0.3'';
+
+  description = '''';
+
+  deps = [ args."alexandria" args."bordeaux-threads" ];
+
+  src = fetchurl {
+    url = ''http://beta.quicklisp.org/archive/pcall/2010-10-06/pcall-0.3.tgz'';
+    sha256 = ''02idx1wnv9770fl2nh179sb8njw801g70b5mf8jqhqm2gwsb731y'';
+  };
+
+  packageName = "pcall-queue";
+
+  asdFilesToKeep = ["pcall-queue.asd"];
+  overrides = x: x;
+}
+/* (SYSTEM pcall-queue DESCRIPTION NIL SHA256
+    02idx1wnv9770fl2nh179sb8njw801g70b5mf8jqhqm2gwsb731y URL
+    http://beta.quicklisp.org/archive/pcall/2010-10-06/pcall-0.3.tgz MD5
+    019d85dfd1d5d0ee8d4ee475411caf6b NAME pcall-queue FILENAME pcall-queue DEPS
+    ((NAME alexandria FILENAME alexandria)
+     (NAME bordeaux-threads FILENAME bordeaux-threads))
+    DEPENDENCIES (alexandria bordeaux-threads) VERSION pcall-0.3 SIBLINGS
+    (pcall) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/pcall.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/pcall.nix
index f12f7b68d009..025d160f4602 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/pcall.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/pcall.nix
@@ -3,33 +3,28 @@ rec {
   baseName = ''pcall'';
   version = ''0.3'';
 
+  parasites = [ "pcall-tests" ];
+
   description = '''';
 
-  deps = [ args."bordeaux-threads" ];
+  deps = [ args."alexandria" args."bordeaux-threads" args."fiveam" args."pcall-queue" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/pcall/2010-10-06/pcall-0.3.tgz'';
     sha256 = ''02idx1wnv9770fl2nh179sb8njw801g70b5mf8jqhqm2gwsb731y'';
   };
-    
+
   packageName = "pcall";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/pcall[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["pcall.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM pcall DESCRIPTION NIL SHA256 02idx1wnv9770fl2nh179sb8njw801g70b5mf8jqhqm2gwsb731y URL
-    http://beta.quicklisp.org/archive/pcall/2010-10-06/pcall-0.3.tgz MD5 019d85dfd1d5d0ee8d4ee475411caf6b NAME pcall TESTNAME NIL FILENAME pcall DEPS
-    ((NAME bordeaux-threads FILENAME bordeaux-threads)) DEPENDENCIES (bordeaux-threads) VERSION 0.3 SIBLINGS (pcall-queue)) */
+/* (SYSTEM pcall DESCRIPTION NIL SHA256
+    02idx1wnv9770fl2nh179sb8njw801g70b5mf8jqhqm2gwsb731y URL
+    http://beta.quicklisp.org/archive/pcall/2010-10-06/pcall-0.3.tgz MD5
+    019d85dfd1d5d0ee8d4ee475411caf6b NAME pcall FILENAME pcall DEPS
+    ((NAME alexandria FILENAME alexandria)
+     (NAME bordeaux-threads FILENAME bordeaux-threads)
+     (NAME fiveam FILENAME fiveam) (NAME pcall-queue FILENAME pcall-queue))
+    DEPENDENCIES (alexandria bordeaux-threads fiveam pcall-queue) VERSION 0.3
+    SIBLINGS (pcall-queue) PARASITES (pcall-tests)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/pgloader.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/pgloader.nix
index ca1ad414d750..07baf1539bc9 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/pgloader.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/pgloader.nix
@@ -5,43 +5,69 @@ rec {
 
   description = ''Load data into PostgreSQL'';
 
-  deps = [ args."abnf" args."alexandria" args."cl-base64" args."cl-csv" args."cl-fad" args."cl-log" args."cl-markdown" args."cl-postgres" args."cl-ppcre" args."command-line-arguments" args."db3" args."drakma" args."esrap" args."flexi-streams" args."ixf" args."local-time" args."lparallel" args."metabang-bind" args."mssql" args."postmodern" args."py-configparser" args."qmynd" args."quri" args."simple-date" args."split-sequence" args."sqlite" args."trivial-backtrace" args."uiop" args."usocket" args."uuid" ];
+  deps = [ args."abnf" args."alexandria" args."anaphora" args."asdf-system-connections" args."babel" args."bordeaux-threads" args."cffi" args."chipz" args."chunga" args."cl+ssl" args."cl-base64" args."cl-containers" args."cl-csv" args."cl-fad" args."cl-interpol" args."cl-log" args."cl-markdown" args."cl-postgres" args."cl-ppcre" args."cl-unicode" args."cl-utilities" args."closer-mop" args."command-line-arguments" args."db3" args."drakma" args."dynamic-classes" args."esrap" args."flexi-streams" args."garbage-pools" args."ieee-floats" args."ironclad" args."iterate" args."ixf" args."list-of" args."local-time" args."lparallel" args."md5" args."metabang-bind" args."metatilities-base" args."mssql" args."nibbles" args."parse-number" args."postmodern" args."puri" args."py-configparser" args."qmynd" args."quri" args."s-sql" args."simple-date" args."split-sequence" args."sqlite" args."trivial-backtrace" args."trivial-features" args."trivial-gray-streams" args."trivial-utf-8" args."uiop" args."usocket" args."uuid" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/pgloader/2017-07-25/pgloader-v3.4.1.tgz'';
     sha256 = ''1z6p7dz1ir9cg4gl1vkvbc1f7pv1yfv1jgwjkw29v57fdg4faz9v'';
   };
-    
+
   packageName = "pgloader";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/pgloader[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["pgloader.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM pgloader DESCRIPTION Load data into PostgreSQL SHA256 1z6p7dz1ir9cg4gl1vkvbc1f7pv1yfv1jgwjkw29v57fdg4faz9v URL
-    http://beta.quicklisp.org/archive/pgloader/2017-07-25/pgloader-v3.4.1.tgz MD5 6741f8e7d2d416942d5c4a1971576d33 NAME pgloader TESTNAME NIL FILENAME pgloader
-    DEPS
-    ((NAME abnf FILENAME abnf) (NAME alexandria FILENAME alexandria) (NAME cl-base64 FILENAME cl-base64) (NAME cl-csv FILENAME cl-csv)
-     (NAME cl-fad FILENAME cl-fad) (NAME cl-log FILENAME cl-log) (NAME cl-markdown FILENAME cl-markdown) (NAME cl-postgres FILENAME cl-postgres)
-     (NAME cl-ppcre FILENAME cl-ppcre) (NAME command-line-arguments FILENAME command-line-arguments) (NAME db3 FILENAME db3) (NAME drakma FILENAME drakma)
-     (NAME esrap FILENAME esrap) (NAME flexi-streams FILENAME flexi-streams) (NAME ixf FILENAME ixf) (NAME local-time FILENAME local-time)
-     (NAME lparallel FILENAME lparallel) (NAME metabang-bind FILENAME metabang-bind) (NAME mssql FILENAME mssql) (NAME postmodern FILENAME postmodern)
-     (NAME py-configparser FILENAME py-configparser) (NAME qmynd FILENAME qmynd) (NAME quri FILENAME quri) (NAME simple-date FILENAME simple-date)
-     (NAME split-sequence FILENAME split-sequence) (NAME sqlite FILENAME sqlite) (NAME trivial-backtrace FILENAME trivial-backtrace) (NAME uiop FILENAME uiop)
+/* (SYSTEM pgloader DESCRIPTION Load data into PostgreSQL SHA256
+    1z6p7dz1ir9cg4gl1vkvbc1f7pv1yfv1jgwjkw29v57fdg4faz9v URL
+    http://beta.quicklisp.org/archive/pgloader/2017-07-25/pgloader-v3.4.1.tgz
+    MD5 6741f8e7d2d416942d5c4a1971576d33 NAME pgloader FILENAME pgloader DEPS
+    ((NAME abnf FILENAME abnf) (NAME alexandria FILENAME alexandria)
+     (NAME anaphora FILENAME anaphora)
+     (NAME asdf-system-connections FILENAME asdf-system-connections)
+     (NAME babel FILENAME babel)
+     (NAME bordeaux-threads FILENAME bordeaux-threads)
+     (NAME cffi FILENAME cffi) (NAME chipz FILENAME chipz)
+     (NAME chunga FILENAME chunga) (NAME cl+ssl FILENAME cl+ssl)
+     (NAME cl-base64 FILENAME cl-base64)
+     (NAME cl-containers FILENAME cl-containers) (NAME cl-csv FILENAME cl-csv)
+     (NAME cl-fad FILENAME cl-fad) (NAME cl-interpol FILENAME cl-interpol)
+     (NAME cl-log FILENAME cl-log) (NAME cl-markdown FILENAME cl-markdown)
+     (NAME cl-postgres FILENAME cl-postgres) (NAME cl-ppcre FILENAME cl-ppcre)
+     (NAME cl-unicode FILENAME cl-unicode)
+     (NAME cl-utilities FILENAME cl-utilities)
+     (NAME closer-mop FILENAME closer-mop)
+     (NAME command-line-arguments FILENAME command-line-arguments)
+     (NAME db3 FILENAME db3) (NAME drakma FILENAME drakma)
+     (NAME dynamic-classes FILENAME dynamic-classes)
+     (NAME esrap FILENAME esrap) (NAME flexi-streams FILENAME flexi-streams)
+     (NAME garbage-pools FILENAME garbage-pools)
+     (NAME ieee-floats FILENAME ieee-floats) (NAME ironclad FILENAME ironclad)
+     (NAME iterate FILENAME iterate) (NAME ixf FILENAME ixf)
+     (NAME list-of FILENAME list-of) (NAME local-time FILENAME local-time)
+     (NAME lparallel FILENAME lparallel) (NAME md5 FILENAME md5)
+     (NAME metabang-bind FILENAME metabang-bind)
+     (NAME metatilities-base FILENAME metatilities-base)
+     (NAME mssql FILENAME mssql) (NAME nibbles FILENAME nibbles)
+     (NAME parse-number FILENAME parse-number)
+     (NAME postmodern FILENAME postmodern) (NAME puri FILENAME puri)
+     (NAME py-configparser FILENAME py-configparser)
+     (NAME qmynd FILENAME qmynd) (NAME quri FILENAME quri)
+     (NAME s-sql FILENAME s-sql) (NAME simple-date FILENAME simple-date)
+     (NAME split-sequence FILENAME split-sequence)
+     (NAME sqlite FILENAME sqlite)
+     (NAME trivial-backtrace FILENAME trivial-backtrace)
+     (NAME trivial-features FILENAME trivial-features)
+     (NAME trivial-gray-streams FILENAME trivial-gray-streams)
+     (NAME trivial-utf-8 FILENAME trivial-utf-8) (NAME uiop FILENAME uiop)
      (NAME usocket FILENAME usocket) (NAME uuid FILENAME uuid))
     DEPENDENCIES
-    (abnf alexandria cl-base64 cl-csv cl-fad cl-log cl-markdown cl-postgres cl-ppcre command-line-arguments db3 drakma esrap flexi-streams ixf local-time
-     lparallel metabang-bind mssql postmodern py-configparser qmynd quri simple-date split-sequence sqlite trivial-backtrace uiop usocket uuid)
-    VERSION v3.4.1 SIBLINGS NIL) */
+    (abnf alexandria anaphora asdf-system-connections babel bordeaux-threads
+     cffi chipz chunga cl+ssl cl-base64 cl-containers cl-csv cl-fad cl-interpol
+     cl-log cl-markdown cl-postgres cl-ppcre cl-unicode cl-utilities closer-mop
+     command-line-arguments db3 drakma dynamic-classes esrap flexi-streams
+     garbage-pools ieee-floats ironclad iterate ixf list-of local-time
+     lparallel md5 metabang-bind metatilities-base mssql nibbles parse-number
+     postmodern puri py-configparser qmynd quri s-sql simple-date
+     split-sequence sqlite trivial-backtrace trivial-features
+     trivial-gray-streams trivial-utf-8 uiop usocket uuid)
+    VERSION v3.4.1 SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/plump-dom.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/plump-dom.nix
new file mode 100644
index 000000000000..38fb942c331f
--- /dev/null
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/plump-dom.nix
@@ -0,0 +1,26 @@
+args @ { fetchurl, ... }:
+rec {
+  baseName = ''plump-dom'';
+  version = ''plump-20170725-git'';
+
+  description = ''A DOM for use with the Plump parser.'';
+
+  deps = [ args."array-utils" ];
+
+  src = fetchurl {
+    url = ''http://beta.quicklisp.org/archive/plump/2017-07-25/plump-20170725-git.tgz'';
+    sha256 = ''118ashy1sqi666k18fqjkkzzqcak1f1aq93vm2hiadbdvrwn9s72'';
+  };
+
+  packageName = "plump-dom";
+
+  asdFilesToKeep = ["plump-dom.asd"];
+  overrides = x: x;
+}
+/* (SYSTEM plump-dom DESCRIPTION A DOM for use with the Plump parser. SHA256
+    118ashy1sqi666k18fqjkkzzqcak1f1aq93vm2hiadbdvrwn9s72 URL
+    http://beta.quicklisp.org/archive/plump/2017-07-25/plump-20170725-git.tgz
+    MD5 e5e92dd177711a14753ee86961710458 NAME plump-dom FILENAME plump-dom DEPS
+    ((NAME array-utils FILENAME array-utils)) DEPENDENCIES (array-utils)
+    VERSION plump-20170725-git SIBLINGS (plump-lexer plump-parser plump)
+    PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/plump-lexer.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/plump-lexer.nix
new file mode 100644
index 000000000000..5edceaf4ad97
--- /dev/null
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/plump-lexer.nix
@@ -0,0 +1,26 @@
+args @ { fetchurl, ... }:
+rec {
+  baseName = ''plump-lexer'';
+  version = ''plump-20170725-git'';
+
+  description = ''A very simple toolkit to help with lexing used mainly in Plump.'';
+
+  deps = [ ];
+
+  src = fetchurl {
+    url = ''http://beta.quicklisp.org/archive/plump/2017-07-25/plump-20170725-git.tgz'';
+    sha256 = ''118ashy1sqi666k18fqjkkzzqcak1f1aq93vm2hiadbdvrwn9s72'';
+  };
+
+  packageName = "plump-lexer";
+
+  asdFilesToKeep = ["plump-lexer.asd"];
+  overrides = x: x;
+}
+/* (SYSTEM plump-lexer DESCRIPTION
+    A very simple toolkit to help with lexing used mainly in Plump. SHA256
+    118ashy1sqi666k18fqjkkzzqcak1f1aq93vm2hiadbdvrwn9s72 URL
+    http://beta.quicklisp.org/archive/plump/2017-07-25/plump-20170725-git.tgz
+    MD5 e5e92dd177711a14753ee86961710458 NAME plump-lexer FILENAME plump-lexer
+    DEPS NIL DEPENDENCIES NIL VERSION plump-20170725-git SIBLINGS
+    (plump-dom plump-parser plump) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/plump-parser.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/plump-parser.nix
new file mode 100644
index 000000000000..a9d07b48a9d4
--- /dev/null
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/plump-parser.nix
@@ -0,0 +1,30 @@
+args @ { fetchurl, ... }:
+rec {
+  baseName = ''plump-parser'';
+  version = ''plump-20170725-git'';
+
+  description = ''Plump's core parser component.'';
+
+  deps = [ args."array-utils" args."plump-dom" args."plump-lexer" args."trivial-indent" ];
+
+  src = fetchurl {
+    url = ''http://beta.quicklisp.org/archive/plump/2017-07-25/plump-20170725-git.tgz'';
+    sha256 = ''118ashy1sqi666k18fqjkkzzqcak1f1aq93vm2hiadbdvrwn9s72'';
+  };
+
+  packageName = "plump-parser";
+
+  asdFilesToKeep = ["plump-parser.asd"];
+  overrides = x: x;
+}
+/* (SYSTEM plump-parser DESCRIPTION Plump's core parser component. SHA256
+    118ashy1sqi666k18fqjkkzzqcak1f1aq93vm2hiadbdvrwn9s72 URL
+    http://beta.quicklisp.org/archive/plump/2017-07-25/plump-20170725-git.tgz
+    MD5 e5e92dd177711a14753ee86961710458 NAME plump-parser FILENAME
+    plump-parser DEPS
+    ((NAME array-utils FILENAME array-utils)
+     (NAME plump-dom FILENAME plump-dom)
+     (NAME plump-lexer FILENAME plump-lexer)
+     (NAME trivial-indent FILENAME trivial-indent))
+    DEPENDENCIES (array-utils plump-dom plump-lexer trivial-indent) VERSION
+    plump-20170725-git SIBLINGS (plump-dom plump-lexer plump) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/plump.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/plump.nix
index e25b89b2cf4f..763677c677c2 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/plump.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/plump.nix
@@ -5,31 +5,28 @@ rec {
 
   description = ''An XML / XHTML / HTML parser that aims to be as lenient as possible.'';
 
-  deps = [ ];
+  deps = [ args."array-utils" args."plump-dom" args."plump-lexer" args."plump-parser" args."trivial-indent" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/plump/2017-07-25/plump-20170725-git.tgz'';
     sha256 = ''118ashy1sqi666k18fqjkkzzqcak1f1aq93vm2hiadbdvrwn9s72'';
   };
-    
+
   packageName = "plump";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/plump[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["plump.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM plump DESCRIPTION An XML / XHTML / HTML parser that aims to be as lenient as possible. SHA256 118ashy1sqi666k18fqjkkzzqcak1f1aq93vm2hiadbdvrwn9s72
-    URL http://beta.quicklisp.org/archive/plump/2017-07-25/plump-20170725-git.tgz MD5 e5e92dd177711a14753ee86961710458 NAME plump TESTNAME NIL FILENAME plump
-    DEPS NIL DEPENDENCIES NIL VERSION 20170725-git SIBLINGS (plump-dom plump-lexer plump-parser)) */
+/* (SYSTEM plump DESCRIPTION
+    An XML / XHTML / HTML parser that aims to be as lenient as possible. SHA256
+    118ashy1sqi666k18fqjkkzzqcak1f1aq93vm2hiadbdvrwn9s72 URL
+    http://beta.quicklisp.org/archive/plump/2017-07-25/plump-20170725-git.tgz
+    MD5 e5e92dd177711a14753ee86961710458 NAME plump FILENAME plump DEPS
+    ((NAME array-utils FILENAME array-utils)
+     (NAME plump-dom FILENAME plump-dom)
+     (NAME plump-lexer FILENAME plump-lexer)
+     (NAME plump-parser FILENAME plump-parser)
+     (NAME trivial-indent FILENAME trivial-indent))
+    DEPENDENCIES
+    (array-utils plump-dom plump-lexer plump-parser trivial-indent) VERSION
+    20170725-git SIBLINGS (plump-dom plump-lexer plump-parser) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/postmodern.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/postmodern.nix
index 18dc40ff51ad..bbc0ad6b15bd 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/postmodern.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/postmodern.nix
@@ -3,34 +3,37 @@ rec {
   baseName = ''postmodern'';
   version = ''20170403-git'';
 
+  parasites = [ "postmodern-tests" ];
+
   description = ''PostgreSQL programming API'';
 
-  deps = [ args."closer-mop" args."bordeaux-threads" ];
+  deps = [ args."alexandria" args."bordeaux-threads" args."cl-postgres" args."cl-postgres-tests" args."closer-mop" args."fiveam" args."md5" args."s-sql" args."simple-date" args."simple-date-postgres-glue" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/postmodern/2017-04-03/postmodern-20170403-git.tgz'';
     sha256 = ''1pklmp0y0falrmbxll79drrcrlgslasavdym5r45m8kkzi1zpv9p'';
   };
-    
+
   packageName = "postmodern";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/postmodern[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["postmodern.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM postmodern DESCRIPTION PostgreSQL programming API SHA256 1pklmp0y0falrmbxll79drrcrlgslasavdym5r45m8kkzi1zpv9p URL
-    http://beta.quicklisp.org/archive/postmodern/2017-04-03/postmodern-20170403-git.tgz MD5 7a4145a0a5ff5bcb7a4bf29b5c2915d2 NAME postmodern TESTNAME NIL
-    FILENAME postmodern DEPS ((NAME closer-mop FILENAME closer-mop) (NAME bordeaux-threads FILENAME bordeaux-threads)) DEPENDENCIES
-    (closer-mop bordeaux-threads) VERSION 20170403-git SIBLINGS (cl-postgres s-sql simple-date)) */
+/* (SYSTEM postmodern DESCRIPTION PostgreSQL programming API SHA256
+    1pklmp0y0falrmbxll79drrcrlgslasavdym5r45m8kkzi1zpv9p URL
+    http://beta.quicklisp.org/archive/postmodern/2017-04-03/postmodern-20170403-git.tgz
+    MD5 7a4145a0a5ff5bcb7a4bf29b5c2915d2 NAME postmodern FILENAME postmodern
+    DEPS
+    ((NAME alexandria FILENAME alexandria)
+     (NAME bordeaux-threads FILENAME bordeaux-threads)
+     (NAME cl-postgres FILENAME cl-postgres)
+     (NAME cl-postgres-tests FILENAME cl-postgres-tests)
+     (NAME closer-mop FILENAME closer-mop) (NAME fiveam FILENAME fiveam)
+     (NAME md5 FILENAME md5) (NAME s-sql FILENAME s-sql)
+     (NAME simple-date FILENAME simple-date)
+     (NAME simple-date-postgres-glue FILENAME simple-date-postgres-glue))
+    DEPENDENCIES
+    (alexandria bordeaux-threads cl-postgres cl-postgres-tests closer-mop
+     fiveam md5 s-sql simple-date simple-date-postgres-glue)
+    VERSION 20170403-git SIBLINGS (cl-postgres s-sql simple-date) PARASITES
+    (postmodern-tests)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/proc-parse.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/proc-parse.nix
index 142d24f5e48f..8ffcbc784ff7 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/proc-parse.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/proc-parse.nix
@@ -5,32 +5,24 @@ rec {
 
   description = ''Procedural vector parser'';
 
-  deps = [ args."babel" args."alexandria" ];
+  deps = [ args."alexandria" args."babel" args."trivial-features" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/proc-parse/2016-03-18/proc-parse-20160318-git.tgz'';
     sha256 = ''00261w269w9chg6r3sh8hg8994njbsai1g3zni0whm2dzxxq6rnl'';
   };
-    
+
   packageName = "proc-parse";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/proc-parse[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["proc-parse.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM proc-parse DESCRIPTION Procedural vector parser SHA256 00261w269w9chg6r3sh8hg8994njbsai1g3zni0whm2dzxxq6rnl URL
-    http://beta.quicklisp.org/archive/proc-parse/2016-03-18/proc-parse-20160318-git.tgz MD5 5e43f50284fa70c448a3df12d1eea2ea NAME proc-parse TESTNAME NIL
-    FILENAME proc-parse DEPS ((NAME babel FILENAME babel) (NAME alexandria FILENAME alexandria)) DEPENDENCIES (babel alexandria) VERSION 20160318-git SIBLINGS
-    (proc-parse-test)) */
+/* (SYSTEM proc-parse DESCRIPTION Procedural vector parser SHA256
+    00261w269w9chg6r3sh8hg8994njbsai1g3zni0whm2dzxxq6rnl URL
+    http://beta.quicklisp.org/archive/proc-parse/2016-03-18/proc-parse-20160318-git.tgz
+    MD5 5e43f50284fa70c448a3df12d1eea2ea NAME proc-parse FILENAME proc-parse
+    DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
+     (NAME trivial-features FILENAME trivial-features))
+    DEPENDENCIES (alexandria babel trivial-features) VERSION 20160318-git
+    SIBLINGS (proc-parse-test) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/prove.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/prove.nix
index ae823959fdcb..7815efa4ecd3 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/prove.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/prove.nix
@@ -5,33 +5,26 @@ rec {
 
   description = '''';
 
-  deps = [ args."uiop" args."cl-ppcre" args."cl-colors" args."cl-ansi-text" args."alexandria" ];
+  deps = [ args."alexandria" args."anaphora" args."cl-ansi-text" args."cl-colors" args."cl-ppcre" args."let-plus" args."uiop" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/prove/2017-04-03/prove-20170403-git.tgz'';
     sha256 = ''091xxkn9zj22c4gmm8x714k29bs4j0j7akppwh55zjsmrxdhqcpl'';
   };
-    
+
   packageName = "prove";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/prove[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["prove.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM prove DESCRIPTION NIL SHA256 091xxkn9zj22c4gmm8x714k29bs4j0j7akppwh55zjsmrxdhqcpl URL
-    http://beta.quicklisp.org/archive/prove/2017-04-03/prove-20170403-git.tgz MD5 063b615692c8711d2392204ecf1b37b7 NAME prove TESTNAME NIL FILENAME prove DEPS
-    ((NAME uiop FILENAME uiop) (NAME cl-ppcre FILENAME cl-ppcre) (NAME cl-colors FILENAME cl-colors) (NAME cl-ansi-text FILENAME cl-ansi-text)
-     (NAME alexandria FILENAME alexandria))
-    DEPENDENCIES (uiop cl-ppcre cl-colors cl-ansi-text alexandria) VERSION 20170403-git SIBLINGS (cl-test-more prove-asdf prove-test)) */
+/* (SYSTEM prove DESCRIPTION NIL SHA256
+    091xxkn9zj22c4gmm8x714k29bs4j0j7akppwh55zjsmrxdhqcpl URL
+    http://beta.quicklisp.org/archive/prove/2017-04-03/prove-20170403-git.tgz
+    MD5 063b615692c8711d2392204ecf1b37b7 NAME prove FILENAME prove DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME anaphora FILENAME anaphora)
+     (NAME cl-ansi-text FILENAME cl-ansi-text)
+     (NAME cl-colors FILENAME cl-colors) (NAME cl-ppcre FILENAME cl-ppcre)
+     (NAME let-plus FILENAME let-plus) (NAME uiop FILENAME uiop))
+    DEPENDENCIES
+    (alexandria anaphora cl-ansi-text cl-colors cl-ppcre let-plus uiop) VERSION
+    20170403-git SIBLINGS (cl-test-more prove-asdf prove-test) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/ptester.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/ptester.nix
new file mode 100644
index 000000000000..ffa2e595c26a
--- /dev/null
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/ptester.nix
@@ -0,0 +1,24 @@
+args @ { fetchurl, ... }:
+rec {
+  baseName = ''ptester'';
+  version = ''20160929-git'';
+
+  description = ''Portable test harness package'';
+
+  deps = [ ];
+
+  src = fetchurl {
+    url = ''http://beta.quicklisp.org/archive/ptester/2016-09-29/ptester-20160929-git.tgz'';
+    sha256 = ''04rlq1zljhxc65pm31bah3sq3as24l0sdivz440s79qlnnyh13hz'';
+  };
+
+  packageName = "ptester";
+
+  asdFilesToKeep = ["ptester.asd"];
+  overrides = x: x;
+}
+/* (SYSTEM ptester DESCRIPTION Portable test harness package SHA256
+    04rlq1zljhxc65pm31bah3sq3as24l0sdivz440s79qlnnyh13hz URL
+    http://beta.quicklisp.org/archive/ptester/2016-09-29/ptester-20160929-git.tgz
+    MD5 938a4366b6608ae5c4a0be9da11a61d4 NAME ptester FILENAME ptester DEPS NIL
+    DEPENDENCIES NIL VERSION 20160929-git SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/puri.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/puri.nix
index 9a7e24cebdc9..e0e6bdc0f172 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/puri.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/puri.nix
@@ -3,33 +3,25 @@ rec {
   baseName = ''puri'';
   version = ''20150923-git'';
 
+  parasites = [ "puri-tests" ];
+
   description = ''Portable Universal Resource Indentifier Library'';
 
-  deps = [ ];
+  deps = [ args."ptester" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/puri/2015-09-23/puri-20150923-git.tgz'';
     sha256 = ''099ay2zji5ablj2jj56sb49hk2l9x5s11vpx6893qwwjsp2881qa'';
   };
-    
+
   packageName = "puri";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/puri[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["puri.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM puri DESCRIPTION Portable Universal Resource Indentifier Library SHA256 099ay2zji5ablj2jj56sb49hk2l9x5s11vpx6893qwwjsp2881qa URL
-    http://beta.quicklisp.org/archive/puri/2015-09-23/puri-20150923-git.tgz MD5 3bd4e30aa6b6baf6f26753b5fc357e0f NAME puri TESTNAME NIL FILENAME puri DEPS NIL
-    DEPENDENCIES NIL VERSION 20150923-git SIBLINGS NIL) */
+/* (SYSTEM puri DESCRIPTION Portable Universal Resource Indentifier Library
+    SHA256 099ay2zji5ablj2jj56sb49hk2l9x5s11vpx6893qwwjsp2881qa URL
+    http://beta.quicklisp.org/archive/puri/2015-09-23/puri-20150923-git.tgz MD5
+    3bd4e30aa6b6baf6f26753b5fc357e0f NAME puri FILENAME puri DEPS
+    ((NAME ptester FILENAME ptester)) DEPENDENCIES (ptester) VERSION
+    20150923-git SIBLINGS NIL PARASITES (puri-tests)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/py-configparser.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/py-configparser.nix
index 96d09bc7dc3f..3b3d90d1a1e4 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/py-configparser.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/py-configparser.nix
@@ -11,25 +11,16 @@ rec {
     url = ''http://beta.quicklisp.org/archive/py-configparser/2017-07-25/py-configparser-20170725-svn.tgz'';
     sha256 = ''08wfjlyhjqn54p3k0kv7ijsf72rsn4abdjnhd2bfkapr2a4jz6zr'';
   };
-    
+
   packageName = "py-configparser";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/py-configparser[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["py-configparser.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM py-configparser DESCRIPTION Common Lisp implementation of the Python ConfigParser module SHA256 08wfjlyhjqn54p3k0kv7ijsf72rsn4abdjnhd2bfkapr2a4jz6zr
-    URL http://beta.quicklisp.org/archive/py-configparser/2017-07-25/py-configparser-20170725-svn.tgz MD5 3486092bb1d56be05dab16036f288a74 NAME py-configparser
-    TESTNAME NIL FILENAME py-configparser DEPS ((NAME parse-number FILENAME parse-number)) DEPENDENCIES (parse-number) VERSION 20170725-svn SIBLINGS NIL) */
+/* (SYSTEM py-configparser DESCRIPTION
+    Common Lisp implementation of the Python ConfigParser module SHA256
+    08wfjlyhjqn54p3k0kv7ijsf72rsn4abdjnhd2bfkapr2a4jz6zr URL
+    http://beta.quicklisp.org/archive/py-configparser/2017-07-25/py-configparser-20170725-svn.tgz
+    MD5 3486092bb1d56be05dab16036f288a74 NAME py-configparser FILENAME
+    py-configparser DEPS ((NAME parse-number FILENAME parse-number))
+    DEPENDENCIES (parse-number) VERSION 20170725-svn SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/qmynd.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/qmynd.nix
index b57bb0d16234..d6d853413c25 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/qmynd.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/qmynd.nix
@@ -5,33 +5,26 @@ rec {
 
   description = ''MySQL Native Driver'';
 
-  deps = [ args."usocket" args."trivial-gray-streams" args."list-of" args."ironclad" args."flexi-streams" args."babel" ];
+  deps = [ args."babel" args."flexi-streams" args."ironclad" args."list-of" args."trivial-gray-streams" args."usocket" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/qmynd/2017-06-30/qmynd-20170630-git.tgz'';
     sha256 = ''01rg2rm4n19f5g39z2gdjcfy68z7ir51r44524vzzs0x9na9y6bi'';
   };
-    
+
   packageName = "qmynd";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/qmynd[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["qmynd.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM qmynd DESCRIPTION MySQL Native Driver SHA256 01rg2rm4n19f5g39z2gdjcfy68z7ir51r44524vzzs0x9na9y6bi URL
-    http://beta.quicklisp.org/archive/qmynd/2017-06-30/qmynd-20170630-git.tgz MD5 64776472d1e0c4c0e41a1b4a2a24167e NAME qmynd TESTNAME NIL FILENAME qmynd DEPS
-    ((NAME usocket FILENAME usocket) (NAME trivial-gray-streams FILENAME trivial-gray-streams) (NAME list-of FILENAME list-of)
-     (NAME ironclad FILENAME ironclad) (NAME flexi-streams FILENAME flexi-streams) (NAME babel FILENAME babel))
-    DEPENDENCIES (usocket trivial-gray-streams list-of ironclad flexi-streams babel) VERSION 20170630-git SIBLINGS (qmynd-test)) */
+/* (SYSTEM qmynd DESCRIPTION MySQL Native Driver SHA256
+    01rg2rm4n19f5g39z2gdjcfy68z7ir51r44524vzzs0x9na9y6bi URL
+    http://beta.quicklisp.org/archive/qmynd/2017-06-30/qmynd-20170630-git.tgz
+    MD5 64776472d1e0c4c0e41a1b4a2a24167e NAME qmynd FILENAME qmynd DEPS
+    ((NAME babel FILENAME babel) (NAME flexi-streams FILENAME flexi-streams)
+     (NAME ironclad FILENAME ironclad) (NAME list-of FILENAME list-of)
+     (NAME trivial-gray-streams FILENAME trivial-gray-streams)
+     (NAME usocket FILENAME usocket))
+    DEPENDENCIES
+    (babel flexi-streams ironclad list-of trivial-gray-streams usocket) VERSION
+    20170630-git SIBLINGS (qmynd-test) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/query-fs.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/query-fs.nix
index 1cfd62686c4c..45300754647e 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/query-fs.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/query-fs.nix
@@ -5,35 +5,38 @@ rec {
 
   description = ''High-level virtual FS using CL-Fuse-Meta-FS to represent results of queries'';
 
-  deps = [ args."bordeaux-threads" args."cl-fuse" args."cl-fuse-meta-fs" args."cl-ppcre" args."command-line-arguments" args."iterate" args."trivial-backtrace" ];
+  deps = [ args."alexandria" args."babel" args."bordeaux-threads" args."cffi" args."cffi-grovel" args."cl-fuse" args."cl-fuse-meta-fs" args."cl-ppcre" args."cl-utilities" args."command-line-arguments" args."iterate" args."pcall" args."pcall-queue" args."trivial-backtrace" args."trivial-features" args."trivial-utf-8" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/query-fs/2016-05-31/query-fs-20160531-git.tgz'';
     sha256 = ''0wknr3rffihg1my8ihmpwssxpxj4bfmqcly0s37q51fllxkr1v5a'';
   };
-    
+
   packageName = "query-fs";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/query-fs[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["query-fs.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM query-fs DESCRIPTION High-level virtual FS using CL-Fuse-Meta-FS to represent results of queries SHA256
-    0wknr3rffihg1my8ihmpwssxpxj4bfmqcly0s37q51fllxkr1v5a URL http://beta.quicklisp.org/archive/query-fs/2016-05-31/query-fs-20160531-git.tgz MD5
-    dfbb3d0e7b5d990488a17b184771d049 NAME query-fs TESTNAME NIL FILENAME query-fs DEPS
-    ((NAME bordeaux-threads FILENAME bordeaux-threads) (NAME cl-fuse FILENAME cl-fuse) (NAME cl-fuse-meta-fs FILENAME cl-fuse-meta-fs)
-     (NAME cl-ppcre FILENAME cl-ppcre) (NAME command-line-arguments FILENAME command-line-arguments) (NAME iterate FILENAME iterate)
-     (NAME trivial-backtrace FILENAME trivial-backtrace))
-    DEPENDENCIES (bordeaux-threads cl-fuse cl-fuse-meta-fs cl-ppcre command-line-arguments iterate trivial-backtrace) VERSION 20160531-git SIBLINGS NIL) */
+/* (SYSTEM query-fs DESCRIPTION
+    High-level virtual FS using CL-Fuse-Meta-FS to represent results of queries
+    SHA256 0wknr3rffihg1my8ihmpwssxpxj4bfmqcly0s37q51fllxkr1v5a URL
+    http://beta.quicklisp.org/archive/query-fs/2016-05-31/query-fs-20160531-git.tgz
+    MD5 dfbb3d0e7b5d990488a17b184771d049 NAME query-fs FILENAME query-fs DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
+     (NAME bordeaux-threads FILENAME bordeaux-threads)
+     (NAME cffi FILENAME cffi) (NAME cffi-grovel FILENAME cffi-grovel)
+     (NAME cl-fuse FILENAME cl-fuse)
+     (NAME cl-fuse-meta-fs FILENAME cl-fuse-meta-fs)
+     (NAME cl-ppcre FILENAME cl-ppcre)
+     (NAME cl-utilities FILENAME cl-utilities)
+     (NAME command-line-arguments FILENAME command-line-arguments)
+     (NAME iterate FILENAME iterate) (NAME pcall FILENAME pcall)
+     (NAME pcall-queue FILENAME pcall-queue)
+     (NAME trivial-backtrace FILENAME trivial-backtrace)
+     (NAME trivial-features FILENAME trivial-features)
+     (NAME trivial-utf-8 FILENAME trivial-utf-8))
+    DEPENDENCIES
+    (alexandria babel bordeaux-threads cffi cffi-grovel cl-fuse cl-fuse-meta-fs
+     cl-ppcre cl-utilities command-line-arguments iterate pcall pcall-queue
+     trivial-backtrace trivial-features trivial-utf-8)
+    VERSION 20160531-git SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/quri.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/quri.nix
index 26fab0612e94..75eade4d3171 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/quri.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/quri.nix
@@ -5,32 +5,26 @@ rec {
 
   description = ''Yet another URI library for Common Lisp'';
 
-  deps = [ args."split-sequence" args."cl-utilities" args."babel" args."alexandria" ];
+  deps = [ args."alexandria" args."babel" args."cl-utilities" args."split-sequence" args."trivial-features" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/quri/2016-12-04/quri-20161204-git.tgz'';
     sha256 = ''14if83kd2mv68p4g4ch2w796w3micpzv40z7xrcwzwj64wngwabv'';
   };
-    
+
   packageName = "quri";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/quri[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["quri.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM quri DESCRIPTION Yet another URI library for Common Lisp SHA256 14if83kd2mv68p4g4ch2w796w3micpzv40z7xrcwzwj64wngwabv URL
-    http://beta.quicklisp.org/archive/quri/2016-12-04/quri-20161204-git.tgz MD5 8c87e99d4f7308d83aab361a6e36508a NAME quri TESTNAME NIL FILENAME quri DEPS
-    ((NAME split-sequence FILENAME split-sequence) (NAME cl-utilities FILENAME cl-utilities) (NAME babel FILENAME babel) (NAME alexandria FILENAME alexandria))
-    DEPENDENCIES (split-sequence cl-utilities babel alexandria) VERSION 20161204-git SIBLINGS (quri-test)) */
+/* (SYSTEM quri DESCRIPTION Yet another URI library for Common Lisp SHA256
+    14if83kd2mv68p4g4ch2w796w3micpzv40z7xrcwzwj64wngwabv URL
+    http://beta.quicklisp.org/archive/quri/2016-12-04/quri-20161204-git.tgz MD5
+    8c87e99d4f7308d83aab361a6e36508a NAME quri FILENAME quri DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
+     (NAME cl-utilities FILENAME cl-utilities)
+     (NAME split-sequence FILENAME split-sequence)
+     (NAME trivial-features FILENAME trivial-features))
+    DEPENDENCIES
+    (alexandria babel cl-utilities split-sequence trivial-features) VERSION
+    20161204-git SIBLINGS (quri-test) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/rfc2388.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/rfc2388.nix
index e74c2c51b79e..be2897d19a4a 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/rfc2388.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/rfc2388.nix
@@ -11,25 +11,14 @@ rec {
     url = ''http://beta.quicklisp.org/archive/rfc2388/2013-07-20/rfc2388-20130720-git.tgz'';
     sha256 = ''1ky99cr4bgfyh0pfpl5f6fsmq1qdbgi4b8v0cfs4y73f78p1f8b6'';
   };
-    
+
   packageName = "rfc2388";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/rfc2388[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["rfc2388.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM rfc2388 DESCRIPTION Implementation of RFC 2388 SHA256 1ky99cr4bgfyh0pfpl5f6fsmq1qdbgi4b8v0cfs4y73f78p1f8b6 URL
-    http://beta.quicklisp.org/archive/rfc2388/2013-07-20/rfc2388-20130720-git.tgz MD5 10a8bfea588196b1147d5dc7bf759bb1 NAME rfc2388 TESTNAME NIL FILENAME
-    rfc2388 DEPS NIL DEPENDENCIES NIL VERSION 20130720-git SIBLINGS NIL) */
+/* (SYSTEM rfc2388 DESCRIPTION Implementation of RFC 2388 SHA256
+    1ky99cr4bgfyh0pfpl5f6fsmq1qdbgi4b8v0cfs4y73f78p1f8b6 URL
+    http://beta.quicklisp.org/archive/rfc2388/2013-07-20/rfc2388-20130720-git.tgz
+    MD5 10a8bfea588196b1147d5dc7bf759bb1 NAME rfc2388 FILENAME rfc2388 DEPS NIL
+    DEPENDENCIES NIL VERSION 20130720-git SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/rt.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/rt.nix
new file mode 100644
index 000000000000..d5be4be7daf4
--- /dev/null
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/rt.nix
@@ -0,0 +1,24 @@
+args @ { fetchurl, ... }:
+rec {
+  baseName = ''rt'';
+  version = ''20101006-git'';
+
+  description = ''MIT Regression Tester'';
+
+  deps = [ ];
+
+  src = fetchurl {
+    url = ''http://beta.quicklisp.org/archive/rt/2010-10-06/rt-20101006-git.tgz'';
+    sha256 = ''1jncar0xwkqk8yrc2dln389ivvgzs7ijdhhs3zpfyi5d21f0qa1v'';
+  };
+
+  packageName = "rt";
+
+  asdFilesToKeep = ["rt.asd"];
+  overrides = x: x;
+}
+/* (SYSTEM rt DESCRIPTION MIT Regression Tester SHA256
+    1jncar0xwkqk8yrc2dln389ivvgzs7ijdhhs3zpfyi5d21f0qa1v URL
+    http://beta.quicklisp.org/archive/rt/2010-10-06/rt-20101006-git.tgz MD5
+    94a56c473399572ca835ac91c77c04e5 NAME rt FILENAME rt DEPS NIL DEPENDENCIES
+    NIL VERSION 20101006-git SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/s-sql.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/s-sql.nix
new file mode 100644
index 000000000000..f75e890760e8
--- /dev/null
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/s-sql.nix
@@ -0,0 +1,26 @@
+args @ { fetchurl, ... }:
+rec {
+  baseName = ''s-sql'';
+  version = ''postmodern-20170403-git'';
+
+  description = '''';
+
+  deps = [ args."cl-postgres" args."md5" ];
+
+  src = fetchurl {
+    url = ''http://beta.quicklisp.org/archive/postmodern/2017-04-03/postmodern-20170403-git.tgz'';
+    sha256 = ''1pklmp0y0falrmbxll79drrcrlgslasavdym5r45m8kkzi1zpv9p'';
+  };
+
+  packageName = "s-sql";
+
+  asdFilesToKeep = ["s-sql.asd"];
+  overrides = x: x;
+}
+/* (SYSTEM s-sql DESCRIPTION NIL SHA256
+    1pklmp0y0falrmbxll79drrcrlgslasavdym5r45m8kkzi1zpv9p URL
+    http://beta.quicklisp.org/archive/postmodern/2017-04-03/postmodern-20170403-git.tgz
+    MD5 7a4145a0a5ff5bcb7a4bf29b5c2915d2 NAME s-sql FILENAME s-sql DEPS
+    ((NAME cl-postgres FILENAME cl-postgres) (NAME md5 FILENAME md5))
+    DEPENDENCIES (cl-postgres md5) VERSION postmodern-20170403-git SIBLINGS
+    (cl-postgres postmodern simple-date) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/salza2.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/salza2.nix
index 9654a86b74bf..9056cfbdcca8 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/salza2.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/salza2.nix
@@ -12,26 +12,16 @@ rec {
     url = ''http://beta.quicklisp.org/archive/salza2/2013-07-20/salza2-2.0.9.tgz'';
     sha256 = ''1m0hksgvq3njd9xa2nxlm161vgzw77djxmisq08v9pz2bz16v8va'';
   };
-    
+
   packageName = "salza2";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/salza2[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["salza2.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM salza2 DESCRIPTION Create compressed data in the ZLIB, DEFLATE, or GZIP
+/* (SYSTEM salza2 DESCRIPTION
+    Create compressed data in the ZLIB, DEFLATE, or GZIP
   data formats
-    SHA256 1m0hksgvq3njd9xa2nxlm161vgzw77djxmisq08v9pz2bz16v8va URL http://beta.quicklisp.org/archive/salza2/2013-07-20/salza2-2.0.9.tgz MD5
-    e62383de435081c0f1f888ec363bb32c NAME salza2 TESTNAME NIL FILENAME salza2 DEPS NIL DEPENDENCIES NIL VERSION 2.0.9 SIBLINGS NIL) */
+    SHA256 1m0hksgvq3njd9xa2nxlm161vgzw77djxmisq08v9pz2bz16v8va URL
+    http://beta.quicklisp.org/archive/salza2/2013-07-20/salza2-2.0.9.tgz MD5
+    e62383de435081c0f1f888ec363bb32c NAME salza2 FILENAME salza2 DEPS NIL
+    DEPENDENCIES NIL VERSION 2.0.9 SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/simple-date.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/simple-date.nix
index 00e2b3dbd0f9..31e70992a4cf 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/simple-date.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/simple-date.nix
@@ -3,33 +3,29 @@ rec {
   baseName = ''simple-date'';
   version = ''postmodern-20170403-git'';
 
+  parasites = [ "simple-date-postgres-glue" "simple-date-tests" ];
+
   description = '''';
 
-  deps = [ ];
+  deps = [ args."cl-postgres" args."fiveam" args."md5" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/postmodern/2017-04-03/postmodern-20170403-git.tgz'';
     sha256 = ''1pklmp0y0falrmbxll79drrcrlgslasavdym5r45m8kkzi1zpv9p'';
   };
-    
+
   packageName = "simple-date";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/simple-date[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["simple-date.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM simple-date DESCRIPTION NIL SHA256 1pklmp0y0falrmbxll79drrcrlgslasavdym5r45m8kkzi1zpv9p URL
-    http://beta.quicklisp.org/archive/postmodern/2017-04-03/postmodern-20170403-git.tgz MD5 7a4145a0a5ff5bcb7a4bf29b5c2915d2 NAME simple-date TESTNAME NIL
-    FILENAME simple-date DEPS NIL DEPENDENCIES NIL VERSION postmodern-20170403-git SIBLINGS (cl-postgres postmodern s-sql)) */
+/* (SYSTEM simple-date DESCRIPTION NIL SHA256
+    1pklmp0y0falrmbxll79drrcrlgslasavdym5r45m8kkzi1zpv9p URL
+    http://beta.quicklisp.org/archive/postmodern/2017-04-03/postmodern-20170403-git.tgz
+    MD5 7a4145a0a5ff5bcb7a4bf29b5c2915d2 NAME simple-date FILENAME simple-date
+    DEPS
+    ((NAME cl-postgres FILENAME cl-postgres) (NAME fiveam FILENAME fiveam)
+     (NAME md5 FILENAME md5))
+    DEPENDENCIES (cl-postgres fiveam md5) VERSION postmodern-20170403-git
+    SIBLINGS (cl-postgres postmodern s-sql) PARASITES
+    (simple-date-postgres-glue simple-date-tests)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/smart-buffer.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/smart-buffer.nix
index 9a04f3c64dba..63adab55741b 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/smart-buffer.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/smart-buffer.nix
@@ -5,32 +5,25 @@ rec {
 
   description = ''Smart octets buffer'';
 
-  deps = [ args."xsubseq" args."uiop" args."flexi-streams" ];
+  deps = [ args."flexi-streams" args."trivial-gray-streams" args."uiop" args."xsubseq" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/smart-buffer/2016-06-28/smart-buffer-20160628-git.tgz'';
     sha256 = ''1wp50snkc8739n91xlnfnq1dzz3kfp0awgp92m7xbpcw3hbaib1s'';
   };
-    
+
   packageName = "smart-buffer";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/smart-buffer[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["smart-buffer.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM smart-buffer DESCRIPTION Smart octets buffer SHA256 1wp50snkc8739n91xlnfnq1dzz3kfp0awgp92m7xbpcw3hbaib1s URL
-    http://beta.quicklisp.org/archive/smart-buffer/2016-06-28/smart-buffer-20160628-git.tgz MD5 454d8510618da8111c7ca687549b7035 NAME smart-buffer TESTNAME NIL
-    FILENAME smart-buffer DEPS ((NAME xsubseq FILENAME xsubseq) (NAME uiop FILENAME uiop) (NAME flexi-streams FILENAME flexi-streams)) DEPENDENCIES
-    (xsubseq uiop flexi-streams) VERSION 20160628-git SIBLINGS (smart-buffer-test)) */
+/* (SYSTEM smart-buffer DESCRIPTION Smart octets buffer SHA256
+    1wp50snkc8739n91xlnfnq1dzz3kfp0awgp92m7xbpcw3hbaib1s URL
+    http://beta.quicklisp.org/archive/smart-buffer/2016-06-28/smart-buffer-20160628-git.tgz
+    MD5 454d8510618da8111c7ca687549b7035 NAME smart-buffer FILENAME
+    smart-buffer DEPS
+    ((NAME flexi-streams FILENAME flexi-streams)
+     (NAME trivial-gray-streams FILENAME trivial-gray-streams)
+     (NAME uiop FILENAME uiop) (NAME xsubseq FILENAME xsubseq))
+    DEPENDENCIES (flexi-streams trivial-gray-streams uiop xsubseq) VERSION
+    20160628-git SIBLINGS (smart-buffer-test) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/split-sequence.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/split-sequence.nix
index 03331578764c..e9d1fc5f305d 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/split-sequence.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/split-sequence.nix
@@ -3,35 +3,28 @@ rec {
   baseName = ''split-sequence'';
   version = ''1.2'';
 
+  parasites = [ "split-sequence-tests" ];
+
   description = ''Splits a sequence into a list of subsequences
   delimited by objects satisfying a test.'';
 
-  deps = [ ];
+  deps = [ args."fiveam" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/split-sequence/2015-08-04/split-sequence-1.2.tgz'';
     sha256 = ''12x5yfvinqz9jzxwlsg226103a9sdf67zpzn5izggvdlw0v5qp0l'';
   };
-    
+
   packageName = "split-sequence";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/split-sequence[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["split-sequence.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM split-sequence DESCRIPTION Splits a sequence into a list of subsequences
+/* (SYSTEM split-sequence DESCRIPTION
+    Splits a sequence into a list of subsequences
   delimited by objects satisfying a test.
-    SHA256 12x5yfvinqz9jzxwlsg226103a9sdf67zpzn5izggvdlw0v5qp0l URL http://beta.quicklisp.org/archive/split-sequence/2015-08-04/split-sequence-1.2.tgz MD5
-    194e24d60f0fba70a059633960052e21 NAME split-sequence TESTNAME NIL FILENAME split-sequence DEPS NIL DEPENDENCIES NIL VERSION 1.2 SIBLINGS NIL) */
+    SHA256 12x5yfvinqz9jzxwlsg226103a9sdf67zpzn5izggvdlw0v5qp0l URL
+    http://beta.quicklisp.org/archive/split-sequence/2015-08-04/split-sequence-1.2.tgz
+    MD5 194e24d60f0fba70a059633960052e21 NAME split-sequence FILENAME
+    split-sequence DEPS ((NAME fiveam FILENAME fiveam)) DEPENDENCIES (fiveam)
+    VERSION 1.2 SIBLINGS NIL PARASITES (split-sequence-tests)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/sqlite.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/sqlite.nix
index 73144329206c..991791b57d02 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/sqlite.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/sqlite.nix
@@ -5,31 +5,24 @@ rec {
 
   description = '''';
 
-  deps = [ args."cffi" args."iterate" ];
+  deps = [ args."alexandria" args."babel" args."cffi" args."iterate" args."trivial-features" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/cl-sqlite/2013-06-15/cl-sqlite-20130615-git.tgz'';
     sha256 = ''0db1fvvnsrnxmp272ycnl2kwhymjwrimr8z4djvjlg6cvjxk6lqh'';
   };
-    
+
   packageName = "sqlite";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/sqlite[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["sqlite.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM sqlite DESCRIPTION NIL SHA256 0db1fvvnsrnxmp272ycnl2kwhymjwrimr8z4djvjlg6cvjxk6lqh URL
-    http://beta.quicklisp.org/archive/cl-sqlite/2013-06-15/cl-sqlite-20130615-git.tgz MD5 93be7c68f587d830941be55f2c2f1c8b NAME sqlite TESTNAME NIL FILENAME
-    sqlite DEPS ((NAME cffi FILENAME cffi) (NAME iterate FILENAME iterate)) DEPENDENCIES (cffi iterate) VERSION cl-20130615-git SIBLINGS NIL) */
+/* (SYSTEM sqlite DESCRIPTION NIL SHA256
+    0db1fvvnsrnxmp272ycnl2kwhymjwrimr8z4djvjlg6cvjxk6lqh URL
+    http://beta.quicklisp.org/archive/cl-sqlite/2013-06-15/cl-sqlite-20130615-git.tgz
+    MD5 93be7c68f587d830941be55f2c2f1c8b NAME sqlite FILENAME sqlite DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
+     (NAME cffi FILENAME cffi) (NAME iterate FILENAME iterate)
+     (NAME trivial-features FILENAME trivial-features))
+    DEPENDENCIES (alexandria babel cffi iterate trivial-features) VERSION
+    cl-20130615-git SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/static-vectors.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/static-vectors.nix
index e06fe790f76c..e18c0c325f1c 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/static-vectors.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/static-vectors.nix
@@ -3,34 +3,31 @@ rec {
   baseName = ''static-vectors'';
   version = ''v1.8.2'';
 
+  parasites = [ "static-vectors/test" ];
+
   description = ''Create vectors allocated in static memory.'';
 
-  deps = [ args."alexandria" args."cffi" args."cffi-grovel" ];
+  deps = [ args."alexandria" args."babel" args."cffi" args."cffi-grovel" args."fiveam" args."trivial-features" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/static-vectors/2017-01-24/static-vectors-v1.8.2.tgz'';
     sha256 = ''0p35f0wrnv46bmmxlviwpsbxnlnkmxwd3xp858lhf0dy52cyra1g'';
   };
-    
+
   packageName = "static-vectors";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/static-vectors[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["static-vectors.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM static-vectors DESCRIPTION Create vectors allocated in static memory. SHA256 0p35f0wrnv46bmmxlviwpsbxnlnkmxwd3xp858lhf0dy52cyra1g URL
-    http://beta.quicklisp.org/archive/static-vectors/2017-01-24/static-vectors-v1.8.2.tgz MD5 fd3ebe4e79a71c49e32ac87d6a1bcaf4 NAME static-vectors TESTNAME NIL
-    FILENAME static-vectors DEPS ((NAME alexandria FILENAME alexandria) (NAME cffi FILENAME cffi) (NAME cffi-grovel FILENAME cffi-grovel)) DEPENDENCIES
-    (alexandria cffi cffi-grovel) VERSION v1.8.2 SIBLINGS NIL) */
+/* (SYSTEM static-vectors DESCRIPTION
+    Create vectors allocated in static memory. SHA256
+    0p35f0wrnv46bmmxlviwpsbxnlnkmxwd3xp858lhf0dy52cyra1g URL
+    http://beta.quicklisp.org/archive/static-vectors/2017-01-24/static-vectors-v1.8.2.tgz
+    MD5 fd3ebe4e79a71c49e32ac87d6a1bcaf4 NAME static-vectors FILENAME
+    static-vectors DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
+     (NAME cffi FILENAME cffi) (NAME cffi-grovel FILENAME cffi-grovel)
+     (NAME fiveam FILENAME fiveam)
+     (NAME trivial-features FILENAME trivial-features))
+    DEPENDENCIES (alexandria babel cffi cffi-grovel fiveam trivial-features)
+    VERSION v1.8.2 SIBLINGS NIL PARASITES (static-vectors/test)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/stumpwm.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/stumpwm.nix
index 952b8686dab5..c7f845a4cf46 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/stumpwm.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/stumpwm.nix
@@ -11,26 +11,17 @@ rec {
     url = ''http://beta.quicklisp.org/archive/stumpwm/2017-07-25/stumpwm-20170725-git.tgz'';
     sha256 = ''1hb01zlm4rk2n9b8lfpiary94pmg6qkw84zg54ws1if7z1yd2ss5'';
   };
-    
+
   packageName = "stumpwm";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/stumpwm[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["stumpwm.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM stumpwm DESCRIPTION A tiling, keyboard driven window manager SHA256 1hb01zlm4rk2n9b8lfpiary94pmg6qkw84zg54ws1if7z1yd2ss5 URL
-    http://beta.quicklisp.org/archive/stumpwm/2017-07-25/stumpwm-20170725-git.tgz MD5 a7fb260c6572273c05b828299c0610ce NAME stumpwm TESTNAME NIL FILENAME
-    stumpwm DEPS ((NAME alexandria FILENAME alexandria) (NAME cl-ppcre FILENAME cl-ppcre) (NAME clx FILENAME clx)) DEPENDENCIES (alexandria cl-ppcre clx)
-    VERSION 20170725-git SIBLINGS NIL) */
+/* (SYSTEM stumpwm DESCRIPTION A tiling, keyboard driven window manager SHA256
+    1hb01zlm4rk2n9b8lfpiary94pmg6qkw84zg54ws1if7z1yd2ss5 URL
+    http://beta.quicklisp.org/archive/stumpwm/2017-07-25/stumpwm-20170725-git.tgz
+    MD5 a7fb260c6572273c05b828299c0610ce NAME stumpwm FILENAME stumpwm DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME cl-ppcre FILENAME cl-ppcre)
+     (NAME clx FILENAME clx))
+    DEPENDENCIES (alexandria cl-ppcre clx) VERSION 20170725-git SIBLINGS NIL
+    PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/swank.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/swank.nix
new file mode 100644
index 000000000000..21fcaddf5359
--- /dev/null
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/swank.nix
@@ -0,0 +1,24 @@
+args @ { fetchurl, ... }:
+rec {
+  baseName = ''swank'';
+  version = ''slime-v2.19'';
+
+  description = '''';
+
+  deps = [ ];
+
+  src = fetchurl {
+    url = ''http://beta.quicklisp.org/archive/slime/2017-02-27/slime-v2.19.tgz'';
+    sha256 = ''1w3xq4kiy06wbmk2sf30saqgy1qa9v2llbi6bqy7hrm956yh6dza'';
+  };
+
+  packageName = "swank";
+
+  asdFilesToKeep = ["swank.asd"];
+  overrides = x: x;
+}
+/* (SYSTEM swank DESCRIPTION NIL SHA256
+    1w3xq4kiy06wbmk2sf30saqgy1qa9v2llbi6bqy7hrm956yh6dza URL
+    http://beta.quicklisp.org/archive/slime/2017-02-27/slime-v2.19.tgz MD5
+    7e1540ebb970db0f77b6e6cabb36ba41 NAME swank FILENAME swank DEPS NIL
+    DEPENDENCIES NIL VERSION slime-v2.19 SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/swap-bytes.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/swap-bytes.nix
index 45d7a7800d50..f0df3b84f153 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/swap-bytes.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/swap-bytes.nix
@@ -3,33 +3,28 @@ rec {
   baseName = ''swap-bytes'';
   version = ''v1.1'';
 
+  parasites = [ "swap-bytes/test" ];
+
   description = ''Optimized byte-swapping primitives.'';
 
-  deps = [ args."trivial-features" ];
+  deps = [ args."fiveam" args."trivial-features" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/swap-bytes/2016-09-29/swap-bytes-v1.1.tgz'';
     sha256 = ''0snwbfplqhg1y4y4m7lgvksg1hs0sygfikz3rlbkfl4gwg8pq8ky'';
   };
-    
+
   packageName = "swap-bytes";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/swap-bytes[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["swap-bytes.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM swap-bytes DESCRIPTION Optimized byte-swapping primitives. SHA256 0snwbfplqhg1y4y4m7lgvksg1hs0sygfikz3rlbkfl4gwg8pq8ky URL
-    http://beta.quicklisp.org/archive/swap-bytes/2016-09-29/swap-bytes-v1.1.tgz MD5 dda8b3b0a4e345879e80a3cc398667bb NAME swap-bytes TESTNAME NIL FILENAME
-    swap-bytes DEPS ((NAME trivial-features FILENAME trivial-features)) DEPENDENCIES (trivial-features) VERSION v1.1 SIBLINGS NIL) */
+/* (SYSTEM swap-bytes DESCRIPTION Optimized byte-swapping primitives. SHA256
+    0snwbfplqhg1y4y4m7lgvksg1hs0sygfikz3rlbkfl4gwg8pq8ky URL
+    http://beta.quicklisp.org/archive/swap-bytes/2016-09-29/swap-bytes-v1.1.tgz
+    MD5 dda8b3b0a4e345879e80a3cc398667bb NAME swap-bytes FILENAME swap-bytes
+    DEPS
+    ((NAME fiveam FILENAME fiveam)
+     (NAME trivial-features FILENAME trivial-features))
+    DEPENDENCIES (fiveam trivial-features) VERSION v1.1 SIBLINGS NIL PARASITES
+    (swap-bytes/test)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/symbol-munger.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/symbol-munger.nix
new file mode 100644
index 000000000000..4bae3cc1ceed
--- /dev/null
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/symbol-munger.nix
@@ -0,0 +1,30 @@
+args @ { fetchurl, ... }:
+rec {
+  baseName = ''symbol-munger'';
+  version = ''20150407-git'';
+
+  description = ''Functions to convert between the spacing and
+  capitalization conventions of various environments'';
+
+  deps = [ args."alexandria" args."iterate" ];
+
+  src = fetchurl {
+    url = ''http://beta.quicklisp.org/archive/symbol-munger/2015-04-07/symbol-munger-20150407-git.tgz'';
+    sha256 = ''0dccli8557kvyy2rngh646rmavf96p7xqn5bry65d7c1f61lyqv6'';
+  };
+
+  packageName = "symbol-munger";
+
+  asdFilesToKeep = ["symbol-munger.asd"];
+  overrides = x: x;
+}
+/* (SYSTEM symbol-munger DESCRIPTION
+    Functions to convert between the spacing and
+  capitalization conventions of various environments
+    SHA256 0dccli8557kvyy2rngh646rmavf96p7xqn5bry65d7c1f61lyqv6 URL
+    http://beta.quicklisp.org/archive/symbol-munger/2015-04-07/symbol-munger-20150407-git.tgz
+    MD5 b1e35b63d7ad1451868d1c40e2fbfab7 NAME symbol-munger FILENAME
+    symbol-munger DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME iterate FILENAME iterate))
+    DEPENDENCIES (alexandria iterate) VERSION 20150407-git SIBLINGS NIL
+    PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-backtrace.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-backtrace.nix
index 0ed2e2887601..9a4afce3280f 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-backtrace.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-backtrace.nix
@@ -11,25 +11,15 @@ rec {
     url = ''http://beta.quicklisp.org/archive/trivial-backtrace/2016-05-31/trivial-backtrace-20160531-git.tgz'';
     sha256 = ''1vcvalcv2ljiv2gyh8xjcg62cjsripjwmnhc8zji35ja1xyqvxhx'';
   };
-    
+
   packageName = "trivial-backtrace";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/trivial-backtrace[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["trivial-backtrace.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM trivial-backtrace DESCRIPTION trivial-backtrace SHA256 1vcvalcv2ljiv2gyh8xjcg62cjsripjwmnhc8zji35ja1xyqvxhx URL
-    http://beta.quicklisp.org/archive/trivial-backtrace/2016-05-31/trivial-backtrace-20160531-git.tgz MD5 a3b41b4ae24e3fde303a2623201aac4d NAME
-    trivial-backtrace TESTNAME NIL FILENAME trivial-backtrace DEPS NIL DEPENDENCIES NIL VERSION 20160531-git SIBLINGS (trivial-backtrace-test)) */
+/* (SYSTEM trivial-backtrace DESCRIPTION trivial-backtrace SHA256
+    1vcvalcv2ljiv2gyh8xjcg62cjsripjwmnhc8zji35ja1xyqvxhx URL
+    http://beta.quicklisp.org/archive/trivial-backtrace/2016-05-31/trivial-backtrace-20160531-git.tgz
+    MD5 a3b41b4ae24e3fde303a2623201aac4d NAME trivial-backtrace FILENAME
+    trivial-backtrace DEPS NIL DEPENDENCIES NIL VERSION 20160531-git SIBLINGS
+    (trivial-backtrace-test) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-features.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-features.nix
index ea531d722d44..1a562c2288bb 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-features.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-features.nix
@@ -11,25 +11,16 @@ rec {
     url = ''http://beta.quicklisp.org/archive/trivial-features/2016-12-04/trivial-features-20161204-git.tgz'';
     sha256 = ''0i2zyc9c7jigljxll29sh9gv1fawdsf0kq7s86pwba5zi99q2ij2'';
   };
-    
+
   packageName = "trivial-features";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/trivial-features[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["trivial-features.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM trivial-features DESCRIPTION Ensures consistent *FEATURES* across multiple CLs. SHA256 0i2zyc9c7jigljxll29sh9gv1fawdsf0kq7s86pwba5zi99q2ij2 URL
-    http://beta.quicklisp.org/archive/trivial-features/2016-12-04/trivial-features-20161204-git.tgz MD5 07497e3fd92e68027a96f877cfe62bd4 NAME trivial-features
-    TESTNAME NIL FILENAME trivial-features DEPS NIL DEPENDENCIES NIL VERSION 20161204-git SIBLINGS (trivial-features-tests)) */
+/* (SYSTEM trivial-features DESCRIPTION
+    Ensures consistent *FEATURES* across multiple CLs. SHA256
+    0i2zyc9c7jigljxll29sh9gv1fawdsf0kq7s86pwba5zi99q2ij2 URL
+    http://beta.quicklisp.org/archive/trivial-features/2016-12-04/trivial-features-20161204-git.tgz
+    MD5 07497e3fd92e68027a96f877cfe62bd4 NAME trivial-features FILENAME
+    trivial-features DEPS NIL DEPENDENCIES NIL VERSION 20161204-git SIBLINGS
+    (trivial-features-tests) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-garbage.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-garbage.nix
index 43bcd571304a..7c3a01f5d111 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-garbage.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-garbage.nix
@@ -3,33 +3,26 @@ rec {
   baseName = ''trivial-garbage'';
   version = ''20150113-git'';
 
+  parasites = [ "trivial-garbage-tests" ];
+
   description = ''Portable finalizers, weak hash-tables and weak pointers.'';
 
-  deps = [ ];
+  deps = [ args."rt" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/trivial-garbage/2015-01-13/trivial-garbage-20150113-git.tgz'';
     sha256 = ''1yy1jyx7wz5rr7lr0jyyfxgzfddmrxrmkp46a21pcdc4jlss1h08'';
   };
-    
+
   packageName = "trivial-garbage";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/trivial-garbage[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["trivial-garbage.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM trivial-garbage DESCRIPTION Portable finalizers, weak hash-tables and weak pointers. SHA256 1yy1jyx7wz5rr7lr0jyyfxgzfddmrxrmkp46a21pcdc4jlss1h08 URL
-    http://beta.quicklisp.org/archive/trivial-garbage/2015-01-13/trivial-garbage-20150113-git.tgz MD5 59153568703eed631e53092ab67f935e NAME trivial-garbage
-    TESTNAME NIL FILENAME trivial-garbage DEPS NIL DEPENDENCIES NIL VERSION 20150113-git SIBLINGS NIL) */
+/* (SYSTEM trivial-garbage DESCRIPTION
+    Portable finalizers, weak hash-tables and weak pointers. SHA256
+    1yy1jyx7wz5rr7lr0jyyfxgzfddmrxrmkp46a21pcdc4jlss1h08 URL
+    http://beta.quicklisp.org/archive/trivial-garbage/2015-01-13/trivial-garbage-20150113-git.tgz
+    MD5 59153568703eed631e53092ab67f935e NAME trivial-garbage FILENAME
+    trivial-garbage DEPS ((NAME rt FILENAME rt)) DEPENDENCIES (rt) VERSION
+    20150113-git SIBLINGS NIL PARASITES (trivial-garbage-tests)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-gray-streams.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-gray-streams.nix
index 220119170228..53d6be525f69 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-gray-streams.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-gray-streams.nix
@@ -11,26 +11,16 @@ rec {
     url = ''http://beta.quicklisp.org/archive/trivial-gray-streams/2014-08-26/trivial-gray-streams-20140826-git.tgz'';
     sha256 = ''1nhbp0qizvqvy2mfl3i99hlwiy27h3gq0jglwzsj2fmnwqvpfx92'';
   };
-    
+
   packageName = "trivial-gray-streams";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/trivial-gray-streams[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["trivial-gray-streams.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM trivial-gray-streams DESCRIPTION Compatibility layer for Gray Streams (see http://www.cliki.net/Gray%20streams). SHA256
-    1nhbp0qizvqvy2mfl3i99hlwiy27h3gq0jglwzsj2fmnwqvpfx92 URL
-    http://beta.quicklisp.org/archive/trivial-gray-streams/2014-08-26/trivial-gray-streams-20140826-git.tgz MD5 1ca280830c8c438ca2ccfadb3763ae83 NAME
-    trivial-gray-streams TESTNAME NIL FILENAME trivial-gray-streams DEPS NIL DEPENDENCIES NIL VERSION 20140826-git SIBLINGS (trivial-gray-streams-test)) */
+/* (SYSTEM trivial-gray-streams DESCRIPTION
+    Compatibility layer for Gray Streams (see http://www.cliki.net/Gray%20streams).
+    SHA256 1nhbp0qizvqvy2mfl3i99hlwiy27h3gq0jglwzsj2fmnwqvpfx92 URL
+    http://beta.quicklisp.org/archive/trivial-gray-streams/2014-08-26/trivial-gray-streams-20140826-git.tgz
+    MD5 1ca280830c8c438ca2ccfadb3763ae83 NAME trivial-gray-streams FILENAME
+    trivial-gray-streams DEPS NIL DEPENDENCIES NIL VERSION 20140826-git
+    SIBLINGS (trivial-gray-streams-test) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-indent.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-indent.nix
index ea9b21d6eac0..c0964c9731d0 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-indent.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-indent.nix
@@ -11,25 +11,16 @@ rec {
     url = ''http://beta.quicklisp.org/archive/trivial-indent/2017-06-30/trivial-indent-20170630-git.tgz'';
     sha256 = ''18zag7n2yfjx3x6nm8132cq8lz321i3f3zslb90j198wvpwyrnq7'';
   };
-    
+
   packageName = "trivial-indent";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/trivial-indent[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["trivial-indent.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM trivial-indent DESCRIPTION A very simple library to allow indentation hints for SWANK. SHA256 18zag7n2yfjx3x6nm8132cq8lz321i3f3zslb90j198wvpwyrnq7
-    URL http://beta.quicklisp.org/archive/trivial-indent/2017-06-30/trivial-indent-20170630-git.tgz MD5 9f11cc1014be3e3ae588a3cd07315be6 NAME trivial-indent
-    TESTNAME NIL FILENAME trivial-indent DEPS NIL DEPENDENCIES NIL VERSION 20170630-git SIBLINGS NIL) */
+/* (SYSTEM trivial-indent DESCRIPTION
+    A very simple library to allow indentation hints for SWANK. SHA256
+    18zag7n2yfjx3x6nm8132cq8lz321i3f3zslb90j198wvpwyrnq7 URL
+    http://beta.quicklisp.org/archive/trivial-indent/2017-06-30/trivial-indent-20170630-git.tgz
+    MD5 9f11cc1014be3e3ae588a3cd07315be6 NAME trivial-indent FILENAME
+    trivial-indent DEPS NIL DEPENDENCIES NIL VERSION 20170630-git SIBLINGS NIL
+    PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-mimes.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-mimes.nix
index f31e1bb0a3da..080f854db43a 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-mimes.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-mimes.nix
@@ -11,25 +11,16 @@ rec {
     url = ''http://beta.quicklisp.org/archive/trivial-mimes/2017-06-30/trivial-mimes-20170630-git.tgz'';
     sha256 = ''0rm667w7nfkcrfjqbb7blbdcrjxbr397a6nqmy35qq82fqjr4rvx'';
   };
-    
+
   packageName = "trivial-mimes";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/trivial-mimes[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["trivial-mimes.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM trivial-mimes DESCRIPTION Tiny library to detect mime types in files. SHA256 0rm667w7nfkcrfjqbb7blbdcrjxbr397a6nqmy35qq82fqjr4rvx URL
-    http://beta.quicklisp.org/archive/trivial-mimes/2017-06-30/trivial-mimes-20170630-git.tgz MD5 5aecea17e102bd2dab7e71fecd1f8e44 NAME trivial-mimes TESTNAME
-    NIL FILENAME trivial-mimes DEPS NIL DEPENDENCIES NIL VERSION 20170630-git SIBLINGS NIL) */
+/* (SYSTEM trivial-mimes DESCRIPTION
+    Tiny library to detect mime types in files. SHA256
+    0rm667w7nfkcrfjqbb7blbdcrjxbr397a6nqmy35qq82fqjr4rvx URL
+    http://beta.quicklisp.org/archive/trivial-mimes/2017-06-30/trivial-mimes-20170630-git.tgz
+    MD5 5aecea17e102bd2dab7e71fecd1f8e44 NAME trivial-mimes FILENAME
+    trivial-mimes DEPS NIL DEPENDENCIES NIL VERSION 20170630-git SIBLINGS NIL
+    PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-types.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-types.nix
index 8aed5e9681cd..8cc04c2c64ac 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-types.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-types.nix
@@ -11,25 +11,15 @@ rec {
     url = ''http://beta.quicklisp.org/archive/trivial-types/2012-04-07/trivial-types-20120407-git.tgz'';
     sha256 = ''0y3lfbbvi2qp2cwswzmk1awzqrsrrcfkcm1qn744bgm1fiqhxbxx'';
   };
-    
+
   packageName = "trivial-types";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/trivial-types[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["trivial-types.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM trivial-types DESCRIPTION Trivial type definitions SHA256 0y3lfbbvi2qp2cwswzmk1awzqrsrrcfkcm1qn744bgm1fiqhxbxx URL
-    http://beta.quicklisp.org/archive/trivial-types/2012-04-07/trivial-types-20120407-git.tgz MD5 b14dbe0564dcea33d8f4e852a612d7db NAME trivial-types TESTNAME
-    NIL FILENAME trivial-types DEPS NIL DEPENDENCIES NIL VERSION 20120407-git SIBLINGS NIL) */
+/* (SYSTEM trivial-types DESCRIPTION Trivial type definitions SHA256
+    0y3lfbbvi2qp2cwswzmk1awzqrsrrcfkcm1qn744bgm1fiqhxbxx URL
+    http://beta.quicklisp.org/archive/trivial-types/2012-04-07/trivial-types-20120407-git.tgz
+    MD5 b14dbe0564dcea33d8f4e852a612d7db NAME trivial-types FILENAME
+    trivial-types DEPS NIL DEPENDENCIES NIL VERSION 20120407-git SIBLINGS NIL
+    PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-utf-8.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-utf-8.nix
index efbdca21465c..c925382d81d4 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-utf-8.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-utf-8.nix
@@ -3,6 +3,8 @@ rec {
   baseName = ''trivial-utf-8'';
   version = ''20111001-darcs'';
 
+  parasites = [ "trivial-utf-8-tests" ];
+
   description = '''';
 
   deps = [ ];
@@ -11,25 +13,15 @@ rec {
     url = ''http://beta.quicklisp.org/archive/trivial-utf-8/2011-10-01/trivial-utf-8-20111001-darcs.tgz'';
     sha256 = ''1lmg185s6w3rzsz3xa41k5w9xw32bi288ifhrxincy8iv92w65wb'';
   };
-    
+
   packageName = "trivial-utf-8";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/trivial-utf-8[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["trivial-utf-8.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM trivial-utf-8 DESCRIPTION NIL SHA256 1lmg185s6w3rzsz3xa41k5w9xw32bi288ifhrxincy8iv92w65wb URL
-    http://beta.quicklisp.org/archive/trivial-utf-8/2011-10-01/trivial-utf-8-20111001-darcs.tgz MD5 0206c4ba7a6c0b9b23762f244aca6614 NAME trivial-utf-8
-    TESTNAME NIL FILENAME trivial-utf-8 DEPS NIL DEPENDENCIES NIL VERSION 20111001-darcs SIBLINGS NIL) */
+/* (SYSTEM trivial-utf-8 DESCRIPTION NIL SHA256
+    1lmg185s6w3rzsz3xa41k5w9xw32bi288ifhrxincy8iv92w65wb URL
+    http://beta.quicklisp.org/archive/trivial-utf-8/2011-10-01/trivial-utf-8-20111001-darcs.tgz
+    MD5 0206c4ba7a6c0b9b23762f244aca6614 NAME trivial-utf-8 FILENAME
+    trivial-utf-8 DEPS NIL DEPENDENCIES NIL VERSION 20111001-darcs SIBLINGS NIL
+    PARASITES (trivial-utf-8-tests)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/uffi.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/uffi.nix
index 67897d46958b..3e8d4155ce3d 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/uffi.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/uffi.nix
@@ -11,25 +11,14 @@ rec {
     url = ''http://beta.quicklisp.org/archive/uffi/2017-06-30/uffi-20170630-git.tgz'';
     sha256 = ''1y8f4pw1sw9d7zgaj1lfi87fjws934qc3gl3fan9py967cl5i7jf'';
   };
-    
+
   packageName = "uffi";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/uffi[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["uffi.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM uffi DESCRIPTION Universal Foreign Function Library for Common Lisp SHA256 1y8f4pw1sw9d7zgaj1lfi87fjws934qc3gl3fan9py967cl5i7jf URL
-    http://beta.quicklisp.org/archive/uffi/2017-06-30/uffi-20170630-git.tgz MD5 8ac448122b79a41ec2b0647f06af7c12 NAME uffi TESTNAME NIL FILENAME uffi DEPS NIL
-    DEPENDENCIES NIL VERSION 20170630-git SIBLINGS (uffi-tests)) */
+/* (SYSTEM uffi DESCRIPTION Universal Foreign Function Library for Common Lisp
+    SHA256 1y8f4pw1sw9d7zgaj1lfi87fjws934qc3gl3fan9py967cl5i7jf URL
+    http://beta.quicklisp.org/archive/uffi/2017-06-30/uffi-20170630-git.tgz MD5
+    8ac448122b79a41ec2b0647f06af7c12 NAME uffi FILENAME uffi DEPS NIL
+    DEPENDENCIES NIL VERSION 20170630-git SIBLINGS (uffi-tests) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/uiop.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/uiop.nix
index 5f3bd02f90ae..998681d02ab3 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/uiop.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/uiop.nix
@@ -11,25 +11,14 @@ rec {
     url = ''http://beta.quicklisp.org/archive/uiop/2017-06-30/uiop-3.2.1.tgz'';
     sha256 = ''1zl661dkbg5clyl5fjj9466krk59xfdmmfzci5mj7n137m0zmf5v'';
   };
-    
+
   packageName = "uiop";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/uiop[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["uiop.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM uiop DESCRIPTION NIL SHA256 1zl661dkbg5clyl5fjj9466krk59xfdmmfzci5mj7n137m0zmf5v URL
-    http://beta.quicklisp.org/archive/uiop/2017-06-30/uiop-3.2.1.tgz MD5 3e9ef02ecf9005240b66552d85719700 NAME uiop TESTNAME NIL FILENAME uiop DEPS NIL
-    DEPENDENCIES NIL VERSION 3.2.1 SIBLINGS (asdf-driver)) */
+/* (SYSTEM uiop DESCRIPTION NIL SHA256
+    1zl661dkbg5clyl5fjj9466krk59xfdmmfzci5mj7n137m0zmf5v URL
+    http://beta.quicklisp.org/archive/uiop/2017-06-30/uiop-3.2.1.tgz MD5
+    3e9ef02ecf9005240b66552d85719700 NAME uiop FILENAME uiop DEPS NIL
+    DEPENDENCIES NIL VERSION 3.2.1 SIBLINGS (asdf-driver) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/unit-test.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/unit-test.nix
new file mode 100644
index 000000000000..6c4564967320
--- /dev/null
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/unit-test.nix
@@ -0,0 +1,24 @@
+args @ { fetchurl, ... }:
+rec {
+  baseName = ''unit-test'';
+  version = ''20120520-git'';
+
+  description = ''unit-testing framework for common lisp'';
+
+  deps = [ ];
+
+  src = fetchurl {
+    url = ''http://beta.quicklisp.org/archive/unit-test/2012-05-20/unit-test-20120520-git.tgz'';
+    sha256 = ''1bwbx9d2z9qll46ksfh7bgd0dgh4is2dyfhkladq53qycvjywv9l'';
+  };
+
+  packageName = "unit-test";
+
+  asdFilesToKeep = ["unit-test.asd"];
+  overrides = x: x;
+}
+/* (SYSTEM unit-test DESCRIPTION unit-testing framework for common lisp SHA256
+    1bwbx9d2z9qll46ksfh7bgd0dgh4is2dyfhkladq53qycvjywv9l URL
+    http://beta.quicklisp.org/archive/unit-test/2012-05-20/unit-test-20120520-git.tgz
+    MD5 ffcde1c03dd33862cd4f7288649c3cbc NAME unit-test FILENAME unit-test DEPS
+    NIL DEPENDENCIES NIL VERSION 20120520-git SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/usocket.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/usocket.nix
index c071b2f3bbde..b4b4f4543a10 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/usocket.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/usocket.nix
@@ -11,25 +11,16 @@ rec {
     url = ''http://beta.quicklisp.org/archive/usocket/2016-10-31/usocket-0.7.0.1.tgz'';
     sha256 = ''1mpcfawbzd72cd841bb0hmgx4kinnvcnazc7vym83gv5iy6lwif2'';
   };
-    
+
   packageName = "usocket";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/usocket[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["usocket.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM usocket DESCRIPTION Universal socket library for Common Lisp SHA256 1mpcfawbzd72cd841bb0hmgx4kinnvcnazc7vym83gv5iy6lwif2 URL
-    http://beta.quicklisp.org/archive/usocket/2016-10-31/usocket-0.7.0.1.tgz MD5 1dcb027187679211f9d277ce99ca2a5a NAME usocket TESTNAME NIL FILENAME usocket
-    DEPS ((NAME split-sequence FILENAME split-sequence)) DEPENDENCIES (split-sequence) VERSION 0.7.0.1 SIBLINGS (usocket-server usocket-test)) */
+/* (SYSTEM usocket DESCRIPTION Universal socket library for Common Lisp SHA256
+    1mpcfawbzd72cd841bb0hmgx4kinnvcnazc7vym83gv5iy6lwif2 URL
+    http://beta.quicklisp.org/archive/usocket/2016-10-31/usocket-0.7.0.1.tgz
+    MD5 1dcb027187679211f9d277ce99ca2a5a NAME usocket FILENAME usocket DEPS
+    ((NAME split-sequence FILENAME split-sequence)) DEPENDENCIES
+    (split-sequence) VERSION 0.7.0.1 SIBLINGS (usocket-server usocket-test)
+    PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/uuid.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/uuid.nix
index 1f415f7142ac..0886b1082a88 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/uuid.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/uuid.nix
@@ -5,31 +5,23 @@ rec {
 
   description = ''UUID Generation'';
 
-  deps = [ args."ironclad" args."trivial-utf-8" ];
+  deps = [ args."ironclad" args."nibbles" args."trivial-utf-8" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/uuid/2013-08-13/uuid-20130813-git.tgz'';
     sha256 = ''1ph88gizpkxqigfrkgmq0vd3qkgpxd9zjy6qyr0ic4xdyyymg1hf'';
   };
-    
+
   packageName = "uuid";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/uuid[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["uuid.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM uuid DESCRIPTION UUID Generation SHA256 1ph88gizpkxqigfrkgmq0vd3qkgpxd9zjy6qyr0ic4xdyyymg1hf URL
-    http://beta.quicklisp.org/archive/uuid/2013-08-13/uuid-20130813-git.tgz MD5 e9029d9437573ec2ffa2b474adf95daf NAME uuid TESTNAME NIL FILENAME uuid DEPS
-    ((NAME ironclad FILENAME ironclad) (NAME trivial-utf-8 FILENAME trivial-utf-8)) DEPENDENCIES (ironclad trivial-utf-8) VERSION 20130813-git SIBLINGS NIL) */
+/* (SYSTEM uuid DESCRIPTION UUID Generation SHA256
+    1ph88gizpkxqigfrkgmq0vd3qkgpxd9zjy6qyr0ic4xdyyymg1hf URL
+    http://beta.quicklisp.org/archive/uuid/2013-08-13/uuid-20130813-git.tgz MD5
+    e9029d9437573ec2ffa2b474adf95daf NAME uuid FILENAME uuid DEPS
+    ((NAME ironclad FILENAME ironclad) (NAME nibbles FILENAME nibbles)
+     (NAME trivial-utf-8 FILENAME trivial-utf-8))
+    DEPENDENCIES (ironclad nibbles trivial-utf-8) VERSION 20130813-git SIBLINGS
+    NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/vom.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/vom.nix
index 7be98029ca21..6a4751f799ea 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/vom.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/vom.nix
@@ -11,25 +11,14 @@ rec {
     url = ''http://beta.quicklisp.org/archive/vom/2016-08-25/vom-20160825-git.tgz'';
     sha256 = ''0mvln0xx8qnrsmaj7c0f2ilgahvf078qvhqag7qs3j26xmamjm93'';
   };
-    
+
   packageName = "vom";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/vom[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["vom.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM vom DESCRIPTION A tiny logging utility. SHA256 0mvln0xx8qnrsmaj7c0f2ilgahvf078qvhqag7qs3j26xmamjm93 URL
-    http://beta.quicklisp.org/archive/vom/2016-08-25/vom-20160825-git.tgz MD5 ad16bdc0221b08de371be6ce25ce3d47 NAME vom TESTNAME NIL FILENAME vom DEPS NIL
-    DEPENDENCIES NIL VERSION 20160825-git SIBLINGS NIL) */
+/* (SYSTEM vom DESCRIPTION A tiny logging utility. SHA256
+    0mvln0xx8qnrsmaj7c0f2ilgahvf078qvhqag7qs3j26xmamjm93 URL
+    http://beta.quicklisp.org/archive/vom/2016-08-25/vom-20160825-git.tgz MD5
+    ad16bdc0221b08de371be6ce25ce3d47 NAME vom FILENAME vom DEPS NIL
+    DEPENDENCIES NIL VERSION 20160825-git SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/woo.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/woo.nix
index c04540aaaba9..7e7e9b6acadc 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/woo.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/woo.nix
@@ -5,37 +5,41 @@ rec {
 
   description = ''An asynchronous HTTP server written in Common Lisp'';
 
-  deps = [ args."vom" args."uiop" args."trivial-utf-8" args."swap-bytes" args."static-vectors" args."smart-buffer" args."quri" args."lev" args."fast-io" args."fast-http" args."clack-socket" args."cffi-grovel" args."cffi" args."bordeaux-threads" args."alexandria" ];
+  deps = [ args."alexandria" args."babel" args."bordeaux-threads" args."cffi" args."cffi-grovel" args."cl-utilities" args."clack-socket" args."fast-http" args."fast-io" args."flexi-streams" args."lev" args."proc-parse" args."quri" args."smart-buffer" args."split-sequence" args."static-vectors" args."swap-bytes" args."trivial-features" args."trivial-gray-streams" args."trivial-utf-8" args."uiop" args."vom" args."xsubseq" ];
 
   src = fetchurl {
     url = ''http://beta.quicklisp.org/archive/woo/2017-07-25/woo-20170725-git.tgz'';
     sha256 = ''11cnqd058mjhkgxppsivbmd687429r4b62v7z5iav0wpha78qfgg'';
   };
-    
+
   packageName = "woo";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/woo[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["woo.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM woo DESCRIPTION An asynchronous HTTP server written in Common Lisp SHA256 11cnqd058mjhkgxppsivbmd687429r4b62v7z5iav0wpha78qfgg URL
-    http://beta.quicklisp.org/archive/woo/2017-07-25/woo-20170725-git.tgz MD5 bd901d8dfa7df3d19c6da73ea101f65b NAME woo TESTNAME NIL FILENAME woo DEPS
-    ((NAME vom FILENAME vom) (NAME uiop FILENAME uiop) (NAME trivial-utf-8 FILENAME trivial-utf-8) (NAME swap-bytes FILENAME swap-bytes)
-     (NAME static-vectors FILENAME static-vectors) (NAME smart-buffer FILENAME smart-buffer) (NAME quri FILENAME quri) (NAME lev FILENAME lev)
-     (NAME fast-io FILENAME fast-io) (NAME fast-http FILENAME fast-http) (NAME clack-socket FILENAME clack-socket) (NAME cffi-grovel FILENAME cffi-grovel)
-     (NAME cffi FILENAME cffi) (NAME bordeaux-threads FILENAME bordeaux-threads) (NAME alexandria FILENAME alexandria))
+/* (SYSTEM woo DESCRIPTION An asynchronous HTTP server written in Common Lisp
+    SHA256 11cnqd058mjhkgxppsivbmd687429r4b62v7z5iav0wpha78qfgg URL
+    http://beta.quicklisp.org/archive/woo/2017-07-25/woo-20170725-git.tgz MD5
+    bd901d8dfa7df3d19c6da73ea101f65b NAME woo FILENAME woo DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
+     (NAME bordeaux-threads FILENAME bordeaux-threads)
+     (NAME cffi FILENAME cffi) (NAME cffi-grovel FILENAME cffi-grovel)
+     (NAME cl-utilities FILENAME cl-utilities)
+     (NAME clack-socket FILENAME clack-socket)
+     (NAME fast-http FILENAME fast-http) (NAME fast-io FILENAME fast-io)
+     (NAME flexi-streams FILENAME flexi-streams) (NAME lev FILENAME lev)
+     (NAME proc-parse FILENAME proc-parse) (NAME quri FILENAME quri)
+     (NAME smart-buffer FILENAME smart-buffer)
+     (NAME split-sequence FILENAME split-sequence)
+     (NAME static-vectors FILENAME static-vectors)
+     (NAME swap-bytes FILENAME swap-bytes)
+     (NAME trivial-features FILENAME trivial-features)
+     (NAME trivial-gray-streams FILENAME trivial-gray-streams)
+     (NAME trivial-utf-8 FILENAME trivial-utf-8) (NAME uiop FILENAME uiop)
+     (NAME vom FILENAME vom) (NAME xsubseq FILENAME xsubseq))
     DEPENDENCIES
-    (vom uiop trivial-utf-8 swap-bytes static-vectors smart-buffer quri lev fast-io fast-http clack-socket cffi-grovel cffi bordeaux-threads alexandria)
-    VERSION 20170725-git SIBLINGS (clack-handler-woo woo-test)) */
+    (alexandria babel bordeaux-threads cffi cffi-grovel cl-utilities
+     clack-socket fast-http fast-io flexi-streams lev proc-parse quri
+     smart-buffer split-sequence static-vectors swap-bytes trivial-features
+     trivial-gray-streams trivial-utf-8 uiop vom xsubseq)
+    VERSION 20170725-git SIBLINGS (clack-handler-woo woo-test) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/wookie.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/wookie.nix
index 3b78ba6f79e1..a64ff45a1879 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/wookie.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/wookie.nix
@@ -11,31 +11,25 @@ rec {
     url = ''http://beta.quicklisp.org/archive/wookie/2017-02-27/wookie-20170227-git.tgz'';
     sha256 = ''0i1wrgr5grg387ldv1zfswws1g3xvrkxxvp1m58m9hj0c1vmm6v0'';
   };
-    
+
   packageName = "wookie";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/wookie[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["wookie.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM wookie DESCRIPTION An evented webserver for Common Lisp. SHA256 0i1wrgr5grg387ldv1zfswws1g3xvrkxxvp1m58m9hj0c1vmm6v0 URL
-    http://beta.quicklisp.org/archive/wookie/2017-02-27/wookie-20170227-git.tgz MD5 aeb084106facdc9c8dab100c97e05b92 NAME wookie TESTNAME NIL FILENAME wookie
-    DEPS
-    ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel) (NAME blackbird FILENAME blackbird) (NAME chunga FILENAME chunga)
-     (NAME cl-async FILENAME cl-async) (NAME cl-async-ssl FILENAME cl-async-ssl) (NAME cl-fad FILENAME cl-fad) (NAME cl-ppcre FILENAME cl-ppcre)
-     (NAME do-urlencode FILENAME do-urlencode) (NAME fast-http FILENAME fast-http) (NAME fast-io FILENAME fast-io) (NAME quri FILENAME quri)
-     (NAME vom FILENAME vom))
-    DEPENDENCIES (alexandria babel blackbird chunga cl-async cl-async-ssl cl-fad cl-ppcre do-urlencode fast-http fast-io quri vom) VERSION 20170227-git
-    SIBLINGS NIL) */
+/* (SYSTEM wookie DESCRIPTION An evented webserver for Common Lisp. SHA256
+    0i1wrgr5grg387ldv1zfswws1g3xvrkxxvp1m58m9hj0c1vmm6v0 URL
+    http://beta.quicklisp.org/archive/wookie/2017-02-27/wookie-20170227-git.tgz
+    MD5 aeb084106facdc9c8dab100c97e05b92 NAME wookie FILENAME wookie DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
+     (NAME blackbird FILENAME blackbird) (NAME chunga FILENAME chunga)
+     (NAME cl-async FILENAME cl-async)
+     (NAME cl-async-ssl FILENAME cl-async-ssl) (NAME cl-fad FILENAME cl-fad)
+     (NAME cl-ppcre FILENAME cl-ppcre)
+     (NAME do-urlencode FILENAME do-urlencode)
+     (NAME fast-http FILENAME fast-http) (NAME fast-io FILENAME fast-io)
+     (NAME quri FILENAME quri) (NAME vom FILENAME vom))
+    DEPENDENCIES
+    (alexandria babel blackbird chunga cl-async cl-async-ssl cl-fad cl-ppcre
+     do-urlencode fast-http fast-io quri vom)
+    VERSION 20170227-git SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/xkeyboard.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/xkeyboard.nix
new file mode 100644
index 000000000000..4bfc0678f0f1
--- /dev/null
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/xkeyboard.nix
@@ -0,0 +1,28 @@
+args @ { fetchurl, ... }:
+rec {
+  baseName = ''xkeyboard'';
+  version = ''clx-20120811-git'';
+
+  parasites = [ "xkeyboard-test" ];
+
+  description = ''XKeyboard is X11 extension for clx of the same name.'';
+
+  deps = [ args."clx" ];
+
+  src = fetchurl {
+    url = ''http://beta.quicklisp.org/archive/clx-xkeyboard/2012-08-11/clx-xkeyboard-20120811-git.tgz'';
+    sha256 = ''11q70drx3xn7rvk528qlnzpnxd6hg6801kc54ys3jz1l7074458n'';
+  };
+
+  packageName = "xkeyboard";
+
+  asdFilesToKeep = ["xkeyboard.asd"];
+  overrides = x: x;
+}
+/* (SYSTEM xkeyboard DESCRIPTION
+    XKeyboard is X11 extension for clx of the same name. SHA256
+    11q70drx3xn7rvk528qlnzpnxd6hg6801kc54ys3jz1l7074458n URL
+    http://beta.quicklisp.org/archive/clx-xkeyboard/2012-08-11/clx-xkeyboard-20120811-git.tgz
+    MD5 4e382b34e05d33f5de8e9c9dea33131c NAME xkeyboard FILENAME xkeyboard DEPS
+    ((NAME clx FILENAME clx)) DEPENDENCIES (clx) VERSION clx-20120811-git
+    SIBLINGS NIL PARASITES (xkeyboard-test)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/xmls.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/xmls.nix
index 4d1d902cf5c0..d9df8c752961 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/xmls.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/xmls.nix
@@ -3,6 +3,8 @@ rec {
   baseName = ''xmls'';
   version = ''1.7'';
 
+  parasites = [ "xmls/test" ];
+
   description = '''';
 
   deps = [ ];
@@ -11,24 +13,14 @@ rec {
     url = ''http://beta.quicklisp.org/archive/xmls/2015-04-07/xmls-1.7.tgz'';
     sha256 = ''1pch221g5jv02rb21ly9ik4cmbzv8ca6bnyrs4s0yfrrq0ji406b'';
   };
-    
+
   packageName = "xmls";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/xmls[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["xmls.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM xmls DESCRIPTION NIL SHA256 1pch221g5jv02rb21ly9ik4cmbzv8ca6bnyrs4s0yfrrq0ji406b URL http://beta.quicklisp.org/archive/xmls/2015-04-07/xmls-1.7.tgz
-    MD5 697c9f49a60651b759e24ea0c1eb1cfe NAME xmls TESTNAME NIL FILENAME xmls DEPS NIL DEPENDENCIES NIL VERSION 1.7 SIBLINGS NIL) */
+/* (SYSTEM xmls DESCRIPTION NIL SHA256
+    1pch221g5jv02rb21ly9ik4cmbzv8ca6bnyrs4s0yfrrq0ji406b URL
+    http://beta.quicklisp.org/archive/xmls/2015-04-07/xmls-1.7.tgz MD5
+    697c9f49a60651b759e24ea0c1eb1cfe NAME xmls FILENAME xmls DEPS NIL
+    DEPENDENCIES NIL VERSION 1.7 SIBLINGS NIL PARASITES (xmls/test)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/xpath.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/xpath.nix
new file mode 100644
index 000000000000..63b8e21b4a30
--- /dev/null
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/xpath.nix
@@ -0,0 +1,37 @@
+args @ { fetchurl, ... }:
+rec {
+  baseName = ''xpath'';
+  version = ''plexippus-20120909-darcs'';
+
+  description = '''';
+
+  deps = [ args."alexandria" args."babel" args."cl-ppcre" args."closure-common" args."cxml" args."cxml-dom" args."cxml-klacks" args."cxml-test" args."cxml-xml" args."parse-number" args."puri" args."trivial-features" args."trivial-gray-streams" args."yacc" ];
+
+  src = fetchurl {
+    url = ''http://beta.quicklisp.org/archive/plexippus-xpath/2012-09-09/plexippus-xpath-20120909-darcs.tgz'';
+    sha256 = ''1zlkr7ck60gr5rxfiq22prnbblih14ywr0s5g2kss2a842zvkxn6'';
+  };
+
+  packageName = "xpath";
+
+  asdFilesToKeep = ["xpath.asd"];
+  overrides = x: x;
+}
+/* (SYSTEM xpath DESCRIPTION NIL SHA256
+    1zlkr7ck60gr5rxfiq22prnbblih14ywr0s5g2kss2a842zvkxn6 URL
+    http://beta.quicklisp.org/archive/plexippus-xpath/2012-09-09/plexippus-xpath-20120909-darcs.tgz
+    MD5 1d7457bffe7c4f6e1631c59bc00723d4 NAME xpath FILENAME xpath DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
+     (NAME cl-ppcre FILENAME cl-ppcre)
+     (NAME closure-common FILENAME closure-common) (NAME cxml FILENAME cxml)
+     (NAME cxml-dom FILENAME cxml-dom) (NAME cxml-klacks FILENAME cxml-klacks)
+     (NAME cxml-test FILENAME cxml-test) (NAME cxml-xml FILENAME cxml-xml)
+     (NAME parse-number FILENAME parse-number) (NAME puri FILENAME puri)
+     (NAME trivial-features FILENAME trivial-features)
+     (NAME trivial-gray-streams FILENAME trivial-gray-streams)
+     (NAME yacc FILENAME yacc))
+    DEPENDENCIES
+    (alexandria babel cl-ppcre closure-common cxml cxml-dom cxml-klacks
+     cxml-test cxml-xml parse-number puri trivial-features trivial-gray-streams
+     yacc)
+    VERSION plexippus-20120909-darcs SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/xsubseq.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/xsubseq.nix
index c1c699bd3629..91598bf66626 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/xsubseq.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/xsubseq.nix
@@ -11,25 +11,14 @@ rec {
     url = ''http://beta.quicklisp.org/archive/xsubseq/2015-01-13/xsubseq-20150113-git.tgz'';
     sha256 = ''0ykjhi7pkqcwm00yzhqvngnx07hsvwbj0c72b08rj4dkngg8is5q'';
   };
-    
+
   packageName = "xsubseq";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/xsubseq[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["xsubseq.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM xsubseq DESCRIPTION Efficient way to manage "subseq"s in Common Lisp SHA256 0ykjhi7pkqcwm00yzhqvngnx07hsvwbj0c72b08rj4dkngg8is5q URL
-    http://beta.quicklisp.org/archive/xsubseq/2015-01-13/xsubseq-20150113-git.tgz MD5 56f7a4ac1f05f10e7226e0e5b7b0bfa7 NAME xsubseq TESTNAME NIL FILENAME
-    xsubseq DEPS NIL DEPENDENCIES NIL VERSION 20150113-git SIBLINGS (xsubseq-test)) */
+/* (SYSTEM xsubseq DESCRIPTION Efficient way to manage "subseq"s in Common Lisp
+    SHA256 0ykjhi7pkqcwm00yzhqvngnx07hsvwbj0c72b08rj4dkngg8is5q URL
+    http://beta.quicklisp.org/archive/xsubseq/2015-01-13/xsubseq-20150113-git.tgz
+    MD5 56f7a4ac1f05f10e7226e0e5b7b0bfa7 NAME xsubseq FILENAME xsubseq DEPS NIL
+    DEPENDENCIES NIL VERSION 20150113-git SIBLINGS (xsubseq-test) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/yacc.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/yacc.nix
new file mode 100644
index 000000000000..c7031f4aa3fc
--- /dev/null
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/yacc.nix
@@ -0,0 +1,24 @@
+args @ { fetchurl, ... }:
+rec {
+  baseName = ''yacc'';
+  version = ''cl-20101006-darcs'';
+
+  description = ''A LALR(1) parser generator for Common Lisp'';
+
+  deps = [ ];
+
+  src = fetchurl {
+    url = ''http://beta.quicklisp.org/archive/cl-yacc/2010-10-06/cl-yacc-20101006-darcs.tgz'';
+    sha256 = ''0cymvl0arp4yahqcnhxggs1z2g42bf6z4ix75ba7wbsi52zirjp7'';
+  };
+
+  packageName = "yacc";
+
+  asdFilesToKeep = ["yacc.asd"];
+  overrides = x: x;
+}
+/* (SYSTEM yacc DESCRIPTION A LALR(1) parser generator for Common Lisp SHA256
+    0cymvl0arp4yahqcnhxggs1z2g42bf6z4ix75ba7wbsi52zirjp7 URL
+    http://beta.quicklisp.org/archive/cl-yacc/2010-10-06/cl-yacc-20101006-darcs.tgz
+    MD5 748b9d59de8be3ccfdf0f001e15972ba NAME yacc FILENAME yacc DEPS NIL
+    DEPENDENCIES NIL VERSION cl-20101006-darcs SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/yason.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/yason.nix
index d581891c7cc8..e14a540a1783 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/yason.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/yason.nix
@@ -11,26 +11,17 @@ rec {
     url = ''http://beta.quicklisp.org/archive/yason/2016-02-08/yason-v0.7.6.tgz'';
     sha256 = ''00gfn14bvnw0in03y5m2ssgvhy3ppf5a3s0rf7mf4rq00c5ifchk'';
   };
-    
+
   packageName = "yason";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/yason[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["yason.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM yason DESCRIPTION JSON parser/encoder SHA256 00gfn14bvnw0in03y5m2ssgvhy3ppf5a3s0rf7mf4rq00c5ifchk URL
-    http://beta.quicklisp.org/archive/yason/2016-02-08/yason-v0.7.6.tgz MD5 79de5d242c5e9ce49dfda153d5f442ec NAME yason TESTNAME NIL FILENAME yason DEPS
-    ((NAME alexandria FILENAME alexandria) (NAME trivial-gray-streams FILENAME trivial-gray-streams)) DEPENDENCIES (alexandria trivial-gray-streams) VERSION
-    v0.7.6 SIBLINGS NIL) */
+/* (SYSTEM yason DESCRIPTION JSON parser/encoder SHA256
+    00gfn14bvnw0in03y5m2ssgvhy3ppf5a3s0rf7mf4rq00c5ifchk URL
+    http://beta.quicklisp.org/archive/yason/2016-02-08/yason-v0.7.6.tgz MD5
+    79de5d242c5e9ce49dfda153d5f442ec NAME yason FILENAME yason DEPS
+    ((NAME alexandria FILENAME alexandria)
+     (NAME trivial-gray-streams FILENAME trivial-gray-streams))
+    DEPENDENCIES (alexandria trivial-gray-streams) VERSION v0.7.6 SIBLINGS NIL
+    PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/zpb-ttf.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/zpb-ttf.nix
index 0a1a9ee2f818..74e5d7e97e95 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-output/zpb-ttf.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/zpb-ttf.nix
@@ -11,25 +11,15 @@ rec {
     url = ''http://beta.quicklisp.org/archive/zpb-ttf/2013-07-20/zpb-ttf-1.0.3.tgz'';
     sha256 = ''1irv0d0pcbwi2wx6hhjjyxzw12lnw8pvyg6ljsljh8xmhppbg5j6'';
   };
-    
+
   packageName = "zpb-ttf";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/zpb-ttf[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["zpb-ttf.asd"];
+  overrides = x: x;
 }
-/* (SYSTEM zpb-ttf DESCRIPTION Access TrueType font metrics and outlines from Common Lisp SHA256 1irv0d0pcbwi2wx6hhjjyxzw12lnw8pvyg6ljsljh8xmhppbg5j6 URL
-    http://beta.quicklisp.org/archive/zpb-ttf/2013-07-20/zpb-ttf-1.0.3.tgz MD5 1e896d8b0b01babab882e43fe4c3c2d4 NAME zpb-ttf TESTNAME NIL FILENAME zpb-ttf DEPS
-    NIL DEPENDENCIES NIL VERSION 1.0.3 SIBLINGS NIL) */
+/* (SYSTEM zpb-ttf DESCRIPTION
+    Access TrueType font metrics and outlines from Common Lisp SHA256
+    1irv0d0pcbwi2wx6hhjjyxzw12lnw8pvyg6ljsljh8xmhppbg5j6 URL
+    http://beta.quicklisp.org/archive/zpb-ttf/2013-07-20/zpb-ttf-1.0.3.tgz MD5
+    1e896d8b0b01babab882e43fe4c3c2d4 NAME zpb-ttf FILENAME zpb-ttf DEPS NIL
+    DEPENDENCIES NIL VERSION 1.0.3 SIBLINGS NIL PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-overrides.lisp b/pkgs/development/lisp-modules/quicklisp-to-nix-overrides.lisp
deleted file mode 100644
index a710d25ab5cd..000000000000
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-overrides.lisp
+++ /dev/null
@@ -1,7 +0,0 @@
-(setf
-  (gethash "cxml-xml" testnames) "cxml"
-  (gethash "cxml-dom" testnames) "cxml"
-  (gethash "cxml-test" testnames) "cxml"
-  (gethash "cxml-klacks" testnames) "cxml"
-  (gethash "cl-async-base" testnames) "cl-async"
-  )
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix
index 877389811d09..93a533f6ecc5 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix
@@ -5,7 +5,6 @@ let
   skipBuildPhase = x: {
     overrides = y: ((x.overrides y) // { buildPhase = "true"; });
   };
-  qlnp = quicklisp-to-nix-packages;
   multiOverride = l: x: if l == [] then {} else
     ((builtins.head l) x) // (multiOverride (builtins.tail l) x);
 in
@@ -23,9 +22,6 @@ in
         cp "$out/lib/common-lisp/stumpwm/stumpwm" "$out/bin"
       '';
     };
-    propagatedBuildInputs = (x.propagatedBuildInputs or []) ++ (with qlnp; [
-      alexandria cl-ppcre clx
-    ]);
   };
   iterate = skipBuildPhase;
   cl-fuse = x: {
@@ -45,84 +41,16 @@ in
   iolib = x: rec {
     propagatedBuildInputs = (x.propagatedBuildInputs or [])
      ++ (with pkgs; [libfixposix gcc])
-     ++ (with qlnp; [
-       alexandria split-sequence cffi bordeaux-threads idna swap-bytes
-     ])
      ;
-    testSystems = ["iolib" "iolib/syscalls" "iolib/multiplex" "iolib/streams"
-      "iolib/zstreams" "iolib/sockets" "iolib/trivial-sockets"
-      "iolib/pathnames" "iolib/os"];
-
-    version = "0.8.3";
-    src = pkgs.fetchFromGitHub {
-      owner = "sionescu";
-      repo = "iolib";
-      rev = "v${version}";
-      sha256 = "0pa86bf3jrysnmhasbc0lm6cid9xzril4jsg02g3gziav1xw5x2m";
-    };
-  };
-  iolib_slash_syscalls = x: rec {
-    propagatedBuildInputs = (x.propagatedBuildInputs or [])
-     ++ (with pkgs; [libfixposix gcc])
-     ++ (with qlnp; [
-       alexandria split-sequence cffi bordeaux-threads idna swap-bytes
-     ])
-     ;
-    testSystems = ["iolib" "iolib/syscalls" "iolib/multiplex" "iolib/streams"
-      "iolib/zstreams" "iolib/sockets" "iolib/trivial-sockets"
-      "iolib/pathnames" "iolib/os"];
-
-    version = "0.8.3";
-    src = pkgs.fetchFromGitHub {
-      owner = "sionescu";
-      repo = "iolib";
-      rev = "v${version}";
-      sha256 = "0pa86bf3jrysnmhasbc0lm6cid9xzril4jsg02g3gziav1xw5x2m";
-    };
   };
-  cl-unicode = addDeps (with qlnp; [cl-ppcre flexi-streams]);
-  clack =  addDeps (with qlnp;[lack bordeaux-threads prove]);
-  clack-v1-compat =  addDeps (with qlnp;[
-    lack bordeaux-threads prove usocket dexador http-body trivial-backtrace
-    marshal local-time cl-base64 cl-ppcre quri trivial-mimes trivial-types
-    flexi-streams circular-streams ironclad cl-syntax-annot alexandria
-    split-sequence
-  ]);
-  lack = addDeps (with qlnp; [ironclad]);
-  cxml = multiOverride [ skipBuildPhase (addDeps (with qlnp; [
-    closure-common puri trivial-gray-streams
-  ]))];
-  wookie = multiOverride [(addDeps (with qlnp; [
-      alexandria blackbird cl-async chunga fast-http quri babel cl-ppcre
-      cl-fad fast-io vom do-urlencode cl-async-ssl
-    ]))
-    (addNativeLibs (with pkgs; [libuv openssl]))];
-  woo = addDeps (with qlnp; [
-    cffi lev clack swap-bytes static-vectors fast-http proc-parse quri fast-io
-    trivial-utf-8 vom
-  ]);
+  cxml = skipBuildPhase;
+  wookie = addNativeLibs (with pkgs; [libuv openssl]);
   lev = addNativeLibs [pkgs.libev];
-  dexador = addDeps (with qlnp; [
-    usocket fast-http quri fast-io chunga cl-ppcre cl-cookie trivial-mimes
-    chipz cl-base64 cl-reexport qlnp."cl+ssl" alexandria bordeaux-threads
-  ]);
-  fast-http = addDeps (with qlnp; [
-    alexandria cl-utilities proc-parse xsubseq smart-buffer
-  ]);
-  cl-emb = addDeps (with qlnp; [cl-ppcre]);
   "cl+ssl" = addNativeLibs [pkgs.openssl];
   cl-colors = skipBuildPhase;
   cl-libuv = addNativeLibs [pkgs.libuv];
-  cl-async = addDeps (with qlnp; [cl-async-base]);
-  cl-async-ssl = multiOverride [(addDeps (with qlnp; [cl-async-base]))
-    (addNativeLibs [pkgs.openssl])];
-  cl-async-repl = addDeps (with qlnp; [cl-async]);
-  cl-async-base = addDeps (with qlnp; [
-    cffi fast-io vom cl-libuv cl-ppcre trivial-features static-vectors
-    trivial-gray-streams babel
-  ]);
-  cl-async-util = addDeps (with qlnp; [ cl-async-base ]);
-  css-lite = addDeps (with qlnp; [parenscript]);
+  cl-async-ssl = addNativeLibs [pkgs.openssl];
+  cl-async-test = addNativeLibs [pkgs.openssl];
   clsql = x: {
     propagatedBuildInputs = with pkgs; [mysql postgresql sqlite zlib];
     overrides = y: (x.overrides y) // {
@@ -146,17 +74,7 @@ in
       '';
     };
   };
-  cffi = multiOverride [(addNativeLibs [pkgs.libffi])
-    (addDeps (with qlnp; [uffi uiop trivial-features]))];
-  cl-vectors = addDeps (with qlnp; [zpb-ttf]);
-  cl-paths-ttf = addDeps (with qlnp; [zpb-ttf]);
-  "3bmd" = addDeps (with qlnp; [esrap split-sequence]);
-  cl-dbi = addDeps (with qlnp; [
-    cl-syntax cl-syntax-annot split-sequence closer-mop bordeaux-threads
-  ]);
-  dbd-sqlite3 = addDeps (with qlnp; [cl-dbi]);
-  dbd-postgres = addDeps (with qlnp; [cl-dbi]);
-  dbd-mysql = addDeps (with qlnp; [cl-dbi]);
+  cffi = addNativeLibs [pkgs.libffi];
   cl-mysql = addNativeLibs [pkgs.mysql];
   cl-ppcre-template = x: {
     overrides = y: (x.overrides y) // {
@@ -164,21 +82,43 @@ in
         ln -s lib-dependent/*.asd .
       '';
     };
-    propagatedBuildInputs = (x.propagatedBuildInputs or []) ++ (with qlnp; [
-      cl-ppcre
-    ]);
   };
-  cl-unification = addDeps (with qlnp; [cl-ppcre]);
-  cl-syntax-annot = addDeps (with qlnp; [cl-syntax]);
-  cl-syntax-anonfun = addDeps (with qlnp; [cl-syntax]);
-  cl-syntax-markup = addDeps (with qlnp; [cl-syntax]);
-  cl-test-more = addDeps (with qlnp; [prove]);
-  babel-streams = addDeps (with qlnp; [babel trivial-gray-streams]);
-  babel = addDeps (with qlnp; [trivial-features alexandria]);
-  plump = addDeps (with qlnp; [array-utils trivial-indent]);
   sqlite = addNativeLibs [pkgs.sqlite];
+  swank = x: {
+    overrides = y: (x.overrides y) // {
+      postPatch = ''
+        patch <<EOD
+        --- swank-loader.lisp	2017-08-30 16:46:16.554076684 -0700
+        +++ swank-loader-new.lisp	2017-08-30 16:49:23.333450928 -0700
+        @@ -155,7 +155,7 @@
+                          ,(unique-dir-name)))
+            (user-homedir-pathname)))
+         
+        -(defvar *fasl-directory* (default-fasl-dir)
+        +(defvar *fasl-directory* #P"$out/lib/common-lisp/swank/fasl/"
+           "The directory where fasl files should be placed.")
+         
+         (defun binary-pathname (src-pathname binary-dir)
+        @@ -277,12 +277,7 @@
+                          (contrib-dir src-dir))))
+         
+         (defun delete-stale-contrib-fasl-files (swank-files contrib-files fasl-dir)
+        -  (let ((newest (reduce #'max (mapcar #'file-write-date swank-files))))
+        -    (dolist (src contrib-files)
+        -      (let ((fasl (binary-pathname src fasl-dir)))
+        -        (when (and (probe-file fasl)
+        -                   (<= (file-write-date fasl) newest))
+        -          (delete-file fasl))))))
+        +  (declare (ignore swank-files contrib-files fasl-dir)))
+         
+         (defun compile-contribs (&key (src-dir (contrib-dir *source-directory*))
+                                    (fasl-dir (contrib-dir *fasl-directory*))
+        EOD
+      '';
+    };
+  };
   uiop = x: {
-    testSystems = (x.testSystems or ["uiop"]) ++ [
+    parasites = (x.parasites or []) ++ [
       "uiop/version"
     ];
     overrides = y: (x.overrides y) // {
@@ -192,28 +132,10 @@ in
       postConfigure = "rm GNUmakefile";
     };
   };
-  esrap = addDeps (with qlnp; [alexandria]);
-  fast-io = addDeps (with qlnp; [
-    alexandria trivial-gray-streams static-vectors
-  ]);
-  hu_dot_dwim_dot_def = addDeps (with qlnp; [
-    hu_dot_dwim_dot_asdf alexandria anaphora iterate metabang-bind
-  ]);
-  ironclad = addDeps (with qlnp; [nibbles flexi-streams]);
-  ixf = addDeps (with qlnp; [
-    split-sequence md5 alexandria babel local-time cl-ppcre ieee-floats
-  ]);
-  jonathan = addDeps (with qlnp; [
-    cl-syntax cl-syntax-annot fast-io proc-parse cl-ppcre
-  ]);
-  local-time = addDeps (with qlnp; [cl-fad]);
-  lquery = addDeps (with qlnp; [array-utils form-fiddle plump clss]);
-  clss = addDeps (with qlnp; [array-utils plump]);
-  form-fiddle = addDeps (with qlnp; [documentation-utils]);
-  documentation-utils = addDeps (with qlnp; [trivial-indent]);
-  mssql = x: {
-    testSystems = [];
+  mssql = addNativeLibs [pkgs.freetds];
+  cl-unification = x: {
+    asdFilesToKeep = (x.asdFilesToKeep or []) ++ [
+      "cl-unification-lib.asd"
+    ];
   };
-  cl-postgres = addDeps (with qlnp; [cl-ppcre md5]);
-  postmodern = addDeps (with qlnp; [md5]);
 }
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-systems.txt b/pkgs/development/lisp-modules/quicklisp-to-nix-systems.txt
index 07b069f8b7bb..762c7d47424b 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-systems.txt
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-systems.txt
@@ -59,6 +59,7 @@ dexador
 documentation-utils
 drakma
 esrap
+esrap-peg
 external-program
 fast-http
 fast-io
@@ -110,6 +111,7 @@ uffi
 usocket
 woo
 wookie
+xkeyboard
 xmls
 xsubseq
 yason
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix.nix b/pkgs/development/lisp-modules/quicklisp-to-nix.nix
index a257b7095cb8..2b6b6e3817d2 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix.nix
@@ -6,94 +6,86 @@ let quicklisp-to-nix-packages = rec {
   buildLispPackage = callPackage ./define-package.nix;
   qlOverrides = callPackage ./quicklisp-to-nix-overrides.nix {};
 
-  "closure-common" = buildLispPackage
+  "symbol-munger" = buildLispPackage
     ((f: x: (x // (f x)))
-       (qlOverrides."closure-common" or (x: {}))
-       (import ./quicklisp-to-nix-output/closure-common.nix {
+       (qlOverrides."symbol-munger" or (x: {}))
+       (import ./quicklisp-to-nix-output/symbol-munger.nix {
          inherit fetchurl;
-           "babel" = quicklisp-to-nix-packages."babel";
-           "trivial-gray-streams" = quicklisp-to-nix-packages."trivial-gray-streams";
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "iterate" = quicklisp-to-nix-packages."iterate";
        }));
 
 
-  "list-of" = buildLispPackage
-    ((f: x: (x // (f x)))
-       (qlOverrides."list-of" or (x: {}))
-       (import ./quicklisp-to-nix-output/list-of.nix {
-         inherit fetchurl;
-       }));
+  "simple-date-postgres-glue" = quicklisp-to-nix-packages."simple-date";
 
 
-  "parse-number" = buildLispPackage
-    ((f: x: (x // (f x)))
-       (qlOverrides."parse-number" or (x: {}))
-       (import ./quicklisp-to-nix-output/parse-number.nix {
-         inherit fetchurl;
-       }));
+  "cl-postgres-tests" = quicklisp-to-nix-packages."cl-postgres";
 
 
-  "garbage-pools" = buildLispPackage
+  "asdf-finalizers" = buildLispPackage
     ((f: x: (x // (f x)))
-       (qlOverrides."garbage-pools" or (x: {}))
-       (import ./quicklisp-to-nix-output/garbage-pools.nix {
+       (qlOverrides."asdf-finalizers" or (x: {}))
+       (import ./quicklisp-to-nix-output/asdf-finalizers.nix {
          inherit fetchurl;
        }));
 
 
-  "cl-containers" = buildLispPackage
+  "lisp-unit2" = buildLispPackage
     ((f: x: (x // (f x)))
-       (qlOverrides."cl-containers" or (x: {}))
-       (import ./quicklisp-to-nix-output/cl-containers.nix {
+       (qlOverrides."lisp-unit2" or (x: {}))
+       (import ./quicklisp-to-nix-output/lisp-unit2.nix {
          inherit fetchurl;
-           "metatilities-base" = quicklisp-to-nix-packages."metatilities-base";
-           "asdf-system-connections" = quicklisp-to-nix-packages."asdf-system-connections";
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "cl-interpol" = quicklisp-to-nix-packages."cl-interpol";
+           "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
+           "cl-unicode" = quicklisp-to-nix-packages."cl-unicode";
+           "flexi-streams" = quicklisp-to-nix-packages."flexi-streams";
+           "iterate" = quicklisp-to-nix-packages."iterate";
+           "symbol-munger" = quicklisp-to-nix-packages."symbol-munger";
        }));
 
 
-  "dynamic-classes" = buildLispPackage
+  "moptilities" = buildLispPackage
     ((f: x: (x // (f x)))
-       (qlOverrides."dynamic-classes" or (x: {}))
-       (import ./quicklisp-to-nix-output/dynamic-classes.nix {
+       (qlOverrides."moptilities" or (x: {}))
+       (import ./quicklisp-to-nix-output/moptilities.nix {
          inherit fetchurl;
-           "metatilities-base" = quicklisp-to-nix-packages."metatilities-base";
+           "closer-mop" = quicklisp-to-nix-packages."closer-mop";
        }));
 
 
-  "metatilities-base" = buildLispPackage
+  "iolib_dot_common-lisp" = buildLispPackage
     ((f: x: (x // (f x)))
-       (qlOverrides."metatilities-base" or (x: {}))
-       (import ./quicklisp-to-nix-output/metatilities-base.nix {
+       (qlOverrides."iolib_dot_common-lisp" or (x: {}))
+       (import ./quicklisp-to-nix-output/iolib_dot_common-lisp.nix {
          inherit fetchurl;
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "iolib_dot_asdf" = quicklisp-to-nix-packages."iolib_dot_asdf";
+           "iolib_dot_conf" = quicklisp-to-nix-packages."iolib_dot_conf";
        }));
 
 
-  "cl-interpol" = buildLispPackage
+  "yacc" = buildLispPackage
     ((f: x: (x // (f x)))
-       (qlOverrides."cl-interpol" or (x: {}))
-       (import ./quicklisp-to-nix-output/cl-interpol.nix {
+       (qlOverrides."yacc" or (x: {}))
+       (import ./quicklisp-to-nix-output/yacc.nix {
          inherit fetchurl;
-           "cl-unicode" = quicklisp-to-nix-packages."cl-unicode";
        }));
 
 
-  "iolib_slash_syscalls" = buildLispPackage
+  "unit-test" = buildLispPackage
     ((f: x: (x // (f x)))
-       (qlOverrides."iolib_slash_syscalls" or (x: {}))
-       (import ./quicklisp-to-nix-output/iolib_slash_syscalls.nix {
+       (qlOverrides."unit-test" or (x: {}))
+       (import ./quicklisp-to-nix-output/unit-test.nix {
          inherit fetchurl;
-           "trivial-features" = quicklisp-to-nix-packages."trivial-features";
-           "cffi" = quicklisp-to-nix-packages."cffi";
        }));
 
 
-  "cxml-xml" = buildLispPackage
+  "map-set" = buildLispPackage
     ((f: x: (x // (f x)))
-       (qlOverrides."cxml-xml" or (x: {}))
-       (import ./quicklisp-to-nix-output/cxml-xml.nix {
+       (qlOverrides."map-set" or (x: {}))
+       (import ./quicklisp-to-nix-output/map-set.nix {
          inherit fetchurl;
-           "trivial-gray-streams" = quicklisp-to-nix-packages."trivial-gray-streams";
-           "puri" = quicklisp-to-nix-packages."puri";
-           "closure-common" = quicklisp-to-nix-packages."closure-common";
        }));
 
 
@@ -102,15 +94,17 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."babel-streams" or (x: {}))
        (import ./quicklisp-to-nix-output/babel-streams.nix {
          inherit fetchurl;
-           "trivial-gray-streams" = quicklisp-to-nix-packages."trivial-gray-streams";
            "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "babel" = quicklisp-to-nix-packages."babel";
+           "trivial-features" = quicklisp-to-nix-packages."trivial-features";
+           "trivial-gray-streams" = quicklisp-to-nix-packages."trivial-gray-streams";
        }));
 
 
-  "map-set" = buildLispPackage
+  "rt" = buildLispPackage
     ((f: x: (x // (f x)))
-       (qlOverrides."map-set" or (x: {}))
-       (import ./quicklisp-to-nix-output/map-set.nix {
+       (qlOverrides."rt" or (x: {}))
+       (import ./quicklisp-to-nix-output/rt.nix {
          inherit fetchurl;
        }));
 
@@ -123,12 +117,42 @@ let quicklisp-to-nix-packages = rec {
        }));
 
 
+  "plump-parser" = buildLispPackage
+    ((f: x: (x // (f x)))
+       (qlOverrides."plump-parser" or (x: {}))
+       (import ./quicklisp-to-nix-output/plump-parser.nix {
+         inherit fetchurl;
+           "array-utils" = quicklisp-to-nix-packages."array-utils";
+           "plump-dom" = quicklisp-to-nix-packages."plump-dom";
+           "plump-lexer" = quicklisp-to-nix-packages."plump-lexer";
+           "trivial-indent" = quicklisp-to-nix-packages."trivial-indent";
+       }));
+
+
+  "plump-lexer" = buildLispPackage
+    ((f: x: (x // (f x)))
+       (qlOverrides."plump-lexer" or (x: {}))
+       (import ./quicklisp-to-nix-output/plump-lexer.nix {
+         inherit fetchurl;
+       }));
+
+
+  "plump-dom" = buildLispPackage
+    ((f: x: (x // (f x)))
+       (qlOverrides."plump-dom" or (x: {}))
+       (import ./quicklisp-to-nix-output/plump-dom.nix {
+         inherit fetchurl;
+           "array-utils" = quicklisp-to-nix-packages."array-utils";
+       }));
+
+
   "uuid" = buildLispPackage
     ((f: x: (x // (f x)))
        (qlOverrides."uuid" or (x: {}))
        (import ./quicklisp-to-nix-output/uuid.nix {
          inherit fetchurl;
            "ironclad" = quicklisp-to-nix-packages."ironclad";
+           "nibbles" = quicklisp-to-nix-packages."nibbles";
            "trivial-utf-8" = quicklisp-to-nix-packages."trivial-utf-8";
        }));
 
@@ -138,6 +162,19 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."simple-date" or (x: {}))
        (import ./quicklisp-to-nix-output/simple-date.nix {
          inherit fetchurl;
+           "cl-postgres" = quicklisp-to-nix-packages."cl-postgres";
+           "fiveam" = quicklisp-to-nix-packages."fiveam";
+           "md5" = quicklisp-to-nix-packages."md5";
+       }));
+
+
+  "s-sql" = buildLispPackage
+    ((f: x: (x // (f x)))
+       (qlOverrides."s-sql" or (x: {}))
+       (import ./quicklisp-to-nix-output/s-sql.nix {
+         inherit fetchurl;
+           "cl-postgres" = quicklisp-to-nix-packages."cl-postgres";
+           "md5" = quicklisp-to-nix-packages."md5";
        }));
 
 
@@ -146,12 +183,12 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."qmynd" or (x: {}))
        (import ./quicklisp-to-nix-output/qmynd.nix {
          inherit fetchurl;
-           "usocket" = quicklisp-to-nix-packages."usocket";
-           "trivial-gray-streams" = quicklisp-to-nix-packages."trivial-gray-streams";
-           "list-of" = quicklisp-to-nix-packages."list-of";
-           "ironclad" = quicklisp-to-nix-packages."ironclad";
-           "flexi-streams" = quicklisp-to-nix-packages."flexi-streams";
            "babel" = quicklisp-to-nix-packages."babel";
+           "flexi-streams" = quicklisp-to-nix-packages."flexi-streams";
+           "ironclad" = quicklisp-to-nix-packages."ironclad";
+           "list-of" = quicklisp-to-nix-packages."list-of";
+           "trivial-gray-streams" = quicklisp-to-nix-packages."trivial-gray-streams";
+           "usocket" = quicklisp-to-nix-packages."usocket";
        }));
 
 
@@ -169,8 +206,16 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."postmodern" or (x: {}))
        (import ./quicklisp-to-nix-output/postmodern.nix {
          inherit fetchurl;
-           "closer-mop" = quicklisp-to-nix-packages."closer-mop";
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
            "bordeaux-threads" = quicklisp-to-nix-packages."bordeaux-threads";
+           "cl-postgres" = quicklisp-to-nix-packages."cl-postgres";
+           "cl-postgres-tests" = quicklisp-to-nix-packages."cl-postgres-tests";
+           "closer-mop" = quicklisp-to-nix-packages."closer-mop";
+           "fiveam" = quicklisp-to-nix-packages."fiveam";
+           "md5" = quicklisp-to-nix-packages."md5";
+           "s-sql" = quicklisp-to-nix-packages."s-sql";
+           "simple-date" = quicklisp-to-nix-packages."simple-date";
+           "simple-date-postgres-glue" = quicklisp-to-nix-packages."simple-date-postgres-glue";
        }));
 
 
@@ -186,13 +231,30 @@ let quicklisp-to-nix-packages = rec {
        }));
 
 
+  "metatilities-base" = buildLispPackage
+    ((f: x: (x // (f x)))
+       (qlOverrides."metatilities-base" or (x: {}))
+       (import ./quicklisp-to-nix-output/metatilities-base.nix {
+         inherit fetchurl;
+       }));
+
+
   "lparallel" = buildLispPackage
     ((f: x: (x // (f x)))
        (qlOverrides."lparallel" or (x: {}))
        (import ./quicklisp-to-nix-output/lparallel.nix {
          inherit fetchurl;
-           "bordeaux-threads" = quicklisp-to-nix-packages."bordeaux-threads";
            "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "bordeaux-threads" = quicklisp-to-nix-packages."bordeaux-threads";
+       }));
+
+
+  "list-of" = buildLispPackage
+    ((f: x: (x // (f x)))
+       (qlOverrides."list-of" or (x: {}))
+       (import ./quicklisp-to-nix-output/list-of.nix {
+         inherit fetchurl;
+           "asdf-finalizers" = quicklisp-to-nix-packages."asdf-finalizers";
        }));
 
 
@@ -211,6 +273,23 @@ let quicklisp-to-nix-packages = rec {
        }));
 
 
+  "garbage-pools" = buildLispPackage
+    ((f: x: (x // (f x)))
+       (qlOverrides."garbage-pools" or (x: {}))
+       (import ./quicklisp-to-nix-output/garbage-pools.nix {
+         inherit fetchurl;
+       }));
+
+
+  "dynamic-classes" = buildLispPackage
+    ((f: x: (x // (f x)))
+       (qlOverrides."dynamic-classes" or (x: {}))
+       (import ./quicklisp-to-nix-output/dynamic-classes.nix {
+         inherit fetchurl;
+           "metatilities-base" = quicklisp-to-nix-packages."metatilities-base";
+       }));
+
+
   "db3" = buildLispPackage
     ((f: x: (x // (f x)))
        (qlOverrides."db3" or (x: {}))
@@ -224,12 +303,13 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."cl-markdown" or (x: {}))
        (import ./quicklisp-to-nix-output/cl-markdown.nix {
          inherit fetchurl;
-           "metatilities-base" = quicklisp-to-nix-packages."metatilities-base";
-           "metabang-bind" = quicklisp-to-nix-packages."metabang-bind";
-           "dynamic-classes" = quicklisp-to-nix-packages."dynamic-classes";
-           "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
-           "cl-containers" = quicklisp-to-nix-packages."cl-containers";
            "anaphora" = quicklisp-to-nix-packages."anaphora";
+           "asdf-system-connections" = quicklisp-to-nix-packages."asdf-system-connections";
+           "cl-containers" = quicklisp-to-nix-packages."cl-containers";
+           "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
+           "dynamic-classes" = quicklisp-to-nix-packages."dynamic-classes";
+           "metabang-bind" = quicklisp-to-nix-packages."metabang-bind";
+           "metatilities-base" = quicklisp-to-nix-packages."metatilities-base";
        }));
 
 
@@ -241,14 +321,40 @@ let quicklisp-to-nix-packages = rec {
        }));
 
 
+  "cl-interpol" = buildLispPackage
+    ((f: x: (x // (f x)))
+       (qlOverrides."cl-interpol" or (x: {}))
+       (import ./quicklisp-to-nix-output/cl-interpol.nix {
+         inherit fetchurl;
+           "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
+           "cl-unicode" = quicklisp-to-nix-packages."cl-unicode";
+           "flexi-streams" = quicklisp-to-nix-packages."flexi-streams";
+       }));
+
+
   "cl-csv" = buildLispPackage
     ((f: x: (x // (f x)))
        (qlOverrides."cl-csv" or (x: {}))
        (import ./quicklisp-to-nix-output/cl-csv.nix {
          inherit fetchurl;
-           "iterate" = quicklisp-to-nix-packages."iterate";
-           "cl-interpol" = quicklisp-to-nix-packages."cl-interpol";
            "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "cl-interpol" = quicklisp-to-nix-packages."cl-interpol";
+           "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
+           "cl-unicode" = quicklisp-to-nix-packages."cl-unicode";
+           "flexi-streams" = quicklisp-to-nix-packages."flexi-streams";
+           "iterate" = quicklisp-to-nix-packages."iterate";
+           "lisp-unit2" = quicklisp-to-nix-packages."lisp-unit2";
+       }));
+
+
+  "cl-containers" = buildLispPackage
+    ((f: x: (x // (f x)))
+       (qlOverrides."cl-containers" or (x: {}))
+       (import ./quicklisp-to-nix-output/cl-containers.nix {
+         inherit fetchurl;
+           "asdf-system-connections" = quicklisp-to-nix-packages."asdf-system-connections";
+           "metatilities-base" = quicklisp-to-nix-packages."metatilities-base";
+           "moptilities" = quicklisp-to-nix-packages."moptilities";
        }));
 
 
@@ -257,51 +363,102 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."abnf" or (x: {}))
        (import ./quicklisp-to-nix-output/abnf.nix {
          inherit fetchurl;
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
            "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
            "esrap" = quicklisp-to-nix-packages."esrap";
        }));
 
 
-  "named-readtables" = buildLispPackage
+  "lack-component" = buildLispPackage
     ((f: x: (x // (f x)))
-       (qlOverrides."named-readtables" or (x: {}))
-       (import ./quicklisp-to-nix-output/named-readtables.nix {
+       (qlOverrides."lack-component" or (x: {}))
+       (import ./quicklisp-to-nix-output/lack-component.nix {
          inherit fetchurl;
        }));
 
 
-  "iolib_slash_multiplex" = buildLispPackage
+  "iolib_dot_grovel" = buildLispPackage
     ((f: x: (x // (f x)))
-       (qlOverrides."iolib_slash_multiplex" or (x: {}))
-       (import ./quicklisp-to-nix-output/iolib_slash_multiplex.nix {
+       (qlOverrides."iolib_dot_grovel" or (x: {}))
+       (import ./quicklisp-to-nix-output/iolib_dot_grovel.nix {
          inherit fetchurl;
-           "iolib_slash_syscalls" = quicklisp-to-nix-packages."iolib_slash_syscalls";
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
            "cffi" = quicklisp-to-nix-packages."cffi";
+           "iolib_dot_asdf" = quicklisp-to-nix-packages."iolib_dot_asdf";
+           "iolib_dot_base" = quicklisp-to-nix-packages."iolib_dot_base";
+           "iolib_dot_conf" = quicklisp-to-nix-packages."iolib_dot_conf";
+           "split-sequence" = quicklisp-to-nix-packages."split-sequence";
+           "uiop" = quicklisp-to-nix-packages."uiop";
        }));
 
 
-  "iolib_slash_sockets" = buildLispPackage
+  "iolib_dot_conf" = buildLispPackage
     ((f: x: (x // (f x)))
-       (qlOverrides."iolib_slash_sockets" or (x: {}))
-       (import ./quicklisp-to-nix-output/iolib_slash_sockets.nix {
+       (qlOverrides."iolib_dot_conf" or (x: {}))
+       (import ./quicklisp-to-nix-output/iolib_dot_conf.nix {
          inherit fetchurl;
-           "swap-bytes" = quicklisp-to-nix-packages."swap-bytes";
-           "iolib_slash_syscalls" = quicklisp-to-nix-packages."iolib_slash_syscalls";
-           "iolib_slash_streams" = quicklisp-to-nix-packages."iolib_slash_streams";
-           "idna" = quicklisp-to-nix-packages."idna";
-           "cffi" = quicklisp-to-nix-packages."cffi";
-           "bordeaux-threads" = quicklisp-to-nix-packages."bordeaux-threads";
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "iolib_dot_asdf" = quicklisp-to-nix-packages."iolib_dot_asdf";
+       }));
+
+
+  "iolib_dot_base" = buildLispPackage
+    ((f: x: (x // (f x)))
+       (qlOverrides."iolib_dot_base" or (x: {}))
+       (import ./quicklisp-to-nix-output/iolib_dot_base.nix {
+         inherit fetchurl;
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "iolib_dot_asdf" = quicklisp-to-nix-packages."iolib_dot_asdf";
+           "iolib_dot_common-lisp" = quicklisp-to-nix-packages."iolib_dot_common-lisp";
+           "iolib_dot_conf" = quicklisp-to-nix-packages."iolib_dot_conf";
+           "split-sequence" = quicklisp-to-nix-packages."split-sequence";
+       }));
+
+
+  "iolib_dot_asdf" = buildLispPackage
+    ((f: x: (x // (f x)))
+       (qlOverrides."iolib_dot_asdf" or (x: {}))
+       (import ./quicklisp-to-nix-output/iolib_dot_asdf.nix {
+         inherit fetchurl;
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
+       }));
+
+
+  "eos" = buildLispPackage
+    ((f: x: (x // (f x)))
+       (qlOverrides."eos" or (x: {}))
+       (import ./quicklisp-to-nix-output/eos.nix {
+         inherit fetchurl;
+       }));
+
+
+  "xpath" = buildLispPackage
+    ((f: x: (x // (f x)))
+       (qlOverrides."xpath" or (x: {}))
+       (import ./quicklisp-to-nix-output/xpath.nix {
+         inherit fetchurl;
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
            "babel" = quicklisp-to-nix-packages."babel";
+           "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
+           "closure-common" = quicklisp-to-nix-packages."closure-common";
+           "cxml" = quicklisp-to-nix-packages."cxml";
+           "cxml-dom" = quicklisp-to-nix-packages."cxml-dom";
+           "cxml-klacks" = quicklisp-to-nix-packages."cxml-klacks";
+           "cxml-test" = quicklisp-to-nix-packages."cxml-test";
+           "cxml-xml" = quicklisp-to-nix-packages."cxml-xml";
+           "parse-number" = quicklisp-to-nix-packages."parse-number";
+           "puri" = quicklisp-to-nix-packages."puri";
+           "trivial-features" = quicklisp-to-nix-packages."trivial-features";
+           "trivial-gray-streams" = quicklisp-to-nix-packages."trivial-gray-streams";
+           "yacc" = quicklisp-to-nix-packages."yacc";
        }));
 
 
-  "iolib_slash_streams" = buildLispPackage
+  "swank" = buildLispPackage
     ((f: x: (x // (f x)))
-       (qlOverrides."iolib_slash_streams" or (x: {}))
-       (import ./quicklisp-to-nix-output/iolib_slash_streams.nix {
+       (qlOverrides."swank" or (x: {}))
+       (import ./quicklisp-to-nix-output/swank.nix {
          inherit fetchurl;
-           "iolib_slash_multiplex" = quicklisp-to-nix-packages."iolib_slash_multiplex";
-           "cffi" = quicklisp-to-nix-packages."cffi";
        }));
 
 
@@ -313,11 +470,27 @@ let quicklisp-to-nix-packages = rec {
        }));
 
 
-  "md5" = buildLispPackage
+  "cxml-stp" = buildLispPackage
     ((f: x: (x // (f x)))
-       (qlOverrides."md5" or (x: {}))
-       (import ./quicklisp-to-nix-output/md5.nix {
+       (qlOverrides."cxml-stp" or (x: {}))
+       (import ./quicklisp-to-nix-output/cxml-stp.nix {
          inherit fetchurl;
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "babel" = quicklisp-to-nix-packages."babel";
+           "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
+           "closure-common" = quicklisp-to-nix-packages."closure-common";
+           "cxml" = quicklisp-to-nix-packages."cxml";
+           "cxml-dom" = quicklisp-to-nix-packages."cxml-dom";
+           "cxml-klacks" = quicklisp-to-nix-packages."cxml-klacks";
+           "cxml-test" = quicklisp-to-nix-packages."cxml-test";
+           "cxml-xml" = quicklisp-to-nix-packages."cxml-xml";
+           "parse-number" = quicklisp-to-nix-packages."parse-number";
+           "puri" = quicklisp-to-nix-packages."puri";
+           "rt" = quicklisp-to-nix-packages."rt";
+           "trivial-features" = quicklisp-to-nix-packages."trivial-features";
+           "trivial-gray-streams" = quicklisp-to-nix-packages."trivial-gray-streams";
+           "xpath" = quicklisp-to-nix-packages."xpath";
+           "yacc" = quicklisp-to-nix-packages."yacc";
        }));
 
 
@@ -326,14 +499,14 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."jonathan" or (x: {}))
        (import ./quicklisp-to-nix-output/jonathan.nix {
          inherit fetchurl;
-           "trivial-types" = quicklisp-to-nix-packages."trivial-types";
-           "proc-parse" = quicklisp-to-nix-packages."proc-parse";
-           "fast-io" = quicklisp-to-nix-packages."fast-io";
-           "cl-syntax-annot" = quicklisp-to-nix-packages."cl-syntax-annot";
-           "cl-syntax" = quicklisp-to-nix-packages."cl-syntax";
-           "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
-           "cl-annot" = quicklisp-to-nix-packages."cl-annot";
            "babel" = quicklisp-to-nix-packages."babel";
+           "cl-annot" = quicklisp-to-nix-packages."cl-annot";
+           "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
+           "cl-syntax" = quicklisp-to-nix-packages."cl-syntax";
+           "cl-syntax-annot" = quicklisp-to-nix-packages."cl-syntax-annot";
+           "fast-io" = quicklisp-to-nix-packages."fast-io";
+           "proc-parse" = quicklisp-to-nix-packages."proc-parse";
+           "trivial-types" = quicklisp-to-nix-packages."trivial-types";
        }));
 
 
@@ -345,14 +518,6 @@ let quicklisp-to-nix-packages = rec {
        }));
 
 
-  "puri" = buildLispPackage
-    ((f: x: (x // (f x)))
-       (qlOverrides."puri" or (x: {}))
-       (import ./quicklisp-to-nix-output/puri.nix {
-         inherit fetchurl;
-       }));
-
-
   "chunga" = buildLispPackage
     ((f: x: (x // (f x)))
        (qlOverrides."chunga" or (x: {}))
@@ -367,46 +532,29 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."sqlite" or (x: {}))
        (import ./quicklisp-to-nix-output/sqlite.nix {
          inherit fetchurl;
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "babel" = quicklisp-to-nix-packages."babel";
            "cffi" = quicklisp-to-nix-packages."cffi";
            "iterate" = quicklisp-to-nix-packages."iterate";
+           "trivial-features" = quicklisp-to-nix-packages."trivial-features";
        }));
 
 
-  "cl-postgres" = buildLispPackage
-    ((f: x: (x // (f x)))
-       (qlOverrides."cl-postgres" or (x: {}))
-       (import ./quicklisp-to-nix-output/cl-postgres.nix {
-         inherit fetchurl;
-           "md5" = quicklisp-to-nix-packages."md5";
-       }));
-
-
-  "cxml-test" = buildLispPackage
-    ((f: x: (x // (f x)))
-       (qlOverrides."cxml-test" or (x: {}))
-       (import ./quicklisp-to-nix-output/cxml-test.nix {
-         inherit fetchurl;
-           "cxml-xml" = quicklisp-to-nix-packages."cxml-xml";
-           "cxml-klacks" = quicklisp-to-nix-packages."cxml-klacks";
-           "cxml-dom" = quicklisp-to-nix-packages."cxml-dom";
-       }));
-
-
-  "cxml-klacks" = buildLispPackage
+  "md5" = buildLispPackage
     ((f: x: (x // (f x)))
-       (qlOverrides."cxml-klacks" or (x: {}))
-       (import ./quicklisp-to-nix-output/cxml-klacks.nix {
+       (qlOverrides."md5" or (x: {}))
+       (import ./quicklisp-to-nix-output/md5.nix {
          inherit fetchurl;
-           "cxml-xml" = quicklisp-to-nix-packages."cxml-xml";
        }));
 
 
-  "cxml-dom" = buildLispPackage
+  "cl-postgres" = buildLispPackage
     ((f: x: (x // (f x)))
-       (qlOverrides."cxml-dom" or (x: {}))
-       (import ./quicklisp-to-nix-output/cxml-dom.nix {
+       (qlOverrides."cl-postgres" or (x: {}))
+       (import ./quicklisp-to-nix-output/cl-postgres.nix {
          inherit fetchurl;
-           "cxml-xml" = quicklisp-to-nix-packages."cxml-xml";
+           "fiveam" = quicklisp-to-nix-packages."fiveam";
+           "md5" = quicklisp-to-nix-packages."md5";
        }));
 
 
@@ -423,6 +571,7 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."cl-store" or (x: {}))
        (import ./quicklisp-to-nix-output/cl-store.nix {
          inherit fetchurl;
+           "rt" = quicklisp-to-nix-packages."rt";
        }));
 
 
@@ -431,24 +580,24 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."cl-paths-ttf" or (x: {}))
        (import ./quicklisp-to-nix-output/cl-paths-ttf.nix {
          inherit fetchurl;
+           "cl-paths" = quicklisp-to-nix-packages."cl-paths";
            "zpb-ttf" = quicklisp-to-nix-packages."zpb-ttf";
        }));
 
 
-  "cl-aa" = buildLispPackage
+  "cl-paths" = buildLispPackage
     ((f: x: (x // (f x)))
-       (qlOverrides."cl-aa" or (x: {}))
-       (import ./quicklisp-to-nix-output/cl-aa.nix {
+       (qlOverrides."cl-paths" or (x: {}))
+       (import ./quicklisp-to-nix-output/cl-paths.nix {
          inherit fetchurl;
        }));
 
 
-  "cl-unicode_slash_base" = buildLispPackage
+  "cl-aa" = buildLispPackage
     ((f: x: (x // (f x)))
-       (qlOverrides."cl-unicode_slash_base" or (x: {}))
-       (import ./quicklisp-to-nix-output/cl-unicode_slash_base.nix {
+       (qlOverrides."cl-aa" or (x: {}))
+       (import ./quicklisp-to-nix-output/cl-aa.nix {
          inherit fetchurl;
-           "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
        }));
 
 
@@ -468,19 +617,31 @@ let quicklisp-to-nix-packages = rec {
        }));
 
 
-  "cl-annot" = buildLispPackage
+  "trivial-garbage" = buildLispPackage
     ((f: x: (x // (f x)))
-       (qlOverrides."cl-annot" or (x: {}))
-       (import ./quicklisp-to-nix-output/cl-annot.nix {
+       (qlOverrides."trivial-garbage" or (x: {}))
+       (import ./quicklisp-to-nix-output/trivial-garbage.nix {
          inherit fetchurl;
-           "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "rt" = quicklisp-to-nix-packages."rt";
        }));
 
 
-  "trivial-garbage" = buildLispPackage
+  "cl-ppcre-test" = quicklisp-to-nix-packages."cl-ppcre";
+
+
+  "puri" = buildLispPackage
     ((f: x: (x // (f x)))
-       (qlOverrides."trivial-garbage" or (x: {}))
-       (import ./quicklisp-to-nix-output/trivial-garbage.nix {
+       (qlOverrides."puri" or (x: {}))
+       (import ./quicklisp-to-nix-output/puri.nix {
+         inherit fetchurl;
+           "ptester" = quicklisp-to-nix-packages."ptester";
+       }));
+
+
+  "parse-number" = buildLispPackage
+    ((f: x: (x // (f x)))
+       (qlOverrides."parse-number" or (x: {}))
+       (import ./quicklisp-to-nix-output/parse-number.nix {
          inherit fetchurl;
        }));
 
@@ -493,6 +654,40 @@ let quicklisp-to-nix-packages = rec {
        }));
 
 
+  "hu_dot_dwim_dot_stefil" = buildLispPackage
+    ((f: x: (x // (f x)))
+       (qlOverrides."hu_dot_dwim_dot_stefil" or (x: {}))
+       (import ./quicklisp-to-nix-output/hu_dot_dwim_dot_stefil.nix {
+         inherit fetchurl;
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "hu_dot_dwim_dot_asdf" = quicklisp-to-nix-packages."hu_dot_dwim_dot_asdf";
+       }));
+
+
+  "cxml-xml" = quicklisp-to-nix-packages."cxml";
+
+
+  "cxml-test" = quicklisp-to-nix-packages."cxml";
+
+
+  "cxml-klacks" = quicklisp-to-nix-packages."cxml";
+
+
+  "cxml-dom" = quicklisp-to-nix-packages."cxml";
+
+
+  "closure-common" = buildLispPackage
+    ((f: x: (x // (f x)))
+       (qlOverrides."closure-common" or (x: {}))
+       (import ./quicklisp-to-nix-output/closure-common.nix {
+         inherit fetchurl;
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "babel" = quicklisp-to-nix-packages."babel";
+           "trivial-features" = quicklisp-to-nix-packages."trivial-features";
+           "trivial-gray-streams" = quicklisp-to-nix-packages."trivial-gray-streams";
+       }));
+
+
   "cl-l10n-cldr" = buildLispPackage
     ((f: x: (x // (f x)))
        (qlOverrides."cl-l10n-cldr" or (x: {}))
@@ -501,6 +696,50 @@ let quicklisp-to-nix-packages = rec {
        }));
 
 
+  "pcall-queue" = buildLispPackage
+    ((f: x: (x // (f x)))
+       (qlOverrides."pcall-queue" or (x: {}))
+       (import ./quicklisp-to-nix-output/pcall-queue.nix {
+         inherit fetchurl;
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "bordeaux-threads" = quicklisp-to-nix-packages."bordeaux-threads";
+       }));
+
+
+  "named-readtables" = buildLispPackage
+    ((f: x: (x // (f x)))
+       (qlOverrides."named-readtables" or (x: {}))
+       (import ./quicklisp-to-nix-output/named-readtables.nix {
+         inherit fetchurl;
+       }));
+
+
+  "dbi" = buildLispPackage
+    ((f: x: (x // (f x)))
+       (qlOverrides."dbi" or (x: {}))
+       (import ./quicklisp-to-nix-output/dbi.nix {
+         inherit fetchurl;
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "bordeaux-threads" = quicklisp-to-nix-packages."bordeaux-threads";
+           "cl-annot" = quicklisp-to-nix-packages."cl-annot";
+           "cl-syntax" = quicklisp-to-nix-packages."cl-syntax";
+           "cl-syntax-annot" = quicklisp-to-nix-packages."cl-syntax-annot";
+           "closer-mop" = quicklisp-to-nix-packages."closer-mop";
+           "named-readtables" = quicklisp-to-nix-packages."named-readtables";
+           "split-sequence" = quicklisp-to-nix-packages."split-sequence";
+           "trivial-types" = quicklisp-to-nix-packages."trivial-types";
+       }));
+
+
+  "cl-annot" = buildLispPackage
+    ((f: x: (x // (f x)))
+       (qlOverrides."cl-annot" or (x: {}))
+       (import ./quicklisp-to-nix-output/cl-annot.nix {
+         inherit fetchurl;
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
+       }));
+
+
   "cl-fad" = buildLispPackage
     ((f: x: (x // (f x)))
        (qlOverrides."cl-fad" or (x: {}))
@@ -508,29 +747,51 @@ let quicklisp-to-nix-packages = rec {
          inherit fetchurl;
            "alexandria" = quicklisp-to-nix-packages."alexandria";
            "bordeaux-threads" = quicklisp-to-nix-packages."bordeaux-threads";
+           "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
+           "unit-test" = quicklisp-to-nix-packages."unit-test";
        }));
 
 
-  "cl-async-util" = buildLispPackage
+  "lift" = buildLispPackage
     ((f: x: (x // (f x)))
-       (qlOverrides."cl-async-util" or (x: {}))
-       (import ./quicklisp-to-nix-output/cl-async-util.nix {
+       (qlOverrides."lift" or (x: {}))
+       (import ./quicklisp-to-nix-output/lift.nix {
          inherit fetchurl;
-           "vom" = quicklisp-to-nix-packages."vom";
-           "fast-io" = quicklisp-to-nix-packages."fast-io";
-           "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
-           "cl-libuv" = quicklisp-to-nix-packages."cl-libuv";
-           "cl-async-base" = quicklisp-to-nix-packages."cl-async-base";
-           "cffi" = quicklisp-to-nix-packages."cffi";
        }));
 
 
-  "lack-middleware-backtrace" = buildLispPackage
+  "ptester" = buildLispPackage
     ((f: x: (x // (f x)))
-       (qlOverrides."lack-middleware-backtrace" or (x: {}))
-       (import ./quicklisp-to-nix-output/lack-middleware-backtrace.nix {
+       (qlOverrides."ptester" or (x: {}))
+       (import ./quicklisp-to-nix-output/ptester.nix {
          inherit fetchurl;
-           "uiop" = quicklisp-to-nix-packages."uiop";
+       }));
+
+
+  "kmrcl" = buildLispPackage
+    ((f: x: (x // (f x)))
+       (qlOverrides."kmrcl" or (x: {}))
+       (import ./quicklisp-to-nix-output/kmrcl.nix {
+         inherit fetchurl;
+       }));
+
+
+  "cl-async-util" = quicklisp-to-nix-packages."cl-async";
+
+
+  "clack-test" = buildLispPackage
+    ((f: x: (x // (f x)))
+       (qlOverrides."clack-test" or (x: {}))
+       (import ./quicklisp-to-nix-output/clack-test.nix {
+         inherit fetchurl;
+           "bordeaux-threads" = quicklisp-to-nix-packages."bordeaux-threads";
+           "clack" = quicklisp-to-nix-packages."clack";
+           "dexador" = quicklisp-to-nix-packages."dexador";
+           "flexi-streams" = quicklisp-to-nix-packages."flexi-streams";
+           "http-body" = quicklisp-to-nix-packages."http-body";
+           "lack" = quicklisp-to-nix-packages."lack";
+           "prove" = quicklisp-to-nix-packages."prove";
+           "usocket" = quicklisp-to-nix-packages."usocket";
        }));
 
 
@@ -540,6 +801,16 @@ let quicklisp-to-nix-packages = rec {
        (import ./quicklisp-to-nix-output/lack-util.nix {
          inherit fetchurl;
            "ironclad" = quicklisp-to-nix-packages."ironclad";
+           "nibbles" = quicklisp-to-nix-packages."nibbles";
+       }));
+
+
+  "lack-middleware-backtrace" = buildLispPackage
+    ((f: x: (x // (f x)))
+       (qlOverrides."lack-middleware-backtrace" or (x: {}))
+       (import ./quicklisp-to-nix-output/lack-middleware-backtrace.nix {
+         inherit fetchurl;
+           "uiop" = quicklisp-to-nix-packages."uiop";
        }));
 
 
@@ -551,6 +822,18 @@ let quicklisp-to-nix-packages = rec {
        }));
 
 
+  "cffi-toolchain" = buildLispPackage
+    ((f: x: (x // (f x)))
+       (qlOverrides."cffi-toolchain" or (x: {}))
+       (import ./quicklisp-to-nix-output/cffi-toolchain.nix {
+         inherit fetchurl;
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "babel" = quicklisp-to-nix-packages."babel";
+           "cffi" = quicklisp-to-nix-packages."cffi";
+           "trivial-features" = quicklisp-to-nix-packages."trivial-features";
+       }));
+
+
   "uiop" = buildLispPackage
     ((f: x: (x // (f x)))
        (qlOverrides."uiop" or (x: {}))
@@ -559,24 +842,32 @@ let quicklisp-to-nix-packages = rec {
        }));
 
 
-  "anaphora" = buildLispPackage
+  "myway" = buildLispPackage
     ((f: x: (x // (f x)))
-       (qlOverrides."anaphora" or (x: {}))
-       (import ./quicklisp-to-nix-output/anaphora.nix {
+       (qlOverrides."myway" or (x: {}))
+       (import ./quicklisp-to-nix-output/myway.nix {
          inherit fetchurl;
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "babel" = quicklisp-to-nix-packages."babel";
+           "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
+           "cl-utilities" = quicklisp-to-nix-packages."cl-utilities";
+           "map-set" = quicklisp-to-nix-packages."map-set";
+           "quri" = quicklisp-to-nix-packages."quri";
+           "split-sequence" = quicklisp-to-nix-packages."split-sequence";
+           "trivial-features" = quicklisp-to-nix-packages."trivial-features";
        }));
 
 
-  "cl-project" = buildLispPackage
+  "do-urlencode" = buildLispPackage
     ((f: x: (x // (f x)))
-       (qlOverrides."cl-project" or (x: {}))
-       (import ./quicklisp-to-nix-output/cl-project.nix {
+       (qlOverrides."do-urlencode" or (x: {}))
+       (import ./quicklisp-to-nix-output/do-urlencode.nix {
          inherit fetchurl;
-           "uiop" = quicklisp-to-nix-packages."uiop";
-           "prove" = quicklisp-to-nix-packages."prove";
-           "local-time" = quicklisp-to-nix-packages."local-time";
-           "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
-           "cl-emb" = quicklisp-to-nix-packages."cl-emb";
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "babel" = quicklisp-to-nix-packages."babel";
+           "babel-streams" = quicklisp-to-nix-packages."babel-streams";
+           "trivial-features" = quicklisp-to-nix-packages."trivial-features";
+           "trivial-gray-streams" = quicklisp-to-nix-packages."trivial-gray-streams";
        }));
 
 
@@ -585,31 +876,37 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."cl-syntax" or (x: {}))
        (import ./quicklisp-to-nix-output/cl-syntax.nix {
          inherit fetchurl;
-           "trivial-types" = quicklisp-to-nix-packages."trivial-types";
            "named-readtables" = quicklisp-to-nix-packages."named-readtables";
+           "trivial-types" = quicklisp-to-nix-packages."trivial-types";
        }));
 
 
-  "do-urlencode" = buildLispPackage
+  "cl-project" = buildLispPackage
     ((f: x: (x // (f x)))
-       (qlOverrides."do-urlencode" or (x: {}))
-       (import ./quicklisp-to-nix-output/do-urlencode.nix {
+       (qlOverrides."cl-project" or (x: {}))
+       (import ./quicklisp-to-nix-output/cl-project.nix {
          inherit fetchurl;
-           "babel" = quicklisp-to-nix-packages."babel";
-           "babel-streams" = quicklisp-to-nix-packages."babel-streams";
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "anaphora" = quicklisp-to-nix-packages."anaphora";
+           "bordeaux-threads" = quicklisp-to-nix-packages."bordeaux-threads";
+           "cl-ansi-text" = quicklisp-to-nix-packages."cl-ansi-text";
+           "cl-colors" = quicklisp-to-nix-packages."cl-colors";
+           "cl-emb" = quicklisp-to-nix-packages."cl-emb";
+           "cl-fad" = quicklisp-to-nix-packages."cl-fad";
+           "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
+           "let-plus" = quicklisp-to-nix-packages."let-plus";
+           "local-time" = quicklisp-to-nix-packages."local-time";
+           "prove" = quicklisp-to-nix-packages."prove";
+           "uiop" = quicklisp-to-nix-packages."uiop";
        }));
 
 
-  "myway" = buildLispPackage
+  "anaphora" = buildLispPackage
     ((f: x: (x // (f x)))
-       (qlOverrides."myway" or (x: {}))
-       (import ./quicklisp-to-nix-output/myway.nix {
+       (qlOverrides."anaphora" or (x: {}))
+       (import ./quicklisp-to-nix-output/anaphora.nix {
          inherit fetchurl;
-           "quri" = quicklisp-to-nix-packages."quri";
-           "map-set" = quicklisp-to-nix-packages."map-set";
-           "cl-utilities" = quicklisp-to-nix-packages."cl-utilities";
-           "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
-           "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "rt" = quicklisp-to-nix-packages."rt";
        }));
 
 
@@ -655,6 +952,15 @@ let quicklisp-to-nix-packages = rec {
        }));
 
 
+  "xkeyboard" = buildLispPackage
+    ((f: x: (x // (f x)))
+       (qlOverrides."xkeyboard" or (x: {}))
+       (import ./quicklisp-to-nix-output/xkeyboard.nix {
+         inherit fetchurl;
+           "clx" = quicklisp-to-nix-packages."clx";
+       }));
+
+
   "wookie" = buildLispPackage
     ((f: x: (x // (f x)))
        (qlOverrides."wookie" or (x: {}))
@@ -681,21 +987,29 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."woo" or (x: {}))
        (import ./quicklisp-to-nix-output/woo.nix {
          inherit fetchurl;
-           "vom" = quicklisp-to-nix-packages."vom";
-           "uiop" = quicklisp-to-nix-packages."uiop";
-           "trivial-utf-8" = quicklisp-to-nix-packages."trivial-utf-8";
-           "swap-bytes" = quicklisp-to-nix-packages."swap-bytes";
-           "static-vectors" = quicklisp-to-nix-packages."static-vectors";
-           "smart-buffer" = quicklisp-to-nix-packages."smart-buffer";
-           "quri" = quicklisp-to-nix-packages."quri";
-           "lev" = quicklisp-to-nix-packages."lev";
-           "fast-io" = quicklisp-to-nix-packages."fast-io";
-           "fast-http" = quicklisp-to-nix-packages."fast-http";
-           "clack-socket" = quicklisp-to-nix-packages."clack-socket";
-           "cffi-grovel" = quicklisp-to-nix-packages."cffi-grovel";
-           "cffi" = quicklisp-to-nix-packages."cffi";
-           "bordeaux-threads" = quicklisp-to-nix-packages."bordeaux-threads";
            "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "babel" = quicklisp-to-nix-packages."babel";
+           "bordeaux-threads" = quicklisp-to-nix-packages."bordeaux-threads";
+           "cffi" = quicklisp-to-nix-packages."cffi";
+           "cffi-grovel" = quicklisp-to-nix-packages."cffi-grovel";
+           "cl-utilities" = quicklisp-to-nix-packages."cl-utilities";
+           "clack-socket" = quicklisp-to-nix-packages."clack-socket";
+           "fast-http" = quicklisp-to-nix-packages."fast-http";
+           "fast-io" = quicklisp-to-nix-packages."fast-io";
+           "flexi-streams" = quicklisp-to-nix-packages."flexi-streams";
+           "lev" = quicklisp-to-nix-packages."lev";
+           "proc-parse" = quicklisp-to-nix-packages."proc-parse";
+           "quri" = quicklisp-to-nix-packages."quri";
+           "smart-buffer" = quicklisp-to-nix-packages."smart-buffer";
+           "split-sequence" = quicklisp-to-nix-packages."split-sequence";
+           "static-vectors" = quicklisp-to-nix-packages."static-vectors";
+           "swap-bytes" = quicklisp-to-nix-packages."swap-bytes";
+           "trivial-features" = quicklisp-to-nix-packages."trivial-features";
+           "trivial-gray-streams" = quicklisp-to-nix-packages."trivial-gray-streams";
+           "trivial-utf-8" = quicklisp-to-nix-packages."trivial-utf-8";
+           "uiop" = quicklisp-to-nix-packages."uiop";
+           "vom" = quicklisp-to-nix-packages."vom";
+           "xsubseq" = quicklisp-to-nix-packages."xsubseq";
        }));
 
 
@@ -761,6 +1075,7 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."swap-bytes" or (x: {}))
        (import ./quicklisp-to-nix-output/swap-bytes.nix {
          inherit fetchurl;
+           "fiveam" = quicklisp-to-nix-packages."fiveam";
            "trivial-features" = quicklisp-to-nix-packages."trivial-features";
        }));
 
@@ -782,8 +1097,11 @@ let quicklisp-to-nix-packages = rec {
        (import ./quicklisp-to-nix-output/static-vectors.nix {
          inherit fetchurl;
            "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "babel" = quicklisp-to-nix-packages."babel";
            "cffi" = quicklisp-to-nix-packages."cffi";
            "cffi-grovel" = quicklisp-to-nix-packages."cffi-grovel";
+           "fiveam" = quicklisp-to-nix-packages."fiveam";
+           "trivial-features" = quicklisp-to-nix-packages."trivial-features";
        }));
 
 
@@ -792,6 +1110,7 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."split-sequence" or (x: {}))
        (import ./quicklisp-to-nix-output/split-sequence.nix {
          inherit fetchurl;
+           "fiveam" = quicklisp-to-nix-packages."fiveam";
        }));
 
 
@@ -800,9 +1119,10 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."smart-buffer" or (x: {}))
        (import ./quicklisp-to-nix-output/smart-buffer.nix {
          inherit fetchurl;
-           "xsubseq" = quicklisp-to-nix-packages."xsubseq";
-           "uiop" = quicklisp-to-nix-packages."uiop";
            "flexi-streams" = quicklisp-to-nix-packages."flexi-streams";
+           "trivial-gray-streams" = quicklisp-to-nix-packages."trivial-gray-streams";
+           "uiop" = quicklisp-to-nix-packages."uiop";
+           "xsubseq" = quicklisp-to-nix-packages."xsubseq";
        }));
 
 
@@ -819,10 +1139,11 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."quri" or (x: {}))
        (import ./quicklisp-to-nix-output/quri.nix {
          inherit fetchurl;
-           "split-sequence" = quicklisp-to-nix-packages."split-sequence";
-           "cl-utilities" = quicklisp-to-nix-packages."cl-utilities";
-           "babel" = quicklisp-to-nix-packages."babel";
            "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "babel" = quicklisp-to-nix-packages."babel";
+           "cl-utilities" = quicklisp-to-nix-packages."cl-utilities";
+           "split-sequence" = quicklisp-to-nix-packages."split-sequence";
+           "trivial-features" = quicklisp-to-nix-packages."trivial-features";
        }));
 
 
@@ -831,13 +1152,22 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."query-fs" or (x: {}))
        (import ./quicklisp-to-nix-output/query-fs.nix {
          inherit fetchurl;
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "babel" = quicklisp-to-nix-packages."babel";
            "bordeaux-threads" = quicklisp-to-nix-packages."bordeaux-threads";
+           "cffi" = quicklisp-to-nix-packages."cffi";
+           "cffi-grovel" = quicklisp-to-nix-packages."cffi-grovel";
            "cl-fuse" = quicklisp-to-nix-packages."cl-fuse";
            "cl-fuse-meta-fs" = quicklisp-to-nix-packages."cl-fuse-meta-fs";
            "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
+           "cl-utilities" = quicklisp-to-nix-packages."cl-utilities";
            "command-line-arguments" = quicklisp-to-nix-packages."command-line-arguments";
            "iterate" = quicklisp-to-nix-packages."iterate";
+           "pcall" = quicklisp-to-nix-packages."pcall";
+           "pcall-queue" = quicklisp-to-nix-packages."pcall-queue";
            "trivial-backtrace" = quicklisp-to-nix-packages."trivial-backtrace";
+           "trivial-features" = quicklisp-to-nix-packages."trivial-features";
+           "trivial-utf-8" = quicklisp-to-nix-packages."trivial-utf-8";
        }));
 
 
@@ -846,11 +1176,13 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."prove" or (x: {}))
        (import ./quicklisp-to-nix-output/prove.nix {
          inherit fetchurl;
-           "uiop" = quicklisp-to-nix-packages."uiop";
-           "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
-           "cl-colors" = quicklisp-to-nix-packages."cl-colors";
-           "cl-ansi-text" = quicklisp-to-nix-packages."cl-ansi-text";
            "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "anaphora" = quicklisp-to-nix-packages."anaphora";
+           "cl-ansi-text" = quicklisp-to-nix-packages."cl-ansi-text";
+           "cl-colors" = quicklisp-to-nix-packages."cl-colors";
+           "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
+           "let-plus" = quicklisp-to-nix-packages."let-plus";
+           "uiop" = quicklisp-to-nix-packages."uiop";
        }));
 
 
@@ -859,8 +1191,9 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."proc-parse" or (x: {}))
        (import ./quicklisp-to-nix-output/proc-parse.nix {
          inherit fetchurl;
-           "babel" = quicklisp-to-nix-packages."babel";
            "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "babel" = quicklisp-to-nix-packages."babel";
+           "trivial-features" = quicklisp-to-nix-packages."trivial-features";
        }));
 
 
@@ -869,6 +1202,11 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."plump" or (x: {}))
        (import ./quicklisp-to-nix-output/plump.nix {
          inherit fetchurl;
+           "array-utils" = quicklisp-to-nix-packages."array-utils";
+           "plump-dom" = quicklisp-to-nix-packages."plump-dom";
+           "plump-lexer" = quicklisp-to-nix-packages."plump-lexer";
+           "plump-parser" = quicklisp-to-nix-packages."plump-parser";
+           "trivial-indent" = quicklisp-to-nix-packages."trivial-indent";
        }));
 
 
@@ -879,31 +1217,59 @@ let quicklisp-to-nix-packages = rec {
          inherit fetchurl;
            "abnf" = quicklisp-to-nix-packages."abnf";
            "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "anaphora" = quicklisp-to-nix-packages."anaphora";
+           "asdf-system-connections" = quicklisp-to-nix-packages."asdf-system-connections";
+           "babel" = quicklisp-to-nix-packages."babel";
+           "bordeaux-threads" = quicklisp-to-nix-packages."bordeaux-threads";
+           "cffi" = quicklisp-to-nix-packages."cffi";
+           "chipz" = quicklisp-to-nix-packages."chipz";
+           "chunga" = quicklisp-to-nix-packages."chunga";
+           "cl+ssl" = quicklisp-to-nix-packages."cl+ssl";
            "cl-base64" = quicklisp-to-nix-packages."cl-base64";
+           "cl-containers" = quicklisp-to-nix-packages."cl-containers";
            "cl-csv" = quicklisp-to-nix-packages."cl-csv";
            "cl-fad" = quicklisp-to-nix-packages."cl-fad";
+           "cl-interpol" = quicklisp-to-nix-packages."cl-interpol";
            "cl-log" = quicklisp-to-nix-packages."cl-log";
            "cl-markdown" = quicklisp-to-nix-packages."cl-markdown";
            "cl-postgres" = quicklisp-to-nix-packages."cl-postgres";
            "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
+           "cl-unicode" = quicklisp-to-nix-packages."cl-unicode";
+           "cl-utilities" = quicklisp-to-nix-packages."cl-utilities";
+           "closer-mop" = quicklisp-to-nix-packages."closer-mop";
            "command-line-arguments" = quicklisp-to-nix-packages."command-line-arguments";
            "db3" = quicklisp-to-nix-packages."db3";
            "drakma" = quicklisp-to-nix-packages."drakma";
+           "dynamic-classes" = quicklisp-to-nix-packages."dynamic-classes";
            "esrap" = quicklisp-to-nix-packages."esrap";
            "flexi-streams" = quicklisp-to-nix-packages."flexi-streams";
+           "garbage-pools" = quicklisp-to-nix-packages."garbage-pools";
+           "ieee-floats" = quicklisp-to-nix-packages."ieee-floats";
+           "ironclad" = quicklisp-to-nix-packages."ironclad";
+           "iterate" = quicklisp-to-nix-packages."iterate";
            "ixf" = quicklisp-to-nix-packages."ixf";
+           "list-of" = quicklisp-to-nix-packages."list-of";
            "local-time" = quicklisp-to-nix-packages."local-time";
            "lparallel" = quicklisp-to-nix-packages."lparallel";
+           "md5" = quicklisp-to-nix-packages."md5";
            "metabang-bind" = quicklisp-to-nix-packages."metabang-bind";
+           "metatilities-base" = quicklisp-to-nix-packages."metatilities-base";
            "mssql" = quicklisp-to-nix-packages."mssql";
+           "nibbles" = quicklisp-to-nix-packages."nibbles";
+           "parse-number" = quicklisp-to-nix-packages."parse-number";
            "postmodern" = quicklisp-to-nix-packages."postmodern";
+           "puri" = quicklisp-to-nix-packages."puri";
            "py-configparser" = quicklisp-to-nix-packages."py-configparser";
            "qmynd" = quicklisp-to-nix-packages."qmynd";
            "quri" = quicklisp-to-nix-packages."quri";
+           "s-sql" = quicklisp-to-nix-packages."s-sql";
            "simple-date" = quicklisp-to-nix-packages."simple-date";
            "split-sequence" = quicklisp-to-nix-packages."split-sequence";
            "sqlite" = quicklisp-to-nix-packages."sqlite";
            "trivial-backtrace" = quicklisp-to-nix-packages."trivial-backtrace";
+           "trivial-features" = quicklisp-to-nix-packages."trivial-features";
+           "trivial-gray-streams" = quicklisp-to-nix-packages."trivial-gray-streams";
+           "trivial-utf-8" = quicklisp-to-nix-packages."trivial-utf-8";
            "uiop" = quicklisp-to-nix-packages."uiop";
            "usocket" = quicklisp-to-nix-packages."usocket";
            "uuid" = quicklisp-to-nix-packages."uuid";
@@ -915,7 +1281,10 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."pcall" or (x: {}))
        (import ./quicklisp-to-nix-output/pcall.nix {
          inherit fetchurl;
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
            "bordeaux-threads" = quicklisp-to-nix-packages."bordeaux-threads";
+           "fiveam" = quicklisp-to-nix-packages."fiveam";
+           "pcall-queue" = quicklisp-to-nix-packages."pcall-queue";
        }));
 
 
@@ -924,9 +1293,9 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."parenscript" or (x: {}))
        (import ./quicklisp-to-nix-output/parenscript.nix {
          inherit fetchurl;
-           "named-readtables" = quicklisp-to-nix-packages."named-readtables";
-           "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
            "anaphora" = quicklisp-to-nix-packages."anaphora";
+           "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
+           "named-readtables" = quicklisp-to-nix-packages."named-readtables";
        }));
 
 
@@ -935,8 +1304,8 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."optima" or (x: {}))
        (import ./quicklisp-to-nix-output/optima.nix {
          inherit fetchurl;
-           "closer-mop" = quicklisp-to-nix-packages."closer-mop";
            "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "closer-mop" = quicklisp-to-nix-packages."closer-mop";
        }));
 
 
@@ -977,10 +1346,10 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."lquery" or (x: {}))
        (import ./quicklisp-to-nix-output/lquery.nix {
          inherit fetchurl;
-           "plump" = quicklisp-to-nix-packages."plump";
-           "form-fiddle" = quicklisp-to-nix-packages."form-fiddle";
-           "clss" = quicklisp-to-nix-packages."clss";
            "array-utils" = quicklisp-to-nix-packages."array-utils";
+           "clss" = quicklisp-to-nix-packages."clss";
+           "form-fiddle" = quicklisp-to-nix-packages."form-fiddle";
+           "plump" = quicklisp-to-nix-packages."plump";
        }));
 
 
@@ -989,6 +1358,8 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."local-time" or (x: {}))
        (import ./quicklisp-to-nix-output/local-time.nix {
          inherit fetchurl;
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "bordeaux-threads" = quicklisp-to-nix-packages."bordeaux-threads";
            "cl-fad" = quicklisp-to-nix-packages."cl-fad";
        }));
 
@@ -1007,7 +1378,10 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."lev" or (x: {}))
        (import ./quicklisp-to-nix-output/lev.nix {
          inherit fetchurl;
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "babel" = quicklisp-to-nix-packages."babel";
            "cffi" = quicklisp-to-nix-packages."cffi";
+           "trivial-features" = quicklisp-to-nix-packages."trivial-features";
        }));
 
 
@@ -1018,6 +1392,7 @@ let quicklisp-to-nix-packages = rec {
          inherit fetchurl;
            "alexandria" = quicklisp-to-nix-packages."alexandria";
            "anaphora" = quicklisp-to-nix-packages."anaphora";
+           "lift" = quicklisp-to-nix-packages."lift";
        }));
 
 
@@ -1026,6 +1401,10 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."lack" or (x: {}))
        (import ./quicklisp-to-nix-output/lack.nix {
          inherit fetchurl;
+           "ironclad" = quicklisp-to-nix-packages."ironclad";
+           "lack-component" = quicklisp-to-nix-packages."lack-component";
+           "lack-util" = quicklisp-to-nix-packages."lack-util";
+           "nibbles" = quicklisp-to-nix-packages."nibbles";
        }));
 
 
@@ -1051,9 +1430,18 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."iolib" or (x: {}))
        (import ./quicklisp-to-nix-output/iolib.nix {
          inherit fetchurl;
-           "iolib_slash_streams" = quicklisp-to-nix-packages."iolib_slash_streams";
-           "iolib_slash_sockets" = quicklisp-to-nix-packages."iolib_slash_sockets";
-           "iolib_slash_multiplex" = quicklisp-to-nix-packages."iolib_slash_multiplex";
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "babel" = quicklisp-to-nix-packages."babel";
+           "bordeaux-threads" = quicklisp-to-nix-packages."bordeaux-threads";
+           "cffi" = quicklisp-to-nix-packages."cffi";
+           "idna" = quicklisp-to-nix-packages."idna";
+           "iolib_dot_asdf" = quicklisp-to-nix-packages."iolib_dot_asdf";
+           "iolib_dot_base" = quicklisp-to-nix-packages."iolib_dot_base";
+           "iolib_dot_conf" = quicklisp-to-nix-packages."iolib_dot_conf";
+           "iolib_dot_grovel" = quicklisp-to-nix-packages."iolib_dot_grovel";
+           "split-sequence" = quicklisp-to-nix-packages."split-sequence";
+           "swap-bytes" = quicklisp-to-nix-packages."swap-bytes";
+           "trivial-features" = quicklisp-to-nix-packages."trivial-features";
        }));
 
 
@@ -1062,6 +1450,7 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."ieee-floats" or (x: {}))
        (import ./quicklisp-to-nix-output/ieee-floats.nix {
          inherit fetchurl;
+           "eos" = quicklisp-to-nix-packages."eos";
        }));
 
 
@@ -1079,29 +1468,29 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."hunchentoot" or (x: {}))
        (import ./quicklisp-to-nix-output/hunchentoot.nix {
          inherit fetchurl;
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "babel" = quicklisp-to-nix-packages."babel";
            "bordeaux-threads" = quicklisp-to-nix-packages."bordeaux-threads";
+           "cffi" = quicklisp-to-nix-packages."cffi";
            "chunga" = quicklisp-to-nix-packages."chunga";
            "cl+ssl" = quicklisp-to-nix-packages."cl+ssl";
            "cl-base64" = quicklisp-to-nix-packages."cl-base64";
            "cl-fad" = quicklisp-to-nix-packages."cl-fad";
            "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
+           "cl-who" = quicklisp-to-nix-packages."cl-who";
+           "cxml-stp" = quicklisp-to-nix-packages."cxml-stp";
+           "drakma" = quicklisp-to-nix-packages."drakma";
            "flexi-streams" = quicklisp-to-nix-packages."flexi-streams";
            "md5" = quicklisp-to-nix-packages."md5";
            "rfc2388" = quicklisp-to-nix-packages."rfc2388";
+           "split-sequence" = quicklisp-to-nix-packages."split-sequence";
+           "swank" = quicklisp-to-nix-packages."swank";
            "trivial-backtrace" = quicklisp-to-nix-packages."trivial-backtrace";
+           "trivial-features" = quicklisp-to-nix-packages."trivial-features";
+           "trivial-garbage" = quicklisp-to-nix-packages."trivial-garbage";
+           "trivial-gray-streams" = quicklisp-to-nix-packages."trivial-gray-streams";
            "usocket" = quicklisp-to-nix-packages."usocket";
-       }));
-
-
-  "hu_dot_dwim_dot_def" = buildLispPackage
-    ((f: x: (x // (f x)))
-       (qlOverrides."hu_dot_dwim_dot_def" or (x: {}))
-       (import ./quicklisp-to-nix-output/hu_dot_dwim_dot_def.nix {
-         inherit fetchurl;
-           "metabang-bind" = quicklisp-to-nix-packages."metabang-bind";
-           "iterate" = quicklisp-to-nix-packages."iterate";
-           "anaphora" = quicklisp-to-nix-packages."anaphora";
-           "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "xpath" = quicklisp-to-nix-packages."xpath";
        }));
 
 
@@ -1119,14 +1508,22 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."http-body" or (x: {}))
        (import ./quicklisp-to-nix-output/http-body.nix {
          inherit fetchurl;
-           "trivial-gray-streams" = quicklisp-to-nix-packages."trivial-gray-streams";
-           "quri" = quicklisp-to-nix-packages."quri";
-           "jonathan" = quicklisp-to-nix-packages."jonathan";
-           "flexi-streams" = quicklisp-to-nix-packages."flexi-streams";
-           "fast-http" = quicklisp-to-nix-packages."fast-http";
-           "cl-utilities" = quicklisp-to-nix-packages."cl-utilities";
-           "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
            "babel" = quicklisp-to-nix-packages."babel";
+           "cl-annot" = quicklisp-to-nix-packages."cl-annot";
+           "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
+           "cl-syntax" = quicklisp-to-nix-packages."cl-syntax";
+           "cl-utilities" = quicklisp-to-nix-packages."cl-utilities";
+           "fast-http" = quicklisp-to-nix-packages."fast-http";
+           "fast-io" = quicklisp-to-nix-packages."fast-io";
+           "flexi-streams" = quicklisp-to-nix-packages."flexi-streams";
+           "jonathan" = quicklisp-to-nix-packages."jonathan";
+           "proc-parse" = quicklisp-to-nix-packages."proc-parse";
+           "quri" = quicklisp-to-nix-packages."quri";
+           "smart-buffer" = quicklisp-to-nix-packages."smart-buffer";
+           "split-sequence" = quicklisp-to-nix-packages."split-sequence";
+           "trivial-gray-streams" = quicklisp-to-nix-packages."trivial-gray-streams";
+           "xsubseq" = quicklisp-to-nix-packages."xsubseq";
        }));
 
 
@@ -1174,9 +1571,9 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."fast-io" or (x: {}))
        (import ./quicklisp-to-nix-output/fast-io.nix {
          inherit fetchurl;
-           "trivial-gray-streams" = quicklisp-to-nix-packages."trivial-gray-streams";
-           "static-vectors" = quicklisp-to-nix-packages."static-vectors";
            "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "static-vectors" = quicklisp-to-nix-packages."static-vectors";
+           "trivial-gray-streams" = quicklisp-to-nix-packages."trivial-gray-streams";
        }));
 
 
@@ -1185,12 +1582,12 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."fast-http" or (x: {}))
        (import ./quicklisp-to-nix-output/fast-http.nix {
          inherit fetchurl;
-           "xsubseq" = quicklisp-to-nix-packages."xsubseq";
-           "smart-buffer" = quicklisp-to-nix-packages."smart-buffer";
-           "proc-parse" = quicklisp-to-nix-packages."proc-parse";
-           "cl-utilities" = quicklisp-to-nix-packages."cl-utilities";
-           "babel" = quicklisp-to-nix-packages."babel";
            "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "babel" = quicklisp-to-nix-packages."babel";
+           "cl-utilities" = quicklisp-to-nix-packages."cl-utilities";
+           "proc-parse" = quicklisp-to-nix-packages."proc-parse";
+           "smart-buffer" = quicklisp-to-nix-packages."smart-buffer";
+           "xsubseq" = quicklisp-to-nix-packages."xsubseq";
        }));
 
 
@@ -1199,16 +1596,30 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."external-program" or (x: {}))
        (import ./quicklisp-to-nix-output/external-program.nix {
          inherit fetchurl;
+           "fiveam" = quicklisp-to-nix-packages."fiveam";
            "trivial-features" = quicklisp-to-nix-packages."trivial-features";
        }));
 
 
+  "esrap-peg" = buildLispPackage
+    ((f: x: (x // (f x)))
+       (qlOverrides."esrap-peg" or (x: {}))
+       (import ./quicklisp-to-nix-output/esrap-peg.nix {
+         inherit fetchurl;
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "cl-unification" = quicklisp-to-nix-packages."cl-unification";
+           "esrap" = quicklisp-to-nix-packages."esrap";
+           "iterate" = quicklisp-to-nix-packages."iterate";
+       }));
+
+
   "esrap" = buildLispPackage
     ((f: x: (x // (f x)))
        (qlOverrides."esrap" or (x: {}))
        (import ./quicklisp-to-nix-output/esrap.nix {
          inherit fetchurl;
            "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "fiveam" = quicklisp-to-nix-packages."fiveam";
        }));
 
 
@@ -1217,14 +1628,14 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."drakma" or (x: {}))
        (import ./quicklisp-to-nix-output/drakma.nix {
          inherit fetchurl;
-           "usocket" = quicklisp-to-nix-packages."usocket";
-           "puri" = quicklisp-to-nix-packages."puri";
-           "flexi-streams" = quicklisp-to-nix-packages."flexi-streams";
-           "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
-           "cl-base64" = quicklisp-to-nix-packages."cl-base64";
-           "cl+ssl" = quicklisp-to-nix-packages."cl+ssl";
-           "chunga" = quicklisp-to-nix-packages."chunga";
            "chipz" = quicklisp-to-nix-packages."chipz";
+           "chunga" = quicklisp-to-nix-packages."chunga";
+           "cl+ssl" = quicklisp-to-nix-packages."cl+ssl";
+           "cl-base64" = quicklisp-to-nix-packages."cl-base64";
+           "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
+           "flexi-streams" = quicklisp-to-nix-packages."flexi-streams";
+           "puri" = quicklisp-to-nix-packages."puri";
+           "usocket" = quicklisp-to-nix-packages."usocket";
        }));
 
 
@@ -1242,22 +1653,34 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."dexador" or (x: {}))
        (import ./quicklisp-to-nix-output/dexador.nix {
          inherit fetchurl;
-           "usocket" = quicklisp-to-nix-packages."usocket";
-           "trivial-mimes" = quicklisp-to-nix-packages."trivial-mimes";
-           "trivial-gray-streams" = quicklisp-to-nix-packages."trivial-gray-streams";
-           "quri" = quicklisp-to-nix-packages."quri";
-           "fast-io" = quicklisp-to-nix-packages."fast-io";
-           "fast-http" = quicklisp-to-nix-packages."fast-http";
-           "cl-reexport" = quicklisp-to-nix-packages."cl-reexport";
-           "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
-           "cl-cookie" = quicklisp-to-nix-packages."cl-cookie";
-           "cl-base64" = quicklisp-to-nix-packages."cl-base64";
-           "cl+ssl" = quicklisp-to-nix-packages."cl+ssl";
-           "chunga" = quicklisp-to-nix-packages."chunga";
-           "chipz" = quicklisp-to-nix-packages."chipz";
-           "bordeaux-threads" = quicklisp-to-nix-packages."bordeaux-threads";
-           "babel" = quicklisp-to-nix-packages."babel";
            "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "babel" = quicklisp-to-nix-packages."babel";
+           "bordeaux-threads" = quicklisp-to-nix-packages."bordeaux-threads";
+           "cffi" = quicklisp-to-nix-packages."cffi";
+           "chipz" = quicklisp-to-nix-packages."chipz";
+           "chunga" = quicklisp-to-nix-packages."chunga";
+           "cl+ssl" = quicklisp-to-nix-packages."cl+ssl";
+           "cl-base64" = quicklisp-to-nix-packages."cl-base64";
+           "cl-cookie" = quicklisp-to-nix-packages."cl-cookie";
+           "cl-fad" = quicklisp-to-nix-packages."cl-fad";
+           "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
+           "cl-reexport" = quicklisp-to-nix-packages."cl-reexport";
+           "cl-utilities" = quicklisp-to-nix-packages."cl-utilities";
+           "fast-http" = quicklisp-to-nix-packages."fast-http";
+           "fast-io" = quicklisp-to-nix-packages."fast-io";
+           "flexi-streams" = quicklisp-to-nix-packages."flexi-streams";
+           "local-time" = quicklisp-to-nix-packages."local-time";
+           "proc-parse" = quicklisp-to-nix-packages."proc-parse";
+           "quri" = quicklisp-to-nix-packages."quri";
+           "smart-buffer" = quicklisp-to-nix-packages."smart-buffer";
+           "split-sequence" = quicklisp-to-nix-packages."split-sequence";
+           "static-vectors" = quicklisp-to-nix-packages."static-vectors";
+           "trivial-features" = quicklisp-to-nix-packages."trivial-features";
+           "trivial-garbage" = quicklisp-to-nix-packages."trivial-garbage";
+           "trivial-gray-streams" = quicklisp-to-nix-packages."trivial-gray-streams";
+           "trivial-mimes" = quicklisp-to-nix-packages."trivial-mimes";
+           "usocket" = quicklisp-to-nix-packages."usocket";
+           "xsubseq" = quicklisp-to-nix-packages."xsubseq";
        }));
 
 
@@ -1266,10 +1689,22 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."dbd-sqlite3" or (x: {}))
        (import ./quicklisp-to-nix-output/dbd-sqlite3.nix {
          inherit fetchurl;
-           "uiop" = quicklisp-to-nix-packages."uiop";
-           "sqlite" = quicklisp-to-nix-packages."sqlite";
-           "cl-syntax-annot" = quicklisp-to-nix-packages."cl-syntax-annot";
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "babel" = quicklisp-to-nix-packages."babel";
+           "bordeaux-threads" = quicklisp-to-nix-packages."bordeaux-threads";
+           "cffi" = quicklisp-to-nix-packages."cffi";
+           "cl-annot" = quicklisp-to-nix-packages."cl-annot";
            "cl-syntax" = quicklisp-to-nix-packages."cl-syntax";
+           "cl-syntax-annot" = quicklisp-to-nix-packages."cl-syntax-annot";
+           "closer-mop" = quicklisp-to-nix-packages."closer-mop";
+           "dbi" = quicklisp-to-nix-packages."dbi";
+           "iterate" = quicklisp-to-nix-packages."iterate";
+           "named-readtables" = quicklisp-to-nix-packages."named-readtables";
+           "split-sequence" = quicklisp-to-nix-packages."split-sequence";
+           "sqlite" = quicklisp-to-nix-packages."sqlite";
+           "trivial-features" = quicklisp-to-nix-packages."trivial-features";
+           "trivial-types" = quicklisp-to-nix-packages."trivial-types";
+           "uiop" = quicklisp-to-nix-packages."uiop";
        }));
 
 
@@ -1278,10 +1713,19 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."dbd-postgres" or (x: {}))
        (import ./quicklisp-to-nix-output/dbd-postgres.nix {
          inherit fetchurl;
-           "trivial-garbage" = quicklisp-to-nix-packages."trivial-garbage";
-           "cl-syntax-annot" = quicklisp-to-nix-packages."cl-syntax-annot";
-           "cl-syntax" = quicklisp-to-nix-packages."cl-syntax";
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "bordeaux-threads" = quicklisp-to-nix-packages."bordeaux-threads";
+           "cl-annot" = quicklisp-to-nix-packages."cl-annot";
            "cl-postgres" = quicklisp-to-nix-packages."cl-postgres";
+           "cl-syntax" = quicklisp-to-nix-packages."cl-syntax";
+           "cl-syntax-annot" = quicklisp-to-nix-packages."cl-syntax-annot";
+           "closer-mop" = quicklisp-to-nix-packages."closer-mop";
+           "dbi" = quicklisp-to-nix-packages."dbi";
+           "md5" = quicklisp-to-nix-packages."md5";
+           "named-readtables" = quicklisp-to-nix-packages."named-readtables";
+           "split-sequence" = quicklisp-to-nix-packages."split-sequence";
+           "trivial-garbage" = quicklisp-to-nix-packages."trivial-garbage";
+           "trivial-types" = quicklisp-to-nix-packages."trivial-types";
        }));
 
 
@@ -1290,9 +1734,20 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."dbd-mysql" or (x: {}))
        (import ./quicklisp-to-nix-output/dbd-mysql.nix {
          inherit fetchurl;
-           "cl-syntax-annot" = quicklisp-to-nix-packages."cl-syntax-annot";
-           "cl-syntax" = quicklisp-to-nix-packages."cl-syntax";
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "babel" = quicklisp-to-nix-packages."babel";
+           "bordeaux-threads" = quicklisp-to-nix-packages."bordeaux-threads";
+           "cffi" = quicklisp-to-nix-packages."cffi";
+           "cl-annot" = quicklisp-to-nix-packages."cl-annot";
            "cl-mysql" = quicklisp-to-nix-packages."cl-mysql";
+           "cl-syntax" = quicklisp-to-nix-packages."cl-syntax";
+           "cl-syntax-annot" = quicklisp-to-nix-packages."cl-syntax-annot";
+           "closer-mop" = quicklisp-to-nix-packages."closer-mop";
+           "dbi" = quicklisp-to-nix-packages."dbi";
+           "named-readtables" = quicklisp-to-nix-packages."named-readtables";
+           "split-sequence" = quicklisp-to-nix-packages."split-sequence";
+           "trivial-features" = quicklisp-to-nix-packages."trivial-features";
+           "trivial-types" = quicklisp-to-nix-packages."trivial-types";
        }));
 
 
@@ -1301,9 +1756,12 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."cxml" or (x: {}))
        (import ./quicklisp-to-nix-output/cxml.nix {
          inherit fetchurl;
-           "cxml-dom" = quicklisp-to-nix-packages."cxml-dom";
-           "cxml-klacks" = quicklisp-to-nix-packages."cxml-klacks";
-           "cxml-test" = quicklisp-to-nix-packages."cxml-test";
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "babel" = quicklisp-to-nix-packages."babel";
+           "closure-common" = quicklisp-to-nix-packages."closure-common";
+           "puri" = quicklisp-to-nix-packages."puri";
+           "trivial-features" = quicklisp-to-nix-packages."trivial-features";
+           "trivial-gray-streams" = quicklisp-to-nix-packages."trivial-gray-streams";
        }));
 
 
@@ -1328,6 +1786,8 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."clx-truetype" or (x: {}))
        (import ./quicklisp-to-nix-output/clx-truetype.nix {
          inherit fetchurl;
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "bordeaux-threads" = quicklisp-to-nix-packages."bordeaux-threads";
            "cl-aa" = quicklisp-to-nix-packages."cl-aa";
            "cl-fad" = quicklisp-to-nix-packages."cl-fad";
            "cl-paths-ttf" = quicklisp-to-nix-packages."cl-paths-ttf";
@@ -1352,6 +1812,7 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."cl-who" or (x: {}))
        (import ./quicklisp-to-nix-output/cl-who.nix {
          inherit fetchurl;
+           "flexi-streams" = quicklisp-to-nix-packages."flexi-streams";
        }));
 
 
@@ -1360,6 +1821,8 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."cl-vectors" or (x: {}))
        (import ./quicklisp-to-nix-output/cl-vectors.nix {
          inherit fetchurl;
+           "cl-aa" = quicklisp-to-nix-packages."cl-aa";
+           "cl-paths" = quicklisp-to-nix-packages."cl-paths";
        }));
 
 
@@ -1384,7 +1847,8 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."cl-unicode" or (x: {}))
        (import ./quicklisp-to-nix-output/cl-unicode.nix {
          inherit fetchurl;
-           "cl-unicode_slash_base" = quicklisp-to-nix-packages."cl-unicode_slash_base";
+           "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
+           "flexi-streams" = quicklisp-to-nix-packages."flexi-streams";
        }));
 
 
@@ -1393,6 +1857,13 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."cl-test-more" or (x: {}))
        (import ./quicklisp-to-nix-output/cl-test-more.nix {
          inherit fetchurl;
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "anaphora" = quicklisp-to-nix-packages."anaphora";
+           "cl-ansi-text" = quicklisp-to-nix-packages."cl-ansi-text";
+           "cl-colors" = quicklisp-to-nix-packages."cl-colors";
+           "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
+           "let-plus" = quicklisp-to-nix-packages."let-plus";
+           "prove" = quicklisp-to-nix-packages."prove";
        }));
 
 
@@ -1402,6 +1873,9 @@ let quicklisp-to-nix-packages = rec {
        (import ./quicklisp-to-nix-output/cl-syntax-markup.nix {
          inherit fetchurl;
            "cl-markup" = quicklisp-to-nix-packages."cl-markup";
+           "cl-syntax" = quicklisp-to-nix-packages."cl-syntax";
+           "named-readtables" = quicklisp-to-nix-packages."named-readtables";
+           "trivial-types" = quicklisp-to-nix-packages."trivial-types";
        }));
 
 
@@ -1411,6 +1885,9 @@ let quicklisp-to-nix-packages = rec {
        (import ./quicklisp-to-nix-output/cl-syntax-anonfun.nix {
          inherit fetchurl;
            "cl-anonfun" = quicklisp-to-nix-packages."cl-anonfun";
+           "cl-syntax" = quicklisp-to-nix-packages."cl-syntax";
+           "named-readtables" = quicklisp-to-nix-packages."named-readtables";
+           "trivial-types" = quicklisp-to-nix-packages."trivial-types";
        }));
 
 
@@ -1419,7 +1896,11 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."cl-syntax-annot" or (x: {}))
        (import ./quicklisp-to-nix-output/cl-syntax-annot.nix {
          inherit fetchurl;
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
            "cl-annot" = quicklisp-to-nix-packages."cl-annot";
+           "cl-syntax" = quicklisp-to-nix-packages."cl-syntax";
+           "named-readtables" = quicklisp-to-nix-packages."named-readtables";
+           "trivial-types" = quicklisp-to-nix-packages."trivial-types";
        }));
 
 
@@ -1428,14 +1909,15 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."cl+ssl" or (x: {}))
        (import ./quicklisp-to-nix-output/cl+ssl.nix {
          inherit fetchurl;
-           "uiop" = quicklisp-to-nix-packages."uiop";
-           "trivial-gray-streams" = quicklisp-to-nix-packages."trivial-gray-streams";
-           "trivial-garbage" = quicklisp-to-nix-packages."trivial-garbage";
-           "trivial-features" = quicklisp-to-nix-packages."trivial-features";
-           "flexi-streams" = quicklisp-to-nix-packages."flexi-streams";
-           "cffi" = quicklisp-to-nix-packages."cffi";
-           "bordeaux-threads" = quicklisp-to-nix-packages."bordeaux-threads";
            "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "babel" = quicklisp-to-nix-packages."babel";
+           "bordeaux-threads" = quicklisp-to-nix-packages."bordeaux-threads";
+           "cffi" = quicklisp-to-nix-packages."cffi";
+           "flexi-streams" = quicklisp-to-nix-packages."flexi-streams";
+           "trivial-features" = quicklisp-to-nix-packages."trivial-features";
+           "trivial-garbage" = quicklisp-to-nix-packages."trivial-garbage";
+           "trivial-gray-streams" = quicklisp-to-nix-packages."trivial-gray-streams";
+           "uiop" = quicklisp-to-nix-packages."uiop";
        }));
 
 
@@ -1463,9 +1945,16 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."cl-smtp" or (x: {}))
        (import ./quicklisp-to-nix-output/cl-smtp.nix {
          inherit fetchurl;
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "babel" = quicklisp-to-nix-packages."babel";
+           "bordeaux-threads" = quicklisp-to-nix-packages."bordeaux-threads";
+           "cffi" = quicklisp-to-nix-packages."cffi";
            "cl+ssl" = quicklisp-to-nix-packages."cl+ssl";
            "cl-base64" = quicklisp-to-nix-packages."cl-base64";
            "flexi-streams" = quicklisp-to-nix-packages."flexi-streams";
+           "split-sequence" = quicklisp-to-nix-packages."split-sequence";
+           "trivial-features" = quicklisp-to-nix-packages."trivial-features";
+           "trivial-garbage" = quicklisp-to-nix-packages."trivial-garbage";
            "trivial-gray-streams" = quicklisp-to-nix-packages."trivial-gray-streams";
            "usocket" = quicklisp-to-nix-packages."usocket";
        }));
@@ -1485,7 +1974,10 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."cl-ppcre-unicode" or (x: {}))
        (import ./quicklisp-to-nix-output/cl-ppcre-unicode.nix {
          inherit fetchurl;
+           "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
+           "cl-ppcre-test" = quicklisp-to-nix-packages."cl-ppcre-test";
            "cl-unicode" = quicklisp-to-nix-packages."cl-unicode";
+           "flexi-streams" = quicklisp-to-nix-packages."flexi-streams";
        }));
 
 
@@ -1495,6 +1987,7 @@ let quicklisp-to-nix-packages = rec {
        (import ./quicklisp-to-nix-output/cl-ppcre-template.nix {
          inherit fetchurl;
            "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
+           "cl-unification" = quicklisp-to-nix-packages."cl-unification";
        }));
 
 
@@ -1503,6 +1996,7 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."cl-ppcre" or (x: {}))
        (import ./quicklisp-to-nix-output/cl-ppcre.nix {
          inherit fetchurl;
+           "flexi-streams" = quicklisp-to-nix-packages."flexi-streams";
        }));
 
 
@@ -1519,7 +2013,10 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."cl-mysql" or (x: {}))
        (import ./quicklisp-to-nix-output/cl-mysql.nix {
          inherit fetchurl;
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "babel" = quicklisp-to-nix-packages."babel";
            "cffi" = quicklisp-to-nix-packages."cffi";
+           "trivial-features" = quicklisp-to-nix-packages."trivial-features";
        }));
 
 
@@ -1529,8 +2026,10 @@ let quicklisp-to-nix-packages = rec {
        (import ./quicklisp-to-nix-output/cl-libuv.nix {
          inherit fetchurl;
            "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "babel" = quicklisp-to-nix-packages."babel";
            "cffi" = quicklisp-to-nix-packages."cffi";
            "cffi-grovel" = quicklisp-to-nix-packages."cffi-grovel";
+           "trivial-features" = quicklisp-to-nix-packages."trivial-features";
        }));
 
 
@@ -1540,15 +2039,27 @@ let quicklisp-to-nix-packages = rec {
        (import ./quicklisp-to-nix-output/cl-l10n.nix {
          inherit fetchurl;
            "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "babel" = quicklisp-to-nix-packages."babel";
+           "bordeaux-threads" = quicklisp-to-nix-packages."bordeaux-threads";
            "cl-fad" = quicklisp-to-nix-packages."cl-fad";
            "cl-l10n-cldr" = quicklisp-to-nix-packages."cl-l10n-cldr";
            "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
            "closer-mop" = quicklisp-to-nix-packages."closer-mop";
+           "closure-common" = quicklisp-to-nix-packages."closure-common";
            "cxml" = quicklisp-to-nix-packages."cxml";
+           "cxml-dom" = quicklisp-to-nix-packages."cxml-dom";
+           "cxml-klacks" = quicklisp-to-nix-packages."cxml-klacks";
+           "cxml-test" = quicklisp-to-nix-packages."cxml-test";
+           "cxml-xml" = quicklisp-to-nix-packages."cxml-xml";
            "flexi-streams" = quicklisp-to-nix-packages."flexi-streams";
+           "hu_dot_dwim_dot_stefil" = quicklisp-to-nix-packages."hu_dot_dwim_dot_stefil";
            "iterate" = quicklisp-to-nix-packages."iterate";
            "local-time" = quicklisp-to-nix-packages."local-time";
            "metabang-bind" = quicklisp-to-nix-packages."metabang-bind";
+           "parse-number" = quicklisp-to-nix-packages."parse-number";
+           "puri" = quicklisp-to-nix-packages."puri";
+           "trivial-features" = quicklisp-to-nix-packages."trivial-features";
+           "trivial-gray-streams" = quicklisp-to-nix-packages."trivial-gray-streams";
        }));
 
 
@@ -1557,6 +2068,7 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."cl-json" or (x: {}))
        (import ./quicklisp-to-nix-output/cl-json.nix {
          inherit fetchurl;
+           "fiveam" = quicklisp-to-nix-packages."fiveam";
        }));
 
 
@@ -1565,10 +2077,19 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."cl-fuse-meta-fs" or (x: {}))
        (import ./quicklisp-to-nix-output/cl-fuse-meta-fs.nix {
          inherit fetchurl;
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "babel" = quicklisp-to-nix-packages."babel";
            "bordeaux-threads" = quicklisp-to-nix-packages."bordeaux-threads";
+           "cffi" = quicklisp-to-nix-packages."cffi";
+           "cffi-grovel" = quicklisp-to-nix-packages."cffi-grovel";
            "cl-fuse" = quicklisp-to-nix-packages."cl-fuse";
+           "cl-utilities" = quicklisp-to-nix-packages."cl-utilities";
            "iterate" = quicklisp-to-nix-packages."iterate";
            "pcall" = quicklisp-to-nix-packages."pcall";
+           "pcall-queue" = quicklisp-to-nix-packages."pcall-queue";
+           "trivial-backtrace" = quicklisp-to-nix-packages."trivial-backtrace";
+           "trivial-features" = quicklisp-to-nix-packages."trivial-features";
+           "trivial-utf-8" = quicklisp-to-nix-packages."trivial-utf-8";
        }));
 
 
@@ -1577,12 +2098,15 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."cl-fuse" or (x: {}))
        (import ./quicklisp-to-nix-output/cl-fuse.nix {
          inherit fetchurl;
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "babel" = quicklisp-to-nix-packages."babel";
            "bordeaux-threads" = quicklisp-to-nix-packages."bordeaux-threads";
            "cffi" = quicklisp-to-nix-packages."cffi";
            "cffi-grovel" = quicklisp-to-nix-packages."cffi-grovel";
            "cl-utilities" = quicklisp-to-nix-packages."cl-utilities";
            "iterate" = quicklisp-to-nix-packages."iterate";
            "trivial-backtrace" = quicklisp-to-nix-packages."trivial-backtrace";
+           "trivial-features" = quicklisp-to-nix-packages."trivial-features";
            "trivial-utf-8" = quicklisp-to-nix-packages."trivial-utf-8";
        }));
 
@@ -1601,6 +2125,16 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."cl-dbi" or (x: {}))
        (import ./quicklisp-to-nix-output/cl-dbi.nix {
          inherit fetchurl;
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "bordeaux-threads" = quicklisp-to-nix-packages."bordeaux-threads";
+           "cl-annot" = quicklisp-to-nix-packages."cl-annot";
+           "cl-syntax" = quicklisp-to-nix-packages."cl-syntax";
+           "cl-syntax-annot" = quicklisp-to-nix-packages."cl-syntax-annot";
+           "closer-mop" = quicklisp-to-nix-packages."closer-mop";
+           "dbi" = quicklisp-to-nix-packages."dbi";
+           "named-readtables" = quicklisp-to-nix-packages."named-readtables";
+           "split-sequence" = quicklisp-to-nix-packages."split-sequence";
+           "trivial-types" = quicklisp-to-nix-packages."trivial-types";
        }));
 
 
@@ -1609,11 +2143,17 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."cl-cookie" or (x: {}))
        (import ./quicklisp-to-nix-output/cl-cookie.nix {
          inherit fetchurl;
-           "quri" = quicklisp-to-nix-packages."quri";
-           "proc-parse" = quicklisp-to-nix-packages."proc-parse";
-           "local-time" = quicklisp-to-nix-packages."local-time";
-           "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
            "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "babel" = quicklisp-to-nix-packages."babel";
+           "bordeaux-threads" = quicklisp-to-nix-packages."bordeaux-threads";
+           "cl-fad" = quicklisp-to-nix-packages."cl-fad";
+           "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
+           "cl-utilities" = quicklisp-to-nix-packages."cl-utilities";
+           "local-time" = quicklisp-to-nix-packages."local-time";
+           "proc-parse" = quicklisp-to-nix-packages."proc-parse";
+           "quri" = quicklisp-to-nix-packages."quri";
+           "split-sequence" = quicklisp-to-nix-packages."split-sequence";
+           "trivial-features" = quicklisp-to-nix-packages."trivial-features";
        }));
 
 
@@ -1623,7 +2163,9 @@ let quicklisp-to-nix-packages = rec {
        (import ./quicklisp-to-nix-output/cl-colors.nix {
          inherit fetchurl;
            "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "anaphora" = quicklisp-to-nix-packages."anaphora";
            "let-plus" = quicklisp-to-nix-packages."let-plus";
+           "lift" = quicklisp-to-nix-packages."lift";
        }));
 
 
@@ -1641,6 +2183,8 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."cl-base64" or (x: {}))
        (import ./quicklisp-to-nix-output/cl-base64.nix {
          inherit fetchurl;
+           "kmrcl" = quicklisp-to-nix-packages."kmrcl";
+           "ptester" = quicklisp-to-nix-packages."ptester";
        }));
 
 
@@ -1649,8 +2193,21 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."cl-async-ssl" or (x: {}))
        (import ./quicklisp-to-nix-output/cl-async-ssl.nix {
          inherit fetchurl;
-           "vom" = quicklisp-to-nix-packages."vom";
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "babel" = quicklisp-to-nix-packages."babel";
+           "bordeaux-threads" = quicklisp-to-nix-packages."bordeaux-threads";
            "cffi" = quicklisp-to-nix-packages."cffi";
+           "cffi-grovel" = quicklisp-to-nix-packages."cffi-grovel";
+           "cl-async" = quicklisp-to-nix-packages."cl-async";
+           "cl-async-base" = quicklisp-to-nix-packages."cl-async-base";
+           "cl-async-util" = quicklisp-to-nix-packages."cl-async-util";
+           "cl-libuv" = quicklisp-to-nix-packages."cl-libuv";
+           "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
+           "fast-io" = quicklisp-to-nix-packages."fast-io";
+           "static-vectors" = quicklisp-to-nix-packages."static-vectors";
+           "trivial-features" = quicklisp-to-nix-packages."trivial-features";
+           "trivial-gray-streams" = quicklisp-to-nix-packages."trivial-gray-streams";
+           "vom" = quicklisp-to-nix-packages."vom";
        }));
 
 
@@ -1659,19 +2216,25 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."cl-async-repl" or (x: {}))
        (import ./quicklisp-to-nix-output/cl-async-repl.nix {
          inherit fetchurl;
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "babel" = quicklisp-to-nix-packages."babel";
            "bordeaux-threads" = quicklisp-to-nix-packages."bordeaux-threads";
+           "cffi" = quicklisp-to-nix-packages."cffi";
+           "cffi-grovel" = quicklisp-to-nix-packages."cffi-grovel";
+           "cl-async" = quicklisp-to-nix-packages."cl-async";
+           "cl-async-base" = quicklisp-to-nix-packages."cl-async-base";
+           "cl-async-util" = quicklisp-to-nix-packages."cl-async-util";
+           "cl-libuv" = quicklisp-to-nix-packages."cl-libuv";
+           "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
+           "fast-io" = quicklisp-to-nix-packages."fast-io";
+           "static-vectors" = quicklisp-to-nix-packages."static-vectors";
+           "trivial-features" = quicklisp-to-nix-packages."trivial-features";
+           "trivial-gray-streams" = quicklisp-to-nix-packages."trivial-gray-streams";
+           "vom" = quicklisp-to-nix-packages."vom";
        }));
 
 
-  "cl-async-base" = buildLispPackage
-    ((f: x: (x // (f x)))
-       (qlOverrides."cl-async-base" or (x: {}))
-       (import ./quicklisp-to-nix-output/cl-async-base.nix {
-         inherit fetchurl;
-           "cl-libuv" = quicklisp-to-nix-packages."cl-libuv";
-           "cffi" = quicklisp-to-nix-packages."cffi";
-           "bordeaux-threads" = quicklisp-to-nix-packages."bordeaux-threads";
-       }));
+  "cl-async-base" = quicklisp-to-nix-packages."cl-async";
 
 
   "cl-async" = buildLispPackage
@@ -1679,16 +2242,19 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."cl-async" or (x: {}))
        (import ./quicklisp-to-nix-output/cl-async.nix {
          inherit fetchurl;
-           "uiop" = quicklisp-to-nix-packages."uiop";
-           "trivial-gray-streams" = quicklisp-to-nix-packages."trivial-gray-streams";
-           "trivial-features" = quicklisp-to-nix-packages."trivial-features";
-           "static-vectors" = quicklisp-to-nix-packages."static-vectors";
-           "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
-           "cl-libuv" = quicklisp-to-nix-packages."cl-libuv";
-           "cl-async-util" = quicklisp-to-nix-packages."cl-async-util";
-           "cl-async-base" = quicklisp-to-nix-packages."cl-async-base";
-           "cffi" = quicklisp-to-nix-packages."cffi";
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
            "babel" = quicklisp-to-nix-packages."babel";
+           "bordeaux-threads" = quicklisp-to-nix-packages."bordeaux-threads";
+           "cffi" = quicklisp-to-nix-packages."cffi";
+           "cffi-grovel" = quicklisp-to-nix-packages."cffi-grovel";
+           "cl-libuv" = quicklisp-to-nix-packages."cl-libuv";
+           "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
+           "fast-io" = quicklisp-to-nix-packages."fast-io";
+           "static-vectors" = quicklisp-to-nix-packages."static-vectors";
+           "trivial-features" = quicklisp-to-nix-packages."trivial-features";
+           "trivial-gray-streams" = quicklisp-to-nix-packages."trivial-gray-streams";
+           "uiop" = quicklisp-to-nix-packages."uiop";
+           "vom" = quicklisp-to-nix-packages."vom";
        }));
 
 
@@ -1697,8 +2263,10 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."cl-ansi-text" or (x: {}))
        (import ./quicklisp-to-nix-output/cl-ansi-text.nix {
          inherit fetchurl;
-           "cl-colors" = quicklisp-to-nix-packages."cl-colors";
            "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "anaphora" = quicklisp-to-nix-packages."anaphora";
+           "cl-colors" = quicklisp-to-nix-packages."cl-colors";
+           "let-plus" = quicklisp-to-nix-packages."let-plus";
        }));
 
 
@@ -1707,24 +2275,30 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."clack-v1-compat" or (x: {}))
        (import ./quicklisp-to-nix-output/clack-v1-compat.nix {
          inherit fetchurl;
-           "uiop" = quicklisp-to-nix-packages."uiop";
-           "trivial-types" = quicklisp-to-nix-packages."trivial-types";
-           "trivial-mimes" = quicklisp-to-nix-packages."trivial-mimes";
-           "trivial-backtrace" = quicklisp-to-nix-packages."trivial-backtrace";
-           "split-sequence" = quicklisp-to-nix-packages."split-sequence";
-           "quri" = quicklisp-to-nix-packages."quri";
-           "marshal" = quicklisp-to-nix-packages."marshal";
-           "local-time" = quicklisp-to-nix-packages."local-time";
-           "lack-util" = quicklisp-to-nix-packages."lack-util";
-           "lack" = quicklisp-to-nix-packages."lack";
-           "ironclad" = quicklisp-to-nix-packages."ironclad";
-           "http-body" = quicklisp-to-nix-packages."http-body";
-           "flexi-streams" = quicklisp-to-nix-packages."flexi-streams";
-           "cl-syntax-annot" = quicklisp-to-nix-packages."cl-syntax-annot";
-           "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
-           "cl-base64" = quicklisp-to-nix-packages."cl-base64";
-           "circular-streams" = quicklisp-to-nix-packages."circular-streams";
            "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "bordeaux-threads" = quicklisp-to-nix-packages."bordeaux-threads";
+           "circular-streams" = quicklisp-to-nix-packages."circular-streams";
+           "cl-base64" = quicklisp-to-nix-packages."cl-base64";
+           "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
+           "cl-syntax-annot" = quicklisp-to-nix-packages."cl-syntax-annot";
+           "clack" = quicklisp-to-nix-packages."clack";
+           "clack-test" = quicklisp-to-nix-packages."clack-test";
+           "dexador" = quicklisp-to-nix-packages."dexador";
+           "flexi-streams" = quicklisp-to-nix-packages."flexi-streams";
+           "http-body" = quicklisp-to-nix-packages."http-body";
+           "ironclad" = quicklisp-to-nix-packages."ironclad";
+           "lack" = quicklisp-to-nix-packages."lack";
+           "lack-util" = quicklisp-to-nix-packages."lack-util";
+           "local-time" = quicklisp-to-nix-packages."local-time";
+           "marshal" = quicklisp-to-nix-packages."marshal";
+           "prove" = quicklisp-to-nix-packages."prove";
+           "quri" = quicklisp-to-nix-packages."quri";
+           "split-sequence" = quicklisp-to-nix-packages."split-sequence";
+           "trivial-backtrace" = quicklisp-to-nix-packages."trivial-backtrace";
+           "trivial-mimes" = quicklisp-to-nix-packages."trivial-mimes";
+           "trivial-types" = quicklisp-to-nix-packages."trivial-types";
+           "uiop" = quicklisp-to-nix-packages."uiop";
+           "usocket" = quicklisp-to-nix-packages."usocket";
        }));
 
 
@@ -1733,12 +2307,12 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."clack" or (x: {}))
        (import ./quicklisp-to-nix-output/clack.nix {
          inherit fetchurl;
-           "uiop" = quicklisp-to-nix-packages."uiop";
-           "lack-util" = quicklisp-to-nix-packages."lack-util";
-           "lack-middleware-backtrace" = quicklisp-to-nix-packages."lack-middleware-backtrace";
-           "lack" = quicklisp-to-nix-packages."lack";
-           "bordeaux-threads" = quicklisp-to-nix-packages."bordeaux-threads";
            "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "bordeaux-threads" = quicklisp-to-nix-packages."bordeaux-threads";
+           "lack" = quicklisp-to-nix-packages."lack";
+           "lack-middleware-backtrace" = quicklisp-to-nix-packages."lack-middleware-backtrace";
+           "lack-util" = quicklisp-to-nix-packages."lack-util";
+           "uiop" = quicklisp-to-nix-packages."uiop";
        }));
 
 
@@ -1747,8 +2321,10 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."circular-streams" or (x: {}))
        (import ./quicklisp-to-nix-output/circular-streams.nix {
          inherit fetchurl;
-           "trivial-gray-streams" = quicklisp-to-nix-packages."trivial-gray-streams";
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
            "fast-io" = quicklisp-to-nix-packages."fast-io";
+           "static-vectors" = quicklisp-to-nix-packages."static-vectors";
+           "trivial-gray-streams" = quicklisp-to-nix-packages."trivial-gray-streams";
        }));
 
 
@@ -1766,6 +2342,10 @@ let quicklisp-to-nix-packages = rec {
        (import ./quicklisp-to-nix-output/cffi-grovel.nix {
          inherit fetchurl;
            "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "babel" = quicklisp-to-nix-packages."babel";
+           "cffi" = quicklisp-to-nix-packages."cffi";
+           "cffi-toolchain" = quicklisp-to-nix-packages."cffi-toolchain";
+           "trivial-features" = quicklisp-to-nix-packages."trivial-features";
        }));
 
 
@@ -1774,10 +2354,12 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."cffi" or (x: {}))
        (import ./quicklisp-to-nix-output/cffi.nix {
          inherit fetchurl;
-           "uiop" = quicklisp-to-nix-packages."uiop";
-           "trivial-features" = quicklisp-to-nix-packages."trivial-features";
-           "babel" = quicklisp-to-nix-packages."babel";
            "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "babel" = quicklisp-to-nix-packages."babel";
+           "cl-json" = quicklisp-to-nix-packages."cl-json";
+           "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
+           "trivial-features" = quicklisp-to-nix-packages."trivial-features";
+           "uiop" = quicklisp-to-nix-packages."uiop";
        }));
 
 
@@ -1786,16 +2368,16 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."caveman" or (x: {}))
        (import ./quicklisp-to-nix-output/caveman.nix {
          inherit fetchurl;
-           "myway" = quicklisp-to-nix-packages."myway";
-           "local-time" = quicklisp-to-nix-packages."local-time";
-           "do-urlencode" = quicklisp-to-nix-packages."do-urlencode";
-           "clack-v1-compat" = quicklisp-to-nix-packages."clack-v1-compat";
-           "cl-syntax-annot" = quicklisp-to-nix-packages."cl-syntax-annot";
-           "cl-syntax" = quicklisp-to-nix-packages."cl-syntax";
-           "cl-project" = quicklisp-to-nix-packages."cl-project";
-           "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
-           "cl-emb" = quicklisp-to-nix-packages."cl-emb";
            "anaphora" = quicklisp-to-nix-packages."anaphora";
+           "cl-emb" = quicklisp-to-nix-packages."cl-emb";
+           "cl-ppcre" = quicklisp-to-nix-packages."cl-ppcre";
+           "cl-project" = quicklisp-to-nix-packages."cl-project";
+           "cl-syntax" = quicklisp-to-nix-packages."cl-syntax";
+           "cl-syntax-annot" = quicklisp-to-nix-packages."cl-syntax-annot";
+           "clack-v1-compat" = quicklisp-to-nix-packages."clack-v1-compat";
+           "do-urlencode" = quicklisp-to-nix-packages."do-urlencode";
+           "local-time" = quicklisp-to-nix-packages."local-time";
+           "myway" = quicklisp-to-nix-packages."myway";
        }));
 
 
@@ -1805,6 +2387,7 @@ let quicklisp-to-nix-packages = rec {
        (import ./quicklisp-to-nix-output/bordeaux-threads.nix {
          inherit fetchurl;
            "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "fiveam" = quicklisp-to-nix-packages."fiveam";
        }));
 
 
@@ -1822,8 +2405,8 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."babel" or (x: {}))
        (import ./quicklisp-to-nix-output/babel.nix {
          inherit fetchurl;
-           "trivial-features" = quicklisp-to-nix-packages."trivial-features";
            "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "trivial-features" = quicklisp-to-nix-packages."trivial-features";
        }));
 
 
@@ -1856,13 +2439,12 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."_3bmd" or (x: {}))
        (import ./quicklisp-to-nix-output/_3bmd.nix {
          inherit fetchurl;
-           "split-sequence" = quicklisp-to-nix-packages."split-sequence";
-           "esrap" = quicklisp-to-nix-packages."esrap";
            "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "esrap" = quicklisp-to-nix-packages."esrap";
+           "split-sequence" = quicklisp-to-nix-packages."split-sequence";
        }));
 
 
-} // qlAliases {inherit quicklisp-to-nix-packages;};
-qlAliases = import ./quicklisp-to-nix-aliases.nix;
+};
 in
    quicklisp-to-nix-packages
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix/nix-package.emb b/pkgs/development/lisp-modules/quicklisp-to-nix/nix-package.emb
index baedbd1553a5..ac3387d7b6d5 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix/nix-package.emb
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix/nix-package.emb
@@ -1,9 +1,9 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''<% @var filename %>'';
-  version = ''<% @var version %>'';<% @if testname %>
+  version = ''<% @var version %>'';<% @if parasites %>
 
-  testSystems = ["<% @var testname %>"];<% @endif %>
+  parasites = [<% (dolist (p (getf env :parasites)) (format t " \"~A\"" p)) %> ];<% @endif %>
 
   description = ''<% @var description %>'';
 
@@ -13,23 +13,10 @@ rec {
     url = ''<% @var url %>'';
     sha256 = ''<% @var sha256 %>'';
   };
-    
+
   packageName = "<% @var name %>";
 
-  overrides = x: {
-    postInstall = ''
-      find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/<% @var name %>[.]asd${"$"}' |
-        while read f; do
-          env -i \
-          NIX_LISP="$NIX_LISP" \
-          NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
-            (asdf:load-system :$(basename "$f" .asd))
-            (asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
-            (ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
-            )'" \
-            "$out"/bin/*-lisp-launcher.sh ||
-          mv "$f"{,.sibling}; done || true
-    '';
-  };
+  asdFilesToKeep = ["<% @var name %>.asd"];
+  overrides = x: x;
 }
 /* <%= cl-emb-intern::topenv %> */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix/parasitic-invocation.emb b/pkgs/development/lisp-modules/quicklisp-to-nix/parasitic-invocation.emb
new file mode 100644
index 000000000000..bdee1c6dcf16
--- /dev/null
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix/parasitic-invocation.emb
@@ -0,0 +1 @@
+  "<% @var filename %>" = quicklisp-to-nix-packages."<% @var host-filename %>";
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix/ql-to-nix.lisp b/pkgs/development/lisp-modules/quicklisp-to-nix/ql-to-nix.lisp
index f408ceeb3f52..790cd17b2fce 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix/ql-to-nix.lisp
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix/ql-to-nix.lisp
@@ -1,137 +1,212 @@
-; QuickLisp-to-Nix export
-; Requires QuickLisp to be loaded
-; Installs the QuickLisp version of all the packages processed (in the
-; QuickLisp instance it uses)
+(unless (find-package :ql-to-nix-util)
+  (load "util.lisp"))
+(unless (find-package :ql-to-nix-quicklisp-bootstrap)
+  (load "quicklisp-bootstrap.lisp"))
+(defpackage :ql-to-nix
+  (:use :common-lisp :ql-to-nix-util :ql-to-nix-quicklisp-bootstrap))
+(in-package :ql-to-nix)
 
-(ql:quickload :cl-emb)
-(ql:quickload :external-program)
-(ql:quickload :cl-ppcre)
-(ql:quickload :alexandria)
-(ql:quickload :md5)
+;; We're going to pull in our dependencies at image dumping time in an
+;; isolated quicklisp installation.  Unfortunately, that means that we
+;; can't yet access the symbols for our dependencies.  We can probably
+;; do better (by, say, loading these dependencies before this file),
+;; but...
 
-(defvar testnames (make-hash-table :test 'equal))
+(defvar *required-systems* nil)
 
-(defun nix-prefetch-url (url)
-  (let*
-    ((stdout nil)
-     (stderr nil))
-    (setf
-      stdout
-      (with-output-to-string (so)
-        (setf
-          stderr
-          (with-output-to-string (se)
-            (external-program:run
-              "nix-prefetch-url"
-              (list url)
-              :search t :output so :error se)))))
-    (let*
-      ((path-line (first (last (cl-ppcre:split (format nil "~%") stderr))))
-       (path (cl-ppcre:regex-replace-all "path is .(.*)." path-line "\\1")))
-      (list
-        :sha256 (first (cl-ppcre:split (format nil "~%") stdout))
-        :path path
-        :md5 (string-downcase
-               (format nil "~{~16,2,'0r~}"
-                       (map 'list 'identity (md5:md5sum-file path))))))))
+(push :cl-emb *required-systems*)
+(wrap :cl-emb register-emb)
+(wrap :cl-emb execute-emb)
+
+(push :external-program *required-systems*)
+(wrap :external-program run)
+
+(push :cl-ppcre *required-systems*)
+(wrap :cl-ppcre split)
+(wrap :cl-ppcre regex-replace-all)
+(wrap :cl-ppcre scan)
+
+(push :alexandria *required-systems*)
+(wrap :alexandria read-file-into-string)
+(wrap :alexandria write-string-into-file)
+
+(push :md5 *required-systems*)
+(wrap :md5 md5sum-file)
+
+(wrap :ql-dist find-system)
+(wrap :ql-dist release)
+(wrap :ql-dist provided-systems)
+(wrap :ql-dist archive-url)
+(wrap :ql-dist local-archive-file)
+(wrap :ql-dist ensure-local-archive-file)
+(wrap :ql-dist archive-md5)
+(wrap :ql-dist name)
+(wrap :ql-dist short-description)
 
 (defun escape-filename (s)
   (format 
-    nil "~a~{~a~}"
-    (if (cl-ppcre:scan "^[a-zA-Z_]" s) "" "_")
-    (loop
+   nil "~a~{~a~}"
+   (if (scan "^[a-zA-Z_]" s) "" "_")
+   (loop
       for x in (map 'list 'identity s)
       collect
-      (case x
-        (#\/ "_slash_")
-        (#\\ "_backslash_")
-        (#\_ "__")
-        (#\. "_dot_")
-        (t x)))))
-
-(defun system-depends-on (system-name)
-  (labels
-      ((decode (name)
-         (typecase name
-           (string
-            name)
-           (cons
-            (ecase (car name)
-              (:version (second name)))))))
-    (let* ((asdf-dependencies (asdf:system-depends-on (asdf:find-system system-name)))
-           (decoded-asdf-dependencies (mapcar #'decode asdf-dependencies))
-           (clean-asdf-dependencies (remove-if-not 'ql-dist:find-system decoded-asdf-dependencies))
-           (ql-dependencies (ql-dist:required-systems (ql-dist:find-system system-name)))
-           (all-dependencies (concatenate 'list clean-asdf-dependencies ql-dependencies))
-           (sorted-dependencies (sort all-dependencies #'string<))
-           (unique-dependencies (remove-duplicates sorted-dependencies :test #'equal)))
-      unique-dependencies)))
+        (case x
+          (#\/ "_slash_")
+          (#\\ "_backslash_")
+          (#\_ "__")
+          (#\. "_dot_")
+          (t x)))))
+
+(defvar *system-info-bin*
+  (let* ((path (uiop:getenv "system-info"))
+         (path-dir (if (equal #\/ (aref path (1- (length path))))
+                       path
+                       (concatenate 'string path "/")))
+         (pathname (parse-namestring path-dir)))
+    (merge-pathnames #P"bin/quicklisp-to-nix-system-info" pathname))
+  "The path to the quicklisp-to-nix-system-info binary.")
+
+(defvar *cache-dir* nil
+  "The folder where fasls will be cached.")
+
+(defun raw-system-info (system-name)
+  "Run quicklisp-to-nix-system-info on the given system and return the
+form produced by the program."
+  (when *cache-dir*
+    (let ((command `(,*system-info-bin* "--cacheDir" ,(namestring *cache-dir*) ,system-name)))
+      (handler-case
+          (return-from raw-system-info
+            (read (make-string-input-stream (uiop:run-program command :output :string))))
+        (error (e)
+          ;; Some systems don't like the funky caching that we're
+          ;; doing.  That's okay.  Let's try it uncached before we
+          ;; give up.
+          (warn "Unable to use cache for system ~A.~%~A" system-name e)))))
+  (read (make-string-input-stream (uiop:run-program `(,*system-info-bin* ,system-name) :output :string))))
+
+(defvar *system-data-memoization-path* nil
+  "The path to the folder where fully-resolved system information can
+be cached.
+
+If information for a system is found in this directory, `system-data'
+will use it instead of re-computing the system data.")
+
+(defvar *system-data-in-memory-memoization*
+  (make-hash-table :test #'equalp))
+
+(defun memoized-system-data-path (system)
+  "Return the path to the file that (if it exists) contains
+pre-computed system data."
+  (when *system-data-memoization-path*
+    (merge-pathnames (make-pathname :name system :type "txt") *system-data-memoization-path*)))
+
+(defun memoized-system-data (system)
+  "Attempts to locate memoized system data in the path specified by
+`*system-data-memoization-path*'."
+  (multiple-value-bind (value found) (gethash system *system-data-in-memory-memoization*)
+    (when found
+      (return-from memoized-system-data (values value found))))
+  (let ((path (memoized-system-data-path system)))
+    (unless path
+      (return-from memoized-system-data (values nil nil)))
+    (with-open-file (s path :if-does-not-exist nil :direction :input)
+      (unless s
+        (return-from memoized-system-data (values nil nil)))
+      (return-from memoized-system-data (values (read s) t)))))
+
+(defun set-memoized-system-data (system data)
+  "Store system data in the path specified by
+`*system-data-memoization-path*'."
+  (setf (gethash system *system-data-in-memory-memoization*) data)
+  (let ((path (memoized-system-data-path system)))
+    (unless path
+      (return-from set-memoized-system-data data))
+    (with-open-file (s path :direction :output :if-exists :supersede)
+      (format s "~W" data)))
+  data)
 
 (defun system-data (system)
-  (let*
-    ((asdf-system
-       (or
-         (ignore-errors (asdf:find-system system))
-         (progn
-           (ql:quickload system)
-           (asdf:find-system system))))
-     (ql-system (ql-dist:find-system system))
-     (ql-release (ql-dist:release ql-system))
-     (ql-sibling-systems (ql-dist:provided-systems ql-release))
-     (url (ql-dist:archive-url ql-release))
-     (local-archive (ql-dist:local-archive-file ql-release))
-     (local-url (format nil "file://~a" (pathname local-archive)))
-     (archive-data
-       (progn
-         (ql-dist:ensure-local-archive-file ql-release)
-         (nix-prefetch-url local-url)))
-     (ideal-md5 (ql-dist:archive-md5 ql-release))
-     (file-md5 (getf archive-data :md5))
-     (raw-dependencies (system-depends-on system))
-     (name (string-downcase (format nil "~a" system)))
-     (ql-sibling-names
-       (remove name (mapcar 'ql-dist:name ql-sibling-systems)
-               :test 'equal))
-     (dependencies
-       (set-difference
-         (remove-duplicates
-           (remove-if-not 'ql-dist:find-system raw-dependencies)
-           :test 'equal)
-         ql-sibling-names
-         :test 'equal))
-     (deps (mapcar (lambda (x) (list :name x :filename (escape-filename x)))
-                   dependencies))
-     (description (asdf:system-description asdf-system))
-     (release-name (ql-dist:short-description ql-release))
-     (version (cl-ppcre:regex-replace-all
-                (format nil "~a-" name) release-name "")))
-    (assert (equal ideal-md5 file-md5))
-  (list
-    :system system
-    :description description
-    :sha256 (getf archive-data :sha256)
-    :url url
-    :md5 file-md5
-    :name name
-    :testname (gethash name testnames)
-    :filename (escape-filename name)
-    :deps deps
-    :dependencies dependencies
-    :version version
-    :siblings ql-sibling-names)))
-
-(defmacro this-file ()
-  (or *compile-file-truename*
-      *load-truename*))
+  "Examine a quicklisp system name and figure out everything that is
+required to produce a nix package.
+
+This function stores results for memoization purposes in files within
+`*system-data-memoization-path*'."
+  (multiple-value-bind (value found) (memoized-system-data system)
+    (when found
+      (return-from system-data value)))
+  (format t "Examining system ~A~%" system)
+  (let* ((system-info (raw-system-info system))
+         (host (getf system-info :host))
+         (host-name (getf system-info :host-name))
+         (name (getf system-info :name)))
+    (when host
+      (return-from system-data
+        (set-memoized-system-data
+         system
+         (list
+          :system (getf system-info :system)
+          :host host
+          :filename (escape-filename name)
+          :host-filename (escape-filename host-name)))))
+
+    (let* ((url (getf system-info :url))
+           (sha256 (getf system-info :sha256))
+           (archive-data (nix-prefetch-url url :expected-sha256 sha256))
+           (archive-path (getf archive-data :path))
+           (archive-md5 (string-downcase
+                         (format nil "~{~16,2,'0r~}"
+                                 (map 'list 'identity (md5sum-file archive-path)))))
+           (stated-md5 (getf system-info :md5))
+           (dependencies (getf system-info :dependencies))
+           (deps (mapcar (lambda (x) (list :name x :filename (escape-filename x)))
+                         dependencies))
+           (description (getf system-info :description))
+           (siblings (getf system-info :siblings))
+           (release-name (getf system-info :release-name))
+           (parasites (getf system-info :parasites))
+           (version (regex-replace-all
+                     (format nil "~a-" name) release-name "")))
+      (assert (equal archive-md5 stated-md5))
+      (set-memoized-system-data
+       system
+       (list
+        :system system
+        :description description
+        :sha256 sha256
+        :url url
+        :md5 stated-md5
+        :name name
+        :filename (escape-filename name)
+        :deps deps
+        :dependencies dependencies
+        :version version
+        :siblings siblings
+        :parasites parasites)))))
+
+(defun parasitic-p (data)
+  (getf data :host))
+
+(defvar *loaded-from* (or *compile-file-truename* *load-truename*)
+  "Where this source file is located.")
+
+(defun this-file ()
+  "Where this source file is located or an error."
+  (or *loaded-from* (error "Not sure where this file is located!")))
 
 (defun nix-expression (system)
-  (cl-emb:execute-emb
-    (merge-pathnames #p"nix-package.emb" (this-file))
+  (execute-emb
+    "nix-package"
     :env (system-data system)))
+
 (defun nix-invocation (system)
-  (cl-emb:execute-emb
-    (merge-pathnames #p"invocation.emb" (this-file))
-    :env (system-data system)))
+  (let ((data (system-data system)))
+    (if (parasitic-p data)
+        (execute-emb
+         "parasitic-invocation"
+         :env data)
+        (execute-emb
+         "invocation"
+         :env data))))
 
 (defun systems-closure (systems)
   (let*
@@ -153,29 +228,97 @@
       finally (return res))))
 
 (defun ql-to-nix (target-directory)
-  (load (format nil "~a/quicklisp-to-nix-overrides.lisp" target-directory))
   (let*
     ((systems
-       (cl-ppcre:split
+       (split
          (format nil "~%")
-         (alexandria:read-file-into-string
-           (format nil "~a/quicklisp-to-nix-systems.txt" target-directory))))
+         (read-file-into-string
+          (format nil "~a/quicklisp-to-nix-systems.txt" target-directory))))
      (closure (systems-closure systems))
      (invocations
        (loop for s in closure
              collect (list :code (nix-invocation s)))))
     (loop
       for s in closure
-      do (alexandria:write-string-into-file
-           (nix-expression s)
-           (format nil "~a/quicklisp-to-nix-output/~a.nix"
-                   target-directory (escape-filename s))
-           :if-exists :supersede))
-    (alexandria:write-string-into-file
-      (cl-emb:execute-emb
-        (merge-pathnames
-          #p"top-package.emb"
-          (this-file))
+       do (unless (parasitic-p (system-data s))
+            (write-string-into-file
+             (nix-expression s)
+             (format nil "~a/quicklisp-to-nix-output/~a.nix"
+                     target-directory (escape-filename s))
+             :if-exists :supersede)))
+    (write-string-into-file
+      (execute-emb
+        "top-package"
         :env (list :invocations invocations))
       (format nil "~a/quicklisp-to-nix.nix" target-directory)
       :if-exists :supersede)))
+
+(defun print-usage-and-quit ()
+  "Does what it says on the tin."
+  (format *error-output* "Usage:
+    ~A [--help] [--cacheSystemInfoDir <path>] <work-dir>
+Arguments:
+    --cacheSystemInfoDir Store computed system info in the given directory
+    --help Print usage and exit
+    <work-dir> Path to directory with quicklisp-to-nix-systems.txt
+" (uiop:argv0))
+  (uiop:quit 2))
+
+(defun main ()
+  "Make it go"
+  (let ((argv (uiop:command-line-arguments))
+        work-directory
+        cache-system-info-directory
+        cache-fasl-directory)
+    (loop :while argv :for arg = (pop argv) :do
+       (cond
+         ((equal arg "--cacheSystemInfoDir")
+          (unless argv
+            (format *error-output* "--cacheSystemInfoDir requires an argument~%")
+            (print-usage-and-quit))
+          (setf cache-system-info-directory (pop argv)))
+
+         ((equal arg "--cacheFaslDir")
+          (unless argv
+            (format *error-output* "--cacheFaslDir requires an argument~%")
+            (print-usage-and-quit))
+          (setf cache-fasl-directory (pop argv)))
+
+         ((equal arg "--help")
+          (print-usage-and-quit))
+
+         (t
+          (when argv
+            (format *error-output* "Only one positional argument allowed~%")
+            (print-usage-and-quit))
+          (setf work-directory arg))))
+
+    (when cache-system-info-directory
+      (setf cache-system-info-directory (pathname-as-directory (pathname cache-system-info-directory)))
+      (ensure-directories-exist cache-system-info-directory))
+
+    (labels
+        ((make-go (*cache-dir*)
+           (format t "Caching fasl files in ~A~%" *cache-dir*)
+
+           (let ((*system-data-memoization-path* cache-system-info-directory))
+             (ql-to-nix work-directory))))
+      (if cache-fasl-directory
+          (make-go (truename (pathname-as-directory (parse-namestring (ensure-directories-exist cache-fasl-directory)))))
+          (with-temporary-directory (*cache-dir*)
+            (make-go *cache-dir*))))))
+
+(defun dump-image ()
+  "Make an executable"
+  (with-quicklisp (dir) ()
+    (declare (ignore dir))
+    (dolist (system *required-systems*)
+      (funcall (sym :ql :quickload) system)))
+  (register-emb "nix-package" (merge-pathnames #p"nix-package.emb" (this-file)))
+  (register-emb "invocation" (merge-pathnames #p"invocation.emb" (this-file)))
+  (register-emb "parasitic-invocation" (merge-pathnames #p"parasitic-invocation.emb" (this-file)))
+  (register-emb "top-package" (merge-pathnames #p"top-package.emb" (this-file)))
+  (setf uiop:*image-entry-point* #'main)
+  (setf uiop:*lisp-interaction* nil)
+  (setf *loaded-from* nil) ;; Break the link to our source
+  (uiop:dump-image "quicklisp-to-nix" :executable t))
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix/quicklisp-bootstrap.lisp b/pkgs/development/lisp-modules/quicklisp-to-nix/quicklisp-bootstrap.lisp
new file mode 100644
index 000000000000..1c4a682007fd
--- /dev/null
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix/quicklisp-bootstrap.lisp
@@ -0,0 +1,76 @@
+(unless (find-package :ql-to-nix-util)
+  (load "ql-to-nix-util.lisp"))
+(defpackage :ql-to-nix-quicklisp-bootstrap
+  (:use :common-lisp :ql-to-nix-util)
+  (:export #:with-quicklisp)
+  (:documentation
+   "This package provides a way to create a temporary quicklisp installation."))
+(in-package :ql-to-nix-quicklisp-bootstrap)
+
+(declaim (optimize (debug 3) (speed 0) (space 0) (compilation-speed 0) (safety 3)))
+
+;; This file cannot have any dependencies beyond quicklisp and asdf.
+;; Otherwise, we'll miss some dependencies!
+
+(defvar *quicklisp*
+  (namestring (pathname-as-directory (uiop:getenv "quicklisp")))
+  "The path to the nix quicklisp package.")
+
+(defun prepare-quicklisp-dir (target-dir quicklisp-prototype-dir)
+  "Install quicklisp into the specified `target-dir'.
+
+`quicklisp-prototype-dir' should be the path to the quicklisp nix
+package."
+  (ensure-directories-exist target-dir)
+  (dolist (subdir '(#P"dists/quicklisp/" #P"tmp/" #P"local-projects/" #P"quicklisp/"))
+    (ensure-directories-exist (merge-pathnames subdir target-dir)))
+  (with-open-file (s (merge-pathnames #P"dists/quicklisp/enabled.txt" target-dir) :direction :output :if-exists :supersede)
+    (format s "1~%"))
+  (uiop:copy-file
+   (merge-pathnames #P"lib/common-lisp/quicklisp/quicklisp-distinfo.txt" quicklisp-prototype-dir)
+   (merge-pathnames #P"dists/quicklisp/distinfo.txt" target-dir))
+  (uiop:copy-file
+   (merge-pathnames #P"lib/common-lisp/quicklisp/asdf.lisp" quicklisp-prototype-dir)
+   (merge-pathnames #P"asdf.lisp" target-dir))
+  (uiop:copy-file
+   (merge-pathnames #P"lib/common-lisp/quicklisp/setup.lisp" quicklisp-prototype-dir)
+   (merge-pathnames #P"setup.lisp" target-dir))
+  (copy-directory-tree
+   (merge-pathnames #P"lib/common-lisp/quicklisp/quicklisp/" quicklisp-prototype-dir)
+   (merge-pathnames #P"quicklisp/" target-dir)))
+
+(defun call-with-quicklisp (function &key (target-dir :temp) (cache-dir :temp))
+  "Invoke the given function with the path to a quicklisp installation.
+
+Quicklisp will be loaded before the function is called.  `target-dir'
+can either be a pathname for the place where quicklisp should be
+installed or `:temp' to request installation in a temporary directory.
+`cache-dir' can either be a pathname for a place to store fasls or
+`:temp' to request caching in a temporary directory."
+  (when (find-package :ql)
+    (error "Already loaded quicklisp in this process"))
+  (labels
+      ((make-ql (ql-dir)
+         (prepare-quicklisp-dir ql-dir *quicklisp*)
+         (with-temporary-asdf-cache (ql-dir)
+           (load (merge-pathnames #P"setup.lisp" ql-dir))
+           (if (eq :temp cache-dir)
+               (funcall function ql-dir)
+               (with-asdf-cache (ql-dir cache-dir)
+                 (funcall function ql-dir))))))
+    (if (eq :temp target-dir)
+        (with-temporary-directory (dir)
+          (make-ql dir))
+        (make-ql target-dir))))
+
+(defmacro with-quicklisp ((quicklisp-dir) (&key (cache-dir :temp)) &body body)
+  "Install quicklisp in a temporary directory, load it, bind
+`quicklisp-dir' to the path where quicklisp was installed, and then
+evaluate `body'.
+
+`cache-dir' can either be a pathname for a place to store fasls or
+`:temp' to request caching in a temporary directory."
+  `(call-with-quicklisp
+    (lambda (,quicklisp-dir)
+      ,@body)
+    :cache-dir ,cache-dir))
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix/system-info.lisp b/pkgs/development/lisp-modules/quicklisp-to-nix/system-info.lisp
new file mode 100644
index 000000000000..3a87626df1bf
--- /dev/null
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix/system-info.lisp
@@ -0,0 +1,473 @@
+(unless (find-package :ql-to-nix-util)
+  (load "util.lisp"))
+(unless (find-package :ql-to-nix-quicklisp-bootstrap)
+  (load "quicklisp-bootstrap.lisp"))
+(defpackage :ql-to-nix-system-info
+  (:use :common-lisp :ql-to-nix-quicklisp-bootstrap :ql-to-nix-util)
+  (:export #:dump-image))
+(in-package :ql-to-nix-system-info)
+
+(declaim (optimize (debug 3) (speed 0) (space 0) (compilation-speed 0) (safety 3)))
+
+;; This file cannot have any dependencies beyond quicklisp and asdf.
+;; Otherwise, we'll miss some dependencies!
+
+;; We can't load quicklisp until runtime (at which point we'll create
+;; an isolated quicklisp installation).  These wrapper functions are
+;; nicer than funcalling intern'd symbols every time we want to talk
+;; to quicklisp.
+(wrap :ql apply-load-strategy)
+(wrap :ql compute-load-strategy)
+(wrap :ql show-load-strategy)
+(wrap :ql quicklisp-systems)
+(wrap :ql ensure-installed)
+(wrap :ql quicklisp-releases)
+(wrap :ql-dist archive-md5)
+(wrap :ql-dist archive-url)
+(wrap :ql-dist ensure-local-archive-file)
+(wrap :ql-dist find-system)
+(wrap :ql-dist local-archive-file)
+(wrap :ql-dist name)
+(wrap :ql-dist provided-systems)
+(wrap :ql-dist release)
+(wrap :ql-dist short-description)
+(wrap :ql-dist system-file-name)
+(wrap :ql-impl-util call-with-quiet-compilation)
+
+(defvar *version* (uiop:getenv "version")
+  "The version number of this program")
+
+(defvar *main-system* nil
+  "The name of the system we're trying to extract info from.")
+
+(defvar *found-parasites* (make-hash-table :test #'equalp)
+  "Names of systems which have been identified as parasites.
+
+A system is parasitic if its name doesn't match the name of the file
+it is defined in.  So, for example, if foo and foo-bar are both
+defined in a file named foo.asd, foo would be the host system and
+foo-bar would be a parasitic system.
+
+Parasitic systems are not generally loaded without loading the host
+system first.
+
+Keys are system names.  Values are unspecified.")
+
+(defvar *found-dependencies* (make-hash-table :test #'equalp)
+  "Hash table containing the set of dependencies discovered while installing a system.
+
+Keys are system names.  Values are unspecified.")
+
+(defun decode-asdf-dependency (name)
+  "Translates an asdf system dependency description into a system name.
+
+For example, translates (:version :foo \"1.0\") into \"foo\"."
+  (etypecase name
+    (symbol
+     (setf name (symbol-name name)))
+    (string)
+    (cons
+     (ecase (first name)
+       (:version
+        (warn "Discarding version information ~A" name)
+        ;; There's nothing we can do about this.  If the version we
+        ;; have around is good enough, then we're golden.  If it isn't
+        ;; good enough, then we'll error out and let a human figure it
+        ;; out.
+        (setf name (second name))
+        (return-from decode-asdf-dependency
+          (decode-asdf-dependency name)))
+
+       (:feature
+        (if (find (second name) *features*)
+            (return-from decode-asdf-dependency
+              (decode-asdf-dependency (third name)))
+            (progn
+              (warn "Dropping dependency due to missing feature: ~A" name)
+              (return-from decode-asdf-dependency nil))))
+
+       (:require
+        ;; This probably isn't a dependency we can satisfy using
+        ;; quicklisp, but we might as well try anyway.
+        (return-from decode-asdf-dependency
+          (decode-asdf-dependency (second name)))))))
+  (string-downcase name))
+
+(defun found-new-parasite (system-name)
+  "Record that the given system has been identified as a parasite."
+  (setf system-name (decode-asdf-dependency system-name))
+  (setf (gethash system-name *found-parasites*) t)
+  (when (nth-value 1 (gethash system-name *found-dependencies*))
+    (error "Found dependency on parasite")))
+
+(defun known-parasite-p (system-name)
+  "Have we previously identified this system as a parasite?"
+  (nth-value 1 (gethash system-name *found-parasites*)))
+
+(defun found-parasites ()
+  "Return a vector containing all identified parasites."
+  (let ((systems (make-array (hash-table-size *found-parasites*) :fill-pointer 0)))
+    (loop :for system :being :the :hash-keys :of *found-parasites* :do
+       (vector-push system systems))
+    systems))
+
+(defvar *track-dependencies* nil
+  "When this variable is nil, found-new-dependency will not record
+depdendencies.")
+
+(defun parasitic-relationship-p (potential-host potential-parasite)
+  "Returns t if potential-host and potential-parasite have a parasitic relationship.
+
+See `*found-parasites*'."
+  (let ((host-ql-system (find-system potential-host))
+        (parasite-ql-system (find-system potential-parasite)))
+    (and host-ql-system parasite-ql-system
+         (not (equal (name host-ql-system)
+                     (name parasite-ql-system)))
+         (equal (system-file-name host-ql-system)
+                (system-file-name parasite-ql-system)))))
+
+(defun found-new-dependency (name)
+  "Record that the given system has been identified as a dependency.
+
+The named system may not be recorded as a dependency.  It may be left
+out for any number of reasons.  For example, if `*track-dependencies*'
+is nil then this function does nothing.  If the named system isn't a
+quicklisp system, this function does nothing."
+  (setf name (decode-asdf-dependency name))
+  (unless name
+    (return-from found-new-dependency))
+  (unless *track-dependencies*
+    (return-from found-new-dependency))
+  (when (known-parasite-p name)
+    (return-from found-new-dependency))
+  (when (parasitic-relationship-p *main-system* name)
+    (found-new-parasite name)
+    (return-from found-new-dependency))
+  (unless (find-system name)
+    (return-from found-new-dependency))
+  (setf (gethash name *found-dependencies*) t))
+
+(defun forget-dependency (name)
+  "Whoops.  Did I say that was a dependency?  My bad.
+
+Be very careful using this function!  You can remove a system from the
+dependency list, but you can't remove other effects associated with
+this system.  For example, transitive dependencies might still be in
+the dependency list."
+  (setf name (decode-asdf-dependency name))
+  (remhash name *found-dependencies*))
+
+(defun found-dependencies ()
+  "Return a vector containing all identified dependencies."
+  (let ((systems (make-array (hash-table-size *found-dependencies*) :fill-pointer 0)))
+    (loop :for system :being :the :hash-keys :of *found-dependencies* :do
+       (vector-push system systems))
+    systems))
+
+(defun host-system (system-name)
+  "If the given system is a parasite, return the name of the system that is its host.
+
+See `*found-parasites*'."
+  (let* ((system (find-system system-name))
+         (host-file (system-file-name system)))
+    (unless (equalp host-file system-name)
+      host-file)))
+
+(defun get-loaded (system)
+  "Try to load the named system using quicklisp and record any
+dependencies quicklisp is aware of.
+
+Unlike `our-quickload', this function doesn't attempt to install
+missing dependencies."
+  ;; Let's get this party started!
+  (let* ((strategy (compute-load-strategy system))
+         (ql-systems (quicklisp-systems strategy)))
+    (dolist (dep ql-systems)
+      (found-new-dependency (name dep)))
+    (show-load-strategy strategy)
+    (labels
+        ((make-go ()
+           (apply-load-strategy strategy)))
+      (call-with-quiet-compilation #'make-go)
+      (let ((asdf-system (asdf:find-system system)))
+        ;; If ASDF says that it needed a system, then we should
+        ;; probably track that.
+        (dolist (asdf-dep (asdf:component-sideway-dependencies asdf-system))
+          (found-new-dependency asdf-dep))
+        (dolist (asdf-dep (asdf:system-defsystem-depends-on asdf-system))
+          (found-new-dependency asdf-dep))))))
+
+(defun our-quickload (system)
+  "Attempt to install a package like quicklisp would, but record any
+dependencies that are detected during the install."
+  (setf system (string-downcase system))
+  ;; Load it quickly, but do it OUR way.  Turns out our way is very
+  ;; similar to the quicklisp way...
+  (let ((already-tried (make-hash-table :test #'equalp))) ;; Case insensitive
+    (tagbody
+     retry
+       (handler-case
+           (get-loaded system)
+         (asdf/find-component:missing-dependency (e)
+           (let ((required-by (asdf/find-component:missing-required-by e))
+                 (missing (asdf/find-component:missing-requires e)))
+             (unless (typep required-by 'asdf:system)
+               (error e))
+             (when (gethash missing already-tried)
+               (error "Dependency loop? ~A" missing))
+             (setf (gethash missing already-tried) t)
+             (let ((parasitic-p (parasitic-relationship-p *main-system* missing)))
+               (if parasitic-p
+                   (found-new-parasite missing)
+                   (found-new-dependency missing))
+               ;; We always want to track the dependencies of systems
+               ;; that share an asd file with the main system.  The
+               ;; whole asd file should be loadable.  Otherwise, we
+               ;; don't want to include transitive dependencies.
+               (let ((*track-dependencies* parasitic-p))
+                 (our-quickload missing)))
+             (format t "Attempting to load ~A again~%" system)
+             (go retry)))))))
+
+(defvar *blacklisted-parasites*
+  #("hu.dwim.stefil/documentation" ;; This system depends on :hu.dwim.stefil.test, but it should depend on hu.dwim.stefil/test
+    "named-readtables/doc" ;; Dependency cycle between named-readtabes and mgl-pax
+    "symbol-munger-test" ;; Dependency cycle between lisp-unit2 and symbol-munger
+    "cl-postgres-simple-date-tests" ;; Dependency cycle between cl-postgres and simple-date
+    "cl-containers/with-variates") ;; Symbol conflict between cl-variates:next-element, metabang.utilities:next-element
+  "A vector of systems that shouldn't be loaded by `quickload-parasitic-systems'.
+
+These systems are known to be troublemakers.  In some sense, all
+parasites are troublemakers (you shouldn't define parasitic systems!).
+However, these systems prevent us from generating nix packages and are
+thus doubly evil.")
+
+(defvar *blacklisted-parasites-table*
+  (let ((ht (make-hash-table :test #'equalp)))
+    (loop :for system :across *blacklisted-parasites* :do
+       (setf (gethash system ht) t))
+    ht)
+  "A hash table where each entry in `*blacklisted-parasites*' is an
+entry in the table.")
+
+(defun blacklisted-parasite-p (system-name)
+  "Returns non-nil if the named system is blacklisted"
+  (nth-value 1 (gethash system-name *blacklisted-parasites-table*)))
+
+(defun quickload-parasitic-systems (system)
+  "Attempt to load all the systems defined in the same asd as the named system.
+
+Blacklisted systems are skipped.  Dependencies of the identified
+parasitic systems will be tracked."
+  (let* ((asdf-system (asdf:find-system system))
+         (source-file (asdf:system-source-file asdf-system)))
+    (cond
+      (source-file
+       (loop :for system-name :being :the :hash-keys :of asdf/find-system:*defined-systems* :do
+          (when (and (parasitic-relationship-p system system-name)
+                     (not (blacklisted-parasite-p system-name)))
+            (found-new-parasite system-name)
+            (let ((*track-dependencies* t))
+              (our-quickload system-name)))))
+      (t
+       (unless (or (equal "uiop" system)
+                   (equal "asdf" system))
+         (warn "No source file for system ~A.  Can't identify parasites." system))))))
+
+(defun determine-dependencies (system)
+  "Load the named system and return a sorted vector containing all the
+quicklisp systems that were loaded to satisfy dependencies.
+
+This function should probably only be called once per process!
+Subsequent calls will miss dependencies identified by earlier calls."
+  (tagbody
+   retry
+     (restart-case
+         (let ((*standard-output* (make-broadcast-stream))
+               (*trace-output* (make-broadcast-stream))
+               (*main-system* system)
+               (*track-dependencies* t))
+           (our-quickload system)
+           (quickload-parasitic-systems system))
+       (try-again ()
+         :report "Start the quickload over again"
+         (go retry))
+       (die ()
+         :report "Just give up and die"
+         (uiop:quit 1))))
+
+  ;; Systems can't depend on themselves!
+  (forget-dependency system)
+  (values))
+
+(defun parasitic-system-data (parasite-system)
+  "Return a plist of information about the given known-parastic system.
+
+Sometimes we are asked to provide information about a system that is
+actually a parasite.  The only correct response is to point them
+toward the host system.  The nix package for the host system should
+have all the dependencies for this parasite already recorded.
+
+The plist is only meant to be consumed by other parts of
+quicklisp-to-nix."
+  (let ((host-system (host-system parasite-system)))
+    (list
+     :system parasite-system
+     :host host-system
+     :name (string-downcase (format nil "~a" parasite-system))
+     :host-name (string-downcase (format nil "~a" host-system)))))
+
+(defun system-data (system)
+  "Produce a plist describing a system.
+
+The plist is only meant to be consumed by other parts of
+quicklisp-to-nix."
+  (when (host-system system)
+    (return-from system-data
+      (parasitic-system-data system)))
+
+  (determine-dependencies system)
+  (let*
+      ((dependencies (sort (found-dependencies) #'string<))
+       (parasites (coerce (sort (found-parasites) #'string<) 'list))
+       (ql-system (find-system system))
+       (ql-release (release ql-system))
+       (ql-sibling-systems (provided-systems ql-release))
+       (url (archive-url ql-release))
+       (local-archive (local-archive-file ql-release))
+       (local-url (format nil "file://~a" (pathname local-archive)))
+       (archive-data
+        (progn
+          (ensure-local-archive-file ql-release)
+          ;; Stuff this archive into the nix store.  It was almost
+          ;; certainly going to end up there anyway (since it will
+          ;; probably be fetchurl'd for a nix package).  Also, putting
+          ;; it into the store also gives us the SHA we need.
+          (nix-prefetch-url local-url)))
+       (ideal-md5 (archive-md5 ql-release))
+       (raw-dependencies (coerce dependencies 'list))
+       (name (string-downcase (format nil "~a" system)))
+       (ql-sibling-names
+        (remove name (mapcar 'name ql-sibling-systems)
+                :test 'equal))
+       (dependencies raw-dependencies)
+       (description (asdf:system-description (asdf:find-system system)))
+       (release-name (short-description ql-release)))
+    (list
+     :system system
+     :description description
+     :sha256 (getf archive-data :sha256)
+     :url url
+     :md5 ideal-md5
+     :name name
+     :dependencies dependencies
+     :siblings ql-sibling-names
+     :release-name release-name
+     :parasites parasites)))
+
+(defvar *error-escape-valve* *error-output*
+  "When `*error-output*' is rebound to inhibit spew, this stream will
+still produce output.")
+
+(defun print-usage-and-quit ()
+  "Describe how to use this program... and then exit."
+  (format *error-output* "Usage:
+    ~A [--cacheDir <dir>] [--silent] [--debug] [--help|-h] <system-name>
+Arguments:
+    --cacheDir Store (and look for) compiled lisp files in the given directory
+    --verbose Show compilation output
+    --debug Enter the debugger when a fatal error is encountered
+    --help Print usage and exit
+    <system-name> The quicklisp system to examine
+" (or (uiop:argv0) "quicklisp-to-nix-system-info"))
+  (uiop:quit 2))
+
+(defun main ()
+  "Make it go."
+  (let ((argv (uiop:command-line-arguments))
+        cache-dir
+        target-system
+        verbose-p
+        debug-p)
+    (handler-bind
+        ((warning
+          (lambda (w)
+            (format *error-escape-valve* "~A~%" w)))
+         (error
+          (lambda (e)
+            (if debug-p
+                (invoke-debugger e)
+                (progn
+                  (format *error-escape-valve* "~
+Failed to extract system info. Details are below. ~
+Run with --debug and/or --verbose for more info.
+~A~%" e)
+                  (uiop:quit 1))))))
+      (loop :while argv :do
+         (cond
+           ((equal "--cacheDir" (first argv))
+            (pop argv)
+            (unless argv
+              (error "--cacheDir expects an argument"))
+            (setf cache-dir (first argv))
+            (pop argv))
+
+           ((equal "--verbose" (first argv))
+            (setf verbose-p t)
+            (pop argv))
+
+           ((equal "--debug" (first argv))
+            (setf debug-p t)
+            (pop argv))
+
+           ((or (equal "--help" (first argv))
+                (equal "-h" (first argv)))
+            (print-usage-and-quit))
+
+           (t
+            (setf target-system (pop argv))
+            (when argv
+              (error "Can only operate on one system")))))
+
+      (unless target-system
+        (print-usage-and-quit))
+
+      (when cache-dir
+        (setf cache-dir (pathname-as-directory (parse-namestring cache-dir))))
+
+      (with-quicklisp (dir) (:cache-dir (or cache-dir :temp))
+        (declare (ignore dir))
+
+        (let (system-data)
+          (let ((*error-output* (if verbose-p
+                                    *error-output*
+                                    (make-broadcast-stream)))
+                (*standard-output* (if verbose-p
+                                       *standard-output*
+                                       (make-broadcast-stream)))
+                (*trace-output* (if verbose-p
+                                    *trace-output*
+                                    (make-broadcast-stream))))
+            (format *error-output*
+                    "quicklisp-to-nix-system-info ~A~%ASDF ~A~%Quicklisp ~A~%Compiler ~A ~A~%"
+                    *version*
+                    (asdf:asdf-version)
+                    (funcall (intern "CLIENT-VERSION" :ql))
+                    (lisp-implementation-type)
+                    (lisp-implementation-version))
+            (setf system-data (system-data target-system)))
+
+          (cond
+            (system-data
+             (format t "~W~%" system-data)
+             (uiop:quit 0))
+            (t
+             (format *error-output* "Failed to determine system data~%")
+             (uiop:quit 1))))))))
+
+(defun dump-image ()
+  "Make an executable"
+  (setf uiop:*image-entry-point* #'main)
+  (setf uiop:*lisp-interaction* nil)
+  (uiop:dump-image "quicklisp-to-nix-system-info" :executable t))
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix/top-package.emb b/pkgs/development/lisp-modules/quicklisp-to-nix/top-package.emb
index 95b60df0d017..9ba7a89eb253 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix/top-package.emb
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix/top-package.emb
@@ -8,7 +8,6 @@ let quicklisp-to-nix-packages = rec {
 <% @loop invocations %>
 <% @var code %>
 <% @endloop %>
-} // qlAliases {inherit quicklisp-to-nix-packages;};
-qlAliases = import ./quicklisp-to-nix-aliases.nix;
+};
 in
    quicklisp-to-nix-packages
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix/util.lisp b/pkgs/development/lisp-modules/quicklisp-to-nix/util.lisp
new file mode 100644
index 000000000000..7b4043042735
--- /dev/null
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix/util.lisp
@@ -0,0 +1,178 @@
+(defpackage :ql-to-nix-util
+  (:use :common-lisp)
+  (:export #:nix-prefetch-url #:wrap #:pathname-as-directory #:copy-directory-tree #:with-temporary-directory #:sym #:with-temporary-asdf-cache #:with-asdf-cache)
+  (:documentation
+   "A collection of useful functions and macros that ql-to-nix will use."))
+(in-package :ql-to-nix-util)
+
+(declaim (optimize (debug 3) (speed 0) (space 0) (compilation-speed 0) (safety 3)))
+
+;; This file cannot have any dependencies beyond quicklisp and asdf.
+;; Otherwise, we'll miss some dependencies!
+
+(defun pathname-as-directory (pathname)
+  "Given a pathname, make it into a path to a directory.
+
+This is sort of like putting a / at the end of the path."
+  (unless (pathname-name pathname)
+    (return-from pathname-as-directory pathname))
+  (let* ((old-dir (pathname-directory pathname))
+         (old-name (pathname-name pathname))
+         (old-type (pathname-type pathname))
+         (last-dir
+          (cond
+            (old-type
+             (format nil "~A.~A" old-name old-type))
+            (t
+             old-name)))
+         (new-dir (if old-dir
+                      (concatenate 'list old-dir (list last-dir))
+                      (list :relative last-dir))))
+
+    (make-pathname :name nil :directory new-dir :type nil :defaults pathname)))
+
+(defvar *nix-prefetch-url-bin*
+  (namestring (merge-pathnames #P"bin/nix-prefetch-url" (pathname-as-directory (uiop:getenv "nix-prefetch-url"))))
+  "The path to the nix-prefetch-url binary")
+
+(defun nix-prefetch-url (url &key expected-sha256)
+  "Invoke the nix-prefetch-url program.
+
+Returns a plist with two keys.
+:sha256 => The sha of the fetched file
+:path => The path to the file in the nix store"
+  (when expected-sha256
+    (setf expected-sha256 (list expected-sha256)))
+  (let* ((stdout
+          (with-output-to-string (so)
+            (uiop:run-program
+             `(,*nix-prefetch-url-bin* "--print-path" ,url ,@expected-sha256)
+             :output so)))
+         (stream (make-string-input-stream stdout)))
+    (list
+     :sha256 (read-line stream)
+     :path (read-line stream))))
+
+(defmacro wrap (package symbol-name)
+  "Create a function which looks up the named symbol at runtime and
+invokes it with the same arguments.
+
+If you can't load a system until runtime, this macro gives you an
+easier way to write
+    (funcall (intern \"SYMBOL-NAME\" :package-name) arg)
+Instead, you can write
+    (wrap :package-name symbol-name)
+    (symbol-name arg)"
+  (let ((args (gensym "ARGS")))
+    `(defun ,symbol-name (&rest ,args)
+       (apply (sym ',package ',symbol-name) ,args))))
+
+(defun copy-directory-tree (src-dir target-dir)
+  "Recursively copy every file in `src-dir' into `target-dir'.
+
+This function traverses symlinks."
+  (when (or (not (pathname-directory target-dir))
+            (pathname-name target-dir))
+    (error "target-dir must be a dir"))
+  (when (or (not (pathname-directory src-dir))
+            (pathname-name src-dir))
+    (error "src-dir must be a dir"))
+  (let ((src-wild (make-pathname :name :wild :type :wild :defaults src-dir)))
+    (dolist (entity (uiop:directory* src-wild))
+      (if (pathname-name entity)
+          (uiop:copy-file entity (make-pathname :type (pathname-type entity) :name (pathname-name entity) :defaults target-dir))
+          (let ((new-target-dir
+                 (make-pathname
+                  :directory (concatenate 'list (pathname-directory target-dir) (last (pathname-directory entity))))))
+            (ensure-directories-exist new-target-dir)
+            (copy-directory-tree entity new-target-dir))))))
+
+(defun call-with-temporary-directory (function)
+  "Create a temporary directory, invoke the given function by passing
+in the pathname for the directory, and then delete the directory."
+  (let* ((dir (uiop:run-program '("mktemp" "-d") :output :line))
+         (parsed (parse-namestring dir))
+         (parsed-as-dir (pathname-as-directory parsed)))
+    (assert (uiop:absolute-pathname-p dir))
+    (unwind-protect
+         (funcall function parsed-as-dir)
+      (uiop:delete-directory-tree
+       parsed-as-dir
+       :validate
+       (lambda (path)
+         (and (uiop:absolute-pathname-p path)
+              (equal (subseq (pathname-directory path) 0 (length (pathname-directory parsed-as-dir)))
+                     (pathname-directory parsed-as-dir))))))))
+
+(defmacro with-temporary-directory ((dir-name) &body body)
+  "See `call-with-temporary-directory'."
+  `(call-with-temporary-directory (lambda (,dir-name) ,@body)))
+
+(defun sym (package sym)
+  "A slightly less picky version of `intern'.
+
+Unlike `intern', the `sym' argument can be a string or a symbol.  If
+it is a symbol, then the `symbol-name' is `intern'ed into the
+specified package.
+
+The arguments are also reversed so that the package comes first."
+  (etypecase sym
+    (symbol (setf sym (symbol-name sym)))
+    (string))
+  (intern sym package))
+
+(defvar *touch-bin*
+  (namestring (merge-pathnames #P"bin/touch" (pathname-as-directory (uiop:getenv "touch"))))
+  "Path to the touch binary.")
+
+(defvar *cache-dir* nil
+  "When asdf cache remapping is in effect (see `with-asdf-cache'),
+this stores the path to the fasl cache directory.")
+(defvar *src-dir* nil
+  "When asdf cache remapping is in effect (see `with-asdf-cache'),
+this stores the path to the source directory.
+
+Only lisp files within the source directory will have their fasls
+cached in the cache directory.")
+
+(defun remap (path prefix)
+  "Implements the cache policy described in `with-asdf-cache'."
+  (declare (ignore prefix))
+  (let* ((ql-dirs (pathname-directory *src-dir*))
+         (ql-dirs-length (length ql-dirs))
+         (path-prefix (subseq (pathname-directory path) 0 ql-dirs-length))
+         (path-postfix (subseq (pathname-directory path) ql-dirs-length)))
+    (unless (equal path-prefix ql-dirs)
+      (return-from remap path))
+    (let ((result (make-pathname :directory (concatenate 'list (pathname-directory *cache-dir*) path-postfix) :defaults path)))
+      (with-open-file (s result :direction :probe :if-does-not-exist nil)
+        (when s
+          (uiop:run-program `(,*touch-bin* ,(namestring result)))))
+      result)))
+
+(defmacro with-temporary-asdf-cache ((src-dir) &body body)
+  "Create a temporary directory, and then use it as the ASDF cache
+directory for source files in `src-dir'.
+
+See `with-asdf-cache'."
+  (let ((tmp-dir (gensym "ORIGINAL-VALUE")))
+    `(with-temporary-directory (,tmp-dir)
+       (with-asdf-cache (,src-dir ,tmp-dir)
+         ,@body))))
+
+(defmacro with-asdf-cache ((src-dir cache-dir) &body body)
+  "When ASDF compiles a lisp file in `src-dir', store the fasl in `cache-dir'."
+  (let ((original-value (gensym "ORIGINAL-VALUE")))
+    `(let ((,original-value asdf:*output-translations-parameter*)
+           (*src-dir* ,src-dir)
+           (*cache-dir* ,cache-dir))
+       (unwind-protect
+            (progn
+              (asdf:initialize-output-translations
+               '(:output-translations
+                 :INHERIT-CONFIGURATION
+                 ;; FIXME: Shouldn't we only be remaping things
+                 ;; actually in the src dir?  Oh well.
+                 (t (:function remap))))
+              ,@body)
+         (asdf:initialize-output-translations ,original-value)))))
diff --git a/pkgs/development/lisp-modules/shell.nix b/pkgs/development/lisp-modules/shell.nix
new file mode 100644
index 000000000000..8480fe573bf4
--- /dev/null
+++ b/pkgs/development/lisp-modules/shell.nix
@@ -0,0 +1,15 @@
+with import ../../../default.nix {};
+let
+self = rec {
+  name = "ql-to-nix";
+  env = buildEnv { name = name; paths = buildInputs; };
+  buildInputs = [
+    gcc stdenv
+    openssl fuse libuv mariadb libfixposix libev sqlite
+    freetds
+    lispPackages.quicklisp-to-nix lispPackages.quicklisp-to-nix-system-info
+  ];
+  CPATH = "${libfixposix}/include";
+  LD_LIBRARY_PATH = "${openssl.out}/lib:${fuse}/lib:${libuv}/lib:${libev}/lib:${mariadb}/lib:${sqlite.out}/lib:${libfixposix}/lib:${freetds}/lib";
+};
+in stdenv.mkDerivation self
diff --git a/pkgs/development/ocaml-modules/ptmap/default.nix b/pkgs/development/ocaml-modules/ptmap/default.nix
index aa44fe3d009b..7dda38620309 100644
--- a/pkgs/development/ocaml-modules/ptmap/default.nix
+++ b/pkgs/development/ocaml-modules/ptmap/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchzip, ocaml, findlib, obuild }:
 
-let version = "2.0.1"; in
+let version = "2.0.2"; in
 
 stdenv.mkDerivation {
   name = "ocaml${ocaml.version}-ptmap-${version}";
 
   src = fetchzip {
-    url = "https://github.com/UnixJunkie/ptmap/archive/v${version}.tar.gz";
-    sha256 = "09ib4q5amkac2yy0hr7yn1n1j6y10v08chh82qc70wl7s473if15";
+    url = "https://github.com/backtracking/ptmap/archive/v${version}.tar.gz";
+    sha256 = "093qax4lhpv1vcgwqh5b3pmy769hv5d8pqj1kjynh1z1xibv2qxc";
   };
 
   buildInputs = [ ocaml findlib obuild ];
diff --git a/pkgs/development/pure-modules/octave/default.nix b/pkgs/development/pure-modules/octave/default.nix
index f1a54eb50aed..8fbb1dac320d 100644
--- a/pkgs/development/pure-modules/octave/default.nix
+++ b/pkgs/development/pure-modules/octave/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, pure, octave, gcc6 }:
+{ stdenv, fetchurl, pkgconfig, pure, octave }:
 
 stdenv.mkDerivation rec {
   baseName = "octave";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "0l1mvmi3rpabzjcrk6p04rdn922mvdm9x67zby3dha5iiccc47q0";
   };
 
-  buildInputs = [ pkgconfig gcc6 ];
+  nativeBuildInputs = [ pkgconfig ];
   propagatedBuildInputs = [ pure octave ];
   makeFlags = "libdir=$(out)/lib prefix=$(out)/";
   setupHook = ../generic-setup-hook.sh;
diff --git a/pkgs/development/python-modules/marionette-harness/marionette_driver.nix b/pkgs/development/python-modules/marionette-harness/marionette_driver.nix
index 27c4d1bcb618..3f4e4e175816 100644
--- a/pkgs/development/python-modules/marionette-harness/marionette_driver.nix
+++ b/pkgs/development/python-modules/marionette-harness/marionette_driver.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "marionette_driver";
-  version = "2.2.0";
+  version = "2.3.0";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0phlb4r6xf3yv1z23kn6paxkq6fvfywj2h4gcbavg4w6jd63vd5z";
+    sha256 = "0ab9xxsp0zvckf32k84n52hpibw2c62sa2pmx821d3q0d67yv2vv";
   };
 
   propagatedBuildInputs = [ mozversion mozrunner ]; 
diff --git a/pkgs/development/python-modules/pyrtlsdr/default.nix b/pkgs/development/python-modules/pyrtlsdr/default.nix
index 4ce373ee7ad2..274e5b61c14f 100644
--- a/pkgs/development/python-modules/pyrtlsdr/default.nix
+++ b/pkgs/development/python-modules/pyrtlsdr/default.nix
@@ -2,6 +2,8 @@
 , buildPythonPackage
 , fetchPypi
 , rtl-sdr
+, pypandoc
+, pandoc
 }:
 
 buildPythonPackage rec {
@@ -14,6 +16,8 @@ buildPythonPackage rec {
     sha256 = "dd041143b68628c713c2227c78c40b0b4a0cb5d08df116f7bdc5f83c529be0e4";
   };
 
+  buildInputs = [ pypandoc pandoc ];
+
   postPatch = ''
     sed "s|driver_files =.*|driver_files = ['${rtl-sdr}/lib/librtlsdr.so']|" -i rtlsdr/librtlsdr.py
   '';
diff --git a/pkgs/development/ruby-modules/bundler/default.nix b/pkgs/development/ruby-modules/bundler/default.nix
index 1782cea20e7d..9251c4d2a415 100644
--- a/pkgs/development/ruby-modules/bundler/default.nix
+++ b/pkgs/development/ruby-modules/bundler/default.nix
@@ -4,8 +4,8 @@ buildRubyGem rec {
   inherit ruby;
   name = "${gemName}-${version}";
   gemName = "bundler";
-  version = "1.15.4";
-  sha256 = "0wl4r7wbwdq68xidfv4hhzfb1spb6lmhbspwlzrg4pf1l6ipxlgs";
+  version = "1.14.6";
+  sha256 = "0h3x2csvlz99v2ryj1w72vn6kixf7rl35lhdryvh7s49brnj0cgl";
   dontPatchShebangs = true;
 
   postFixup = ''
diff --git a/pkgs/development/ruby-modules/gem-config/default.nix b/pkgs/development/ruby-modules/gem-config/default.nix
index 90e72b168025..11ffb21cc613 100644
--- a/pkgs/development/ruby-modules/gem-config/default.nix
+++ b/pkgs/development/ruby-modules/gem-config/default.nix
@@ -22,6 +22,7 @@
 , pkgconfig , ncurses, xapian_1_2_22, gpgme, utillinux, fetchpatch, tzdata, icu, libffi
 , cmake, libssh2, openssl, mysql, darwin, git, perl, pcre, gecode_3, curl
 , libmsgpack, qt48, libsodium, snappy, libossp_uuid, lxc, libpcap, xlibs, gtk2, buildRubyGem
+, re2
 }@args:
 
 let
@@ -99,6 +100,10 @@ in
 
   gobject-introspection = attrs: { buildInputs = [ gtk2 pcre pkgconfig ]; };
 
+  grpc = attrs: {
+    buildInputs = [ openssl pkgconfig ];
+  };
+
   hitimes = attrs: {
     buildInputs =
       stdenv.lib.optionals stdenv.isDarwin
@@ -192,6 +197,10 @@ in
     '';
   };
 
+  re2 = attrs: {
+    buildInputs = [ re2 ];
+  };
+
   rmagick = attrs: {
     buildInputs = [ imagemagick pkgconfig which ];
   };
diff --git a/pkgs/development/tools/build-managers/sbt/default.nix b/pkgs/development/tools/build-managers/sbt/default.nix
index 4627a6bd312a..6d49b81bd611 100644
--- a/pkgs/development/tools/build-managers/sbt/default.nix
+++ b/pkgs/development/tools/build-managers/sbt/default.nix
@@ -2,14 +2,15 @@
 
 stdenv.mkDerivation rec {
   name = "sbt-${version}";
-  version = "1.0.0";
+  version = "1.0.1";
 
   src = fetchurl {
     urls = [
       "https://dl.bintray.com/sbt/native-packages/sbt/${version}/${name}.tgz"
       "https://github.com/sbt/sbt/releases/download/v${version}/sbt-${version}.tgz"
+      "https://cocl.us/sbt-${version}.tgz"
     ];
-    sha256 = "0njwch97g69vzxfqhlaibjwbif2vka68dssddk2jlpqlf94lzq4s";
+    sha256 = "0nhf7fksgaa8snrhfaac4n6gf29bbv59lfyiv7pr2jhbi5m9js2v";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/tools/icestorm/default.nix b/pkgs/development/tools/icestorm/default.nix
index 9bfd0123ef1d..149901b78ea4 100644
--- a/pkgs/development/tools/icestorm/default.nix
+++ b/pkgs/development/tools/icestorm/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "icestorm-${version}";
-  version = "2016.11.01";
+  version = "2017.08.31";
 
   src = fetchFromGitHub {
     owner = "cliffordwolf";
     repo = "icestorm";
-    rev = "01b9822638d60e048c295d005257daa4c147761f";
-    sha256 = "088wnf55m9ii98w8j7qc99spq95y19xw4fnnw9mxi7cfkxxggsls";
+    rev = "8354bc6086f11002cc58497f91f43200a09c13a9";
+    sha256 = "0mg6sp5ymdxmkyzmssyavsjicw0z74bn4lv1jqwxjnmynw5l0f9b";
   };
 
   buildInputs = [ python3 libftdi ];
diff --git a/pkgs/games/pokerth/default.nix b/pkgs/games/pokerth/default.nix
index 24a0281a874b..122ce3f6e2fa 100644
--- a/pkgs/games/pokerth/default.nix
+++ b/pkgs/games/pokerth/default.nix
@@ -17,7 +17,7 @@ in stdenv.mkDerivation rec {
 
   outputs = [ "out" "server" ];
 
-  qmakeFlags = [ "pokerth.pro" ];
+  qmakeFlags = [ "pokerth.pro" "DEFINES+=_WEBSOCKETPP_NOEXCEPT_TOKEN_=noexcept" ];
 
   NIX_CFLAGS_COMPILE = [ "-I${SDL.dev}/include/SDL" ];
 
diff --git a/pkgs/misc/emulators/dolphin-emu/master.nix b/pkgs/misc/emulators/dolphin-emu/master.nix
index 31e22240c3b4..ca36d16072d7 100644
--- a/pkgs/misc/emulators/dolphin-emu/master.nix
+++ b/pkgs/misc/emulators/dolphin-emu/master.nix
@@ -4,12 +4,12 @@
 , libpulseaudio ? null }:
 
 stdenv.mkDerivation rec {
-  name = "dolphin-emu-20170730";
+  name = "dolphin-emu-20170902";
   src = fetchFromGitHub {
     owner = "dolphin-emu";
     repo = "dolphin";
-    rev = "141fb0f03ca4e0d05f7ccbf3e020997097f60dbe";
-    sha256 = "1b4ygrfj1dpmyv7qqfnqrrvm96a3b68cwcnvv2pknrcpc17g52im";
+    rev = "b073db51e5f3df8c9890e09a3f4f8a2276c31e3f";
+    sha256 = "0pr5inkd7swc6s7im7axhvmkdbqidhrha2wpflnr25aiwq0dzm10";
   };
 
   cmakeFlags = ''
diff --git a/pkgs/os-specific/linux/firmware/fwupd/default.nix b/pkgs/os-specific/linux/firmware/fwupd/default.nix
index 5e109f9f46e2..455defa5823e 100644
--- a/pkgs/os-specific/linux/firmware/fwupd/default.nix
+++ b/pkgs/os-specific/linux/firmware/fwupd/default.nix
@@ -1,35 +1,53 @@
 { stdenv, fetchurl, gtk_doc, pkgconfig, gobjectIntrospection, intltool
-, libgudev, polkit, gcab, appstream-glib, gusb, sqlite, libarchive
+, libgudev, polkit, appstream-glib, gusb, sqlite, libarchive
 , libsoup, docbook2x, gpgme, libxslt, libelf, libsmbios, efivar
-, fwupdate, libgpgerror, libyaml, valgrind
+, fwupdate, libgpgerror, libyaml, valgrind, meson, libuuid, pygobject3
+, pillow, ninja, gcab, makeWrapper, glib, gdk_pixbuf
 }:
-let version = "0.8.1"; in
+let version = "0.9.6";
+    rpath = stdenv.lib.makeLibraryPath
+      [ libuuid.out
+        appstream-glib
+        glib
+        libsoup
+        gdk_pixbuf
+        libarchive.lib
+        gcab
+        sqlite.out
+        gusb
+        polkit.out
+        gpgme
+        libgpgerror
+        libelf
+        efivar
+        libsmbios
+        fwupdate
+        libgudev
+        "$out"
+      ];
+in
   stdenv.mkDerivation
     { name = "fwupd-${version}";
       src = fetchurl
         { url = "https://people.freedesktop.org/~hughsient/releases/fwupd-${version}.tar.xz";
-          sha256 = "0sq0aay5d6b0vgr7j7y4i58flbxmcbpwyw6vfwrd29fim21j6ac8";
+          sha256 = "0h3y4ygckvkjdx7yxwbm273iv84yk37ivlcf4xvq95g64vs8gfhf";
         };
       buildInputs =
         [ gtk_doc pkgconfig gobjectIntrospection intltool libgudev
-          polkit gcab appstream-glib gusb sqlite libarchive libsoup
+          polkit appstream-glib gusb sqlite libarchive libsoup
           docbook2x libxslt libelf libsmbios fwupdate libyaml valgrind
+          meson gpgme libuuid pygobject3 pillow ninja gcab makeWrapper
         ];
-      patches = [ ./localstatedir-check-perms.patch ];
-      postPatch = ''
-        sed -i -e \
-          's|/usr/bin/gpgme-config|${gpgme.dev}/bin/gpgme-config|' -e \
-          's|/usr/bin/gpg-error-config|${libgpgerror.dev}/bin/gpg-error-config|' \
-          ./configure
-      '';
+      patches = [ ./fix-missing-deps.patch ];
       preConfigure = ''
         export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${efivar}/include/efivar"
       '';
-      configureFlags =
-        [ "--with-systemdunitdir=$(out)/lib/systemd/system"
-          "--with-udevrulesdir=$(out)/lib/udev/rules.d"
-          "--localstatedir=/var"
-        ];
+      mesonFlags = [ "-Denable-colorhug=false" "-Denable-man=false" "-Denable-tests=false" "--localstatedir=/var" "-Denable-doc=false" "-Dwith-bootdir=/boot" ];
+      postFixup = ''
+        for prog in $out/bin/* $out/libexec/fwupd/*; do
+          wrapProgram "$prog" --prefix LD_LIBRARY_PATH : ${rpath}
+        done
+      '';
       enableParallelBuilding = true;
       meta =
         { license = [ stdenv.lib.licenses.gpl2 ];
diff --git a/pkgs/os-specific/linux/firmware/fwupd/fix-missing-deps.patch b/pkgs/os-specific/linux/firmware/fwupd/fix-missing-deps.patch
new file mode 100644
index 000000000000..be199227f3f8
--- /dev/null
+++ b/pkgs/os-specific/linux/firmware/fwupd/fix-missing-deps.patch
@@ -0,0 +1,114 @@
+diff -Naur fwupd-0.9.6-orig/data/meson.build fwupd-0.9.6/data/meson.build
+--- fwupd-0.9.6-orig/data/meson.build	2017-08-03 05:45:02.000000000 -0400
++++ fwupd-0.9.6/data/meson.build	2017-09-02 19:58:37.324596487 -0400
+@@ -20,7 +20,7 @@
+ )
+ 
+ install_data(['90-fwupd-devices.rules'],
+-  install_dir : join_paths(udev.get_pkgconfig_variable('udevdir'), 'rules.d')
++  install_dir : join_paths(get_option('prefix'), 'lib', 'udev', 'rules.d')
+ )
+ 
+ con2 = configuration_data()
+@@ -52,7 +52,7 @@
+     output : 'fwupd-offline-update.service',
+     configuration : con2,
+     install: true,
+-    install_dir: systemd.get_pkgconfig_variable('systemdsystemunitdir'),
++    install_dir: join_paths(get_option('prefix'), 'lib', 'systemd', 'system'),
+   )
+ endif
+ 
+@@ -63,6 +63,6 @@
+     output : 'fwupd.service',
+     configuration : con2,
+     install: true,
+-    install_dir: systemd.get_pkgconfig_variable('systemdsystemunitdir'),
++    install_dir: join_paths(get_option('prefix'), 'lib', 'systemd', 'system'),
+   )
+ endif
+diff -Naur fwupd-0.9.6-orig/libdfu/meson.build fwupd-0.9.6/libdfu/meson.build
+--- fwupd-0.9.6-orig/libdfu/meson.build	2017-08-03 05:45:02.000000000 -0400
++++ fwupd-0.9.6/libdfu/meson.build	2017-09-02 19:58:37.325596508 -0400
+@@ -23,6 +23,10 @@
+   giounix,
+   libm,
+   gusb,
++  uuid,
++  libarchive,
++  soup,
++  libgcab
+ ]
+ 
+ if get_option('enable-libelf')
+diff -Naur fwupd-0.9.6-orig/meson.build fwupd-0.9.6/meson.build
+--- fwupd-0.9.6-orig/meson.build	2017-08-03 05:45:02.000000000 -0400
++++ fwupd-0.9.6/meson.build	2017-09-02 19:59:07.406216716 -0400
+@@ -124,6 +124,7 @@
+ if polkit.version().version_compare('>= 0.114')
+   conf.set('HAVE_POLKIT_0_114', '1')
+ endif
++libgcab = dependency('libgcab-1.0')
+ gudev = dependency('gudev-1.0')
+ appstream_glib = dependency('appstream-glib', version : '>= 0.6.9')
+ gusb = dependency('gusb', version : '>= 0.2.9')
+@@ -200,7 +201,7 @@
+                         'fwupd-plugins-2')
+ conf.set_quoted('PLUGINDIR', plugin_dir)
+ 
+-conf.set_quoted('SYSCONFDIR', get_option('sysconfdir'))
++conf.set_quoted('SYSCONFDIR', '/etc')
+ conf.set_quoted('BINDIR',
+                 join_paths(get_option('prefix'),
+                            get_option('bindir')))
+@@ -227,6 +228,9 @@
+ plugin_deps += gmodule
+ plugin_deps += gusb
+ plugin_deps += soup
++plugin_deps += libarchive
++plugin_deps += uuid
++plugin_deps += libgcab
+ 
+ subdir('data')
+ subdir('docs')
+@@ -255,6 +259,3 @@
+   endif
+ endif
+ 
+-if get_option('enable-systemd')
+-  meson.add_install_script('meson_post_install.sh', systemd.get_pkgconfig_variable('systemdsystemunitdir'), localstatedir)
+-endif
+diff -Naur fwupd-0.9.6-orig/po/make-images.sh fwupd-0.9.6/po/make-images.sh
+--- fwupd-0.9.6-orig/po/make-images.sh	2017-08-03 05:45:02.000000000 -0400
++++ fwupd-0.9.6/po/make-images.sh	2017-09-02 19:58:37.328596570 -0400
+@@ -7,6 +7,7 @@
+ #
+ install -m 0755 -d ${MESON_INSTALL_DESTDIR_PREFIX}/share/locale/
+ ${MESON_SOURCE_ROOT}/po/make-images "Installing firmware update…" ${MESON_INSTALL_DESTDIR_PREFIX}/share/locale/ ${MESON_SOURCE_ROOT}/po/LINGUAS
++shopt -s nullglob
+ for x in ${MESON_INSTALL_DESTDIR_PREFIX}/share/locale/*/LC_IMAGES/*.bmp ; do
+     gzip -f ${x}
+ done
+diff -Naur fwupd-0.9.6-orig/src/meson.build fwupd-0.9.6/src/meson.build
+--- fwupd-0.9.6-orig/src/meson.build	2017-08-03 05:45:02.000000000 -0400
++++ fwupd-0.9.6/src/meson.build	2017-09-02 19:58:37.329596590 -0400
+@@ -24,6 +24,9 @@
+     polkit,
+     soup,
+     sqlite,
++    uuid,
++    libarchive,
++    libgcab
+   ],
+   link_with : fwupd,
+   c_args : [
+@@ -73,6 +76,9 @@
+     gpgme,
+     gpgerror,
+     valgrind,
++    uuid,
++    libarchive,
++    libgcab
+   ],
+   link_with : fwupd,
+   c_args : [
diff --git a/pkgs/os-specific/linux/firmware/fwupd/localstatedir-check-perms.patch b/pkgs/os-specific/linux/firmware/fwupd/localstatedir-check-perms.patch
deleted file mode 100644
index 0c1429d4f2e1..000000000000
--- a/pkgs/os-specific/linux/firmware/fwupd/localstatedir-check-perms.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naur fwupd-0.8.1-orig/src/Makefile.in fwupd-0.8.1/src/Makefile.in
---- fwupd-0.8.1-orig/src/Makefile.in	2017-02-24 02:59:23.000000000 -0500
-+++ fwupd-0.8.1/src/Makefile.in	2017-02-27 15:06:56.218901891 -0500
-@@ -1639,7 +1639,7 @@
- 		$(srcdir)/fwupd.gresource.xml
- 
- install-data-hook:
--	if test -w $(DESTDIR)$(prefix)/; then \
-+	if test -w $$(dirname $(DESTDIR)$(localstatedir)/); then \
- 		mkdir -p $(DESTDIR)$(localstatedir)/lib/fwupd; \
- 		chmod 0755 $(DESTDIR)$(localstatedir)/lib/fwupd; \
- 		mkdir -p $(DESTDIR)$(localstatedir)/cache/app-info/xmls; \
diff --git a/pkgs/os-specific/linux/firmware/fwupdate/default.nix b/pkgs/os-specific/linux/firmware/fwupdate/default.nix
index b1cbed109087..ee94ad4226e1 100644
--- a/pkgs/os-specific/linux/firmware/fwupdate/default.nix
+++ b/pkgs/os-specific/linux/firmware/fwupdate/default.nix
@@ -23,6 +23,7 @@ let version = "8"; in
           linux/libfwup.c
         sed -i 's|/usr/share|$(prefix)share|' linux/Makefile
         sed -i "s|/usr/include|$out/include|" linux/fwup.pc.in
+        find . -type f -print0 | xargs -0 sed -i -e 's|/boot/efi|/boot|g' -e 's|/boot/efi/EFI|/boot/EFI|g'
       '';
       configurePhase = ''
         arch=$(cc -dumpmachine | cut -f1 -d- | sed 's,i[3456789]86,ia32,' )
diff --git a/pkgs/os-specific/linux/jfbview/default.nix b/pkgs/os-specific/linux/jfbview/default.nix
index 6a0706106625..310cdbd1eee8 100644
--- a/pkgs/os-specific/linux/jfbview/default.nix
+++ b/pkgs/os-specific/linux/jfbview/default.nix
@@ -15,15 +15,17 @@ in
 
 stdenv.mkDerivation rec {
   name = "${package}-${version}";
-  version = "0.5.3";
+  version = "0.5.4";
 
   src = fetchFromGitHub {
-    sha256 = "18iyvisslqp5ibhix00j4y7q8fmf2a79chflimc78xf52x4m2p5q";
-    rev = version;
     repo = "JFBView";
     owner = "jichu4n";
+    rev = version;
+    sha256 = "0p12b5n07yfkmfswjdb3a4c5c50jcphl030n3i71djcq4jjvrxlw";
   };
 
+  hardeningDisable = [ "format" ];
+
   buildInputs = [
     freetype harfbuzz jbig2dec libjpeg libX11 mujs mupdf ncurses openjpeg
     openssl
diff --git a/pkgs/os-specific/linux/kernel/linux-4.9.nix b/pkgs/os-specific/linux/kernel/linux-4.9.nix
index 87b225dfd3d1..faa61372fef1 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.9.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.9.nix
@@ -1,12 +1,12 @@
 { stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.9.46";
+  version = "4.9.47";
   extraMeta.branch = "4.9";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "0arbm9l8pq7d6c1hr0c64p94qcxrxf4q4famvcm13273y3lr70r2";
+    sha256 = "1ja14l9gy7cpj94zwacr3gi4vqzfv2k78556fxga8q4lsrwrdgkm";
   };
 
   kernelPatches = args.kernelPatches;
diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix
index e5f430b4d824..0a364823640a 100644
--- a/pkgs/os-specific/linux/kernel/patches.nix
+++ b/pkgs/os-specific/linux/kernel/patches.nix
@@ -51,14 +51,6 @@ rec {
       patch = ./modinst-arg-list-too-long.patch;
     };
 
-  grsecurity_testing = throw ''
-    Upstream has ceased free support for grsecurity/PaX.
-
-    See https://grsecurity.net/passing_the_baton.php
-    and https://grsecurity.net/passing_the_baton_faq.php
-    for more information.
-  '';
-
   genksyms_fix_segfault =
     { name = "genksyms-fix-segfault";
       patch = ./genksyms-fix-segfault.patch;
diff --git a/pkgs/servers/emby/default.nix b/pkgs/servers/emby/default.nix
index 2ba0146520a4..5b749b92c037 100644
--- a/pkgs/servers/emby/default.nix
+++ b/pkgs/servers/emby/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "emby-${version}";
-  version = "3.2.28.0";
+  version = "3.2.30.0";
 
   src = fetchurl {
     url = "https://github.com/MediaBrowser/Emby/releases/download/${version}/Emby.Mono.zip";
-    sha256 = "0bv0wj7rny3gh4d6qdyd8widd549ap3fl35sz3q6w9x8sqhw5nfi";
+    sha256 = "1aqal7n4a9dvy97zw4aah9a8jm4l2v1qgjgs5kvskrvir2dbid27";
   };
 
   buildInputs = with pkgs; [
diff --git a/pkgs/tools/filesystems/irods/default.nix b/pkgs/tools/filesystems/irods/default.nix
index b5f178d59fc0..0714f2901046 100644
--- a/pkgs/tools/filesystems/irods/default.nix
+++ b/pkgs/tools/filesystems/irods/default.nix
@@ -53,11 +53,11 @@ in rec {
 
   # icommands (CLI) package, depends on the irods package
   irods-icommands = stdenv.mkDerivation (common // rec {
-     version = "4.2.0";
+     version = "4.2.1";
      name = "irods-icommands-${version}";
      src = fetchurl {
        url = "http://github.com/irods/irods_client_icommands/archive/${version}.tar.gz";
-       sha256 = "b581067c8139b5ef7897f15fc1fc79f69d2e784a0f36d96e8fa3cb260b6378ce";
+       sha256 = "1kg07frv2rf32nf53a1nxscwzgr0rpgxvp5fkmh5439knby10fqw";
      };
 
      buildInputs = common.buildInputs ++ [ irods ];
diff --git a/pkgs/tools/graphics/cuneiform/default.nix b/pkgs/tools/graphics/cuneiform/default.nix
index 28699bf69312..7e639940d07e 100644
--- a/pkgs/tools/graphics/cuneiform/default.nix
+++ b/pkgs/tools/graphics/cuneiform/default.nix
@@ -1,19 +1,25 @@
-{ stdenv, fetchbzr, cmake, patchelf, imagemagick }:
+{ stdenv, fetchurl, cmake, patchelf, imagemagick }:
 
 stdenv.mkDerivation rec {
   name = "cuneiform-${version}";
   version = "1.1.0";
 
-  src = fetchbzr {
-    url = "lp:~f0ma/cuneiform-linux/devel";
-    rev = "540";
-    sha256 = "0sj7v3plf2rrc2vzxl946h9yfribc0jfn4b3ffppghxk2g6kicsb";
+  src = fetchurl {
+    url = "https://launchpad.net/cuneiform-linux/1.1/1.1/+download/cuneiform-linux-1.1.0.tar.bz2";
+    sha256 = "1bdvppyfx2184zmzcylskd87cxv56d8f32jf7g1qc8779l2hszjp";
   };
 
-  buildInputs = [
-    cmake imagemagick
+  patches = [
+  (fetchurl {
+    url = "https://git.archlinux.org/svntogit/community.git/plain/cuneiform/trunk/build-fix.patch?id=a2ec92f05de006b56d16ac6a6c370d54a554861a";
+    sha256 = "19cmrlx4khn30qqrpyayn7bicg8yi0wpz1x1bvqqrbvr3kwldxyj";
+  })
   ];
 
+  buildInputs = [ imagemagick ];
+
+  nativeBuildInputs = [ cmake ];
+
   meta = {
     description = "Multi-language OCR system";
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/tools/typesetting/tex/texlive/combine.nix b/pkgs/tools/typesetting/tex/texlive/combine.nix
index 9af1d6a59ffd..390b7b9e5e00 100644
--- a/pkgs/tools/typesetting/tex/texlive/combine.nix
+++ b/pkgs/tools/typesetting/tex/texlive/combine.nix
@@ -15,7 +15,10 @@ let
   pkgList = rec {
     all = lib.filter pkgFilter (combinePkgs pkgSet);
     splitBin = lib.partition (p: p.tlType == "bin") all;
-    bin = mkUniquePkgs splitBin.right;
+    bin = mkUniquePkgs splitBin.right
+      ++ lib.optional
+          (lib.any (p: p.tlType == "run" && p.pname == "pdfcrop") splitBin.wrong)
+          (lib.getBin ghostscript);
     nonbin = mkUniquePkgs splitBin.wrong;
 
     # extra interpreters needed for shebangs, based on 2015 schemes "medium" and "tetex"
diff --git a/pkgs/tools/typesetting/tex/texlive/default.nix b/pkgs/tools/typesetting/tex/texlive/default.nix
index 13eb90c77af3..7665d277e38f 100644
--- a/pkgs/tools/typesetting/tex/texlive/default.nix
+++ b/pkgs/tools/typesetting/tex/texlive/default.nix
@@ -30,6 +30,7 @@ let
     inherit bin combinePkgs buildEnv fastUnique lib makeWrapper writeText
       stdenv python ruby;
     perl = perl522; # avoid issues like #26890, probably remove after texlive upgrade
+    ghostscript = ghostscriptX; # could be without X, probably, but we use X above
   };
 
   # the set of TeX Live packages, collections, and schemes; using upstream naming
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 14481a05900c..7d4cd755cb12 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -2050,7 +2050,9 @@ with pkgs;
 
   freeipmi = callPackage ../tools/system/freeipmi {};
 
-  freetalk = callPackage ../applications/networking/instant-messengers/freetalk { };
+  freetalk = callPackage ../applications/networking/instant-messengers/freetalk {
+    guile = guile_2_0;
+  };
 
   freetds = callPackage ../development/libraries/freetds { };
 
@@ -2180,6 +2182,8 @@ with pkgs;
 
   gitlab-workhorse = callPackage ../applications/version-management/gitlab-workhorse { };
 
+  gitaly = callPackage ../applications/version-management/gitaly { };
+
   gitstats = callPackage ../applications/version-management/gitstats { };
 
   gogs = callPackage ../applications/version-management/gogs { };
@@ -8418,7 +8422,7 @@ with pkgs;
 
   hwloc = callPackage ../development/libraries/hwloc {};
 
-  hydra = callPackage ../development/tools/misc/hydra { stdenv = overrideCC stdenv gcc6; };
+  hydra = callPackage ../development/tools/misc/hydra { };
 
   hydraAntLogger = callPackage ../development/libraries/java/hydra-ant-logger { };
 
@@ -11912,7 +11916,7 @@ with pkgs;
 
   dstat = callPackage ../os-specific/linux/dstat { };
 
-  fwupd = callPackage ../os-specific/linux/firmware/fwupd { inherit (gnome2) gtk_doc; };
+  fwupd = callPackage ../os-specific/linux/firmware/fwupd { inherit (gnome2) gtk_doc; inherit (python3Packages) pygobject3 pillow; };
 
   fwupdate = callPackage ../os-specific/linux/firmware/fwupdate { };
 
@@ -12392,15 +12396,6 @@ with pkgs;
   linuxPackages_hardened =
     recurseIntoAttrs (linuxPackagesFor linux_hardened);
 
-  # Grsecurity packages
-
-  linux_grsec_nixos = kernelPatches.grsecurity_testing;
-
-  linuxPackages_grsec_nixos =
-    recurseIntoAttrs (linuxPackagesFor linux_grsec_nixos);
-
-  linux_grsec_server_xen = linux_grsec_nixos;
-
   # Samus kernels
   linuxPackages_samus_4_12 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_samus_4_12);
   linuxPackages_samus_latest = recurseIntoAttrs (linuxPackagesFor pkgs.linux_samus_latest);
@@ -14991,6 +14986,8 @@ with pkgs;
     go = go_1_7;
   };
 
+  kupfer = callPackage ../applications/misc/kupfer { };
+
   lame = callPackage ../development/libraries/lame { };
 
   larswm = callPackage ../applications/window-managers/larswm { };
@@ -16329,7 +16326,6 @@ with pkgs;
 
   tdesktop = qt5.callPackage ../applications/networking/instant-messengers/telegram/tdesktop {
     inherit (pythonPackages) gyp;
-    gcc = gcc6;
   };
 
   telegram-cli = callPackage ../applications/networking/instant-messengers/telegram/telegram-cli { };
@@ -18360,7 +18356,6 @@ with pkgs;
   };
 
   z3 = callPackage ../applications/science/logic/z3 {};
-  z3_opt = callPackage ../applications/science/logic/z3_opt {};
 
   boolector = callPackage ../applications/science/logic/boolector {};
 
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 97265230beb9..5ef570bc5e02 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -27898,7 +27898,8 @@ EOF
     installPhase = ''
       mkdir -p $out/bin $out/libexec
       cp smugline.py $out/libexec
-      makeWrapper "${python.interpreter} $out/libexec/smugline.py" $out/bin/smugline \
+      makeWrapper ${python.interpreter} $out/bin/smugline \
+        --add-flags "$out/libexec/smugline.py" \
         --prefix PYTHONPATH : "$PYTHONPATH"
     '';
   };