unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH] gnu: Add lrzip.
@ 2016-07-20 22:54 Tobias Geerinckx-Rice
  2016-07-21  5:24 ` Eric Bavier
  0 siblings, 1 reply; 13+ messages in thread
From: Tobias Geerinckx-Rice @ 2016-07-20 22:54 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/compression.scm (lrzip): New variable.
---
 gnu/packages/compression.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index 6a17003..26467a4 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,34 @@ 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
+     `(("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 license:gpl2+)))
-- 
2.9.0

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [PATCH] gnu: Add lrzip.
  2016-07-20 22:54 [PATCH] gnu: Add lrzip Tobias Geerinckx-Rice
@ 2016-07-21  5:24 ` Eric Bavier
  2016-07-21 17:46   ` Tobias Geerinckx-Rice
  2016-07-21 20:21   ` Tobias Geerinckx-Rice
  0 siblings, 2 replies; 13+ messages in thread
From: Eric Bavier @ 2016-07-21  5:24 UTC (permalink / raw)
  To: Tobias Geerinckx-Rice; +Cc: guix-devel

Hello Tobias,

Thanks for the patch.  A few comments:

On Thu, 21 Jul 2016 00:54:13 +0200
Tobias Geerinckx-Rice <me@tobias.gr> wrote:

> * gnu/packages/compression.scm (lrzip): New variable.
> ---
>  gnu/packages/compression.scm | 32 ++++++++++++++++++++++++++++++++
>  1 file changed, 32 insertions(+)
> 
> diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
> index 6a17003..26467a4 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,34 @@ 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
> +     `(("nasm" ,nasm)

ASM support seems to be supported only on x86/32-bit systems.  Could
you make this input conditional on the system type?  An example would
be the "lame" package in gnu/packages/mp3.scm.

> +       ("perl" ,perl)))
> +    (inputs
> +     `(("bzip2" ,bzip2)

Configure checks for libbz2 and the build instruction mention it as a
requirement, but there are no references retained in the output and I
don't see any references to libbz2 in the Makefile's.  Any ideas?

> +       ("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 license:gpl2+)))

The license should probably be "(list license:gpl3+
license:public-domain)" since there is at least one file, md5.c,
that is borrowed from glibc and is under a gpl3+ license; and several
of the files in the "lzma" directory have been released into the public
domain.

Could you send an updated patch?

`~Eric

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] gnu: Add lrzip.
  2016-07-21  5:24 ` Eric Bavier
@ 2016-07-21 17:46   ` Tobias Geerinckx-Rice
  2016-07-21 20:21   ` Tobias Geerinckx-Rice
  1 sibling, 0 replies; 13+ messages in thread
From: Tobias Geerinckx-Rice @ 2016-07-21 17:46 UTC (permalink / raw)
  To: Eric Bavier; +Cc: guix-devel

Eric,

On 2016-07-21 07:24, Eric Bavier wrote:
> The license should probably be "(list license:gpl3+
> license:public-domain)" since there is at least one file, md5.c,

Thanks. That comma in ‘either version 3,’ threw off my simplistic
grepping for ‘version n of the Licence’.

Which prompts me to wonder, not for the first time: is there a
less tedious and more reliable way to do this, besides ‘just ask
Debian’?

Kind regards,

T G-R

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] gnu: Add lrzip.
  2016-07-21  5:24 ` Eric Bavier
  2016-07-21 17:46   ` Tobias Geerinckx-Rice
@ 2016-07-21 20:21   ` Tobias Geerinckx-Rice
  2016-07-21 20:24     ` [PATCH v2] " Tobias Geerinckx-Rice
  1 sibling, 1 reply; 13+ messages in thread
From: Tobias Geerinckx-Rice @ 2016-07-21 20:21 UTC (permalink / raw)
  To: Eric Bavier; +Cc: guix-devel

Eric,

Thanks for the review!

On 2016-07-21 07:24, Eric Bavier wrote:
> ASM support seems to be supported only on x86/32-bit systems.  Could
> you make this input conditional on the system type?  An example would
> be the "lame" package in gnu/packages/mp3.scm.

And thank you for the specific pointers as well, they probably saved
me a lot of time.

Now, I decided to go for a slightly different approach that seemed
more straightforward. The ‘lame’ example seems to be aimed more at
the build architecture than the target's. My understanding of such
intricacies is still quite limited so someone please double-check.

Unless someone's using their Raspberry Pi to cross-compile for their
i7, I suspect the difference is theoretical.

>> +    (inputs
>> +     `(("bzip2" ,bzip2)
> 
> Configure checks for libbz2 and the build instruction mention it as a
> requirement, but there are no references retained in the output and I
> don't see any references to libbz2 in the Makefile's.  Any ideas?

I'm afraid you lost me here.

   $ grep lbz2 Makefile
   LIBS = -llzo2 -lbz2 -lz -lm -lpthread

In fact, the ./configure check is (probably incorrectly) non-fatal so
the build doesn't fail until you call ‘make’.

Building with ‘bzip2’ results in a correctly statically-linked
BZ2_bzBuffToBuffCompress(), so I don't see what other type of (input)
this could be. Surely not native?

That would totally break the i7 gal's build.

> Could you send an updated patch?

Will do!

Kind regards,

T G-R

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH v2] gnu: Add lrzip.
  2016-07-21 20:21   ` Tobias Geerinckx-Rice
@ 2016-07-21 20:24     ` Tobias Geerinckx-Rice
  2016-07-21 20:31       ` Tobias Geerinckx-Rice
  0 siblings, 1 reply; 13+ messages in thread
From: Tobias Geerinckx-Rice @ 2016-07-21 20:24 UTC (permalink / raw)
  To: guix-devel

* 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(+)

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/
-- 
2.9.1

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [PATCH v2] gnu: Add lrzip.
  2016-07-21 20:24     ` [PATCH v2] " Tobias Geerinckx-Rice
@ 2016-07-21 20:31       ` Tobias Geerinckx-Rice
  2016-07-22 13:13         ` Ludovic Courtès
  0 siblings, 1 reply; 13+ messages in thread
From: Tobias Geerinckx-Rice @ 2016-07-21 20:31 UTC (permalink / raw)
  To: guix-devel; +Cc: Guix-devel

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

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v2] gnu: Add lrzip.
  2016-07-21 20:31       ` Tobias Geerinckx-Rice
@ 2016-07-22 13:13         ` Ludovic Courtès
  2016-07-23 10:45           ` Ludovic Courtès
  0 siblings, 1 reply; 13+ messages in thread
From: Ludovic Courtès @ 2016-07-22 13:13 UTC (permalink / raw)
  To: Tobias Geerinckx-Rice; +Cc: guix-devel, Guix-devel

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’.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v2] gnu: Add lrzip.
  2016-07-22 13:13         ` Ludovic Courtès
