2018-10-19

October 2018 Quicklisp dist update now available

New projects:
  • arrows — Implements -> and ->> from Clojure, as well as several expansions on the idea. — CC0
  • authenticated-encryption — Authenticated-Encryption functions — MIT
  • base64 — Base64 encoding and decoding for Common Lisp. — Apache 2.0
  • black-tie — Noise library for Common Lisp. — BSD
  • cl-clblas — clBLAS binding — Apache License, Version 2.0
  • cl-dotenv — Utility library for loading .env files — MIT
  • cl-fuzz — A Fuzz Testing Framework — BSD-2
  • cl-las — Library to manipulate LAS files — ISC
  • cl-proj — CL-PROJ provides Proj.4 library bindings — BSD
  • cl-prolog2 — Common Interface to the ISO prolog implementations from Common Lisp — MIT
  • cover — Code coverage utility for Common Lisp — MIT
  • destructuring-bind-star — DESTRUCTURING-BIND with proper error signaling — MIT
  • everblocking-stream — A stream that always blocks and never has data available. — Public domain
  • heap — Binary Heap for Common Lisp. — Apache 2.0
  • huffman — Huffman encoding and decoding for Common Lisp. — Apache 2.0
  • lazy — Lazy forms for Common Lisp. — Apache 2.0
  • lorem-ipsum — Lorem ipsum generator in portable Common Lisp — MIT
  • parse — Parsing package for Common Lisp. — Apache 2.0
  • print-html — Simple html generator. — MIT License
  • protest — Common Lisp PROtocol and TESTcase Manager — LLGPL
  • re — Lua-style string pattern matching. — Apache 2.0
  • regular-type-expression — This project contains several Common Lisp packages — MIT
  • safe-read — A variant of READ secure against internbombing, excessive input and macro characters. — BSD 2-clause
  • safety-params — Filter parameters — BSD 2-Clause
  • sc-extensions — additional library collection for cl-collider — Public Domain / 0-clause MIT
  • sha1 — SHA1 Digest and HMAC for LispWorks. — Apache 2.0
  • sycamore — A fast, purely functional data structure library — BSD-3
  • targa — Targa Image Loading for Common Lisp. — Apache 2.0
  • trivial-cltl2 — Compatibility package exporting CLtL2 functionality — LLGPL
Updated projectsarray-utilsasdf-vizassoc-utilsbinary-iobit-smashercari3sceplcl+sslcl-anacl-cffi-gtkcl-collidercl-colors2cl-i18ncl-kanrencl-ledgercl-liballegrocl-mecabcl-mixedcl-neovimcl-notebookcl-patternscl-plumbingcl-portmanteaucl-postgres-plus-uuidcl-progress-barcl-pslibcl-pslib-barcodecl-pythoncl-rabbitcl-sdl2cl-sdl2-imagecl-sdl2-mixercl-sdl2-ttfclackcloser-mopclosure-commonclunit2clxcodexcolleencommonqtcroatoancxmlcxml-stpdataflydefinitionsdexadordjuladmldo-urlencodedufydynamic-mixinseasy-audioeclectorfemlispfunction-cachefxmlgamebox-mathgeowktgolden-utilsharmonyiclendarinquisitorintegralironcladlacklasslichat-tcp-serverlog4clmaidenmcclimmitomito-attachmentmywayninevehningleoverlordpango-markupparachuteparser.iniperlrepetalispplace-utilsplexippus-xpathplump-sexppostmodernpreplprint-licensesqlotqtoolsquriread-csvroves-dot2scalplselserapeumshadowshuffletronslysplit-sequencest-jsonstaplestmxstumpwmsxqltime-intervaltootertrace-dbtrack-besttriviatrivial-benchmarktrivial-garbagetrivial-gray-streamstrivial-indenttrivial-utilitiesubiquitousutmvarjovernacularwoowookie.

Removed projects: clot, clpmr, cobstor, html-sugar, ie3fp, manardb, metafs, mime4cl, net4cl, npg, ods4cl, plain-odbc, quid-pro-quo, sanitized-params, sclf, smtp4cl, tiff4cl.

The removed projects no longer work on SBCL.

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

2018-08-31

August 2018 Quicklisp dist update now available

