Subject: [bug#27344] [PATCH v2 08/12] gnu: Add ngspice.

From: Theodoros Foradis <[email-masked]>
Date: Fri, 28 Jul 2017 20:17:40 +0300

Hello Danny,

> apparently you are trying to provide the shared object in package "libngspice" and the executables in package "ngspice".  Is that so?

Correct. Ngspice, does not build both the executable and shared library
in the same run. The configure script must anyway be run twice, and this
is why I split the package, to begin with.

> I've checked the resulting output directories for ngspice and libngspice and there's some duplication going on.
>
> For example, both packages provide cmpp, the man pages for ALL the executables and the ngspice include files, and shared libraries as lib/ngspice/*.cm.
>
> Was that intended?

That was not intended. In the first version of the patch set, I had the
"ngspice" package copy the shared library from "libngspice" to its
output. So, there would only be one public package. After splitting it
up, I missed on fixing the duplicates.

> I've also made the build reproducible by substituting "`date`" in the file "configure".

Thanks for fixing that.

> My current version of your patch is below.
>
> After it, the following duplicates remain:
> * ./bin/cmpp
> * ./share/ngspice/dlmain.c

Should be in libngspice.

> * ./lib/ngspice/analog.cm
> * ./lib/ngspice/digital.cm
> * ./lib/ngspice/spice2poly.cm
> * ./lib/ngspice/xtradev.cm
> * ./lib/ngspice/xtraevt.cm

Should be in both packages.

> * ./share/ngspice/scripts/setplot
> * ./share/ngspice/scripts/spectrum
> * ./share/ngspice/scripts/spinit

Should be in ngspice.

> Also, how can other programs find libngspice?  There's no pkg-config file and also no replacement (a la gtk-config) that I can see.
>
> cmpp seems to be a preprocessor for xspice extensions - should it be part of ngspice or libngspice ? Is libngspice useful without cmpp being there ?
>

The program I have tested libngspice with, is Kicad (after I get this
patchset over with, I will submit a patch to update Kicad, and build
with ngspice support). I guess it finds libngspice through LIBRARY_PATH
or something? Also, it builds without cmpp being in libngspice (so
libngspice is useful without it), but cmpp should be there nonetheless.

I have updated your patch, to delete the appropriate files from ngspice
and libngspice respectively. I will send it with the updated patch
series.

Regards,
-- 
Theodoros Foradis