[v2] gnu: Add lrzip.

Message ID 20160721202430.31332-1-me@tobias.gr
State New
Headers

Commit Message

Tobias Geerinckx-Rice July 21, 2016, 8:24 p.m. UTC
  * gnu/packages/compression.scm (lrzip): New variable.
---

V2:
- Add 'nasm' input only on x86 systems.
- Correct licencing information.

 gnu/packages/compression.scm | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)
  

Comments

Tobias Geerinckx-Rice July 21, 2016, 8:31 p.m. UTC | #1
Talking to myself,

On 2016-07-21 22:24, Tobias Geerinckx-Rice wrote:
> +    (native-inputs
> +     `(,@(if (string-prefix? "i686" (or (%current-target-system)
> +                                        (%current-system)))
> +             `(("nasm" ,nasm))
> +             '())

Hmm. Not sure where this falls on the ‘let the code speak for itself’
to ‘should have added a comment’ scale.

Guess I'll wait for another review + patch or a very friendly committer.

Kind regards,

T G-R
  
Ludovic Courtès July 22, 2016, 1:13 p.m. UTC | #2
Hi Tobias,

Tobias Geerinckx-Rice <me@tobias.gr> skribis:

> On 2016-07-21 22:24, Tobias Geerinckx-Rice wrote:
>> +    (native-inputs
>> +     `(,@(if (string-prefix? "i686" (or (%current-target-system)
>> +                                        (%current-system)))
>> +             `(("nasm" ,nasm))
>> +             '())
>
> Hmm. Not sure where this falls on the ‘let the code speak for itself’
> to ‘should have added a comment’ scale.
>
> Guess I'll wait for another review + patch or a very friendly committer.

I have another idea: could you create a Savannah account and tell me
your user name?  :-)

Thanks,
Ludo’.
  
Ludovic Courtès July 23, 2016, 10:45 a.m. UTC | #3
Hi Tobias,

ludo@gnu.org (Ludovic Courtès) skribis:

> Tobias Geerinckx-Rice <me@tobias.gr> skribis:
>
>> On 2016-07-21 22:24, Tobias Geerinckx-Rice wrote:
>>> +    (native-inputs
>>> +     `(,@(if (string-prefix? "i686" (or (%current-target-system)
>>> +                                        (%current-system)))
>>> +             `(("nasm" ,nasm))
>>> +             '())
>>
>> Hmm. Not sure where this falls on the ‘let the code speak for itself’
>> to ‘should have added a comment’ scale.
>>
>> Guess I'll wait for another review + patch or a very friendly committer.
>
> I have another idea: could you create a Savannah account and tell me
> your user name?  :-)

I’ve added you to the Savannah group so you can commit directly.

Please see the ‘HACKING’ file on how to be a good citizen.  ;-)
In particular, make sure to configure commit signing as noted at
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=22883#16>.

So I think the last iteration of this patch, with a comment regarding
the i686 case as you wrote above, will be a good thing to push.

Happy hacking!

Ludo’.
  
Tobias Geerinckx-Rice July 23, 2016, 7:05 p.m. UTC | #4
Ludo',

On 23/07/2016 12:45, Ludovic Courtès wrote:
> I’ve added you to the Savannah group so you can commit directly.

Thanks!

> Please see the ‘HACKING’ file on how to be a good citizen.  ;-) In 
> particular, make sure to configure commit signing

Done and (already) done.

I spent about an hour trying to get Guix's gpg2, gpg-agent and
pinentry-tty to play nicely with git, but gave up. They work fine on
their own. Back to gpg@1 for now.

> as noted at <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=22883#16>.
>> I invite everyone to do the same.  Hopefully, within a few weeks, 
>> we can add a commit hook to reject unsigned commits.

Has this since been put in place?

> So I think the last iteration of this patch, with a comment regarding
> the i686 case as you wrote above, will be a good thing to push.

Done as 389eb3f.

Kind regards,

T G-R
  
Ludovic Courtès July 24, 2016, 9:36 p.m. UTC | #5
Hello!

Tobias Geerinckx-Rice <me@tobias.gr> skribis:

> On 23/07/2016 12:45, Ludovic Courtès wrote:
>> I’ve added you to the Savannah group so you can commit directly.
>
> Thanks!
>
>> Please see the ‘HACKING’ file on how to be a good citizen.  ;-) In 
>> particular, make sure to configure commit signing
>
> Done and (already) done.
>
> I spent about an hour trying to get Guix's gpg2, gpg-agent and
> pinentry-tty to play nicely with git, but gave up. They work fine on
> their own. Back to gpg@1 for now.

