From f51a42cecff89d8fc4b892d07d377959122d8f5c Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Thu, 28 Jan 2021 20:37:49 +0000 Subject: [PATCH] gnu: Add plplot * gnu/packages/maths.scm (plplot): New variable --- gnu/packages/maths.scm | 93 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index eff1480e62..97027c8039 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -42,6 +42,7 @@ ;;; Copyright © 2020 Vinicius Monego ;;; Copyright © 2020 Simon Tournier ;;; Copyright © 2020 Martin Becze +;;; Copyright © 2021 Sharlatan Hellseher ;;; ;;; This file is part of GNU Guix. ;;; @@ -91,6 +92,7 @@ #:use-module (gnu packages flex) #:use-module (gnu packages fltk) #:use-module (gnu packages fontutils) + #:use-module (gnu packages geo) #:use-module (gnu packages gettext) #:use-module (gnu packages gcc) #:use-module (gnu packages gd) @@ -117,7 +119,9 @@ #:use-module (gnu packages multiprecision) #:use-module (gnu packages netpbm) #:use-module (gnu packages onc-rpc) + #:use-module (gnu packages ocaml) #:use-module (gnu packages pcre) + #:use-module (gnu packages pdf) #:use-module (gnu packages popt) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) @@ -131,6 +135,7 @@ #:use-module (gnu packages tbb) #:use-module (gnu packages scheme) #:use-module (gnu packages shells) + #:use-module (gnu packages swig) #:use-module (gnu packages tcl) #:use-module (gnu packages texinfo) #:use-module (gnu packages tex) @@ -5870,6 +5875,94 @@ termination analysis via the automatic synthesis of linear ranking functions.") (license license:gpl3+))) +(define-public plplot + (package + (name "plplot") + (version "5.15.0") + (source + (origin + (method git-fetch) + (uri (git-reference + ;; Mirror: https://github.com/PLplot/PLplot + (url "https://git.code.sf.net/p/plplot/plplot") + (commit (string-append name "-" version)))) + (sha256 + (base32 "0fn9j251zv9pwlqy30yv4flwcd0cbyxd1nn388n1k158jycw2i91")) + (file-name (git-file-name name version)))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f + #:configure-flags + (let ((out (assoc-ref %outputs "out"))) + (list + "-DBUILD_DOC=ON" + "-DBUILD_TEST=ON" + "-DCMAKE_BUILD_TYPE=Release" + "-DCMAKE_RULE_MESSAGES=OFF" + "-DENABLE_ada=ON" + "-DENABLE_cxx=ON" + "-DENABLE_d=ON" + "-DENABLE_fortran=ON" + "-DENABLE_lua=ON" + "-DENABLE_ocaml=ON" + "-DENABLE_octave=ON" + "-DENABLE_python=ON" + "-DENABLE_tcl=ON" + "-DENABLE_tkX=ON" + "-DNON_TRANSITIVE=ON" + "-DPLD_cgm=ON" + "-DPLD_ps=ON" + "-DPLD_psttf=OFF" + "-DPLD_svg=ON" + "-DPLD_tk=ON" + "-DUSE_RPATH=OFF" + (string-append "-DCMAKE_INSTALL_LIBDIR=" out "/lib") + (string-append "-DCMAKE_INSTALL_PREFIX=" out))) + ;; NOTE: (Sharlatan-20210128T120312+0000): failing on example_cxx, I + ;; leave it for someone who has more knowledge in CMake. Tests are + ;; disalbed for now. + ;; #:phases + ;; (modify-phases %standard-phases + ;; (replace 'check + ;; (lambda _ + ;; (invoke "ctest")))) + )) + (native-inputs + `(("pkg-config" ,pkg-config) + ("swig" ,swig))) + ;; NOTE: (Sharlatan-20210128T201941+0000): It needs to be reviewed properly, if + ;; octave is included it takes incredibly long time to build `plplot' + (inputs + `(("cairo" ,cairo) + ("freetype" ,freetype) + ("gd" ,gd) + ("gfortran" ,gfortran) + ("libharu" ,libharu) + ("lua" ,lua) + ("ocaml" ,ocaml) + ("pango" ,pango) + ("python" ,python) + ("qhull" ,qhull) + ("shapelib" ,shapelib) + ("tcllib" ,tcllib) + ("tk" ,tk) + ("wxwidgets" ,wxwidgets))) + (home-page "http://plplot.org/") + (synopsis "Ultimate plotting") + (description + "PLplot is a cross-platform software package for creating scientific plots +whose (UTF-8) plot symbols and text are limited in practice only by what +Unicode-aware system fonts are installed on a user's computer. The PLplot +software has a clean architecture that is organized as a core C library, +separate language bindings for that library, and separate device drivers that +are dynamically loaded by the core library which control how the plots are +presented in noninteractive and interactive plotting contexts. + +Output file formats: CGM GIF JPEG PBM PDF PNG PostScript SVG Xfig +Interactive platforms: GDI GTK+PyQt Qt Tcl/Tk wxWidgets X +Language Bindings: Ada C++ D Fortran Lua OCaml Octave Perl/PDL Python Tcl/Tk") + (license license:lgpl2.0))) ; Other terms are in Copyright file + (define-public speedcrunch (package (name "speedcrunch") -- 2.30.0