;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Andreas Enge <andreas@enge.fr>
-;;; Copyright © 2013, 2015, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2016, 2017, 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2013, 2015, 2017, 2018, 2021 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2014, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2020 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017, 2019 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
+;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
+;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
+;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
+;;; Copyright © 2021 Lars-Dominik Braun <ldb@leibniz-psychology.org>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages maths)
#:use-module (gnu packages mpi)
#:use-module (gnu packages multiprecision)
+ #:use-module (gnu packages ocaml)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
#:use-module (guix build-system python)
+ #:use-module (guix build-system r)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix hg-download)
(define-public mpfrcx
(package
(name "mpfrcx")
- (version "0.5")
+ (version "0.6")
(source (origin
(method url-fetch)
(uri (string-append
version ".tar.gz"))
(sha256
(base32
- "1s968480ymv6w0rnvfp9mxvx98hvi29fkvw8nk4ggzc6azxgwybs"))))
+ "0gz5rma9al2jrifpknqkcnd9dkf8l05jcxy3s4ghwhd4y3h5dwia"))))
(build-system gnu-build-system)
(propagated-inputs
`(("gmp" ,gmp)
(define-public cm
(package
(name "cm")
- (version "0.3")
+ (version "0.3.1")
(source (origin
(method url-fetch)
(uri (string-append
- "http://www.multiprecision.org/cm/download/cm-"
+ "http://www.multiprecision.org/downloads/cm-"
version ".tar.gz"))
(sha256
(base32
- "1nf5kr0nqmhbzrsrinky18z0ighjpsmb5cr8zyg8jf04bfbyrfmc"))))
+ "0qq6b1kwb1byj8ws33ya5awq0ilkpm32037pi1l4cf2737fg9m42"))))
(build-system gnu-build-system)
(propagated-inputs
`(("mpfrcx" ,mpfrcx)
(define-public fplll
(package
(name "fplll")
- (version "5.2.1")
+ (version "5.3.3")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/fplll/fplll.git")
+ (url "https://github.com/fplll/fplll")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
- "015qmrd7nfaysbv1hbwiprz9g6hnww1y1z1xw8f43ysb7k1b5nbg"))))
+ "06nyfidagp8pc2kfcw88ldgb2b1xm0a8z31n0sln7j72ihlmd8zj"))
+ (patches (search-patches "fplll-std-fenv.patch"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
- ("libtool" ,libtool)))
- (inputs
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)))
+ (propagated-inputs ; header files pulled in by fplll/defs.h
`(("gmp" ,gmp)
("mpfr" ,mpfr)))
(home-page "https://github.com/fplll/fplll")
(define-public python-fpylll
(package
(name "python-fpylll")
- (version "0.4.1")
+ (version "0.5.2")
(source
(origin
;; Pypi contains and older release, so we use a tagged release from
;; Github instead.
(method git-fetch)
(uri (git-reference
- (url "https://github.com/fplll/fpylll.git")
+ (url "https://github.com/fplll/fpylll")
(commit (string-append version "dev"))))
(file-name (git-file-name name version))
(sha256
(base32
- "01x2sqdv0sbjj4g4waj0hj4rcn4bq7h17442xaqwbznym9azmn9w"))))
+ "1a25iibihph626jl4wbs4b77xc4a2c4nfc2ypscf9wpani3dnhjf"))))
(build-system python-build-system)
(inputs
`(("fplll" ,fplll)
(define-public pari-gp
(package
(name "pari-gp")
- (version "2.11.2")
+ (version "2.13.1")
(source (origin
(method url-fetch)
(uri (string-append
version ".tar.gz"))
(sha256
(base32
- "0fck8ssmirl8fy7s4mspgrxjs5sag76xbshqlqzkcl3kqyrk4raa"))))
+ "1cgwdpw8b797883z9y92ixxjkv72kiy65zsw2qqf5and1kbzgv41"))))
(build-system gnu-build-system)
(native-inputs
`(("texlive" ,(texlive-union
(define-public gp2c
(package
(name "gp2c")
- (version "0.0.11pl2")
+ (version "0.0.12")
(source (origin
(method url-fetch)
(uri (string-append
version ".tar.gz"))
(sha256
(base32
- "0wqsf05wgkqvmmsx7jinvzdqav6rl56sr8haibgs31nzz4x9xz9g"))))
+ "039ip7qkwwv46wrcdrz7y12m30kazzkjr44kqbc0h137g4wzd7zf"))))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl)))
(inputs `(("pari-gp" ,pari-gp)))
(license license:gpl2)
(home-page "https://pari.math.u-bordeaux.fr/")))
-(define fplll-4-cmh
- (package
- (inherit fplll)
- (name "fplll")
- (version "4.0.4")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "http://perso.ens-lyon.fr/damien.stehle/fplll/libfplll-"
- version ".tar.gz"))
- (sha256
- (base32 "1cbiby7ykis4z84swclpysrljmqhfcllpkcbll1m08rzskgb1a6b"))))))
-
(define-public cmh
(package
(name "cmh")
- (version "1.0")
+ (version "1.1.0")
(source (origin
(method url-fetch)
- (uri (string-append
- "https://gforge.inria.fr/frs/download.php/33497/cmh-"
- version ".tar.gz"))
+ ;; Git repo at <https://gitlab.inria.fr/cmh/cmh>.
+ (uri (string-append "http://www.multiprecision.org/downloads/cmh-"
+ version ".tar.gz"))
(sha256
(base32
- "1a28xr9bs0igms0ik99x0w8lnb0jyfcmvyi26pbyh9ggcdivd33p"))))
+ "1ws2yhzxmm2l5xqqqcjcimmg40f9qq5l9i6d4i5434an9v9s8531"))))
(build-system gnu-build-system)
(inputs
`(("gmp" ,gmp)
("mpfr" ,mpfr)
("mpc" ,mpc)
("mpfrcx" ,mpfrcx)
- ("fplll" ,fplll-4-cmh)
+ ("fplll" ,fplll)
("pari-gp" ,pari-gp)))
(synopsis "Igusa class polynomial computations")
(description
It can also be used to compute theta constants at arbitrary
precision.")
(license license:gpl3+)
- (home-page "http://cmh.gforge.inria.fr/")))
+ (home-page "http://www.multiprecision.org/cmh/home.html")))
(define-public giac
(package
(name "giac")
- (version "1.5.0-87")
+ (version "1.7.0-1")
(source
(origin
(method url-fetch)
"~parisse/debian/dists/stable/main/source/"
"giac_" version ".tar.gz"))
(sha256
- (base32 "1d0h1yb7qvh9x7wwv9yrzmcp712f49w1iljkxp4y6g9pzsmg1mmv"))))
+ (base32 "0s926aza2larfz02hrhdlpxn77yjlrhjg844b3fhwz11yj942p9q"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((ice-9 ftw)
(add-after 'unpack 'patch-bin-cp
;; Some Makefiles contain hard-coded "/bin/cp".
(lambda _
- (substitute* (find-files "doc" "^Makefile")
+ (substitute* (cons "micropython-1.12/xcas/Makefile"
+ (find-files "doc" "^Makefile"))
(("/bin/cp") (which "cp")))
#t))
(add-after 'unpack 'disable-failing-test
(delete-file (string-append out "/bin/xcasnew"))
#t))))))
(inputs
- ;;; TODO: Add libnauty.
+ ;; TODO: Add libnauty, unbundle "libmicropython.a".
`(("fltk" ,fltk)
- ("glpk" ,glpk)
+ ("glpk" ,glpk-4)
("gmp" ,gmp)
("gsl" ,gsl)
("lapack" ,lapack)
(native-inputs
`(("bison" ,bison)
("flex" ,flex)
+ ("hevea" ,hevea)
+ ("python" ,python-wrapper)
("readline" ,readline)
("texlive" ,texlive-tiny)))
(home-page "https://www-fourier.ujf-grenoble.fr/~parisse/giac.html")
or text interfaces) or as a C++ library.")
(license license:gpl3+)))
-(define-public giac-xcas
- (deprecated-package "giac-xcas" giac))
-
(define-public flint
(package
(name "flint")
- (version "2.5.2")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "http://flintlib.org/flint-"
- version ".tar.gz"))
- (sha256 (base32
- "11syazv1a8rrnac3wj3hnyhhflpqcmq02q8pqk2m6g2k6h0gxwfb"))
- (patches (search-patches "flint-ldconfig.patch"))))
+ (version "2.6.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://flintlib.org/flint-" version ".tar.gz"))
+ (sha256
+ (base32 "1qrf6hzbbmg7mhkhbb0bab8z2xpdnba5cj4kmmf72lzs0457a6nf"))))
(build-system gnu-build-system)
+ (inputs
+ `(("ntl" ,ntl)))
(propagated-inputs
`(("gmp" ,gmp)
("mpfr" ,mpfr))) ; header files from both are included by flint/arith.h
(arguments
- `(#:parallel-tests? #f ; seems to be necessary on arm
+ `(#:parallel-tests? #f ; seems to be necessary on arm
#:phases
(modify-phases %standard-phases
+ (add-before 'configure 'newer-c++
+ (lambda _
+ (substitute* "configure"
+ (("-ansi") ""))
+ #t))
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(gmp (assoc-ref inputs "gmp"))
- (mpfr (assoc-ref inputs "mpfr")))
- ;; do not pass "--enable-fast-install", which makes the
- ;; homebrew configure process fail
+ (mpfr (assoc-ref inputs "mpfr"))
+ (ntl (assoc-ref inputs "ntl")))
+ ;; Do not pass "--enable-fast-install", which makes the
+ ;; homebrew configure process fail.
(invoke "./configure"
(string-append "--prefix=" out)
(string-append "--with-gmp=" gmp)
- (string-append "--with-mpfr=" mpfr))
+ (string-append "--with-mpfr=" mpfr)
+ (string-append "--with-ntl=" ntl))
#t))))))
(synopsis "Fast library for number theory")
(description
GCDs, factoring, solving linear systems, and evaluating special
functions. In addition, FLINT provides various low-level routines for
fast arithmetic.")
- (license license:gpl2+)
+ (license license:lgpl2.1+)
(home-page "http://flintlib.org/")))
(define-public arb
(package
(name "arb")
- (version "2.17.0")
+ (version "2.18.1")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/fredrik-johansson/arb.git")
+ (url "https://github.com/fredrik-johansson/arb")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
- "05lpy3hkl5f8ik19aw40cqydrb932xaf2n8hbq9ib5dnk7f010p1"))))
+ "15fx3dcbzgwddw9p1nysmx0dbh058afv5m8cj5pdjkcmcl7kw7z9"))))
(build-system gnu-build-system)
(propagated-inputs
`(("flint" ,flint))) ; flint.h is included by arf.h
(string-append "--with-flint=" flint)
(string-append "--with-gmp=" gmp)
(string-append "--with-mpfr=" mpfr))))))))
+ (home-page "https://arblib.org")
(synopsis "Arbitrary precision floating-point ball arithmetic")
(description
"Arb is a C library for arbitrary-precision floating-point ball
arithmetic. It supports efficient high-precision computation with
polynomials, power series, matrices and special functions over the
real and complex numbers, with automatic, rigorous error control.")
- (license license:lgpl2.1+)
- (home-page "http://arblib.org")))
+ (license license:lgpl2.1+)))
(define-public python-flint
(package
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/fredrik-johansson/python-flint.git")
+ (url "https://github.com/fredrik-johansson/python-flint")
(commit version)))
(file-name (git-file-name name version))
(sha256
real and complex ball arithmetic, polynomials and matrices over all
these types and other mathematical functions.")
(license license:expat)
- (home-page "http://fredrikj.net/python-flint/")))
+ (home-page "https://fredrikj.net/python-flint/")))
(define-public ntl
(package
(name "ntl")
- (version "9.7.0")
+ (version "11.4.4")
(source (origin
(method url-fetch)
- (uri (string-append "http://shoup.net/ntl/ntl-"
+ (uri (string-append "https://shoup.net/ntl/ntl-"
version ".tar.gz"))
- (sha256 (base32
- "115frp5flyvw9wghz4zph1b3llmr5nbxk1skgsggckr81fh3gmxq"))))
+ (sha256
+ (base32
+ "1nr1h27j2gdz6badzz9lk2pknxhdijqdxqhd3haryh0sw616wzwx"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (delete-file-recursively "src/libtool-origin")
+ #t))))
(build-system gnu-build-system)
(native-inputs
`(("libtool" ,libtool)
("perl" ,perl))) ; for configuration
- ;; FIXME: Add optional input gf2x once available; then also add
- ;; configure flag "NTL_GF2X_LIB=on".
(inputs
- `(("gmp" ,gmp)))
+ `(("gmp" ,gmp)
+ ("gf2x" ,gf2x)))
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'configure
- (lambda* (#:key outputs #:allow-other-keys)
+ (lambda* (#:key inputs outputs #:allow-other-keys)
(chdir "src")
- (system* "./configure"
+ (invoke "./configure"
(string-append "PREFIX=" (assoc-ref outputs "out"))
+ (string-append "LIBTOOL=" (assoc-ref inputs "libtool") "/bin/libtool")
+ ;; set the library prefixes explicitly so that they get
+ ;; embedded in the .la file
+ (string-append "GMP_PREFIX=" (assoc-ref inputs "gmp"))
+ (string-append "GF2X_PREFIX=" (assoc-ref inputs "gf2x"))
;; Do not build especially for the build machine.
"NATIVE=off"
- ;; Also do not tune to the build machine.
- "WIZARD=off"
- "SHARED=on")
- #t)))))
+ "NTL_GF2X_LIB=on"
+ "SHARED=on"))))))
(synopsis "C++ library for number theory")
(description
"NTL is a C++ library providing data structures and algorithms
for manipulating signed, arbitrary length integers, and for vectors,
matrices, and polynomials over the integers and over finite fields.")
(license license:gpl2+)
- (home-page "http://shoup.net/ntl/")))
+ (home-page "https://shoup.net/ntl/")))
(define-public singular
(package
(name "singular")
- (version "4.1.2p1")
+ (version "4.1.3p2")
(source
(origin
(method url-fetch)
#\.) "-")
"/singular-" version ".tar.gz"))
(sha256 (base32
- "0kvd55353fiqyq1msmi0kka66n5h0aqs7m3km60r01b1w2f8085m"))))
+ "1524yrni7gh0hir5ckridq671q5s6avfjdsdyahj51kzdl3wcypf"))))
(build-system gnu-build-system)
(native-inputs
`(("doxygen" ,doxygen)
;; libraries with which it links are licensed under lgpl3+, so the
;; combined work becomes gpl3. See COPYING in the source code.
(license license:gpl3)
- (home-page "http://www.singular.uni-kl.de/index.php")))
+ (home-page "https://www.singular.uni-kl.de/index.php")))
(define-public gmp-ecm
(package
(version "7.0.4")
(source (origin
(method url-fetch)
- ;; Use the ‘Latest version’ link for a stable URI across releases.
- (uri (string-append "https://gforge.inria.fr/frs/download.php/"
- "latestfile/160/ecm-" version ".tar.gz"))
+ (uri
+ (let ((hash "00c4c691a1ef8605b65bdf794a71539d"))
+ (string-append "https://gitlab.inria.fr/zimmerma/ecm/"
+ "uploads/" hash "/ecm-" version
+ ".tar.gz")))
(sha256 (base32
"0hxs24c2m3mh0nq1zz63z3sb7dhy1rilg2s1igwwcb26x3pb7xqc"))))
(build-system gnu-build-system)
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/extemporelang/kiss_fft.git")
+ (url "https://github.com/extemporelang/kiss_fft")
(commit version)))
(file-name (git-file-name name version))
(sha256
(license license:gpl2+)))
(define-public fftwf
- (package (inherit fftw)
+ (package/inherit fftw
(name "fftwf")
(arguments
(substitute-keyword-arguments (package-arguments fftw)
" Single-precision version."))))
(define-public fftw-openmpi
- (package (inherit fftw)
+ (package/inherit fftw
(name "fftw-openmpi")
(inputs
`(("openmpi" ,openmpi)
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/vkostyukov/la4j.git")
+ (url "https://github.com/vkostyukov/la4j")
(commit version)))
(file-name (string-append name "-" version "-checkout"))
(sha256
Sine Transform} (DST) and @dfn{Discrete Hartley Transform} (DHT).")
(license license:bsd-2)))
+(define-public lmfit
+ (package
+ (name "lmfit")
+ (version "8.2.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://jugit.fz-juelich.de/mlz/lmfit.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "00bch77a6qgnw6vzsjn2a42n8n683ih3xm0wpr454jxa15hw78vf"))))
+ (build-system cmake-build-system)
+ (native-inputs
+ `(("perl" ,perl))) ; for pod2man
+ (home-page "https://jugit.fz-juelich.de/mlz/lmfit")
+ (synopsis "Levenberg-Marquardt minimization and least-squares fitting")
+ (description "lmfit is a C library for Levenberg-Marquardt least-squares
+minimization and curve fitting. It is mature code, based on decades-old
+algorithms from the FORTRAN library MINPACK.")
+ (license license:bsd-2)))
+
+(define-public symengine
+ (package
+ (name "symengine")
+ (version "0.6.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/symengine/symengine")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "129iv9maabmb42ylfdv0l0g94mcbf3y4q3np175008rcqdr8z6h1"))))
+ (build-system cmake-build-system)
+ (arguments
+ '(#:configure-flags
+ ;; These are the suggested build options in the README.
+ '("-DCMAKE_BUILD_TYPE=Release"
+ "-DWITH_GMP=on"
+ "-DWITH_MPFR=on"
+ "-DWITH_MPC=on"
+ "-DINTEGER_CLASS=flint"
+ "-DWITH_SYMENGINE_THREAD_SAFE=on"
+ "-DBUILD_SHARED_LIBS=on"))) ;also build libsymengine
+ (inputs
+ `(("flint" ,flint)
+ ("gmp" ,gmp)
+ ("mpc" ,mpc)
+ ("mpfr" ,mpfr)))
+ (home-page "https://github.com/symengine/symengine")
+ (synopsis "Fast symbolic manipulation library")
+ (description
+ "SymEngine is a standalone fast C++ symbolic manipulation library.
+Optional thin wrappers allow usage of the library from other languages.")
+ (license (list license:expat ;SymEngine
+ license:bsd-3)))) ;3rd party code
+
(define-public eigen
(package
(name "eigen")
- (version "3.3.7")
+ (version "3.3.8")
(source (origin
(method url-fetch)
- (uri (string-append "https://bitbucket.org/eigen/eigen/get/"
- version ".tar.bz2"))
+ (uri (list
+ (string-append "https://bitbucket.org/eigen/eigen/get/"
+ version ".tar.bz2")
+ (string-append "mirror://debian/pool/main/e/eigen3/eigen3_"
+ version ".orig.tar.bz2")))
(sha256
(base32
- "1km3fyfzyqfdvmnl79drps3fjwnz3zbh0c7l34mfbqyvvs8cy4wz"))
+ "1vxrsncfnkyq6gwxpsannpryp12mk7lc8f42ybvz3saf7icwc582"))
(file-name (string-append name "-" version ".tar.bz2"))
- (patches (search-patches "eigen-stabilise-sparseqr-test.patch"))
+ (patches (search-patches "eigen-remove-openmp-error-counting.patch"
+ "eigen-stabilise-sparseqr-test.patch"))
(modules '((guix build utils)))
(snippet
;; There are 3 test failures in the "unsupported" directory,
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/QuantStack/xtensor.git")
+ (url "https://github.com/xtensor-stack/xtensor")
(commit version)))
(sha256
(base32
`(#:configure-flags
'("-DBUILD_TESTS=ON")
#:test-target "xtest"))
- (home-page "https://quantstack.net/xtensor")
+ (home-page "https://xtensor.readthedocs.io/en/latest/")
(synopsis "C++ tensors with broadcasting and lazy computing")
(description "xtensor is a C++ library meant for numerical analysis with
multi-dimensional array expressions.
(define-public gap
(package
(name "gap")
- (version "4.10.2")
+ (version "4.11.0")
(source
(origin
(method url-fetch)
- (uri (string-append "https://www.gap-system.org/pub/gap/gap-"
+ (uri (string-append "https://files.gap-system.org/gap-"
(version-major+minor version)
"/tar.bz2/gap-"
version
".tar.bz2"))
(sha256
- (base32 "0cp6ddk0469zzv1m1vair6gm27ic6c5m77ri8rn0znq3gaps6x94"))
+ (base32 "00l6hvy4iggnlrib4vp805sxdm3j7n3hzpv5zs9hbiiavh80l1xz"))
(modules '((guix build utils) (ice-9 ftw) (srfi srfi-1)))
(snippet
'(begin
;; FIXME: This might be fixed in the next release, see
;; https://github.com/gap-system/gap/issues/3292
(delete-file "tst/testinstall/dir.tst")
- ;; Delete all packages except for a fixed list.
+ ;; Delete all packages except for a fixed list,
+ ;; given by their names up to version numbers.
(with-directory-excursion "pkg"
(for-each delete-file-recursively
- (lset-difference string=? (scandir ".")
+ (lset-difference
+ (lambda (all keep) (string-prefix? keep all))
+ (scandir ".")
'("." ".."
;; Necessary packages.
- "GAPDoc-1.6.2"
- "primgrp-3.3.2"
- "SmallGrp-1.3" ; artistic2.0
- "transgrp" ; artistic2.0 for data,
- ; gpl2 or gpl3 for code
- ;; Recommanded package.
- "io-4.5.4" ; gpl3+
+ "GAPDoc-"
+ "primgrp-"
+ "SmallGrp-" ; artistic2.0
+ "transgrp" ; artistic2.0 for data,
+ ; gpl2 or gpl3 for code
+ ;; Recommended package.
+ "io-" ; gpl3+
;; Optional packages, searched for at start,
;; and their depedencies.
- "alnuth-3.1.0"
- "autpgrp-1.10"
- "crisp-1.4.4" ; bsd-2
- "ctbllib" ; gpl3+ according to doc/chap0.txt
- "FactInt-1.6.2"
+ "alnuth-"
+ "autpgrp-"
+ "crisp-" ; bsd-2
+ "ctbllib" ; gpl3+, clarified in the next release;
+ ; see
+ ; http://www.math.rwth-aachen.de/~Thomas.Breuer/ctbllib/README.md
+ "FactInt-"
"fga"
- "irredsol-1.4" ; bsd-2
- "laguna-3.9.2"
- "polenta-1.3.8"
- "polycyclic-2.14"
- "radiroot-2.8"
- "resclasses-4.7.1"
- "sophus-1.24"
- "tomlib-1.2.7" ; gpl2+, clarified in the git repository
- ; and the next release
- "utils-0.59"))))
+ "irredsol-" ; bsd-2
+ "laguna-"
+ "polenta-"
+ "polycyclic-"
+ "radiroot-"
+ "resclasses-"
+ "sophus-"
+ "tomlib-"
+ "utils-"))))
#t))))
(build-system gnu-build-system)
(inputs
`(("gmp" ,gmp)
+ ("readline" ,readline)
("zlib" ,zlib)))
(arguments
`(#:modules ((ice-9 ftw)
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
- (lib (string-append out "/lib"))
(prog (string-append bin "/gap"))
(prog-real (string-append bin "/.gap-real"))
- (share (string-append out "/share/gap"))
- (include (string-append out "/include/gap"))
- (include-hpc (string-append include "/hpc")))
+ (share (string-append out "/share/gap")))
;; Install only the gap binary; the gac compiler is left
;; for maybe later. "Wrap" it in a shell script that calls
;; the binary with the correct parameter.
+ ;; The make target install-bin is supposed to do that, but
+ ;; is not currently working.
(mkdir-p bin)
(copy-file "gap" prog-real)
(call-with-output-file prog
prog-real
share)))
(chmod prog #o755)
- ;; Install the headers, which are needed by Sage. The
- ;; Makefile target "install-headers" was available in
- ;; gap-4.10.0, but has been commented out in gap-4.10.1.
- (mkdir-p include-hpc)
- (install-file "gen/config.h" include)
- (let ((file-name-predicate-without-stat
- (lambda (regex)
- (cut (file-name-predicate regex) <> #f))))
- (with-directory-excursion "src"
- (for-each
- (cut install-file <> include)
- (scandir "."
- (file-name-predicate-without-stat ".*\\.h$"))))
- (with-directory-excursion "src/hpc"
- (for-each
- (cut install-file <> include-hpc)
- (scandir "."
- (file-name-predicate-without-stat ".*\\.h$")))))
- ;; Install the library, which is needed by Sage. The
- ;; Makefile target "install-libgap" was available in
- ;; gap-4.10.0, but has been commented out in gap-4.10.1.
- ;; Compared to the Makefile, which used libtool, the
- ;; following approach of copying files and making symlinks
- ;; is rather pedestrian. There is hope that some later
- ;; version of gap reinstates and completes the install
- ;; targets.
- (invoke "make" "libgap.la")
- (install-file "libgap.la" lib)
- (install-file ".libs/libgap.so.0.0.0" lib)
- (symlink "libgap.so.0.0.0" (string-append lib "/libgap.so"))
- (symlink "libgap.so.0.0.0" (string-append lib "/libgap.so.0"))
- ;; Install a certain number of files and directories to
- ;; SHARE, where the wrapped shell script expects them.
+ ;; Install the headers and library, which are needed by Sage.
+ (invoke "make" "install-headers")
+ (invoke "make" "install-libgap")
;; Remove information on the build directory from sysinfo.gap.
(substitute* "sysinfo.gap"
(("GAP_BIN_DIR=\".*\"") "GAP_BIN_DIR=\"\"")
(("GAP_LIB_DIR=\".*\"") "GAP_LIB_DIR=\"\"")
(("GAP_CPPFLAGS=\".*\"") "GAP_CPPFLAGS=\"\""))
- (install-file "sysinfo.gap" share)
- (copy-recursively "grp" (string-append share "/grp"))
- (copy-recursively "pkg" (string-append share "/pkg"))
- ;; The following is not the C library libgap.so, but a
- ;; library of GAP code.
- (copy-recursively "lib" (string-append share "/lib"))
- ;; The gap binary looks for documentation inside SHARE.
- (copy-recursively "doc" (string-append share "/doc")))
+ (invoke "make" "install-gaproot")
+ ;; Copy the directory of compiled packages; the make target
+ ;; install-pkg is currently empty.
+ (copy-recursively "pkg" (string-append share "/pkg")))
#t)))))
(home-page "https://www.gap-system.org/")
(synopsis
(file-name (git-file-name name version))
(sha256
(base32
- "10j6dspbsq7d2l4q3y0c1l1xwmaqqba2fxg59q5bhgk9h5d7q571"))))
+ "10j6dspbsq7d2l4q3y0c1l1xwmaqqba2fxg59q5bhgk9h5d7q571"))
+ (patches (search-patches "linbox-fix-pkgconfig.patch"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
("pkg-config" ,pkg-config)))
- (inputs
+ (propagated-inputs
`(("fflas-ffpack" ,fflas-ffpack)))
(synopsis "C++ library for linear algebra over exact rings")
(description
("automake" ,automake)
("libtool" ,libtool)))
(inputs
- `(("gmp" ,gmp)
- ("ntl" ,ntl)
+ `(("ntl" ,ntl)
("pari-gp" ,pari-gp)))
(synopsis "Ranks of elliptic curves and modular symbols")
(description "The eclib package includes mwrank (for 2-descent on
"0akwhhz9b40bz6lrfxpamp7r7wkk48p455qbn04mfnl9a1l6db8x"))))
(build-system gnu-build-system)
(inputs
- `(("gmp", gmp)
+ `(("gmp" ,gmp)
("cblas" ,openblas))) ; or any other BLAS library; the documentation
; mentions ATLAS in particular
(arguments
the dimension of the input matrix (usually p should be prime and should be
no more than about 20 bits long).")
(license license:bsd-3)))
+
+(define-public r-dtt
+ (package
+ (name "r-dtt")
+ (version "0.1-2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "dtt" version))
+ (sha256
+ (base32
+ "0n8gj5iylfagdbaqirpykb01a9difsy4zl6qq55f0ghvazxqdvmn"))))
+ (properties `((upstream-name . "dtt")))
+ (build-system r-build-system)
+ (home-page "http://www.r-project.org")
+ (synopsis "Discrete Trigonometric Transforms")
+ (description
+ "This package provides functions for 1D and 2D Discrete Cosine Transform
+(@dfn{DCT}), Discrete Sine Transform (@dfn{DST}) and Discrete Hartley Transform
+(@dfn{DHT}).")
+ (license license:gpl2+)))