OK.  Commit bc85b127df622575988f8e760f72d608d0900a75 adds the ‘gpg’ and
‘gpgv’ commands to gnupg@2.0, so it should work flawlessly for you (I’ve
been using 2.0 forever, but I had a ‘gpg’ script that would call ‘gpg2’;
this is no longer needed.)

>> as noted at <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=22883#16>.
>>> I invite everyone to do the same.  Hopefully, within a few weeks, 
>>> we can add a commit hook to reject unsigned commits.
>
> Has this since been put in place?

No, I’ll try and adjust what’s available at:
<https://raw.githubusercontent.com/isislovecruft/scripts/master/check-commit-signature>.
(Suggestions welcome, though!)

Ludo’.
  
Leo Famulari July 24, 2016, 9:56 p.m. UTC | #6
On Sun, Jul 24, 2016 at 11:36:24PM +0200, Ludovic Courtès wrote:
> No, I’ll try and adjust what’s available at:
> <https://raw.githubusercontent.com/isislovecruft/scripts/master/check-commit-signature>.
> (Suggestions welcome, though!)

I will also review this script.
  
Tobias Geerinckx-Rice July 24, 2016, 10:34 p.m. UTC | #7
Ludo',

Thanks, but...

On 2016-07-24 23:36, ludo@gnu.org wrote:
> Tobias Geerinckx-Rice <me@tobias.gr> skribis:
>> I spent about an hour
> I had a ‘gpg’ script that would call ‘gpg2’

So did I.

Now, maybe *my* script was so bad that it caused segfaults and IPC
errors, but that would shatter my fragile ego, so no.

Kind regards,

T G-R
  
Ludovic Courtès July 25, 2016, 8:20 a.m. UTC | #8
Leo Famulari <leo@famulari.name> skribis:

> On Sun, Jul 24, 2016 at 11:36:24PM +0200, Ludovic Courtès wrote:
>> No, I’ll try and adjust what’s available at:
>> <https://raw.githubusercontent.com/isislovecruft/scripts/master/check-commit-signature>.
>> (Suggestions welcome, though!)
>
> I will also review this script.

I submitted something simpler, because we don’t want to have a list of
allowed keys set in stone:

  https://savannah.gnu.org/support/?109104

Eventually I think we’ll do proper checks against a list of authorized
keys stored in the repo itself.  Needs more thought!

Ludo’.
  

Patch

diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index 6a17003..e607812 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -36,6 +36,7 @@ 
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system perl)
   #:use-module (gnu packages)
+  #:use-module (gnu packages assembly)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages backup)
   #:use-module (gnu packages base)
@@ -833,3 +834,38 @@  also be used to apply such patches.  xdelta is similar to @command{diff} and
 @command{patch}, but is not limited to plain text and does not generate
 human-readable output.")
     (license license:asl2.0)))
+
+(define-public lrzip
+  (package
+    (name "lrzip")
+    (version "0.630")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "http://ck.kolivas.org/apps/lrzip/lrzip-" version ".tar.bz2"))
+       (sha256
+        (base32
+         "01ykxliqw4cavx9f2gawxfa9wf52cjy1qx28cnkrh6i3lfzzcq94"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(,@(if (string-prefix? "i686" (or (%current-target-system)
+                                        (%current-system)))
+             `(("nasm" ,nasm))
+             '())
+       ("perl" ,perl)))
+    (inputs
+     `(("bzip2" ,bzip2)
+       ("lzo" ,lzo)
+       ("zlib" ,zlib)))
+    (home-page "http://ck.kolivas.org/apps/lrzip/")
+    (synopsis "Large file compressor with a very high compression ratio")
+    (description "lrzip is a compression utility that uses long-range
+redundancy reduction to improve the subsequent compression ratio of
+larger files.  It can then further compress the result with the ZPAQ or
+LZMA algorithms for maximum compression, or LZO for maximum speed.  This
+choice between size or speed allows for either better compression than
+even LZMA can provide, or a higher speed than gzip while compressing as
+well as bzip2.")
+    (license (list license:gpl3+
+                   license:public-domain)))) ; most files in lzma/