From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: guix.el & multiple outputs Date: Sat, 06 Sep 2014 23:11:59 +0200 Message-ID: <87bnqssbc0.fsf_-_@gnu.org> References: <87a96e7bu3.fsf@gmail.com> <87egvq1nj2.fsf@gnu.org> <87y4ty5jl9.fsf@gmail.com> <8738c5vmuv.fsf@gnu.org> <87lhpw66kq.fsf@gmail.com> <87y4twek0u.fsf@taylan.uni.cx> 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]:41358) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XQNHH-0001Lf-Oy for guix-devel@gnu.org; Sat, 06 Sep 2014 17:12:20 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XQNH8-0000B8-OP for guix-devel@gnu.org; Sat, 06 Sep 2014 17:12:11 -0400 Received: from hera.aquilenet.fr ([2a01:474::1]:32897) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XQNH8-0000B3-HW for guix-devel@gnu.org; Sat, 06 Sep 2014 17:12:02 -0400 In-Reply-To: <87y4twek0u.fsf@taylan.uni.cx> (Taylan Ulrich Bayirli's message of "Sat, 06 Sep 2014 19:28:01 +0200") 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: Taylan Ulrich Bayirli/Kammer Cc: guix-devel@gnu.org, Alex Kost Taylan Ulrich Bayirli/Kammer skribis: > By the way, it might be nice to have an option to list the secondary > outputs of a package explicitly alongside the normal, as if it were just > another package. Currently *Guix Package List* shows, for instance: gcc-toolchain 4.9.1 out, debug debug, out Complete GCC = tool chain for C/C++ development Are you suggesting that it should instead show it as two lines? gcc-toolchain 4.9.1 out yes Complete GCC tool chain fo= r C/C++ development gcc-toolchain 4.9.1 debug yes Complete GCC tool chain fo= r C/C++ development I think I would prefer it. (One advantage is that it would allow users to mark just one specific output, which is not currently possible.) > So far the concept of outputs and how they're usually hidden from me has > only caused me (minor) irritations, and I don't really understand why we > can't just make them separate packages, but I'm ignorant on most Guix > internals so might just not be "getting" it. Conceptually, this is similar to the distinction between =E2=80=9Cbinary=E2= =80=9D packages and =E2=80=9Csource=E2=80=9D packages in distros like Debian. Technically, the main reason why things are this way is that in most cases it=E2=80=99s not possible to have separate build processes (and thus separate objects) producing the various outputs, in part because byproducts contain hard-coded file names, which makes them non-relocatable. An obvious example is the =E2=80=9Cdebug=E2=80=9D output. Another is packa= ges that produce both shared libraries and programs linked against those libs: what shared lib would appear in the RUNPATH of the executables? HTH, Ludo=E2=80=99.