aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/lisp.scm45
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))