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. :-)