diff options
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules/pyspice/default.nix')
-rw-r--r-- | nixpkgs/pkgs/development/python-modules/pyspice/default.nix | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/python-modules/pyspice/default.nix b/nixpkgs/pkgs/development/python-modules/pyspice/default.nix new file mode 100644 index 000000000000..f2cce09c8b38 --- /dev/null +++ b/nixpkgs/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 ]; + }; +} |