New projects:
  • cari3s — A generator for the i3 status bar. — Artistic
  • cl-all — A script to evaluate expressions in multiple lisp implementations. — Artistic
  • cl-collider — A SuperCollider client for CommonLisp — Public Domain
  • cl-environments — Implements the CLTL2 environment access functionality for implementations which do not provide the functionality to the programmer. — MIT
  • cl-ledger — Double-entry accounting system. — BSD-3
  • cl-mecab — Interface of MeCab that is a morpheme analyzer — LLGPL
  • cl-swagger-codegen — lisp code generator for swagger — 2-clause BSD
  • cmake-parser — A cmake script parser. — MIT
  • dartscluuid — Provides support for UUIDs as proper values — MIT
  • database-migrations — System to version the database in roughly the same way rails migrations work. Differences are that only one database is really supported (but hacking around that is trivial) and that migrations are not needed to be stored in separate files. — MIT
  • float-features — A portability library for IEEE float features not covered by the CL standard. — Artistic
  • iclendar — An iCalendar format lirbary. — Artistic
  • illusion — Customize and manage Lisp parens reader — MIT
  • lisp-binary — Declare binary formats as structs and then read and write them. — GPLv3
  • mmap — Portable mmap (file memory mapping) utility library. — Artistic
  • pango-markup — A small library to generate pango-style text markup. — Artistic
  • petalisp — Elegant High Performance Computing — AGPLv3
  • pludeck — A friendly interface for creating a Plump DOM. — MIT
  • print-licenses — Print the licenses used by the given project and its dependencies. — MIT
  • sly — Sylvester the Cat's Common Lisp IDE — Public Domain
  • sprint-stars — Display the stars of a GitHub User — GPL 3
  • studio-client — A client library for the Studio image hosting service — Artistic
  • test-utils — Convenience functions and macros for testing Common Lisp applications via Prove and Quickcheck — MIT Expat
  • trivial-utilities — A collection of useful functions and macros. — MIT
  • vernacular — Module system for language embeddings. — MIT
Updated projects3d-matrices3d-vectorsa-cl-loggeracclimationahungry-fleecealexaalgebraic-data-libraryaprilarc-compatarray-utilsbodge-sndfilecavemanceplcepl.drm-gbmchirpcl+sslcl-anacl-bnfcl-bootstrapcl-colors2cl-conllucl-csvcl-dbicl-feedparsercl-flaccl-flowcl-fondcl-gamepadcl-gendoccl-generatorcl-gpiocl-gracecl-i18ncl-k8055cl-kanrencl-libuvcl-mixedcl-monitorscl-mpg123cl-oclapicl-openglcl-out123cl-patternscl-ppcrecl-progress-barcl-projectcl-pslibcl-pslib-barcodecl-sdl2-ttfcl-soilcl-soloudcl-spidevcl-strcl-virtualboxcl-waylandcl-yesqlclackclawclipclmlcloser-mopclssclunit2colleenconfiguration.optionsconiumcroatoancrypto-shortcutscurry-compose-reader-macrosdartsclhashtreedeedsdeferreddefinitionsdelta-debugdeploydexadordissectdmldocumentation-utilsdufyeazy-gnuploteazy-projecteclectorfare-scriptsfast-httpflareflowfluteforform-fiddlefxmlglsl-specglsl-toolkitgolden-utilsgsllhalftoneharmonyhumblerironcladjsonrpckenzolacklambda-fiddlelasslegitlichat-protocollichat-serverliblichat-tcp-clientlichat-tcp-serverlichat-ws-serverlionchatlisp-executablelispbuilderlistopialquerymaidenmcclimmitomodularizemodularize-hooksmodularize-interfacesmore-conditionsmultiposterneo4clnibblesninevehnorthoclclopticloverlordoxenfurtparachutepathname-utilsperlrepipingplumpplump-bundleplump-sexpplump-texpostmodernqlotqt-libsqtoolsqtools-uiracerrandom-stateratifyredirect-streamrfc2388rutilssanitized-paramsselserapeumshadowsimple-inferiorssimple-tasksslimesnoozesoftdrinksouthspinneretstaplestumpwmsxqlterminfothnappytootertrace-dbtrivial-argumentstrivial-batterytrivial-benchmarktrivial-clipboardtrivial-gray-streamstrivial-indenttrivial-main-threadtrivial-mimestrivial-thumbnailumbrausocketuuidvarjoverbosevgplotwhofieldswith-c-syntaxwoowookiexml.location.

Removed projects: cl-clblas, cl-proj.

There are no direct problems with cl-clblas and cl-proj. They are victims of a hard drive crash on my end, and an incomplete recovery. I have not been able to set up the foreign libraries required to build those projects in time for this month's release.

If you want to continue using cl-clblas and cl-proj, there are a few options:

  • Don't upgrade to the latest Quicklisp dist until they are back in
  • If you already upgraded, downgrade
  • Clone their repos into ~/quicklisp/local-projects
