diff mbox series

[bug#43133] Update Chez to 9.5.4, Add a static output for lz4

Message ID 65fe74d3-78d7-261c-d5c7-4c804ad251fd@brendan.scot
State Accepted
Headers show
Series [bug#43133] Update Chez to 9.5.4, Add a static output for lz4 | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch fail View Laminar job

Commit Message

Brendan Tildesley Aug. 31, 2020, 12:07 p.m. UTC
I haven't tested it but it seems to work. I wanted to build some of the 
dependent packages against it but i noticed chez-irregex, chez-sockets, 
chez-scmutils are all broken anyway. chez-fmt builds at least.

Comments

Martin Becze Aug. 31, 2020, 4:57 p.m. UTC | #1
The broken dependent packages are related to issue #42947 
https://issues.guix.gnu.org/42947https://issues.guix.gnu.org/42947

On 8/31/20 7:07 AM, Brendan Tildesley wrote:
> I haven't tested it but it seems to work. I wanted to build some of the 
> dependent packages against it but i noticed chez-irregex, chez-sockets, 
> chez-scmutils are all broken anyway. chez-fmt builds at least.
Ludovic Courtès Nov. 3, 2020, 10:55 a.m. UTC | #2
Hi Brendan,

Apologies for the long delay; I guess quite a few patches that arrived
during the summer fell through the cracks.  :-/

Brendan Tildesley <mail@brendan.scot> skribis:

> I haven't tested it but it seems to work. I wanted to build some of
> the dependent packages against it but i noticed chez-irregex,
> chez-sockets, chez-scmutils are all broken anyway. chez-fmt builds at
> least.

That should be fixed now as Martin pointed out:

  https://issues.guix.gnu.org/42947

>>From c81a0521d44f6dc6fa70b745b4062db2fc89a5b6 Mon Sep 17 00:00:00 2001
> From: Brendan Tildesley <mail@brendan.scot>
> Date: Mon, 31 Aug 2020 16:39:02 +1000
> Subject: [PATCH 1/3] gnu: lz4: Install static build to "static" output.
>
> * gnu/packages/compression.scm (lz4): Mimic the zlib package by moving
> the static build output to a separate "static" output. This allows
> programs like chez-scheme to link to the static version.

The patch LGTM.  In theory it should go to ‘staging’, I have to check
what the status is.

>>From 4e7d52173cee354e5ac0dfedd6f22b95e96ffe86 Mon Sep 17 00:00:00 2001
> From: Brendan Tildesley <mail@brendan.scot>
> Date: Mon, 31 Aug 2020 17:26:17 +1000
> Subject: [PATCH 2/3] gnu: chez-scheme: Update to 9.5.4.
>
> * gnu/packages/chez.scm
> (nanopass): Update to 1.9.1.
> (stex): Update to 1.2.2.
> (chez-scheme): Update to 9.5.4.
> [inputs]: Add newly required lz4 and lz4:static.
> [arguments]:
>  - Remove unused zlib symbol.
>  - Since we are using ZLIB=, it looks like the substitution of libz.a path in
>  .c/Mf-... files is no longer needed.
>  - add lz4-static symbol and use new LZ4= and ZLIB= configure options to
>    point to their static binaries.

[...]

>                 (substitute* "stex/Makefile"
>                   (("PREFIX=/usr") (string-append "PREFIX=" out)))
>                 (invoke "./configure" "--threads"
> +                       (string-append "ZLIB=" zlib-static "/lib/libz.a")
> +                       (string-append "LZ4=" lz4-static "/lib/liblz4.a")

Why should Chez static-link against those?  In general we should avoid
that as that prevents security update propagation through grafts.  Can
we remove these two lines?

>>From 939a1f8185f7e77ff1b809e6cc8de6fbf43b9768 Mon Sep 17 00:00:00 2001
> From: Brendan Tildesley <mail@brendan.scot>
> Date: Mon, 31 Aug 2020 21:51:34 +1000
> Subject: [PATCH 3/3] gnu: chez-scheme: Patch more hard-coded paths.
>
> * gnu/packages/chez.scm (chez-scheme): Patch out some /bin/rm and
> /bin/echo references.

LGTM.

Thank you!

Ludo’.
Ludovic Courtès Dec. 18, 2020, 3:09 p.m. UTC | #3
Hi Brendan,

Brendan Tildesley <mail@brendan.scot> skribis:

>>From 4e7d52173cee354e5ac0dfedd6f22b95e96ffe86 Mon Sep 17 00:00:00 2001
> From: Brendan Tildesley <mail@brendan.scot>
> Date: Mon, 31 Aug 2020 17:26:17 +1000
> Subject: [PATCH 2/3] gnu: chez-scheme: Update to 9.5.4.
>
> * gnu/packages/chez.scm
> (nanopass): Update to 1.9.1.
> (stex): Update to 1.2.2.
> (chez-scheme): Update to 9.5.4.
> [inputs]: Add newly required lz4 and lz4:static.
> [arguments]:
>  - Remove unused zlib symbol.
>  - Since we are using ZLIB=, it looks like the substitution of libz.a path in
>  .c/Mf-... files is no longer needed.
>  - add lz4-static symbol and use new LZ4= and ZLIB= configure options to
>    point to their static binaries.

[...]

>>From 939a1f8185f7e77ff1b809e6cc8de6fbf43b9768 Mon Sep 17 00:00:00 2001
> From: Brendan Tildesley <mail@brendan.scot>
> Date: Mon, 31 Aug 2020 21:51:34 +1000
> Subject: [PATCH 3/3] gnu: chez-scheme: Patch more hard-coded paths.
>
> * gnu/packages/chez.scm (chez-scheme): Patch out some /bin/rm and
> /bin/echo references.

I went ahead and applied these two patches.

Some of the chez-* packages currently fail due to some TeX Live issue
unfortunately, but at least ‘chez-fmt’ and ‘chez-scmutils’ build fine
with these changes.

It would still be interesting to link dynamically (instead of
statically) against libz and liblz4 as a followup.

Thanks,
Ludo’.
diff mbox series

Patch

From 939a1f8185f7e77ff1b809e6cc8de6fbf43b9768 Mon Sep 17 00:00:00 2001
From: Brendan Tildesley <mail@brendan.scot>
Date: Mon, 31 Aug 2020 21:51:34 +1000
Subject: [PATCH 3/3] gnu: chez-scheme: Patch more hard-coded paths.

* gnu/packages/chez.scm (chez-scheme): Patch out some /bin/rm and
/bin/echo references.
---
 gnu/packages/chez.scm | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm
index 742ab96a82..756c3378bd 100644
--- a/gnu/packages/chez.scm
+++ b/gnu/packages/chez.scm
@@ -151,11 +151,14 @@ 
                                     "|stex\\.stex"
                                     "|newrelease"
                                     "|workarea"
+                                    "|unix\\.ms"
+                                    "|^6\\.ms"
                                     ;;"|[a-zA-Z0-9.]+\\.ms" ; guile can't read
                                     ")"))
                  (("/bin/rm") (which "rm"))
                  (("/bin/ln") (which "ln"))
-                 (("/bin/cp") (which "cp")))
+                 (("/bin/cp") (which "cp"))
+                 (("/bin/echo") (which "echo")))
                (substitute* "makefiles/installsh"
                  (("/bin/true") (which "true")))
                (substitute* "stex/Makefile"
-- 
2.28.0