sharlatan pushed a commit to branch go-team
in repository guix.

commit 1ecb2fff881707f5daf3468c61c5c19968012fb9
Author: Sharlatan Hellseher <sharlata...@gmail.com>
AuthorDate: Fri Mar 28 22:03:36 2025 +0000

    gnu: go-github-com-prometheus-common: Improve package style, simplify.
    
    * gnu/packages/prometheus.scm (go-github-com-prometheus-common):
    Simplify package by using go-build-system parameters.
    [arguments] <skip-build?>: No go go files in project's root.
    <test-subdirs>: Move them here from custom 'check phase.
    <phases>: Do not delete 'build, skip it; use default 'check.
    [synopsis]: Fix it according to project's About.
    [description]: Add more context from the project's README.
    
    Change-Id: I05cfd5e2635b95cd3308f5a3543f6745d6c9079a
---
 gnu/packages/prometheus.scm | 63 ++++++++++++++++++++++++---------------------
 1 file changed, 33 insertions(+), 30 deletions(-)

diff --git a/gnu/packages/prometheus.scm b/gnu/packages/prometheus.scm
index ada59b9b25..073c460251 100644
--- a/gnu/packages/prometheus.scm
+++ b/gnu/packages/prometheus.scm
@@ -280,35 +280,28 @@ Prometheus metrics.")
     (build-system go-build-system)
     (arguments
      (list
+      #:skip-build? #t
       #:import-path "github.com/prometheus/common"
-      #:phases
-      #~(modify-phases %standard-phases
-          ;; XXX: Workaround for go-build-system's lack of Go modules support.
-          (delete 'build)
-          (replace 'check
-            (lambda* (#:key tests? import-path #:allow-other-keys)
-              (when tests?
-                (with-directory-excursion (string-append "src/" import-path)
-                  (invoke "go" "test" "-v"
-                          ;; Skipp, as it requires
-                          ;; <github.com/prometheus/client_golang/prometheus>,
-                          ;; which introduces cycle.
-                          ;; "./config/..."
+      #:test-subdirs
+      #~(list
+         ;; Skipp, as it requires
+         ;; <github.com/prometheus/client_golang/prometheus>, which introduces
+         ;; cycle.
+         ;; "./config/..."
 
-                          ;; Some tests fail on non x86_64 architecture:
-                          ;; Cannot use 9223372036 (untyped int constant) as 
int
-                          ;; value in ;; struct literal (overflows).
-                          ;; Cannot use math.MaxInt64
-                          ;; (untyped int constant 9223372036854775807) as int 
value
-                          ;; in argument to HumanizeTimestamp (overflows)
-                          #$@(if (target-x86-64?)
-                                 '("./helpers/...")
-                                 '())
-                          "./expfmt/..."
-                          "./model/..."
-                          "./promlog/..."
-                          "./route/..."
-                          "./server/..."))))))))
+         ;; Some tests fail on non x86_64 architecture: Cannot use 9223372036
+         ;; (untyped int constant) as int value in ;; struct literal
+         ;; (overflows).  Cannot use math.MaxInt64 (untyped int constant
+         ;; 9223372036854775807) as int value in argument to HumanizeTimestamp
+         ;; (overflows)
+         #$@(if (target-x86-64?)
+                '("./helpers/...")
+                '())
+         "./expfmt/..."
+         "./model/..."
+         "./promlog/..."
+         "./route/..."
+         "./server/...")))
     (native-inputs
      (list go-github-com-stretchr-testify))
     (propagated-inputs
@@ -324,10 +317,20 @@ Prometheus metrics.")
            go-google-golang-org-protobuf
            go-gopkg-in-yaml-v2))
     (home-page "https://github.com/prometheus/common";)
-    (synopsis "Prometheus metrics")
+    (synopsis "Shared Prometheus Golang components")
     (description
-     "This package provides tools for reading and writing Prometheus
-metrics.")
+     "This package provides Go libraries that are shared across Prometheus
+components.
+
+@itemize
+@item @code{config} - common configuration structures
+@item @code{expfmt} - decoding and encoding for the exposition format
+@item @code{model} - shared data structures
+@item @code{promslog} - a logging wrapper around log/slog
+@item @code{route} - a routing wrapper around httprouter using context.Context
+@item @code{server} - common servers
+@item @code{version} version information and metrics
+@end itemize")
     (license license:asl2.0)))
 
 (define-public go-github-com-prometheus-common-assets

Reply via email to