Sorry for any inconvenience this may cause. I hope to have it fully resolved in the September 2018 update.

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

Enjoy!

2018-07-11

July 2018 Quicklisp dist update now available

Hi everyone! There's a new Quicklisp update for July, and regular updates should resume on a monthly schedule.

I'm using a new release system that involves Docker for easier build server setup and management. It took a while to get going but it should (eventually) make it easier for others to run things in an environment similar to mine. For example, it has all the required foreign libraries needed to compile and load everything in Quicklisp.

Here's the info for the new update:

New projects:
  • april — April is a subset of the APL programming language that compiles to Common Lisp. — Apache-2.0
  • aws-foundation — Amazon AWS low-level utilities — BSD
  • binary-io — Library for reading and writing binary data. — BSD
  • cl-bip39 — A Common Lisp implementation of BIP-0039 — MIT
  • cl-bnf — A simple BNF parser. — MIT
  • cl-generator — cl-generator, a generator implementation for common lisp — MIT
  • cl-patterns — Pattern library for algorithmic music composition and performance in Common Lisp. — GNU General Public License v3.0
  • cl-progress-bar — Display progress bars directly in REPL. — MIT
  • clad — The CLAD System. — BSD
  • concrete-syntax-tree — Library for parsing Common Lisp code into a concrete syntax tree. — FreeBSD
  • definitions — General definitions reflection library. — Artistic
  • eclector — A Common Lisp reader that can adapt to different implementations, and that can return Concrete Syntax Trees — BSD
  • flute — A beautiful, easilly composable HTML5 generation library — MIT
  • froute — An Http routing class that takes advantage of the MOP — MIT
  • language-codes — A small library mapping language codes to language names. — Artistic
  • lichat-ldap — LDAP backend for the Lichat server profiles. — Artistic
  • multilang-documentation — A drop-in replacement for CL:DOCUMENTATION providing multi-language docstrings — Artistic
  • multiposter — A small application to post to multiple services at once. — Artistic
  • sandalphon.lambda-list — Lambda list parsing and usage — WTFPL
  • sel — Programmatic modification and evaluation of software — GPL 3
  • system-locale — System locale and language discovery — Artistic
  • taglib — Pure Lisp implementation to read (and write, perhaps, one day) tags — UNLICENSE 
  • terrable — Terragen TER file format reader — Artistic
  • tooter — A client library for Mastodon instances. — Artistic
  • trace-db — Writing, reading, storing, and searching of program traces — GPL 3
  • umbra — A library of reusable GPU shader functions. — MIT
Updated projects3d-matrices3d-vectorsagnostic-lizardalexaaws-sign4base-blobsbodge-blobs-supportbodge-chipmunkbodge-nanovgbodge-nuklearbordeaux-threadsbt-semaphorecavemanceplcepl.drm-gbmcerberuschirpcl-algebraic-data-typecl-asynccl-autorepocl-cognitocl-conllucl-darkskycl-flowcl-formscl-gamepadcl-geoscl-gobject-introspectioncl-gophercl-hamcrestcl-interpolcl-liballegrocl-libsvm-formatcl-mechanizecl-mpicl-muthcl-online-learningcl-pslibcl-pythoncl-random-forestcl-readlinecl-rediscl-rulescl-sdl2cl-strcl-tomlcl-yesqlclackclawclipcloser-mopclosure-htmlclssclxcodexcoleslawcommon-lisp-actorsconfiguration.optionscroatoancurry-compose-reader-macrosdelta-debugdeploydexadordjuladmldocumentation-utilsdocumentation-utils-extensionsdoubly-linked-listdufydynamic-mixinselffare-scriptsfemlispfftflareflexi-streamsforfreebsd-sysctlfxmlgamebox-frame-managergamebox-mathglsl-specglsl-toolkitglyphsgolden-utilsgraphgsllharmonyhelambdaphunchensocketironcladjoselichat-protocollichat-serverliblichat-tcp-serverlisp-chatlistopiamaidenmcclimmedia-typesmitoninevehomer-countopticloverlordoxenfurtparachuteparseqparser.inipathname-utilspgloaderphysical-quantitiesplumppostmodernppathpythonic-string-readerqbase64qlotqt-libsqtoolsrandom-samplerovertg-maths-dot2serapeumshadowsimple-flow-dispatcherslimespinneretstaplestring-casestumpwmsxqlthe-cost-of-nothingtriviatrivial-ldaptrivial-mmapubiquitousuiopunit-formulavarjowebsocket-driverwhofieldsxhtmlambdaxlsxxml-emitter.

