From 0a785df42a9c4c2693a1e952d3e253a0d8a552cb Mon Sep 17 00:00:00 2001 From: Katherine Cox-Buday Date: Wed, 3 Jun 2020 09:33:57 -0500 Subject: [PATCH 2/2] gnu: Add cl-rdkafka. * gnu/packages/lisp-xyz.scm (sbcl-cl-rdkafka, cl-rdkafka, ecl-rdkafka): New variable. --- 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 b47d80b108..e9dbad7ce8 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -11566,3 +11566,54 @@ accompaniment to the standard ANSI facilities.") (define-public cl-osicat (sbcl-package->cl-source-package sbcl-osicat)) + +(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 + `(("cffi" ,sbcl-cffi) + ("cffi" ,sbcl-cffi-grovel) + ("trivial-garbage" ,sbcl-trivial-garbage) + ("bordeaux-threads" ,sbcl-bordeaux-threads) + ("lparallel" ,sbcl-lparallel) + ("librdkafka" ,librdkafka))) + (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 ecl-cl-rdkafka + (sbcl-package->ecl-package sbcl-cl-rdkafka)) -- 2.26.2