From 4070532fb94bf0db9053094d6db04647927c5efb Mon Sep 17 00:00:00 2001 From: Katherine Cox-Buday Date: Tue, 2 Jun 2020 12:25:14 -0500 Subject: [PATCH 2/8] gnu: Add Common-Lisp prometheus package. * gnu/packages/lisp-xyz.scm (sbcl-prometheus, cl-prometheus, ecl-prometheus) (sbcl-prometheus.collectors.sbcl, cl-prometheus.collectors.sbcl) (sbcl-prometheus.collectors.process, cl-prometheus.collectors.process) (ecl-prometheus.collectors.process, sbcl-prometheus.formats.text) (cl-prometheus.formats.text, ecl-prometheus.formats.text) (sbcl-prometheus.exposers.hunchentoot, cl-prometheus.exposers.hunchentoot) (sbcl-prometheus.pushgateway, sbcl-prometheus.pushgateway) (ecl-prometheus.pushgateway): New variable. --- gnu/packages/lisp-xyz.scm | 111 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index bf679e8f6c..08942cc3cf 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -11590,3 +11590,114 @@ Streams in ICDE’05") (define-public ecl-quantile-estimator (sbcl-package->ecl-package sbcl-quantile-estimator.cl)) + +(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.cl" ,sbcl-quantile-estimator.cl))) + (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 + `(("prometheus" ,sbcl-prometheus) + ("cl-fad" ,sbcl-cl-fad) + ("split-sequence" ,sbcl-split-sequence) + ("cffi" ,sbcl-cffi) + ("cffi-groven" ,sbcl-cffi-grovel))) + (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 + `(("prometheus" ,sbcl-prometheus) + ("alexandria" ,sbcl-alexandria))) + (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 + `(("prometheus" ,sbcl-prometheus) + ("prometheus.formats.text" ,sbcl-prometheus.formats.text) + ("hunchentoot" ,sbcl-hunchentoot) + ("trivial-utf-8" ,sbcl-trivial-utf-8) + ("salza2" ,sbcl-salza2))) + (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 + `(("prometheus" ,sbcl-prometheus) + ("prometheus.formats.text" ,sbcl-prometheus.formats.text) + ("drakma" ,sbcl-drakma))) + (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)) -- 2.26.2