GNU bug report logs - #74370
[PATCH 0/4] Module aware go build system, downloader

Previous Next

Package: guix-patches;

Reported by: Jørgen Kvalsvik <j <at> lambda.is>

Date: Fri, 15 Nov 2024 21:12:02 UTC

Severity: normal

Tags: patch

Merged with 74371, 74372, 74373

Done: Steve George <steve <at> futurile.net>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Steve George <steve <at> futurile.net>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#74370: closed ([PATCH 0/4] Module aware go build system,
 downloader)
Date: Tue, 08 Apr 2025 13:51:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Tue, 8 Apr 2025 14:49:48 +0100
with message-id <Z_UpfF8epIVhnBam <at> t25sg>
and subject line Re: bug#74370: Module aware go build system (for Guix)
has caused the debbugs.gnu.org bug report #74370,
regarding [PATCH 0/4] Module aware go build system, downloader
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
74370: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=74370
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Jørgen Kvalsvik <j <at> lambda.is>
To: guix-patches <at> gnu.org
Cc: Jørgen Kvalsvik <j <at> lambda.is>
Subject: [PATCH 0/4] Module aware go build system, downloader
Date: Fri, 15 Nov 2024 22:11:02 +0100
Hi all,

I wrote a downloader+build system for go that is module aware.  It
builds on a few slightly different assumptions than the go build system,
but if you have worked on that most should feel familiar. I am posting
these patches to get some feedback and to check with you if this
approach is even viable, or if I should abandon it altogether. My real
goal has been to build hugo, a popular website generator, which has a
large list of dependencies, most of them in go.

Go itself has pretty strong ideas on how to compose systems. In
particular, it wants to statically link everything, pin every dependency
and transitive dependency (combining build system with packaging and
distribution), and strongly prefer full-source builds. This causes some
friction.

These patches chooses to just roll with it, and uses go mod
downloaditself to fetch sources and create a large image of all the
dependencies a project needs to build. This effectively makes it
pointless to package libraries, as the programs using the libraries
would get them from source anyway, but fixing that is future work.

There are a few things I would like to try to do (re-using built
libraries and storing each module in a separate derivation in
particular), but I don't want to tackle that problem unless there is
real interest for this approach.

Thoughts?

Jørgen Kvalsvik (4):
  guix: Add go module fetcher
  guix: add go module aware build system
  guix: Add module aware 'guix import go'
  gnu: Add go-buf.

 Makefile.am                        |   2 +
 gnu/packages/golang-xyz.scm        |  63 +++++++++---
 guix/build-system/go.scm           | 120 ++++++++++++++++++++++
 guix/build/go-mod-build-system.scm | 154 +++++++++++++++++++++++++++++
 guix/go-mod-download.scm           | 146 +++++++++++++++++++++++++++
 guix/import/go.scm                 |  88 ++++++++++-------
 guix/scripts/import/go.scm         |   6 ++
 7 files changed, 532 insertions(+), 47 deletions(-)
 create mode 100644 guix/build/go-mod-build-system.scm
 create mode 100644 guix/go-mod-download.scm


base-commit: 33665c52c4670bc3b4d337c89ac9cc6c4c69b26f
-- 
2.39.5



[Message part 3 (message/rfc822, inline)]
From: Steve George <steve <at> futurile.net>
To: J??rgen Kvalsvik <j <at> lambda.is>, sharlatanus <at> gmail.com
Cc: 74370-done <at> debbugs.gnu.org
Subject: Re: bug#74370: Module aware go build system (for Guix)
Date: Tue, 8 Apr 2025 14:49:48 +0100
I think there's a common misunderstanding that if you comment on a bug it won't actually notify the submitter (you have to email NNNN-submitter). It's because debbugs was modelled on the idea that there's an "end-user" who's only interest is the initial submission and a final nnnn-done@ email to tell them it's all solved now!

OK, I'm closing #74370. Then you can create a new one when you submit you're new and improved one. Hopefully you and Sharlatan can collaborate on this!

Futurile / Steve

On  8 Apr, J??rgen Kvalsvik wrote:
> Hi,
> 
> I don't know what happened, but as you point out I never received
> Sharlatan's emails.
> 
> Anyways, there is still interest, but the approach I proposed is not great.
> I have since (re)written the module aware build system with much better
> results. I am currently adding a bunch of packages (for my own needs) in
> order to get some experience with it and sand down some rough edges, before
> I plan to resubmit the new build system upstream.
> 
> Thanks,
> J??rgen
> 
> On 4/8/25 15:03, Steve George wrote:
> > Hi J??rgen,
> > 
> > You submitted a module aware go build system, there were some queries about it from Sharlatan as there's been a range of attempts at improving this area. Just making you aware so you can reply if you're still interested:
> > 
> > https://debbugs.gnu.org/cgi/bugreport.cgi?bug=74370
> > https://debbugs.gnu.org/cgi/bugreport.cgi?bug=74374
> > 
> > I don't think you were notified as responses have to go to NNNN-submitter for the original reporter to be send the email.
> > 
> > Thanks,
> > 
> > Futurile / Steve
> > 
> > 
> 


This bug report was last modified 43 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.