From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: reproducibility Date: Tue, 12 Jan 2016 22:37:46 +0100 Message-ID: <87bn8qa385.fsf@gnu.org> References: <874mel2m94.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]:54936) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aJ6dW-0001NK-Hp for guix-devel@gnu.org; Tue, 12 Jan 2016 16:37:55 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aJ6dR-0001LI-Kl for guix-devel@gnu.org; Tue, 12 Jan 2016 16:37:54 -0500 In-Reply-To: (Federico Beffa's message of "Tue, 12 Jan 2016 21:11:47 +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: Federico Beffa Cc: Guix-devel Federico Beffa skribis: > On Sun, Jan 10, 2016 at 9:49 PM, Ludovic Court=C3=A8s wrot= e: >> Federico Beffa skribis: >> >>> I've noticed that a derivation is a function of the order of the >>> inputs. As an example, the following two input orders give rise to two >>> distinct derivations: >>> >>> A) >>> >>> (inputs >>> `(("texlive" ,texlive) >>> ("texinfo" ,texinfo) >>> ("m4" ,m4) >>> ("libx11" ,libx11)) >>> >>> B) >>> (inputs >>> `(("texinfo" ,texinfo) >>> ("texlive" ,texlive) >>> ("m4" ,m4) >>> ("libx11" ,libx11)) >>> >>> Is this intentional? >> >> Yes. There are several places where order matters, most importantly >> search paths, and these are computed from the input lists. > > If order matters, it would probably be more robust to force internally > a specific order rather than relying on the (often random) order > defined in a package recipe (possibly created by an importer, ...). Most of the time any order would work, but I can imagine situations where the packager could purposefully choose a specific order. So I=E2=80= =99d rather not do any automatic sorting, if that=E2=80=99s what you have in min= d. Thanks, Ludo=E2=80=99.