;;; Copyright © 2013, 2014, 2015, 2016, 2019, 2020 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014, 2016, 2017 John Darrington <jmd@gnu.org>
-;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Eric Bavier <bavier@posteo.net>
+;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Eric Bavier <bavier@posteo.net>
;;; Copyright © 2014 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2014 Mathieu Lirzin <mathieu.lirzin@openmailbox.org>
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2015, 2018 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015 Fabian Harfert <fhmgufs@web.de>
;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
;;; Copyright © 2016, 2018, 2020 Kei Kebreau <kkebreau@posteo.net>
-;;; Copyright © 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017, 2018, 2019, 2020 Paul Garlick <pgarlick@tourbillion-technology.com>
;;; Copyright © 2018 Eric Brown <brown@fastmail.com>
;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2018 Amin Bandali <bandali@gnu.org>
-;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2019, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2019 Steve Sprang <scs@stevesprang.com>
;;; Copyright © 2019 Robert Smith <robertsmith@posteo.net>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
-;;; Copyright © 2020 Felix Gruber <felgru@posteo.net>
+;;; Copyright © 2020, 2021 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2020 R Veera Kumar <vkor@vkten.in>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz>
;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com>
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
+;;; Copyright © 2020 Simon Tournier <zimon.toutoune@gmail.com>
+;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net>
+;;; Copyright © 2021 Gerd Heber <gerd.heber@gmail.com>
+;;; Copyright © 2021 Franck Pérignon <franck.perignon@univ-grenoble-alpes.fr>
+;;; Copyright © 2021 Philip McGrath <philip@philipmcgrath.com>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages less)
#:use-module (gnu packages lisp)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages llvm)
#:use-module (gnu packages logging)
#:use-module (gnu packages lua)
#:use-module (gnu packages gnome)
(define-public units
(package
(name "units")
- (version "2.19")
+ (version "2.21")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/units/units-" version
".tar.gz"))
(sha256 (base32
- "0mk562g7dnidjgfgvkxxpvlba66fh1ykmfd9ylzvcln1vxmi6qj2"))))
+ "1bybhqs4yrly9myb5maz3kdmf8k4fhk2m1d5cbcryn40z6lq0gkc"))))
(build-system gnu-build-system)
(inputs
`(("readline" ,readline)
(define-public sleef
(package
(name "sleef")
- (version "3.4.1")
+ (version "3.5.1")
(source
(origin
(method git-fetch)
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1gvf7cfvszmgjrsqivwmyy1jnp3hy80dmszxx827lhjz8yqq5019"))))
+ (base32 "1jybqrl2dvjxzg30xrhh847s375n2jr1pix644wi6hb5wh5mx3f7"))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags (list "-DCMAKE_BUILD_TYPE=Release"
(define-public glpk
(package
(name "glpk")
- (version "4.65")
+ (version "5.0")
(source
(origin
(method url-fetch)
version ".tar.gz"))
(sha256
(base32
- "040sfaa9jclg2nqdh83w71sv9rc1sznpnfiripjdyr48cady50a2"))))
+ "05bgxidxj8d9xdp82niy7cy36w181cxq7p8vc3y2ixshpgp1642a"))))
(build-system gnu-build-system)
(inputs
`(("gmp" ,gmp)))
(arguments
- `(#:configure-flags '("--with-gmp")))
+ `(#:configure-flags '("--with-gmp"
+ "--disable-static")))
(home-page "https://www.gnu.org/software/glpk/")
(synopsis "GNU Linear Programming Kit, supporting the MathProg language")
(description
LP/MIP solver is included in the package.")
(license license:gpl3+)))
+(define-public glpk-4
+ (package
+ (inherit glpk)
+ (name "glpk")
+ (version "4.65")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/glpk/glpk-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "040sfaa9jclg2nqdh83w71sv9rc1sznpnfiripjdyr48cady50a2"))))))
+
(define-public 4ti2
(package
(name "4ti2")
(define-public gnuplot
(package
(name "gnuplot")
- (version "5.2.7")
+ (version "5.4.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/gnuplot/gnuplot/"
version "/gnuplot-"
version ".tar.gz"))
(sha256
- (base32 "1vglp4la40f5dpj0zdj63zprrkyjgzy068p35bz5dqxjyczm1zlp"))))
+ (base32 "03jrqs5lvxmbbz2c4g17dn2hrxqwd3hfadk9q8wbkbkyas2h8sbb"))))
(build-system gnu-build-system)
(inputs `(("readline" ,readline)
("cairo" ,cairo)
("texlive" ,texlive-tiny)))
(arguments `(#:configure-flags (list (string-append
"--with-texdir=" %output
- "/texmf-local/tex/latex/gnuplot"))))
+ "/texmf-local/tex/latex/gnuplot"))
+ ;; Plot on a dumb terminal during tests.
+ #:make-flags '("GNUTERM=dumb")))
(home-page "http://www.gnuplot.info")
(synopsis "Command-line driven graphing utility")
(description "Gnuplot is a portable command-line driven graphing
(define-public hdf5-1.8
(package
(name "hdf5")
- (version "1.8.21")
+ (version "1.8.22")
(source
(origin
(method url-fetch)
(string-append major minor)))
"/src/hdf5-" version ".tar.bz2")))
(sha256
- (base32 "03glk4w4wyb1jyb443g53y3y1ncnf6mj2cqwm6avfr2awkgb3cg5"))
- (patches (search-patches "hdf5-config-date.patch"
- "hdf5-1.8-mpi-deprecations.patch"))))
+ (base32 "194ki2s5jrgl4czkvy5nc9nwjyapah0fj72l0gb0aysplp38i6v8"))
+ (patches (search-patches "hdf5-config-date.patch"))))
(build-system gnu-build-system)
(inputs
`(("zlib" ,zlib)))
(base32 "0pm5xxry55i0h7wmvc7svzdaa90rnk7h78rrjmnlkz2ygsn8y082"))
(patches (search-patches "hdf5-config-date.patch"))))))
+(define-public hdf5-1.12
+ (package/inherit hdf5-1.8
+ (version "1.12.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (list (string-append "https://support.hdfgroup.org/ftp/HDF5/releases/"
+ "hdf5-" (version-major+minor version)
+ "/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 "0qazfslkqbmzg495jafpvqp0khws3jkxa0z7rph9qvhacil6544p"))
+ (patches (search-patches "hdf5-config-date.patch"))))))
+
(define-public hdf5
;; Default version of HDF5.
- hdf5-1.8)
+ hdf5-1.10)
(define-public hdf-java
(package
("slf4j-simple" ,java-slf4j-simple)))
(inputs
`(("hdf4" ,hdf4)
- ("hdf5" ,hdf5)
+ ("hdf5" ,hdf5-1.8)
("zlib" ,zlib)
("libjpeg" ,libjpeg-turbo)
("slf4j-api" ,java-slf4j-api)))
`(("gfortran" ,gfortran)))
(build-system gnu-build-system)
(inputs
- `(("hdf5" ,hdf5)
+ `(("hdf5" ,hdf5-1.8)
("zlib" ,zlib)
("gctp" ,gctp)))
(arguments
(base32
"1gm76jbwhz9adbxgn14zx8cj33dmjdr2g5xcy0m9c2gakp8w59kj"))))
(build-system gnu-build-system)
- (inputs `(("hdf5" ,hdf5))) ;h5cc for tests
+ (inputs `(("hdf5" ,hdf5-1.8))) ;h5cc for tests
(home-page "https://www.hdfgroup.org/products/hdf5_tools/h5check.html")
(synopsis "HDF5 format checker")
(description "@code{h5check} is a validation tool for verifying that an
(define-public netcdf
(package
(name "netcdf")
- (version "4.4.1.1")
+ (version "4.7.4")
(source
(origin
(method url-fetch)
- (uri (string-append "ftp://ftp.unidata.ucar.edu/pub/netcdf/"
- "netcdf-" version ".tar.gz"))
+ (uri (string-append
+ "https://www.unidata.ucar.edu/downloads/netcdf/ftp/"
+ "netcdf-c-" version ".tar.gz"))
(sha256
(base32
- "1blc7ik5yin7i0ls2kag0a9xjk12m0dzx6v1x88az3ras3scci2d"))
- (patches (search-patches "netcdf-date-time.patch"
- "netcdf-tst_h_par.patch"))))
+ "1a2fpp15a2rl1m50gcvvzd9y6bavl6vjf9zzf63sz5gdmq06yiqf"))
+ (patches (search-patches "netcdf-date-time.patch"))))
(build-system gnu-build-system)
(native-inputs
`(("m4" ,m4)
(inputs
`(("hdf4" ,hdf4-alt)
("hdf5" ,hdf5)
+ ("curl" ,curl)
("zlib" ,zlib)
("libjpeg" ,libjpeg-turbo)))
(arguments
(define-public netcdf-fortran
(package
(name "netcdf-fortran")
- (version "4.4.4")
+ (version "4.5.3")
(source (origin
(method url-fetch)
(uri (string-append
version ".tar.gz"))
(sha256
(base32
- "0xaxdcg1p83zmypwml3swsnr3ccn38inwldyr1l3wa4dbwbrblxj"))))
+ "0x4acvfhbsx1q79dkkwrwbgfhm0w5ngnp4zj5kk92s1khihmqfhj"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-tests? #f))
(define-public octave-cli
(package
(name "octave-cli")
- (version "5.2.0")
+ (version "6.2.0")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/octave/octave-"
- version ".tar.lz"))
+ version ".tar.xz"))
(sha256
(base32
- "1848dq6nxzal8gwjrcp6xhi5gq96w89nss9d9rz75q408gb3mbl6"))))
+ "06id09zspya24gshcwgp039cp35c06150mdlxysawgnbrhj16wkv"))))
(build-system gnu-build-system)
(inputs
`(("alsa-lib" ,alsa-lib)
("texinfo" ,texinfo)
("zlib" ,zlib)))
(native-inputs
- `(("lzip" ,lzip)
- ("gfortran" ,gfortran)
+ `(("gfortran" ,gfortran)
("pkg-config" ,pkg-config)
("perl" ,perl)
;; The following inputs are not actually used in the build process.
(define-public gmsh
(package
(name "gmsh")
- (version "2.16.0")
+ (version "4.6.0")
(source
(origin
(method git-fetch)
version)))))
(file-name (git-file-name name version))
(sha256
- (base32 "08rq4jajwmlpivnm9yifz2jhaivnz065lnk0h2zv773nwl9wf162"))
+ (base32 "0m0pjxcy1bnr7a20i11lh0ih159pphq9wsvfjr3sfx4y3lginz5y"))
(modules '((guix build utils)))
(snippet
- ;; Remove non-free METIS code
'(begin
- (delete-file-recursively "contrib/Metis")
+ (delete-file-recursively "contrib/metis")
#t))))
(build-system cmake-build-system)
(propagated-inputs
("lapack" ,lapack)
("mesa" ,mesa)
("glu" ,glu)
- ("opencascade-oce" ,opencascade-oce)
+ ("metis" ,metis)
+ ("opencascade-occt" ,opencascade-occt)
("libx11" ,libx11)
("libxext" ,libxext)))
(inputs
`(("fontconfig" ,fontconfig)
("libxft" ,libxft)))
(arguments
- `(#:configure-flags `("-DENABLE_METIS:BOOL=OFF"
+ `(#:configure-flags `("-DENABLE_SYSTEM_CONTRIB:BOOL=ON"
"-DENABLE_BUILD_SHARED:BOOL=ON"
"-DENABLE_BUILD_DYNAMIC:BOOL=ON")))
(home-page "http://gmsh.info/")
(define-public veusz
(package
(name "veusz")
- (version "3.2.1")
+ (version "3.3.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "veusz" version))
(sha256
- (base32 "00vmfpvyd6f33l5awlf02qdik3gmbhzyfizfwwbx7qnam2i9bbwy"))))
+ (base32 "1q7hi1qwwg4pgiz62isvv1pia85m13bspdpp1q3mrnwl11in0ag0"))))
(build-system python-build-system)
(arguments
`(;; Tests will fail because they depend on optional packages like
(native-inputs
`(("pkg-config" ,pkg-config)
;;("python-astropy" ,python-astropy) ;; FIXME: Package this.
- ("qttools" ,qttools)))
+ ("qttools" ,qttools)
+ ("python-sip" ,python-sip-4)))
(inputs
`(("ghostscript" ,ghostscript) ;optional, for EPS/PS output
("python-dbus" ,python-dbus)
(uri (pypi-uri "petsc4py" version))
(sha256
(base32
- "1rm1qj5wlkhxl39by9n78lh3gbmii31wsnb8j1rr5hvfr5xgbx2q"))))
+ "1rm1qj5wlkhxl39by9n78lh3gbmii31wsnb8j1rr5hvfr5xgbx2q"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Ensure source file is regenerated in the build phase.
+ (delete-file "src/petsc4py.PETSc.c")
+ ;; Remove legacy GC code. See
+ ;; https://bitbucket.org/petsc/petsc4py/issues/125.
+ (substitute* "src/PETSc/cyclicgc.pxi"
+ ((".*gc_refs.*") "" )
+ ((".*PyGC_Head.*") ""))
+ #t))))
(build-system python-build-system)
(arguments
`(#:phases
#t))
(add-before 'check 'mpi-setup
,%openmpi-setup))))
+ (native-inputs
+ `(("python-cython" ,python-cython)))
(inputs
`(("petsc" ,petsc-openmpi)
("python-numpy" ,python-numpy)))
"test.log" "error.log" "RDict.db"
"uninstall.py"))
#t))))))
- (home-page "http://slepc.upv.es")
+ (home-page "https://slepc.upv.es")
(synopsis "Scalable library for eigenproblems")
(description "SLEPc is a software library for the solution of large sparse
eigenproblems on parallel computers. It can be used for the solution of
(define-public metamath
(package
(name "metamath")
- (version "0.192")
+ (version "0.193")
(source
(origin
(method git-fetch)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1k31zw36h2b0w5r6sbn9qc0v4hj42vw53qlhf5l7q2h3p5qlzvic"))))
+ (base32 "1s9hyknfvhj86g3giayyf3dxzg23iij0rs7bdvj075v9qbyhqn9b"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
(define-public superlu
(package
(name "superlu")
- (version "5.2.1")
+ (version "5.2.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://portal.nersc.gov/project/sparse/superlu/"
"superlu_" version ".tar.gz"))
(sha256
- (base32 "0qzlb7cd608q62kyppd0a8c65l03vrwqql6gsm465rky23b6dyr8"))
+ (base32 "13520vk6fqspyl22cq4ak2jh3rlmhja4czq56j75fdx65fkk80s7"))
(modules '((guix build utils)))
(snippet
;; Replace the non-free implementation of MC64 with a stub adapted
(define-public superlu-dist
(package
(name "superlu-dist")
- (version "6.2.0")
+ (version "6.4.0")
(source
(origin
- (method url-fetch)
- (uri (string-append "https://portal.nersc.gov/project/sparse/superlu/"
- "superlu_dist_" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/xiaoyeli/superlu_dist")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32 "1ynmwqajc9sc3my2hssa5k9s58ggvizqv9rdss0j7w99pbh5mnvw"))
+ (base32 "0fa29yr72p4yq5ln4rgfsawmi5935n4qcr5niz6864bjladz4lql"))
(modules '((guix build utils)))
(snippet
;; Replace the non-free implementation of MC64 with a stub
'(begin
+ (make-file-writable "SRC/mc64ad_dist.c")
(call-with-output-file "SRC/mc64ad_dist.c"
(lambda (port)
(display "
(define-public scotch
(package
(name "scotch")
- (version "6.0.6")
+ (version "6.1.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://gforge.inria.fr/frs/download.php/"
"latestfile/298/scotch_" version ".tar.gz"))
(sha256
- (base32 "1ky4k9r6jvajhqaqnnx6h8fkmds2yxgp70dpr1qzwcyhi2nhqvv8"))
+ (base32 "1184fcv4wa2df8szb5lan6pjh0raarr45pk8ilpvbz23naikzg53"))
(patches (search-patches "scotch-build-parallelism.patch"
"scotch-integer-declarations.patch"))))
(build-system gnu-build-system)
"COMMON_PTHREAD"
"COMMON_RANDOM_FIXED_SEED"
"INTSIZE64" ;use 'int64_t'
- ;; Prevents symbolc clashes with libesmumps
+ ;; Prevents symbol clashes with libesmumps
"SCOTCH_RENAME"
;; XXX: Causes invalid frees in superlu-dist tests
;; "SCOTCH_PTHREAD"
(synopsis
"Programs and libraries for graph algorithms (32-bit integers)")))
+(define-public scotch-shared
+ (package (inherit scotch)
+ (name "scotch-shared")
+ (native-inputs
+ `(("gcc" ,gcc)
+ ("flex" ,flex)
+ ("bison" ,bison)))
+ (arguments
+ (substitute-keyword-arguments (package-arguments scotch)
+ ((#:phases scotch-shared-phases)
+ `(modify-phases ,scotch-shared-phases
+ (replace
+ 'configure
+ (lambda _
+ ;; Otherwise, the RUNPATH will lack the final path component.
+ (setenv "RPATHFLAGS" (string-append "-Wl,-rpath="
+ (assoc-ref %outputs "out") "/lib"))
+ (call-with-output-file "Makefile.inc"
+ (lambda (port)
+ (format port "
+EXE =
+LIB = .so
+OBJ = .o
+MAKE = make
+AR = gcc
+ARFLAGS = -shared -o
+CAT = cat
+CCS = gcc
+CCP = mpicc
+CCD = gcc
+CPPFLAGS =~{ -D~a~}
+CFLAGS = -O2 -g -fPIC $(CPPFLAGS) $(RPATHFLAGS)
+CLIBFLAGS = -shared -fPIC
+LDFLAGS = -lz -lm -lrt -lpthread -Xlinker --no-as-needed
+CP = cp
+LEX = flex -Pscotchyy -olex.yy.c
+LN = ln
+MKDIR = mkdir
+MV = mv
+RANLIB = echo
+YACC = bison -pscotchyy -y -b y
+"
+ '("COMMON_FILE_COMPRESS_GZ"
+ "COMMON_PTHREAD"
+ "COMMON_RANDOM_FIXED_SEED"
+ "INTSIZE64" ;use 'int64_t'
+ ;; Prevents symbolc clashes with libesmumps
+ "SCOTCH_RENAME"
+ ;; XXX: Causes invalid frees in superlu-dist tests
+ ;; "SCOTCH_PTHREAD"
+ ;; "SCOTCH_PTHREAD_NUMBER=2"
+ "restrict=__restrict"
+ ))))#t))
+ (delete 'check)))))
+ (synopsis
+ "Programs and libraries for graph algorithms (shared libraries version)")))
+
(define-public pt-scotch
(package (inherit scotch)
(name "pt-scotch")
(synopsis
"Programs and libraries for graph algorithms (with MPI and 32-bit integers)")))
+(define-public pt-scotch-shared
+ (package (inherit scotch-shared)
+ (name "pt-scotch-shared")
+ (propagated-inputs
+ `(("openmpi" ,openmpi))) ;Headers include MPI headers
+ (arguments
+ (substitute-keyword-arguments (package-arguments scotch-shared)
+ ((#:phases scotch-shared-phases)
+ `(modify-phases ,scotch-shared-phases
+ (replace
+ 'build
+ (lambda _
+ (invoke "make" (format #f "-j~a" (parallel-job-count))
+ "ptscotch" "ptesmumps")
+
+ ;; Install the serial metis compatibility library
+ (invoke "make" "-C" "libscotchmetis" "install")))
+ (add-before 'check 'mpi-setup
+ ,%openmpi-setup)))))
+ (synopsis "Graph algorithms (shared libraries version, with MPI)")))
+
+
(define-public metis
(package
(name "metis")
(sha256
(base32
"1cjxgh41r8k6j029yxs8msp3z6lcnpm16g5pvckk35kc7zhfpykn"))))
+ (properties
+ `((release-monitoring-url
+ . "http://glaros.dtc.umn.edu/gkhome/metis/metis/download")))
(build-system cmake-build-system)
(inputs
`(("blas" ,openblas)))
(define-public wxmaxima
(package
(name "wxmaxima")
- (version "20.06.6")
+ (version "21.02.0")
(source
(origin
(method git-fetch)
(commit (string-append "Version-" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "054f7n5kx75ng5j20rd5q27n9xxk03mrd7sbxyym1lsswzimqh4w"))))
+ (base32 "19sab596ydwz65151bwymnfilyfmr8qcxb0k8cxlnj1gmdldlyz6"))))
(build-system cmake-build-system)
(native-inputs
- `(("gettext" ,gettext-minimal)
- ("xorg-server" ,xorg-server-for-tests)))
- ;; TODO: Add libomp for multithreading support.
- ;; As of right now, enabling libomp causes the imageCells.wxm test to fail.
+ `(("gettext" ,gettext-minimal)))
(inputs
`(("wxwidgets" ,wxwidgets)
("maxima" ,maxima)
("gtk+" ,gtk+)
("shared-mime-info" ,shared-mime-info)))
(arguments
- `(#:test-target "test"
+ `(#:tests? #f ; tests fail non-deterministically
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-doc-path
(substitute* "src/Dirstructure.cpp"
(("/doc/wxmaxima-\\%s") "/doc/wxmaxima"))
#t))
- (add-before 'check 'pre-check
- (lambda _
- ;; Tests require a running X server.
- (system "Xvfb :1 &")
- (setenv "DISPLAY" ":1")
- (setenv "HOME" (getcwd))
- #t))
(add-after 'install 'wrap-program
(lambda* (#:key inputs outputs #:allow-other-keys)
(wrap-program (string-append (assoc-ref outputs "out")
(synopsis "Optimized BLAS library based on GotoBLAS (ILP64 version)")
(license license:bsd-3)))
-(define* (make-blis implementation #:optional substitutable?)
- "Return a BLIS package with the given IMPLEMENTATION (see config/ in the
-source tree for a list of implementations.)
-
-SUBSTITUTABLE? determines whether the package is made available as a
-substitute.
-
-Currently the specialization must be selected at configure-time, but work is
-underway to allow BLIS to select the right optimized kernels at run time:
-<https://github.com/flame/blis/issues/129>."
+(define-public blis
(package
- (name (if (string=? implementation "reference")
- "blis"
- (string-append "blis-" implementation)))
- (version "0.2.2")
+ (name "blis")
+ (version "0.8.1")
(home-page "https://github.com/flame/blis")
(source (origin
(method git-fetch)
(uri (git-reference (url home-page) (commit version)))
(sha256
(base32
- "1wr79a50nm4abhw8w3sn96nmwp5mrzifcigk7khw9qcgyyyqayfh"))
+ "05ifil6jj9424sr8kmircl8k4bmxnl3y12a79vwj1kxxva5gz50g"))
(file-name (git-file-name "blis" version))))
+ (native-inputs
+ `(("python" ,python)
+ ("perl" ,perl)))
(build-system gnu-build-system)
(arguments
- `(#:test-target "test"
-
- #:substitutable? ,substitutable?
-
- #:phases (modify-phases %standard-phases
- (replace 'configure
- (lambda* (#:key outputs #:allow-other-keys)
- ;; This is a home-made 'configure' script.
- (let ((out (assoc-ref outputs "out")))
- (invoke "./configure" "-p" out
- "-d" "opt"
- "--disable-static"
- "--enable-shared"
- "--enable-threading=openmp"
-
- ,implementation))))
- (add-before 'check 'show-test-output
- (lambda _
- ;; By default "make check" is silent. Make it verbose.
- (system "tail -F output.testsuite &")
- #t)))))
+ `(#:modules
+ ((guix build gnu-build-system)
+ (guix build utils)
+ (srfi srfi-1))
+ #:test-target "test"
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'configure
+ (lambda* (#:key outputs
+ target
+ system
+ (configure-flags '())
+ #:allow-other-keys)
+ ;; This is a home-made 'configure' script.
+ (let* ((out (assoc-ref outputs "out"))
+ ;; Guix-specific support for choosing the configuration
+ ;; via #:configure-flags: see below for details.
+ (config-flag-prefix "--blis-config=")
+ (maybe-config-flag (find
+ (lambda (s)
+ (string-prefix? config-flag-prefix s))
+ configure-flags))
+ (configure-flags (if maybe-config-flag
+ (delete maybe-config-flag
+ configure-flags)
+ configure-flags))
+ ;; Select the "configuration" to build.
+ ;; The "generic" configuration is non-optimized but
+ ;; portable (no assembly).
+ ;; The "x86_64" configuration family includes
+ ;; sub-configurations for all supported
+ ;; x86_64 microarchitectures.
+ ;; BLIS currently lacks runtime hardware detection
+ ;; for other architectures: see
+ ;; <https://github.com/flame/blis/commit/c534da6>.
+ ;; Conservatively, we stick to "generic" on armhf,
+ ;; aarch64, and ppc64le for now. (But perhaps
+ ;; "power9", "cortexa9", and "cortexa57" might be
+ ;; general enough to use?)
+ ;; Another approach would be to use the "auto"
+ ;; configuration and make this package
+ ;; non-substitutable.
+ ;; The build is fairly intensive, though.
+ (blis-config
+ (cond
+ (maybe-config-flag
+ (substring maybe-config-flag
+ (string-length config-flag-prefix)))
+ ((string-prefix? "x86_64" (or target system))
+ "x86_64")
+ (else
+ "generic")))
+ (configure-args
+ `("-p" ,out
+ "-d" "opt"
+ "--disable-static"
+ "--enable-shared"
+ "--enable-threading=openmp"
+ "--enable-verbose-make"
+ ,@configure-flags
+ ,blis-config)))
+ (format #t "configure args: ~s~%" configure-args)
+ (apply invoke
+ "./configure"
+ configure-args)
+ #t)))
+ (add-before 'check 'show-test-output
+ (lambda _
+ ;; By default "make check" is silent. Make it verbose.
+ (system "tail -F output.testsuite &")
+ #t)))))
(synopsis "High-performance basic linear algebra (BLAS) routines")
(description
"BLIS is a portable software framework for instantiating high-performance
access to BLIS implementations via traditional BLAS routine calls.")
(license license:bsd-3)))
-(define-public blis
- ;; This is the "reference" implementation, which is the non-optimized but
- ;; portable variant (no assembly).
- (make-blis "reference" #t))
+(define-public blis-sandybridge (deprecated-package "blis-sandybridge" blis))
+(define-public blis-haswell (deprecated-package "blis-haswell" blis))
+(define-public blis-knl (deprecated-package "blis-knl" blis))
(define ignorance blis)
-(define-syntax-rule (blis/x86_64 processor)
- "Expand to a package specialized for PROCESSOR."
- (package
- (inherit (make-blis processor))
- (supported-systems '("x86_64-linux"))))
-
-(define-public blis-sandybridge
- ;; BLIS specialized for Sandy Bridge processors (launched 2011):
- ;; <http://ark.intel.com/products/codename/29900/Sandy-Bridge>.
- (blis/x86_64 "sandybridge"))
-
-(define-public blis-haswell
- ;; BLIS specialized for Haswell processors (launched 2013):
- ;; <http://ark.intel.com/products/codename/42174/Haswell>.
- (blis/x86_64 "haswell"))
-
-(define-public blis-knl
- ;; BLIS specialized for Knights Landing processor (launched 2016):
- ;; <http://ark.intel.com/products/series/92650/Intel-Xeon-Phi-x200-Product-Family>.
- (blis/x86_64 "knl"))
-
-
(define-public openlibm
(package
(name "openlibm")
(define-public suitesparse
(package
(name "suitesparse")
- (version "5.8.1")
+ (version "5.9.0")
(source
(origin
(method git-fetch)
(file-name (git-file-name name version))
(sha256
(base32
- "0qjlyfxs8s48rs63c2fzspisgq1kk4bwkgnhmh125hgkdhrq2w1c"))
+ "1zhkix58afw92s7p291prljdm3yi0pjg1kbi3lczdb8rb14jkz5n"))
(patches (search-patches "suitesparse-mongoose-cmake.patch"))
(modules '((guix build utils)))
(snippet
#t))))
(build-system gnu-build-system)
(arguments
- '(#:tests? #f ;no "check" target
+ `(#:tests? #f ;no "check" target
#:make-flags
- (list "CC=gcc"
+ (list (string-append "CC=" ,(cc-for-target))
"TBB=-ltbb"
"MY_METIS_LIB=-lmetis"
;; Flags for cmake (required to build GraphBLAS and Mongoose)
" -DCMAKE_C_FLAGS_RELEASE=\"$(CFLAGS) $(CPPFLAGS)\""
" -DCMAKE_CXX_FLAGS_RELEASE=\"$(CXXFLAGS) $(CPPFLAGS)\""
" -DCMAKE_SKIP_RPATH=TRUE"
- " -DCMAKE_BUILD_TYPE=Release")
+ " -DCMAKE_BUILD_TYPE=Release"
+ " -DCMAKE_INSTALL_LIBDIR=lib")
(string-append "INSTALL_LIB="
(assoc-ref %outputs "out") "/lib")
(string-append "INSTALL_INCLUDE="
(define-public dealii
(package
(name "dealii")
- (version "9.1.1")
+ (version "9.2.0")
(source
(origin
(method url-fetch)
"download/v" version "/dealii-" version ".tar.gz"))
(sha256
(base32
- "0xhjv0gzswpjbc43xbrpwfc5848g508l01855nszx3g5gwzlhnzw"))
+ "0fm4xzrnb7dfn4415j24d8v3jkh0lssi86250x2f5wgi83xq4nnh"))
(modules '((guix build utils)))
(snippet
;; Remove bundled sources: UMFPACK, TBB, muParser, and boost
(define-public matio
(package
(name "matio")
- (version "1.5.6")
+ (version "1.5.19")
(source
(origin
(method url-fetch)
"matio-" version ".tar.gz"))
(sha256
(base32
- "0y2qymgxank8wdiwc68ap8bxdzrhvyw86i29yh3xgn4z1njfd9ir"))))
+ "0vr8c1mz1k6mz0sgh6n3scl5c3a71iqmy5fnydrgq504icj4vym4"))))
(build-system gnu-build-system)
(inputs
`(("zlib" ,zlib)
- ("hdf5" ,hdf5)))
+ ("hdf5" ,hdf5-1.8)))
(home-page "http://matio.sourceforge.net/")
(synopsis "Library for reading and writing MAT files")
(description "Matio is a library for reading and writing MAT files. It
(define-public z3
(package
(name "z3")
- (version "4.8.8")
+ (version "4.8.9")
(home-page "https://github.com/Z3Prover/z3")
(source (origin
(method git-fetch)
(file-name (git-file-name name version))
(sha256
(base32
- "1rn538ghqwxq0v8i6578j8mflk6fyv0cp4hjfqynzvinjbps56da"))))
+ "1hnbzq10d23drd7ksm3c1n2611c3kd0q0yxgz8y78zaafwczvwxx"))))
(build-system gnu-build-system)
(arguments
`(#:imported-modules ((guix build python-build-system)
;; Test scripts are generated, patch the shebang
(("#!/bin/bash") (string-append "#!" (which "sh"))))
#t)))))
- (home-page "http://elpa.mpcdf.mpg.de")
+ (home-page "https://elpa.mpcdf.mpg.de")
(synopsis "Eigenvalue solvers for symmetric matrices")
(description
"The ELPA library provides efficient and scalable direct eigensolvers for
(home-page "https://sites.google.com/site/mohammedisam2000/tcalc")
(license license:gpl3+)))
+(define-public tiny-bignum
+ (let ((commit "1d7a1f9b8e77316187a6b3eae8e68d60a6f9a4d4"))
+ (package
+ (name "tiny-bignum")
+ (version (git-version "0" "0" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/kokke/tiny-bignum-c")
+ (commit commit)))
+ (file-name (git-file-name "tiny-bignum" commit))
+ (sha256
+ (base32 "0vj71qlhlaa7d92bfar1kwqv6582dqrby8x3kdw0yzh82k2023g6"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (add-after 'unpack 'patch-tests
+ (lambda _
+ (substitute* "scripts/test_rand.py"
+ (("\t") " ")
+ (("\" % (\\w+)" _ symbol) (string-append "\" % int(" symbol ")")))
+ #t))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "make" "test"))
+ #t))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((share (string-append (assoc-ref outputs "out") "/share"))
+ (doc (string-append (assoc-ref outputs "out") "/doc")))
+ (mkdir-p share)
+ (install-file "bn.c" share)
+ (install-file "bn.h" share)
+ (mkdir-p doc)
+ (install-file "LICENSE" doc)
+ (install-file "README.md" doc))
+ #t)))))
+ (native-inputs
+ `(("python" ,python-wrapper)))
+ (home-page "https://github.com/kokke/tiny-bignum-c")
+ (synopsis "Small portable multiple-precision unsigned integer arithmetic in C")
+ (description
+ "This library provides portable Arbitrary-precision unsigned integer
+arithmetic in C, for calculating with large numbers. Basic arithmetic (+, -,
+*, /, %) and bitwise operations (&, |, ^. <<, >>) plus increments, decrements
+and comparisons are supported.")
+ (license license:unlicense))))
+
(define-public sundials
(package
(name "sundials")