From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id QIHQJ3AyNWGgQQAAgWs5BA (envelope-from ) for ; Sun, 05 Sep 2021 23:11:12 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id cAUrI3AyNWHPHwAAbx9fmQ (envelope-from ) for ; Sun, 05 Sep 2021 21:11:12 +0000 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 49AAC5CA3 for ; Sun, 5 Sep 2021 23:11:12 +0200 (CEST) Received: from localhost ([::1]:53080 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mMzPz-0008M6-5C for larch@yhetil.org; Sun, 05 Sep 2021 17:11:11 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:46620) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mMzPo-0008Lx-NA for guix-devel@gnu.org; Sun, 05 Sep 2021 17:11:00 -0400 Received: from mail-wr1-x443.google.com ([2a00:1450:4864:20::443]:43945) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mMzPn-0002gy-14 for guix-devel@gnu.org; Sun, 05 Sep 2021 17:11:00 -0400 Received: by mail-wr1-x443.google.com with SMTP id b6so6755440wrh.10 for ; Sun, 05 Sep 2021 14:10:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:date:in-reply-to:references:user-agent :mime-version:content-transfer-encoding; bh=NZuAP6yrxrYPrlK2/0ttXY+iIfNPCDgsrtA/tyZcVc8=; b=pAtOJG/jInMx6zB5GIM3LSsvSZ8KLWLtIvCbqgtLK9BoBwDfX85+F+YnuKrHMARhyP TjuG2MnM773Q4Mnn1fSNEnLLbY8DNQj9ddbDbC6Ur6MChW7qOq17oI5sMce2Fzf2qzMz Babq/6SZ2QaOanRO2kbuul3InmN9/RUqoOlOS9HrcuRKzzC8rSvaVoUHgkuXPyJjLfEZ rnOmz78gdOkuxx8OTmTD40igb8OfkdfviX6U+A4biSZSmTJrRrdIGrnAei4TmlY9QA9s NXH1yEmWMCPs2C12V+UxLC7sCNOE6vjr3a3A2ZHjTgbJhTQ3LnVIN8J3FolXFszaLh1D 2mgQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:subject:from:to:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=NZuAP6yrxrYPrlK2/0ttXY+iIfNPCDgsrtA/tyZcVc8=; b=mI9dwV2VQHz96c5asTBtAsV/kdj9TGcJFKXcQ7R7XNO/jY4vTN3iVHYE6m6YJBB05s 2dR2yS/2XDtmhs2Od8qW5Coq22rsDxwZyFYG3HuLHRqspKLfdwj5TqtkQ670++2KpwuH lXJrBdtvQv+4yl7wI2vkbCLrIon2eHE4pbeIWDyb72viurhLopzMw2lLWvwWUHwTgpiE d7sXEEXTnnO4uo71uT0X6t9Y8H0q3IvrpBPGnp34iny0xcd+1nZyVK5GWhf2n9DyUB3O i2C55Tt51ILvV+OUNpFlnjvAhNEPs5wWpckSQ44fBEyrH/vo6Crm2+W6WUHcwN7po3ny U5gw== X-Gm-Message-State: AOAM5315Lut9u9KK+0oVJjmQlcGeYtCDDXsZn0x/WGCi4Q0FjBEgGnUG BN5l1r+u8LmoKtdTRrNxFlo= X-Google-Smtp-Source: ABdhPJygbHmbomiStO/ot6pSD9MzSJJ1VZOrch0mPAl9L3FhZxR0sNK40Bt/poKRKacbkYQML5O/6w== X-Received: by 2002:adf:a2c4:: with SMTP id t4mr9956638wra.258.1630876257017; Sun, 05 Sep 2021 14:10:57 -0700 (PDT) Received: from nijino.local (194-118-34-199.adsl.highway.telekom.at. [194.118.34.199]) by smtp.gmail.com with ESMTPSA id v13sm6152109wrf.55.2021.09.05.14.10.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 05 Sep 2021 14:10:56 -0700 (PDT) Message-ID: <7522a0488c02f459a02bf0aa9e6a36d9d8f31d0b.camel@gmail.com> Subject: Re: Rethinking propagated inputs? From: Liliana Marie Prikler To: Maxime Devos , guix-devel@gnu.org Date: Sun, 05 Sep 2021 23:10:53 +0200 In-Reply-To: <516610cf66bec9320406d592bd309c6f876abece.camel@telenet.be> References: <045891c151c74e0d66d91973c9e55e0194272df5.camel@gmail.com> <5ba200792813bb0967e388911320b741cf98d90d.camel@gmail.com> <4de577e44d3d7e4099266646f0f20686bb111f08.camel@telenet.be> <516610cf66bec9320406d592bd309c6f876abece.camel@telenet.be> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.34.2 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Received-SPF: pass client-ip=2a00:1450:4864:20::443; envelope-from=liliana.prikler@gmail.com; helo=mail-wr1-x443.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: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list 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+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1630876272; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to: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=NZuAP6yrxrYPrlK2/0ttXY+iIfNPCDgsrtA/tyZcVc8=; b=UNhF4SacRkM/e81CK7Hmn/A5f60ijLRaVzS9jW8j6dX6psxbDq7t1DZESNwK4U23RMhNUT ZT6+L9yD+IHEG4Fy+oCHtXu0NfnIpQbiejOejSZgPrXADhYz2qBEZDUkuzOZKCa91cU3nL CoDSo0Z5eA3mRxlJ2LfyRoCMJMPg1E7drCIL5DvnYyNHME2K0O3/upJILpOR7cLoynRIXD 0FzATuWob99yGzk7HZsDmvqF32DcAQmdaP+cro2ugzrskt1DYOIbkC0rYNW5ZMdDYthzt+ pS7BRF2Hm1Al5L4QQ7I4gJDCxiJkp8lw/n3aALt7mYfwLw+AFQaBz2il2A2org== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1630876272; a=rsa-sha256; cv=none; b=YQHm4UUKbfadniHdZXxtgYaR7rRm6y+aoZ2g0f3dUiGsdJSfp7NhmRdPRyz6q09Ety9QKU GvWAYJk2oG/wXO6CtzThTk3QhpAcD7RqC1HuViYuR7e9d0RMZk8Ov3MnKzLbq98kwfdWRZ MN7fTanbMA+dUE099qEbt6EybNAa50fDTkFkgJYicWHohrg6EgVHf37wQumcqgQKORsSoM QsT2wRMypTLO81CBh9ec2gWQFiVepC7VUxHQhIPm6P5jUVc6gw7lEOalqAnOL8afceuoap uliieUXgJOyDhXNYHw2KWJzcsKVqtrDyOmu9zR2f4MpMY8Xe993qu2k7Ax7woQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b="pAtOJG/j"; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Spam-Score: -2.11 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b="pAtOJG/j"; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Queue-Id: 49AAC5CA3 X-Spam-Score: -2.11 X-Migadu-Scanner: scn1.migadu.com X-TUID: M/Dbjwq1ddFV Am Sonntag, den 05.09.2021, 22:27 +0200 schrieb Maxime Devos: > Liliana Marie Prikler schreef op zo 05-09-2021 om 21:37 [+0200]: > > > > I must admit that this solution appears to have some surface > > > > elegance, but what exactly would go in the "build" output of a > > > > package? You mentioned pkg-config files (obviously), but those > > > > don't suffice to actually build a package, do they? > > > > > > Sometimes they do suffice. The .pc files contain the "- > > > L/.../LIB", "-I/.../include" and "-lstuff" flags needed for > > > compilation. If the build system of the package uses pkg-config, > > > it will use those flags, so the compiler will find the library in > > > that case. > > > > > > Not sure if they always do suffice. > > > > Is that so? I would think the build process needs to see stuff > > outside of its inputs for that to work, e.g. the actual header it > > wants to include, which isn't part of "build". Am I > > misunderstanding our sandbox requirements? > > The .pc file includes the absolute path to the library and include > directories, so the output "build" with the .pc file has a reference > to the output "out" with the libraries and include headers. More > concretely, take the .pc from the glib package: > > prefix=/gnu/store/98hgv3i6hdqgiq98ldy7rkpdwhah8iq2-glib-2.62.6 > libdir=${prefix}/lib > includedir=${prefix}/include > [more stuff] > Requires.private: libpcre >= 8.31 > Libs: -L${libdir} -lglib-2.0 > Libs.private: -pthread > Cflags: -I${includedir}/glib-2.0 -I${libdir}/glib-2.0/include > > The (transitive) references of all inputs to the build process are > included in the sandbox. In this case, if the package has the > hypothetical glib:build among its inputs, the daemon will > automatically make glib:out available as well in the sandbox. And IIUC if glib had a "lib" output, glib:lib would be available in the sandbox instead of glib:out due to the reference by glib:build? If that's the case using #:by and "build" outputs might be a preferable solution, if not for all packages then at least for some. At this point the question then becomes what to name this "build" output and what to put into it besides pkg-config stuff. Particularly in the land of glib, there also exist typelibs, which can be used as "build" inputs in the case of Vala or as runtime inputs in the case of pygobject and other language bindings. Perhaps this is early bikeshedding when we'd actually need to code up #:by, but what would be the better approach here? Separate "build" into "pkg-config", "cmake" (for CMake-based package discovery), "typelib" etc. or have one more or less anonymous blob called "build"? Greetings