unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Leo Famulari <leo@famulari.name>
To: Xinglu Chen <public@yoctocell.xyz>
Cc: 47539@debbugs.gnu.org, Leo Prikler <leo.prikler@student.tugraz.at>
Subject: [bug#47539]
Date: Sun, 6 Jun 2021 13:26:41 -0400	[thread overview]
Message-ID: <YL0FUavYzNcSMozk@jasmine.lan> (raw)
In-Reply-To: <87mts486ln.fsf@yoctocell.xyz>

On Sat, Jun 05, 2021 at 09:16:36PM +0200, Xinglu Chen wrote:
> On Fri, May 21 2021, Leo Famulari wrote:
> > I notice that (most of?) the new packages use native-inputs for their
> > dependencies.
> >
> > If these dependencies are used at run-time, I would propagate them
> > instead. This way, they will be available in the build environment of
> > packages that depend on the package that is using them, which matters
> > for our go-build-system, where everything is built from scratch in each
> > package. If I remember correctly, that is...
> 
> I am not familiar with the Go ecosystem, is there a way to tell if a
> dependency is used at runtime?

Remember, Go uses static compilation, so Guix's concept of "runtime"
dependencies doesn't apply to Go like it does for other languages.

For Go, you'll know that a dependency was missing, because the build
will fail without it.

Our current go-build-system implementation rebuilds every dependency
from source when it is used while building another package
(inefficient!). 

If foo requires bar, and baz depends on foo, then bar needs to be
available when building baz. That is because foo will be rebuilt while
building baz.

We must either propagate bar from foo, or make baz depend on it.
Technically, bar is a dependency of foo, so it is correct to propagate
it from foo.

You may also check if baz also depends on bar, by checking if baz tries
to import bar. Go software imports (or declares?) its dependencies by
importing them using "import paths" [0], as shown in this example:

https://github.com/syncthing/syncthing/blob/v1.17.0/cmd/strelaypoolsrv/main.go#L5

The external or non-stdlib dependencies are named by what looks like a
URL. These URL-like "import paths" are the actual and unique names for
Go programs.

So, if baz also depends on bar, your grep in the baz source code will
return a match for the import path of bar; something like
'github.com/author/bar'.

Does that make sense? I'm happy to clarify things until it does :)

[0] https://golang.org/doc/code#Organization




  reply	other threads:[~2021-06-06 17:27 UTC|newest]

Thread overview: 108+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-01  7:51 [bug#47539] [PATCH 00/28] Add gh and dependencies Xinglu Chen
2021-04-01  8:01 ` [bug#47539] [PATCH 20/28] gnu: Add go-github-com-itchyny-timefmt-go Xinglu Chen
2021-04-01  8:02 ` [bug#47539] [PATCH 21/28] gnu: Add go-github-com-itchyny-gojq Xinglu Chen
2021-04-01  8:02 ` [bug#47539] [PATCH 22/28] gnu: Add go-github-com-mattn-go-runewidth Xinglu Chen
2021-04-01  8:02 ` [bug#47539] [PATCH 23/28] gnu: Add go-github-com-rivo-uniseg Xinglu Chen
2021-04-01  8:02 ` [bug#47539] [PATCH 24/28] gnu: Add go-github-com-shurcool-githubv4 Xinglu Chen
2021-04-01  8:02 ` [bug#47539] [PATCH 25/28] gnu: Add go-gopkg-in-yaml-v3 Xinglu Chen
2021-04-01  8:02 ` [bug#47539] [PATCH 26/28] gnu: Add go-github-com-shurcool-graphql Xinglu Chen
2021-04-01  8:02 ` [bug#47539] [PATCH 27/28] gnu: Add go-github-com-cli-shurcool-graphql Xinglu Chen
2021-04-01  8:02 ` [bug#47539] [PATCH 01/28] gnu: go-github-com-charmbracelet-glamour: Move some Xinglu Chen
2021-04-01  8:02 ` [bug#47539] [PATCH 02/28] gnu: Add go-github-com-hinshun-vt10x Xinglu Chen
2021-04-01  8:02 ` [bug#47539] [PATCH 04/28] gnu: Add go-github-com-kr-pty Xinglu Chen
2021-04-01  8:02 ` [bug#47539] [PATCH 03/28] gnu: Add go-github-com-creack-pty Xinglu Chen
2021-04-01  8:02 ` [bug#47539] [PATCH 05/28] gnu: Add go-github-com-netflix-go-expect Xinglu Chen
2021-04-01  8:02 ` [bug#47539] [PATCH 06/28] gnu: Add go-github-com-alecaivazis-survey-v2 Xinglu Chen
2021-04-01  8:02 ` [bug#47539] [PATCH 07/28] gnu: Add go-github-com-makenowjust-heredoc Xinglu Chen
2021-04-01  8:02 ` [bug#47539] [PATCH 08/28] gnu: Add go-github-com-briandowns-spinner Xinglu Chen
2021-04-01  8:02 ` [bug#47539] [PATCH 09/28] gnu: Add go-github-com-cli-browser Xinglu Chen
2021-04-01  8:02 ` [bug#47539] [PATCH 10/28] gnu: Add go-github-com-cli-oauth Xinglu Chen
2021-04-01  8:02 ` [bug#47539] [PATCH 12/28] gnu: Add go-github-com-russross-blackfriday-v2 Xinglu Chen
2021-04-01  8:02 ` [bug#47539] [PATCH 11/28] gnu: Add go-github-com-cli-safeexec Xinglu Chen
2021-04-01  8:02 ` [bug#47539] [PATCH 13/28] gnu: Add go-github-com-shurcool-sanitized-anchor-name Xinglu Chen
2021-04-01  8:02 ` [bug#47539] [PATCH 14/28] gnu: Add go-github-com-cpuguy83-go-md2man-v2 Xinglu Chen
2021-04-01  8:02 ` [bug#47539] [PATCH 15/28] gnu: Add go-github-com-enescakir-emoji Xinglu Chen
2021-04-01  8:02 ` [bug#47539] [PATCH 16/28] gnu: Add go-github-com-gabriel-vasile-mimetype Xinglu Chen
2021-04-01  8:02 ` [bug#47539] [PATCH 17/28] gnu: Add go-github-com-google-shlex Xinglu Chen
2021-04-01  8:02 ` [bug#47539] [PATCH 18/28] gnu: Add go-github-com-henvic-httpretty Xinglu Chen
2021-04-01  8:02 ` [bug#47539] [PATCH 19/28] gnu: Add go-github-com-itchyny-go-flags Xinglu Chen
2021-04-01  8:02 ` [bug#47539] [PATCH 28/28] gnu: Add gh Xinglu Chen
2021-04-01 10:08 ` [bug#47539] [PATCH 00/28] Add gh and dependencies Leo Prikler
2021-04-01 14:49   ` Xinglu Chen
2021-04-01 16:20     ` Leo Prikler
2021-04-01 16:25     ` Xinglu Chen
2021-04-01 16:47       ` Leo Prikler
2021-04-01 17:21         ` Jack Hill
2021-04-01 18:05         ` Xinglu Chen
2021-04-01 18:10           ` [bug#47539] [ SPAM? ] " Leo Prikler
2021-04-01 18:16             ` Xinglu Chen
2021-04-01 18:31 ` [bug#47539] [PATCH v2 00/26] Add github-cli " Xinglu Chen
2021-04-01 18:31   ` [bug#47539] [PATCH v2 18/26] gnu: Add go-github-com-itchyny-timefmt-go Xinglu Chen
2021-04-01 18:31   ` [bug#47539] [PATCH v2 19/26] gnu: Add go-github-com-itchyny-gojq Xinglu Chen
2021-04-01 18:31   ` [bug#47539] [PATCH v2 20/26] gnu: Add go-github-com-mattn-go-runewidth Xinglu Chen
2021-04-01 18:31   ` [bug#47539] [PATCH v2 21/26] gnu: Add go-github-com-rivo-uniseg Xinglu Chen
2021-04-01 18:31   ` [bug#47539] [PATCH v2 22/26] gnu: Add go-github-com-shurcool-githubv4 Xinglu Chen
2021-04-01 18:31   ` [bug#47539] [PATCH v2 23/26] gnu: Add go-gopkg-in-yaml-v3 Xinglu Chen
2021-04-01 18:31   ` [bug#47539] [PATCH v2 24/26] gnu: Add go-github-com-shurcool-graphql Xinglu Chen
2021-04-01 18:31   ` [bug#47539] [PATCH v2 25/26] gnu: Add go-github-com-cli-shurcool-graphql Xinglu Chen
2021-04-01 18:31   ` [bug#47539] [PATCH v2 01/26] gnu: Add go-github-com-hinshun-vt10x Xinglu Chen
2021-04-01 18:31   ` [bug#47539] [PATCH v2 02/26] gnu: Add go-github-com-creack-pty Xinglu Chen
2021-04-01 18:31   ` [bug#47539] [PATCH v2 03/26] gnu: Add go-github-com-kr-pty Xinglu Chen
2021-04-01 18:31   ` [bug#47539] [PATCH v2 04/26] gnu: Add go-github-com-netflix-go-expect Xinglu Chen
2021-04-01 18:31   ` [bug#47539] [PATCH v2 05/26] gnu: Add go-github-com-alecaivazis-survey-v2 Xinglu Chen
2021-04-01 18:31   ` [bug#47539] [PATCH v2 06/26] gnu: Add go-github-com-makenowjust-heredoc Xinglu Chen
2021-04-01 18:31   ` [bug#47539] [PATCH v2 07/26] gnu: Add go-github-com-briandowns-spinner Xinglu Chen
2021-04-01 18:31   ` [bug#47539] [PATCH v2 08/26] gnu: Add go-github-com-cli-browser Xinglu Chen
2021-04-01 18:31   ` [bug#47539] [PATCH v2 09/26] gnu: Add go-github-com-cli-oauth Xinglu Chen
2021-04-01 18:31   ` [bug#47539] [PATCH v2 10/26] gnu: Add go-github-com-cli-safeexec Xinglu Chen
2021-04-01 18:31   ` [bug#47539] [PATCH v2 11/26] gnu: Add go-github-com-russross-blackfriday-v2 Xinglu Chen
2021-04-01 18:31   ` [bug#47539] [PATCH v2 12/26] gnu: Add go-github-com-cpuguy83-go-md2man-v2 Xinglu Chen
2021-04-01 18:31   ` [bug#47539] [PATCH v2 13/26] gnu: Add go-github-com-enescakir-emoji Xinglu Chen
2021-04-01 18:31   ` [bug#47539] [PATCH v2 14/26] gnu: Add go-github-com-gabriel-vasile-mimetype Xinglu Chen
2021-04-01 18:31   ` [bug#47539] [PATCH v2 15/26] gnu: Add go-github-com-google-shlex Xinglu Chen
2021-04-01 18:31   ` [bug#47539] [PATCH v2 16/26] gnu: Add go-github-com-henvic-httpretty Xinglu Chen
2021-04-01 18:31   ` [bug#47539] [PATCH v2 17/26] gnu: Add go-github-com-itchyny-go-flags Xinglu Chen
2021-04-01 18:31   ` [bug#47539] [PATCH v2 26/26] gnu: Add github-cli Xinglu Chen
2021-04-19 13:24   ` [bug#47539] [PATCH v2 00/26] Add github-cli and dependencies Xinglu Chen
2021-04-19 14:15     ` Leo Prikler
2021-04-19 14:39       ` Xinglu Chen
2021-04-19 15:21   ` [bug#47539] [PATCH v3 00/25] " Xinglu Chen
2021-04-19 15:22     ` [bug#47539] [PATCH v3 01/25] gnu: Add go-github-com-hinshun-vt10x Xinglu Chen
2021-04-19 15:22     ` [bug#47539] [PATCH v3 02/25] gnu: Add go-github-com-creack-pty Xinglu Chen
2021-04-19 15:22     ` [bug#47539] [PATCH v3 03/25] gnu: Add go-github-com-kr-pty Xinglu Chen
2021-04-19 15:22     ` [bug#47539] [PATCH v3 04/25] gnu: Add go-github-com-netflix-go-expect Xinglu Chen
2021-04-19 15:22     ` [bug#47539] [PATCH v3 05/25] gnu: Add go-github-com-alecaivazis-survey-v2 Xinglu Chen
2021-04-19 15:22     ` [bug#47539] [PATCH v3 06/25] gnu: Add go-github-com-makenowjust-heredoc Xinglu Chen
2021-04-19 15:22     ` [bug#47539] [PATCH v3 07/25] gnu: Add go-github-com-briandowns-spinner Xinglu Chen
2021-04-19 15:22     ` [bug#47539] [PATCH v3 08/25] gnu: Add go-github-com-cli-browser Xinglu Chen
2021-04-19 15:22     ` [bug#47539] [PATCH v3 09/25] gnu: Add go-github-com-cli-oauth Xinglu Chen
2021-04-19 15:22     ` [bug#47539] [PATCH v3 10/25] gnu: Add go-github-com-russross-blackfriday-v2 Xinglu Chen
2021-04-19 15:22     ` [bug#47539] [PATCH v3 11/25] gnu: Add go-github-com-cpuguy83-go-md2man-v2 Xinglu Chen
2021-04-19 15:23     ` [bug#47539] [PATCH v3 12/25] gnu: Add go-github-com-enescakir-emoji Xinglu Chen
2021-04-19 15:23     ` [bug#47539] [PATCH v3 13/25] gnu: Add go-github-com-gabriel-vasile-mimetype Xinglu Chen
2021-04-19 15:23     ` [bug#47539] [PATCH v3 14/25] gnu: Add go-github-com-google-shlex Xinglu Chen
2021-04-19 15:23     ` [bug#47539] [PATCH v3 15/25] gnu: Add go-github-com-henvic-httpretty Xinglu Chen
2021-04-19 15:23     ` [bug#47539] [PATCH v3 16/25] gnu: Add go-github-com-itchyny-go-flags Xinglu Chen
2021-04-19 15:23     ` [bug#47539] [PATCH v3 17/25] gnu: Add go-github-com-itchyny-timefmt-go Xinglu Chen
2021-04-19 15:23     ` [bug#47539] [PATCH v3 18/25] gnu: Add go-github-com-itchyny-gojq Xinglu Chen
2021-04-19 15:23     ` [bug#47539] [PATCH v3 19/25] gnu: Add go-github-com-mattn-go-runewidth Xinglu Chen
2021-04-19 15:23     ` [bug#47539] [PATCH v3 20/25] gnu: Add go-github-com-rivo-uniseg Xinglu Chen
2021-04-19 15:23     ` [bug#47539] [PATCH v3 21/25] gnu: Add go-github-com-shurcool-githubv4 Xinglu Chen
2021-04-19 15:23     ` [bug#47539] [PATCH v3 22/25] gnu: Add go-gopkg-in-yaml-v3 Xinglu Chen
2021-04-19 15:24     ` [bug#47539] [PATCH v3 23/25] gnu: Add go-github-com-shurcool-graphql Xinglu Chen
2021-04-19 15:24     ` [bug#47539] [PATCH v3 24/25] gnu: Add go-github-com-cli-shurcool-graphql Xinglu Chen
2021-04-19 15:24     ` [bug#47539] [PATCH v3 25/25] gnu: Add github-cli Xinglu Chen
2021-04-19 22:37 ` [bug#47539] Sharlatan Hellseher
2021-04-20  5:26   ` [bug#47539] Xinglu Chen
2021-04-20  5:34     ` [bug#47539] Leo Famulari
2021-04-20  7:34       ` [bug#47539] Xinglu Chen
2021-05-21 17:08         ` [bug#47539] Leo Prikler
2021-05-21 20:34           ` [bug#47539] Leo Famulari
2021-06-05 19:16             ` [bug#47539] Xinglu Chen
2021-06-06 17:26               ` Leo Famulari [this message]
2021-06-07 12:58                 ` [bug#47539] Xinglu Chen
2021-06-07 13:11                   ` [bug#47539] Xinglu Chen
2021-06-07 13:33                     ` [bug#47539] Leo Prikler
2021-06-07 17:19                   ` [bug#47539] Leo Famulari
2021-07-15 12:24                     ` [bug#47539] Add github-cli Leo Prikler
2021-07-16 17:20                       ` Xinglu Chen

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

  List information: https://guix.gnu.org/

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

  git send-email \
    --in-reply-to=YL0FUavYzNcSMozk@jasmine.lan \
    --to=leo@famulari.name \
    --cc=47539@debbugs.gnu.org \
    --cc=leo.prikler@student.tugraz.at \
    --cc=public@yoctocell.xyz \
    /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 public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).