(address . guix-patches@gnu.org)(name . Leo Nikkilä)(address . hello@lnikki.la)
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