all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Leo Famulari <leo@famulari.name>
To: Pierre Neidhardt <mail@ambrevar.xyz>
Cc: Guix-devel <guix-devel@gnu.org>
Subject: Re: Guix & IPFS
Date: Tue, 16 Oct 2018 12:27:47 -0400	[thread overview]
Message-ID: <20181016162747.GB25057@jasmine.lan> (raw)
In-Reply-To: <87lg6zjxwt.fsf@ambrevar.xyz>

[-- Attachment #1: Type: text/plain, Size: 1659 bytes --]

On Mon, Oct 15, 2018 at 12:40:18PM +0200, Pierre Neidhardt wrote:
> No, Go programs typically refer only to repositories, not to their commit.  This
> is precisely why it's a problem.  Golang's dependency management was not very
> well designed I'm afraid.
> 
> Misunderstanding?

I think you and Ludo talked past each a bit. To clarify:

Go code refers to dependencies by the URL of their repositories. For
example, the code will import the modules it depends on like this:

------
import ("github.com/thejerf/suture"
        "github.com/rcrowley/go-metrics")
------

The Go compiler will actually fetch these Git repos if they are not
already available locally, cloning and using the HEAD commit (?!).

But in practice, any complex Go software will use a dependency
management tool that also specifies the Git commit to use, because...

... there is basically no concept of "releases" or "stable APIs" in Go
world, although there are 3rd party tools that try to fill the gap.
Since nobody is thinking about releasing or maintaining an API, they
don't, and it becomes important to use the right Git commit.

My opinion is that we should use the "correct" Git commit every time,
even it means we have to package several versions of the same Go
library, or use channels, or Scheme macros, etc. Otherwise we will have
a lot of debugging to do, and upstream developers will start to resent
us when they get bug reports. With Guile, we have the tools to achieve
this. I've been doing it "manually" for the Syncthing package.

We discussed this previously:

https://lists.gnu.org/archive/html/guix-devel/2017-10/msg00030.html

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  parent reply	other threads:[~2018-10-16 16:27 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-15  7:59 Guix & IPFS Pierre Neidhardt
2018-10-15  8:13 ` Pjotr Prins
2018-10-15  8:20 ` Pjotr Prins
2018-10-15 10:21 ` Ludovic Courtès
2018-10-15 10:40   ` Pierre Neidhardt
2018-10-15 11:35     ` Gábor Boskovits
2018-10-15 11:40       ` Pierre Neidhardt
2018-10-15 14:07         ` Pjotr Prins
2018-10-15 11:56     ` Ludovic Courtès
2018-10-15 12:56       ` Pierre Neidhardt
2018-10-15 13:56         ` Pierre Neidhardt
     [not found]           ` <20181015140856.xd3de5hkumtaueer@thebird.nl>
     [not found]             ` <8736t6jkpu.fsf@ambrevar.xyz>
     [not found]               ` <20181016094752.slvicfgd2rjy57u2@thebird.nl>
     [not found]                 ` <871s8qjjdh.fsf@ambrevar.xyz>
2018-10-16 10:19                   ` Fwd: " Pierre Neidhardt
2018-10-16 11:34                     ` bill-auger
2018-10-16 11:44                       ` Pierre Neidhardt
2018-10-16 11:51           ` Ludovic Courtès
2018-10-16 11:56             ` Pierre Neidhardt
2018-10-16 12:18             ` Pjotr Prins
2018-10-19 13:45               ` Ludovic Courtès
2018-10-16 16:27     ` Leo Famulari [this message]
2018-10-17 17:00       ` Pierre Neidhardt
2018-10-19 13:48         ` Ludovic Courtès
2018-10-19 13:56           ` Pierre Neidhardt
2018-10-23 20:18             ` Pierre Neidhardt
2018-10-24 13:17             ` Ludovic Courtès
2018-10-24 13:58               ` Pierre Neidhardt
2018-10-25 13:34                 ` Ludovic Courtès
2018-10-25 17:40                   ` Pierre Neidhardt
2018-10-25 19:06                     ` Gábor Boskovits
2018-10-25 19:51                       ` Pierre Neidhardt
2018-10-26 17:45                       ` Ludovic Courtès
2018-12-09 20:19                         ` Pierre Neidhardt
2018-12-10  1:52                           ` Pjotr Prins
2018-12-10  8:09                             ` swedebugia
2018-12-10  8:16                               ` Pierre Neidhardt
2018-12-14  9:24 ` Pjotr Prins
2018-12-14  9:30   ` Pierre Neidhardt
2019-09-09 23:19     ` Pjotr Prins

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=20181016162747.GB25057@jasmine.lan \
    --to=leo@famulari.name \
    --cc=guix-devel@gnu.org \
    --cc=mail@ambrevar.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 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.