From: Guillaume Le Vaillant <glv@posteo.net>
To: 37566@debbugs.gnu.org
Cc: Guillaume Le Vaillant <glv@posteo.net>
Subject: [bug#37566] [PATCH] gnu: Add chanl.
Date: Tue, 1 Oct 2019 10:55:24 +0200 [thread overview]
Message-ID: <20191001085524.22204-1-glv@posteo.net> (raw)
* gnu/packages/lisp.scm (sbcl-chanl, cl-chanl, ecl-chanl): New variables.
---
gnu/packages/lisp.scm | 54 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 54 insertions(+)
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index ba009bb7a6..fd46b967e7 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -7360,3 +7360,57 @@ compression/decompression using bindings to the lzlib C library.")
(define-public ecl-lzlib
(sbcl-package->ecl-package sbcl-lzlib))
+
+(define-public sbcl-chanl
+ (let ((commit "2362b57550c2c9238cc882d03553aaa1040b7340")
+ (revision "0"))
+ (package
+ (name "sbcl-chanl")
+ (version (git-version "0.4.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/zkat/chanl.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0ag3wz7yrqwp0s5069wwda98z3rrqd25spg8sa8rdqghj084w28w"))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs
+ `(("fiveam" ,sbcl-fiveam)))
+ (inputs
+ `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
+ (synopsis "Portable channel-based concurrency for Common Lisp")
+ (description "Common Lisp library for channel-based concurrency. In
+a nutshell, you create various threads sequentially executing tasks you need
+done, and use channel objects to communicate and synchronize the state of these
+threads.")
+ (home-page "https://github.com/zkat/chanl")
+ (license (list license:expat license:bsd-3)))))
+
+(define-public cl-chanl
+ (sbcl-package->cl-source-package sbcl-chanl))
+
+(define-public ecl-chanl
+ (let ((base (sbcl-package->ecl-package sbcl-chanl)))
+ (package
+ (inherit base)
+ (arguments
+ (substitute-keyword-arguments (package-arguments base)
+ ;; The CHANL.ACTORS package uses the :ARGUMENTS option of
+ ;; DEFINE-METHOD-COMBINATION, which is not implemented in ECL yet
+ ;; (see https://gitlab.com/embeddable-common-lisp/ecl/issues/305).
+ ;; So let's disable it for now, as it allows compiling the library
+ ;; and using the rest of it.
+ ((#:phases phases '%standard-phases)
+ `(modify-phases ,phases
+ (add-after 'unpack 'disable-chanl-actors
+ (lambda _
+ (substitute* "chanl.asd"
+ (("\\(:file \"actors\"\\)") ""))
+ #t))))
+ ;; Disable the tests for now, as the SEND-SEQUENCE test seems to
+ ;; never end.
+ ((#:tests? _ #f) #f))))))
--
2.23.0
next reply other threads:[~2019-10-01 8:57 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-01 8:55 Guillaume Le Vaillant [this message]
2019-10-06 12:21 ` [bug#37566] [PATCH] gnu: Add chanl Pierre Neidhardt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191001085524.22204-1-glv@posteo.net \
--to=glv@posteo.net \
--cc=37566@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).