From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Subject: bug#38100: =?UTF-8?Q?=E2=80=98--with-input=E2=80=99?= causes unintended rebuilds Date: Fri, 08 Nov 2019 22:06:32 +0100 Message-ID: <87ftiydqnb.fsf@gnu.org> References: <87eeyjsw3g.fsf@inria.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:55122) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iTBTD-0004SI-G5 for bug-guix@gnu.org; Fri, 08 Nov 2019 16:07:05 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iTBTC-0000ZP-EB for bug-guix@gnu.org; Fri, 08 Nov 2019 16:07:03 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:38961) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iTBTC-0000ZL-9w for bug-guix@gnu.org; Fri, 08 Nov 2019 16:07:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1iTBTC-0002t0-0S for bug-guix@gnu.org; Fri, 08 Nov 2019 16:07:02 -0500 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <87eeyjsw3g.fsf@inria.fr> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22\?\= \=\?utf-8\?Q\?'s\?\= message of "Thu, 07 Nov 2019 13:35:15 +0100") 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: 38100@debbugs.gnu.org Hi, Ludovic Court=C3=A8s skribis: > Indeed, evaluating: > > (bag-transitive-inputs > (package->bag ((package-input-rewriting '()) glib))) > > shows that we have two =E2=80=9Cpython=E2=80=9D packages there that are n= ot =E2=80=98eq?=E2=80=99. The problem is that =E2=80=98glib=E2=80=99 depends on =E2=80=98python-libxm= l2=E2=80=99, which uses =E2=80=98python-build-system=E2=80=99 and thus has =E2=80=98python=E2=80=99= as an implicit input. =E2=80=98package-input-rewriting=E2=80=99 doesn=E2=80=99t touch implicit in= puts so it leaves that implicit =E2=80=98python=E2=80=99 untouched. Since =E2=80=98transitive-inputs=E2=80=99 (used by =E2=80=98bag-transitive-= inputs=E2=80=99) uses pointer equality, we end up with two =E2=80=9Cpython=E2=80=9D packages that are not= =E2=80=98eq?=E2=80=99 but are functionally equivalent: the one produced by =E2=80=98package-input-rewriting=E2=80=99, and the implicit dependency of =E2=80=98python-libxml2=E2=80=99. QED. (This is essentially the same as .) I=E2=80=99m not sure how to address it. Ludo=E2=80=99.