Removed projects: binge, black-tie, cl-ctrnn, cl-directed-graph, cl-ledger, cl-scan, readable, spartns.

The projects removed either didn't build (cl-directed-graph) or are no longer available for download that I could find (everything else).

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

Enjoy!

2018-06-01

No May 2018 Quicklisp dist update

The computer on which I make Quicklisp builds stopped working a little while ago, and I haven't had time to dive in and work on it. As soon as it's fixed, I'll prepare and release a new dist. Sorry about the inconvenience!

2018-04-30

Quicklisp dist update for April, 2018 now available

New projects:
  • bst — Binary search tree — GPL-3
  • cl-colors2 — Simple color library for Common Lisp — Boost Software License - Version 1.0
  • cl-env — Easily parse .env files. That's it! — MIT
  • cl-gopher — Gopher protocol library — BSD 2-Clause
  • clunit2 — CLUnit is a Common Lisp unit testing framework. — BSD
  • dml — Diagram Make Language for common lisp — MIT License
  • external-symbol-not-found — Portability library for detecting reader ~ errors coming from reading non-existing or non-external symbols in packages — Unlicense
  • golden-utils — Auxiliary utilities (AU). — MIT
  • linedit — Readline-style library. — MIT
  • lisp-interface-library — Long name alias for lil — MIT
  • ppath — A Common Lisp path handling library based on Python's os.path module — BSD
  • practical-cl — All code from Practical Common Lisp. — BSD
  • quux-hunchentoot — Thread pooling for hunchentoot — MIT
  • s-dot2 — Render Graphviz graphs from within Lisp — BSD-style
Updated projects3d-matrices3d-vectorsagnostic-lizardarchitecture.builder-protocolceplcl-anacl-bootstrapcl-conllucl-cpuscl-dbicl-factoringcl-fadcl-feedparsercl-fixturescl-flowcl-fluent-loggercl-fondcl-gbmcl-glfw3cl-graylogcl-mlepcl-notebookcl-packcl-pythoncl-random-forestcl-readlinecl-sdl2cl-strcl-yesqlclawclemcloser-mopclwebclxcroatoandefenumdjuladocumentation-utils-extensionsdufydynaesrapfare-memoizationfemlispgamebox-dgengamebox-frame-managergamebox-mathglsl-specglsl-toolkithousehu.dwim.delicoinkwellironcladjonathanjoselacklisp-chatlistopialocal-time-durationmaidenmatlispmcclimmitonibblesninevehoclcloverlordoxenfurtparser.common-rulesparsleyperlrepngloadpostmodernqlotrovertg-mathserapeumshadowstaplestumpwmuniversal-configunix-optsutmvarjoxmls.

Removed projects: cl-openid, cl-sendmail, xmls-tools.

The removed projects depend on XMLS, which was recently updated with a slightly different API, and they were never updated to match.

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

Enjoy!

2018-03-28

Quicklisp dist update for March 2018 now available

New projects:
  • algebraic-data-library — A library of common algebraic data types. — BSD 3-clause
  • bodge-nanovg — Wrapper over nanovg library for cl-bodge system — MIT
  • can — A role-based access right control library — BSD 2-Clause
  • cl-darksky — Get weather via Dark Sky — BSD 2-clause
  • cl-gimei — random japanese name and address generator — MIT
  • cl-libsvm-format — A fast LibSVM data format reader for Common Lisp — MIT
  • cl-notebook — A notebook-style in-browser editor for Common Lisp — AGPL3
  • cl-octet-streams — In-memory octet streams — GPL-3
  • cl-postgres-plus-uuid — Common Lisp library providing a cl-postgres SQL reader for the PostgreSQL UUID type. — MIT
  • documentation-utils-extensions — Set of extensions for documentation-utils. — MIT
  • fact-base — Simple implementation of fact-base data storage for Common Lisp — AGPL3
  • house — Custom asynchronous HTTP server for the Deal project. — AGPL3
  • inkwell — An API client for the Splatoon 2 Splatnet. — Artistic
  • oxenfurt — A client for the Oxford dictionary API. — Artistic
  • rove — Small testing framework — BSD 3-Clause
