all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Leo Nikkilä" <hello@lnikki.la>
To: "Maxime Devos" <maximedevos@telenet.be>, 54560@debbugs.gnu.org
Subject: [bug#54560] [PATCH 01/47] gnu: Add go-google-golang-org-protobuf.
Date: Fri, 25 Mar 2022 22:55:34 +0000	[thread overview]
Message-ID: <d9a05508-917d-4463-b871-8b173edc6fae@beta.fastmail.com> (raw)
In-Reply-To: <dca13a250afd432222c97e4ffbed6c58d533804f.camel@telenet.be>

> see go-github-com-golang-protobuf-proto.

I clarified the difference between github.com/golang/protobuf and google.golang.org/protobuf under 03/47.

Should <https://issues.guix.gnu.org/48259> be applied, the separate `-proto` and `-ptypes` packages could certainly be replaced by the merged package.

> What are ‘glob paths’ here?  They don't appear to be used anywhere else
> in Guix.  What's the problem with the default build phase?

There's no top-level package in google.golang.org/protobuf, instead the repository consists of individual packages which depend on each other.

Looking at (gnu packages golang), I see two ways this has been dealt with before: splitting each one into multiple Guix packages, or building all of the packages together in one Guix package.

There are many of these packages in the repository [0], and another list of "internal" packages [1]. (This listing doesn't cover all of them, some are deeper within the tree.) In order to use this library you'll need most of them, and splitting each one into a separate Guix package feels unnecessary.

There are examples in (gnu packages golang) where a single Guix package contains many Golang packages, e.g. go-github-com-blanu-dust, redefining build phases to reduce a list of packages instead.

However, the number of these packages makes this approach difficult. The list of internal packages is not considered public nor stable; these are added and removed between releases. Maintaining a list of these within Guix seems prone to breaking during the update process.

`go build' and others support wildcards [2], which are also used within build scripts of the library [3]. Since the upstream build makes use of these, I thought they would be fair game to build it.

However, due to how go-build-system correlates these import paths with directory paths, supporting wildcards in `#:import-path` directly would require further changes to the build system.

Adapting how go-github-com-blanu-dust and others call these build phases directly, I found this to be the simplest way to use the wildcard capability, and avoid having to maintain a list of the packages within Guix directly.

Happy to try out other approaches, this is just what I came up with earlier.

I should've also specified `wildcard' instead of `glob' when naming this.

[0]: https://github.com/protocolbuffers/protobuf-go#package-ind
[1]: https://github.com/protocolbuffers/protobuf-go/tree/v1.27.1/internal
[2]: https://pkg.go.dev/cmd/go#hdr-Package_lists_and_patterns
[3]: https://github.com/protocolbuffers/protobuf-go/blob/v1.27.1/integration_test.go#L118-L120




  reply	other threads:[~2022-03-25 22:56 UTC|newest]

Thread overview: 83+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-25  5:55 [bug#54560] [PATCH 00/47] gnu: Add go-github-com-prometheus-prometheus Leo Nikkilä
2022-03-25 13:31 ` [bug#54560] [PATCH 01/47] gnu: Add go-google-golang-org-protobuf Leo Nikkilä
2022-03-25 13:31   ` [bug#54560] [PATCH 02/47] gnu: go-github-com-golang-protobuf-proto: Update to 1.5.2 Leo Nikkilä
2022-03-25 19:12     ` Maxime Devos
2022-03-25 22:55       ` Leo Nikkilä
2022-03-25 13:31   ` [bug#54560] [PATCH 03/47] gnu: Add go-github-com-golang-protobuf-ptypes Leo Nikkilä
2022-03-25 19:14     ` Maxime Devos
2022-03-25 13:31   ` [bug#54560] [PATCH 04/47] gnu: go-github-com-prometheus-client-golang: Update to 1.12.1 Leo Nikkilä
2022-03-25 19:19     ` Maxime Devos
2022-03-25 19:20     ` Maxime Devos
2022-03-25 19:22     ` Maxime Devos
2022-03-25 19:23     ` Maxime Devos
2022-03-25 19:24     ` Maxime Devos
2022-03-25 22:55       ` Leo Nikkilä
2022-03-25 13:31   ` [bug#54560] [PATCH 05/47] gnu: Add go-github-com-asaskevich-govalidator Leo Nikkilä
2022-03-25 19:26     ` Maxime Devos
2022-03-25 13:31   ` [bug#54560] [PATCH 06/47] gnu: Add go-github-com-dennwc-varint Leo Nikkilä
2022-03-25 19:30     ` Maxime Devos
2022-03-25 13:31   ` [bug#54560] [PATCH 07/47] gnu: Add go-github-com-edsrzf-mmap-go Leo Nikkilä
2022-03-25 19:33     ` Maxime Devos
2022-03-25 19:35     ` Maxime Devos
2022-03-25 13:31   ` [bug#54560] [PATCH 08/47] gnu: Add go-github-com-go-logfmt-logfmt Leo Nikkilä
2022-03-25 19:38     ` Maxime Devos
2022-03-25 13:31   ` [bug#54560] [PATCH 09/47] gnu: Add go-github-com-go-kit-log Leo Nikkilä
2022-03-25 13:31   ` [bug#54560] [PATCH 10/47] gnu: Add go-github-com-go-stack-stack Leo Nikkilä
2022-03-25 13:31   ` [bug#54560] [PATCH 11/47] gnu: Add go-github-com-josharian-intern Leo Nikkilä
2022-03-25 19:40     ` Maxime Devos
2022-03-25 19:41     ` Maxime Devos
2022-03-25 13:31   ` [bug#54560] [PATCH 12/47] gnu: Add go-github-com-julienschmidt-httprouter Leo Nikkilä
2022-03-25 19:47     ` Maxime Devos
2022-03-25 13:31   ` [bug#54560] [PATCH 13/47] gnu: Add go-github-com-mailru-easyjson Leo Nikkilä
2022-03-25 19:49     ` Maxime Devos
2022-03-25 13:31   ` [bug#54560] [PATCH 14/47] gnu: Add go-github-com-modern-go-concurrent Leo Nikkilä
2022-03-25 19:50     ` Maxime Devos
2022-03-25 19:51     ` Maxime Devos
2022-03-25 13:31   ` [bug#54560] [PATCH 15/47] gnu: Add go-github-com-modern-go-reflect2 Leo Nikkilä
2022-03-25 13:31   ` [bug#54560] [PATCH 16/47] gnu: Add go-github-com-montanaflynn-stats Leo Nikkilä
2022-03-25 13:31   ` [bug#54560] [PATCH 17/47] gnu: Add go-github-com-mwitkow-go-conntrack Leo Nikkilä
2022-03-25 13:31   ` [bug#54560] [PATCH 18/47] gnu: Add go-github-com-oklog-run Leo Nikkilä
2022-03-25 13:31   ` [bug#54560] [PATCH 19/47] gnu: Add go-github-com-oklog-ulid Leo Nikkilä
2022-03-25 13:31   ` [bug#54560] [PATCH 20/47] gnu: Add go-github-com-opentracing-contrib-go-stdlib Leo Nikkilä
2022-03-25 13:31   ` [bug#54560] [PATCH 21/47] gnu: Add go-github-com-puerkitobio-urlesc Leo Nikkilä
2022-03-25 13:31   ` [bug#54560] [PATCH 22/47] gnu: Add go-github-com-puerkitobio-purell Leo Nikkilä
2022-03-25 13:31   ` [bug#54560] [PATCH 23/47] gnu: Add go-github-com-shurcool-httpgzip Leo Nikkilä
2022-03-25 13:31   ` [bug#54560] [PATCH 24/47] gnu: Add go-github-com-shurcool-httpfs Leo Nikkilä
2022-03-25 13:31   ` [bug#54560] [PATCH 25/47] gnu: Add go-github-com-shurcool-vfsgen Leo Nikkilä
2022-03-25 13:31   ` [bug#54560] [PATCH 26/47] gnu: Add go-github-com-simonpasquier-klog-gokit Leo Nikkilä
2022-03-25 13:31   ` [bug#54560] [PATCH 27/47] gnu: Add go-github-com-simonpasquier-klog-gokit-v3 Leo Nikkilä
2022-03-25 13:31   ` [bug#54560] [PATCH 28/47] gnu: Add go-github-com-tidwall-pretty Leo Nikkilä
2022-03-25 13:31   ` [bug#54560] [PATCH 29/47] gnu: Add go-github-com-uber-jaeger-lib Leo Nikkilä
2022-03-25 13:31   ` [bug#54560] [PATCH 30/47] gnu: Add go-github-com-uber-jaeger-client-go Leo Nikkilä
2022-03-25 13:31   ` [bug#54560] [PATCH 31/47] gnu: Add go-github-com-youmark-pkcs8 Leo Nikkilä
2022-03-25 13:31   ` [bug#54560] [PATCH 32/47] gnu: Add go-go-uber-org-goleak Leo Nikkilä
2022-03-25 13:31   ` [bug#54560] [PATCH 33/47] gnu: Add go-gopkg-in-alecthomas-kingpin.v2 Leo Nikkilä
2022-03-25 13:31   ` [bug#54560] [PATCH 34/47] gnu: Add go-github-com-json-iterator-go Leo Nikkilä
2022-03-25 13:31   ` [bug#54560] [PATCH 35/47] gnu: Add go-go-mongodb-org-mongo-driver Leo Nikkilä
2022-03-25 13:32   ` [bug#54560] [PATCH 36/47] gnu: Add go-github-com-go-openapi-errors Leo Nikkilä
2022-03-25 13:32   ` [bug#54560] [PATCH 37/47] gnu: Add go-github-com-go-openapi-swag Leo Nikkilä
2022-03-25 13:32   ` [bug#54560] [PATCH 38/47] gnu: Add go-github-com-go-openapi-jsonpointer Leo Nikkilä
2022-03-25 13:32   ` [bug#54560] [PATCH 39/47] gnu: Add go-github-com-go-openapi-jsonreference Leo Nikkilä
2022-03-25 13:32   ` [bug#54560] [PATCH 40/47] gnu: Add go-github-com-go-openapi-spec Leo Nikkilä
2022-03-25 13:32   ` [bug#54560] [PATCH 41/47] gnu: Add go-github-com-go-openapi-strfmt Leo Nikkilä
2022-03-25 13:32   ` [bug#54560] [PATCH 42/47] gnu: Add go-github-com-go-openapi-analysis Leo Nikkilä
2022-03-25 13:32   ` [bug#54560] [PATCH 43/47] gnu: Add go-github-com-go-openapi-loads Leo Nikkilä
2022-03-25 13:32   ` [bug#54560] [PATCH 44/47] gnu: Add go-github-com-go-openapi-validate Leo Nikkilä
2022-03-25 13:32   ` [bug#54560] [PATCH 45/47] gnu: Add go-github-com-prometheus-alertmanager-api Leo Nikkilä
2022-03-25 13:32   ` [bug#54560] [PATCH 46/47] gnu: Add go-github-com-prometheus-exporter-toolkit Leo Nikkilä
2022-03-25 19:52     ` Maxime Devos
2022-03-25 22:55       ` Leo Nikkilä
2022-03-25 13:32   ` [bug#54560] [PATCH 47/47] gnu: Add go-github-com-prometheus-prometheus Leo Nikkilä
2022-03-25 20:04     ` Maxime Devos
2022-03-25 20:05     ` Maxime Devos
2022-03-25 22:55       ` Leo Nikkilä
2022-03-25 19:09   ` [bug#54560] [PATCH 01/47] gnu: Add go-google-golang-org-protobuf Maxime Devos
2022-03-25 19:15   ` Maxime Devos
2022-03-25 22:55     ` Leo Nikkilä [this message]
2022-03-26  9:31       ` Maxime Devos
2022-03-25 19:55 ` [bug#54560] [PATCH 00/47] gnu: Add go-github-com-prometheus-prometheus Maxime Devos
2022-03-25 19:59 ` Maxime Devos
2022-03-25 22:53   ` Leo Nikkilä
2022-03-26  9:18     ` Maxime Devos
2022-03-26  9:36     ` Maxime Devos
2024-05-23 15:20 ` Sharlatan Hellseher

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d9a05508-917d-4463-b871-8b173edc6fae@beta.fastmail.com \
    --to=hello@lnikki.la \
    --cc=54560@debbugs.gnu.org \
    --cc=maximedevos@telenet.be \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.