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


Reply via email to