zimoun schreef op wo 02-03-2022 om 10:14 [+0100]: > Hi Attila, > > On Tue, 1 Mar 2022 at 20:42, Attila Lendvai wrote: > > > unfortunately, it won't help us much here, because one snippet modifies > > Makefile.am, while the other Makefile.in. > > Guix does not have a clear line for patching (or I am not aware of the > update); what is going to source+snippet vs arguments+phase. Pros and > cons for both; basically the question is what "guix build --source" > should return? > > Option source+snippet means it returns the source of what Guix really > builds Seems like a pro for source+snippet (or source+patch, though that would be a bit more verbose) to me. >  -- so many packages would not respect this rule of thumb. In that case, it seems like there are plenty of package definitions to improve! > Option arguments+phase means it returns the real unmodified upstream > source (modulo removal of non-free) -- so "guix shell -D foo" would > break for many packages. I assume you meant "guix build --source foo"? This seems like a con for "phases+arguments" to me. Sometimes, to hack on software, I download the source code with "guix build --source the-package", unpack it and do "guix shell -D the-package". I don't see much value in returning the unmodified upstream source. Especially since in this case the modified source fixes a bug (well, works-around a Guile bug). As long as it's source code, it builds, it doesn't do things like bundling, including binaries or non-free things, and it avoids being Guix-specific and fixes known bugs, it seems good source code to me. Also, most packages don't modify upstream code, so I don't see the ‘would break for many packages’ here ... > Difficult tension. :-) As implied from my explanations above, I don't see any tension here. > That's said, personally, in this case, instead of having the Makefile* > patch in 'source', I would do the patching using a phase. It's ‘merely’ setting some compilation flags, so maybe. Both options seem fine to me here but I don't see a point to _moving_ from the snippet-shed to phase-shed. Greetings, Maxime.