Projects on the bubble

This month there are a number of projects that may be dropped from Quicklisp. They are hosted by Google Code and SourceForge, and the projects no longer check out properly. They are:
Each of these projects was downloaded between 4 and 6 times in the month of September. (No project in the entire dist was downloaded fewer than 4 times.)

I'm going to do some build-testing and see how widely this will impact other projects. If the damage is minimal, they will simply be dropped.

If you maintain (or want to maintain) one of these projects and want to see it remain in Quicklisp, please update its hosting and then get in touch.


September 2016 Quicklisp dist update now available

New projects:
  • 3d-matrices — A utility library implementing 2x2, 3x3, 4x4, and NxN matrix functionality. — Artistic
  • a-cl-logger — A logger that sends to multiple destinations in multiple formats. Based on arnesi logger — BSD
  • alexa — A lexical analyzer generator — BSD 3-clause (See LICENSE.txt)
  • beast — Basic Entity/Aspect/System Toolkit — MIT/X11
  • cl-ascii-art — Ascii Art generating routines. — GPLv3
  • cl-bootstrap — Twitter Bootstrap widget library for Common Lisp — MIT
  • cl-cuda — Cl-cuda is a library to use NVIDIA CUDA in Common Lisp programs. — LLGPL
  • cl-kanren — A minikanren implementation — BSD
  • easy-audio — A pack of audio decoders for FLAC, WavPack and other formats — 2-clause BSD
  • fxml — Fork of CXML. — LLGPL
  • infix-math — An extensible infix syntax for math in Common Lisp. — MIT
  • mgl-mat — MAT is library for working with multi-dimensional arrays which supports efficient interfacing to foreign and CUDA code. BLAS and CUBLAS bindings are available. — MIT
  • parachute — An extensible and cross-compatible testing framework. — Artistic
  • scalpl — market maker + APIs to several Bitcoin exchanges — public domain
  • trivial-mmap — A library providing an easy-to-use API for working with memory-mapped files. — Public Domain
  • utility-arguments — Utility to handle command-line arguments. — ICS
Updated projects3d-vectorsacclimationarchitecture.service-providerarray-utilsarrow-macrosbknr-datastorecarriercaveman2-widgetscellschanlchirpcl-anacl-bloomcl-coroutinecl-freeimagecl-gamepadcl-glfw3cl-inotifycl-interpolcl-ixfcl-lexcl-monitorscl-mpg123cl-mtgnetcl-neovimcl-oclapicl-openglcl-out123cl-packcl-rabbitclackclfswmclipclobbercloser-mopclssclxcodexcoleslawcolleencroatoancrypto-shortcutsdeedsdeferreddexadordissectdocumentation-utilsesrapfare-scriptsfile-typesflareforform-fiddlegbbopengendlgenevahu.dwim.bluezhu.dwim.sdlhumblerinferior-shellinlined-generic-functionkenzolacklakelambda-fiddlelasslegitlisp-invocationlquerymaxpcmcclimmitomito-authmodularizemodularize-hooksmodularize-interfacesmore-conditionsmpcpathname-utilspgloaderpipingplumpplump-bundleplump-sexppostmodernptesterpurlqlotqt-libsqtoolsqtools-uiqueen.lispquriracerrandom-stateratifyredirect-streamrtg-mathrutilsserapeumsha3simple-inferiorssimple-taskssnoozesoftdrinksouthspinneretstaplestatic-vectorsstumpwmswap-bytestriviatrivial-argumentstrivial-benchmarktrivial-indenttrivial-main-threadtrivial-mimestrivial-rfc-1123trivial-thumbnailubiquitousutilities.binary-dumputilities.print-itemsverboseweblocksweblocks-prototype-jswith-cached-reader-conditionalswoozenekindarl.

Removed projects: agm, ax.tga, cl-ecs, cl-marklogic, com.informatimago.

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



August 2016 Quicklisp dist update now available