Updated projectsarray-operationscellsceplcepl.spaceschecklchipzcl+sslcl-algebraic-data-typecl-bplustreecl-colorscl-dbicl-feedparsercl-fondcl-hamcrestcl-ledgercl-libuvcl-marshalcl-mpicl-online-learningcl-openglcl-openstack-clientcl-protobufscl-randomcl-random-forestcl-rmathcl-scsucl-selenium-webdrivercl-storecl-tomlcl-unicodeclackcloser-mopcomputable-realscroatoandbd-oracledexadoreasy-audioeazy-gnuplotesrapextended-realsfare-memoizationfemlispflexi-streamsfolio2harmonyhumblerlasslatex-tablelispbuilderlistopiallalucernemaidenmatlispmcclimmitoninevehomer-countopticloverlordparachuteparser.common-rulesparser.inipostmodernqlotrandom-statertg-mathscalplserapeumshadowstaplestumpwmtrivial-gray-streamstrivialib.bddutils-ktvarjo.

Removed projects: cl-cudd, lisp-interface-library, plain-odbc, quux-hunchentoot.

The removed projects no longer build.

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

Enjoy!

2018-03-04

Download stats for February 2018

Here are the raw download stats for projects in February.

20308  alexandria
16702  closer-mop
15724  babel
15563  cl-ppcre
15531  split-sequence
15002  trivial-features
14598  iterate
13926  trivial-gray-streams
13822  bordeaux-threads
13786  anaphora
12948  let-plus
12777  cffi
12329  trivial-garbage
11742  flexi-streams
10768  nibbles
10530  puri
10329  usocket
 9602  trivial-backtrace
 9316  more-conditions
 9051  chunga
 8828  cl-fad
 8794  cl+ssl
 8641  cl-base64
 8295  esrap
 8228  chipz
 8011  utilities.print-items
 7860  named-readtables
 7510  drakma
 6918  local-time
 6803  cl-yacc
 6634  ironclad
 5743  asdf-flv
 5588  parse-number
 5555  fiveam
 5208  cl-json
 5189  closure-common
 5171  cxml
 5151  log4cl
 4556  optima
 4476  parser.common-rules
 4372  architecture.hooks
 4204  cl-unicode
 4101  plexippus-xpath
 3920  cl-interpol
 3779  lparallel
 3551  lift
 3520  cl-clon
 3459  cl-dot
 3299  trivial-types
 3257  slime
 3155  cl-syntax
 3143  cl-annot
 3136  cxml-stp
 3098  cl-store
 3000  fare-utils
 2997  fare-quasiquote
 2973  xml.location
 2971  cl-utilities
 2853  utilities.print-tree
 2853  trivial-utf-8
 2850  static-vectors
 2814  fare-mop
 2812  inferior-shell
 2741  quri
 2718  metabang-bind
 2686  trivial-indent
 2664  md5
 2638  documentation-utils
 2549  fast-io
 2545  uuid
 2542  array-utils
 2378  plump
 2275  djula
 2275  symbol-munger
 2271  cl-slice
 2232  collectors
 2225  gettext
 2190  arnesi
 2189  hunchentoot
 2162  access
 2151  cl-parser-combinators
 2146  cl-locale
 2028  simple-date-time
 2019  ieee-floats
 1889  prove
 1831  yason
 1603  asdf-system-connections
 1588  metatilities-base
 1574  cl-containers
 1525  rfc2388
 1471  postmodern
 1460  fast-http
 1441  trivial-mimes
 1358  salza2
 1338  monkeylib-binary-data
 1334  cl-colors
 1305  jonathan
 1292  proc-parse
 1277  xsubseq
 1253  cl-ansi-text

2018-02-28

Quicklisp dist update for February 2018 now available

New projects:
  • base-blobs — Base system foreign library collection — MIT
  • bodge-glad — OpenGL 4.6 Core GLAD wrapper for cl-bodge system — MIT
  • bodge-glfw — Wrapper over glfw3 library — MIT
  • bodge-nuklear — Wrapper over nuklear IM GUI library for cl-bodge system — MIT
  • bodge-ode — Thin wrapper over Open Dynamics Engine — MIT
  • bodge-openal — Thin wrapper over OpenAL cross-platform 3D audio API — MIT
  • bodge-sndfile — Wrapper over libsndfile for cl-bodge system — MIT
  • cl-flow — Data-flow driven concurrency model for Common Lisp — MIT
  • cl-muth — Multithreading utilities — MIT
  • cl-selenium-webdriver — cl-selenium-webdriver is a binding library to the Selenium 2.0 — MIT
  • cl-toml — TOML v0.4.0 parser and encoder — MIT
  • clutz — Cross-platform utility toolkit for supporting simple Common Lisp OpenGL applications — MIT
  • glad-blob — GLAD foreign library collection — MIT
  • glfw-blob — GLFW foreign library collection — MIT
  • hdf5-cffi — hdf5-cffi is a CFFI wrapper for the HDF5 library. — BSD
  • listopia — This is no official port of Haskell package Data.List — LLGPL
  • matlisp — Matlisp is a scientific computation library for Common Lisp. — LLGPL
  • nanovg-blob — Foreign library collection of nanovg 2d drawing library — MIT
  • nuklear-blob — Nuklear IM GUI foreign library collection — MIT
  • ode-blob — Foreign library collection of ODE 3d physics library — MIT
  • openal-blob — OpenAL Soft foreign library collection — MIT
  • simple-flow-dispatcher — Reference implementation of a dispatcher for cl-flow library — MIT
  • sndfile-blob — SNDFILE foreign library collection — MIT
