From 7c73a786b34e981ead76ad79a078bd51135d1873 Mon Sep 17 00:00:00 2001 From: Olivier Cessenat Date: Tue, 25 May 2021 09:10:52 +0200 Subject: qucs: add new package (#23849) Co-authored-by: Massimiliano Culpo --- var/spack/repos/builtin/packages/qucs/package.py | 63 ++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 var/spack/repos/builtin/packages/qucs/package.py diff --git a/var/spack/repos/builtin/packages/qucs/package.py b/var/spack/repos/builtin/packages/qucs/package.py new file mode 100644 index 0000000000..ed23c7c979 --- /dev/null +++ b/var/spack/repos/builtin/packages/qucs/package.py @@ -0,0 +1,63 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) +from spack import * +import os + + +class Qucs(AutotoolsPackage): + """QUCS - Quite Universal Circuit Simulator + + Qucs is an integrated circuit simulator which means you are able to + setup a circuit with a graphical user interface (GUI) and simulate + the large-signal, small-signal and noise behaviour of the circuit. + After that simulation has finished you can view the simulation results + on a presentation page or window. + """ + + homepage = "http://qucs.sourceforge.net/" + url = "https://sourceforge.net/projects/qucs/files/qucs/0.0.19/qucs-0.0.19.tar.gz" + git = "https://git.code.sf.net/p/qucs/git" + + version('master', branch='master') + version('0.0.19', sha256='45c6434fde24c533e63550675ac21cdbd3cc6cbba29b82a1dc3f36e7dd4b3b3e') + version('0.0.18', sha256='3609a18b57485dc9f19886ac6694667f3251702175bd1cbbbea37981b2c482a7') + + # Can use external simulators: + variant( + 'simulators', default='qucs', multi=True, + values=('qucs', 'ngspice', 'xyce'), + description='Circuits simulators (builtin qucsator and external ngspice, xyce)' + ) + + depends_on('flex@2.5.9:', type='build') + depends_on('bison@2.5:', type='build') + depends_on('pkgconfig', type='build') + + depends_on("autoconf@2.64:", type='build') + depends_on("automake@1.7.0:", type='build') + depends_on("libtool", type='build') + depends_on("m4", type='build') + + depends_on('adms', when='@0.0.19:') + depends_on('qt@4.8.5:4.8.7') + depends_on('gperf@3.0.1:') + + # Simulators can be qucsator, the Circuit simulator of the Qucs project + # from https://github.com/Qucs/qucsator, or they can also be provided by + # ngspice and xyce. + # See https://qucs-help.readthedocs.io/en/spice4qucs/BasSim.html + depends_on('ngspice build=bin', type='run', when='simulators=ngspice') + depends_on('xyce', type='run', when='simulators=xyce') + + def autoreconf(self, spec, prefix): + sh = which('sh') + if os.path.exists('bootstrap'): + sh('./bootstrap') + else: + sh('./autogen.sh') + + def configure_args(self): + args = ['--disable-doc'] + return args -- cgit v1.2.3-60-g2f50