* [bug#42877] [PATCH] gnu: Add veusz.
@ 2020-08-16 1:39 Vinicius Monego
2020-08-16 7:46 ` bug#42877: " Mathieu Othacehe
0 siblings, 1 reply; 2+ messages in thread
From: Vinicius Monego @ 2020-08-16 1:39 UTC (permalink / raw)
To: 42877; +Cc: Vinicius Monego
* gnu/packages/maths.scm (veusz): New variable.
---
gnu/packages/maths.scm | 63 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 63 insertions(+)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 3a746bd712..9b1a5b6a8d 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -2064,6 +2064,69 @@ 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")
--
2.20.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2020-08-16 7:47 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-08-16 1:39 [bug#42877] [PATCH] gnu: Add veusz Vinicius Monego
2020-08-16 7:46 ` bug#42877: " Mathieu Othacehe
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).