guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] gnu: Add p7zip.


From: Ricardo Wurmus
Subject: Re: [PATCH] gnu: Add p7zip.
Date: Tue, 09 Aug 2016 22:33:54 +0200
User-agent: mu4e 0.9.16; emacs 25.1.1

Kei Kebreau <address@hidden> writes:

> Ricardo Wurmus <address@hidden> writes:
>
>> address@hidden writes:
>>
>>> On 2016-08-09 04:05, Ricardo Wurmus wrote:
>>>> Leo Famulari <address@hidden> 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

[Prev in Thread] Current Thread [Next in Thread]