diff options
author | Pierre Neidhardt <ambrevar@gmail.com> | 2018-08-24 11:24:21 +0200 |
---|---|---|
committer | Pierre Neidhardt <mail@ambrevar.xyz> | 2018-10-19 17:54:10 +0200 |
commit | 8f41fa066ec624146ace6052d718850ccaff5bcc (patch) | |
tree | 48a120996e48dfb05b767b6833538669521095e8 /gnu/packages/lisp.scm | |
parent | 232e1abce7f5d949256bd851b8bf0c2d0c4830fa (diff) | |
download | patches-8f41fa066ec624146ace6052d718850ccaff5bcc.tar patches-8f41fa066ec624146ace6052d718850ccaff5bcc.tar.gz |
gnu: Add jpl-queues.
* gnu/packages/lisp.scm (cl-jpl-queues, ecl-jpl-queues, sbcl-jpl-queues): New variables.
Diffstat (limited to 'gnu/packages/lisp.scm')
-rw-r--r-- | gnu/packages/lisp.scm | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 9688e2c44d..72d6a6c991 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -1741,3 +1741,48 @@ and macros, primarily for software projects written in CL by the author.") (define-public ecl-jpl-util (sbcl-package->ecl-package sbcl-jpl-util)) + +(define-public sbcl-jpl-queues + (package + (name "sbcl-jpl-queues") + (version "0.1") + (source + (origin + (method url-fetch) + (uri (string-append + "http://www.thoughtcrime.us/software/jpl-queues/jpl-queues-" + version + ".tar.gz")) + (sha256 + (base32 + "1wvvv7j117h9a42qaj1g4fh4mji28xqs7s60rn6d11gk9jl76h96")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("jpl-util" ,sbcl-jpl-util) + ("bordeaux-threads" ,sbcl-bordeaux-threads))) + (arguments + ;; Tests seem to be broken. + `(#:tests? #f)) + (synopsis "Common Lisp library implementing a few different kinds of queues") + (description + "A Common Lisp library implementing a few different kinds of queues: + +@itemize +@item Bounded and unbounded FIFO queues. +@item Lossy bounded FIFO queues that drop elements when full. +@item Unbounded random-order queues that use less memory than unbounded FIFO queues. +@end itemize + +Additionally, a synchronization wrapper is provided to make any queue +conforming to the @command{jpl-queues} API thread-safe for lightweight +multithreading applications. (See Calispel for a more sophisticated CL +multithreaded message-passing library with timeouts and alternation among +several blockable channels.)") + (home-page "https://www.thoughtcrime.us/software/jpl-queues/") + (license license:isc))) + +(define-public cl-jpl-queues + (sbcl-package->cl-source-package sbcl-jpl-queues)) + +(define-public ecl-jpl-queues + (sbcl-package->ecl-package sbcl-jpl-queues)) |