From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id GPRLOXXYOWGTfwEAgWs5BA (envelope-from ) for ; Thu, 09 Sep 2021 11:48:37 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id 2O3NNHXYOWHHQQAAB5/wlQ (envelope-from ) for ; Thu, 09 Sep 2021 09:48:37 +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 26755B344 for ; Thu, 9 Sep 2021 11:48:37 +0200 (CEST) Received: from localhost ([::1]:59628 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mOGfc-0002Od-3D for larch@yhetil.org; Thu, 09 Sep 2021 05:48:36 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:49410) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mOGfS-0002OE-7J for guix-devel@gnu.org; Thu, 09 Sep 2021 05:48:26 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:52576) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mOGfR-0005e9-8c; Thu, 09 Sep 2021 05:48:25 -0400 Received: from [2001:660:6102:320:e120:2c8f:8909:cdfe] (port=47212 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mOGfQ-0002ci-Vo; Thu, 09 Sep 2021 05:48:25 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Liliana Marie Prikler Subject: Re: Rethinking propagated inputs? References: <045891c151c74e0d66d91973c9e55e0194272df5.camel@gmail.com> <87y286g1j1.fsf@gnu.org> <7a8288c3353932507461241b96658c2224a78bf6.camel@gmail.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 23 Fructidor an 229 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Thu, 09 Sep 2021 11:48:23 +0200 In-Reply-To: <7a8288c3353932507461241b96658c2224a78bf6.camel@gmail.com> (Liliana Marie Prikler's message of "Thu, 09 Sep 2021 00:55:43 +0200") Message-ID: <87zgsmdqqg.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable 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: , Cc: guix-devel@gnu.org 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=1631180917; 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; bh=k59QhSoX4ib4tsEoRcaYpJPbOUgnI9De4XgfDl80dqQ=; b=LBau/4CuGRgINGArWRmaCf+8zNmW2HGdvycUbP/za0FObBwMT9bA5XVkpWzbc7qb9yzhia Irsq6fGJI9BZM91XDrLFD9RqhWNnjqJMHITaIgVNnWFARUJHPPlOLQnioLOeVUi7OHqDQB dzSwNcQWDM8WQZXPzDwib9vq0pJni3Yi3sYl+UokEBntW55ou6DIAaAsrnOHJ0Q2zK4+mG bJE+daiRp1X1ZFbU6QfuUA66Frmu4XZbRsQoMtuE3mJtjKziDq8xyWf3QTmpMp6Yi4pZqa SA+swHYl5BwpBK2MCMbLH3XfGaBjw4ZBUDrzU+dlgcdDcBG0pmmKyzuZM97tFw== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1631180917; a=rsa-sha256; cv=none; b=gDmC3QMRJ/M9KIc3cQXAU4eIK5Lm/eDeF8go/nylyj6hJsgj6TDSbweY44pTGw5W5ACX+h lV6D/fWGFPewbaujeFkvrNhCHJ4Ku9sxEvgDtw9aAvIDTvQdfp6D0KrXzUMOt2WcX8kRlE +DPQeLjMMTT6EX5jfcyW8KToyRqtnSDymf94If2FEFcJGDyPd9W9UHvwWyBoMvLg0PBm8I qDi104y45vk5XLyVrb9GR5mupTYeJexB0wmpuWyYxTBvWxg+EMTQm27fyJdSZaELlY0E4I pDHqQAmQ3CWOBkp4LGTbyJiAy065U7EY0kfBZm11nudoZVDy9OXex5qc4QRc2g== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none; dmarc=pass (policy=none) header.from=gnu.org; 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: -0.41 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=pass (policy=none) header.from=gnu.org; 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: 26755B344 X-Spam-Score: -0.41 X-Migadu-Scanner: scn1.migadu.com X-TUID: 4eLOj1j8Ayv9 Hi Liliana, Liliana Marie Prikler skribis: > Am Donnerstag, den 09.09.2021, 00:12 +0200 schrieb Ludovic Court=C3=A8s: [...] >> It would be great if the =E2=80=98Requires=E2=80=99 field of .pc files c= ould specify >> absolute file name; it would no longer be necessary to set >> PKG_CONFIG_PATH, and thus propagation wouldn=E2=80=99t be needed in this >> case. > In that regard, would symlinking other pkg-config files as proposed > somewhere in passing in [1] also work? We would have to add a phase, > that parses the Requires field from installed pkg-config files, and > then symlinks the respective files from the inputs to gnu-build-system,=20 > but since they would then exist in PKG_CONFIG_PATH and point to the > library in question, theoretically we could get around this limitation > of pkg-config without requiring propagation. Why not, that could work. >> Regarding outputs, Nixpkgs introduced a =E2=80=9Cdev=E2=80=9D output a w= hile back >> that lumps together our =E2=80=9Clib=E2=80=9D and =E2=80=9Cinclude=E2=80= =9D outputs, roughly. I >> think that=E2=80=99s a good idea (for other reasons too). > Naming-wise I'd still prefer the more concrete =E2=80=9Clib=E2=80=9D as = =E2=80=9Cdev=E2=80=9D to me is > a weird umbrella term that doesn't really tell me what I'm getting > (also it probably contributes to the distinction of users and devs, and > as some distros like Debian have demonstrated often becomes > pointless[2] the minute you introduce language bindings which require > dev inputs anyway).=20=20 > > As far as the lib/include split in Guix is concerned, there appear to > be few packages that split them, so =E2=80=9Clib=E2=80=9D effectively is = =E2=80=9Cdev=E2=80=9D in Guix > when =E2=80=9Cout=E2=80=9D isn't. So apart from those outliers, is there= something our > =E2=80=9Clib=E2=80=9D outputs are missing that Nix' =E2=80=9Cdev=E2=80=9D= outputs include? We=E2=80=99d have to check how they do it in Nix. Basically, it=E2=80=99s = about reversing things: currently, everything goes to =E2=80=9Cout=E2=80=9D, and = a tiny bit goes to =E2=80=9Clib=E2=80=9D. Here, it=E2=80=99d be the other way around:= =E2=80=9Cout=E2=80=9D would contain only binaries and doc (unless there=E2=80=99s a =E2=80=9Cdoc=E2=80=9D outpu= t), and =E2=80=9Cdev=E2=80=9D would contain everything else (headers, pkg-config files, cmake files, section 3 man pages, etc.) It needs more thought and it may be hard to get right, but hopefully we can learn from Nixpkgs here. Now, IIRC, the Nixpkgs folks found that it didn=E2=80=99t have a significant impact on closure size, contrary to what they had hoped for. That too needs to be taken into account. Ludo=E2=80=99.