Subject: bug#29642: closed (Re: bug#29642: guix 0.14.0 cannot use HTTPS with guile 2.0)

From: [email-masked] (GNU bug Tracking System)
Date: Mon, 11 Dec 2017 09:43:02 +0000

Your bug report

#29642: guix 0.14.0 cannot use HTTPS with guile 2.0

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
29642: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=29642
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#29642: guix 0.14.0 cannot use HTTPS with guile 2.0
From: [email-masked] (Ludovic Courtès)
To: ng0 <[email-masked]>
Cc: 藍挺瑋 <[email-masked]>, [email-masked]
Date: Mon, 11 Dec 2017 10:41:57 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello,

ng0 <[email-masked]> skribis:

> 藍挺瑋 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?

Yes.

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

This is correct, 藍挺瑋.  This has been fixed here:

  https://git.savannah.gnu.org/cgit/guix.git/commit/?id=7f04197fef905790fd392f8d686d00ae95a0d04c

Thanks,
Ludo’.

Subject: guix 0.14.0 cannot use HTTPS with guile 2.0
From: 藍挺瑋 <[email-masked]>
To: [email-masked]
Date: Sun, 10 Dec 2017 21:05:12 +0800
List-Id: <debbugs-submit.debbugs.gnu.org>

This problem happens on Fedora 27, which uses Guile 2.0.14.

$ 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'.