From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54658) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e5WuF-0007RZ-83 for guix-patches@gnu.org; Fri, 20 Oct 2017 09:00:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e5WuB-0006l7-9P for guix-patches@gnu.org; Fri, 20 Oct 2017 09:00:07 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:42583) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1e5WuB-0006ko-6R for guix-patches@gnu.org; Fri, 20 Oct 2017 09:00:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1e5WuA-00034A-Ul for guix-patches@gnu.org; Fri, 20 Oct 2017 09:00:02 -0400 Subject: [bug#28690] provide a lib output for boost Resent-Message-ID: From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) References: <87d164b36m.fsf@albion.it.manchester.ac.uk> <874lr6w02b.fsf@gnu.org> <87shefmmm1.fsf@albion.it.manchester.ac.uk> Date: Fri, 20 Oct 2017 14:58:57 +0200 In-Reply-To: <87shefmmm1.fsf@albion.it.manchester.ac.uk> (Dave Love's message of "Thu, 19 Oct 2017 11:57:10 +0100") Message-ID: <87infauga6.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: Dave Love Cc: 28690@debbugs.gnu.org, Thomas Danckaert Hi Dave, Dave Love skribis: > Roel Janssen writes: > >> Boost consists of various modules or components. Some of these are >> "header-only". How does this patch handle that? > > The headers are in the main package, compatibly with the current > situation if you're not doing anything which depends on the runtime. > >> If I were to install the "lib" output, could I then compile a C++ >> program that uses a header-only part of Boost? > > No. The point of the patch is not to pay the price of the headers in > space at run time. > > I think you should be able to use just "boost" as an input, and build > things which require the runtime (certainly for compatibility), hence my > question about the right way to make the dependency. The choice was made to allow package definitions to explicitly state which outputs of their dependencies they=E2=80=99re interested in. So it y= ou have `("boost" ,boost) that=E2=80=99s only boost:out; if you have: `("boost" ,boost "lib") that=E2=80=99s only boost:lib. If you want both, you need to specify both. So far I don=E2=80=99t think this was considered a problem; on the contrary= , you could get fine-grain control, as in glib:out vs. glib:bin. In this particular case, I agree that it=E2=80=99s annoying to have to specify both. If this =E2=80=9Cparticular case=E2=80=9D happens to be common enough, we c= an always revisit the above decision and chance `("boost" ,boost) to mean =E2=80=9Cal= l the outputs of boost.=E2=80=9D At any rate, the patch LGTM in principle. It=E2=80=99ll have to go to =E2=80=98core-updates=E2=80=99 though. Thomas, Roel: are you taking care of it? :-) Thanks, Ludo=E2=80=99.