;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2013, 2014, 2015, 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
-;;; Copyright © 2014 John Darrington <jmd@gnu.org>
-;;; Copyright © 2014, 2015 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2014, 2016 John Darrington <jmd@gnu.org>
+;;; Copyright © 2014, 2015, 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2014 Mathieu Lirzin <mathieu.lirzin@openmailbox.org>
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015 Fabian Harfert <fhmgufs@web.de>
+;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (guix build utils)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system r)
#:use-module (gnu packages algebra)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gd)
#:use-module (gnu packages ghostscript)
- #:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
+ #:use-module (gnu packages image)
#:use-module (gnu packages less)
#:use-module (gnu packages lisp)
#:use-module (gnu packages gnome)
#:use-module (gnu packages zip)
#:use-module (srfi srfi-1))
+(define-public c-graph
+ (package
+ (name "c-graph")
+ (version "2.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/c-graph/c-graph-" version
+ ".tar.gz"))
+ (sha256 (base32
+ "1hlvpzrh7hzzf533diyfiabzskddi8zx92av9hwkjw3l46z7qv01"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("fortran" ,gfortran)))
+ (synopsis "Visualize and analyze convolution operations")
+ (description
+ "GNU C-Graph demonstrates the theory of convolution underlying
+engineering systems and signal analysis.")
+ (license license:gpl3+)
+ (home-page "http://www.gnu.org/software/c-graph/")))
+
(define-public units
(package
(name "units")
(define-public gsl
(package
(name "gsl")
- (version "1.16")
+ (version "2.1")
(source
(origin
(method url-fetch)
version ".tar.gz"))
(sha256
(base32
- "0lrgipi0z6559jqh82yx8n4xgnxkhzj46v96dl77hahdp58jzg3k"))
- (patches (map search-patch '("gsl-poly-test-fix-pt1.patch"
- "gsl-poly-test-fix-pt2.patch")))))
+ "0rhcia9jhr3p1f1wybwyllwqfs9bggz99i3mi5lpyqcpff1hdbar"))))
(build-system gnu-build-system)
(arguments
- `(#:parallel-tests? #f
- #:phases
- (alist-replace
- 'configure
- (lambda* (#:key target system outputs #:allow-other-keys #:rest args)
- (let ((configure (assoc-ref %standard-phases 'configure)))
- ;; disable numerically unstable test on i686, see thread at
- ;; http://lists.gnu.org/archive/html/bug-gsl/2011-11/msg00019.html
- (if (string=? (or target system) "i686-linux")
- (substitute* "ode-initval2/Makefile.in"
- (("TESTS = \\$\\(check_PROGRAMS\\)") "TESTS =")))
- (apply configure args)))
- %standard-phases)))
+ `(#:parallel-tests? #f))
(home-page "http://www.gnu.org/software/gsl/")
(synopsis "Numerical library for C and C++")
(description
(define-public glpk
(package
(name "glpk")
- (version "4.56")
+ (version "4.60")
(source
(origin
(method url-fetch)
version ".tar.gz"))
(sha256
(base32
- "0syzix6qvpn0fzp08c84c8snansf1cam5vd0dk2w91mz2c85d18h"))))
+ "15z2ymzqhxwss6wgdj5f7vkyqlqdsjgrvm0x871kmlx0n0664mhk"))))
(build-system gnu-build-system)
(inputs
`(("gmp" ,gmp)))
LP/MIP solver is included in the package.")
(license license:gpl3+)))
-(define-public pspp
+(define-public 4ti2
(package
- (name "pspp")
- (version "0.8.5")
+ (name "4ti2")
+ (version "1.6.7")
(source
(origin
(method url-fetch)
- (uri (string-append "mirror://gnu/pspp/pspp-"
- version ".tar.gz"))
+ (uri (string-append "http://www.4ti2.de/version_" version
+ "/4ti2-" version ".tar.gz"))
(sha256
(base32
- "0c8326yykidi94xi7jn27j8iqxc38vc07d4wf5zyk0l8lpzx5vz7"))))
+ "1frix3rnm9ffr93alqzw4cavxbfpf524l8rfbmcpyhwd3n1km0yl"))))
(build-system gnu-build-system)
- (inputs
- `(("cairo" ,cairo)
- ("fontconfig" ,fontconfig)
- ("gettext" ,gnu-gettext)
- ("gsl" ,gsl)
- ("libxml2" ,libxml2)
- ("pango" ,pango)
- ("readline" ,readline)
- ("gtk" ,gtk+-2)
- ("gtksourceview" ,gtksourceview)
- ("zlib" ,zlib)))
(native-inputs
- `(("glib" ,glib "bin") ;for glib-genmarshal
- ("perl" ,perl)
- ("texinfo" ,texinfo)
- ("pkg-config" ,pkg-config)))
- (home-page "http://www.gnu.org/software/pspp/")
- (synopsis "Statistical analysis")
+ `(("which" ,(@ (gnu packages base) which)))) ; for the tests
+ (inputs
+ `(("glpk" ,glpk)
+ ("gmp" ,gmp)))
+ (home-page "http://www.4ti2.de/")
+ (synopsis "Mathematical tool suite for problems on linear spaces")
(description
- "GNU PSPP is a statistical analysis program. It can perform
-descriptive statistics, T-tests, linear regression and non-parametric tests.
-It features both a graphical interface as well as command-line input. PSPP
-is designed to interoperate with Gnumeric, LibreOffice and OpenOffice. Data
-can be imported from spreadsheets, text files and database sources and it can
-be output in text, PostScript, PDF or HTML.")
- (license license:gpl3+)))
+ "4ti2 implements algorithms for solving algebraic, geometric and
+combinatorial problems on linear spaces. Among others, it solves systems
+of linear equations, computes extreme rays of polyhedral cones, solves
+integer programming problems and computes Markov bases for statistics.")
+ (license license:gpl2+)))
+
+(define-public cddlib
+ (package
+ (name "cddlib")
+ (version "0.94h")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "ftp://ftp.ifor.math.ethz.ch/pub/fukuda/cdd/cddlib-"
+ (string-delete #\. version) ".tar.gz"))
+ (sha256
+ (base32
+ "1dasasscwfg793q8fwzgwf64xwj7w62yfvszpr8x8g38jka08vgy"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("gmp" ,gmp)))
+ (home-page "https://www.inf.ethz.ch/personal/fukudak/cdd_home/index.html")
+ (synopsis "Library for convex hulls and extreme rays of polyhedra")
+ (description
+ "The C-library cddlib implements the Double Description Method of
+Motzkin et al. for generating all vertices (i.e. extreme points) and extreme
+rays of a general convex polyhedron given by a system of linear inequalities
+in arbitrary dimension. It can also be used for the converse operation of
+computing convex hulls.")
+ (license license:gpl2+)))
(define-public arpack-ng
(package
(define-public gnuplot
(package
(name "gnuplot")
- (version "4.6.3")
+ (version "5.0.2")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/gnuplot/gnuplot/"
- version "/gnuplot-" version ".tar.gz"))
+ version "/gnuplot-" version ".tar.gz"))
(sha256
(base32
- "1xd7gqdhlk7k1p9yyqf9vkk811nadc7m4si0q3nb6cpv4pxglpyz"))))
+ "146qn414z96c7cc42a1kb9a4kpjc2q2hfdwk44kjjvgmfp9k2ass"))))
(build-system gnu-build-system)
(inputs `(("readline" ,readline)
("cairo" ,cairo)
("pango" ,pango)
("gd" ,gd)))
- (native-inputs `(("texlive" ,texlive)
- ("pkg-config" ,pkg-config)))
+ (native-inputs `(("pkg-config" ,pkg-config)
+ ("texlive" ,texlive-minimal)))
(home-page "http://www.gnuplot.info")
(synopsis "Command-line driven graphing utility")
(description "Gnuplot is a portable command-line driven graphing
;; X11 Style with the additional restriction that derived works may only be
;; distributed as patches to the original.
(license (license:fsf-free
- "http://gnuplot.cvs.sourceforge.net/gnuplot/gnuplot/Copyright"))))
+ "http://gnuplot.cvs.sourceforge.net/gnuplot/gnuplot/Copyright"))))
(define-public hdf5
(package
(define-public octave
(package
(name "octave")
- (version "3.8.2")
+ (version "4.0.0")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/octave/octave-"
- version ".tar.gz"))
+ version ".tar.gz"))
(sha256
(base32
- "05slz8yx8k91fqlnfr1f0vni95iq9qmchz41c7nf4isn3b2fjn7j"))))
+ "101jr9yck798586jz4vkjcgk36zksmxf1pxrzvipgn2xgyay0zjc"))))
(build-system gnu-build-system)
(inputs
`(("lapack" ,lapack)
(define-public gmsh
(package
(name "gmsh")
- (version "2.8.4")
+ (version "2.11.0")
(source
(origin
(method url-fetch)
(uri (string-append "http://www.geuz.org/gmsh/src/gmsh-"
version "-source.tgz"))
(sha256
- (base32 "0jv2yvk28w86rx5mvjkb0w12ff2jxih7axnpvznpd295lg5jg7hr"))
+ (base32 "1ilplibvjgf7a905grpnclrvkmqy9fgrpl7xyp3w4yl1qc682v9b"))
(modules '((guix build utils)))
(snippet
;; Remove non-free METIS code
(arguments
`(#:configure-flags `("-DENABLE_METIS:BOOL=OFF"
"-DENABLE_BUILD_SHARED:BOOL=ON"
- "-DENABLE_BUILD_DYNAMIC:BOOL=ON")))
+ "-DENABLE_BUILD_DYNAMIC:BOOL=ON")
+ #:phases (modify-phases %standard-phases
+ (replace
+ 'check
+ (lambda _
+ (zero? (system* "make" "test"
+ ;; Disable this test. See
+ ;; https://geuz.org/trac/gmsh/ticket/271
+ "ARGS=-E component8_in_a_box")))))))
(home-page "http://www.geuz.org/gmsh/")
(synopsis "3D finite element grid generator")
(description "Gmsh is a 3D finite element grid generator with a built-in
(define-public petsc
(package
(name "petsc")
- (version "3.6.0")
+ (version "3.6.2")
(source
(origin
(method url-fetch)
(uri (string-append "http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/"
"petsc-lite-" version ".tar.gz"))
(sha256
- (base32 "0lzhk1flgszks1wlhz2b92rnlx5np7bgad8vqy9fcqziz5b4pr26"))))
+ (base32 "13h0m5f9xsdpps4lsp59iz2m7zkapwavq2zfkfvs3ab6sndla0l9"))))
(build-system gnu-build-system)
(native-inputs
`(("python" ,python-2)
'install 'clean-install
;; Try to keep installed files from leaking build directory names.
(lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (fortran (assoc-ref inputs "gfortran")))
+ (let ((out (assoc-ref outputs "out")))
(substitute* (map (lambda (file)
(string-append out "/lib/petsc/conf/" file))
'("petscvariables" "PETScConfig.cmake"))
(((getcwd)) out))
;; Make compiler references point to the store
(substitute* (string-append out "/lib/petsc/conf/petscvariables")
- (("= g(cc|\\+\\+|fortran)" _ suffix)
- (string-append "= " fortran "/bin/g" suffix)))
+ (("= (gcc|g\\+\\+|gfortran)" _ compiler)
+ (string-append "= " (which compiler))))
;; PETSc installs some build logs, which aren't necessary.
(for-each (lambda (file)
(let ((f (string-append out "/lib/petsc/conf/" file)))
(define-public slepc
(package
(name "slepc")
- (version "3.6.0")
+ (version "3.6.2")
(source
(origin
(method url-fetch)
(uri (string-append "http://slepc.upv.es/download/download.php?"
"filename=slepc-" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1ij8w864spzk4cq2mmkssqyj0mbckkkvxm0wpw9gywy2jgbj07jr"))))
+ "1pv5iqz2kc8sj49zsabyz4arnfpana8mjrhq31vzgk16xldk3d1a"))))
(build-system gnu-build-system)
(native-inputs
`(("python" ,python-2)))
`(#:parallel-build? #f ;build is parallel by default
#:configure-flags
`(,(string-append "--with-arpack-dir="
- (assoc-ref %build-inputs "arpack")))
+ (assoc-ref %build-inputs "arpack") "/lib"))
#:phases
(modify-phases %standard-phases
(replace
(format #t "build directory: ~s~%" (getcwd))
(format #t "configure flags: ~s~%" flags)
(setenv "SLEPC_DIR" (getcwd))
- (setenv "PETSC_DIR" (assoc-ref %build-inputs "petsc"))
+ (setenv "PETSC_DIR" (assoc-ref inputs "petsc"))
(zero? (apply system* "./configure" flags)))))
(add-after
'install 'delete-doc
(define-public mumps
(package
(name "mumps")
- (version "5.0.0")
+ (version "5.0.1")
(source
(origin
(method url-fetch)
version ".tar.gz"))
(sha256
(base32
- "0690yp73sqk8zn2jnrzdr5swnjdyd7j0774s4xamjjwcxarw87hr"))
- (patches (list (search-patch "mumps-build-parallelism.patch")))))
+ "1820jfp3mbl7n85765v5mp6p0gzqpgr4d2lrnhwj4gl7cwp5ndah"))
+ (patches (search-patches "mumps-build-parallelism.patch"))))
(build-system gnu-build-system)
(inputs
`(("fortran" ,gfortran)
(inputs
(alist-delete "pt-scotch" (package-inputs mumps-openmpi)))))
+(define-public r-pracma
+ (package
+ (name "r-pracma")
+ (version "1.8.8")
+ (source (origin
+ (method url-fetch)
+ (uri (cran-uri "pracma" version))
+ (sha256
+ (base32 "0ans9l5rrb7a38gyi4qx4258sd5r5668vyrk02yzjpg9k3h8l165"))))
+ (build-system r-build-system)
+ (home-page "http://cran.r-project.org/web/packages/pracma")
+ (synopsis "Practical numerical math functions")
+ (description "This package provides functions for numerical analysis and
+linear algebra, numerical optimization, differential equations, plus some
+special functions. It uses Matlab function names where appropriate to simplify
+porting.")
+ (license license:gpl3+)))
+
(define-public superlu
(package
(name "superlu")
"superlu_dist_" version ".tar.gz"))
(sha256
(base32 "1hnak09yxxp026blq8zhrl7685yip16svwngh1wysqxf8z48vzfj"))
- (patches (list (search-patch "superlu-dist-scotchmetis.patch")))))
+ (patches (search-patches "superlu-dist-scotchmetis.patch"))))
(build-system gnu-build-system)
(native-inputs
`(("tcsh" ,tcsh)))
"scotch_" version ".tar.gz"))
(sha256
(base32 "1ir088mvrqggyqdkx9qfynmiaffqbyih5qfl5mga2nrlm1qlsgzm"))
- (patches (list (search-patch "scotch-test-threading.patch")
- (search-patch "pt-scotch-build-parallelism.patch")))))
+ (patches (search-patches "scotch-test-threading.patch"
+ "pt-scotch-build-parallelism.patch"))))
(build-system gnu-build-system)
(inputs
`(("zlib" ,zlib)
(sha256
(base32
"0x1rk659sn3cq0n5c90848ilzr1gb1wf0072fl6jhkdq00qgh2s0"))
- (patches (list (search-patch "maxima-defsystem-mkdir.patch")))))
+ (patches (search-patches "maxima-defsystem-mkdir.patch"))))
(build-system gnu-build-system)
(inputs
`(("gcl" ,gcl)
full text searching.")
(license license:gpl2+)))
+(define-public armadillo
+ (package
+ (name "armadillo")
+ (version "6.400.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/arma/armadillo-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0bsgrmldlx77w5x26n3axj1hg6iw6csyw0dwl1flrbdwl51f9701"))))
+ (build-system cmake-build-system)
+ (arguments `(#:tests? #f)) ;no test target
+ (inputs
+ `(("openblas" ,openblas)
+ ("lapack" ,lapack)
+ ("arpack" ,arpack-ng)))
+ (home-page "http://arma.sourceforge.net/")
+ (synopsis "C++ linear algebra library")
+ (description
+ "Armadillo is a C++ linear algebra library, aiming towards a good balance
+between speed and ease of use. It is useful for algorithm development
+directly in C++, or quick conversion of research code into production
+environments. It can be used for machine learning, pattern recognition,
+signal processing, bioinformatics, statistics, econometrics, etc. The library
+provides efficient classes for vectors, matrices and cubes, as well as 150+
+associated functions (eg. contiguous and non-contiguous submatrix views).")
+ (license license:mpl2.0)))
+
+(define-public armadillo-for-rcpparmadillo
+ (package (inherit armadillo)
+ (version "6.200.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/arma/armadillo-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1f69rlqhnf2wv8khyn2a8vi6gx1i72qgfy8b9b760ssk85dcl763"))))))
+
(define-public muparser
(package
(name "muparser")
(define-public openblas
(package
(name "openblas")
- (version "0.2.14")
+ (version "0.2.15")
(source
(origin
(method url-fetch)
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "0av3pd96j8rx5i65f652xv9wqfkaqn0w4ma1gvbyz73i6j2hi9db"))))
+ "1k5f6vjlk54qlplk5m7xkbaw6g2y7dl50lwwdv6xsbcsgsbxfcpy"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;no "check" target
- ;; DYNAMIC_ARCH is only supported on x86. When it is disabled,
- ;; OpenBLAS will tune itself to the build host, so we need to disable
- ;; substitutions.
+ ;; DYNAMIC_ARCH is only supported on x86. When it is disabled and no
+ ;; TARGET is specified, OpenBLAS will tune itself to the build host, so
+ ;; we need to disable substitutions.
#:substitutable?
,(let ((system (or (%current-target-system) (%current-system))))
(or (string-prefix? "x86_64" system)
- (string-prefix? "i686" system)))
+ (string-prefix? "i686" system)
+ (string-prefix? "mips" system)))
#:make-flags
(list (string-append "PREFIX=" (assoc-ref %outputs "out"))
"SHELL=bash"
;; Unfortunately, this is not supported on non-x86 architectures,
;; where it leads to failed builds.
,@(let ((system (or (%current-target-system) (%current-system))))
- (if (or (string-prefix? "x86_64" system)
+ (cond
+ ((or (string-prefix? "x86_64" system)
(string-prefix? "i686" system))
- '("DYNAMIC_ARCH=1")
- '())))
+ '("DYNAMIC_ARCH=1"))
+ ;; On MIPS we force the "SICORTEX" TARGET, as for the other
+ ;; two available MIPS targets special extended instructions
+ ;; for Loongson cores are used.
+ ((string-prefix? "mips" system)
+ '("TARGET=SICORTEX"))
+ (else '()))))
;; no configure script
#:phases (alist-delete 'configure %standard-phases)))
(inputs
(sha256
(base32
"185jych0gdnpkjwxni7pd0dda149492zwq2457xdjg76bzj78mnp"))
- (patches (list (search-patch "dealii-p4est-interface.patch")))
+ (patches (search-patches "dealii-p4est-interface.patch"))
(modules '((guix build utils)))
(snippet
;; Remove bundled sources: UMFPACK, TBB, muParser, and boost
FLANN is written in C++ and contains bindings for C, Octave and Python.")
(license (license:non-copyleft "file://COPYING"
"See COPYING in the distribution."))))
+
+(define-public wcalc
+ (package
+ (name "wcalc")
+ (version "2.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "mirror://sourceforge/w-calc/wcalc-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "1vi8dl6rccqiq1apmpwawyg2ywx6a1ic1d3cvkf2hlwk1z11fb0f"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("mpfr" ,mpfr)
+ ("readline" ,readline)))
+ (home-page "http://w-calc.sourceforge.net/index.php")
+ (synopsis "Flexible command-line scientific calculator")
+ (description "Wcalc is a very capable calculator. It has standard functions
+(sin, asin, and sinh for example, in either radians or degrees), many
+pre-defined constants (pi, e, c, etc.), support for using variables, \"active\"
+variables, a command history, hex/octal/binary input and output, unit
+conversions, embedded comments, and an expandable expression entry field. It
+evaluates expressions using the standard order of operations.")
+ (license license:gpl2+)))
+
+(define-public xaos
+ (package
+ (name "xaos")
+ (version "3.6")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/xaos/xaos-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "15cd1cx1dyygw6g2nhjqq3bsfdj8sj8m4va9n75i0f3ryww3x7wq"))))
+ (build-system gnu-build-system)
+ (native-inputs `(("gettext" ,gnu-gettext)))
+ (inputs `(("libx11" ,libx11)
+ ("zlib" ,zlib)
+ ("libpng" ,libpng)
+ ("gsl" ,gsl)))
+ (arguments
+ `(#:tests? #f ;no "check" target
+ #:make-flags '("LOCALEDIR=$DATAROOTDIR/locale")))
+ (synopsis "Real-time fractal zoomer")
+ (description "GNU XaoS is a graphical program that generates fractal
+patterns and allows you to zoom in and out of them infinitely in a fluid,
+continuous manner. It also includes tutorials that help to explain how fractals
+are built. It can generate many different fractal types such as the Mandelbrot
+set.")
+ (home-page "http://www.gnu.org/software/xaos/")
+ (license license:gpl2+)))