From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: should gnome-desktop-service really provide all of this to a profile? Date: Thu, 10 Mar 2016 00:02:08 +0100 Message-ID: <87d1r38dcf.fsf@gnu.org> References: <87y49u70eo.fsf@pobox.com> <87si0256y9.fsf@gnu.org> <87ziu94ap7.fsf@igalia.com> <87pov5nxdo.fsf@gnu.org> <87ziu9yrbl.fsf@member.fsf.org> <87fuw1j5b5.fsf@gnu.org> <87egbkf6d5.fsf@member.fsf.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]:59272) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1adn7P-0003lw-8u for guix-devel@gnu.org; Wed, 09 Mar 2016 18:02:16 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1adn7M-0004F7-3W for guix-devel@gnu.org; Wed, 09 Mar 2016 18:02:15 -0500 In-Reply-To: <87egbkf6d5.fsf@member.fsf.org> (=?utf-8?B?IuWui+aWh+atpiIn?= =?utf-8?B?cw==?= message of "Wed, 09 Mar 2016 15:38:46 +0800") 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+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: =?utf-8?B?5a6L5paH5q2m?= Cc: guix-devel@gnu.org iyzsong@member.fsf.org (=E5=AE=8B=E6=96=87=E6=AD=A6) skribis: > ludo@gnu.org (Ludovic Court=C3=A8s) writes: > >> Pulseaudio also propagates a few things. > Yes, I think it should be splited into =E2=80=9Cout=E2=80=9D and =E2=80= =9Cdev=E2=80=9D, if we can make > only the =E2=80=9Cdev=E2=80=9D output propagating libcap and gdbm. Yeah. >> Two things here: >> >> =E2=80=A2 Back in the day, I couldn=E2=80=99t think of a situation whe= re it would make >> sense for =E2=80=98propagated-inputs=E2=80=99 to be different from >> =E2=80=98propagated-user-env-packages=E2=80=99 (at the time, the lat= ter was little >> known so in practice people had to install dependencies by >> themselves.) So in Guix I chose to have just one. > In nix =E2=80=98propagated-build-inputs=E2=80=99 is propagations and =E2= =80=98inputs=E2=80=99 for building > while =E2=80=98propagated-user-env-packages=E2=80=99 is propagations for = profile. > In guix =E2=80=98propagated-inputs=E2=80=99 is propagations for both buil= ding and profile > and at the same time is =E2=80=98inputs=E2=80=99 for building. Yes. > I agree that propagations for building or for profile is the same thing, > and there=E2=80=99re some runtime only dependencies worthing treating as > non-inputs (eg: adwaita-icon-themes, plugins for gstreamer). Yes, though I would not worry about these =E2=80=9Cnon-inputs=E2=80=9D for = now. > How about seperating propagations from =E2=80=98propagated-inputs=E2=80= =99? > This requires listing some packages twice, but I think it will be more > clear considering =E2=80=98inputs=E2=80=99 are for building the whole pac= kage while > =E2=80=98propagations=E2=80=99 are (should be) per-output. > > eg: > (package > (name "pulseaudio") > (outputs '("out" "include" "lib" "dev")) > (inputs > `(("libpcap" ,libcap) > ("gdbm" ,gdmb) > ...)) > (propagations > #:output "dev" > `(("pulseaudio:include" ,pulseaudio "include") > ("pulseaudio:lib" ,pulseaudio "lib") > ("libpcap" ,libpcap) > ("gdbm" ,gdbm))) > ...) Sure. There=E2=80=99s a years-old example in =E2=80=98TODO=E2=80=99, even.= :-) The syntax cannot be exactly like what you suggest, but it could be along the lines of what=E2=80=99s in =E2=80=98TODO=E2=80=99: (propagated-inputs `(((("i1" ,p1 "o1") ("i2" ,p2)) =3D> "include") ("i3" ,p3))) >> =E2=80=A2 I found the =E2=80=98nix-support=E2=80=99 trick (that is, ha= ving high-level >> information on the build side) kind of hacky, which is why this >> information is solely on the build side in Guix. This is what >> allows higher-level functionality such as --search-paths to be >> implemented on the host side. >> >> OTOH, things like could be more easily >> addressed if all the info was already on the build side. > Agree :-) With which part? :-) >> Anyway, what do you think would be the best way to avoid =E2=80=9Cprofile >> pollution=E2=80=9D with the GNOME meta-package? > I think, for now: > > From 7206310f7320ed99eabd7f774a083c7b1f78c81f Mon Sep 17 00:00:00 2001 > From: =3D?UTF-8?q?=3DE5=3DAE=3D8B=3DE6=3D96=3D87=3DE6=3DAD=3DA6?=3D > Date: Wed, 9 Mar 2016 13:17:48 +0800 > Subject: [PATCH] gnu: nautilus: Don't propagate gtk+. > > This reduces "profile pollution" of the 'gnome' meta package. > See . > > * gnu/packages/gnome.scm (nautilus): Move gtk+ from propagated-inputs to = inputs. Please move the sentence =E2=80=9CThis reduces =E2=80=A6=E2=80=9D to a comm= ent in the code. Otherwise LGTM! Thanks, Ludo=E2=80=99.