2013-11-11

November 2013 Quicklisp dist update now available.

New projects: cl-db3, cl-read-macro-tokens, cl-rethinkdb, cl-tidy, envy, hunchentoot-single-signon, qmynd, sxql, trivial-channels, weblocks-examples, weblocks-utils, wookie.

Updated projects: access, antik, asdf-package-system, ayah-captcha, bknr-datastore, buildapp, caveman, cl-6502, cl-annot, cl-async, cl-async-future, cl-autowrap, cl-cairo2, cl-closure-template, cl-date-time-parser, cl-dbi, cl-emb, cl-fastcgi, cl-fbclient, cl-fgraph, cl-fuse, cl-fuse-meta-fs, cl-gdata, cl-glfw3, cl-gss, cl-html-parse, cl-iconv, cl-indeterminism, cl-launch, cl-memcached, cl-messagepack, cl-oauth, cl-parser-combinators, cl-paymill, cl-pdf, cl-randist, cl-secure-read, cl-slice, cl-spark, cl-tuples, clack, clfswm, closer-mop, clsql-fluid, clsql-helper, com.informatimago, common-lisp-stat, commonqt, conduit-packages, contextl, daemon, drakma, dynamic-collect, elf, esrap-peg, fare-quasiquote, fare-utils, fiveam, gbbopen, graph, gsll, hu.dwim.perec, hu.dwim.rdbms, hu.dwim.stefil, hu.dwim.util, hu.dwim.walker, hunchentoot, inferior-shell, inotify, l-math, letrec, lisp-interface-library, lisphys, local-time, lparallel, lquery, lw-compat, macroexpand-dammit, memoize, mgl, mixalot, ningle, open-vrp, opticl, pooler, postmodern, pzmq, quicksearch, readable, repl-utilities, restas, rfc2109, sb-fastcgi, series, shelly, simple-currency, slime, smackjack, snappy, snmp, spatial-trees, spinneret, stmx, string-case, tagger, uiop, vgplot, weblocks, weblocks-stores, weblocks-tree-widget.

Removed projects: xcvb.

To get the update, use (ql:update-dist "quicklisp").

Enjoy!

2013-10-19

Forks and Quicklisp

Each project in Quicklisp is drawn from a particular upstream source. For example, clsql comes from http://git.b9.com/clsql.git, vecto comes from http://xach.com/lisp/vecto.tgz, and alexandria comes from git://common-lisp.net/projects/alexandria/alexandria.git.

This information is tracked in a project on github.

If you find a bug in a project, you can report the bug to the maintainer and wait for them to fix it. After it's fixed, the next release of Quicklisp will include the fixed version. (If you're extra-nice, you can submit a patch along with a bug report to get it fixed more quickly.) That doesn't require any intervention or changes in Quicklisp.

What if the maintainer does not fix the problem? There could be a number of reasons for this, including a lack of time, lack of interest, missed communication, etc. The situation might be temporary or permanent. In some cases, the maintainer is unreachable and the project is effectively abandoned. Whatever the case, it may be time for a new maintainer and home for the project. If there is a new home for the project, Quicklisp's tracking information must be updated.

I prefer information about this change to come from the original maintainer. That is, I do not really like to get emails like this:
Hello, the fooble project has a bug that breaks the barble project. Please use my fixed version at ...
I would much rather get an email like this:
Hello, I created the fooble project but will not be working on it any more. The new maintainer is making updates in a new repo at ...
This is next best:
Hello, I contacted the original maintainer of the fooble project and have agreed to become the new maintainer. The new repo is at ...
This isn't feasible if the original maintainer is unavailable or unresponsive for a long period of time. But I would like to see an effort to make this kind of transition before updating Quicklisp. So this kind of email is third best:
Hello, I tried to contact the original maintainer of the fooble project but haven't heard anything back in months. I would like to be the new maintainer and the new repo, with fixes, is at ...
Thanks!

update pjb brings up an important point in a comment: A fork of a project is perfectly fine if given a new name!

2013-10-05

October 2013 Quicklisp dist update now available

New projects: asdf-package-system, ayah-captcha, cl-binaural, cl-fgraph, cl-larval, cl-ply, cl-server-manager, cl-spark, curry-compose-reader-macros, drakma-async, draw-cons-tree, filtered-functions, graph, lisphys, mailbox, map-set, oneliner, pooler, readable, simple-currency, smackjack, snappy, spellcheck, tagger.

