From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: Optional runtime dependencies in Guix Date: Sun, 23 Nov 2014 21:47:03 +0100 Message-ID: <87zjbh3arc.fsf@gnu.org> References: 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]:50261) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xse3q-0006nG-Mq for guix-devel@gnu.org; Sun, 23 Nov 2014 15:47:16 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Xse3l-0003wx-8U for guix-devel@gnu.org; Sun, 23 Nov 2014 15:47:10 -0500 Received: from hera.aquilenet.fr ([2a01:474::1]:37769) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xse3l-0003wt-0t for guix-devel@gnu.org; Sun, 23 Nov 2014 15:47:05 -0500 In-Reply-To: (Gammel Holte's message of "Sun, 23 Nov 2014 03:43:13 +0000") 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: Gammel Holte Cc: guix-devel@gnu.org Hello, Gammel Holte skribis: > Nix doesn't have a good decoupling between packages and their optional > runtime dependencies. You can disable them, but this would lead to a > different package hash, and thus a different build (negating the use of > prebuilt binaries). > > Therefore, the culture seems to have all default package builds with all > optional runtime dependencies on. This leads to situations such as > installing mutt, and getting python as a dependency (via mutt -> gpgme -> > glib -> python), which is quite ugly. That=E2=80=99s indeed undesirable. As I just wrote to Taylan Ulrich, this is currently handled on a case-by-case basis using multiple outputs (which I think Nixpkgs doesn=E2= =80=99t use a lot yet.) For instance, GLib has a separate =E2=80=9Cbin=E2=80=9D output for this ver= y reason (see .) Git, as I wrote, has separate outputs for git-svn and Tcl stuff. Same for WordNet. There are also separate outputs for debugging symbols. So I wouldn=E2=80=99t claim this is a solved problem, because it really gets fixed when we discover a problematic case, and we certainly overlook some of them. Yet, that=E2=80=99s something I pay attention to, and I thin= k we must clearly look to address more of such issues. WDYT? Thanks, Ludo=E2=80=99.