From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andy Wingo Subject: bug#25775: Attempts to fix bootstrap Guile bug Date: Tue, 21 Feb 2017 09:52:09 +0100 Message-ID: <87ino4ylhi.fsf@pobox.com> References: Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:51623) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cg6C1-0004lF-Aq for bug-guix@gnu.org; Tue, 21 Feb 2017 03:53:06 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cg6By-0001f2-5X for bug-guix@gnu.org; Tue, 21 Feb 2017 03:53:05 -0500 Received: from debbugs.gnu.org ([208.118.235.43]:49965) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cg6Bx-0001el-Uk for bug-guix@gnu.org; Tue, 21 Feb 2017 03:53:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1cg6Bx-000114-Kx for bug-guix@gnu.org; Tue, 21 Feb 2017 03:53:01 -0500 In-Reply-To: Sender: "Debbugs-submit" Resent-Message-ID: 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: 25775@debbugs.gnu.org Hi, It seems that this bug is related to the introduction of url-fetch/reset-patch-level. It takes a #:guile kwarg but defaults to #f; if not given #:guile, that #f propagates through instead of a package object. So one fix is here: diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm index c8d94c8..d070cca 100644 --- a/gnu/packages/bootstrap.scm +++ b/gnu/packages/bootstrap.scm @@ -76,8 +76,10 @@ (let ((orig-method (origin-method source))) (origin (inherit source) - (method (cond ((eq? orig-method url-fetch) - (boot url-fetch)) + (method (cond ((or (eq? orig-method url-fetch) + (eq? orig-method + (@@ (gnu packages bash) url-fetch/reset-patch-level))) + (boot orig-method)) (else orig-method))) (patch-guile %bootstrap-guile) (patch-inputs %bootstrap-patch-inputs) I think anyway. If you look at this code, the "boot" helper decorates the url-fetch call with a #:guile. But I don't think this function is called for bash because I still see an error. Another fix is here I think: diff --git a/gnu/packages/bash.scm b/gnu/packages/bash.scm index c121fd8..fdb3aa8 100644 --- a/gnu/packages/bash.scm +++ b/gnu/packages/bash.scm @@ -250,7 +250,8 @@ can apply to a patch-level 0 Bash." (patch (url-fetch url hash-algo hash (string-append name ".orig") #:system system - #:guile guile))) + #:guile guile)) + (guile (package->derivation guile system))) (gexp->derivation name (with-imported-modules '((guix build utils)) #~(begin Here this "guile" propagates below to #:guile-for-build, which AFAIU should be a derivation, not a package. But even with this, I still get an error. Add (unless guile (error "what")) to the top of url-fetch/reset-patch-level, and I get: [6h8mzf08ld7r69yy9gdbxw9vba0l9sr2-profile] wingo@clucks:~/src/guix$ guix build guile-next Backtrace: In srfi/srfi-1.scm: 575: 19 [map # (#)] In guix/scripts/build.scm: 634: 18 [# #] In guix/packages.scm: 786: 17 [cache! # # # ...] 1095: 16 [thunk] 982: 15 [bag-grafts # #] 966: 14 [fold-bag-dependencies # ...] 983: 13 [# # #] 786: 12 [cache! # # "x86_64-linux" ...] 910: 11 [thunk] 786: 10 [cache! # # # ...] 1092: 9 [thunk] 1024: 8 [bag->derivation # # #] In srfi/srfi-1.scm: 575: 7 [map # #] In guix/packages.scm: 846: 6 [expand-input # # # ...] In guix/store.scm: 1249: 5 [run-with-store # ...] In guix/packages.scm: 1200: 4 [# #] 486: 3 [patch-and-repack # # # ...] In srfi/srfi-1.scm: 575: 2 [map # (#)] In gnu/packages/bash.scm: 249: 1 [url-fetch/reset-patch-level "mirror://gnu/bash/bash-4.4-patches/bash44-007" ...] In unknown file: ?: 0 [scm-error misc-error #f "~A" ("what") #f] ERROR: In procedure scm-error: ERROR: what That indicates to me that somehow the origin for this bash (or is it bash/fixed?) isn't getting its url-fetch call appropriately decorated. I think in the meantime it would be acceptable to insert an (unless guile (error "update your guix daemon from git and restart it (#25775)")) to url-fetch/reset-patch-level, or something like that. WDYT? Andy