all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: ludo@gnu.org (Ludovic Courtès)
To: Theodoros Foradis <theodoros@foradis.org>
Cc: 27344@debbugs.gnu.org
Subject: [bug#27344] [PATCH v3 2/8] gnu: Add libngspice and ngspice.
Date: Sun, 01 Oct 2017 15:04:36 +0200	[thread overview]
Message-ID: <8760bzqasb.fsf@gnu.org> (raw)
In-Reply-To: <87shf6h5z6.fsf@foradis.org> (Theodoros Foradis's message of "Fri, 29 Sep 2017 00:24:13 +0300")

[-- Attachment #1: Type: text/plain, Size: 1699 bytes --]

Hello,

Theodoros Foradis <theodoros@foradis.org> skribis:

> Ludovic Courtès writes:
>
>> Theodoros Foradis <theodoros@foradis.org> 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.

OK, that makes a lot of sense.

> 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?

Given that we’re dealing with a limitation of upstream’s build system,
I think it’s OK to do it the way you did.

I’ve committed the patch with the cosmetic changes below.

Thanks, and sorry again for the delay!

Ludo’.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-patch, Size: 1583 bytes --]

diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 52a925225..0356fbfe9 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -1180,6 +1180,9 @@ high-performance parallel differential evolution (DE) optimization algorithm.")
     (license license:gpl2+)))
 
 (define-public libngspice
+  ;; Note: The ngspice's build system does not allow us to build both the
+  ;; library and the executables in one go.  Thus, we have two packages.
+  ;; See <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27344#236>.
   (package
     (name "libngspice")
     (version "26")
@@ -1249,6 +1252,7 @@ an embedded event driven algorithm.")
                    license:public-domain)))) ; xspice
 
 (define-public ngspice
+  ;; The ngspice executables (see libngpsice above.)
   (package (inherit libngspice)
     (name "ngspice")
     (arguments
@@ -1265,12 +1269,12 @@ an embedded event driven algorithm.")
                #t))
            (add-after 'install 'delete-cmpp-dlmain
              (lambda* (#:key outputs #:allow-other-keys)
-             (for-each
-              (lambda (file)
+               (for-each (lambda (file)
                            (delete-file
                             (string-append (assoc-ref outputs "out")
                                            file)))
-              '("/bin/cmpp" "/share/ngspice/dlmain.c"))))
+                         '("/bin/cmpp" "/share/ngspice/dlmain.c"))
+               #t))
            (delete 'delete-program-manuals)
            (delete 'delete-script-files)))))
     (inputs

  reply	other threads:[~2017-10-01 13:05 UTC|newest]

Thread overview: 104+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-12 12:33 [bug#27344] [PATCH 0/12] Add computational software and circuit simulators Theodoros Foradis
2017-06-12 16:52 ` [bug#27344] [PATCH 01/12] gnu: Add harminv Theodoros Foradis
2017-06-12 16:52   ` [bug#27344] [PATCH 02/12] gnu: Add libctl Theodoros Foradis
2017-06-15 11:32     ` Danny Milosavljevic
2017-06-15 12:47       ` Ludovic Courtès
2017-06-15 14:15         ` Danny Milosavljevic
2017-06-15 21:28           ` Ludovic Courtès
2017-09-28 12:29     ` Ludovic Courtès
2017-09-28 12:42     ` Ludovic Courtès
2017-06-12 16:52   ` [bug#27344] [PATCH 03/12] gnu: Add mpb Theodoros Foradis
2017-06-15 11:42     ` Danny Milosavljevic
2017-06-16 15:16       ` Theodoros Foradis
2017-06-19 20:40         ` Danny Milosavljevic
2017-09-28 12:37     ` Ludovic Courtès
2017-06-12 16:52   ` [bug#27344] [PATCH 04/12] gnu: Add meep Theodoros Foradis
2017-06-12 16:52   ` [bug#27344] [PATCH 05/12] gnu: Add adms Theodoros Foradis
2017-06-15 11:49     ` Danny Milosavljevic
2017-06-12 16:52   ` [bug#27344] [PATCH 06/12] gnu: Add freehdl Theodoros Foradis
2017-06-15 11:35     ` Danny Milosavljevic
2017-06-16 15:50       ` Theodoros Foradis
2017-06-16 18:20         ` Danny Milosavljevic
2017-06-17 10:16           ` Theodoros Foradis
2017-06-12 16:52   ` [bug#27344] [PATCH 07/12] gnu: Add asco Theodoros Foradis
2017-06-15 12:22     ` Danny Milosavljevic
2017-06-16 15:54       ` Theodoros Foradis
2017-06-12 16:52   ` [bug#27344] [PATCH 08/12] gnu: Add ngspice Theodoros Foradis
2017-06-15 11:45     ` Danny Milosavljevic
2017-06-16 17:20       ` Theodoros Foradis
2017-06-12 16:52   ` [bug#27344] [PATCH 09/12] gnu: Add xyce-serial Theodoros Foradis
2017-06-12 16:52   ` [bug#27344] [PATCH 10/12] gnu: Add xyce-parallel Theodoros Foradis
2017-06-12 16:52   ` [bug#27344] [PATCH 11/12] gnu: Add qucs Theodoros Foradis
2017-06-15 11:37     ` Danny Milosavljevic
2017-06-16 16:52       ` Theodoros Foradis
2017-06-16 18:18         ` Danny Milosavljevic
2017-06-17 10:24           ` Theodoros Foradis
2017-06-12 16:52   ` [bug#27344] [PATCH 12/12] gnu: Add qucs-s Theodoros Foradis
2017-06-15 11:39   ` [bug#27344] [PATCH 01/12] gnu: Add harminv Danny Milosavljevic
2017-06-16 15:11     ` Theodoros Foradis
2017-06-22 19:09 ` [bug#27344] [PATCH v2 " Theodoros Foradis
2017-06-22 19:09   ` [bug#27344] [PATCH v2 02/12] gnu: Add guile-libctl Theodoros Foradis
2017-06-22 19:09   ` [bug#27344] [PATCH v2 03/12] gnu: Add mpb Theodoros Foradis
2017-06-24  6:51     ` Danny Milosavljevic
2017-06-22 19:09   ` [bug#27344] [PATCH v2 04/12] gnu: Add meep Theodoros Foradis
2017-06-24  6:49     ` Danny Milosavljevic
2017-06-24  9:14       ` Theodoros Foradis
2017-06-22 19:09   ` [bug#27344] [PATCH v2 05/12] gnu: Add adms Theodoros Foradis
2017-06-22 19:09   ` [bug#27344] [PATCH v2 06/12] gnu: Add freehdl Theodoros Foradis
2017-06-24  7:18     ` Danny Milosavljevic
2017-06-24  9:34       ` Theodoros Foradis
2017-06-26 18:40       ` Theodoros Foradis
2017-06-22 19:10   ` [bug#27344] [PATCH v2 07/12] gnu: Add asco Theodoros Foradis
2017-09-28 12:52     ` Ludovic Courtès
2017-06-22 19:10   ` [bug#27344] [PATCH v2 08/12] gnu: Add ngspice Theodoros Foradis
2017-07-23 11:37     ` Danny Milosavljevic
2017-07-23 13:16       ` Danny Milosavljevic
2017-07-28 17:17         ` Theodoros Foradis
2017-06-22 19:10   ` [bug#27344] [PATCH v2 09/12] gnu: Add xyce-serial Theodoros Foradis
2017-06-22 19:10   ` [bug#27344] [PATCH v2 10/12] gnu: Add xyce-parallel Theodoros Foradis
2017-06-22 19:10   ` [bug#27344] [PATCH v2 11/12] gnu: Add qucs Theodoros Foradis
2017-06-22 19:14   ` [bug#27344] [PATCH v2 12/12] gnu: Add qucs-s Theodoros Foradis
2017-07-20  9:25 ` [bug#27344] [PATCH 0/12] Add computational software and circuit simulators Ludovic Courtès
2017-07-28 19:46   ` Theodoros Foradis
2017-08-31 10:34     ` Ludovic Courtès
2017-09-09 16:51       ` Theodoros Foradis
2017-09-09 17:57         ` [bug#27344] [PATCH v3 1/8] gnu: Add asco Theodoros Foradis
2017-09-09 17:57           ` [bug#27344] [PATCH v3 2/8] gnu: Add libngspice and ngspice Theodoros Foradis
2017-09-28 20:07             ` Ludovic Courtès
2017-09-28 21:24               ` Theodoros Foradis
2017-10-01 13:04                 ` Ludovic Courtès [this message]
2017-09-09 17:57           ` [bug#27344] [PATCH v3 3/8] gnu: Add lapack-3.5 Theodoros Foradis
2017-09-09 17:57           ` [bug#27344] [PATCH v3 4/8] gnu: Add xyce-serial Theodoros Foradis
2017-10-05 10:08             ` [bug#27344] Trilinos (was: Re: [bug#27344] [PATCH v3 4/8] gnu: Add xyce-serial.) Ludovic Courtès
2017-10-06 20:11               ` Theodoros Foradis
2017-10-11  7:57                 ` [bug#27344] Trilinos Ludovic Courtès
2017-09-09 17:57           ` [bug#27344] [PATCH v3 5/8] gnu: Add xyce-parallel Theodoros Foradis
2017-10-11  8:20             ` Ludovic Courtès
2017-09-09 17:57           ` [bug#27344] [PATCH v3 6/8] gnu: Add freehdl Theodoros Foradis
2017-10-11  8:19             ` Ludovic Courtès
2017-10-12 17:00               ` Theodoros Foradis
2017-10-13  8:21                 ` Ludovic Courtès
2017-10-27 14:07                   ` Theodoros Foradis
2017-10-27 14:18                     ` [bug#27344] [PATCH v4 1/3] gnu: freehdl: Fix gvhdl and freehdl-gennodes scripts Theodoros Foradis
2017-10-27 14:18                       ` [bug#27344] [PATCH v4 2/3] gnu: Add qucs Theodoros Foradis
2017-10-27 15:22                         ` Ludovic Courtès
2017-10-27 16:20                           ` Theodoros Foradis
2017-10-27 19:42                             ` Ludovic Courtès
2017-10-27 14:18                       ` [bug#27344] [PATCH v4 3/3] gnu: Add qucs-s Theodoros Foradis
2017-10-27 15:26                         ` Ludovic Courtès
2017-10-27 16:22                           ` Theodoros Foradis
2017-11-08 17:42                           ` Theodoros Foradis
2017-11-16  9:54                             ` bug#27344: " Ludovic Courtès
2017-10-27 15:19                       ` [bug#27344] [PATCH v4 1/3] gnu: freehdl: Fix gvhdl and freehdl-gennodes scripts Ludovic Courtès
2017-10-27 16:17                         ` Theodoros Foradis
2017-10-27 19:38                           ` Ludovic Courtès
2017-09-09 17:57           ` [bug#27344] [PATCH v3 7/8] gnu: Add qucs Theodoros Foradis
2017-10-11  8:27             ` Ludovic Courtès
2017-10-12 17:07               ` Theodoros Foradis
2017-10-13  8:25                 ` Ludovic Courtès
2017-09-09 17:57           ` [bug#27344] [PATCH v3 8/8] gnu: Add qucs-s Theodoros Foradis
2017-09-30 22:30             ` Theodoros Foradis
2017-09-09 18:16           ` [bug#27344] [PATCH v3 1/8] gnu: Add asco Theodoros Foradis
2017-09-28 12:58     ` [bug#27344] [PATCH 0/12] Add computational software and circuit simulators Ludovic Courtès
2017-09-28 13:18       ` Theodoros Foradis
2017-09-28 20:00         ` Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8760bzqasb.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=27344@debbugs.gnu.org \
    --cc=theodoros@foradis.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.