From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ricardo Wurmus Subject: bug#28303: =?UTF-8?Q?=E2=80=9Cguix?= import texlive =?UTF-8?Q?keyval=E2=80=9D?= fails Date: Mon, 09 Oct 2017 23:12:14 +0200 Message-ID: <87mv50m3f5.fsf@elephly.net> References: <8760d4vyh0.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:58753) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e1fMI-0000QW-A5 for bug-guix@gnu.org; Mon, 09 Oct 2017 17:13:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e1fME-000219-RI for bug-guix@gnu.org; Mon, 09 Oct 2017 17:13:06 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:50046) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1e1fME-00020x-Mr for bug-guix@gnu.org; Mon, 09 Oct 2017 17:13:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1e1fME-0000af-Gy for bug-guix@gnu.org; Mon, 09 Oct 2017 17:13:02 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-reply-to: <8760d4vyh0.fsf@gnu.org> List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 28303@debbugs.gnu.org Hi Ludo, > --8<---------------cut here---------------start------------->8--- > $ guix import texlive keyval > ni sekvas la redirektigon al 'https://ctan.org/xml/1.2/pkg/keyval'... > Backtrace: > 8 (primitive-load "/gnu/store/xjwq4aprrrb43lvsgbydd0m7pxj5758b-guix-0.13.0-5.…") > In guix/ui.scm: > 1331:12 7 (run-guix-command _ . _) > In guix/scripts/import.scm: > 114:11 6 (guix-import . _) > In guix/scripts/import/texlive.scm: > 91:19 5 (guix-import-texlive . _) > In guix/memoization.scm: > 56:0 4 (_ # ("keyval" "latex") _) > In unknown file: > 3 (_ # # …) > In guix/import/texlive.scm: > 157:25 2 (sxml->package (*TOP* (entry (@ (id "keyval")) (name "keyval") (# "…") …)) _) > In guix/serialization.scm: > 270:25 1 (write-file #f # #:select? _) > In unknown file: > 0 (lstat #f) > > ERROR: In procedure lstat: > ERROR: Wrong type (expecting string): #f > $ guix import texlive latex-graphics > ni sekvas la redirektigon al 'https://ctan.org/xml/1.2/pkg/latex-graphics'... > Backtrace: > 8 (primitive-load "/gnu/store/xjwq4aprrrb43lvsgbydd0m7pxj5758b-guix-0.13.0-5.…") > In guix/ui.scm: > 1331:12 7 (run-guix-command _ . _) > In guix/scripts/import.scm: > 114:11 6 (guix-import . _) > In guix/scripts/import/texlive.scm: > 91:19 5 (guix-import-texlive . _) > In guix/memoization.scm: > 56:0 4 (_ # ("latex-graphics" "latex") _) > In unknown file: > 3 (_ # # …) > In guix/import/texlive.scm: > 157:25 2 (sxml->package (*TOP* (entry (@ (id "latex-graphics")) (name "latex…") …)) _) > In guix/serialization.scm: > 270:25 1 (write-file #f # #:select? _) > In unknown file: > 0 (lstat #f) > > ERROR: In procedure lstat: > ERROR: Wrong type (expecting string): #f > --8<---------------cut here---------------end--------------->8--- In the case of “keyval” I don’t know exactly what is wrong, but in general it looks like the importer doesn’t use subversion from the store but expects it to be available in the environment. If you don’t have subversion in the environment this will fail: --8<---------------cut here---------------start------------->8--- guix import texlive multirow following redirection to `https://ctan.org/xml/1.2/pkg/multirow'... Backtrace: 17 (primitive-load "/gnu/store/zh0lb2g15hirq7zw2477w7s5ww7dxkv0-guix-0.13.0-6.a9468b4/bin/.guix-real") In guix/ui.scm: 1375:12 16 (run-guix-command _ . _) In guix/scripts/import.scm: 114:11 15 (guix-import . _) In guix/scripts/import/texlive.scm: 91:19 14 (guix-import-texlive . _) In guix/memoization.scm: 56:0 13 (_ # ("multirow" "latex") _) In unknown file: 12 (_ # # #) In ice-9/boot-9.scm: 142:2 11 (dynamic-wind # # …) In ice-9/eval.scm: 174:20 10 (_ #(#(#(#(#(#(#(#(#(# # …)) …) …) …) …) …) …) …)) 177:32 9 (lp (# # …)) 159:9 8 (_ #(#(#(#(#(#(#(#(#(# # …)) …) …) …) …) …) …) …)) 174:20 7 (_ #(#(#(#(#(#(#(#(#(# # …)) …) …) …) …) …) …) …)) 177:32 6 (lp (#)) 159:9 5 (_ #(#(#(#(#(#(#(#(#(# # …)) …) …) …) …) …) …) …)) 159:9 4 (_ #(#(#(#(#(#(#(#(#(# # …)) …) …) …) …) …) …) …)) 155:9 3 (_ #(#(#(#(#(#(#(#(#(# # …)) …) …) …) …) …) …) …)) 619:8 2 (_ #(#(# #f) # #)) In guix/serialization.scm: 270:25 1 (write-file #f # #:select? _) In unknown file: 0 (lstat #f) ERROR: In procedure lstat: ERROR: Wrong type (expecting string): #f --8<---------------cut here---------------end--------------->8--- But it’s fine when run inside “guix environment --ad-hoc subversion”. “keyval” is different, though, as it fails no matter if subversion is available or not. For packages like that I had a simple workaround to avoid computing the hash when the SVN download failed: --8<---------------cut here---------------start------------->8--- diff --git a/guix/import/texlive.scm b/guix/import/texlive.scm index d4c371436..b554f47d2 100644 --- a/guix/import/texlive.scm +++ b/guix/import/texlive.scm @@ -152,11 +152,12 @@ expression describing it." (uri (texlive-ref ,component ,id)) (sha256 (base32 - ,(bytevector->nix-base32-string - (let-values (((port get-hash) (open-sha256-port))) - (write-file checkout port) - (force-output port) - (get-hash))))))) + ,(if checkout (bytevector->nix-base32-string + (let-values (((port get-hash) (open-sha256-port))) + (write-file checkout port) + (force-output port) + (get-hash))) + "COULD-NOT-DOWNLOAD-SVN-REPO"))))) (build-system texlive-build-system) (arguments ,`(,'quote (#:tex-directory ,(string-join (list component id) "/")))) (home-page ,home-page) --8<---------------cut here---------------end--------------->8--- The real problem here that should be fixed first, however, is that the subversion package isn’t used automatically. -- Ricardo GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC https://elephly.net