Subject: bug#29642: guix 0.14.0 cannot use HTTPS with guile 2.0

From: ng0 <[email-masked]>
Date: Sun, 10 Dec 2017 13:32:09 +0000

藍挺瑋 transcribed 1.7K bytes:
> This problem happens on Fedora 27, which uses Guile 2.0.14.

Do we still support building with guile 2.0? That's a
maintenance version of Guile, 2.2 is the new stable.

> $ guix package -i hello
> The following package will be installed:
>    hello	2.10	/gnu/store/pa4w02b89d6sq33840dxfl5vbqbwz5iy-hello-2.10
> 
> substitute: Backtrace:
> substitute: In ice-9/boot-9.scm:
> substitute:  160: 9 [catch #t #<catch-closure 55ef08139900> ...]
> substitute: In unknown file:
> substitute:    ?: 8 [apply-smob/1 #<catch-closure 55ef08139900>]
> substitute: In ice-9/boot-9.scm:
> substitute:   66: 7 [call-with-prompt prompt0 ...]
> substitute: In ice-9/eval.scm:
> substitute:  432: 6 [eval # #]
> substitute: In ice-9/boot-9.scm:
> substitute: 2412: 5 [save-module-excursion #<procedure 55ef08159900 at
> ice-9/boot-9.scm:4084:3 ()>]
> substitute: 4089: 4 [#<procedure 55ef08159900 at ice-9/boot-9.scm:4084:3
> ()>]
> substitute: 1734: 3 [%start-stack load-stack ...]
> substitute: 1739: 2 [#<procedure 55ef0816dbd0 ()>]
> substitute: In unknown file:
> substitute:    ?: 1 [primitive-load "/usr/bin/guix"]
> substitute: In guix/ui.scm:
> substitute: 1452: 0 [run-guix-command substitute "--query"]
> substitute:
> substitute: guix/ui.scm:1452:12: In procedure run-guix-command:
> substitute: guix/ui.scm:1452:12: In procedure setvbuf: Wrong type
> argument in position 1 (expecting port that supports 'setvbuf'):
> #<input-output: gnutls-session-port 55ef0902fc30>
> guix package: error: corrupt input while restoring archive from socket
> 
> If I revert commit 866f37f, this problem can be avoided. The commit
> (download: Improve efficiency of 'write-request' over TLS.) added the
> following code to guix/build/download.scm:
> 
> (cond-expand
>   (guile-2.0 #f)
>   (else (setvbuf record 'line)))
> 
> The info page of guile doesn't list 'guile-2.0' feature. I know there is
> a feature called 'guile-2.2', but I cannot find 'guile-2.0'.
> 
> 
> 
> 

-- 
GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588
GnuPG: https://c.n0.is/ng0_pubkeys/tree/keys
  WWW: https://n0.is