Updated projects: algebraic-data-library, antik, bt-semaphore, buildnode, caveman, city-hash, cl+ssl, cl-6502, cl-annot, cl-async, cl-async-future, cl-autowrap, cl-bencode, cl-cairo2, cl-closure-template, cl-css, cl-curlex, cl-data-format-validation, cl-dbi, cl-decimals, cl-dot, cl-epmd, cl-erlang-term, cl-fbclient, cl-gdata, cl-grace, cl-gss, cl-iconv, cl-jpeg, cl-markup, cl-memcached, cl-mongo, cl-mssql, cl-opengl, cl-parser-combinators, cl-paymill, cl-portaudio, cl-smtp, cl-test-more, cl-twitter, clack, cleric, clfswm, clinch, closer-mop, clsql-helper, clx, coleslaw, com.google.base, com.informatimago, commonqt, conduit-packages, dartsclhashtree, declt, eos, esrap, external-program, f2cl, firephp, gbbopen, gettext, hh-web, http-parse, lisp-gflags, lisp-interface-library, lisp-unit, log4cl, lparallel, lquery, macroexpand-dammit, marching-cubes, memoize, nibbles, opticl, optima, periods, postmodern, protobuf, py-configparser, quicksearch, rcl, repl-utilities, restas, retrospectiff, shadchen, shelly, sip-hash, slime, stmx, string-case, swank-client, swank-crew, trivial-gray-streams, trivial-ldap, trivial-tco, uiop, vgplot, weblocks, weblocks-stores, weblocks-tree-widget.

Removed projects: weblocks-utils.

I have reverted macroexpand-dammit to its original source, from John Fremlin. Hopefully that will clear up some recent problems.

2013-08-31

Wish list: parallel fetching in Quicklisp Controller

Fetching updates for all the projects in Quicklisp takes a long time. For each project it does a "git pull" or "svn update" or equivalent, depending on how the project is managed. It does this one at a time, serially.

There's no reason it couldn't do more than one update at a time. An ideal system would fetch some of the projects in parallel, taking care not to fetch multiple projects from the same site at a time. For example, there are dozens and dozens of github-hosted projects, but the Quicklisp controller should only have one github connection open at a time. Same with common-lisp.net, dwim.hu, bitbucket, and the same for other sites that host multiple projects.

It's possible that lparallel or lfarm could help with this task.

Are you up for adding this feature to quicklisp-controller? Hacks and glory await!

update Orivej Desh has done it! Thanks Orivej!

2013-08-27

Quicklisp Controller source now available

Quicklisp Controller, the software I use to create Quicklisp dists, is now on github. It has modest documentation, and isn't really in a state that anyone could casually pick up and use, but it's now available.

I meant to do this last year after my talk at the Boston Lisp Meeting, but procrastinated. No longer. Feel free to check it out.

There's also a smaller, weirder program I use to upload the dist to Amazon: quicklisp-dist.

2013-08-14

August 2013 dist update now available

New projects: cl-autowrap, cl-date-time-parser, cl-ledger, cl-paymill, cl-string-match, epigraph, trivial-tco, vgplot.

Updated projects: access, asdf-dependency-grovel, bt-semaphore, cl-6502, cl-async, cl-bencode, cl-cairo2, cl-enchant, cl-fbclient, cl-gendoc, cl-grace, cl-gss, cl-html-parse, cl-opengl, cl-redis, clfswm, closer-mop, clsql-helper, clws, coleslaw, com.informatimago, common-lisp-stat, commonqt, css-selectors, diff, esrap, exscribe, fs-watcher, gbbopen, gendl, hu.dwim.debug, hu.dwim.def, hu.dwim.perec, hu.dwim.quasi-quote, hu.dwim.stefil, hunchentoot, lfarm, lisp-executable, lisp-unit, lquery, macroexpand-dammit, optima, quicksearch, rfc3339-timestamp, shelly, simple-date-time, spinneret, stmx, swank-crew, uiop, uuid, weblocks, weblocks-utils.

Renamed projects: cl-hctsmsl has been renamed hctsmsl.

I built this dist with ASDF 3. In the near future, Quicklisp will provide ASDF 3 on systems where it is not present. Please let me know if you have any trouble loading anything.

If you'd like to search for useful Quicklisp libraries, I encourage you to give Quickdocs a try!

2013-07-22

July 2013 Quicklisp dist update now available

New projects: bt-semaphore, cl-dsl, cl-epmd, cl-glfw3, cl-hctsmsl, cl-indeterminism, consix, fs-watcher, lquery, quicksearch, quickutil, towers, weblocks-tree-widget.

Updated projects: advanced-readtable, antik, buildapp, caveman, cl-6502, cl-algebraic-data-type, cl-async-future, cl-closure-template, cl-curlex, cl-data-format-validation, cl-decimals, cl-devil, cl-enchant, cl-erlang-term, cl-fad, cl-fbclient, cl-generic-arithmetic, cl-gss, cl-ltsv, cl-mongo, cl-mssql, cl-murmurhash, cl-openal, cl-protobufs, cl-sanitize, cl-twitter, clack, cleric, clinch, closer-mop, clsql-helper, clsql-orm, colorize, com.informatimago, commonqt, dartsclhashtree, dbus, djula, do-urlencode, docbrowser, drakma, elf, esrap, garbage-pools, gbbopen, gendl, inferior-shell, inotify, lfarm, local-time, log4cl, lparallel, lredis, marshal, new-op, nst, osicat, postmodern, pzmq, restas, rfc2388, rutils, salza2, shadchen, shelly, slime, spinneret, stmx, stringprep, thnappy, uiop, usocket, utilities.print-items, vecto, weblocks, weblocks-stores, weblocks-utils, wuwei, zpb-ttf, zs3.

Removed projects: cl-seek-project.