Subject: [PATCH 00/47] gnu: Add go-github-com-prometheus-prometheus.

From: Leo Nikkilä <[email-masked]>
Date: Fri, 25 Mar 2022 07:55:17 +0200

Hi there. Long-time Guix user, first-time contributor.

I've been chipping away at packaging Prometheus for quite some time now.
The dependency tree turned out to be sizeable, apologies for the long
list of patches. Most of these are new packages.

I've had to resort to some tricks to reduce this effort:

  * Most discovery plugins are patched out for now using a lightweight
    patch, as they pulled in far more dependencies than was manageable
    in a single patch set.

  * I'm targeting the previous version. The latest version released a
    few weeks ago (2.34.0) uses OpenTelemetry for tracing, pulling in
    another complex set of dependencies, and I didn't want to patch out
    tracing entirely.

Some additional notes:

  * Alertmanager and other components are not included, nor the web UI
    written in JavaScript. My goal was to get the base server running.

  * The version of go-golang-org-x-net currently in Guix is slightly
    older, and doesn't include the HTTP/2 ConfigureTransports function.
    I thought I'd rather not update this package to avoid rebuilding its
    dependents, and resorted to another patch.

  * A couple of the Prometheus packages already existed under (gnu
    packages syncthing), although unused. These look like remnants of
    older packages. I kept them in the same module, but added new
    packages under (gnu packages golang).

    There might be appetite to consolidate all of these Prometheus
    dependencies under (gnu packages golang), I'm willing to put in the
    work if that's the case.

I've tested this package on x86_64 and aarch64, and attempted to follow
the relevant style guides as best I could. Let me know if (when) there's
anything I've missed.

Looking forward to your feedback!

Leo Nikkilä (47):
  gnu: Add go-google-golang-org-protobuf.
  gnu: go-github-com-golang-protobuf-proto: Update to 1.5.2.
  gnu: Add go-github-com-golang-protobuf-ptypes.
  gnu: go-github-com-prometheus-client-golang: Update to 1.12.1.
  gnu: Add go-github-com-asaskevich-govalidator.
  gnu: Add go-github-com-dennwc-varint.
  gnu: Add go-github-com-edsrzf-mmap-go.
  gnu: Add go-github-com-go-logfmt-logfmt.
  gnu: Add go-github-com-go-kit-log.
  gnu: Add go-github-com-go-stack-stack.
  gnu: Add go-github-com-josharian-intern.
  gnu: Add go-github-com-julienschmidt-httprouter.
  gnu: Add go-github-com-mailru-easyjson.
  gnu: Add go-github-com-modern-go-concurrent.
  gnu: Add go-github-com-modern-go-reflect2.
  gnu: Add go-github-com-montanaflynn-stats.
  gnu: Add go-github-com-mwitkow-go-conntrack.
  gnu: Add go-github-com-oklog-run.
  gnu: Add go-github-com-oklog-ulid.
  gnu: Add go-github-com-opentracing-contrib-go-stdlib.
  gnu: Add go-github-com-puerkitobio-urlesc.
  gnu: Add go-github-com-puerkitobio-purell.
  gnu: Add go-github-com-shurcool-httpgzip.
  gnu: Add go-github-com-shurcool-httpfs.
  gnu: Add go-github-com-shurcool-vfsgen.
  gnu: Add go-github-com-simonpasquier-klog-gokit.
  gnu: Add go-github-com-simonpasquier-klog-gokit-v3.
  gnu: Add go-github-com-tidwall-pretty.
  gnu: Add go-github-com-uber-jaeger-lib.
  gnu: Add go-github-com-uber-jaeger-client-go.
  gnu: Add go-github-com-youmark-pkcs8.
  gnu: Add go-go-uber-org-goleak.
  gnu: Add go-gopkg-in-alecthomas-kingpin.v2.
  gnu: Add go-github-com-json-iterator-go.
  gnu: Add go-go-mongodb-org-mongo-driver.
  gnu: Add go-github-com-go-openapi-errors.
  gnu: Add go-github-com-go-openapi-swag.
  gnu: Add go-github-com-go-openapi-jsonpointer.
  gnu: Add go-github-com-go-openapi-jsonreference.
  gnu: Add go-github-com-go-openapi-spec.
  gnu: Add go-github-com-go-openapi-strfmt.
  gnu: Add go-github-com-go-openapi-analysis.
  gnu: Add go-github-com-go-openapi-loads.
  gnu: Add go-github-com-go-openapi-validate.
  gnu: Add go-github-com-prometheus-alertmanager-api.
  gnu: Add go-github-com-prometheus-exporter-toolkit.
  gnu: Add go-github-com-prometheus-prometheus.

 gnu/packages/golang.scm                       | 1248 ++++++++++++++++-
 gnu/packages/monitoring.scm                   |   83 ++
 ...etheus-common-remove-readidletimeout.patch |   28 +
 ...om-prometheus-prometheus-remove-deps.patch |   33 +
 gnu/packages/syncthing.scm                    |  182 +--
 5 files changed, 1489 insertions(+), 85 deletions(-)
 create mode 100644 gnu/packages/patches/go-github-com-prometheus-common-remove-readidletimeout.patch
 create mode 100644 gnu/packages/patches/go-github-com-prometheus-prometheus-remove-deps.patch

base-commit: d05fcc21cb9509084a0424e6808b84b58dc52d62
-- 
2.34.0