summaryrefslogtreecommitdiff
path: root/gnu/packages/maths.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/maths.scm')
-rw-r--r--gnu/packages/maths.scm123
1 files changed, 87 insertions, 36 deletions
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 1821b2b1c7..45d699e39c 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -8,7 +8,7 @@
;;; 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 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 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>
@@ -227,15 +227,15 @@ programming languages.")
(define-public qhull
(package
(name "qhull")
- (version "2015.2")
+ (version "2019.1")
(source (origin
(method url-fetch)
(uri (string-append "http://www.qhull.org/download/qhull-"
(car (string-split version #\.))
- "-src-7.2.0.tgz"))
+ "-src-7.3.2.tgz"))
(sha256
(base32
- "0dm4b2xr3asy6w74khq2zg4gf26zsy3qf9sq7pf7lmrvbj911c3q"))))
+ "1ys3vh3qq0v9lh452xb932vp63advds1pxk42lk7cc1niiar0y9b"))))
(build-system cmake-build-system)
(synopsis "Calculate convex hulls and related structures")
(description
@@ -472,8 +472,9 @@ precision floating point numbers.")
(arguments
(let ((system (%current-system)))
(cond
- ((string-prefix? "aarch64" system)
- ;; Some sparse matrix tests are failing on AArch64:
+ ((or (string-prefix? "aarch64" system)
+ (string-prefix? "powerpc" system))
+ ;; Some sparse matrix tests are failing on AArch64 and PowerPC:
;; https://lists.gnu.org/archive/html/bug-gsl/2020-04/msg00001.html
'(#:phases (modify-phases %standard-phases
(add-before 'check 'disable-failing-tests
@@ -919,7 +920,17 @@ computations.")
(("(/gnu/store/)([a-Z0-9]*)" all prefix hash)
(string-append prefix (string-take hash 10) "...")))
#t))
- )))
+ (add-after 'install 'provide-absolute-libjpeg-reference
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (libjpeg (assoc-ref inputs "libjpeg")))
+ ;; libjpeg-turbo does not provide a .la file, so libtool is
+ ;; unable to add an absolute reference for -ljpeg in the .la
+ ;; files. Fix it manually to avoid having to propagate it.
+ (substitute* (find-files (string-append out "/lib") "\\.la$")
+ (("-ljpeg")
+ (string-append "-L" libjpeg "/lib -ljpeg")))
+ #t))))))
(home-page "https://www.hdfgroup.org/products/hdf4/")
(synopsis
"Library and multi-object file format for storing and managing data")
@@ -1556,7 +1567,7 @@ online as well as original implementations of various other algorithms.")
(source (origin
(method url-fetch)
(uri (string-append
- "http://www.coin-or.org/download/source/Ipopt/Ipopt-"
+ "https://www.coin-or.org/download/source/Ipopt/Ipopt-"
version".tgz"))
(sha256
(base32
@@ -1590,7 +1601,7 @@ online as well as original implementations of various other algorithms.")
(inputs
;; TODO: Maybe add dependency on COIN-MUMPS, ASL, and HSL.
`(("lapack" ,lapack))) ;for both libblas and liblapack
- (home-page "http://www.coin-or.org")
+ (home-page "https://www.coin-or.org")
(synopsis "Large-scale nonlinear optimizer")
(description
"The Interior Point Optimizer (IPOPT) is a software package for
@@ -1601,14 +1612,14 @@ interfaces.")
(define-public clp
(package
(name "clp")
- (version "1.17.1")
+ (version "1.17.6")
(source (origin
(method url-fetch)
(uri (string-append "https://www.coin-or.org/download/source/"
"Clp/Clp-" version ".tgz"))
(sha256
(base32
- "1wdg820g3iikf9344ijwsc8sy6c0m6im42bzzizm6rlmkvnmxhk9"))
+ "0ap1f0lxppa6pnbc4bg7ih7a96avwaki482nig8w5fr3vg9wvkzr"))
(modules '((guix build utils)))
(snippet
;; Make sure we don't use the bundled software.
@@ -3182,7 +3193,7 @@ point numbers.")
(define-public wxmaxima
(package
(name "wxmaxima")
- (version "20.03.1")
+ (version "20.04.0")
(source
(origin
(method git-fetch)
@@ -3191,7 +3202,7 @@ point numbers.")
(commit (string-append "Version-" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "09ciip0wkahps5jdsqqr72bwjrd15bacw38zp23v3hm71xfk8hky"))))
+ (base32 "0vrjxzfgmjdzm1rgl0crz4b4badl14jwh032y3xkcdvjl5j67lp3"))))
(build-system cmake-build-system)
(native-inputs
`(("gettext" ,gettext-minimal)
@@ -4035,30 +4046,69 @@ evaluates expressions using the standard order of operations.")
(define-public xaos
(package
(name "xaos")
- (version "3.6")
+ (version "4.0")
(source (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/xaos/XaoS/" version
- "/xaos-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/xaos-project/XaoS")
+ (commit (string-append "release-" version))))
(sha256
(base32
- "15cd1cx1dyygw6g2nhjqq3bsfdj8sj8m4va9n75i0f3ryww3x7wq"))))
+ "00110p5xscjsmn7avfqgydn656zbmdj3l3y2fpv9b4ihzpid8n7a"))))
(build-system gnu-build-system)
- (native-inputs `(("gettext" ,gettext-minimal)))
+ (native-inputs `(("gettext" ,gettext-minimal)
+ ("qtbase" ,qtbase)
+ ("qttools" ,qttools)))
(inputs `(("libx11" ,libx11)
("zlib" ,zlib)
("libpng" ,libpng)
("gsl" ,gsl)))
+ ;; The upstream project file ("XaoS.pro") and the Makefile it generates are
+ ;; not enough for this package to install properly. These phases fix that.
(arguments
`(#:tests? #f ;no "check" target
- #:make-flags '("LOCALEDIR=$DATAROOTDIR/locale")))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'make-qt-deterministic
+ (lambda _
+ ;; Make Qt deterministic.
+ (setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1")
+ #t))
+ (replace 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ ;; The DESTDIR is originally set to install the xaos binary to
+ ;; the "bin" folder inside the build directory. Setting make
+ ;; flags doesn't seem to change this.
+ (substitute* "XaoS.pro"
+ (("DESTDIR.*$")
+ (string-append "DESTDIR=" out "/bin")))
+ (substitute* "src/include/config.h"
+ (("/usr/share/XaoS")
+ (string-append out "/share/XaoS")))
+ (invoke "qmake"))))
+ (add-after 'install 'install-data
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (share (string-append out "/share")))
+ (mkdir-p share)
+ (for-each
+ (lambda (folder)
+ (copy-recursively folder
+ (string-append share "/XaoS/" folder)))
+ '("catalogs" "examples" "tutorial"))
+ (install-file "xdg/xaos.png"
+ (string-append share "/pixmaps"))
+ (install-file "xdg/xaos.desktop"
+ (string-append share "/applications")))
+ #t)))))
(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 "https://www.gnu.org/software/xaos/")
+ (home-page "https://xaos-project.github.io/")
(license license:gpl2+)))
(define-public hypre
@@ -5348,20 +5398,20 @@ management via the GIMPS project's Primenet server.")
(define-public nauty
(package
(name "nauty")
- (version "2.6r12")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "https://pallini.di.uniroma1.it/"
- "nauty" (string-join (string-split version #\.) "")
- ".tar.gz"))
- (sha256
- (base32
- "1p4mxf8q5wm47nxyskxbqwa5p1vvkycv1zgswvnk9nsn6vff0al6"))))
+ (version "2.7r1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://pallini.di.uniroma1.it/"
+ "nauty" (string-join (string-split version #\.) "") ".tar.gz"))
+ (sha256
+ (base32 "0xsfqfcknbd6g6wzpa5l7crmmk3bf3zjh37rhylq6b20dqcmvjkn"))))
(build-system gnu-build-system)
(outputs '("out" "lib"))
(arguments
`(#:test-target "checks"
+ #:configure-flags '("--enable-generic") ;prevent -march-native
#:phases
(modify-phases %standard-phases
;; Default make target does not build all available
@@ -5381,15 +5431,16 @@ management via the GIMPS project's Primenet server.")
(include (string-append lib-output "/include/nauty"))
(lib (string-append lib-output "/lib/nauty")))
(for-each (lambda (f) (install-file f bin))
- '("dreadnaut" "NRswitchg" "addedgeg" "amtog" "biplabg"
- "blisstog" "bliss2dre" "catg" "checks6" "complg"
- "converseg" "copyg" "countg" "cubhamg" "deledgeg"
- "delptg" "directg" "dretodot" "dretog" "genbg"
+ '("addedgeg" "amtog" "assembleg" "biplabg" "blisstog"
+ "bliss2dre" "catg" "checks6" "complg" "converseg"
+ "copyg" "countg" "cubhamg" "deledgeg" "delptg"
+ "directg" "dreadnaut" "dretodot" "dretog" "genbg"
"genbgL" "geng" "genquarticg" "genrang" "genspecialg"
"gentourng" "gentreeg" "hamheuristic" "labelg"
"linegraphg" "listg" "multig" "newedgeg" "pickg"
"planarg" "ranlabg" "shortg" "showg" "subdivideg"
- "sumlines" "twohamg" "vcolg" "watercluster2"))
+ "sumlines" "twohamg" "underlyingg" "vcolg"
+ "watercluster2" "NRswitchg"))
(for-each (lambda (f) (install-file f include))
(find-files "." "\\.h$"))
(for-each (lambda (f) (install-file f lib))