~ruther/guix-local

f92f269b73b9efa8f7b31b56d1fa77833f42bea5 — Sharlatan Hellseher 2 months ago ce66fb2
gnu: pyspice: Switch to pyproject.

* gnu/packages/electronics.scm (pyspice):
[arguments] <tests?, test-flags>: There are unit-tests, so use them.
<phases>: 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 <gabriel@erlikon.ch>
1 files changed, 19 insertions(+), 20 deletions(-)

M gnu/packages/electronics.scm
M gnu/packages/electronics.scm => gnu/packages/electronics.scm +19 -20
@@ 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