diff options
Diffstat (limited to 'gnu/packages/maths.scm')
-rw-r--r-- | gnu/packages/maths.scm | 123 |
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)) |