@ 2016-07-23 10:45           ` Ludovic Courtès
  2016-07-23 19:05             ` Tobias Geerinckx-Rice
  0 siblings, 1 reply; 13+ messages in thread
From: Ludovic Courtès @ 2016-07-23 10:45 UTC (permalink / raw)
  To: Tobias Geerinckx-Rice; +Cc: guix-devel, Guix-devel

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’.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v2] gnu: Add lrzip.
  2016-07-23 10:45           ` Ludovic Courtès
@ 2016-07-23 19:05             ` Tobias Geerinckx-Rice
  2016-07-24 21:36               ` Ludovic Courtès
  0 siblings, 1 reply; 13+ messages in thread
From: Tobias Geerinckx-Rice @ 2016-07-23 19:05 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

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

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v2] gnu: Add lrzip.
  2016-07-23 19:05             ` Tobias Geerinckx-Rice
@ 2016-07-24 21:36               ` Ludovic Courtès
  2016-07-24 21:56                 ` Leo Famulari
  2016-07-24 22:34                 ` Tobias Geerinckx-Rice
  0 siblings, 2 replies; 13+ messages in thread
From: Ludovic Courtès @ 2016-07-24 21:36 UTC (permalink / raw)
  To: Tobias Geerinckx-Rice; +Cc: guix-devel

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’.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v2] gnu: Add lrzip.
  2016-07-24 21:36               ` Ludovic Courtès
@ 2016-07-24 21:56                 ` Leo Famulari
  2016-07-25  8:20                   ` Ludovic Courtès
  2016-07-24 22:34                 ` Tobias Geerinckx-Rice
  1 sibling, 1 reply; 13+ messages in thread
From: Leo Famulari @ 2016-07-24 21:56 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

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.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v2] gnu: Add lrzip.
  2016-07-24 21:36               ` Ludovic Courtès
  2016-07-24 21:56                 ` Leo Famulari
@ 2016-07-24 22:34                 ` Tobias Geerinckx-Rice
  1 sibling, 0 replies; 13+ messages in thread
From: Tobias Geerinckx-Rice @ 2016-07-24 22:34 UTC (permalink / raw)
  To: ludo; +Cc: guix-devel

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

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v2] gnu: Add lrzip.
  2016-07-24 21:56                 ` Leo Famulari
@ 2016-07-25  8:20                   ` Ludovic Courtès
  0 siblings, 0 replies; 13+ messages in thread
From: Ludovic Courtès @ 2016-07-25  8:20 UTC (permalink / raw)
  To: Leo Famulari; +Cc: guix-devel

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’.

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2016-07-25  8:20 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-07-20 22:54 [PATCH] gnu: Add lrzip Tobias Geerinckx-Rice
2016-07-21  5:24 ` Eric Bavier
2016-07-21 17:46   ` Tobias Geerinckx-Rice
2016-07-21 20:21   ` Tobias Geerinckx-Rice
2016-07-21 20:24     ` [PATCH v2] " Tobias Geerinckx-Rice
2016-07-21 20:31       ` Tobias Geerinckx-Rice
2016-07-22 13:13         ` Ludovic Courtès
2016-07-23 10:45           ` Ludovic Courtès
2016-07-23 19:05             ` Tobias Geerinckx-Rice
2016-07-24 21:36               ` Ludovic Courtès
2016-07-24 21:56                 ` Leo Famulari
2016-07-25  8:20                   ` Ludovic Courtès
2016-07-24 22:34                 ` Tobias Geerinckx-Rice

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).