From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Subject: bug#32749: package-with-explicit-inputs leaks-in additional inputs Date: Mon, 17 Sep 2018 22:26:51 +0200 Message-ID: <87musf6fas.fsf@gnu.org> References: <87tvmo4f1d.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]:50609) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g207m-0000IV-Qd for bug-guix@gnu.org; Mon, 17 Sep 2018 16:28:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g207m-0000xU-3o for bug-guix@gnu.org; Mon, 17 Sep 2018 16:28:02 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:39144) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1g207l-0000xQ-Tm for bug-guix@gnu.org; Mon, 17 Sep 2018 16:28:01 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1g207l-0006zv-Pj for bug-guix@gnu.org; Mon, 17 Sep 2018 16:28:01 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <87tvmo4f1d.fsf@gnu.org> (Jan Nieuwenhuizen's message of "Mon, 17 Sep 2018 12:03:10 +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" To: Jan Nieuwenhuizen Cc: 32749@debbugs.gnu.org Hello! Jan Nieuwenhuizen skribis: > 11:56:03 janneke@dundal:~/src/guix-master=20 > $ ./pre-inst-env guix graph --type=3Dbag -e '(begin (use-modules (guix pa= ckages)) (@@ (gnu packages pawei) gnu-make-no-implicit-inputs))' | wc -l > 14 > 11:56:22 janneke@dundal:~/src/guix-master=20 > $ ./pre-inst-env guix graph --type=3Dbag -e '(begin (use-modules (guix pa= ckages)) (@@ (gnu packages pawei) gnu-make-explicit-inputs))' | wc -l > 79 [...] > (define gnu-make-no-implicit-inputs > (package-with-bootstrap-guile > (package (inherit gnu-make) > (name "make-no-implicit-inputs") > (inputs (%bootstrap-inputs+toolchain)) > (native-inputs '()) > (arguments `(#:guile ,%bootstrap-guile > #:implicit-inputs? #f > ,@(package-arguments diffutils)))))) > > (define gnu-make-explicit-inputs > (let ((p (package-with-explicit-inputs gnu-make > (%bootstrap-inputs+toolchain) > #:guile %bootstrap-guile))) > (package-with-bootstrap-guile > (package (inherit p) > (name "make-explicit-inputs") > (arguments (package-arguments p)))))) The difference comes from the fact that =E2=80=98gnu-make-explicit-inputs= =E2=80=99 has Guile in its =E2=80=98inputs=E2=80=99: --8<---------------cut here---------------start------------->8--- scheme@(gnu packages pawei)> (package-direct-inputs gnu-make-explicit-input= s) $5 =3D (("libc" #) ("gcc" #) ("binutils" #) ("coreutils&co" #) ("bash" #) ("guile" #)) --8<---------------cut here---------------end--------------->8--- This comes from the fact that the =E2=80=98inputs=E2=80=99 field is not ove= rridden, unlike in the case of =E2=80=98gnu-make-no-implicit-inputs=E2=80=99. To solve this, the solution is to add this one =E2=80=98inputs=E2=80=99 lin= e: --8<---------------cut here---------------start------------->8--- (define gnu-make-explicit-inputs (let ((p (package-with-explicit-inputs gnu-make (%bootstrap-inputs+toolchain) #:guile %bootstrap-guile))) (package-with-bootstrap-guile (package (inherit p) (name "make-explicit-inputs") (inputs '()) ;<- HERE (arguments (package-arguments p)))))) --8<---------------cut here---------------end--------------->8--- Perhaps you hit similar cases on =E2=80=98wip-bootstrap=E2=80=99? It=E2=80= =99s easy to leave out too many inputs=E2=80=A6 Cheers, Ludo=E2=80=99.