me
/
guix
Archived
1
0
Fork 0

gnu: Add veusz.

* gnu/packages/maths.scm (veusz): New variable.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
master
Vinicius Monego 2020-08-15 22:39:14 -03:00 committed by Mathieu Othacehe
parent 0c73eed36b
commit 7294cbecdd
No known key found for this signature in database
GPG Key ID: 8354763531769CA6
1 changed files with 64 additions and 0 deletions

View File

@ -2120,6 +2120,70 @@ modules is done either interactively using the graphical user interface or in
ASCII text files using Gmsh's own scripting language.")
(license license:gpl2+)))
(define-public veusz
(package
(name "veusz")
(version "3.2.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "veusz" version))
(sha256
(base32 "00vmfpvyd6f33l5awlf02qdik3gmbhzyfizfwwbx7qnam2i9bbwy"))))
(build-system python-build-system)
(arguments
`(;; Tests will fail because they depend on optional packages like
;; python-astropy, which is not packaged.
#:tests? #f
#:phases
(modify-phases %standard-phases
;; Veusz will append 'PyQt5' to sip_dir by default. That is not how
;; the path is defined in Guix, therefore we have to change it.
(add-after 'unpack 'fix-sip-dir
(lambda _
(substitute* "pyqtdistutils.py"
(("os.path.join\\(sip_dir, 'PyQt5'\\)") "sip_dir"))
#t))
;; Now we have to pass the correct sip_dir to setup.py.
(replace 'build
(lambda* (#:key inputs #:allow-other-keys)
;; We need to tell setup.py where to locate QtCoremod.sip
((@@ (guix build python-build-system) call-setuppy)
"build_ext"
(list (string-append "--sip-dir="
(assoc-ref inputs "python-pyqt")
"/share/sip"))
#t)))
;; Ensure that icons are found at runtime.
(add-after 'install 'wrap-executable
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(wrap-program (string-append out "/bin/veusz")
`("QT_PLUGIN_PATH" prefix
,(list (string-append (assoc-ref inputs "qtsvg")
"/lib/qt5/plugins/"))))))))))
(native-inputs
`(("pkg-config" ,pkg-config)
;;("python-astropy" ,python-astropy) ;; FIXME: Package this.
("qttools" ,qttools)))
(inputs
`(("ghostscript" ,ghostscript) ;optional, for EPS/PS output
("python-dbus" ,python-dbus)
("python-h5py" ,python-h5py) ;optional, for HDF5 data
("python-pyqt" ,python-pyqt)
("qtbase" ,qtbase)
("qtsvg" ,qtsvg)))
(propagated-inputs
`(("python-numpy" ,python-numpy)))
(home-page "https://veusz.github.io/")
(synopsis "Scientific plotting package")
(description
"Veusz is a scientific plotting and graphing program with a graphical
user interface, designed to produce publication-ready 2D and 3D plots. In
addition it can be used as a module in Python for plotting. It supports
vector and bitmap output, including PDF, Postscript, SVG and EMF.")
(license license:gpl2+)))
(define-public maxflow
(package
(name "maxflow")