From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andreas Enge Subject: Required packages Date: Mon, 4 Feb 2013 19:52:22 +0100 Message-ID: <201302041952.22425.andreas@enge.fr> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="Boundary-01=_mNAERk4J6bipup0" Content-Transfer-Encoding: 7bit Return-path: Received: from eggs.gnu.org ([208.118.235.92]:58448) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1U2R9e-0002HW-Gr for bug-guix@gnu.org; Mon, 04 Feb 2013 13:52:38 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1U2R9b-0001co-KL for bug-guix@gnu.org; Mon, 04 Feb 2013 13:52:34 -0500 Received: from moutng.kundenserver.de ([212.227.126.186]:54488) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1U2R9b-0001b0-92 for bug-guix@gnu.org; Mon, 04 Feb 2013 13:52:31 -0500 List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org To: bug-guix@gnu.org --Boundary-01=_mNAERk4J6bipup0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit A question related to my previous posting, but also of independent justification: Should we maybe implement somthing similar to the "depends" field of Debian packages? For instance, programming with mpc also requires mpfr and gmp; in fact, the first few lines of mpc.h read #include "gmp.h" #include "mpfr.h" So it would make sense to automatically pull in gmp and mpfr when a user installs mpc. As dicussed with Ludovic, this could be handled by the "propagated-inputs" field of the package definition. But it also would make sense to not use such an automatism. For instance, thanks to libtool, the mpc shared library is perfectly usable without installing mpfr into the user profile, as libmpc.la contains a pointer to the mpfr package: dependency_libs=' /nix/store/l0999b93cw0by4hcv6z5ykzwz0gw358x- mpfr-3.1.1/lib/libmpfr.la /nix/store/ydxa85j3i21ac74dv0vbc6cxjjqpsfsv- gmp-5.1.0/lib/libgmp.la -lm' So a user who only wants to use a library and not develop with it may not be interested in getting all the dependent headers in the user profile. An obvious approach would be to split into library and devel packages, as does debian. But I do not think we should go this road, it is quite convenient to get all of mpc in only one package. What do you think? Andreas --Boundary-01=_mNAERk4J6bipup0 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: 7bit

A question related to my previous posting, but also of independent justification: Should we maybe implement somthing similar to the "depends" field of Debian packages?

 

For instance, programming with mpc also requires mpfr and gmp; in fact, the first few lines of mpc.h read

#include "gmp.h"

#include "mpfr.h"

 

So it would make sense to automatically pull in gmp and mpfr when a user installs mpc. As dicussed with Ludovic, this could be handled by the "propagated-inputs" field of the package definition.

 

But it also would make sense to not use such an automatism. For instance, thanks to libtool, the mpc shared library is perfectly usable without installing mpfr into the user profile, as libmpc.la contains a pointer to the mpfr package:

dependency_libs=' /nix/store/l0999b93cw0by4hcv6z5ykzwz0gw358x-mpfr-3.1.1/lib/libmpfr.la /nix/store/ydxa85j3i21ac74dv0vbc6cxjjqpsfsv-gmp-5.1.0/lib/libgmp.la -lm'

So a user who only wants to use a library and not develop with it may not be interested in getting all the dependent headers in the user profile.

 

An obvious approach would be to split into library and devel packages, as does debian. But I do not think we should go this road, it is quite convenient to get all of mpc in only one package.

 

What do you think?

 

Andreas

 

--Boundary-01=_mNAERk4J6bipup0--