diff options
Diffstat (limited to 'gnu/packages/lisp-xyz.scm')
-rw-r--r-- | gnu/packages/lisp-xyz.scm | 816 |
1 files changed, 637 insertions, 179 deletions
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 60fb4b0487..025d1bc9ef 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -2876,7 +2876,41 @@ Lisp implementations.") (inputs `(("iterate" ,sbcl-iterate) ("cffi" ,sbcl-cffi) - ("trivial-features" ,sbcl-trivial-features))) + ("trivial-features" ,sbcl-trivial-features) + ("glib" ,glib) + ("cairo" ,cairo) + ("pango" ,pango) + ("gdk-pixbuf" ,gdk-pixbuf) + ("gtk" ,gtk+))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "glib/glib.init.lisp" + (("libglib|libgthread" all) + (string-append (assoc-ref inputs "glib") "/lib/" all))) + (substitute* "gobject/gobject.init.lisp" + (("libgobject" all) + (string-append (assoc-ref inputs "glib") "/lib/" all))) + (substitute* "gio/gio.init.lisp" + (("libgio" all) + (string-append (assoc-ref inputs "glib") "/lib/" all))) + (substitute* "cairo/cairo.init.lisp" + (("libcairo" all) + (string-append (assoc-ref inputs "cairo") "/lib/" all))) + (substitute* "pango/pango.init.lisp" + (("libpango" all) + (string-append (assoc-ref inputs "pango") "/lib/" all))) + (substitute* "gdk-pixbuf/gdk-pixbuf.init.lisp" + (("libgdk_pixbuf" all) + (string-append (assoc-ref inputs "gdk-pixbuf") "/lib/" all))) + (substitute* "gdk/gdk.init.lisp" + (("libgdk" all) + (string-append (assoc-ref inputs "gtk") "/lib/" all))) + (substitute* "gdk/gdk.package.lisp" + (("libgtk" all) + (string-append (assoc-ref inputs "gtk") "/lib/" all)))))))) (home-page "https://github.com/Ferada/cl-cffi-gtk/") (synopsis "Common Lisp binding for GTK+3") (description @@ -2889,192 +2923,155 @@ is a library for creating graphical user interfaces.") (inherit sbcl-cl-cffi-gtk-boot0) (name "sbcl-cl-cffi-gtk-glib") (inputs - `(("glib" ,glib) - ("bordeaux-threads" ,sbcl-bordeaux-threads) + `(("bordeaux-threads" ,sbcl-bordeaux-threads) ,@(package-inputs sbcl-cl-cffi-gtk-boot0))) (arguments - `(#:asd-file "glib/cl-cffi-gtk-glib.asd" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "glib/glib.init.lisp" - (("libglib|libgthread" all) - (string-append (assoc-ref inputs "glib") "/lib/" all)))))))))) + (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0) + ((#:asd-file _ "") "glib/cl-cffi-gtk-glib.asd"))))) (define-public sbcl-cl-cffi-gtk-gobject (package (inherit sbcl-cl-cffi-gtk-boot0) (name "sbcl-cl-cffi-gtk-gobject") (inputs - `(("glib" ,glib) - ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib) + `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib) ("trivial-garbage" ,sbcl-trivial-garbage) ("bordeaux-threads" ,sbcl-bordeaux-threads) ("closer-mop" ,sbcl-closer-mop) ,@(package-inputs sbcl-cl-cffi-gtk-boot0))) (arguments - `(#:asd-file "gobject/cl-cffi-gtk-gobject.asd" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "gobject/gobject.init.lisp" - (("libgobject" all) (string-append - (assoc-ref inputs "glib") "/lib/" all))))) - (add-after 'install 'link-source - ;; Since source is particularly heavy (16MiB+), let's reuse it - ;; across the different components of cl-ffi-gtk. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-glib")) - (out-source (string-append (assoc-ref outputs "out") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-gobject"))) - (delete-file-recursively out-source) - (symlink glib-source out-source) - #t)))))))) + (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0) + ((#:asd-file _ "") "gobject/cl-cffi-gtk-gobject.asd") + ((#:phases phases) + `(modify-phases ,phases + (add-after 'install 'link-source + ;; Since source is particularly heavy (16MiB+), let's reuse it + ;; across the different components of cl-ffi-gtk. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-glib")) + (out-source (string-append (assoc-ref outputs "out") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-gobject"))) + (delete-file-recursively out-source) + (symlink glib-source out-source) + #t))))))))) (define-public sbcl-cl-cffi-gtk-gio (package (inherit sbcl-cl-cffi-gtk-boot0) (name "sbcl-cl-cffi-gtk-gio") (inputs - `(("glib" ,glib) - ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib) + `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib) ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject) ,@(package-inputs sbcl-cl-cffi-gtk-boot0))) (arguments - `(#:asd-file "gio/cl-cffi-gtk-gio.asd" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "gio/gio.init.lisp" - (("libgio" all) - (string-append - (assoc-ref inputs "glib") "/lib/" all))))) - (add-after 'install 'link-source - ;; Since source is particularly heavy (16MiB+), let's reuse it - ;; across the different components of cl-ffi-gtk. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-glib")) - (out-source (string-append (assoc-ref outputs "out") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-gio"))) - (delete-file-recursively out-source) - (symlink glib-source out-source) - #t)))))))) + (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0) + ((#:asd-file _ "") "gio/cl-cffi-gtk-gio.asd") + ((#:phases phases) + `(modify-phases ,phases + (add-after 'install 'link-source + ;; Since source is particularly heavy (16MiB+), let's reuse it + ;; across the different components of cl-ffi-gtk. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-glib")) + (out-source (string-append (assoc-ref outputs "out") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-gio"))) + (delete-file-recursively out-source) + (symlink glib-source out-source) + #t))))))))) (define-public sbcl-cl-cffi-gtk-cairo (package (inherit sbcl-cl-cffi-gtk-boot0) (name "sbcl-cl-cffi-gtk-cairo") (inputs - `(("cairo" ,cairo) - ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib) + `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib) ,@(package-inputs sbcl-cl-cffi-gtk-boot0))) (arguments - `(#:asd-file "cairo/cl-cffi-gtk-cairo.asd" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "cairo/cairo.init.lisp" - (("libcairo" all) - (string-append - (assoc-ref inputs "cairo") "/lib/" all))))) - (add-after 'install 'link-source - ;; Since source is particularly heavy (16MiB+), let's reuse it - ;; across the different components of cl-ffi-gtk. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-glib")) - (out-source (string-append (assoc-ref outputs "out") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-cairo"))) - (delete-file-recursively out-source) - (symlink glib-source out-source) - #t)))))))) + (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0) + ((#:asd-file _ "") "cairo/cl-cffi-gtk-cairo.asd") + ((#:phases phases) + `(modify-phases ,phases + (add-after 'install 'link-source + ;; Since source is particularly heavy (16MiB+), let's reuse it + ;; across the different components of cl-ffi-gtk. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-glib")) + (out-source (string-append (assoc-ref outputs "out") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-cairo"))) + (delete-file-recursively out-source) + (symlink glib-source out-source) + #t))))))))) (define-public sbcl-cl-cffi-gtk-pango (package (inherit sbcl-cl-cffi-gtk-boot0) (name "sbcl-cl-cffi-gtk-pango") (inputs - `(("pango" ,pango) - ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib) + `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib) ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject) ("cl-cffi-gtk-cairo" ,sbcl-cl-cffi-gtk-cairo) ,@(package-inputs sbcl-cl-cffi-gtk-boot0))) (arguments - `(#:asd-file "pango/cl-cffi-gtk-pango.asd" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "pango/pango.init.lisp" - (("libpango" all) - (string-append - (assoc-ref inputs "pango") "/lib/" all))))) - (add-after 'install 'link-source - ;; Since source is particularly heavy (16MiB+), let's reuse it - ;; across the different components of cl-ffi-gtk. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-glib")) - (out-source (string-append (assoc-ref outputs "out") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-pango"))) - (delete-file-recursively out-source) - (symlink glib-source out-source) - #t)))))))) + (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0) + ((#:asd-file _ "") "pango/cl-cffi-gtk-pango.asd") + ((#:phases phases) + `(modify-phases ,phases + (add-after 'install 'link-source + ;; Since source is particularly heavy (16MiB+), let's reuse it + ;; across the different components of cl-ffi-gtk. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-glib")) + (out-source (string-append (assoc-ref outputs "out") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-pango"))) + (delete-file-recursively out-source) + (symlink glib-source out-source) + #t))))))))) (define-public sbcl-cl-cffi-gtk-gdk-pixbuf (package (inherit sbcl-cl-cffi-gtk-boot0) (name "sbcl-cl-cffi-gtk-gdk-pixbuf") (inputs - `(("gdk-pixbuf" ,gdk-pixbuf) - ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject) + `(("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject) ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib) ,@(package-inputs sbcl-cl-cffi-gtk-boot0))) (arguments - `(#:asd-file "gdk-pixbuf/cl-cffi-gtk-gdk-pixbuf.asd" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "gdk-pixbuf/gdk-pixbuf.init.lisp" - (("libgdk_pixbuf" all) - (string-append - (assoc-ref inputs "gdk-pixbuf") "/lib/" all))))) - (add-after 'install 'link-source - ;; Since source is particularly heavy (16MiB+), let's reuse it - ;; across the different components of cl-ffi-gtk. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-glib")) - (out-source (string-append (assoc-ref outputs "out") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-gdk-pixbuf"))) - (delete-file-recursively out-source) - (symlink glib-source out-source) - #t)))))))) + (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0) + ((#:asd-file _ "") "gdk-pixbuf/cl-cffi-gtk-gdk-pixbuf.asd") + ((#:phases phases) + `(modify-phases ,phases + (add-after 'install 'link-source + ;; Since source is particularly heavy (16MiB+), let's reuse it + ;; across the different components of cl-ffi-gtk. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-glib")) + (out-source (string-append (assoc-ref outputs "out") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-gdk-pixbuf"))) + (delete-file-recursively out-source) + (symlink glib-source out-source) + #t))))))))) (define-public sbcl-cl-cffi-gtk-gdk (package (inherit sbcl-cl-cffi-gtk-boot0) (name "sbcl-cl-cffi-gtk-gdk") (inputs - `(("gtk" ,gtk+) - ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib) + `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib) ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject) ("cl-cffi-gtk-gio" ,sbcl-cl-cffi-gtk-gio) ("cl-cffi-gtk-gdk-pixbuf" ,sbcl-cl-cffi-gtk-gdk-pixbuf) @@ -3082,32 +3079,23 @@ is a library for creating graphical user interfaces.") ("cl-cffi-gtk-pango" ,sbcl-cl-cffi-gtk-pango) ,@(package-inputs sbcl-cl-cffi-gtk-boot0))) (arguments - `(#:asd-file "gdk/cl-cffi-gtk-gdk.asd" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "gdk/gdk.init.lisp" - (("libgdk" all) - (string-append - (assoc-ref inputs "gtk") "/lib/" all))) - (substitute* "gdk/gdk.package.lisp" - (("libgtk" all) - (string-append - (assoc-ref inputs "gtk") "/lib/" all))))) - (add-after 'install 'link-source - ;; Since source is particularly heavy (16MiB+), let's reuse it - ;; across the different components of cl-ffi-gtk. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-glib")) - (out-source (string-append (assoc-ref outputs "out") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-gdk"))) - (delete-file-recursively out-source) - (symlink glib-source out-source) - #t)))))))) + (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0) + ((#:asd-file _ "") "gdk/cl-cffi-gtk-gdk.asd") + ((#:phases phases) + `(modify-phases ,phases + (add-after 'install 'link-source + ;; Since source is particularly heavy (16MiB+), let's reuse it + ;; across the different components of cl-ffi-gtk. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-glib")) + (out-source (string-append (assoc-ref outputs "out") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-gdk"))) + (delete-file-recursively out-source) + (symlink glib-source out-source) + #t))))))))) (define-public sbcl-cl-cffi-gtk (package @@ -3122,26 +3110,27 @@ is a library for creating graphical user interfaces.") (native-inputs `(("fiveam" ,sbcl-fiveam))) (arguments - `(#:asd-file "gtk/cl-cffi-gtk.asd" - #:test-asd-file "test/cl-cffi-gtk-test.asd" + (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0) + ((#:asd-file _ "") "gtk/cl-cffi-gtk.asd") + ((#:test-asd-file _ "") "test/cl-cffi-gtk-test.asd") ;; TODO: Tests fail with memory fault. ;; See https://github.com/Ferada/cl-cffi-gtk/issues/24. - #:tests? #f - #:phases - (modify-phases %standard-phases - (add-after 'install 'link-source - ;; Since source is particularly heavy (16MiB+), let's reuse it - ;; across the different components of cl-ffi-gtk. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-glib")) - (out-source (string-append (assoc-ref outputs "out") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk"))) - (delete-file-recursively out-source) - (symlink glib-source out-source) - #t)))))))) + ((#:tests? _ #f) #f) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'install 'link-source + ;; Since source is particularly heavy (16MiB+), let's reuse it + ;; across the different components of cl-ffi-gtk. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-glib")) + (out-source (string-append (assoc-ref outputs "out") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk"))) + (delete-file-recursively out-source) + (symlink glib-source out-source) + #t))))))))) (define-public cl-cffi-gtk (sbcl-package->cl-source-package sbcl-cl-cffi-gtk)) @@ -3208,6 +3197,17 @@ WebKit browsing engine.") `(("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 @@ -5568,7 +5568,13 @@ and @code{kqueue(2)}), a pathname library and file-system utilities.") ((#:asd-system-name _) "iolib"))))) (define-public cl-iolib - (sbcl-package->cl-source-package sbcl-iolib)) + (let ((parent (sbcl-package->cl-source-package sbcl-iolib))) + (package + (inherit parent) + (propagated-inputs + ;; Need header to compile. + `(("libfixposix" ,libfixposix) + ,@(package-propagated-inputs parent)))))) (define-public sbcl-ieee-floats (let ((commit "566b51a005e81ff618554b9b2f0b795d3b29398d") @@ -5867,8 +5873,8 @@ neat APIs and connection-pooling. It is meant to supersede Drakma.") ;; asdf-build-system/source has its own phases and does not inherit ;; from asdf-build-system/sbcl phases. (modify-phases %standard-phases/source - (add-after 'unpack 'fix-permissions - (lambda _ (make-file-writable "t/data/test.gz") #t))))))) + ;; Already done in SBCL package. + (delete 'reset-gzip-timestamps)))))) (define-public ecl-dexador (sbcl-package->ecl-package sbcl-dexador)) @@ -11560,3 +11566,455 @@ accompaniment to the standard ANSI facilities.") (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") + (version "0.0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/deadtrickster/quantile-estimator.cl") + (commit "84d0ea405d793f5e808c68c4ddaf25417b0ff8e5"))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0rlswkf0siaabsvvch3dgxmg45fw5w8pd9b7ri2w7a298aya52z9")))) + (build-system asdf-build-system/sbcl) + (arguments + '(#:asd-system-name "quantile-estimator")) + (inputs + `(("alexandria" ,sbcl-alexandria))) + (home-page "https://github.com/deadtrickster/quantile-estimator.cl") + (synopsis + "Effective computation of biased quantiles over data streams") + (description + "Common Lisp implementation of Graham Cormode and S. +Muthukrishnan's Effective Computation of Biased Quantiles over Data +Streams in ICDE’05.") + (license license:expat))) + +(define-public cl-quantile-estimator + (sbcl-package->cl-source-package sbcl-quantile-estimator)) + +(define-public ecl-quantile-estimator + (sbcl-package->ecl-package sbcl-quantile-estimator)) + +(define-public sbcl-prometheus + (package + (name "sbcl-prometheus") + (version "0.4.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/deadtrickster/prometheus.cl.git") + (commit "7352b92296996ff383503e19bdd3bcea30409a15"))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0fzczls2kfgdx18pja4lqxjrz72i583185d8nq0pb3s331hhzh0z")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("alexandria" ,sbcl-alexandria) + ("bordeaux-threads" ,sbcl-bordeaux-threads) + ("cl-ppcre" ,sbcl-cl-ppcre) + ("local-time" ,sbcl-local-time) + ("quantile-estimator" ,sbcl-quantile-estimator))) + (home-page "https://github.com/deadtrickster/prometheus.cl") + (synopsis "Prometheus.io Common Lisp client") + (description "Prometheus.io Common Lisp client.") + (license license:expat))) + +(define-public cl-prometheus + (sbcl-package->cl-source-package sbcl-prometheus)) + +(define-public ecl-prometheus + (sbcl-package->ecl-package sbcl-prometheus)) + +(define-public sbcl-prometheus.collectors.sbcl + (package + (inherit sbcl-prometheus) + (name "sbcl-prometheus.collectors.sbcl") + (inputs `(("prometheus" ,sbcl-prometheus))) + (synopsis "Prometheus collector for SBCL metrics") + (description "Prometheus collector for SBCL metrics."))) + +(define-public cl-prometheus.collectors.sbcl + (sbcl-package->cl-source-package sbcl-prometheus.collectors.sbcl)) + +(define-public sbcl-prometheus.collectors.process + (package + (inherit sbcl-prometheus) + (name "sbcl-prometheus.collectors.process") + (inputs + `(("cffi" ,sbcl-cffi) + ("cffi-grovel" ,sbcl-cffi-grovel) + ("cl-fad" ,sbcl-cl-fad) + ("prometheus" ,sbcl-prometheus) + ("split-sequence" ,sbcl-split-sequence))) + (synopsis "Prometheus collector for process metrics") + (description "Prometheus collector for process metrics."))) + +(define-public cl-prometheus.collectors.process + (sbcl-package->cl-source-package sbcl-prometheus.collectors.process)) + +(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)) |