New projects:
  • assoc-utils — Utilities for manipulating association lists — Public Domain
  • caveman2-widgets-bootstrap — An extension to caveman2-widgets which enables the simple usage of Twitter Bootstrap. — LLGPL
  • cells — A Common Lisp implementation of the dataflow programming paradigm — LLGPL
  • cl-mpg123 — Bindings to libmpg123, providing cross-platform, fast MPG1/2/3 decoding. — Artistic
  • cl-neovim — Common Lisp client for Neovim — MIT
  • cl-out123 — Bindings to libout123, providing cross-platform audio output. — Artistic
  • cl-soil — A thin binding over libSOIL.so which allows easy loading of images — BSD 2 Clause
  • cl-sxml — SXML parsing for Common Lisp — GNU General Public License
  • clump — Library for operations on different kinds of trees — FreeBSD, see file LICENSE.text
  • dirt — A front-end for cl-soil which loads images straight to cepl:c-arrays and cepl:textures — BSD 2 Clause
  • ext-blog — A BLOG engine which supports custom theme — BSD
  • for — An extensible iteration macro library. — Artistic
  • git-file-history — Retrieve a file's commit history in Git. — MIT
  • illogical-pathnames — Mostly filesystem-position-independent pathnames. — BSD 3-clause (See illogical-pathnames.lisp)
  • maxpc — Max's Parser Combinators: a simple and pragmatic library for writing parsers and lexers based on combinatory parsing. — GNU Affero General Public License
  • parse-front-matter — Parse front matter. — MIT
  • path-string — A path utility library — MIT
  • pseudonyms — Relative package nicknames through macros — FreeBSD (BSD 2-clause)
  • quantile-estimator.cl — Common Lisp implementation of Graham Cormode and S. Muthukrishnan's Effective Computation of Biased Quantiles over Data Streams in ICDE'05 — MIT
  • queen.lisp — Chess utilities for Common Lisp — MIT
  • read-number — Definitions for reading numbers from an input stream. — Modified BSD License
  • simple-gui — A declarative GUI definition tool for Common Lisp — BSD
  • slack-client — Slack Real Time Messaging API Client — Apache-2.0
  • trivial-rfc-1123 — minimal parsing of rfc-1123 date-time strings — MIT
  • with-cached-reader-conditionals — Read whilst collection reader conditionals — BSD 2 Clause
Updated projects3bmd3d-vectorsagmalexandriabinfixburgled-batteriescavemancaveman2-widgetsceplcepl.cameracepl.devilcepl.sdl2cepl.skitterceramicchirpcity-hashcl-anacl-asynccl-azurecl-conspackcl-ecscl-fadcl-gamepadcl-gracecl-influxdbcl-jpegcl-libuvcl-messagepackcl-messagepack-rpccl-mpicl-mtgnetcl-oclapicl-openglcl-openstack-clientcl-packcl-quickcheckcl-rediscl-rethinkdbcl-scancl-sdl2cl-smtpcl-stringscl-tokyo-cabinetcl-unificationcl-yaclyamlcl-yamlclackclassimpclmlclos-fixturescloser-mopclxclx-truetypecoleslawcollectorscorona,croatoandbusdendritedexadordissectdjulaeazy-gnuplotesrapexscribeexternal-programfare-memoizationfare-scriptsfiveamflarefngendlgenevaglkitglsl-specgslliteratejson-mopkenzo,lacklambda-fiddlelisp-namespacelispbuilderlparallelmcclimmel-baseneo4cloclclopticlosicatprometheus.clproveqlotqt-libsqtoolsqtools-uiquickapprandom-staterclremote-jsrestasrtg-mathserapeumsip-hashskitterspinneretsquirlstumpwmtreedbtriviatrivial-documentationtrivial-nntptrivial-open-browsertrivial-wstrivialib.type-unifyubiquitousugly-tiny-infix-macro,utilities.print-itemsutilities.print-treevarjovgplotvomweblocksweblocks-utilswoowu-sugar.

Removed projects: scalpl.


June 2016 Quicklisp dist update now available

New projects:
  • cl-libfarmhash — Common Lisp Binding for Google's Farmhash. — MIT
  • cl-libhoedown — Common Lisp Binding for Hoedown. — MIT
  • cl-sat — Common Lisp API to Boolean SAT Solvers — LLGPL
  • cl-sat.glucose — CL-SAT instance to Glucose state-of-the-art SAT solver. This downloads the later 2014 version (2nd in the 2014 SAT competition). — LLGPL
  • cl-sat.minisat — Common Lisp API to minisat — LLGPL
  • floating-point-contractions — Numerically stable contractions of floating-point operations. — MIT
  • metering — Portable Code Profiling Tool — Public Domain
  • neo4cl — Basic library for interacting with Neo4J — MIT license
  • network-addresses — A network addresses manipulation library. — MIT
  • ugly-tiny-infix-macro — A tiny and simple macro to allow writing binary operations in infix notation — Apache License, Version 2.0
