gnu: Add python-vedo.
authorPaul Garlick <pgarlick@tourbillion-technology.com>
Tue, 1 Jun 2021 09:15:56 +0000 (10:15 +0100)
committerPaul Garlick <pgarlick@tourbillion-technology.com>
Tue, 1 Jun 2021 09:24:46 +0000 (10:24 +0100)
* gnu/packages/python-science.scm (python-vedo): New variable.

gnu/packages/python-science.scm

index fdfd03d..4284529 100644 (file)
@@ -12,6 +12,7 @@
 ;;; Copyright © 2020, 2021 Vinicius Monego <monego@posteo.net>
 ;;; Copyright © 2021 Greg Hogan <code@greghogan.com>
 ;;; Copyright © 2021 Roel Janssen <roel@gnu.org>
+;;; Copyright © 2021 Paul Garlick <pgarlick@tourbillion-technology.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
   #:use-module (gnu packages base)
   #:use-module (gnu packages check)
   #:use-module (gnu packages gcc)
+  #:use-module (gnu packages image-processing)
   #:use-module (gnu packages maths)
+  #:use-module (gnu packages mpi)
   #:use-module (gnu packages perl)
+  #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-build)
   #:use-module (gnu packages python-check)
   #:use-module (gnu packages python-web)
   #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages simulation)
   #:use-module (gnu packages sphinx)
   #:use-module (gnu packages time)
   #:use-module (gnu packages xdisorg)
@@ -48,6 +53,7 @@
   #:use-module (gnu packages xorg)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module (guix utils)
   #:use-module (guix build-system python))
 
@@ -639,3 +645,60 @@ annotations on an existing boxplots and barplots generated by seaborn.")
 UpSet plots are used to visualize set overlaps; like Venn diagrams but more
 readable.")
     (license license:bsd-3)))
+
+(define-public python-vedo
+  (package
+    (name "python-vedo")
+    (version "2021.0.3")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/marcomusy/vedo")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "18i3ajh5jzhpc86di15lwh4jv97jhm627ii877sa4yhv6abzjfpn"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'build 'mpi-setup
+           ,%openmpi-setup)
+         (replace 'check
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (setenv "HOME" (getcwd))
+             (add-installed-pythonpath inputs outputs)
+             (with-directory-excursion "tests"
+               (for-each (lambda (dir)
+                           (with-directory-excursion dir
+                             (invoke "./run_all.sh")))
+                         '("common" "dolfin")))
+             #t)))))
+    (inputs ; for the check phase
+     `(("dolfin" ,fenics)
+       ("pkgconfig" ,python-pkgconfig)
+       ("pkg-config" ,pkg-config)
+       ("matplotlib" ,python-matplotlib)))
+    (propagated-inputs
+     `(("numpy" ,python-numpy)
+       ("vtk" ,vtk)))
+    (home-page "https://github.com/marcomusy/vedo")
+    (synopsis
+     "Analysis and visualization of 3D objects and point clouds")
+    (description
+     "@code{vedo} is a fast and lightweight python module for
+scientific analysis and visualization.  The package provides a wide
+range of functionalities for working with three-dimensional meshes and
+point clouds.  It can also be used to generate high quality
+two-dimensional renderings such as scatter plots and histograms.
+@code{vedo} is based on @code{vtk} and @code{numpy}, with no other
+dependencies.")
+    ;; vedo is released under the Expat license.  Included fonts are
+    ;; covered by the OFL license and textures by the CC0 license.
+    ;; The earth images are in the public domain.
+    (license (list license:expat
+                   license:silofl1.1
+                   license:cc0
+                   license:public-domain))))