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