From f92f269b73b9efa8f7b31b56d1fa77833f42bea5 Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Fri, 5 Dec 2025 12:03:36 +0000 Subject: [PATCH] gnu: pyspice: Switch to pyproject. * gnu/packages/electronics.scm (pyspice): [arguments] : There are unit-tests, so use them. : Remove 'check-after-install; {patch-libngspice} use format instead of confusingly long string-append. [inputs]: Add python-matplotlib and python-pyyaml. [propagated-inputs]: Remove python-matplotlib and python-pyyaml. [native-inputs]: Add python-setuptools. Change-Id: Id7e1cc0b906b05ee36765ed21b21b5bfdeaa3668 Signed-off-by: Gabriel Wicki --- gnu/packages/electronics.scm | 39 ++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm index bf25296181fa5743ad625947a411089d9ef69799..5b826518c4c7e7f0a96ad072ed1d3cb2ce0d687a 100644 --- a/gnu/packages/electronics.scm +++ b/gnu/packages/electronics.scm @@ -1860,37 +1860,36 @@ reusable and vendor/tool-independent way. It is written following the VHDL (origin (method git-fetch) (uri (git-reference - (url "https://github.com/PySpice-org/PySpice") - (commit (string-append "v" version)))) + (url "https://github.com/PySpice-org/PySpice") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "02z35gyx27npqg7g0m1gdy8wid93iy335pc72j90ycx998xf2r5k")))) - (build-system python-build-system) + (build-system pyproject-build-system) (arguments (list - #:tests? #f ;we check the build after installation + #:test-flags + #~(list "unit-test") #:phases #~(modify-phases %standard-phases (add-before 'build 'patch-libngspice (lambda* (#:key inputs #:allow-other-keys) (substitute* "PySpice/Spice/NgSpice/Shared.py" ((" path = .*" _) - (string-append " path = \"" - (search-input-file inputs "lib/libngspice.so") - "\""))))) - (add-after 'install 'check-after-install - (lambda* (#:key inputs outputs #:allow-other-keys) - (add-installed-pythonpath inputs outputs) - (invoke (string-append #$output "/bin/pyspice-post-installation") - "--check-install")))))) - (native-inputs (list python-pytest)) - (propagated-inputs (list python-matplotlib python-pyyaml)) - (inputs (list libngspice - ngspice - python-invoke - python-ply - python-requests - python-scipy)) + (format #f " path = '~a/lib/libngspice.so'" + (search-input-file inputs "lib/libngspice.so"))))))))) + (native-inputs + (list python-pytest + python-setuptools)) + (inputs + (list libngspice + ngspice + python-invoke + python-matplotlib + python-ply + python-pyyaml + python-requests + python-scipy)) (home-page "https://pyspice.fabrice-salvaire.fr/") (synopsis "Circuit simulator Python interface") (description "PySpice implements a Ngspice binding and provides an