From 2bdbde56429d655bc75dad51ed9d7d4f9baccc91 Mon Sep 17 00:00:00 2001 From: Charles Date: Tue, 19 Oct 2021 23:46:35 -0500 Subject: [PATCH 4/4] gnu: Add cl-redis. * gnu/packages/lisp-xyz.scm (cl-redis sbcl-redis ecl-redis): New variables. --- gnu/packages/lisp-xyz.scm | 51 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 545fe86636..924ed5f862 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -3224,6 +3224,57 @@ (define-public cl-sqlite (define-public ecl-cl-sqlite (sbcl-package->ecl-package sbcl-cl-sqlite)) +(define-public sbcl-redis + (let ((commit "7d592417421cf7cd1cffa96043b457af0490df7d") + (revision "0")) + (package + (name "sbcl-redis") + (version (git-version "2.3.8" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/vseloved/cl-redis") + (commit commit))) + (file-name (git-file-name "cl-redis" version)) + (sha256 + (base32 "0x5ahxb5cx37biyn3cjycshhm1rr9p5cf1a9l5hd1n1xjxm2f8vi")))) + (build-system asdf-build-system/sbcl) + (arguments + '(#:asd-systems (list "cl-redis") + #:phases + (modify-phases %standard-phases + (add-before 'check 'start-redis + (lambda _ + (system "redis-server --port 6379 &") + #t)) + (add-after 'check 'stop-redis + (lambda _ + (system "redis-cli -p 6379 shutdown") + #t))))) + (native-inputs + `(("bordeaux-threads" ,sbcl-bordeaux-threads) + ("flexi-streams" ,sbcl-flexi-streams) + ("redis" ,redis) + ("should-test" ,sbcl-should-test))) + (inputs + `(("babel" ,sbcl-babel) + ("cl-ppcre" ,sbcl-cl-ppcre) + ("flexi-streams" ,sbcl-flexi-streams) + ("rutils" ,sbcl-rutils) + ("usocket" ,sbcl-usocket))) + (home-page "https://github.com/vseloved/cl-redis") + (synopsis "Fast and robust Common Lisp client for Redis") + (description "This is a Common Lisp wrapper for interacting with the +Redis data structure store.") + (license license:expat)))) + +(define-public cl-redis + (sbcl-package->cl-source-package sbcl-redis)) + +(define-public ecl-redis + (sbcl-package->ecl-package sbcl-redis)) + (define-public sbcl-parenscript ;; Source archives are overwritten on every release, we use the Git repo instead. (let ((commit "7a1ac46353cecd144fc91915ba9f122aafcf4766")) -- 2.33.0