From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id +FmaJ5gORGHoHQAAgWs5BA (envelope-from ) for ; Fri, 17 Sep 2021 05:42:16 +0200 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id aIMyI5gORGErGAAAbx9fmQ (envelope-from ) for ; Fri, 17 Sep 2021 03:42:16 +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 BC849CF7C for ; Fri, 17 Sep 2021 05:42:15 +0200 (CEST) Received: from localhost ([::1]:41672 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mR4lS-0001YX-CL for larch@yhetil.org; Thu, 16 Sep 2021 23:42:14 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59188) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mR4lG-0001Xp-Ay for guix-patches@gnu.org; Thu, 16 Sep 2021 23:42:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:46626) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mR4lG-0001eu-3q for guix-patches@gnu.org; Thu, 16 Sep 2021 23:42:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1mR4lF-0002m8-Pi for guix-patches@gnu.org; Thu, 16 Sep 2021 23:42:01 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#50627] [PATCH 0/2] Make wayland-protocols dependency native-input. Resent-From: muradm Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 17 Sep 2021 03:42:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 50627 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Liliana Marie Prikler Cc: 50627@debbugs.gnu.org Received: via spool by 50627-submit@debbugs.gnu.org id=B50627.163185011010651 (code B ref 50627); Fri, 17 Sep 2021 03:42:01 +0000 Received: (at 50627) by debbugs.gnu.org; 17 Sep 2021 03:41:50 +0000 Received: from localhost ([127.0.0.1]:58172 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mR4l4-0002lj-4w for submit@debbugs.gnu.org; Thu, 16 Sep 2021 23:41:50 -0400 Received: from nomad-cl1.staging.muradm.net ([139.162.159.157]:58088 helo=nomad-cl1.muradm.net) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mR4l1-0002lZ-Hr for 50627@debbugs.gnu.org; Thu, 16 Sep 2021 23:41:48 -0400 Received: from [176.234.10.27] (port=7478 helo=localhost) by nomad-cl1.muradm.net with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1mR4l1-0000cA-OM; Fri, 17 Sep 2021 03:41:47 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=muradm.net; s=mail; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Message-ID: In-reply-to:Date:Subject:Cc:To:From:References:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=Xv3qPtNgpf3A7+zJTVcN46OYmXo/1y1R6a6VX/cJmWc=; b=ZPMZzdg3OAp1PrE6abFCqyU54o 2AdShRwSxxBxpnfkX/tq9yYSi8vK1Gtn3y8U/Hm0jk5Hh/r4J4+iOS6gusDiPEIYDdAIQ3TFQiZRj YxfQrDxp2Q2/rvAilESIVYD0isQia8xG5AF51AzNFe0Ba8xrLXsKxgqqGyUrsa3CS2iGjs91Ro9YK 77fyb5qp9OfRmXO6/eXSDb9qdO/p0/6lTYbmF9p9Bzb2F757F4MGK3CSYQkK+GCUl2a10XWUT0Vlj K2ubBzg1fFMU7tpVKtJd29zo3sjRASlWfgarY8rDwvkMHgx0W+ztj/rIfay7GOn625QB2VAjRFmiG 8pDShhWl7AJfqW3Vd8O27ebykIR8axzqPgJ13Qm0r7KH/ffTERMgiJsKaiaaOz4MVpUg3Jn+zztwG YV9iCD5+NAjM5Lf86N/j9Q2Y1fVa3baKrzb7gLKs12RTOYqSZemh0Ah32bjKMWiwK/s8/hp+RNAf1 CjPm2Zog5xwPvIQAotv0beKt; Received: from muradm by localhost with local (Exim 4.94.2) (envelope-from ) id 1mR4ky-0001O0-I0; Fri, 17 Sep 2021 06:41:44 +0300 References: <20210916192331.29606-1-mail@muradm.net> User-agent: mu4e 1.6.5; emacs 28.0.50 From: muradm Date: Fri, 17 Sep 2021 05:35:42 +0300 In-reply-to: Message-ID: <87ilyzg96v.fsf@muradm.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1631850136; 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:resent-cc: resent-from:resent-sender:resent-message-id:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=Xv3qPtNgpf3A7+zJTVcN46OYmXo/1y1R6a6VX/cJmWc=; b=p8QN3c34G5aQenERl+ocEKSZ6R4dgni5VKBgQ50v8my/2j7ZD3y8Ae1OApeJ0Rh+79TsPn hXJxxmGUGAJzMrvBDF6p8l3e7rZhNJSPJ/buQBObEcSzEx4v1HfgSiVKHb0Jakq8hVWHAT /QEMXF0r8pnsdia5SSdvwDgpVptNUPDkAh+MIwfvuBMtRm5DSOyyxgrRBPk/eUEiZxPcq5 3JB0X0CWf2XnmpctNkANTUxe5dpki8mxNw0w5j8/U7ZRNgCA2+kLxNaPyz25ZVVJnadDgd gMJAQNV8q0v1TSHf8DoOHaQDvzxj7CORM/CDJBZPN6ei5jO+aT50Z8MxX5Ssgg== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1631850136; a=rsa-sha256; cv=none; b=QLXFQ4Vd83lBsxSjZ2F7BKJdxlSJdEDfuBux6APnTwSxN0IPf6rxFbOWNqlWlNJcUg/RCP PiVFSQigBI65wqL5D2WTc4jqG6HDhieZ2FpZaKvwReY2grW9D2FWLfVglu8b8+skoZ8AVd 3Wrf/9g3aE4sRCq1BiW7l4hG5rN/UwvFkbWucUyCp0TbIItWVgfEKLWFwvjdH+wud0e4Ta kp3RHmMPE4jaxM4RE5Z48d2bMOkA4OSAA7HtPC+y4ofzMjIXmNfiSHM9k+dlY2OFhrObaM soBB7RqH6ZH1wa/WZ4feIoSMS2bsGYd3nnYZidUtT2qIcyJL/upOA6Uxe6hw/g== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=muradm.net header.s=mail header.b=ZPMZzdg3; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Migadu-Spam-Score: -1.40 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=muradm.net header.s=mail header.b=ZPMZzdg3; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Migadu-Queue-Id: BC849CF7C X-Spam-Score: -1.40 X-Migadu-Scanner: scn0.migadu.com X-TUID: PLehTlBVteEB Liliana Marie Prikler writes: > Hi, > > Am Donnerstag, den 16.09.2021, 22:23 +0300 schrieb muradm: >> wayland-protocols is not runtime dependency and only build time >> dependency for applications that directly using wayland. > Guix does not distinguish between "build time" and run time > dependencies. True, here issue could be related to miss wording, but same=20 wording is used in the manual as well, so do I. >> Initially I tought that making wayland-protocols a=20 >> native-inputs >> dependency as it should, it would reduce number of dependants=20 >> on >> it. But it turns out other way around. With this patchset we=20 >> are >> fixing gtk+ to not advertise it as dependency in its .pc files, >> and moving wayland-protocols to native-inputs where it should=20 >> be. > That's not what native-inputs are used for. native-inputs=20 > provide > binaries that the host/build machine needs to run in order to=20 > compile a > package. It doesn't seem to be the case that wayland-protocols=20 > is such > a package, is it? wayland-protocols is different package. It does not include any=20 binaries only protocol specifications (some xml files), which are used for=20 code generation. We could consider them as a kind of autoconf/bison=20 like inputs, but tightly scoped for wayland needs, although they are=20 not so and not binaries. >> Patch provided for gtk+ also merged with upstream. >> >> Patchset prepared from core-updates-frozen. While it seems that >> it will impact many other packages, actually this patch reduces >> number of packages that touches wayland-protocols and probably >> avoids it at runtime. > But it still impacts a large number of packages in ways that=20 > could > potentially break and haven't been tested, right? Technically, this package does not change anything in terms of=20 binary producing. wayland-protocols remains to be an input as it was=20 before. I.e. wayland compositor, wayland application, wayland using=20 library, application which uses wayland using library, binary output is not impacted. If binary output is the same, is there any thing else to test? There are two things which are being changed. First as you=20 pointing out is the way Guix treats it, i.e. reducing closure, etc. Second=20 is propagation of inputs. Currently (without this patch), since it is listed in propagated-inputs (and also advertised in .pc files), wayland-protocols as requirement, needlessly, getting pushed down then hierarchy. Let's take 4 cases that we have here (I do not pretend to be=20 complete, of course, there are might be more levels/combinations, just=20 attempting to illustrate current case in simple words/terms): 1. wayland compositor (weston, wlroots/sway, etc.) 2. wayland client application (grim, mpv, etc. applications=20 directly interacting with wayland interfaces) 3. wayland client library (qt or gtk+ in this case, also directly interacts with wayland to abstract it for user applications) 4. user application of wayland client library (in this case some=20 gtk+ based application) For 1 and 2, both types should have to specify wayland in inputs=20 (or propagated-inputs), and wayland-protocols in native-inputs. One of purposes to have layer 3, is to abstract from 1 and 2. i.e. when I write gtk application, as user I should not be aware=20 of where/how this application is going to run, via xorg or wayland.=20 Then why I should be aware of wayland/wayland-protocols and make sure=20 that it is provided as build input for my application? More over, if I will have some other unrelated package that=20 depends on my gtk application (item 4 above), i still will see wayland-protocols among my inputs. Currently, thanks to Guix, it is getting resolved by having it=20 listed in propagated-inputs. For the long run, it was also fixed in gtk, so that=20 wayland-protocols is not going to be advertised in gtk's .pc files any more (https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/3960 and https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/3961). I suppose that, initially wayland-protocols was listed in propagated-inputs for this same reason, because gtk was=20 advertising it in .pc files. > While reducing > closure size is generally a good thing, I think we do need to be > careful whenever "build time vs. run time" and native vs.=20 > non-native > are confused. I'm using terminology as per documentation :) may be it should be reworded in some other way to avoid confusion. 8.2.1 package=20 reference: =E2=80=98native-inputs=E2=80=99 is typically used to list tools n= eeded=20 at build time, but not at run time... Thanks in advance, muradm