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