Kei Kebreau <k...@openmailbox.org> writes: > Ricardo Wurmus <ricardo.wur...@mdc-berlin.de> writes: > >> k...@openmailbox.org writes: >> >>> On 2016-08-09 04:05, Ricardo Wurmus wrote: >>>> Leo Famulari <l...@famulari.name> writes: >>>> >>>>>> > I see that you took care of removing non-free parts in a patch and a >>>>>> > build phase. Since “guix build -S p7zip” doesn’t run the build phase >>>>>> > users would still end up with a source archive containing the non-free >>>>>> > parts. The best way is thus to remove things in a snippet. >>>>>> > >>>>>> > In “shogun” from the “machine-learning” module we remove supporting >>>>>> > code >>>>>> > for non-free features in a snippet by cutting out anything between some >>>>>> > ifdef markers, but looking at the patch I see that it wouldn’t be >>>>>> > feasible for p7zip. >>>>>> >>>>>> Also note that it is not completely desirable for nonfree code to be >>>>>> removed >>>>>> with a patch, and is one of the reasons Guix supports snippets in the >>>>>> first >>>>>> place. >>>>> >>>>> Is there a reason to not use a patch in this case? Or can we proceed >>>>> with packaging p7zip, using a patch to remove non-free parts? >>>> >>>> We don’t want to have a “reverse image” of the non-free code in a >>>> patch. >>>> Arguably that would just be a derivative of the non-free code, so we >>>> also couldn’t freely distribute it. >>>> >>> If this is the case, then should we alert the Parabola GNU/Linux-libre >>> packagers? >>> The patch I submitted is the same one they use when installing p7zip >>> from the >>> source code (see >>> https://git.parabola.nu/abslibre.git/tree/libre/p7zip/libre.patch). >> >> I see. I think we first need to figure out exactly what license applies >> to which part of the code. A big chunk of the patch is to remove >> references to RAR stuff in the build system and the documentation; that >> could probably be removed with a patch. What is critical is code that’s >> actually under the unRAR license. >> >> A quick look at the patch shows me this: >> >>> - Licenses for files are: >>> - >>> - 1) CPP/7zip/Compress/Rar* files: GNU LGPL + unRAR restriction >>> - 2) All other files: GNU LGPL >> >> (https://git.parabola.nu/abslibre.git/tree/libre/p7zip/libre.patch#n540) >> >> This means that we need to delete all files in (1) — for everything else >> it’s just a matter of patching the files. If I’m not mistaken this >> means that deleting the files in a snippet and applying this patch on >> top of it would be okay. >> >> What do others think? >> >> ~~ Ricardo > > Just to clarify, I'm interpreting what you are saying as: > > (1) Remove proprietary files in a snippet so "guix build -S p7zip" only > returns free source code, and > > (2) Apply the patch to get rid of the resultant unused code. > > If you mean those two things, then it sounds like a fine solution to > me. :-)
Yes, that’s what I meant. I hope I didn’t overlook anything here, so I’d be happy if someone else could check that this is fine. ~~ Ricardo