From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1.migadu.com ([2001:41d0:403:58f0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms13.migadu.com with LMTPS id cCGfAX2e7WYqUQAA62LTzQ:P1 (envelope-from ) for ; Fri, 20 Sep 2024 16:10:37 +0000 Received: from aspmx1.migadu.com ([2001:41d0:403:58f0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1.migadu.com with LMTPS id cCGfAX2e7WYqUQAA62LTzQ (envelope-from ) for ; Fri, 20 Sep 2024 18:10:37 +0200 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=fs1x0QlB; spf=pass (aspmx1.migadu.com: domain of "help-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="help-guix-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1726848636; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=PLVyHqGuBNiqZJt6cONh9zppLb571hMxqmzhitZ/a9c=; b=mVSsoyrGR2Dv5r3Rbf6i/lOBItfNVZuv6PbAMJCCbawE8DIEk/G4Y507c3cAlpKbNzaMzp ikinKUDKUapJFJ3+xfO2PMgz4gMkfXy0FMFDSpL22a/EXnjrZPm+EGlLqhWqd8JxIsZlo7 IQnIQU6wko5yF0NgVjpUA/l2hDlk2m+Qxy0J9WwJJYp+gTUoBhD4/DmZpDod0C2cC2DH1i ic6MJwnD9mII2Fx0gn9bkInLzVyKlmDKKTJFgoBU+uzv2JY4kSG+HKkmAdWLVu9eV8fVvH CU8CxJ6ZqH4OujK3vML6gWedEH7KNkb/bS62kJR+axqVtHnTetskK3KLqH1GPQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=fs1x0QlB; spf=pass (aspmx1.migadu.com: domain of "help-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="help-guix-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=key1; d=yhetil.org; t=1726848636; a=rsa-sha256; cv=none; b=aHQtGGmNzfk/plBgVBjp57RJaUKvmLEaVKQfA5x7irAlic8gaPHEpr/N7ei5gdGRW7Bo5T Ete24SW2qPku/LmPgWgtB5cNl7bnjSeyAHhPugJ+ZEtq+uv5PQtAUvudSM+S1AkJ0E9uiA MOC86o4Ekm6lfqZP8IJZLkoTWCYSWm9yczE62u8fjlezUqRDVUiLmIYuFBgXuvSpWF/4jM ymig5sgJXXQos8vLpBE2s7qJI7L1v01+r/Q2olDVPqhguF9yXQ/5Rvp/PM3EXTQJVPmjsv DyFn98JJVyLr7YV/j8NJDU+9KbuZDqWdYKtWTccsyX0tq8I5S7c//8vFaqyRRg== Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 969B5755BC for ; Fri, 20 Sep 2024 18:10:36 +0200 (CEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1srgCw-0005cE-7H; Fri, 20 Sep 2024 12:10:10 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1srgCt-0005SI-Q5 for help-guix@gnu.org; Fri, 20 Sep 2024 12:10:07 -0400 Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1srgCr-0003jZ-Lh for help-guix@gnu.org; Fri, 20 Sep 2024 12:10:07 -0400 Received: by mail-wm1-x32e.google.com with SMTP id 5b1f17b1804b1-42ca4e0299eso17986875e9.2 for ; Fri, 20 Sep 2024 09:10:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1726848602; x=1727453402; darn=gnu.org; h=content-transfer-encoding:mime-version:message-id:date:references :in-reply-to:subject:cc:to:from:from:to:cc:subject:date:message-id :reply-to; bh=PLVyHqGuBNiqZJt6cONh9zppLb571hMxqmzhitZ/a9c=; b=fs1x0QlBRhqfwLkNxBHCa0vrY1EbMB+g/zY1ipcpURVpgtE7hqU8E8FMhT4YB7XWho YfMIQEVBfxdnsKdVdnjOJCZS9xXsoFREtx57A6Yp4T0ilior+wwsb7yQtNn+NdpKMKgG VCmJF38hiPTbST1HZM4p6kpXSlSKTv3ekW2L6fnLf9gctbnOngSNc7TRdBlmwSZj1VY9 dchki+NSWFCsCRn5VL0y9qplcC7Oq43yRlncglpEhyL9cMy5GmuatvUAxi7CouXygiUM x8HgbSPWxyDNdyGE3k7bXuY76xR64Cy4gIXQ8y7v7SF+Xq/vIdfhUFvikYlw34ihTqjn P+eg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1726848602; x=1727453402; h=content-transfer-encoding:mime-version:message-id:date:references :in-reply-to:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=PLVyHqGuBNiqZJt6cONh9zppLb571hMxqmzhitZ/a9c=; b=L4Rylzv3HqphkDGtzzNdYebCVcv0E2NG37LaSDlWQHm6uIPLuCRucftomd6WRDfQCN iQFzMYhlIngds3aLc4wv6987vVkPgU96EUw/P7qDK0ZeLZPXa6NqzSrJv4ZKoMVsL8km Uj92H03Km3blIgFxrkJs4HlssQVQdcuOrGjXeBOW2Xxxq7PNAyjp5DPqlidImr73vKHs xELAL+Taz6km4CAlzMQ+H7IcfZsnZuDae04Addz9V4Oz3CZTFIfTOKumOl1XUKzTaAhQ er3c4eNCfAuN4nyh0CZazQfOOSEcNuWNRWxhIZqDd6u3jKfrPHZjQQB1rQuFFiMhoces Ir4w== X-Gm-Message-State: AOJu0Yz32aA0FubK29j5HRwz/kPUYKeMpdsM6P2mvsbYkHfHlBxp4BZA 8qHBGyf1bfsl/hl7jhtP4D9/rXALYqcqo2FXvlh3ntKCIuHzFk2OYRiesQ== X-Google-Smtp-Source: AGHT+IG2RwP65X6uQYn8LMnC4LhGSIvOlgHj7hwl7TNgfV8Z7tDP/O/hJgUKBBJ/GOpmDeo9zrQlWQ== X-Received: by 2002:a05:6000:188e:b0:374:c0c5:3c05 with SMTP id ffacd0b85a97d-37a4319ececmr2269984f8f.42.1726848602260; Fri, 20 Sep 2024 09:10:02 -0700 (PDT) Received: from pfiuh07 ([193.48.40.241]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-378e73e80c5sm17884567f8f.39.2024.09.20.09.10.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 20 Sep 2024 09:10:01 -0700 (PDT) From: Simon Tournier To: Andy Tai Cc: help-guix@gnu.org, 73137@debbugs.gnu.org Subject: Re: this-package-input vs. propagated-inputs in package definition In-Reply-To: References: <87ed5ra0sb.fsf@gmail.com> Date: Fri, 20 Sep 2024 16:52:22 +0200 Message-ID: <87ldzmtm1l.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=2a00:1450:4864:20::32e; envelope-from=zimon.toutoune@gmail.com; helo=mail-wm1-x32e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: help-guix@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+larch=yhetil.org@gnu.org Sender: help-guix-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Queue-Id: 969B5755BC X-Migadu-Scanner: mx11.migadu.com X-Spam-Score: -9.83 X-Migadu-Spam-Score: -9.83 X-TUID: smMBCGF4A2eU Hi, On lun., 16 sept. 2024 at 13:51, Andy Tai wrote: > OK I don't know if this is "implementation detail" or a bug, or is as > intended, that > >>considering the current implementation, you cannot reach the propagated-i= nputs of the inputs using this-package-inputs. > > (seems like a bug to me) I do not the see the bug. :-) Somehow =E2=80=99propagated-inputs=E2=80=99 i= s a run-time concept, when =E2=80=99this-package-input=E2=80=99 is a build-time concept. Roughly, building a package, seen as a functional view, you have to explicitly list all the inputs of the function. And there is no hidden input implicitly attached to one of these inputs. Somehow, from the point of the package, we list its dependencies and the package =E2=80=9Csees=E2=80=9D these dependencies. > Also, would the same package be in the input list and the > propagated-input list be a problem? Reading the entry for =E2=80=99propagated inputs=E2=80=99 in the Manual: Sometimes packages have =E2=80=9Cpropagated inputs=E2=80=9D: these are= dependencies that automatically get installed along with the required package (*note =E2=80=98propagated-inputs=E2=80=99 in =E2=80=98package=E2=80= =99 objects: package-propagated-inputs, for information about propagated inputs in package definitions). An example is the GNU MPC library: its C header files refer to those of the GNU MPFR library, which in turn refer to those of the GMP library. Thus, when installing MPC, the MPFR and GMP libraries also get installed in the profile; removing MPC also removes MPFR and GMP=E2=80=94unless they had also been explicitly installed by the = user. https://guix.gnu.org/manual/devel/en/guix.html#Invoking-guix-package and following the suggested link: Lastly, =E2=80=98propagated-inputs=E2=80=99 is similar to =E2=80= =98inputs=E2=80=99, but the specified packages will be automatically installed to profiles (*note the role of profiles in Guix: Features.) alongside the package they belong to (*note =E2=80=98guix package=E2=80=99: package-cmd-propagated-inputs, for information on how =E2=80=98gu= ix package=E2=80=99 deals with propagated inputs). For example this is necessary when packaging a C/C++ library that needs headers of another library to compile, or when a pkg-config file refers to another one via its =E2=80=98Requires= =E2=80=99 field. Another example where =E2=80=98propagated-inputs=E2=80=99 is usef= ul is for languages that lack a facility to record the run-time search path akin to the =E2=80=98RUNPATH=E2=80=99 of ELF files; this inc= ludes Guile, Python, Perl, and more. When packaging libraries written in those languages, ensure they can find library code they depend on at run time by listing run-time dependencies in =E2=80=98propagated-inputs=E2=80=99 rather than =E2=80=98inputs= =E2=80=99. https://guix.gnu.org/manual/devel/en/guix.html#package-Reference In other words, you put the package dependency under =E2=80=99inputs=E2=80= =99 and if the internal machinery is unable to correctly set the search path, then you have to manually move the dependency from =E2=80=99inputs=E2=80=99 to =E2=80=99propagated-inputs=E2=80=99. If freefont is required run-time by t= he package =E2=80=99ddd=E2=80=99 and if the machinery is unable to record search patch= , then yes freefont should be listed under propagated-inputs of =E2=80=99ddd=E2=80=99.= =20 Maybe I am missing something. HTH, simon