Updated projects3bgl-shaderahungry-fleecearchitecture.service-providerasd-generatorbodge-blobs-supportbodge-chipmunkcellsceplcepl.glopcepl.sdl2cepl.spacescl-algebraic-data-typecl-anacl-ansi-termcl-charmscl-conllucl-csvcl-emojicl-gobject-introspectioncl-mongo-idcl-oclapicl-openglcl-pcgcl-permutationcl-readlinecl-skkservcl-soilcl-strcl-svgclawclmlcloser-mopclwebclxcommon-lisp-statconfiguration.optionscroatoandeflatedocumentation-utilsdoubly-linked-listdufyfare-scriptsfiascofiveamflac-metadataflac-parserforgamebox-dgengamebox-ecsgamebox-frame-managergamebox-mathgamebox-sprite-packergenieglsl-specinquisitorironcladiteratejonathanjsonrpckenzolisp-chatlispbuilderlocal-timemaidenmcclimmd5mglmitoninevehoclclosicatoverlordpaiprologparse-numberparsleyplumppngloadpostmodernpp-tomlpsychiqpuriqtools-uiquux-hunchentootremote-jsrtg-mathrutilssanitized-paramsserapeumsha3shadowshortysimple-loggerskitterspecialization-storesplit-sequencestumpwmtype-rubiquitousvarjoverbosewith-setf.

Removed projects: algebraic-data-library, cl-curlex, cl-forest, cl-gpu, cl-indeterminism, cl-larval, cl-read-macro-tokens, cl-secure-read, cl-stm, defmacro-enhance, fs-utils, funds, lol-re, stump-touchy-mode-line, yaclanapht.

There is some extra churn this month. It's mostly because of the failure of cl-curlex, a library that uses SBCL internals and which no longer works as of the latest SBCL. Many projects (all by the same author) depend on cl-curlex, and they all broke. There hasn't been any response to my bug report yet.

The other removals are due to author request, neglect, or other breakage. If you'd like to restore a removed project to Quicklisp, let me know - I'm happy to help.

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

Enjoy!

2018-02-07

Quicklisp implementation stats for 2017+

Here are some raw HTTP request stats for each CL implementation supported by Quicklisp from 2017-01-01 onward. Each request corresponds roughly to downloading a single project.
  • SBCL: 4,518,774 requests
  • Clozure CL: 488,057 
  • CLISP: 34,767
  • LispWorks: 25,700
  • ABCL: 23,913 
  • Allegro: 19,501
  • ECL: 19,027
  • CLASP: 3,335
  • CMUCL: 965
  • MKCL: 79
  • Scieneer: 0
I gathered this info to check Scieneer activity levels to plan future support. Turns out nobody with Scieneer has used Quicklisp since 2013. Bummer!

2018-02-01

Download stats for January, 2018

