summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/ngspice/package.py
diff options
context:
space:
mode:
Diffstat (limited to 'var/spack/repos/builtin/packages/ngspice/package.py')
-rw-r--r--var/spack/repos/builtin/packages/ngspice/package.py172
1 files changed, 89 insertions, 83 deletions
diff --git a/var/spack/repos/builtin/packages/ngspice/package.py b/var/spack/repos/builtin/packages/ngspice/package.py
index ac5f3ad405..1b5c506d84 100644
--- a/var/spack/repos/builtin/packages/ngspice/package.py
+++ b/var/spack/repos/builtin/packages/ngspice/package.py
@@ -11,123 +11,129 @@ class Ngspice(AutotoolsPackage):
electronic circuits."""
homepage = "http://ngspice.sourceforge.net/"
- url = "https://sourceforge.net/projects/ngspice/files/ngspice-33.tar.gz"
- git = "git://git.code.sf.net/p/ngspice/ngspice"
+ url = "https://sourceforge.net/projects/ngspice/files/ngspice-33.tar.gz"
+ git = "git://git.code.sf.net/p/ngspice/ngspice"
- maintainers = ['aweits', 'cessenat']
+ maintainers = ["aweits", "cessenat"]
# Master version by default adds the experimental adms feature
- version('master', branch='master')
- version('37', sha256='9beea6741a36a36a70f3152a36c82b728ee124c59a495312796376b30c8becbe')
- version('34', sha256='2263fffc6694754972af7072ef01cfe62ac790800dad651bc290bfcae79bd7b5')
- version('33', sha256='b99db66cc1c57c44e9af1ef6ccb1dcbc8ae1df3e35acf570af578f606f8541f1')
- version('32', sha256='3cd90c4e94516d87c5b4d02a3a6405b1136b25d05c871d4fee1fd7c4c0d03ef2')
- version('31', sha256='845f3b0c962e47ded051dfbc134c3c1e4ac925c9f0ce1cb3df64eb9b9da5c282')
- version('30', sha256='08fe0e2f3768059411328a33e736df441d7e6e7304f8dad0ed5f28e15d936097')
- version('29', sha256='8d6d0ffbc15f248eb6ec3bde3b9d1397fbc95cb677e1c6a14ff46065c7f95c4a')
- version('27', sha256='0c08c7d57a2e21cf164496f3237f66f139e0c78e38345fbe295217afaf150695')
+ version("master", branch="master")
+ version("37", sha256="9beea6741a36a36a70f3152a36c82b728ee124c59a495312796376b30c8becbe")
+ version("34", sha256="2263fffc6694754972af7072ef01cfe62ac790800dad651bc290bfcae79bd7b5")
+ version("33", sha256="b99db66cc1c57c44e9af1ef6ccb1dcbc8ae1df3e35acf570af578f606f8541f1")
+ version("32", sha256="3cd90c4e94516d87c5b4d02a3a6405b1136b25d05c871d4fee1fd7c4c0d03ef2")
+ version("31", sha256="845f3b0c962e47ded051dfbc134c3c1e4ac925c9f0ce1cb3df64eb9b9da5c282")
+ version("30", sha256="08fe0e2f3768059411328a33e736df441d7e6e7304f8dad0ed5f28e15d936097")
+ version("29", sha256="8d6d0ffbc15f248eb6ec3bde3b9d1397fbc95cb677e1c6a14ff46065c7f95c4a")
+ version("27", sha256="0c08c7d57a2e21cf164496f3237f66f139e0c78e38345fbe295217afaf150695")
# kicad needs build=lib, i.e. --with--ngshared
variant(
- 'build', default='lib',
- description='Build type: lib=ngshared, bin otherwise',
- values=('lib', 'bin'),
+ "build",
+ default="lib",
+ description="Build type: lib=ngshared, bin otherwise",
+ values=("lib", "bin"),
multi=False,
)
- variant('X', default=False, description='Use the X Window System')
+ variant("X", default=False, description="Use the X Window System")
variant(
- 'debug', default='auto',
- description='Enable debugging features: '
- 'auto is yes for build=lib, no for build=bin',
- values=('auto', 'yes', 'no'),
+ "debug",
+ default="auto",
+ description="Enable debugging features: " "auto is yes for build=lib, no for build=bin",
+ values=("auto", "yes", "no"),
multi=False,
)
- variant('xspice', default=False, description='Enable XSPICE enhancements')
- variant('cider', default=False, description='Enable CIDER enhancements')
- variant('openmp', default=False, description='Compile with multi-threading support')
- variant('readline', default=True, description='Build readline support (for bin)')
- variant('fft', default=True, description='Use external fftw lib')
+ variant("xspice", default=False, description="Enable XSPICE enhancements")
+ variant("cider", default=False, description="Enable CIDER enhancements")
+ variant("openmp", default=False, description="Compile with multi-threading support")
+ variant("readline", default=True, description="Build readline support (for bin)")
+ variant("fft", default=True, description="Use external fftw lib")
- depends_on('fftw-api@3:~mpi~openmp', when='+fft~openmp')
- depends_on('fftw-api@3:~mpi+openmp', when='+fft+openmp')
- depends_on('readline', when='+readline build=bin')
+ depends_on("fftw-api@3:~mpi~openmp", when="+fft~openmp")
+ depends_on("fftw-api@3:~mpi+openmp", when="+fft+openmp")
+ depends_on("readline", when="+readline build=bin")
# Needed for autoreconf:
- depends_on('bison', type='build', when='@master')
- depends_on('flex', type='build', when='@master')
+ depends_on("bison", type="build", when="@master")
+ depends_on("flex", type="build", when="@master")
# INSTALL indicates dependency on these :
- depends_on('freetype', when='+X build=bin')
- depends_on('libxrender', when='+X build=bin')
- depends_on('fontconfig', when='+X build=bin')
- depends_on('libxft', when='+X build=bin')
- depends_on('libxext', when='+X build=bin')
- depends_on('libxmu', when='+X build=bin')
- depends_on('libxaw', when='+X build=bin')
- depends_on('libx11', when='+X build=bin')
+ depends_on("freetype", when="+X build=bin")
+ depends_on("libxrender", when="+X build=bin")
+ depends_on("fontconfig", when="+X build=bin")
+ depends_on("libxft", when="+X build=bin")
+ depends_on("libxext", when="+X build=bin")
+ depends_on("libxmu", when="+X build=bin")
+ depends_on("libxaw", when="+X build=bin")
+ depends_on("libx11", when="+X build=bin")
# Need autotools when building on master:
- depends_on("autoconf", type='build', when='@master')
- depends_on("automake", type='build', when='@master')
- depends_on("libtool", type='build', when='@master')
+ depends_on("autoconf", type="build", when="@master")
+ depends_on("automake", type="build", when="@master")
+ depends_on("libtool", type="build", when="@master")
- depends_on("adms", when='@master')
+ depends_on("adms", when="@master")
- conflicts('%gcc@:4.9.9', when='@32:',
- msg='Failure to compile recent release with old gcc due to hicum2')
- conflicts('@28', msg='This release does not compile')
+ conflicts(
+ "%gcc@:4.9.9",
+ when="@32:",
+ msg="Failure to compile recent release with old gcc due to hicum2",
+ )
+ conflicts("@28", msg="This release does not compile")
- @when('@master')
+ @when("@master")
def autoreconf(self, spec, prefix):
- Executable('./autogen.sh')('--adms')
+ Executable("./autogen.sh")("--adms")
def configure_args(self):
spec = self.spec
args = []
- if 'build=lib' in spec:
- args.append('--with-ngshared')
+ if "build=lib" in spec:
+ args.append("--with-ngshared")
# Legacy debug is activated in auto debug mode with build=lib
- if 'debug=no' in spec:
- args.append('--disable-debug')
- args.append('--without-x')
+ if "debug=no" in spec:
+ args.append("--disable-debug")
+ args.append("--without-x")
else:
- if 'debug=auto' in spec or 'debug=no' in spec:
- args.append('--disable-debug')
- if '+readline' in spec:
- args.append('--with-readline=yes')
- if '+X' in spec:
- args.append('--with-x')
- x = spec['libx11']
- args.extend([
- '--x-includes=%s' % x.prefix.include,
- '--x-libraries=%s' % x.prefix.lib,
- ])
+ if "debug=auto" in spec or "debug=no" in spec:
+ args.append("--disable-debug")
+ if "+readline" in spec:
+ args.append("--with-readline=yes")
+ if "+X" in spec:
+ args.append("--with-x")
+ x = spec["libx11"]
+ args.extend(
+ [
+ "--x-includes=%s" % x.prefix.include,
+ "--x-libraries=%s" % x.prefix.lib,
+ ]
+ )
else:
- args.append('--without-x')
- if '+xspice' in spec:
- args.append('--enable-xspice')
- if '+cider' in spec:
- args.append('--enable-cider')
-
- if '+openmp' in spec:
- args.append('--enable-openmp')
- if '~fft' in spec:
- args.append('--with-fftw3=no')
- if 'darwin' in spec.architecture:
- args.append('--enable-pss')
- if '@master' in spec:
- args.append('--enable-adms')
+ args.append("--without-x")
+ if "+xspice" in spec:
+ args.append("--enable-xspice")
+ if "+cider" in spec:
+ args.append("--enable-cider")
+
+ if "+openmp" in spec:
+ args.append("--enable-openmp")
+ if "~fft" in spec:
+ args.append("--with-fftw3=no")
+ if "darwin" in spec.architecture:
+ args.append("--enable-pss")
+ if "@master" in spec:
+ args.append("--enable-adms")
# Do not hide compilation line (easier to debug compilation)
- args.append('--disable-silent-rules')
+ args.append("--disable-silent-rules")
return args
def flag_handler(self, name, flags):
- if self.spec.satisfies('%nvhpc') and name == 'cflags':
- flags.append('-Wall -Wextra -Wmissing-prototypes -Wstrict-prototypes')
- flags.append('-Wnested-externs -Wredundant-decls')
- if 'debug=yes' in self.spec:
- flags.append('-g')
+ if self.spec.satisfies("%nvhpc") and name == "cflags":
+ flags.append("-Wall -Wextra -Wmissing-prototypes -Wstrict-prototypes")
+ flags.append("-Wnested-externs -Wredundant-decls")
+ if "debug=yes" in self.spec:
+ flags.append("-g")
return (None, None, flags)