mbox

[bug#45977,v2,0/2] gnu: guile-redis: Update to 2.0.0.

Message ID 20210126104233.21674-1-me@bonfacemunyoki.com
Headers show

Message

Munyoki Kilyungi Jan. 26, 2021, 10:42 a.m. UTC
Hi! For this patch, I've downgraded guile2.0-redis back to 1.3.0. The problem
with with trying to build v2.0.0 on guile2.0 is that libs like (ice-9
textual-ports) were not yet present; but are used in v2.0 of
guile-redis. Here's what I have when I get into a guile2.0 repl:

#+begin_src 
➜  guix git:(master) ✗ guix environment -C --ad-hoc guile@2.0.14 -- guile
The following derivation will be built:
   /gnu/store/f6pxq82f7ifzxmlaba72x0mn9rqfdf8b-profile.drv
The following profile hooks will be built:
   /gnu/store/3ghqadnzhddgcf8nljfzjrkyzvizn61m-manual-database.drv
   /gnu/store/4p7wnbk6bh9g6q1wlb48zmf09rlnwdxl-info-dir.drv
   /gnu/store/4q08ispks919baxrvp5g7wyipn1n98lc-fonts-dir.drv
   /gnu/store/f15hk17knzla3wzhmfyx61lwih1g5mjq-ca-certificate-bundle.drv
building CA certificate bundle...
building fonts directory...
building directory of Info manuals...
building database for manual pages...
building profile with 1 package...
GNU Guile 2.0.14
Copyright (C) 1995-2016 Free Software Foundation, Inc.

Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.

Enter `,help' for help.
scheme@(guile-user)> ,use (ice-9 textual-ports)
While executing meta-command:
ERROR: no code for module (ice-9 textual-ports)
scheme@(guile-user)> 
#+end_src

In this patch set, I've downgraded the guile2.0-redis version to 1.3.0.

BonfaceKilz (2):
  gnu: guile-redis: Update to 2.0.0.
  gnu: guile2.0-redis: Revert to 1.3.0.

 gnu/packages/guile-xyz.scm | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

Comments

Efraim Flashner Jan. 27, 2021, 9:21 a.m. UTC | #1
On Tue, Jan 26, 2021 at 01:42:31PM +0300, BonfaceKilz wrote:
> Hi! For this patch, I've downgraded guile2.0-redis back to 1.3.0. The problem
> with with trying to build v2.0.0 on guile2.0 is that libs like (ice-9
> textual-ports) were not yet present; but are used in v2.0 of
> guile-redis. Here's what I have when I get into a guile2.0 repl:

I dug into it a bit more and it looks like (redis utils) imports (ice-9
textual-imports) only for the put-string function. If I remove the
import then guile2.0-redis compiles just fine, but I wasn't sure if
there was a good test for it.

(ins)efraim@3900XT ~$ guix environment --ad-hoc guile@2.0 -- guile
;;; WARNING: loading compiled file /home/efraim/.guix-profile/lib/guile/3.0/site-ccache/ice-9/readline.go failed:
;;; ERROR: In procedure make_objcode_from_file: bad header on object file: "\x7fELF\x02\x01\x01�\x00\x00\x00\x00\x00\x00\x00\x00"
;;; WARNING: loading compiled file /run/current-system/profile/lib/guile/3.0/site-ccache/ice-9/readline.go failed:
;;; ERROR: In procedure make_objcode_from_file: bad header on object file: "\x7fELF\x02\x01\x01�\x00\x00\x00\x00\x00\x00\x00\x00"
Consider installing the 'guile-readline' package for
convenient interactive line editing and input history.

;;; WARNING: loading compiled file /home/efraim/.guix-profile/lib/guile/3.0/site-ccache/ice-9/colorized.go failed:
;;; ERROR: In procedure make_objcode_from_file: bad header on object file: "\x7fELF\x02\x01\x01�\x00\x00\x00\x00\x00\x00\x00\x00"
;;; WARNING: loading compiled file /run/current-system/profile/lib/guile/3.0/site-ccache/ice-9/colorized.go failed:
;;; ERROR: In procedure make_objcode_from_file: bad header on object file: "\x7fELF\x02\x01\x01�\x00\x00\x00\x00\x00\x00\x00\x00"
GNU Guile 2.0.14
Copyright (C) 1995-2016 Free Software Foundation, Inc.

Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.

Enter `,help' for help.
scheme@(guile-user)> (put-string "abcde" %current-output-port)
;;; <stdin>:1:0: warning: possibly unbound variable `put-string'
;;; <stdin>:1:0: warning: possibly unbound variable `%current-output-port'
<unnamed port>:1:0: In procedure #<procedure 7ff4222f48e0 at <current input>:1:0 ()>:
<unnamed port>:1:0: In procedure module-lookup: Unbound variable: put-string

Entering a new prompt.  Type `,bt' for a backtrace or `,q' to continue.
scheme@(guile-user) [1]> ,q
scheme@(guile-user)> (use-modules (rnrs io ports))
scheme@(guile-user)> (put-string "abcde" %current-output-port)
;;; <stdin>:4:0: warning: possibly unbound variable `%current-output-port'
<unnamed port>:4:12: In procedure #<procedure 7ff422266160 at <current input>:4:0 ()>:
<unnamed port>:4:12: In procedure module-lookup: Unbound variable: %current-output-port

Entering a new prompt.  Type `,bt' for a backtrace or `,q' to continue.

Ignoring the errors about %current-output-port, in guile2.0 put-string
is in (rnrs io ports), so it looks like it's safe to substitute (ice-9
textual-ports) for (rnrs io ports) in guile2.0-redis. So I made that
change and dropped your second patch. If someone mentions that
guile2.0-redis@2.0.0 is broken we can revisit :)

