;;; Copyright © 2016 Kei Kebreau <kei@openmailbox.org>
;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2016 Thomas Danckaert <post@thomasdanckaert.be>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages python)
#:use-module (gnu packages readline)
#:use-module (gnu packages tbb)
- #:use-module (gnu packages tcsh)
+ #:use-module (gnu packages shells)
#:use-module (gnu packages tcl)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages tex)
(license license:gpl3+)
(home-page "http://www.gnu.org/software/c-graph/")))
+(define-public coda
+ (package
+ (name "coda")
+ (version "2.17.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/stcorp/coda/releases/download/"
+ version "/coda-" version ".tar.gz"))
+ (sha256
+ (base32 "04b9l3wzcix0mnfq77mwnil6cbr8h2mki8myvy0lzn236qcwaq1h"))
+ (patches (search-patches "coda-use-system-libs.patch"))
+ (modules '((guix build utils)))
+ (snippet
+ ;; Make sure we don't use the bundled software.
+ '(for-each (lambda (d)
+ (delete-file-recursively (string-append "libcoda/" d)))
+ '("zlib" "pcre" "expat")))))
+ (native-inputs
+ `(("fortran" ,gfortran)
+ ("python" ,python)
+ ("python-numpy" ,python-numpy)))
+ (inputs
+ `(("zlib" ,zlib)
+ ("pcre" ,pcre)
+ ("expat" ,expat)
+ ("hdf4" ,hdf4-alt)
+ ("hdf5" ,hdf5)))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("--with-hdf4" "--with-hdf5" "--enable-python"
+ "LIBS= -lz -lpcre -lexpat")))
+ (synopsis "A common interface to various earth observation data formats")
+ (description
+ "The Common Data Access toolbox (CODA) provides a set of interfaces for
+reading remote sensing data from earth observation data files. It consists of
+command line applications and interfaces to the C, Fortran, Python, and Java
+programming languages.")
+ (home-page "https://stcorp.nl/coda")
+ (license license:gpl2+)))
+
(define-public units
(package
(name "units")
- (version "2.12")
+ (version "2.13")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/units/units-" version
".tar.gz"))
(sha256 (base32
- "1jxvjknz2jhq773jrwx9gc1df3gfy73yqmkjkygqxzpi318yls3q"))))
+ "1awhjw9zjlfb8s5g3yyx63f7ddfcr1sanlbxpqifmrgq24ql198b"))))
(build-system gnu-build-system)
(synopsis "Conversion between thousands of scales")
(description
(define-public gsl
(package
(name "gsl")
- (version "2.1")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnu/gsl/gsl-"
- version ".tar.gz"))
- (sha256
- (base32
- "0rhcia9jhr3p1f1wybwyllwqfs9bggz99i3mi5lpyqcpff1hdbar"))))
+ (version "2.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/gsl/gsl-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1yxdzqjwmi2aid650fa9zyr8llw069x7lm489wx9nnfdi6vh09an"))
+ (patches (search-patches "gsl-test-i686.patch"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-tests? #f))
"See LICENSE in the distribution."))))
(define-public gnuplot
- ;; Gnuplot version 5.0.4 was updated in-place, resulting in a hash mismatch.
- ;; This can be removed at the next version update.
- (let ((upstream-version "5.0.4")
- (guix-revision "1"))
- (package
- (name "gnuplot")
- (version (string-append upstream-version "-" guix-revision))
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/gnuplot/gnuplot/"
- upstream-version "/gnuplot-"
- upstream-version ".tar.gz"))
- (sha256
- (base32
- "07n3w12dkcxjnhsvsliaqnkhajhi818v6q8mkpmpbplbf92vh70m"))))
- (build-system gnu-build-system)
- (inputs `(("readline" ,readline)
- ("cairo" ,cairo)
- ("pango" ,pango)
- ("gd" ,gd)))
- (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
+ (package
+ (name "gnuplot")
+ (version "5.0.5")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/gnuplot/gnuplot/"
+ version "/gnuplot-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0lr065qdlgss8lmy31l7hkmnk9fp4lvqq9qgb1f1209f36zy1wr5"))))
+ (build-system gnu-build-system)
+ (inputs `(("readline" ,readline)
+ ("cairo" ,cairo)
+ ("pango" ,pango)
+ ("gd" ,gd)))
+ (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
utility. It was originally created to allow scientists and students to
visualize mathematical functions and data interactively, but has grown to
support many non-interactive uses such as web scripting. It is also used as a
plotting engine by third-party applications like Octave.")
- ;; 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")))))
+ ;; 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"))))
+
+(define-public gctp
+ (package
+ (name "gctp")
+ (version "2.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/OkoSanto/GCTP/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0l9aqnqynh9laicn5dxf3rsb1n14xiks79wbyqccirzmjqd1c1x4"))))
+ (native-inputs
+ `(("fortran" ,gfortran)))
+ (build-system gnu-build-system)
+ (synopsis "General Cartographic Transformation Package (GCTP)")
+ (description
+ "The General Cartographic Transformation Package (GCTP) is a system of
+software routines designed to permit the transformation of coordinate pairs
+from one map projection to another. The GCTP is the standard computer
+software used by the National Mapping Division for map projection
+computations.")
+ (home-page "https://github.com/OkoSanto/GCTP")
+ (license license:public-domain))) ;https://www2.usgs.gov/laws/info_policies.html
+
+(define-public hdf4
+ (package
+ (name "hdf4")
+ (version "4.2.11")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://support.hdfgroup.org/ftp/HDF/releases/HDF"
+ version "/src/hdf-" version ".tar.bz2"))
+ (sha256
+ (base32 "16yr50j845zlfx20skmw3y75ww77akk9gg0affjqkg66ih5r03mv"))
+ (patches (search-patches "hdf4-architectures.patch"
+ "hdf4-reproducibility.patch"
+ "hdf4-shared-fortran.patch"))))
+
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("gfortran" ,gfortran)
+ ("bison" ,bison)
+ ("flex" ,flex)))
+ (inputs
+ `(("zlib" ,zlib)
+ ("libjpeg" ,libjpeg)))
+ (arguments
+ `(#:parallel-tests? #f
+ #:configure-flags '("--enable-shared")
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'patchbuild
+ (lambda _
+ (substitute*
+ '("mfhdf/hdfimport/testutil.sh.in" "hdf/util/testutil.sh.in")
+ (("/bin/rm") "rm")
+ (("/bin/mkdir") "mkdir"))
+ (substitute* (find-files "." "^Makefile\\.in$")
+ (("@HDF_BUILD_XDR_TRUE@XDR_ADD = \
+-R\\$\\(abs_top_builddir\\)/mfhdf/xdr/\\.libs") "")
+ (("@HDF_BUILD_SHARED_TRUE@AM_LDFLAGS = \
+-R\\$\\(abs_top_builddir\\)/mfhdf/libsrc/\\.libs \
+-R\\$\\(abs_top_builddir\\)/hdf/src/\\.libs \\$\\(XDR_ADD\\)") "")))))))
+ (home-page "https://www.hdfgroup.org/products/hdf4/")
+ (synopsis
+ "Library and multi-object file format for storing and managing data")
+ (description "HDF4 is a library and multi-object file format for storing
+and managing data between machines. HDF4 is an older hierarchical data format,
+incompatible with HDF5.")
+ (license
+ (license:non-copyleft
+ "https://www.hdfgroup.org/ftp/HDF/HDF_Current/src/unpacked/COPYING"))))
+
+(define-public hdf4-alt
+ (package
+ (inherit hdf4)
+ (name "hdf4-alt")
+ (arguments
+ (substitute-keyword-arguments (package-arguments hdf4)
+ ((#:configure-flags flags) `(cons* "--disable-netcdf" ,flags))))
+ (synopsis
+ "HDF4 without netCDF API, can be combined with the regular netCDF library")))
(define-public hdf5
(package
(name "hdf5")
- (version "1.8.17")
+ (version "1.8.18")
(source
(origin
(method url-fetch)
- (uri (string-append "http://www.hdfgroup.org/ftp/HDF5/releases/hdf5-"
- version "/src/hdf5-"
- version ".tar.bz2"))
+ (uri (list (string-append "http://www.hdfgroup.org/ftp/HDF5/releases/"
+ "hdf5-" version "/src/hdf5-"
+ version ".tar.bz2")
+ (string-append "https://support.hdfgroup.org/ftp/HDF5/"
+ "current"
+ (apply string-append
+ (take (string-split version #\.) 2))
+ "/src/hdf5-" version ".tar.bz2")))
(sha256
- (base32 "0sj8x0gfs5fb28gipnynb9wpkz113h8wq9sva9mxx66kv27xsdgw"))
+ (base32 "13542vrnl1p35n8vbq0wzk40vddmm33q5nh04j98c7r1yjnxxih1"))
(patches (list (search-patch "hdf5-config-date.patch")))))
(build-system gnu-build-system)
(inputs
`(("zlib" ,zlib)))
(arguments
- `(#:phases
+ `(;; Some of the users, notably Flann, need the C++ interface.
+ #:configure-flags '("--enable-cxx")
+
+ #:phases
(modify-phases %standard-phases
(add-before 'configure 'patch-configure
(lambda _
(license (license:x11-style
"http://www.hdfgroup.org/ftp/HDF5/current/src/unpacked/COPYING"))))
+(define-public hdf-eos2
+ (package
+ (name "hdf-eos2")
+ (version "19.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri "ftp://edhs1.gsfc.nasa.gov\
+/edhs/hdfeos/latest_release/HDF-EOS2.19v1.00.tar.Z")
+ (sha256
+ (base32 "0c9fcz25s292ldap12wxmlrvnyz99z24p63d8fwx51bf8s0s1zrz"))
+ (patches (search-patches "hdf-eos2-remove-gctp.patch"
+ "hdf-eos2-build-shared.patch"
+ "hdf-eos2-fortrantests.patch"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("gfortran" ,gfortran)))
+ (inputs
+ `(("hdf4" ,hdf4-alt) ; assume most HDF-EOS2 users won't use the HDF4 netCDF API
+ ("zlib" ,zlib)
+ ("libjpeg" ,libjpeg)
+ ("gctp" ,gctp)))
+ (arguments
+ `( #:configure-flags '("--enable-install-include" "--enable-shared"
+ "CC=h4cc -Df2cFortran" "LIBS=-lgctp")
+ #:parallel-tests? #f))
+ (home-page "http://hdfeos.org/software/library.php#HDF-EOS2")
+ (synopsis "HDF4-based data format for NASA's Earth Observing System")
+ (description "HDF-EOS2 is a software library built on HDF4 which supports
+the construction of data structures used in NASA's Earth Observing
+System (Grid, Point and Swath).")
+
+ ;; Source files carry a permissive license header.
+ (license (license:non-copyleft home-page))))
+
+(define-public hdf-eos5
+ (package
+ (name "hdf-eos5")
+ (version "1.15")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "ftp://edhs1.gsfc.nasa.gov\
+/edhs/hdfeos5/latest_release/HDF-EOS5." version ".tar.Z"))
+ (sha256
+ (base32
+ "1p83333nzzy8rn5chxlm0hrkjjnhh2w1ji8ac0f9q4xzg838i58i"))
+ (patches (search-patches "hdf-eos5-build-shared.patch"
+ "hdf-eos5-remove-gctp.patch"
+ "hdf-eos5-fix-szip.patch"
+ "hdf-eos5-fortrantests.patch"))))
+ (native-inputs
+ `(("gfortran" ,gfortran)))
+ (build-system gnu-build-system)
+ (inputs
+ `(("hdf5" ,hdf5)
+ ("zlib" ,zlib)
+ ("gctp" ,gctp)))
+ (arguments
+ `(#:configure-flags '("--enable-install-include" "--enable-shared"
+ "CC=h5cc -Df2cFortran" "LIBS=-lgctp")
+ #:parallel-tests? #f))
+ (synopsis "HDF5-based data format for NASA's Earth Observing System")
+ (description
+ "HDF-EOS5 is a software library built on HDF5 to support the construction
+of data structures used in NASA's Earth Observing System (Grid, Point and
+Swath).")
+ (home-page "http://www.hdfeos.org/software/library.php#HDF-EOS5")
+
+ ;; Source files carry a permissive license header.
+ (license (license:non-copyleft home-page))))
+
(define-public hdf5-parallel-openmpi
(package (inherit hdf5)
(name "hdf5-parallel-openmpi")
(define-public netcdf
(package
(name "netcdf")
- (version "4.4.0")
+ (version "4.4.1.1")
(source
(origin
(method url-fetch)
"netcdf-" version ".tar.gz"))
(sha256
(base32
- "0y6gdcplarwqqnrav2xg1xd6ih732rzzbmdw78v3rl5b8mwcnh0d"))
- (patches (list (search-patch "netcdf-config-date.patch")))))
+ "1blc7ik5yin7i0ls2kag0a9xjk12m0dzx6v1x88az3ras3scci2d"))
+ (patches (search-patches "netcdf-date-time.patch"
+ "netcdf-tst_h_par.patch"))))
(build-system gnu-build-system)
(native-inputs
`(("m4" ,m4)
("doxygen" ,doxygen)
("graphviz" ,graphviz)))
(inputs
- `(("hdf5" ,hdf5)
- ("zlib" ,zlib)))
+ `(("hdf4" ,hdf4-alt)
+ ("hdf5" ,hdf5)
+ ("zlib" ,zlib)
+ ("libjpeg" ,libjpeg)))
(arguments
- `(#:configure-flags '("--enable-doxygen" "--enable-dot")
+ `(#:configure-flags '("--enable-doxygen" "--enable-dot" "--enable-hdf4")
#:parallel-tests? #f)) ;various race conditions
(home-page "http://www.unidata.ucar.edu/software/netcdf/")
(synopsis "Library for scientific data")
(define-public octave
(package
(name "octave")
- (version "4.0.2")
+ (version "4.2.0")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/octave/octave-"
- version ".tar.gz"))
+ version ".tar.lz"))
(sha256
(base32
- "1hdxap3j88rpqjimnfhinym6z73wdi5dfa6fv85c13r1dk9qzk9r"))))
+ "19vvliwxgip0af812vny5xy5r8kacyj7v62203mh4z2n3p14b78i"))))
(build-system gnu-build-system)
(inputs
`(("lapack" ,lapack)
("fftw" ,fftw)
("fftwf" ,fftwf)
("arpack" ,arpack-ng)
- ("curl" ,curl)
("pcre" ,pcre)
- ("cyrus-sasl" ,cyrus-sasl)
("fltk" ,fltk)
("fontconfig" ,fontconfig)
("freetype" ,freetype)
("libxft" ,libxft)
("mesa" ,mesa)
("glu" ,glu)
- ("openssl" ,openssl)
("zlib" ,zlib)))
(native-inputs
- `(("gfortran" ,gfortran)
+ `(("lzip" ,lzip)
+ ("gfortran" ,gfortran)
("pkg-config" ,pkg-config)
("perl" ,perl)
;; The following inputs are not actually used in the build process.
(list (string-append "--with-shell="
(assoc-ref %build-inputs "bash")
"/bin/sh"))))
- (home-page "http://www.gnu.org/software/octave/")
+ (home-page "https://www.gnu.org/software/octave/")
(synopsis "High-level language for numerical computation")
(description "GNU Octave is a high-level interpreted language that is
specialized for numerical computations. It can be used for both linear and
(define-public gmsh
(package
(name "gmsh")
- (version "2.11.0")
+ (version "2.15.0")
(source
(origin
(method url-fetch)
- (uri (string-append "http://www.geuz.org/gmsh/src/gmsh-"
+ (uri (string-append "http://gmsh.info/src/gmsh-"
version "-source.tgz"))
(sha256
- (base32 "1ilplibvjgf7a905grpnclrvkmqy9fgrpl7xyp3w4yl1qc682v9b"))
+ (base32 "02h7fk4vv8qwnq3ymm409c5sp4nksd0m9h2vkxqmy42l0ic4nalr"))
(modules '((guix build utils)))
(snippet
;; Remove non-free METIS code
(define-public mumps
(package
(name "mumps")
- (version "5.0.1")
+ (version "5.0.2")
(source
(origin
(method url-fetch)
version ".tar.gz"))
(sha256
(base32
- "1820jfp3mbl7n85765v5mp6p0gzqpgr4d2lrnhwj4gl7cwp5ndah"))
+ "0igyc1pfzxdhpbad3v3lb86ixkdbqa1a8gbs15b04r2294h2nabp"))
(patches (search-patches "mumps-build-parallelism.patch"))))
(build-system gnu-build-system)
(inputs
,@%gnu-build-system-modules)
#:phases
(modify-phases %standard-phases
- (replace
- 'configure
+ (replace 'configure
(lambda* (#:key inputs #:allow-other-keys)
(call-with-output-file "Makefile.inc"
(lambda (port)
`((,ptscotch
"-lptesmumps -lptscotch -lptscotcherr "
"-Dptscotch")))))))))
- (replace
- 'build
+ (replace 'build
;; By default only the d-precision library is built. Make with "all"
;; target so that all precision libraries and examples are built.
(lambda _
(zero? (system* "make" "all"
(format #f "-j~a" (parallel-job-count))))))
- (replace
- 'check
+ (replace 'check
;; Run the simple test drivers, which read test input from stdin:
;; from the "real" input for the single- and double-precision
;; testers, and from the "cmplx" input for complex-precision
(zero? (close-pipe tester)))))
'("s" "d" "c" "z")
'("real" "real" "cmplx" "cmplx")))))
- (replace
- 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (copy-recursively "lib" (string-append out "/lib"))
- (copy-recursively "include" (string-append out "/include"))
- (when (file-exists? "libseq/libmpiseq.a")
- (copy-file "libseq/libmpiseq.a"
- (string-append out "/lib/libmpiseq.a")))))))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (libdir (string-append out "/lib")))
+ (copy-recursively "lib" libdir)
+ (copy-recursively "include" (string-append out "/include"))
+ (when (file-exists? "libseq/libmpiseq.a")
+ (install-file "libseq/libmpiseq.a" libdir))
+ #t))))))
(home-page "http://mumps.enseeiht.fr")
(synopsis "Multifrontal sparse direct solver")
(description
(inputs
(alist-delete "pt-scotch" (package-inputs mumps-openmpi)))))
+(define-public r-quadprog
+ (package
+ (name "r-quadprog")
+ (version "1.5-5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "quadprog" version))
+ (sha256
+ (base32
+ "0jg3r6abmhp8r9vkbhpx9ldjfw6vyl1m4c5vwlyjhk1mi03656fr"))))
+ (build-system r-build-system)
+ (native-inputs
+ `(("gfortran" ,gfortran)))
+ (home-page "http://cran.r-project.org/web/packages/quadprog")
+ (synopsis "Functions to solve quadratic programming problems")
+ (description
+ "This package contains routines and documentation for solving quadratic
+programming problems.")
+ (license license:gpl3+)))
+
(define-public r-pracma
(package
(name "r-pracma")
- (version "1.8.8")
+ (version "1.9.5")
(source (origin
(method url-fetch)
(uri (cran-uri "pracma" version))
(sha256
- (base32 "0ans9l5rrb7a38gyi4qx4258sd5r5668vyrk02yzjpg9k3h8l165"))))
+ (base32 "19nr2jlkbcdgvw3gx5hry12av565lmvqd5q4h7zlch3q13avwwl2"))))
(build-system r-build-system)
+ (propagated-inputs
+ `(("r-quadprog" ,r-quadprog)))
(home-page "http://cran.r-project.org/web/packages/pracma")
(synopsis "Practical numerical math functions")
(description "This package provides functions for numerical analysis and
(define-public maxima
(package
(name "maxima")
- (version "5.36.1")
+ (version "5.39.0")
(source
(origin
(method url-fetch)
version "-source/" name "-" version ".tar.gz"))
(sha256
(base32
- "0x1rk659sn3cq0n5c90848ilzr1gb1wf0072fl6jhkdq00qgh2s0"))
+ "1cvignn5y6qzrby6qb885yc8zdcdqdr1d50vcvc3gapw2f0gk3zm"))
(patches (search-patches "maxima-defsystem-mkdir.patch"))))
(build-system gnu-build-system)
(inputs
("tk" ,tk))) ;Tcl/Tk is used by 'xmaxima'
(native-inputs
`(("texinfo" ,texinfo)
- ("perl" ,perl)))
+ ("perl" ,perl)
+ ("python" ,python)))
(arguments
`(#:configure-flags
(list "--enable-gcl"
(define-public wxmaxima
(package
(name "wxmaxima")
- (version "16.04.2")
+ (version "16.12.0")
(source
(origin
(method url-fetch)
version "/" name "-" version ".tar.gz"))
(sha256
(base32
- "1fpqzk1921isiqrpgpf433ldq41924qs9sy99fl1zn5661b2l73n"))))
+ "01kas9viqabw5id6crbhz8ahjimmv78gqzizs5hgnj9kngrgrm1h"))))
(build-system gnu-build-system)
(inputs
`(("wxwidgets" ,wxwidgets)
(define-public armadillo
(package
(name "armadillo")
- (version "6.700.7")
+ (version "7.500.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/arma/armadillo-"
- version ".tar.gz"))
+ version ".tar.xz"))
(sha256
(base32
- "0xbidcxrvbq33xf7iysg2nic2ai9a043psl33kiv6ifkk7p8hcra"))))
+ "1x98d32cgxbzbbma2ak6c37wnbpq13xxyxyd6jjvflv748mzi9ks"))))
(build-system cmake-build-system)
(arguments `(#:tests? #f)) ;no test target
(inputs
(define-public armadillo-for-rcpparmadillo
(package (inherit armadillo)
- (version "6.700.6")
+ (version "7.500.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/arma/armadillo-"
- version ".tar.gz"))
+ version ".tar.xz"))
(sha256
(base32
- "1cdpjxb0fz5f28y5qrqgpw53s7qi8s2v3al9lfdldqxngb21vpx8"))))))
+ "1x98d32cgxbzbbma2ak6c37wnbpq13xxyxyd6jjvflv748mzi9ks"))))))
(define-public muparser
;; When switching download sites, muparser re-issued a 2.2.5 release with a
(define-public openblas
(package
(name "openblas")
- (version "0.2.15")
+ (version "0.2.19")
(source
(origin
(method url-fetch)
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1k5f6vjlk54qlplk5m7xkbaw6g2y7dl50lwwdv6xsbcsgsbxfcpy"))))
+ "071zqnmnxhh0c9phzyn3f198yxa0hjxda7016azdbq2056sm70w7"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;no "check" target
have a good libm for the Julia programming language that worked consistently
across compilers and operating systems, and in 32-bit and 64-bit
environments.")
+ ;; Each architecture has its own make target, and there is none for mips.
+ (supported-systems (delete "mips64el-linux" %supported-systems))
;; See LICENSE.md for details.
(license (list license:expat
license:isc
(define-public atlas
(package
(name "atlas")
- (version "3.10.2")
+ (version "3.10.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/math-atlas/Stable/"
version "/atlas" version ".tar.bz2"))
(sha256
(base32
- "0bqh4bdnjdyww4mcpg6kn0x7338mfqbdgysn97dzrwwb26di7ars"))))
+ "1dyjlq3fiparvm8ypwk6rsmjzmnwk81l88gkishphpvc79ryp216"))))
(build-system gnu-build-system)
(home-page "http://math-atlas.sourceforge.net/")
(inputs `(("gfortran" ,gfortran)
,(string-append "--with-netlib-lapack-tarfile="
(assoc-ref %build-inputs "lapack-tar")))
#:phases
- (alist-cons-after
- 'install 'install-doc
- (lambda* (#:key outputs inputs #:allow-other-keys)
- (let ((doc (string-append (assoc-ref outputs "doc")
- "/share/doc/atlas")))
- (mkdir-p doc)
- (fold (lambda (file previous)
- (and previous (zero? (system* "cp" file doc))))
- #t (find-files "../ATLAS/doc" ".*"))))
- (alist-cons-after
- 'check 'check-pt
- (lambda _ (zero? (system* "make" "ptcheck")))
- ;; Fix files required to run configure.
- (alist-cons-before
- 'configure 'fix-/bin/sh
+ (modify-phases %standard-phases
+ (add-after 'install 'install-doc
+ (lambda* (#:key outputs inputs #:allow-other-keys)
+ (let ((doc (string-append (assoc-ref outputs "doc")
+ "/share/doc/atlas")))
+ (mkdir-p doc)
+ (fold (lambda (file previous)
+ (and previous (zero? (system* "cp" file doc))))
+ #t (find-files "../ATLAS/doc" ".*")))))
+ (add-after 'check 'check-pt
+ (lambda _ (zero? (system* "make" "ptcheck"))))
+ ;; Fix files required to run configure.
+ (add-before 'configure 'fix-/bin/sh
(lambda _
;; Use `sh', not `/bin/sh'.
(substitute* (find-files "." "Makefile|configure|SpewMakeInc\\.c")
(("/bin/sh")
- "sh")))
- ;; Fix /bin/sh in generated make files.
- (alist-cons-after
- 'configure 'fix-/bin/sh-in-generated-files
- (lambda _
- (substitute* (find-files "." "^[Mm]ake\\.inc.*")
- (("/bin/sh")
- "sh")))
- ;; ATLAS configure program does not accepts the default flags
- ;; passed by the 'gnu-build-system'.
- (alist-replace
- 'configure
- (lambda* (#:key native-inputs inputs outputs
- (configure-flags '())
- #:allow-other-keys #:rest args)
- (let* ((prefix (assoc-ref outputs "out"))
- (bash (or (and=> (assoc-ref
- (or native-inputs inputs) "bash")
- (cut string-append <> "/bin/bash"))
- "/bin/sh"))
- (flags `(,(string-append "--prefix=" prefix)
- ,@configure-flags))
- (abs-srcdir (getcwd))
- (srcdir (string-append "../" (basename abs-srcdir))))
- (format #t "source directory: ~s (relative from build: ~s)~%"
- abs-srcdir srcdir)
- (mkdir "../build")
- (chdir "../build")
- (format #t "build directory: ~s~%" (getcwd))
- (format #t "configure flags: ~s~%" flags)
- (zero? (apply system* bash
- (string-append srcdir "/configure")
- flags))))
- %standard-phases)))))))
+ "sh"))))
+ ;; Fix /bin/sh in generated make files.
+ (add-after 'configure 'fix-/bin/sh-in-generated-files
+ (lambda _
+ (substitute* (find-files "." "^[Mm]ake\\.inc.*")
+ (("/bin/sh")
+ "sh"))))
+ ;; ATLAS configure program does not accepts the default flags
+ ;; passed by the 'gnu-build-system'.
+ (replace 'configure
+ (lambda* (#:key native-inputs inputs outputs
+ (configure-flags '())
+ #:allow-other-keys #:rest args)
+ (let* ((prefix (assoc-ref outputs "out"))
+ (bash (or (and=> (assoc-ref
+ (or native-inputs inputs) "bash")
+ (cut string-append <> "/bin/bash"))
+ "/bin/sh"))
+ (flags `(,(string-append "--prefix=" prefix)
+ ,@configure-flags))
+ (abs-srcdir (getcwd))
+ (srcdir (string-append "../" (basename abs-srcdir))))
+ (format #t "source directory: ~s (relative from build: ~s)~%"
+ abs-srcdir srcdir)
+ (mkdir "../build")
+ (chdir "../build")
+ (format #t "build directory: ~s~%" (getcwd))
+ (format #t "configure flags: ~s~%" flags)
+ (zero? (apply system* bash
+ (string-append srcdir "/configure")
+ flags))))))))
(synopsis "Automatically Tuned Linear Algebra Software")
(description
"ATLAS is an automatically tuned linear algebra software library
(define-public dealii
(package
(name "dealii")
- (version "8.2.1")
+ (version "8.4.1")
(source
(origin
(method url-fetch)
"download/v" version "/dealii-" version ".tar.gz"))
(sha256
(base32
- "185jych0gdnpkjwxni7pd0dda149492zwq2457xdjg76bzj78mnp"))
- (patches (search-patches "dealii-p4est-interface.patch"))
+ "1bdksvvyp1rj37df1ndh8j3x9nzpc3sazw8nd0hzvnlw0qnyk800"))
(modules '((guix build utils)))
(snippet
;; Remove bundled sources: UMFPACK, TBB, muParser, and boost
(base32
"15cd1cx1dyygw6g2nhjqq3bsfdj8sj8m4va9n75i0f3ryww3x7wq"))))
(build-system gnu-build-system)
- (native-inputs `(("gettext" ,gnu-gettext)))
+ (native-inputs `(("gettext" ,gettext-minimal)))
(inputs `(("libx11" ,libx11)
("zlib" ,zlib)
("libpng" ,libpng)
;; Custom install because docs/Makefile doesn't honor ${docdir}.
(let* ((doc (assoc-ref outputs "doc"))
(docdir (string-append doc "/share/doc/hypre-" ,version)))
- (mkdir-p docdir)
(with-directory-excursion "docs"
(for-each (lambda (base)
(install-file (string-append base ".pdf") docdir)
when using the Gilbert curve as a space filling curve through a
high-dimensional space where not all demensions have the same cardinality.")
(license license:lgpl2.1+)))
+
+(define-public vc
+ (package
+ (name "vc")
+ (version "1.2.0")
+ (source
+ (origin (method url-fetch)
+ (uri (string-append "https://github.com/VcDevel/Vc/releases/"
+ "download/" version "/Vc-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1rh6dhqar3y07n4xqyml0sa0v48qv3ch9dc3yc2in855hlh4vnqi"))))
+ (build-system cmake-build-system)
+ (arguments
+ '(#:configure-flags
+ '("-DBUILD_TESTING=ON")))
+ (synopsis "SIMD vector classes for C++")
+ (description "Vc provides portable, zero-overhead C++ types for explicitly
+data-parallel programming. It is a library designed to ease explicit
+vectorization of C++ code. Its types enable explicitly stating data-parallel
+operations on multiple values. The parallelism is therefore added via the type
+system. Vc has an intuitive API and provides portability between different
+compilers and compiler versions as well as portability between different vector
+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 Scalar
+@item MIC
+@item NEON (in development)
+@item NVIDIA GPUs / CUDA (in development)
+@end enumerate\n")
+ (home-page "https://github.com/VcDevel/Vc")
+ (license license:bsd-3)))