From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:40733) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dxgIs-0007Oj-TG for guix-patches@gnu.org; Thu, 28 Sep 2017 17:25:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dxgIn-0002rZ-Ve for guix-patches@gnu.org; Thu, 28 Sep 2017 17:25:06 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:56770) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dxgIn-0002rQ-Sr for guix-patches@gnu.org; Thu, 28 Sep 2017 17:25:01 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1dxgIn-0001YY-Nu for guix-patches@gnu.org; Thu, 28 Sep 2017 17:25:01 -0400 Subject: [bug#27344] [PATCH v3 2/8] gnu: Add libngspice and ngspice. Resent-Message-ID: References: <87lglnery8.fsf@foradis.org> <20170909175752.8566-1-theodoros@foradis.org> <20170909175752.8566-2-theodoros@foradis.org> <871smqlh8v.fsf@gnu.org> From: Theodoros Foradis In-reply-to: <871smqlh8v.fsf@gnu.org> Date: Fri, 29 Sep 2017 00:24:13 +0300 Message-ID: <87shf6h5z6.fsf@foradis.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit 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: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 27344@debbugs.gnu.org Ludovic Courtès writes: > Theodoros Foradis skribis: > >> * gnu/packages/engineering.scm (libngspice): New variable. >> * gnu/packages/engineering.scm (ngspice): New variable. > > I’m sorry for asking this late in the game, but I didn’t find the > answer in previous discussions: why two packages? It seems to me that a > “lib” output would achieve the same, no? > > (It’s best to leave a comment in such a situation.) > > If you tell me I’m wrong, that’s OK, I’ll apply it right away! The way this package's build system is set up, you cannot build both the libraries and executables in the same run. That is, you need to run ./configure (with the library-specific flag), make, then ./configure and make again, to build everything. This is why I split the package in two. Initially (in v1 and v2 patch series), I had libngspice be a non-public package, and ngspice was copying the library to its normal output. After Danny's additions, different phases were added to both packages, and unneeded files are deleted from their outputs. So, both were made public, with only the minimal files needed for each functionality. Would it be preferable to have libngspice as a non-public package again, and have ngspice copy it to a "lib" output? I'm not sure what the "guix" way of handling this is. WDYT? -- Theodoros Foradis