summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorPierre Neidhardt <mail@ambrevar.xyz>2020-11-10 09:58:44 +0100
committerPierre Neidhardt <mail@ambrevar.xyz>2020-11-10 09:59:49 +0100
commit94585fffb23079fe71110e2bf99782eb4ccfa12b (patch)
tree2a398e9534d29d47f5c2fcaf8fe1f2912ad6e682 /gnu
parentebabcf236864ac892d201a12edd76ae7a6b1fe10 (diff)
gnu: Add sbcl-contextl.
* gnu/packages/lisp-xyz.scm (cl-contextl, ecl-contextl, sbcl-contextl): New variables.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/lisp-xyz.scm36
1 files changed, 36 insertions, 0 deletions
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 2d33c1880e..75195f9ea5 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -13580,6 +13580,42 @@ LispWorks library that are used in software such as ContextL.")
(define-public ecl-lw-compat
(sbcl-package->ecl-package sbcl-lw-compat))
+(define-public sbcl-contextl
+ ;; No release since 2013.
+ (let ((commit "5d18a71a85824f6c25a9f35a21052f967b8b6bb9"))
+ (package
+ (name "sbcl-contextl")
+ (version (git-version "1.0.0" "1" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pcostanza/contextl/")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0gk1izx6l6g48nypmnm9r6mzjx0jixqjj2kc6klf8a88rr5xd226"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("closer-mop" ,sbcl-closer-mop)
+ ("lw-compat" ,sbcl-lw-compat)))
+ (home-page "https://github.com/pcostanza/contextl")
+ (synopsis "Context-oriented programming for Common Lisp")
+ (description "ContextL is a CLOS extension for Context-Oriented
+Programming (COP).
+
+Find overview of ContextL's features in an overview paper:
+@url{http://www.p-cos.net/documents/contextl-soa.pdf}. See also this general
+overview article about COP which also contains some ContextL examples:
+@url{http://www.jot.fm/issues/issue_2008_03/article4/}.")
+ (license license:expat))))
+
+(define-public cl-contextl
+ (sbcl-package->cl-source-package sbcl-contextl))
+
+(define-public ecl-contextl
+ (sbcl-package->ecl-package sbcl-contextl))
+
(define-public sbcl-hu.dwim.common-lisp
(package
(name "sbcl-hu.dwim.common-lisp")