about summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development')
-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
252 files changed, 5583 insertions, 7572 deletions
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 ];