From mboxrd@z Thu Jan 1 00:00:00 1970 From: taylanbayirli@gmail.com (Taylan Ulrich =?utf-8?Q?Bay=C4=B1rl=C4=B1?= =?utf-8?Q?=2FKammer?=) Subject: Re: [PATCH] build: pull: Compile .scm files in one process. Date: Wed, 02 Dec 2015 09:09:17 +0100 Message-ID: <87zixt9sr6.fsf@T420.taylan> References: <87si4kxtge.fsf@T420.taylan> <87611gdul8.fsf@gnu.org> <87h9kzy09b.fsf@T420.taylan> <87bnb6c0nh.fsf@gnu.org> <874mgyxhgy.fsf@T420.taylan> <877flpohu6.fsf@gnu.org> <87mvuku444.fsf@T420.taylan> <87pozgfyzt.fsf@gnu.org> <87io57tt2s.fsf@T420.taylan> <876117mnef.fsf@igalia.com> <87egfvtnbw.fsf@T420.taylan> <87y4e3l7hm.fsf@igalia.com> <87a8qjtje8.fsf@T420.taylan> <876117t0ax.fsf@gnu.org> <877flmrn2m.fsf@T420.taylan> <87a8q0ies5.fsf@gnu.org> <87fuzrlt6f.fsf@T420.taylan> <87bnafbvrs.fsf@gnu.org> <87bnaflbg2.fsf@T420.taylan> <87h9k3ab9k.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:36736) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a42Rk-0004WS-Lt for guix-devel@gnu.org; Wed, 02 Dec 2015 03:07:42 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a42Ra-0003jT-H1 for guix-devel@gnu.org; Wed, 02 Dec 2015 03:07:28 -0500 In-Reply-To: <87h9k3ab9k.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Mon, 30 Nov 2015 14:04:55 +0100") 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: Ludovic =?utf-8?Q?Court=C3=A8s?= Cc: guix-devel@gnu.org ludo@gnu.org (Ludovic Court=C3=A8s) writes: > taylanbayirli@gmail.com (Taylan Ulrich "Bay=C4=B1rl=C4=B1/Kammer") skribi= s: > >> After some tinkering around I realized that the problem is that our >> workaround of loading files explicitly causes the package record type to >> be redefined after some packages have already been defined. More >> generally, we force the top-level of many files to be re-executed after >> they've already been executed as a result of a module import... >> >> It would be great if the whole circular import problem could somehow be >> solved by Guile (no idea how feasible it is). On the meanwhile, we'll >> have to work around problems introduced by workarounds. :-) > > I think we=E2=80=99ve gone way too far in kludgeland. ;-) > > The other idea I had, and which is known to work, it to rely exclusively > on auto-compilation. By definition, Guile=E2=80=99s auto-compilation mod= e will > compile things in the right order, thereby allowing us to compile > everything in one process. Probably not parallelizable though, since > this is under Guile=E2=80=99s control, not ours. > > Would you like to play with that? Otherwise I can give it a try later. I looked around in guix/scripts/pull.scm and build-aux/build-self.scm, but couldn't figure out how to enable auto-compilation here. I expected there would be a place where guile is called with --no-auto-compile. What am I missing? Taylan