guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Guix & IPFS


From: Gábor Boskovits
Subject: Re: Guix & IPFS
Date: Mon, 15 Oct 2018 13:35:47 +0200

Pierre Neidhardt <address@hidden> ezt írta (időpont: 2018. okt.
15., H, 12:40):
>
>
> > FWIW Pierre-Antoine (who was working with me as an intern on Guix-HPC)
> > has given me the last revision of the gopkg importer, which I’m planning
> > to include soon.  It might be useful to you!
>
> Absolutely!  Could you share the code now so that I can start using it?  
> Thanks!
>
> > This seems to be the same for all Go packages: they specify the exact
> > commit of each of their dependencies, AIUI.
>
> 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.
>

I'm not much into go, but it seems, that most of the times it is safe
to use another version of dependencies.

> Misunderstanding?
>
> > In practice it may be that upgrading will often be fine, but it does
> > mean that every time we upgrade a Go package, we have to build
> > everything “guix refresh -l GO-PACKAGE” reports to make sure.
>
> Yup, but it's also the case with any other package, isn't it?
>

Sometimes it is considered safe to assume that a given update does not break
reverse dependencies, but this might lead to unexpected breakage nevertheless.
Sometimes building all revdeps are prohibitively resource consuming.

> > > - gx retrieves the deps over IPFS: how important is this?  Should we do
> > >   the same?  What about using "gx"?  We could also implement a new
> > >   "gx-fetch" method fully written in Guile.
> >
> > In Guix dependencies are listed statically in the ‘inputs’ fields, so I
> > suppose we have to run it once to retrieve that list and then “encode”
> > it as ‘inputs’, no?
>
> Sorry, I meant "ipfs-fetch", so we might be talking about different things :p
>
> - Network: it would be nice to be able to retrieve packages over IPFS.  We can
>   do this without IPFS, just like "gx" does.
>

This seems to be orthogonal to the other issues mentioned here, and I believe it
should be implemented orthogonally (i.e. have it as an option to all,
even unrelated packages).
It would be great if integration with guix publish would be possible.

> - Importer: I don't know how Pierre-Antoine retrieves dependencies, but
>   technically it's enough to download the package and run some "go ..." 
> command
>   to list deps.  In the case of go-ipfs (and possibly other Go packages using
>   gx), we can only list the deps with "gx deps...".  Note that in both bases 
> the
>   package does not have to be built, if I'm not mistaken.
>
> Makes sense?
>
> --
> Pierre Neidhardt
> https://ambrevar.xyz/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]