Updated projects3d-vectorsacclimationarchitecture.service-providercaveman2-widgetscity-hashcl-anacl-asynccl-autowrapcl-conspackcl-hash-utilcl-htmlpragcl-i18ncl-messagepack-rpccl-monitorscl-mysqlcl-oclapicl-odecl-rediscl-scancl-sdl2clackclack-static-asset-middlewareclinchcloser-mopcopy-directorycss-selectorsdeedsdefpackage-plusdjulaeazy-projectepigraphesrap-liquidexscribefast-iofixedglkitglsl-specgsllhash-setinlined-generic-functionlegitlocal-timelquerymap-setmcclimminheapmontezumaoclclprometheus.clqt-libsrestasscribblesdl2kitserapeumsmart-bufferspinneretsquirltriviatrivial-nntptrivial-openstacktrivial-wstrivial-yencubiquitousutilities.binary-dumputilities.print-treeverbosevomweblocksweblocks-utilswoowookiewu-sugarzs3.

Removed projectsbackportsext-blogstp-query, and stringprep have all been abandoned by their author and deleted from github. cells no longer builds on SBCL, and ext-blog no longer builds at all.

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

The big Quicklisp fundraiser is still in limbo. Until it happens, if you want to contribute a little every month, see the (unfortunately PayPal-only) donations page.


May 2016 Quicklisp dist update now available

New projects:
  • cl-ecs — An implementation of the Entity-Component-System pattern mostly used in game development. — MIT
  • cl-htmlprag — A port of Neil Van Dyke's famous HTMLPrag library to Common Lisp. — LGPL 2.1
  • cl-messagepack-rpc — A Common Lisp implementation of the MessagePack-RPC specification, which uses MessagePack serialization format to achieve efficient remote procedure calls (RPCs). — MIT
  • cl-monitors — Bindings to libmonitors, allowing the handling of monitors querying and resolution changing. — Artistic
  • cl-oclapi — Yet another OpenCL API bindings for Common Lisp. — MIT
  • cl-pack — Perl compatible binary pack() and unpack() library — BSD-3-Clause
  • cl-scan — port scanner. — ISC
  • cl-scsu — An implementation of 'Standard Compression Scheme for Unicode'. — MIT
  • clack-static-asset-middleware — A cache busting static file middleware for the clack web framework. — MIT
  • easing — Easing functions. — MIT
  • fare-scripts — Various small programs that I write in CL in lieu of shell scripts — MIT
  • fixed — A fixed-point number type. — MIT
  • focus — Customizable FORMAT strings and directives — BSD
  • glsl-spec — The GLSL Spec as a datastructure — The Unlicense
  • injection — Dependency injection for Common Lisp — GPLv3
  • json-mop — A metaclass for bridging CLOS and JSON — LGPLv3+
  • leveldb — LevelDB bindings for Common Lisp. — BSD
  • moira — Monitor and restart background threads. — MIT
  • recursive-restart — Restarts that can invoke themselves. — MIT
  • trivial-nntp — Simple tools for interfacing to NNTP servers — MIT
  • trivial-openstack — A simple Common Lisp OpenStack REST client. — MIT
  • trivial-yenc — Decode yenc file to a binary file — MIT
  • weblocks-prototype-js — Weblocks JavaScript backend for PrototypeJs — LLGPL
Updated projects3d-vectorsbackportsbinfixbit-smasherblackbirdcaveman2-widgetsceplcepl.cameracepl.devilcl-anacl-autowrapcl-bloomcl-cairo2cl-charmscl-dotcl-erlang-termcl-gamepadcl-geometrycl-hash-table-destructuringcl-html5-parsercl-i18ncl-jpegcl-liballegrocl-libssh2cl-mediawikicl-mongocl-mpicl-ohmcl-pangocl-projectcl-qrencodecl-rediscl-sdl2cl-seleniumcl-storeclackcloser-mopcoleslawcroatoandeedsdissectdjula,esrapexscribefemlispfiascofirephpflareform-fiddleglkitglopgraphhalftonehelambdaphl7-parserhu.dwim.partial-evalhu.dwim.quasi-quotehu.dwim.utilkenzolegitlisp-interface-librarylisp-namespacelisp-unit2mcclimoclcl,pathname-utilspzmqqt-libsqtoolsqtools-uiquery-fsqueuesrclrestasrtg-mathrutilsscalplsdl2kitserapeumsimple-taskssketchskitterslimesnakesstp-querystringprepstumpwmtemporal-functionstriviatrivial-backtracetrivial-benchmarktrivial-string-templatetrivialib.bddubiquitousutilities.print-treevarjoverbosevgplotweblocksweblocks-storesxhtmlambdazs3.

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

You didn't miss it -- there wasn't a fundraiser in April. Or May, either. I've got my fingers crossed to see one soon, but I'm not sure exactly when it might happen. Stay tuned!


April 2016 Quicklisp dist update now available.

