diff --git a/pkgs/development/python-modules/pyspice/default.nix b/pkgs/development/python-modules/pyspice/default.nix new file mode 100644 index 00000000000..f2cce09c8b3 --- /dev/null +++ b/pkgs/development/python-modules/pyspice/default.nix @@ -0,0 +1,51 @@ +{ stdenv +, buildPythonPackage +, fetchPypi +, libngspice +, numpy +, ply +, scipy +, pyyaml +, cffi +, requests +, matplotlib +, setuptools +}: + +buildPythonPackage rec { + pname = "PySpice"; + version = "1.4.3"; + + src = fetchPypi { + inherit pname version; + sha256 = "0mnyy8nr06d1al99kniyqcm0p9a8dvkg719s42sajl8yf51sayc9"; + }; + + propagatedBuildInputs = [ + setuptools + requests + pyyaml + cffi + matplotlib + numpy + ply + scipy + libngspice + ]; + + doCheck = false; + pythonImportsCheck = [ "PySpice" ]; + + postPatch = '' + substituteInPlace PySpice/Spice/NgSpice/Shared.py --replace \ + "ffi.dlopen(self.library_path)" \ + "ffi.dlopen('${libngspice}/lib/libngspice${stdenv.hostPlatform.extensions.sharedLibrary}')" + ''; + + meta = with stdenv.lib; { + description = "Simulate electronic circuit using Python and the Ngspice / Xyce simulators"; + homepage = "https://github.com/FabriceSalvaire/PySpice"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ matthuszagh ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index c2c471d9772..03b751ae288 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5383,6 +5383,8 @@ in { pyspf = callPackage ../development/python-modules/pyspf { }; + pyspice = callPackage ../development/python-modules/pyspice { }; + pyspinel = callPackage ../development/python-modules/pyspinel { }; pyspotify = callPackage ../development/python-modules/pyspotify { };