`(("alexandria" ,sbcl-alexandria)
("bordeaux-threads" ,sbcl-bordeaux-threads)
("trivial-garbage" ,sbcl-trivial-garbage)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-dependency
+ ;; lparallel loads a SBCL specific system in its asd file. This is
+ ;; not carried over into the fasl which is generated. In order for
+ ;; it to be carried over, it needs to be listed as a dependency.
+ (lambda _
+ (substitute* "lparallel.asd"
+ ((":depends-on \\(:alexandria" all)
+ (string-append all " #+sbcl :sb-cltl2"))))))))
(home-page "https://lparallel.org/")
(synopsis "Parallelism for Common Lisp")
(description
(version "2.0.4")
(source
(origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/pmai/md5/archive/release-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pmai/md5")
+ (commit (string-append "release-" version))))
+ (file-name (git-file-name "md5" version))
(sha256
- (base32 "19yl9n0pjdz5gw4qi711lka97xcd9f81ylg434hk7jwn9f2s6w11"))))
+ (base32 "1waqxzm7vlc22n92hv8r27anlvvjkkh9slhrky1ww7mdx4mmxwb8"))))
(build-system asdf-build-system/sbcl)
(home-page "https://github.com/pmai/md5")
(synopsis
(install-file "catalog.dtd"
(string-append
(assoc-ref outputs "out")
- "/lib/" (%lisp-type)))))
- (add-after 'create-asd 'remove-component
- ;; XXX: The original .asd has no components, but our build system
- ;; creates an entry nonetheless. We need to remove it for the
- ;; generated .asd to load properly. See trivia.trivial for a
- ;; similar problem.
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (asd (string-append out "/lib/sbcl/cxml.asd")))
- (substitute* asd
- ((" :components
-")
- ""))
- (substitute* asd
- ((" *\\(\\(:compiled-file \"cxml--system\"\\)\\)")
- ""))))))))))
+ "/lib/" (%lisp-type))))))))))
(define-public cl-cxml
(sbcl-package->cl-source-package sbcl-cxml))
(define-public cl-fare-quasiquote-readtable
(sbcl-package->cl-source-package sbcl-fare-quasiquote-readtable))
-;; TODO: Add support for component-less system in asdf-build-system/sbcl.
(define-public sbcl-fare-quasiquote-extras
(package
(inherit sbcl-fare-quasiquote)
(install-file "fare-quasiquote-extras.asd" lib)
(make-file-writable
(string-append lib "/fare-quasiquote-extras.asd"))
- #t)))
- (add-after 'create-asd-file 'fix-asd-file
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (lib (string-append out "/lib/" (%lisp-type)))
- (asd (string-append lib "/fare-quasiquote-extras.asd")))
- (substitute* asd
- ((":class")
- "")
- (("asdf/bundle:prebuilt-system")
- "")
- ((":components")
- "")
- (("\\(\\(:compiled-file \"fare-quasiquote-extras--system\"\\)\\)")
- "")))
- #t)))))
+ #t))))))
(description "This library combines @code{fare-quasiquote-readtable} and
@code{fare-quasiquote-optima}.")))
(name "sbcl-trivia.trivial")
(inputs
`(("trivia.level2" ,sbcl-trivia.level2)))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (replace 'create-asd-file
- (lambda* (#:key outputs inputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (lib (string-append out "/lib/" (%lisp-type)))
- (level2 (assoc-ref inputs "trivia.level2")))
- (mkdir-p lib)
- (install-file "trivia.trivial.asd" lib)
- ;; XXX: This .asd does not have any component and the build
- ;; system fails to work in this case. We should update the
- ;; build system to handle component-less .asd.
- ;; TODO: How do we append to file in Guile? It seems that
- ;; (open-file ... "a") gets a "Permission denied".
- (substitute* (string-append lib "/trivia.trivial.asd")
- (("\"\\)")
- (string-append "\")
-
-(progn (asdf/source-registry:ensure-source-registry)
- (setf (gethash
- \"trivia.level2\"
- asdf/source-registry:*source-registry*)
- #p\""
- level2
- "/share/common-lisp/sbcl-bundle-systems/trivia.level2.asd\"))")))))))))
(description "Trivia is a pattern matching compiler that is compatible
with Optima, another pattern matching library for Common Lisp. It is meant to
be faster and more extensible than Optima.
("trivia.cffi" ,sbcl-trivia.cffi)
("optima" ,sbcl-optima)))
(arguments
- `(#:test-asd-file "trivia.test.asd"
- #:phases
- (modify-phases %standard-phases
- (add-after 'create-asd 'remove-component
- ;; XXX: The original .asd has no components, but our build system
- ;; creates an entry nonetheless. We need to remove it for the
- ;; generated .asd to load properly. See trivia.trivial for a
- ;; similar problem.
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (asd (string-append out "/lib/" (%lisp-type) "/trivia.asd")))
- (substitute* asd
- ((" :components
-")
- ""))
- (substitute* asd
- ((" *\\(\\(:compiled-file \"trivia--system\"\\)\\)")
- ""))))))))
+ `(#:test-asd-file "trivia.test.asd"))
(description "Trivia is a pattern matching compiler that is compatible
with Optima, another pattern matching library for Common Lisp. It is meant to
be faster and more extensible than Optima.")))
(define-public cl-osicat
(sbcl-package->cl-source-package sbcl-osicat))
+(define-public sbcl-clx-xembed
+ (let ((commit "a5c4b844d31ee68ffa58c933cc1cdddde6990743")
+ (revision "1"))
+ (package
+ (name "sbcl-clx-xembed")
+ (version (git-version "0.1" revision commit))
+ (home-page "https://github.com/laynor/clx-xembed")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/laynor/clx-xembed.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1abx4v36ycmfjdwpjk4hh8058ya8whwia7ds9vd96q2qsrs57f12"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ `(#:asd-system-name "xembed"))
+ (inputs
+ `(("sbcl-clx" ,sbcl-clx)))
+ (synopsis "CL(x) xembed protocol implementation ")
+ (description "CL(x) xembed protocol implementation")
+ ;; MIT License
+ (license license:expat))))
+
+(define-public cl-clx-xembed
+ (sbcl-package->cl-source-package sbcl-clx-xembed))
+
+(define-public ecl-clx-xembed
+ (sbcl-package->ecl-package sbcl-clx-xembed))
+
(define-public sbcl-quantile-estimator
(package
(name "sbcl-quantile-estimator")
(define-public ecl-prometheus.collectors.process
(sbcl-package->ecl-package sbcl-prometheus.collectors.process))
+
+(define-public sbcl-prometheus.formats.text
+ (package
+ (inherit sbcl-prometheus)
+ (name "sbcl-prometheus.formats.text")
+ (inputs
+ `(("alexandria" ,sbcl-alexandria)
+ ("prometheus" ,sbcl-prometheus)))
+ (synopsis "Prometheus client text format")
+ (description "Prometheus client text format.")))
+
+(define-public cl-prometheus.formats.text
+ (sbcl-package->cl-source-package sbcl-prometheus.formats.text))
+
+(define-public ecl-prometheus.formats.text
+ (sbcl-package->ecl-package sbcl-prometheus.formats.text))
+
+(define-public sbcl-prometheus.exposers.hunchentoot
+ (package
+ (inherit sbcl-prometheus)
+ (name "sbcl-prometheus.exposers.hunchentoot")
+ (inputs
+ `(("hunchentoot" ,sbcl-hunchentoot)
+ ("prometheus" ,sbcl-prometheus)
+ ("prometheus.formats.text" ,sbcl-prometheus.formats.text)
+ ("salza2" ,sbcl-salza2)
+ ("trivial-utf-8" ,sbcl-trivial-utf-8)))
+ (synopsis "Prometheus collector for Hunchentoot metrics")
+ (description "Prometheus collector for Hunchentoot metrics")))
+
+(define-public cl-prometheus.exposers.hunchentoot
+ (sbcl-package->cl-source-package sbcl-prometheus.exposers.hunchentoot))
+
+(define-public sbcl-prometheus.pushgateway
+ (package
+ (inherit sbcl-prometheus)
+ (name "sbcl-prometheus.pushgateway")
+ (inputs
+ `(("drakma" ,sbcl-drakma)
+ ("prometheus" ,sbcl-prometheus)
+ ("prometheus.formats.text" ,sbcl-prometheus.formats.text)))
+ (synopsis "Prometheus Pushgateway client")
+ (description "Prometheus Pushgateway client.")))
+
+(define-public cl-prometheus.pushgateway
+ (sbcl-package->cl-source-package sbcl-prometheus.pushgateway))
+
+(define-public ecl-prometheus.pushgateway
+ (sbcl-package->ecl-package sbcl-prometheus.pushgateway))
+
+(define-public sbcl-uuid
+ (let ((commit "e7d6680c3138385c0708f7aaf0c96622eeb140e8"))
+ (package
+ (name "sbcl-uuid")
+ (version (git-version "2012.12.26" "1" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dardoria/uuid.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0jnyp2kibcf5cwi60l6grjrj8wws9chasjvsw7xzwyym2lyid46f"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("ironclad" ,sbcl-ironclad)
+ ("trivial-utf-8" ,sbcl-trivial-utf-8)))
+ (home-page "https://github.com/dardoria/uuid")
+ (synopsis
+ "Common Lisp implementation of UUIDs according to RFC4122")
+ (description
+ "Common Lisp implementation of UUIDs according to RFC4122.")
+ (license license:llgpl))))
+
+(define-public cl-uuid
+ (sbcl-package->cl-source-package sbcl-uuid))
+
+(define-public ecl-uuid
+ (sbcl-package->ecl-package sbcl-uuid))
+
+(define-public sbcl-dissect
+ (let ((commit "cffd38479f0e64e805f167bbdb240b783ecc8d45"))
+ (package
+ (name "sbcl-dissect")
+ (version (git-version "1.0.0" "1" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Shinmera/dissect.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0rmsjkgjl90gl6ssvgd60hb0d5diyhsiyypvw9hbc0ripvbmk5r5"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("cl-ppcre" ,sbcl-cl-ppcre)))
+ (home-page "https://shinmera.github.io/dissect/")
+ (synopsis
+ "Introspection library for the call stack and restarts")
+ (description
+ "Dissect is a small Common Lisp library for introspecting the call stack
+and active restarts.")
+ (license license:zlib))))
+
+(define-public cl-dissect
+ (sbcl-package->cl-source-package sbcl-dissect))
+
+(define-public ecl-dissect
+ (sbcl-package->ecl-package sbcl-dissect))
+
+;; TODO: Uses ASDF's package-inferred-system which is not supported by
+;; asdf-build-system/sbcl as of 2020-05-21. We should fix
+;; asdf-build-system/sbcl.
+(define-public sbcl-rove
+ (package
+ (name "sbcl-rove")
+ (version "0.9.6")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/fukamachi/rove.git")
+ (commit "f3695db08203bf26f3b861dc22ac0f4257d3ec21")))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "07ala4l2fncxf540fzxj3h5mhi9i4wqllhj0rqk8m2ljl5zbz89q"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("bordeaux-threads" ,sbcl-bordeaux-threads)
+ ("dissect" ,sbcl-dissect)
+ ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
+ (home-page "https://github.com/fukamachi/rove")
+ (synopsis
+ "Yet another common lisp testing library")
+ (description
+ "Rove is a unit testing framework for Common Lisp applications.
+This is intended to be a successor of Prove.")
+ (license license:bsd-3)))
+
+(define-public cl-rove
+ (sbcl-package->cl-source-package sbcl-rove))
+
+(define-public ecl-rove
+ (sbcl-package->ecl-package sbcl-rove))
+
+(define-public sbcl-exponential-backoff
+ (let ((commit "8d9e8444d8b3184a524c12ce3449f91613ab714f"))
+ (package
+ (name "sbcl-exponential-backoff")
+ (version (git-version "0" "1" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/death/exponential-backoff.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1389hm9hxv85s0125ja4js1bvh8ay4dsy9q1gaynjv27ynik6gmv"))))
+ (build-system asdf-build-system/sbcl)
+ (home-page "https://github.com/death/exponential-backoff")
+ (synopsis "Exponential backoff algorithm in Common Lisp")
+ (description
+ "An implementation of the exponential backoff algorithm in Common Lisp.
+Inspired by the implementation found in Chromium. Read the header file to
+learn about each of the parameters.")
+ (license license:expat))))
+
+(define-public cl-exponential-backoff
+ (sbcl-package->cl-source-package sbcl-exponential-backoff))
+
+(define-public ecl-exponential-backoff
+ (sbcl-package->ecl-package sbcl-exponential-backoff))
+
+(define-public sbcl-sxql
+ (let ((commit "5aa8b739492c5829e8623432b5d46482263990e8"))
+ (package
+ (name "sbcl-sxql")
+ (version (git-version "0.1.0" "1" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/fukamachi/sxql.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0k25p6w2ld9cn8q8s20lda6yjfyp4q89219sviayfgixnj27avnj"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ `(#:test-asd-file "sxql-test.asd"))
+ (inputs
+ `(("alexandria" ,sbcl-alexandria)
+ ("cl-syntax-annot" ,sbcl-cl-syntax-annot)
+ ("iterate" ,sbcl-iterate)
+ ("optima" ,sbcl-optima)
+ ("split-sequence" ,sbcl-split-sequence)
+ ("trivial-types" ,sbcl-trivial-types)))
+ (native-inputs
+ `(("prove" ,sbcl-prove)
+ ("prove-asdf" ,sbcl-prove-asdf)))
+ (home-page "https://github.com/fukamachi/sxql")
+ (synopsis "SQL generator for Common Lisp")
+ (description "SQL generator for Common Lisp.")
+ (license license:bsd-3))))
+
+(define-public cl-sxql
+ (sbcl-package->cl-source-package sbcl-sxql))
+
+(define-public ecl-sxql
+ (sbcl-package->ecl-package sbcl-sxql))
+
+(define-public sbcl-1am
+ (let ((commit "8b1da94eca4613fd8a20bdf63f0e609e379b0ba5"))
+ (package
+ (name "sbcl-1am")
+ (version (git-version "0.0" "1" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/lmj/1am.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "05ss4nz1jb9kb796295482b62w5cj29msfj8zis33sp2rw2vmv2g"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ `(#:asd-system-name "1am"))
+ (home-page "https://github.com/lmj/1am")
+ (synopsis "Minimal testing framework for Common Lisp")
+ (description "A minimal testing framework for Common Lisp.")
+ (license license:expat))))
+
+(define-public cl-1am
+ (sbcl-package->cl-source-package sbcl-1am))
+
+(define-public ecl-1am
+ (sbcl-package->ecl-package sbcl-1am))
+
+(define-public sbcl-cl-ascii-table
+ (let ((commit "d9f5e774a56fad1b416e4dadb8f8a5b0e84094e2")
+ (revision "1"))
+ (package
+ (name "sbcl-cl-ascii-table")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/telephil/cl-ascii-table.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "125fdif9sgl7k0ngjhxv0wjas2q27d075025hvj2rx1b1x948z4s"))))
+ (build-system asdf-build-system/sbcl)
+ (synopsis "Library to make ascii-art tables")
+ (description
+ "This is a Common Lisp library to present tabular data in ascii-art
+tables.")
+ (home-page "https://github.com/telephil/cl-ascii-table")
+ (license license:expat))))
+
+(define-public cl-ascii-table
+ (sbcl-package->cl-source-package sbcl-cl-ascii-table))
+
+(define-public ecl-cl-ascii-table
+ (sbcl-package->ecl-package sbcl-cl-ascii-table))
+
+(define-public sbcl-cl-rdkafka
+ (package
+ (name "sbcl-cl-rdkafka")
+ (version "1.0.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/SahilKang/cl-rdkafka.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1qcgfd4h7syilzmrmd4z2vknbvawda3q3ykw7xm8n381syry4g82"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ `(#:tests? #f ; Attempts to connect to locally running Kafka
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "src/low-level/librdkafka-bindings.lisp"
+ (("librdkafka" all)
+ (string-append (assoc-ref inputs "librdkafka") "/lib/"
+ all)))))
+ (add-before 'cleanup 'move-bundle
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (actual (string-append out "/lib/sbcl/src/cl-rdkafka.fasl"))
+ (expected (string-append
+ out "/lib/sbcl/cl-rdkafka--system.fasl")))
+ (copy-file actual expected)
+ #t))))))
+ (inputs
+ `(("bordeaux-threads" ,sbcl-bordeaux-threads)
+ ("cffi" ,sbcl-cffi)
+ ("cffi-grovel" ,sbcl-cffi-grovel)
+ ("librdkafka" ,librdkafka)
+ ("lparallel" ,sbcl-lparallel)
+ ("trivial-garbage" ,sbcl-trivial-garbage)))
+ (home-page "https://github.com/SahilKang/cl-rdkafka")
+ (synopsis "Common Lisp client library for Apache Kafka")
+ (description "A Common Lisp client library for Apache Kafka.")
+ (license license:gpl3)))
+
+(define-public cl-rdkafka
+ (sbcl-package->cl-source-package sbcl-cl-rdkafka))
+
+(define-public sbcl-acclimation
+ (let ((commit "4d51150902568fcd59335f4cc4cfa022df6116a5"))
+ (package
+ (name "sbcl-acclimation")
+ (version (git-version "0.0.0" "1" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/robert-strandh/Acclimation")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1aw7rarjl8ai57h0jxnp9hr3dka7qrs55mmbl1p6rhd6xj8mp9wq"))))
+ (build-system asdf-build-system/sbcl)
+ (home-page "https://github.com/robert-strandh/Acclimation")
+ (synopsis "Internationalization library for Common Lisp")
+ (description "This project is meant to provide tools for
+internationalizing Common Lisp programs.
+
+One important aspect of internationalization is of course the language used in
+error messages, documentation strings, etc. But with this project we provide
+tools for all other aspects of internationalization as well, including dates,
+weight, temperature, names of physical quantitites, etc.")
+ (license license:bsd-2))))
+
+(define-public cl-acclimation
+ (sbcl-package->cl-source-package sbcl-acclimation))
+
+(define-public sbcl-clump-2-3-tree
+ (let ((commit "1ea4dbac1cb86713acff9ae58727dd187d21048a"))
+ (package
+ (name "sbcl-clump-2-3-tree")
+ (version (git-version "0.0.0" "1" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/robert-strandh/Clump")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh"))))
+ (arguments
+ '(#:asd-file "2-3-tree/clump-2-3-tree.asd"
+ #:asd-system-name "clump-2-3-tree"))
+ (inputs
+ `(("acclimation" ,sbcl-acclimation)))
+ (build-system asdf-build-system/sbcl)
+ (home-page "https://github.com/robert-strandh/Clump")
+ (synopsis "Implementation of 2-3 trees for Common Lisp")
+ (description "The purpose of this library is to provide a collection of
+implementations of trees.
+
+In contrast to existing libraries such as cl-containers, it does not impose a
+particular use for the trees. Instead, it aims for a stratified design,
+allowing client code to choose between different levels of abstraction.
+
+As a consequence of this policy, low-level interfaces are provided where
+the concrete representation is exposed, but also high level interfaces
+where the trees can be used as search trees or as trees that represent
+sequences of objects.")
+ (license license:bsd-2))))
+
+(define-public sbcl-clump-binary-tree
+ (package
+ (inherit sbcl-clump-2-3-tree)
+ (name "sbcl-clump-binary-tree")
+ (arguments
+ '(#:asd-file "Binary-tree/clump-binary-tree.asd"
+ #:asd-system-name "clump-binary-tree"))
+ (synopsis "Implementation of binary trees for Common Lisp")))
+
+(define-public sbcl-clump
+ (package
+ (inherit sbcl-clump-2-3-tree)
+ (name "sbcl-clump")
+ (arguments
+ '(#:asd-file "clump.asd"
+ #:asd-system-name "clump"))
+ (inputs
+ `(("clump-2-3-tree" ,sbcl-clump-2-3-tree)
+ ("clump-binary-tree" ,sbcl-clump-binary-tree)))
+ (synopsis "Collection of tree implementations for Common Lisp")))
+
+(define-public cl-clump
+ (sbcl-package->cl-source-package sbcl-clump))
+
+(define-public sbcl-cluffer-base
+ (let ((commit "4aad29c276a58a593064e79972ee4d77cae0af4a"))
+ (package
+ (name "sbcl-cluffer-base")
+ (version (git-version "0.0.0" "1" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/robert-strandh/cluffer")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1bcg13g7qb3dr8z50aihdjqa6miz5ivlc9wsj2csgv1km1mak2kj"))))
+ (arguments
+ '(#:asd-file "Base/cluffer-base.asd"
+ #:asd-system-name "cluffer-base"))
+ (inputs
+ `(("acclimation" ,sbcl-acclimation)))
+ (build-system asdf-build-system/sbcl)
+ (home-page "https://github.com/robert-strandh/cluffer")
+ (synopsis "Common Lisp library providing a protocol for text-editor buffers")
+ (description "Cluffer is a library for representing the buffer of a text
+editor. As such, it defines a set of CLOS protocols for client code to
+interact with the buffer contents in various ways, and it supplies different
+implementations of those protocols for different purposes.")
+ (license license:bsd-2))))
+
+(define-public sbcl-cluffer-standard-line
+ (package
+ (inherit sbcl-cluffer-base)
+ (name "sbcl-cluffer-standard-line")
+ (arguments
+ '(#:asd-file "Standard-line/cluffer-standard-line.asd"
+ #:asd-system-name "cluffer-standard-line"))
+ (inputs
+ `(("cluffer-base" ,sbcl-cluffer-base)))))
+
+(define-public sbcl-cluffer-standard-buffer
+ (package
+ (inherit sbcl-cluffer-base)
+ (name "sbcl-cluffer-standard-buffer")
+ (arguments
+ '(#:asd-file "Standard-buffer/cluffer-standard-buffer.asd"
+ #:asd-system-name "cluffer-standard-buffer"))
+ (inputs
+ `(("cluffer-base" ,sbcl-cluffer-base)
+ ("clump" ,sbcl-clump)))))
+
+(define-public sbcl-cluffer-simple-line
+ (package
+ (inherit sbcl-cluffer-base)
+ (name "sbcl-cluffer-simple-line")
+ (arguments
+ '(#:asd-file "Simple-line/cluffer-simple-line.asd"
+ #:asd-system-name "cluffer-simple-line"))
+ (inputs
+ `(("cluffer-base" ,sbcl-cluffer-base)))))
+
+(define-public sbcl-cluffer-simple-buffer
+ (package
+ (inherit sbcl-cluffer-base)
+ (name "sbcl-cluffer-simple-buffer")
+ (arguments
+ '(#:asd-file "Simple-buffer/cluffer-simple-buffer.asd"
+ #:asd-system-name "cluffer-simple-buffer"))
+ (inputs
+ `(("cluffer-base" ,sbcl-cluffer-base)))))
+
+(define-public sbcl-cluffer
+ (package
+ (inherit sbcl-cluffer-base)
+ (name "sbcl-cluffer")
+ (arguments
+ '(#:asd-file "cluffer.asd"
+ #:asd-system-name "cluffer"))
+ (inputs
+ `(("cluffer-base" ,sbcl-cluffer-base)
+ ("cluffer-standard-line" ,sbcl-cluffer-standard-line)
+ ("cluffer-standard-buffer" ,sbcl-cluffer-standard-buffer)
+ ("cluffer-simple-line" ,sbcl-cluffer-simple-line)
+ ("cluffer-simple-buffer" ,sbcl-cluffer-simple-buffer)))))
+
+(define-public cl-cluffer
+ (sbcl-package->cl-source-package sbcl-cluffer))