Here are the raw Quicklisp download stats for January 2018.
20452  alexandria
17822  closer-mop
16236  cl-ppcre
15928  split-sequence
15762  babel
15131  iterate
14929  anaphora
14859  trivial-features
14580  let-plus
14136  trivial-gray-streams
13668  bordeaux-threads
12524  cffi
12215  trivial-garbage
11815  flexi-streams
11383  puri
11201  more-conditions
11063  nibbles
10266  usocket
 9545  utilities.print-items
 9499  trivial-backtrace
 9312  esrap
 9170  cl+ssl
 8940  chunga
 8812  cl-base64
 8446  chipz
 8417  cl-fad
 8107  drakma
 7212  cl-yacc
 6937  named-readtables
 6929  asdf-flv
 6647  fiveam
 6429  local-time
 6179  ironclad
 6103  parse-number
 5850  closure-common
 5844  cxml
 5743  log4cl
 5229  architecture.hooks
 5037  cl-json
 5023  parser.common-rules
 4773  plexippus-xpath
 4530  optima
 4323  lift
 4028  lparallel
 4002  cl-clon
 3882  cl-dot
 3594  cxml-stp
 3469  cl-interpol
 3421  xml.location
 3399  cl-unicode
 3363  utilities.print-tree
 3350  cl-store
 3311  fare-utils
 3305  fare-quasiquote
 3135  slime
 3109  inferior-shell
 3098  fare-mop
 2810  metabang-bind
 2557  trivial-utf-8
 2556  trivial-types
 2544  cl-utilities
 2288  uuid
 2244  cl-annot
 2234  cl-syntax
 2232  quri
 2128  trivial-indent
 2118  documentation-utils
 2035  cl-slice
 2027  plump
 2023  array-utils
 2013  gettext
 1998  static-vectors
 1983  symbol-munger
 1966  collectors
 1933  arnesi
 1932  md5
 1920  access
 1915  djula
 1898  cl-locale
 1893  cl-parser-combinators
 1833  fast-io
 1822  simple-date-time
 1804  hunchentoot
 1567  ieee-floats
 1537  yason
 1364  prove
 1312  asdf-system-connections
 1307  metatilities-base
 1304  cl-containers
 1192  osicat
 1138  monkeylib-binary-data
 1115  rfc2388
 1041  trivial-shell
  993  diff
  989  postmodern
  961  cl-custom-hash-table
  929  parse-float
  912  salza2
  882  cl-sqlite
  872  trivial-mimes

2018-01-31

January 2018 Quicklisp dist update now available

New projects: 
  • bodge-blobs-support — Common utilities for loading/distributing foreign libraries — The Unlicense
  • bodge-chipmunk — Wrapper over chipmunk 2d physics library — MIT
  • chipmunk-blob — Chipmunk physics foreign library collection — MIT
  • cl-dct — Discrete cosine transform. — Apache-2.0
  • cl-grnm — Grid Restrained Nelder-Mead, a multivariate rootfinder. — MIT (See LICENSE.txt)
  • cl-skkserv — skkserv with Common Lisp — GPLv3
  • claw — Import c2ffi specs and generate CFFI wrappers — BSD-2-Clause
  • clinenoise — A trivial line-input library for VT-like terminals — BSD-2
  • clweb — CLWEB is a literate programming system for Common Lisp — Unspecified
  • dbd-oracle — ORACLE database driver for CL-DBI. — Lessor Lisp General Public License
  • dufy — Color library for Common Lisp — MIT
  • glsl-packing — calculate std140/std430 layout for a glsl UBO/SSBO — MIT
  • shadow — A lightweight system to help with defining and managing OpenGL shader programs. — MIT
  • westbrook — An RSS feed generator. — BSD
Updated projects: 3bgl-shader3d-matrices3d-vectorsarray-utilsasd-generatorasdf-vizaws-sign4beastccldoccellsceplcepl.sdl2cepl.sdl2-ttfchancerychirpchungacl-anacl-ansi-termcl-cognitocl-conllucl-csvcl-cutcl-dbicl-digraphcl-diskspacecl-dotcl-editdistancecl-flaccl-fondcl-gamepadcl-gobject-introspectioncl-gpiocl-hamcrestcl-ledgercl-lzmacl-mixedcl-monitorscl-mpg123cl-oclapicl-online-learningcl-openglcl-out123cl-pcgcl-random-forestcl-readlinecl-riffcl-sandboxcl-smtpcl-spidevcl-strcl-string-matchcl-stringscl-svgcl-unicodecl-wavclipcloser-mopclssclx-cursorcodexcommonqtcroatoancrypto-shortcutsdartsclhashtreedeedsdeferreddefpackage-plusdeploydissectdjuladocumentation-utilseazy-projectesrapfare-scriptsfast-httpflareflowforform-fiddlegamebox-mathgeneric-comparabilityglsl-specglsl-toolkitgraphhalftoneharmonyhu.dwim.perechumblerhunchensocketinquisitoriteratejosejskenzolacklambda-fiddlelasslegitlichat-protocollisp-chatlisp-unit2local-timelquerymaidenmcclimmgl-paxmk-string-metricsmodularizemodularize-hooksmodularize-interfacesnamed-readtablesninevehnorthoverlordpapyrusparachuteparser.common-rulespathname-utilspipingplumpportable-threadspostmodernqlotqmyndqtoolsqtools-uirandom-stateratifyredirect-streamremote-jsrutilsscalplserapeumsimple-inferiorssimple-rgbsimple-tasksskippy-renderersnoozesoftdrinkspinneretstaplestumpwmthe-cost-of-nothingtreestrivial-argumentstrivial-benchmarktrivial-file-sizetrivial-indenttrivial-main-threadtrivial-mimestrivial-thumbnailtrivial-timeouttrivial-updatetrivial-wsubiquitousunix-optsvarjoverbosewebsocket-driverwith-c-syntaxwuweixml.locationyaclml.

