Add many julia packages (separate this in multiple commits)
This commit is contained in:
parent
8aa3c608a8
commit
d5893da6f6
|
@ -1071,7 +1071,7 @@ and GPU architectures.")
|
||||||
(define-public gr
|
(define-public gr
|
||||||
(package
|
(package
|
||||||
(name "gr")
|
(name "gr")
|
||||||
(version "0.41.4")
|
(version "0.41.5")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
|
@ -1081,7 +1081,7 @@ and GPU architectures.")
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1r3f0vqw85i9g3awzfh20zzjcc71h8r7nld2qv4rmqf3gigck2kr"))
|
"1iymzpa6wbbn3vh7n11ax859bmxwq74n2n3y012fd5ad369yflcj"))
|
||||||
(modules '((guix build utils)))))
|
(modules '((guix build utils)))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -3426,6 +3426,42 @@ packages.")
|
||||||
;; GPUQREngine, RBio, SuiteSparse_GPURuntime, SuiteSparseQR, UMFPACK
|
;; GPUQREngine, RBio, SuiteSparse_GPURuntime, SuiteSparseQR, UMFPACK
|
||||||
(license (list license:gpl2+ license:lgpl2.1+))))
|
(license (list license:gpl2+ license:lgpl2.1+))))
|
||||||
|
|
||||||
|
(define-public suitesparse-wrapper
|
||||||
|
(package
|
||||||
|
(name "suitesparse-wrapper")
|
||||||
|
(version "5.2.0")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url
|
||||||
|
"https://github.com/JuliaLinearAlgebra/SuiteSparseBuilder.git")
|
||||||
|
(commit (string-append "v" version "-0.2.20-1"))))
|
||||||
|
(file-name "SuiteSparse")
|
||||||
|
(sha256
|
||||||
|
(base32 "0wj4ipjv415aib5h398b1qxmwjk54f577n8h7dn68dkybpd2rnp3"))))
|
||||||
|
(native-inputs `(("suitesparse" ,suitesparse)))
|
||||||
|
(arguments
|
||||||
|
`(#:tests? #f ; no "check" target
|
||||||
|
#:make-flags (list "CC=gcc"
|
||||||
|
(string-append "prefix=" (assoc-ref %outputs "out")))
|
||||||
|
#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(delete 'configure)
|
||||||
|
(add-before 'build 'make-output
|
||||||
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
|
(mkdir-p (string-append (assoc-ref outputs "out") "/lib"))
|
||||||
|
#t))
|
||||||
|
(add-before 'build 'change-directory
|
||||||
|
(lambda _
|
||||||
|
(chdir "src/SuiteSparse_wrapper/")
|
||||||
|
#t)))))
|
||||||
|
(build-system gnu-build-system)
|
||||||
|
(home-page "https://julialinearalgebra.github.io/SuiteSparse.jl/latest/")
|
||||||
|
(synopsis "SuiteSparse wrappers used by Julia SuiteSparse.jl")
|
||||||
|
(description "Binary wrappes for the Julia SuiteSparse.")
|
||||||
|
(license license:expat)))
|
||||||
|
|
||||||
(define-public atlas
|
(define-public atlas
|
||||||
(package
|
(package
|
||||||
(name "atlas")
|
(name "atlas")
|
||||||
|
|
|
@ -58,6 +58,7 @@
|
||||||
#:use-module (gnu packages icu4c)
|
#:use-module (gnu packages icu4c)
|
||||||
#:use-module (gnu packages image)
|
#:use-module (gnu packages image)
|
||||||
#:use-module (gnu packages java)
|
#:use-module (gnu packages java)
|
||||||
|
#:use-module (gnu packages julia)
|
||||||
#:use-module (gnu packages libffi)
|
#:use-module (gnu packages libffi)
|
||||||
#:use-module (gnu packages machine-learning)
|
#:use-module (gnu packages machine-learning)
|
||||||
#:use-module (gnu packages maths)
|
#:use-module (gnu packages maths)
|
||||||
|
@ -395,6 +396,50 @@ available, greatly increasing its breadth and scope.")
|
||||||
(description
|
(description
|
||||||
"This package provides the R math library as an independent package.")))
|
"This package provides the R math library as an independent package.")))
|
||||||
|
|
||||||
|
(define-public rmath-julia
|
||||||
|
(package
|
||||||
|
(name "rmath-julia")
|
||||||
|
(version "0.2.2")
|
||||||
|
(source
|
||||||
|
;; This ships it's own version of Rmath sources, version 3.4.1
|
||||||
|
;; Not sure if we should move our own there
|
||||||
|
(origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://github.com/JuliaStats/Rmath-julia.git")
|
||||||
|
(commit (string-append "v" version))))
|
||||||
|
(sha256
|
||||||
|
(base32 "107l5fgd7m1dx5wl53zvjxq8qnb5smzsnpganrhxycjgw708manj"))))
|
||||||
|
(build-system gnu-build-system)
|
||||||
|
(inputs `(("julia" ,julia)))
|
||||||
|
(arguments
|
||||||
|
'(#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(delete 'configure)
|
||||||
|
(delete 'install)
|
||||||
|
(delete 'check)
|
||||||
|
(add-after 'build 'check
|
||||||
|
(lambda _
|
||||||
|
;; test.jl is a bit outdated
|
||||||
|
(substitute* "test.jl"
|
||||||
|
;; Random required for randexp
|
||||||
|
(("using Base.Test") "using Test; using Random")
|
||||||
|
(("Void") "Cvoid")
|
||||||
|
(("cfunction") "@cfunction"))
|
||||||
|
(invoke "julia" "test.jl") #t))
|
||||||
|
(add-after 'check 'install
|
||||||
|
(lambda* (#:key outputs inputs #:allow-other-keys)
|
||||||
|
(let ((out (string-append (assoc-ref outputs "out") "/lib/")))
|
||||||
|
(mkdir-p out)
|
||||||
|
(copy-file "src/libRmath-julia.so"
|
||||||
|
(string-append out "libRmath-julia.so")))
|
||||||
|
#t)))))
|
||||||
|
(home-page "https://github.com/JuliaStats/Rmath-julia")
|
||||||
|
(synopsis "The Rmath library from R, for Julia")
|
||||||
|
(description
|
||||||
|
"This is a slightly modified version of the standalone Rmath library from R, built to be used with the Rmath.jl Julia package.")
|
||||||
|
(license license:gpl2)))
|
||||||
|
|
||||||
(define-public r-boot
|
(define-public r-boot
|
||||||
(package
|
(package
|
||||||
(name "r-boot")
|
(name "r-boot")
|
||||||
|
|
|
@ -75,7 +75,7 @@
|
||||||
|
|
||||||
(define* (julia-build store name inputs
|
(define* (julia-build store name inputs
|
||||||
#:key source
|
#:key source
|
||||||
(tests? #t)
|
(tests? #f)
|
||||||
(phases '(@ (guix build julia-build-system)
|
(phases '(@ (guix build julia-build-system)
|
||||||
%standard-phases))
|
%standard-phases))
|
||||||
(outputs '("out"))
|
(outputs '("out"))
|
||||||
|
|
|
@ -79,16 +79,21 @@
|
||||||
#t)
|
#t)
|
||||||
|
|
||||||
(define* (check #:key tests? source inputs outputs #:allow-other-keys)
|
(define* (check #:key tests? source inputs outputs #:allow-other-keys)
|
||||||
|
(display "Running tests")
|
||||||
(when tests?
|
(when tests?
|
||||||
(let* ((out (assoc-ref outputs "out"))
|
(let* ((out (assoc-ref outputs "out"))
|
||||||
(package (strip-store-file-name source))
|
(package (strip-store-file-name source))
|
||||||
(builddir (string-append out "/share/julia/")))
|
(builddir (string-append out "/share/julia/")))
|
||||||
(setenv "JULIA_DEPOT_PATH" builddir)
|
(setenv "JULIA_DEPOT_PATH" builddir)
|
||||||
(setenv "JULIA_LOAD_PATH" (generate-load-path inputs outputs))
|
(setenv "JULIA_LOAD_PATH" (generate-load-path inputs outputs))
|
||||||
(display builddir)
|
;; Sometimes tests require files in the current directory
|
||||||
(invoke "julia" (string-append builddir
|
(with-directory-excursion
|
||||||
"packages/"
|
(string-append builddir "packages/" package "/test")
|
||||||
package "/test/runtests.jl"))))
|
(invoke "julia"
|
||||||
|
;; Force bound checking even when annotated not to
|
||||||
|
;; This appears to be the default on travis
|
||||||
|
"--check-bounds=yes"
|
||||||
|
"runtests.jl"))))
|
||||||
#t)
|
#t)
|
||||||
|
|
||||||
(define (julia-create-package-toml outputs source
|
(define (julia-create-package-toml outputs source
|
||||||
|
@ -123,7 +128,7 @@ version = \"" version "\"
|
||||||
(delete 'check) ; tests must be run after installation
|
(delete 'check) ; tests must be run after installation
|
||||||
(replace 'install install)
|
(replace 'install install)
|
||||||
(add-after 'install 'precompile precompile)
|
(add-after 'install 'precompile precompile)
|
||||||
(add-after 'install 'check check)
|
(add-after 'precompile 'check check)
|
||||||
;; TODO: In the future we could add a "system-image-generation" phase
|
;; TODO: In the future we could add a "system-image-generation" phase
|
||||||
;; where we use PackageCompiler.jl to speed up package loading times
|
;; where we use PackageCompiler.jl to speed up package loading times
|
||||||
(delete 'configure)
|
(delete 'configure)
|
||||||
|
|
Loading…
Reference in New Issue