> #+begin_src 
> ➜  guix git:(master) ✗ guix environment -C --ad-hoc guile@2.0.14 -- guile
> The following derivation will be built:
>    /gnu/store/f6pxq82f7ifzxmlaba72x0mn9rqfdf8b-profile.drv
> The following profile hooks will be built:
>    /gnu/store/3ghqadnzhddgcf8nljfzjrkyzvizn61m-manual-database.drv
>    /gnu/store/4p7wnbk6bh9g6q1wlb48zmf09rlnwdxl-info-dir.drv
>    /gnu/store/4q08ispks919baxrvp5g7wyipn1n98lc-fonts-dir.drv
>    /gnu/store/f15hk17knzla3wzhmfyx61lwih1g5mjq-ca-certificate-bundle.drv
> building CA certificate bundle...
> building fonts directory...
> building directory of Info manuals...
> building database for manual pages...
> building profile with 1 package...
> GNU Guile 2.0.14
> Copyright (C) 1995-2016 Free Software Foundation, Inc.
> 
> Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
> This program is free software, and you are welcome to redistribute it
> under certain conditions; type `,show c' for details.
> 
> Enter `,help' for help.
> scheme@(guile-user)> ,use (ice-9 textual-ports)
> While executing meta-command:
> ERROR: no code for module (ice-9 textual-ports)
> scheme@(guile-user)> 
> #+end_src
> 
> In this patch set, I've downgraded the guile2.0-redis version to 1.3.0.
> 
> BonfaceKilz (2):
>   gnu: guile-redis: Update to 2.0.0.
>   gnu: guile2.0-redis: Revert to 1.3.0.
> 
>  gnu/packages/guile-xyz.scm | 15 +++++++++++++--
>  1 file changed, 13 insertions(+), 2 deletions(-)
> 
> -- 
> 2.29.2
>
Munyoki Kilyungi Jan. 27, 2021, 9:40 a.m. UTC | #2
Efraim Flashner <efraim@flashner.co.il> writes:

> On Tue, Jan 26, 2021 at 01:42:31PM +0300, BonfaceKilz wrote:
>> Hi! For this patch, I've downgraded
>> guile2.0-redis back to 1.3.0. The problem
>> with with trying to build v2.0.0 on guile2.0 is
>> that libs like (ice-9
>> textual-ports) were not yet present; but are used in v2.0 of
>> guile-redis. Here's what I have when I get into a guile2.0 repl:
>
> I dug into it a bit more and it looks like (redis
> utils) imports (ice-9
> textual-imports) only for the put-string function. If I remove the
> import then guile2.0-redis compiles just fine, but I wasn't sure if
> there was a good test for it.

Thanks!

[...]