Removed projects: blackthorn-engine, gamebox-grids, linedit, software-evolution, squirl, tbnl.

The latest removed projects are due to author request or author neglect - if a project you need has been removed, maybe a new maintenance arrangement can be worked out, get in touch!

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

Enjoy!

2018-01-26

Build failure RSS feeds

Every day, I build each project that Quicklisp tracks. If a project fails, I try to track down the author and let them know. If a project chronically fails and there's no fix in sight, I drop the project from Quicklisp.

In an effort to help authors follow build status, I've made a system of RSS feeds that are updated with daily build failures. The feeds have the following patterns:

Each feed entry has info about where Quicklisp gets the project, what systems are failing, and an excerpt from the build log and backtrace. There are links to the full build log. 

I hope you find these reports useful. If you have any suggestions or questions, feel free to get in touch.


2018-01-16

The Quicklisp local-projects mechanism

Quicklisp provides a lot of software, but there’s also a simple way to load things that Quicklisp doesn’t provide. That same mechanism can be used to override libraries Quicklisp does provide.

The local projects mechanism sets up a special directory that is automatically scanned for software to load. Here are a few quick examples.

Trying a library not in Quicklisp

First, imagine that you just heard about a great new library and want to try it. However, it’s not available through Quicklisp yet, only through a git repository on https://example.com/fun-project.git. One easy way to try it:
$ cd ~/quicklisp/local-projects
$ git clone https://example.com/fun-project.git
After the git command completes, and there is a fun-project subdirectory with a fun-project/fun-project.asd file present, the system is visible to ASDF and can be loaded either with ql:quickload or asdf:find-system. When loaded through ql:quickload, Quicklisp will automatically fetch and load any prerequisites if needed.

Overriding a library in Quicklisp

Second, imagine that you want to hack on a library that Quicklisp already provides. You don’t want to load and hack on the version from Quicklisp - that software is not under version control, and just represents a snapshot of the project at a particular point in time.

Once again, the procedure is to put the software in the ~/quicklisp/local-projects/ directory:
$ cd ~/quicklisp/local-projects/
$ git clone https://github.com/xach/vecto.git
After the git command completes, (ql:quickload "vecto") will load the library from local-projects rather than from the standard Quicklisp release.

How it works

The local-projects mechanism is relatively automatic. Here’s how it works underneath, and how to fix problems that might crop up.

ASDF has an extensible mechansim (the asdf:*system-definition-search-functions* variable) for searching for system files. Quicklisp extends this mechanism with a function that does the following, all in the context of the local-projectsdirectory.
  1. If there is no file named system-index.txt, it is created by scanning the directory tree for system files (matching "*.asd"). Each pathname is added to the file.
  2. If the system-index.txt file exists, but its timestamp is older than its containing directory, the directory is rescanned and the index recreated.
  3. The system-index.txt is searched for any entry with a pathname-name that matches the desired system name. If there’s a match, matching pathname is probed. If it still exists, it is returned. If it has disappeared, the system-index.txt is recreated as in step 1 and the search is retried.
  4. Otherwise the system search is deferred to the remaining ASDF system search functions.
When there are multiple system files with the same name in the directory tree, the one with the shortest full pathname name is returned. In the case of a pathname length tie, the one that is #'string< is returned.

Timestamp problems can sometimes crop up with step 2 above. For example, if you have a directory local-projects/my-project/ and you create local-projects/my-project/supporting-system.asd, the timestamp of local-projects/ is not updated and supporting-system.asd won’t be automatically added to the system index file.

There are a couple ways to force an update of the system index file. Within Lisp, you can use (ql:register-local-projects) to immediately regenerate system-index.txt. Outside of Lisp, you can use the touch command (or an equivalent) to update the timestamp of the local-projects directory, which will trigger a rebuild of the index on the next attempt to find systems..

Because of how the system index file is created (and recreated as needed), Quicklisp must have write access to the local-projects directory to make use of it.

Configuration

The local-projects mechanism is configured through a special variable ql:*local-project-directories*. By default, it includes only the local-projects subdirectory in the Quicklisp install directory, but you can add or remove directories at any time to have more places scanned for systems.
To disable the local-projects mechanism entirely, set ql:*local-project-directories* to NIL.