From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id gHAlMI6HLV/jJwAA0tVLHw (envelope-from ) for ; Fri, 07 Aug 2020 16:55:42 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id 8Kj5K46HLV/nfAAAB5/wlQ (envelope-from ) for ; Fri, 07 Aug 2020 16:55:42 +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 5D37D940214 for ; Fri, 7 Aug 2020 16:55:42 +0000 (UTC) Received: from localhost ([::1]:45676 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k45ef-0008Qd-8V for larch@yhetil.org; Fri, 07 Aug 2020 12:55:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:42950) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k45eU-0008NV-Uy for guix-devel@gnu.org; Fri, 07 Aug 2020 12:55:30 -0400 Received: from pat.zlotemysli.pl ([37.59.186.212]:46462) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k45eS-0004yo-OB for guix-devel@gnu.org; Fri, 07 Aug 2020 12:55:30 -0400 Received: (qmail 10073 invoked by uid 1009); 7 Aug 2020 18:55:25 +0200 Received: from 188.123.215.55 (kuba@kadziolka.net@188.123.215.55) by pat.zlotemysli.pl (envelope-from , uid 1002) with qmail-scanner-2.08st (clamdscan: 0.98.6/25896. spamassassin: 3.4.0. perlscan: 2.08st. Clear:RC:1(188.123.215.55):. Processed in 0.056419 secs); 07 Aug 2020 16:55:25 -0000 Received: from unknown (HELO gravity) (kuba@kadziolka.net@188.123.215.55) by pat.zlotemysli.pl with SMTP; 7 Aug 2020 18:55:25 +0200 Date: Fri, 7 Aug 2020 18:55:24 +0200 From: Jakub =?utf-8?B?S8SFZHppb8WCa2E=?= To: Ricardo Wurmus Subject: Re: merge wip-haskell? Message-ID: <20200807165524.qzpqrolvqfrqp6iu@gravity> References: <87mu386vk5.fsf@elephly.net> <20200807150326.4sk2lcgqxi6xf4y7@gravity> <87zh765sly.fsf@elephly.net> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="e6icft4apkd6przy" Content-Disposition: inline In-Reply-To: <87zh765sly.fsf@elephly.net> Received-SPF: none client-ip=37.59.186.212; envelope-from=kuba@kadziolka.net; helo=pat.zlotemysli.pl X-detected-operating-system: by eggs.gnu.org: First seen = 2020/08/07 11:03:28 X-ACL-Warn: Detected OS = Linux 3.11 and newer X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_NONE=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: , Cc: guix-devel@gnu.org Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; 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-Spam-Score: -1.61 X-TUID: 90CB/nUutNd/ --e6icft4apkd6przy Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Aug 07, 2020 at 06:27:21PM +0200, Ricardo Wurmus wrote: >=20 > Jakub K=C4=85dzio=C5=82ka writes: >=20 > > On Thu, Aug 06, 2020 at 10:13:46AM +0200, Ricardo Wurmus wrote: > >> Number 4 is by far the ugliest change of them all. In order to > >> statically link packages we need to add all the =E2=80=9Cstatic=E2=80= =9D outputs of all > >> Haskell inputs *and* the =E2=80=9Cstatic=E2=80=9D outputs of *their* H= askell inputs. > >> This is not easily accomplished, so I ended up using =E2=80=9Cpackage-= closure=E2=80=9D > >> on all direct inputs, and then filtered the result to packages with > >> names starting with =E2=80=9Cghc-=E2=80=9D. If there was a more appro= priate tool I=E2=80=99d > >> use it, but I don=E2=80=99t think it exists. > > > > Perhaps we should work on making propagated-inputs per-output? That way, > > :static could propagate the :static output of the dependencies. > > > > This would also be useful in other situations. For example, a package > > might contain both a binary and a library, and the library must > > propagate its dependencies to make the header files work. > > > > I don't know what a good syntax for this would be. >=20 > The binary / library problem is particularly interesting to me as we > have a few Python bioinfo tools that also work as libraries. When used > as a library we need propagation, but when uses as command line tools > propagation is not needed (and can be harmful due to the effects on > PYTHONPATH). >=20 > Syntax seems less important than verifying that this actually works, > though. One still needs to pick a variant, even at random, to begin implementation, which is hard when no options have been suggested :) I suppose that we could add a list of outputs each propagated-input applies to, putting it after the package and its output? (this is unambiguous as we can check whether the third element of the list is a string, or a list) (propagated-inputs `(("foo-static" ,foo "static" ("static")) ("bar" ,bar ("static")))) However, this has the issue of being somewhat ad-hoc, and other extensions to the list of inputs might become troublesome. This motivates my second proposal: (propagated-inputs `(("foo-static" ,foo "static" #:propagate-to ("static")) ("bar" ,bar #:propagate-to ("static")))) On the other hand, this variant feels somewhat over-engineered. After all, we can always change the syntax if it becomes actually necessary. There's also the option of adding another field to the package record: (propagated-inputs-for-outputs ;; name up to bikeshedding :) `(("static" (("foo-static" ,foo "static") ("bar ,bar))))) > Alas, as someone who has committed and encouraged syntactic > crimes with excessive reader macros, I think my vote on syntax carries > no weight :) Well, the number of reader macro crimes encouraged seems to correlate with experience, so I would still like to ask for your opinion. Regards, Jakub K=C4=85dzio=C5=82ka --e6icft4apkd6przy Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEE5Xa/ss9usT31cTO54xWnWEYTFWQFAl8th3wACgkQ4xWnWEYT FWRqqA//aKayMrYp120OnKDAE+vaYDnpRto/iM+t+I51q1GfFqdo7Nu5phjxCd17 HEs72qecP9emIqZv9ZQGJUkgRmyvHE9b4uo7SmDLfTgCcjGKeI1gcttzoQKGGftJ p1Ns53B+nbG4gUfnZSFoQCq3t3/nKVJzEl4Rtl4FM/qZs4fln0XSe5zJVW6FIEq/ hGvwaAdoRs4MjzrtBhpCHqtrbZv0fki484tZq0kkKf4J7eV+2unyLSYsOY82ydM5 pZchaN1be0g0IaOl8eUcXddLDMH440abaeGTEPER9Kz30YKvFtxAyBwAbgjRM+6f IWRjUIt/jMwjD3QIyucu0ERm3DF/MeZxSodixFjb8r/DzdI2LT3iloDpwIKcneRs 7aEh7MJx0s723YjQldZOJjSB4SmsS6rsMTENW/LIdC8U0yNc7VgPCvVjMH/9c41W 1HpEpj+zTLRsfiMe2qBaxGsYlh0KltqNigAZFxKQThLzByahZeAkqCiBxAOH8AM3 tsAJlUhrqz08FsnXE/fRal4kMtrJxzWONQ3AHSTVqk+XmJPxYtZRaRXfzEhriFVH qXA/XBcX1PbodcZHH/b4rvCmjjmx2PDCoaj1nAMfbltEfvMICg3g+gl84L81jXKm Z2kmSzFSwodU2IuPpRhm2EBRGJg+kJw5aOFaKTvXOSbhSQMRg7M= =fJQG -----END PGP SIGNATURE----- --e6icft4apkd6przy--