From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: Problem with patching tar Date: Tue, 05 May 2015 18:13:12 +0200 Message-ID: <87mw1j3svb.fsf@gnu.org> References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:43086) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YpfTC-0005oJ-Mv for Guix-devel@gnu.org; Tue, 05 May 2015 12:13:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YpfT9-0001fW-E5 for Guix-devel@gnu.org; Tue, 05 May 2015 12:13:18 -0400 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:42614) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YpfT9-0001fS-B9 for Guix-devel@gnu.org; Tue, 05 May 2015 12:13:15 -0400 In-Reply-To: (Manolis Ragkousis's message of "Tue, 5 May 2015 09:52:50 +0300") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Manolis Ragkousis Cc: Guix-devel --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Manolis Ragkousis skribis: > When I try to patch tar I get "(vm-run "VM: Stack overflow" ())", > probably, because it tries to use patch but it does not yet exist and > I get the chicken-egg problem. Indeed. The problem was that, by default, source patching in =E2=80=98patch-and-repack=E2=80=99 would use not the tar from =E2=80=98%fin= al-inputs=E2=80=99, but the tar built with =E2=80=98%final-inputs=E2=80=99. Hence the circular depende= ncy: to apply the patch of this tar, we would first need to built it. So you first need this patch: --=-=-= Content-Type: text/x-patch Content-Disposition: inline --- a/guix/packages.scm +++ b/guix/packages.scm @@ -315,8 +315,11 @@ representation." (string-append (package-name package) "-" (package-version package))) (define (%standard-patch-inputs) - (let ((ref (lambda (module var) - (module-ref (resolve-interface module) var)))) + (let* ((canonical (module-ref (resolve-interface '(gnu packages base)) + 'canonical-package)) + (ref (lambda (module var) + (canonical + (module-ref (resolve-interface module) var))))) `(("tar" ,(ref '(gnu packages base) 'tar)) ("xz" ,(ref '(gnu packages compression) 'xz)) ("bzip2" ,(ref '(gnu packages compression) 'bzip2)) @@ -324,8 +327,7 @@ representation." ("lzip" ,(ref '(gnu packages compression) 'lzip)) ("unzip" ,(ref '(gnu packages zip) 'unzip)) ("patch" ,(ref '(gnu packages base) 'patch)) - ("locales" ,(ref '(gnu packages commencement) - 'glibc-utf8-locales-final))))) + ("locales" ,(ref '(gnu packages base) 'glibc-utf8-locales))))) (define (default-guile) "Return the default Guile package used to run the build code of --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable I just pushed it to wip-hurd. Make sure to remind us to apply it in the next core-updates cycle. Thanks! Ludo=E2=80=99. --=-=-=--