From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Subject: bug#18747: Fixed-output derivations are not substituted Date: Thu, 16 Oct 2014 17:46:18 +0200 Message-ID: <87lhog3tmd.fsf@gnu.org> References: <87h9z4594k.fsf@gnu.org> <874mv458bo.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]:54845) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XenGe-0004rQ-Cl for bug-guix@gnu.org; Thu, 16 Oct 2014 11:47:14 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XenGY-00076W-Eq for bug-guix@gnu.org; Thu, 16 Oct 2014 11:47:08 -0400 Received: from debbugs.gnu.org ([140.186.70.43]:54569) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XenGY-00076S-BU for bug-guix@gnu.org; Thu, 16 Oct 2014 11:47:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1XenGY-0001qM-1J for bug-guix@gnu.org; Thu, 16 Oct 2014 11:47:02 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <874mv458bo.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Thu, 16 Oct 2014 17:43:23 +0200") 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-bounces+gcggb-bug-guix=m.gmane.org@gnu.org To: 18747@debbugs.gnu.org ludo@gnu.org (Ludovic Court=C3=A8s) skribis: > Initially #:local-build? (aka. =E2=80=98preferLocalBuild=E2=80=99) meant = =E2=80=9Cavoid > offloading this derivation=E2=80=9D, but Nix commit 55586527 (June 2013) = changed > it to =E2=80=9Cavoid offloading *or substituting* this derivation=E2=80= =9D, which I > somehow overlooked for all this time. The relevant code is in libstore/build.cc: --8<---------------cut here---------------start------------->8--- /* We are first going to try to create the invalid output paths through substitutes. If that doesn't work, we'll build them. */ if (settings.useSubstitutes && !willBuildLocally(drv)) foreach (PathSet::iterator, i, invalidOutputs) addWaitee(worker.makeSubstitutionGoal(*i, buildMode =3D=3D bmRe= pair)); --8<---------------cut here---------------end--------------->8--- Ludo=E2=80=99.