Quicklisp's 67th monthly update is now available!

 Thank you to all the people who signed up for the recurring Supporter Club in the last month. The "big" fundraiser is still in the works, and I'll let you know more when there's more info to share.

New projects:
  • caveman2-widgets — Weblocks like widgets for caveman2. — LLGPL
  • cl-gamepad — Bindings to libstem_gamepad, allowing the handling of gamepad input. — Artistic
  • cl-geos — A CFFI wrapper of GEOS for performing geometric operations in Lisp. — Lisp-LGPL
  • cl-hash-table-destructuring — Hash table destructuring utils — WTFPL
  • cl-statsd — Statsd client in Common Lisp — MIT
  • cl-vhdl — My attempt to understand VHDL, and basicly make VHDL with Lisp-macro — MIT
  • electron-tools — Download, extract, and run Electron binaries. — MIT
  • flare — Easy particle systems with fine grained control. — Artistic
  • inlined-generic-function — MOP implementation of the fast inlinable generic functions dispatched in compile-time — LLGPL
  • liblmdb — Low-level LMDB bindings. — MIT
  • lmdb — Bindings to LMDB. — MIT
  • oclcl — oclcl is a library S-expression to OpenCL C. — LLGPL
  • prbs — A library of higher-order functions for generating Pseudo-Random Binary Sequences of (practically) any degree — MIT
  • prometheus.cl — Prometheus.io Common Lisp client — MIT
  • random-state — Portable random number generation. — Artistic
  • remote-js — Send JavaScript from Common Lisp to a browser. — MIT
  • sketch — Sketch is a Common Lisp framework for the creation of electronic art, computer graphics, visual design, game making and more. It is inspired by Processing and OpenFrameworks. — MIT
  • tm — Formalized Iteration Library for Common LISP — MIT
  • trivial-compress — Compress a directory. — MIT
  • trivial-string-template — A trivial string template library, inspired by Python's string.Template — MIT
  • trivial-ws — Trivial WebSockets. — MIT
Updated projects3d-vectorsalexandriaarchitecture.service-providerarrow-macrosasdf-flvasteroidsbinfixburgled-batteriesceramiccl+sslcl-anacl-asynccl-autowrapcl-bsoncl-geometrycl-hash-utilcl-itertoolscl-jpegcl-l10ncl-lexercl-llvmcl-marklogiccl-mockcl-mtgnetcl-mysqlcl-ohmcl-openglcl-opsresearchcl-pangocl-rabbitcl-rethinkdbcl-sdl2cl-slugcl-string-matchcl-stringscl-tasuketecl-tetris3dcl-wordcutcl-yaclyamlclack-errorsclassimpclinchcloser-mopclxcommon-doccommon-doc-plumpcommon-htmlcommonqtcopy-directorycroatoandartsclemailaddressdeedsdefpackage-plus,dissectdocparseresrapesrap-liquidfare-utilsfast-ioform-fiddlegendlhyperluminal-memjp-numeralkenzolakelisp-interface-librarylocal-timemacrodynamicsmcclimmitonorthosicatpaiprolog,parse-jspath-parseprojecturedqtoolsqtools-uiquickutilrpmrtg-mathrutilssafe-queuescalplsdl2kitserapeumsimple-date-timesimple-tasksskittersmugsnarksouthspinneretstaplestumpwmsxql,teepeedee2temporal-functionstriviatrivial-channelstrivial-extractusocketutilities.print-treewhichworkout-timer.

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


Recovering from a breaking update

The March Quicklisp update has usocket 0.6.4, an update that unfortunately does not build on older versions of SBCL due to IPv6-related symbols. In response, Chun Tian quickly released usocket, which builds fine on older SBCLs.

It's only been a few days since the last Quicklisp dist release, so I'm not going to make a new one just for the usocket problem.

If you're hit by this issue, what can you do?

The best option, if available, is to upgrade to a recent SBCL, which has many new and exciting features and works well with the usocket in the latest Quicklisp release.

If that's not feasible, you can also manually get usocket (or newer) from the usocket download page, unpack it in ~/quicklisp/local-projects/, and go from there.

Finally, you can revert to last month's Quicklisp dist. I first wrote about this in "Going back in (dist) time", but here's a short overview:

* (in-package :ql-dist-user)

* (second (available-versions (dist "quicklisp")))
 . "http://beta.quicklisp.org/dist/quicklisp/2016-02-08/distinfo.txt")

* (install-dist (cdr *) :replace t :prompt nil)
lots of output

In particular, the second element of available-versions will always be the second most-recent Quicklisp dist, so that's generally the one to use if you want to go one dist backward.

(Topic for the future: how better prerelease testing will catch these kinds of problems.)