diff mbox series

[bug#36467,v3] gnu: Add some Common Lisp libraries

Message ID 87h85ctjoe.fsf@yamatai
State Accepted
Headers show
Series [bug#36467,v3] gnu: Add some Common Lisp libraries | expand

Commit Message

Guillaume Le Vaillant Sept. 16, 2019, 2:11 p.m. UTC
Pierre Neidhardt skribis:

> Hi Guillaume,
>
> thanks for the big patchset, looking very good overall!
>
> A few general nits:
>
> - You didn't define any "ecl-" package.  Could you define them for all the
>   packages (unless they are known to be broken with ECL)?
>   I know some packages lack the ecl- definition, this should be fixed :p
>
> - 6 commit messages lack a period on the first line.
>   If you use Emacs, you might find this yasnippet useful:
>   guix/etc/snippets/text-mode/guix-commit-message-add-package
>
> fprog:
>   - Description should start with a capital, or here maybe with @code{fprog}.
>
> cambl:
>   - is spelled in all-caps ("CAMBL") according to the README.
>
> cl-containers:
>   - synopsis: "Container library ..."
>
>   - I'm realizing the sbcl-lift does not have the right version number, which
>     should be (git-version "1.7.1" ...).  Can you update this?
>
> bst:
>   - 1.1 is out ;)
>
> cl-octet-streams:
>   - Description should start with a capital, or here maybe with @code{cl-octet-streams}.
>
> cl-lzlib
>   - License seems to be GPL-3, not GPL-3+, but since this is your library, the
>     decision is all yours ;)
>
> Thanks a lot for this great contribution to "Common Lisp on Guix" :)

Hi,

Here's the updated patch set (I think I didn't forget anything).

However some "ecl-" packages can't be built
right now because of a dependency that fails to build
(/gnu/store/sjyr2l309ldnfg9db718y585b3c13g51-ecl-hu.dwim.asdf-0.0.0-1.170b0e4.drv,
which apparently tries to load an SBCL-specific package).

Comments

Ludovic Courtès Sept. 16, 2019, 3:12 p.m. UTC | #1
Hi Guillaume & Pierre,

Guillaume Le Vaillant <glv@posteo.net> skribis:

> However some "ecl-" packages can't be built
> right now because of a dependency that fails to build

We discussed whether to add “ecl-” packages in the first place a couple
of months ago IIRC, and I think the outcome was that it’s not worth it
most of the time.  Do I remember correctly Katherine, Pierre?

So maybe you shouldn’t even bother with “ecl-” packages at all.

Thanks,
Ludo’.
Pierre Neidhardt Sept. 16, 2019, 5:50 p.m. UTC | #2
Ludovic Courtès <ludo@gnu.org> writes:

> We discussed whether to add “ecl-” packages in the first place a couple
> of months ago IIRC, and I think the outcome was that it’s not worth it
> most of the time.  Do I remember correctly Katherine, Pierre?

Hmmm, I don't remember this conversation :p
Do you have a link?

Those ecl- packages come for free, so it's cool to have them for users
using ECL.  Admittedly, ECL is way less popular than SBCL, plus the cl-
packages can always be used as a fallback.
So no strong opinion on my end.

Either way, I guess this patch is ready to merge then.  ECL packages can
always be tweaked later if need be.
Katherine Cox-Buday Sept. 17, 2019, 3:50 p.m. UTC | #3
Pierre Neidhardt <mail@ambrevar.xyz> writes:

> Ludovic Courtès <ludo@gnu.org> writes:
>
>> We discussed whether to add “ecl-” packages in the first place a couple
>> of months ago IIRC, and I think the outcome was that it’s not worth it
>> most of the time.  Do I remember correctly Katherine, Pierre?
>
> Hmmm, I don't remember this conversation :p
> Do you have a link?

This conversation was with me[1]. (Also apologies for not getting back
to this. It's on the ever-growing TODO list).

> Those ecl- packages come for free, so it's cool to have them for users
> using ECL.  Admittedly, ECL is way less popular than SBCL, plus the cl-
> packages can always be used as a fallback.
> So no strong opinion on my end.

The point I made in the afforementioned thread was that there is no
guarantee that packages will work across the various Lisp runtimes. I
think we should be optimistic and include ecl- packages where we can,
but I have no problem with authors bailing on them if they don't work
and it wasn't the point of their patch.

> Either way, I guess this patch is ready to merge then.  ECL packages can
> always be tweaked later if need be.

Thank you, Guilluame, for the submission, Ludovic for maintaining, and
Pierre for reviewing and weighing in :)

[1] - https://issues.guix.info/issue/36131
Pierre Neidhardt Sept. 17, 2019, 4:09 p.m. UTC | #4
Thanks for the heads up!

I think the patch is ready to be committed.
I'll do it tomorrow or Thursday, when I find the time.
Pierre Neidhardt Sept. 18, 2019, 9:58 a.m. UTC | #5
Merged, thanks everyone!
diff mbox series

Patch

From 8a0ee3aba33e319b78e6cd3c550ed7f279642262 Mon Sep 17 00:00:00 2001
From: Guillaume LE VAILLANT <glv@posteo.net>
Date: Mon, 1 Jul 2019 23:23:22 +0200
Subject: [PATCH 13/13] gnu: Add cl-lzlib.

* gnu/packages/lisp.scm (sbcl-lzlib, cl-lzlib, ecl-lzlib): New variables.
---
 gnu/packages/lisp.scm | 45 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 63381a8cea..94ef3731e0 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -7315,3 +7315,48 @@  cl-plumbing libraries.")
 
 (define-public ecl-cl-octet-streams
   (sbcl-package->ecl-package sbcl-cl-octet-streams))
+
+(define-public sbcl-lzlib
+  (let ((commit "0de1db7129fef9a58a059d35a2fa2ecfc5b47b47")
+        (revision "1"))
+    (package
+      (name "sbcl-lzlib")
+      (version (git-version "1.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/glv2/cl-lzlib.git")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "12ny7vj52fgnd8hb8fc8mry92vq4c1x72x2350191m4476j95clz"))))
+      (build-system asdf-build-system/sbcl)
+      (native-inputs
+       `(("fiveam" ,sbcl-fiveam)))
+      (inputs
+       `(("cffi" ,sbcl-cffi)
+         ("cl-octet-streams" ,sbcl-cl-octet-streams)
+         ("lzlib" ,lzlib)))
+      (arguments
+       '(#:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'fix-paths
+             (lambda* (#:key inputs #:allow-other-keys)
+               (substitute* "src/lzlib.lisp"
+                 (("liblz\\.so")
+                  (string-append (assoc-ref inputs "lzlib") "/lib/liblz.so")))
+               #t)))))
+      (synopsis "Common Lisp library for lzip (de)compression")
+      (description
+       "This Common Lisp library provides functions for lzip (LZMA)
+compression/decompression using bindings to the lzlib C library.")
+      (home-page "https://github.com/glv2/cl-lzlib")
+      (license license:gpl3+))))
+
+(define-public cl-lzlib
+  (sbcl-package->cl-source-package sbcl-lzlib))
+
+(define-public ecl-lzlib
+  (sbcl-package->ecl-package sbcl-lzlib))
-- 
2.23.0