From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?G=C3=A1bor_Boskovits?= Subject: Re: Guix & IPFS Date: Mon, 15 Oct 2018 13:35:47 +0200 Message-ID: References: <87r2grk5dj.fsf@ambrevar.xyz> <87lg6zfr20.fsf@gnu.org> <87lg6zjxwt.fsf@ambrevar.xyz> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:35675) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gC1AK-0001hr-Fa for guix-devel@gnu.org; Mon, 15 Oct 2018 07:36:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gC1AJ-0008Gn-DH for guix-devel@gnu.org; Mon, 15 Oct 2018 07:36:04 -0400 In-Reply-To: <87lg6zjxwt.fsf@ambrevar.xyz> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: mail@ambrevar.xyz Cc: Guix-devel Pierre Neidhardt ezt =C3=ADrta (id=C5=91pont: 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=E2=80=99m= 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 =E2=80=9Cguix refresh -l GO-PACKAGE=E2=80=9D 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 brea= k reverse dependencies, but this might lead to unexpected breakage neverthele= ss. 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 =E2=80=98inputs=E2=80= =99 fields, so I > > suppose we have to run it once to retrieve that list and then =E2=80=9C= encode=E2=80=9D > > it as =E2=80=98inputs=E2=80=99, no? > > Sorry, I meant "ipfs-fetch", so we might be talking about different thing= s :p > > - Network: it would be nice to be able to retrieve packages over IPFS. W= e can > do this without IPFS, just like "gx" does. > This seems to be orthogonal to the other issues mentioned here, and I belie= ve 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 ..." c= ommand > to list deps. In the case of go-ipfs (and possibly other Go packages u= sing > gx), we can only list the deps with "gx deps...". Note that in both ba= ses the > package does not have to be built, if I'm not mistaken. > > Makes sense? > > -- > Pierre Neidhardt > https://ambrevar.xyz/