;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
-;;; Copyright © 2014, 2016 John Darrington <jmd@gnu.org>
+;;; Copyright © 2014, 2016, 2017 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, 2016 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, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015 Fabian Harfert <fhmgufs@web.de>
;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
;;; Copyright © 2016 Kei Kebreau <kei@openmailbox.org>
;;; Copyright © 2016 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017 Paul Garlick <pgarlick@tourbillion-technology.com>
;;; Copyright © 2017 ng0 <contact.ng0@cryptolab.net>
+;;; Copyright © 2017 Ben Woodcroft <donttrustben@gmail.com>
;;;
;;; 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 ocaml)
#:use-module (guix build-system r)
#:use-module (gnu packages algebra)
#:use-module (gnu packages bison)
#:use-module (gnu packages less)
#:use-module (gnu packages lisp)
#:use-module (gnu packages logging)
+ #:use-module (gnu packages lua)
#:use-module (gnu packages gnome)
#:use-module (gnu packages guile)
#:use-module (gnu packages xorg)
#:use-module (gnu packages mpi)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages netpbm)
+ #:use-module (gnu packages ocaml)
#:use-module (gnu packages pcre)
#:use-module (gnu packages popt)
#:use-module (gnu packages perl)
logical symbols and its natural deduction interface make it easy to use for
beginners.")
(license license:gpl3+)
- (home-page "http://www.gnu.org/software/aris/")))
+ (home-page "https://www.gnu.org/software/aris/")))
(define-public c-graph
(package
student to write code, the program offers an intuitive interface with
interactive dialogs to guide them.")
(license license:gpl3+)
- (home-page "http://www.gnu.org/software/c-graph/")))
+ (home-page "https://www.gnu.org/software/c-graph/")))
(define-public coda
(package
conversions such as Fahrenheit to Celsius. Its interpreter is powerful
enough to be used effectively as a scientific calculator.")
(license license:gpl3+)
- (home-page "http://www.gnu.org/software/units/")))
+ (home-page "https://www.gnu.org/software/units/")))
(define-public double-conversion
(package
universal constants, atomic numbers, and constants related to
semiconductors.")
(license license:gpl3+)
- (home-page "http://www.gnu.org/software/dionysus/")))
+ (home-page "https://www.gnu.org/software/dionysus/")))
(define-public gsl
(package
(patches (search-patches "gsl-test-i686.patch"))))
(build-system gnu-build-system)
(arguments
- `(#:parallel-tests? #f))
- (home-page "http://www.gnu.org/software/gsl/")
+ `(#:parallel-tests? #f
+ ;; Currently there are numerous tests that fail on "exotic"
+ ;; architectures such as aarch64 and ppc64le.
+ ,@(if (string-prefix? "aarch64-linux"
+ (or (%current-target-system) (%current-system)))
+ '(#:tests? #f)
+ '())))
+ (home-page "https://www.gnu.org/software/gsl/")
(synopsis "Numerical library for C and C++")
(description
"The GNU Scientific Library is a library for numerical analysis in C
numbers.")
(license license:gpl3+)))
+(define-public ocaml-gsl
+ (package
+ (name "ocaml-gsl")
+ (version "1.19.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://github.com/mmottl/gsl-ocaml/releases/download/v"
+ version"/gsl-ocaml-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0nzp43hp8pbjqkrxnwp5lgjrabxayf61h18fjaydi0s5faq6f3xh"))))
+ (build-system ocaml-build-system)
+ (inputs
+ `(("gsl" ,gsl)))
+ (home-page "https://mmottl.github.io/gsl-ocaml")
+ (synopsis "Bindings to the GNU Scientific Library")
+ (description
+ "GSL-OCaml is an interface to the @dfn{GNU scientific library} (GSL) for
+the OCaml language.")
+ (license license:gpl3+)))
+
+(define-public ocaml4.01-gsl
+ (package-with-ocaml4.01 ocaml-gsl))
+
(define-public glpk
(package
(name "glpk")
(define-public gnuplot
(package
(name "gnuplot")
- (version "5.0.5")
+ (version "5.0.6")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/gnuplot/gnuplot/"
version ".tar.gz"))
(sha256
(base32
- "0lr065qdlgss8lmy31l7hkmnk9fp4lvqq9qgb1f1209f36zy1wr5"))))
+ "0q5lr6nala3ln6f3yp6g17ziymb9r9gx9zylnw1y3hjmwl9lggjv"))))
(build-system gnu-build-system)
(inputs `(("readline" ,readline)
("cairo" ,cairo)
("pango" ,pango)
- ("gd" ,gd)))
+ ("gd" ,gd)
+ ("lua" ,lua)))
(native-inputs `(("pkg-config" ,pkg-config)
("texlive" ,texlive-minimal)))
(home-page "http://www.gnuplot.info")
HDF5 file is encoded according to the HDF File Format Specification.")
(license (license:x11-style "file://COPYING"))))
+(define-public itpp
+ (package
+ (name "itpp")
+ (version "4.3.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/itpp/itpp/"
+ version "/itpp-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "14ddy2xnb6sgp4hiax9v5sv4pr4l4dd4ps76nfha3nrpr1ikhcqm"))))
+ (build-system cmake-build-system)
+ (arguments `(#:tests? #f)) ; Tests require googletest *sources*
+ (inputs `(("lapack" ,lapack)
+ ("fftw" ,fftw)))
+ (native-inputs `(("texlive-minimal" ,texlive-minimal)
+ ("doxygen" ,doxygen)))
+ (home-page "http://itpp.sourceforge.net")
+ (synopsis "C++ library of maths, signal processing and communication classes")
+ (description "IT++ is a C++ library of mathematical, signal processing and
+communication classes and functions. Its main use is in simulation of
+communication systems and for performing research in the area of
+communications. The kernel of the library consists of generic vector and
+matrix classes, and a set of accompanying routines. Such a kernel makes IT++
+similar to MATLAB, GNU Octave or SciPy.")
+ (license license:gpl3+)))
+
(define-public netcdf
(package
(name "netcdf")
"--disable-shared" "--with-pic"
,flags))))))
+(define-public netcdf-fortran
+ (package
+ (name "netcdf-fortran")
+ (version "4.4.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-fortran-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0xaxdcg1p83zmypwml3swsnr3ccn38inwldyr1l3wa4dbwbrblxj"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:parallel-tests? #f))
+ (inputs
+ `(("netcdf" ,netcdf)))
+ (native-inputs
+ `(("gfortran" ,gfortran)))
+ (synopsis "Fortran interface for the netCDF library")
+ (description (package-description netcdf))
+ (home-page (package-home-page netcdf))
+ (license (package-license netcdf))))
+
(define-public nlopt
(package
(name "nlopt")
(inputs
`(("lapack" ,lapack)
("readline" ,readline)
+ ("gl2ps" ,gl2ps)
("glpk" ,glpk)
("fftw" ,fftw)
("fftwf" ,fftwf)
ASCII text files using Gmsh's own scripting language.")
(license license:gpl2+)))
+(define-public maxflow
+ (package
+ (name "maxflow")
+ (version "3.04")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/gerddie/maxflow.git")
+ (commit "42401fa54823d16b9da47716f04e5d9ef1605875")))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "0rll38whw55h0vcjrrwdnh9ascvxby0ph7n1l0d12z17cg215kkb"))))
+ (build-system cmake-build-system)
+ (home-page "http://pub.ist.ac.at/~vnk/software.html")
+ (synopsis "Library implementing Maxflow algorithm")
+ (description "An implementation of the maxflow algorithm described in
+@cite{An Experimental Comparison of Min-Cut/Max-Flow Algorithms for
+Energy Minimization in Computer Vision.\n
+Yuri Boykov and Vladimir Kolmogorov.\n
+In IEEE Transactions on Pattern Analysis and Machine Intelligence,\n
+September 2004}")
+ (license license:gpl3+)))
+
(define-public petsc
(package
(name "petsc")
(define-public r-pracma
(package
(name "r-pracma")
- (version "1.9.5")
+ (version "2.0.4")
(source (origin
(method url-fetch)
(uri (cran-uri "pracma" version))
(sha256
- (base32 "19nr2jlkbcdgvw3gx5hry12av565lmvqd5q4h7zlch3q13avwwl2"))))
+ (base32 "1z3i90mkzwvp9di17caf4934z2xlb2imm3hwxllcrbwvmnmhrwyc"))))
(build-system r-build-system)
(propagated-inputs
`(("r-quadprog" ,r-quadprog)))
("popt" ,popt)))
(native-inputs
`(("pkg-config" ,pkg-config)))
- (home-page "http://www.gnu.org/software/gsegrafix/")
+ (home-page "https://www.gnu.org/software/gsegrafix/")
(synopsis "GNOME application to create scientific and engineering plots")
(description "GSEGrafix is an application which produces high-quality graphical
plots for science and engineering. Plots are specified via simple ASCII
(define-public armadillo
(package
(name "armadillo")
- (version "7.600.2")
+ (version "7.800.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/arma/armadillo-"
version ".tar.xz"))
(sha256
(base32
- "0bac9y46m61zxinj51l82w06v01ra9vw7a9j6rrwdjhznkkdb437"))))
+ "1qqzy7dp891j9v7062mv1599hdwr97vqzrd3j2fl8c3gmc00dmzg"))))
(build-system cmake-build-system)
(arguments `(#:tests? #f)) ;no test target
(inputs
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 "7.600.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/arma/armadillo-"
- version ".tar.xz"))
- (sha256
- (base32
- "1dxgfd2r9lbh24nszvqm2lag439s0srxaf1l86f6ww6waqm5r8zk"))))))
+ (license license:asl2.0)))
(define-public muparser
;; When switching download sites, muparser re-issued a 2.2.5 release with a
,(let ((system (or (%current-target-system) (%current-system))))
(or (string-prefix? "x86_64" system)
(string-prefix? "i686" system)
- (string-prefix? "mips" system)))
+ (string-prefix? "mips" system)
+ (string-prefix? "aarch64" system)))
#:make-flags
(list (string-append "PREFIX=" (assoc-ref %outputs "out"))
"SHELL=bash"
;; for Loongson cores are used.
((string-prefix? "mips" system)
'("TARGET=SICORTEX"))
+ ;; On aarch64 force the generic 'armv8-a' target
+ ((string-prefix? "aarch64" system)
+ '("TARGET=ARMV8"))
(else '()))))
;; no configure script
#:phases (alist-delete 'configure %standard-phases)))
(base32
"022w8hph7bli5zbpnk3z1qh1c2sl5hm8fw2ccim651ynn0hr7fyz"))))
(build-system cmake-build-system)
+ (outputs '("out"
+ "octave")) ;46 MiB .mex file that pulls Octave
(native-inputs
`(("unzip" ,unzip)))
(inputs
;; Save 12 MiB by not installing .a files. Passing
;; '-DBUILD_STATIC_LIBS=OFF' has no effect.
#:phases (modify-phases %standard-phases
+ (add-before 'configure 'set-octave-directory
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Install the .mex file in the "octave" output.
+ (let ((out (assoc-ref outputs "octave")))
+ (substitute* "src/matlab/CMakeLists.txt"
+ (("share/flann/octave")
+ (string-append out "/share/flann/octave")))
+ #t)))
(add-after 'install 'remove-static-libraries
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
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/")
+ (home-page "https://www.gnu.org/software/xaos/")
(license license:gpl2+)))
(define-public hypre
instruction sets. Thus, an application written with Vc can be compiled for:
@enumerate
@item AVX and AVX2
-@item SSE2 upto SSE4.2 or SSE4a
+@item SSE2 up to SSE4.2 or SSE4a
@item Scalar
@item MIC
@item NEON (in development)
(description "GNU JACAL is an interactive symbolic mathematics program based on
Scheme. It manipulate and simplify a range of mathematical expressions such
as equations, scalars, vectors, and matrices.")
- (home-page "http://www.gnu.org/software/jacal")
+ (home-page "https://www.gnu.org/software/jacal/")
(license license:gpl3+)))