diff options
-rw-r--r-- | gn/packages/julia.scm | 1396 |
1 files changed, 1114 insertions, 282 deletions
diff --git a/gn/packages/julia.scm b/gn/packages/julia.scm index b9ab537..a26cb05 100644 --- a/gn/packages/julia.scm +++ b/gn/packages/julia.scm @@ -14,70 +14,46 @@ #:use-module (gnu packages statistics) #:use-module (ice-9 match)) -(define-public julia-lmgpu - (let ((commit "e9e95b5fa46f1905ca1ff32a3684a2616a7e482c") +(define-public julia-liteqtl + (let ((commit "321a9e0aa87fb4524bec8278e64de76d1a4072b0") (revision "1")) (package - (name "julia-lmgpu") - (version (git-version "0.1.1" revision commit)) + (name "julia-liteqtl") + (version (git-version "0.2.0" revision commit)) (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ChelseaTrotter/LMGPU.jl") + (url "https://github.com/senresearch/LiteQTL.jl") (commit commit))) - ;(file-name (git-file-name name version)) - (file-name "LMGPU") + (file-name (git-file-name name version)) (sha256 (base32 - "1ddx2np1lakw1l2dclpcaihxd0fcj6bjxsvaxr6g5brxjqk5j7b1")))) + "01fn552cafb73g86cg9ii9c0ch2llarzaz54zr66qsfd97kl6ify")))) (build-system julia-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - ;(add-after 'precompile 'check - ; (lambda* (#:key outputs #:allow-other-keys) - ; (let* ((out (assoc-ref outputs "out")) - ; (builddir (string-append out "/share/julia/"))) - ; (setenv "JULIA_LOAD_PATH" - ; (string-append builddir "packages/" ":" - ; (or (getenv "JULIA_LOAD_PATH") - ; ""))) - ; (setenv "HOME" (getcwd)) - ; (invoke "julia" "test/runtests.jl")))) - ))) - (native-inputs - `(("r" ,r-minimal) - ("r-mice" ,r-mice) - ("r-qtl2" ,r-qtl2) - ("r-tictoc" ,r-tictoc) - ("r-tidyverse" ,r-tidyverse))) (propagated-inputs - `(("julia-zipfile" ,julia-zipfile))) - (home-page "https://github.com/ChelseaTrotter/LMGPU.jl") - (synopsis "") - (description "") + `( + ;("julia-csv" ,julia-csv) + ;("julia-cuda" ,julia-cuda) + ("julia-dataframes" ,julia-dataframes) + ("julia-docstringextensions" ,julia-docstringextensions) + )) + (native-inputs + `( + ("julia-documenter" ,julia-documenter) + ("julia-safetestsets" ,julia-safetestsets) + ;("r" ,r-minimal) + ;("r-data-table" ,r-data-table) + ;("r-mice" ,r-mice) + ;("r-qtl" ,r-qtl) + ;("r-qtl2" ,r-qtl2) + ;("r-tidyverse" ,r-tidyverse) + )) + (home-page "https://github.com/senresearch/LiteQTL.jl") + (synopsis "Julia package for eQTL genome scans near real-time") + (description "LiteQTL is a package that runs whole genome QTL scans near real-time, utilizing the computation power of GPU. +LiteQTL uses new algorithms that enables near-real time whole genome QTL scans for up to 1 million traits. By using easily parallelizable operations including matrix multiplication, vectorized operations, and element-wise operations, our method is about 300 times faster than a R/qtl linear model genome scan using 16 threads.") (license license:expat)))) -(define-public julia-lmgpu-myapp - (package - (inherit julia-lmgpu) - (name "julia-lmgpu-myapp") - (source - (origin (inherit (package-source julia-lmgpu)) - (file-name "MyApp"))) - (arguments - (substitute-keyword-arguments (package-arguments julia-lmgpu) - ((#:phases phases) - `(modify-phases ,phases - (add-after 'unpack 'change-directory - (lambda _ - (chdir "bin/MyApp") #t)))))) - (propagated-inputs - `(("julia-lmgpu" ,julia-lmgpu) - ,@(package-propagated-inputs julia-lmgpu))) - (native-inputs - `(("julia-packagecompiler" ,julia-packagecompiler))))) - (define-public julia-packagecompiler (package (name "julia-packagecompiler") @@ -512,73 +488,18 @@ distributed computing.") `(("julia-dataapi" ,julia-dataapi) ("julia-datastructures" ,julia-datastructures) ("julia-missings" ,julia-missings) - ("julia-sortingalgorithms" ,julia-sortingalgorithms-1) + ("julia-sortingalgorithms" ,julia-sortingalgorithms) ("julia-statsapi" ,julia-statsapi))) (native-inputs `(("julia-stablerngs" ,julia-stablerngs))) (home-page "https://github.com/JuliaStats/StatsBase.jl") (synopsis "Basic statistics for Julia") - (description "StatsBase.jl is a Julia package that provides basic support for statistics. Particularly, it implements a variety of statistics-related functions, such as scalar statistics, high-order moment computation, counting, ranking, covariances, sampling, and empirical density estimation.") + (description "StatsBase.jl is a Julia package that provides basic support +for statistics. Particularly, it implements a variety of statistics-related +functions, such as scalar statistics, high-order moment computation, counting, +ranking, covariances, sampling, and empirical density estimation.") (license license:expat))) -(define-public julia-statsbase-0.23 - (package - (inherit julia-statsbase) - (name "julia-statsbase") - (version "0.23.1") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/JuliaStats/StatsBase.jl") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "09vdymrh88bq78rs4jc1w3yc3y0smnhclp20zaxgpgdza551hyk0")))) - (arguments - `(;#:tests? #f - #:julia-package-name "StatsBase" - )) - (propagated-inputs - `( - ("julia-compat" ,julia-compat) - ("julia-datastructures" ,julia-datastructures) - ;("julia-missings" ,julia-missings) - ("julia-sortingalgorithms" ,julia-sortingalgorithms) - ;("julia-statsapi" ,julia-statsapi) - )) - )) - -(define-public julia-statsbase-0.16 - (package - (inherit julia-statsbase) - (name "julia-statsbase") - (version "0.16.1") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/JuliaStats/StatsBase.jl") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "03lcls1hj1pvd80r5dx3hngzxdw51cffl1fyqf3nq205pvrqr1s1")))) - (arguments - `(;#:tests? #f - #:julia-package-name "StatsBase" - )) - (propagated-inputs - `( - ("julia-compat" ,julia-compat) - ;("julia-datastructures" ,julia-datastructures) - ;("julia-missings" ,julia-missings) - ;("julia-sortingalgorithms" ,julia-sortingalgorithms) - ;("julia-statsapi" ,julia-statsapi) - )) - )) - (define-public julia-dataapi (package (name "julia-dataapi") @@ -602,38 +523,6 @@ distributed computing.") (define-public julia-sortingalgorithms (package (name "julia-sortingalgorithms") - (version "0.3.1") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/JuliaCollections/SortingAlgorithms.jl") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1nz96sccgl6h6aknck59gmy1yrzx356kk9z68svj2g6yialprv1j")))) - (build-system julia-build-system) - (arguments - `(#:tests? #f ; cycle with statsbase - #:julia-package-name "SortingAlgorithms" - )) - (propagated-inputs - `( - ("julia-datastructures" ,julia-datastructures) - )) - (native-inputs - `( - ;("julia-statsbase" ,julia-statsbase-0.16) - )) - (home-page "https://github.com/JuliaCollections/SortingAlgorithms.jl") - (synopsis "extra sorting algorithms extending Julia's sorting API") - (description "The SortingAlgorithms package provides three sorting algorithms that can be used with Julia's standard sorting API: heapsort, timsort and radixsort.") - (license license:expat))) - -(define-public julia-sortingalgorithms-1 - (package - (name "julia-sortingalgorithms") (version "1.0.0") (source (origin @@ -649,82 +538,18 @@ distributed computing.") "13zbx18psxrg4fvkqgp0m7g484vrama2xm6902bbls30801hgljg")))) (build-system julia-build-system) (arguments - `(#:tests? #f ; cycle with statsbase - ;#:julia-package-name "SortingAlgorithms" - )) + `(#:tests? #f)) ; cycle with StatsBase.jl (propagated-inputs - `( - ("julia-datastructures" ,julia-datastructures) - )) - (native-inputs - `( - ;("julia-statsbase" ,julia-statsbase) - )) + `(("julia-datastructures" ,julia-datastructures))) + ;(native-inputs + ; `(("julia-statsbase" ,julia-statsbase))) (home-page "https://github.com/JuliaCollections/SortingAlgorithms.jl") - (synopsis "extra sorting algorithms extending Julia's sorting API") - (description "The SortingAlgorithms package provides three sorting algorithms that can be used with Julia's standard sorting API: heapsort, timsort and radixsort.") + (synopsis "Extra sorting algorithms extending Julia's sorting API") + (description "The SortingAlgorithms package provides three sorting +algorithms that can be used with Julia's standard sorting API: heapsort, +timsort and radixsort.") (license license:expat))) -(define-public julia-sortingalgorithms-0.2 - (package - (inherit julia-sortingalgorithms) - (name "julia-sortingalgorithms") - (version "0.2.1") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/JuliaCollections/SortingAlgorithms.jl") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "16pbcarw65z9a6l6b10xvyhj00c203zdy6qjpj20l8jf7bxb3i2d")))) - (build-system julia-build-system) - (arguments - `(;#:tests? #f - #:julia-package-name "SortingAlgorithms" - )) - (propagated-inputs - `( - ("julia-datastructures" ,julia-datastructures) - )) - (native-inputs - `( - ;("julia-statsbase" ,julia-statsbase) - )) - )) - -(define-public julia-sortingalgorithms-0.1 - (package - (inherit julia-sortingalgorithms) - (name "julia-sortingalgorithms") - (version "0.1.1") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/JuliaCollections/SortingAlgorithms.jl") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1qqr32g32haa4kidxb57ii1yfqcmgid3vylj2p75pzz40m0gyi5z")))) - (build-system julia-build-system) - (arguments - `(;#:tests? #f - #:julia-package-name "SortingAlgorithms" - )) - (propagated-inputs - `( - ("julia-datastructures" ,julia-datastructures) - )) - (native-inputs - `( - ;("julia-statsbase" ,julia-statsbase) - )) - )) - (define-public julia-optim (package (name "julia-optim") @@ -742,22 +567,22 @@ distributed computing.") (build-system julia-build-system) (arguments `(;#:tests? #f - ;#:julia-package-name "SortingAlgorithms" )) (propagated-inputs `( ("julia-compat" ,julia-compat) - ;("julia-fillarrays" ,julia-fillarrays) - ;("julia-linesearches" ,julia-linesearches) + ("julia-fillarrays" ,julia-fillarrays) + ("julia-linesearches" ,julia-linesearches) ("julia-nlsolversbase" ,julia-nlsolversbase) ("julia-nanmath" ,julia-nanmath) ("julia-parameters" ,julia-parameters) - ;("julia-positivefactorizations" ,julia-positivefactorizations) - ;("julia-statsbase" ,julia-statsbase) + ("julia-positivefactorizations" ,julia-positivefactorizations) + ("julia-statsbase" ,julia-statsbase) )) (native-inputs `( - ;("julia-statsbase" ,julia-statsbase) + ("julia-optimtestproblems" ,julia-optimtestproblems) + ("julia-recursivearraytools" ,julia-recursivearraytools) )) (home-page "https://github.com/JuliaNLSolvers/Optim.jl") (synopsis "Optimization functions for Julia") @@ -776,31 +601,21 @@ distributed computing.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 - "0n8qh5a2ghjx1j70zxn0hmh8gzpa46kmjg8di879y9974bfk0f98")))) + (base32 "0n8qh5a2ghjx1j70zxn0hmh8gzpa46kmjg8di879y9974bfk0f98")))) (build-system julia-build-system) - (arguments - `(;#:tests? #f - ;#:julia-package-name "SortingAlgorithms" - )) (propagated-inputs - `( - ("julia-diffresults" ,julia-diffresults) - ;("julia-distributed" ,julia-distributed) + `(("julia-diffresults" ,julia-diffresults) ("julia-finitediff" ,julia-finitediff) - ("julia-forwarddiff" ,julia-forwarddiff) - )) + ("julia-forwarddiff" ,julia-forwarddiff))) (native-inputs - `( - ;("julia-linearalgebra" ,julia-linearalgebra) - ;("julia-optimtestproblems" ,julia-optimtestproblems) - ;("julia-random" ,julia-random) - ;("julia-recursivearraytools" ,julia-recursivearraytools) - ;("julia-sparsearrays" ,julia-sparsearrays) - )) + `(("julia-optimtestproblems" ,julia-optimtestproblems) + ("julia-recursivearraytools" ,julia-recursivearraytools))) (home-page "https://github.com/JuliaNLSolvers/NLSolversBase.jl") - (synopsis "Base package for optimization and equation solver software in JuliaNLSolvers") - (description "The package aims at establishing common ground for Optim.jl, LineSearches.jl, and NLsolve.jl. The common ground is mainly the types used to hold objective related callables, information about the objectives, and an interface to interact with these types.") + (synopsis "Optimization and equation solver software in JuliaNLSolvers") + (description "This package aims at establishing common ground for Optim.jl, +LineSearches.jl, and NLsolve.jl. The common ground is mainly the types used to +hold objective related callables, information about the objectives, and an +interface to interact with these types.") (license license:expat))) (define-public julia-finitediff @@ -819,24 +634,28 @@ distributed computing.") "0ndazn02wn8ddwgjh1i32y7pbaqpw06f42ccilz5ya78cyrjhq2m")))) (build-system julia-build-system) (arguments - `(;#:tests? #f - ;#:julia-package-name "SortingAlgorithms" - )) + `(#:phases + (modify-phases %standard-phases + (add-before 'check 'pre-check + (lambda _ + ;; We don't want to run all the tests, the Downstream tests try + ;; to download the package registry. + (setenv "GROUP" "Core") + #t))))) (propagated-inputs - `( - ("julia-arrayinterface" ,julia-arrayinterface) - ;("julia-requires" ,julia-requires) - ("julia-staticarrays" ,julia-staticarrays) - )) + `(("julia-arrayinterface" ,julia-arrayinterface) + ("julia-requires" ,julia-requires) + ("julia-staticarrays" ,julia-staticarrays))) (native-inputs - `( - ;("julia-bandedmatrices" ,julia-bandedmatrices) - ;("julia-blockedbandedmatrices" ,julia-blockedbandedmatrices) - ("julia-safetestsets" ,julia-safetestsets) - )) + `(("julia-bandedmatrices" ,julia-bandedmatrices) + ("julia-blockbandedmatrices" ,julia-blockbandedmatrices) + ("julia-safetestsets" ,julia-safetestsets))) (home-page "https://github.com/JuliaDiff/FiniteDiff.jl") - (synopsis "Fast non-allocating calculations of gradients, Jacobians, and Hessians with sparsity support") - (description "This package is for calculating derivatives, gradients, Jacobians, Hessians, etc. numerically. This library is for maximizing speed while giving a usable interface to end users in a way that specializes on array types and sparsity.") + (synopsis "Calculations of gradients, Jacobians, and Hessians") + (description "This package is for calculating derivatives, gradients, +Jacobians, Hessians, etc. numerically. This library is for maximizing speed +while giving a usable interface to end users in a way that specializes on array +types and sparsity.") (license license:expat))) (define-public julia-safetestsets @@ -853,8 +672,7 @@ distributed computing.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 - "1fb1dfdmiw2ggx60hf70954xlps0r48fcb3k3dvxynlz7ylphp96")))) + (base32 "1fb1dfdmiw2ggx60hf70954xlps0r48fcb3k3dvxynlz7ylphp96")))) (build-system julia-build-system) (arguments `(#:julia-package-name "SafeTestsets")) @@ -868,7 +686,7 @@ distributed computing.") (define-public julia-arrayinterface (package (name "julia-arrayinterface") - (version "3.1.12") + (version "3.1.14") (source (origin (method git-fetch) @@ -877,29 +695,27 @@ distributed computing.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 - "0hn3n2clhmly1842snn18kjxabkrxscd5mkbqgxqspk1a8r3r74k")))) + (base32 "0w99fas8kkqm5qy9jqjp1aw8aygpdb823fmgyjgv9dvi3g10j5q3")))) (build-system julia-build-system) - (arguments - `(;#:tests? #f - ;#:julia-package-name "SortingAlgorithms" - )) (propagated-inputs - `( - ("julia-ifelse" ,julia-ifelse) + `(("julia-ifelse" ,julia-ifelse) ("julia-requires" ,julia-requires) - ;("julia-static" ,julia-static) - ;("julia-staticarrays" ,julia-staticarrays) - )) + ("julia-static" ,julia-static))) (native-inputs - `( - ;("julia-bandedmatrices" ,julia-bandedmatrices) - ;("julia-blockedbandedmatrices" ,julia-blockedbandedmatrices) - ;("julia-safetestsets" ,julia-safetestsets) - )) + `(("julia-aqua" ,julia-aqua) + ("julia-bandedmatrices" ,julia-bandedmatrices) + ("julia-blockbandedmatrices" ,julia-blockbandedmatrices) + ("julia-ifelse" ,julia-ifelse) + ("julia-offsetarrays" ,julia-offsetarrays) + ("julia-staticarrays" ,julia-staticarrays))) (home-page "https://github.com/JuliaArrays/ArrayInterface.jl") (synopsis "Base array interface primitives") - (description "The purpose of this library is to solidify extensions to the current AbstractArray interface, which are put to use in package ecosystems like DifferentialEquations.jl. Since these libraries are live, this package will serve as a staging ground for ideas before they are merged into Base Julia. For this reason, no functionality is exported so that if such functions are added and exported in a future Base Julia, there will be no issues with the upgrade.") + (description "The purpose of this library is to solidify extensions to the +current AbstractArray interface, which are put to use in package ecosystems like +DifferentialEquations.jl. Since these libraries are live, this package will +serve as a staging ground for ideas before they are merged into Base Julia. For +this reason, no functionality is exported so that if such functions are added +and exported in a future Base Julia, there will be no issues with the upgrade.") (license license:expat))) (define-public julia-ifelse @@ -914,12 +730,11 @@ distributed computing.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 - "1wrw842r8708fryf2ihp9mkmdrg27saa9nix2c31vs995k2fgr9w")))) + (base32 "1wrw842r8708fryf2ihp9mkmdrg27saa9nix2c31vs995k2fgr9w")))) (build-system julia-build-system) (home-page "https://github.com/sciml/ifelse.jl") - (synopsis "Under some conditions you may need this function") - (description "Sometimes, it's good to have a function form of a conditional. Julia's Base defines ifelse for this, but... psyche, it's not defined in Base but in Core! While this rarely matters, if you're trying to define a new dispatch for Core.ifelse you will find an interesting error message...") + (synopsis "Function form of the if-else conditional statement") + (description "This package provides a convenient function form of the conditional ifelse. It is similar to @code{Core.ifelse} but it is extendable.") (license license:expat))) (define-public julia-plots @@ -1180,7 +995,7 @@ structures.") (propagated-inputs `( ("julia-reexport" ,julia-reexport) - ("julia-sortingalgorithms" ,julia-sortingalgorithms-0.2) + ("julia-sortingalgorithms" ,julia-sortingalgorithms) )) (native-inputs `( @@ -1887,3 +1702,1020 @@ it with the @code{@@bind} macro in Pluto.") (synopsis "Rmath library wrappers") (description "This package provides a wrapper for Rmath.") (license license:expat))) + +(define-public julia-static + (package + (name "julia-static") + (version "0.2.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/SciML/Static.jl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "01rbiysrkaca03gh55rc5zykkp63bhzaqgrxxj88lnisrbzmf0d2")))) + (build-system julia-build-system) + (propagated-inputs + `(("julia-ifelse" ,julia-ifelse))) + (native-inputs + `(("julia-aqua" ,julia-aqua))) + (home-page "https://github.com/SciML/Static.jl") + (synopsis "Static types useful for dispatch and generated functions") + (description "Static defines a limited set of statically parameterized types +and a common interface that is shared between them.") + (license license:expat))) + +(define-public julia-aqua + (package + (name "julia-aqua") + (version "0.5.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaTesting/Aqua.jl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0zcvrwnyhh2kr4d2xv7ps8dh7byw78dx6yb1m9m4dblgscn5kypb")))) + (build-system julia-build-system) + (home-page "https://github.com/JuliaTesting/Aqua.jl") + (synopsis "Automated quality assurance for Julia packages") + (description "@acronym{Aqua.jl, Auto QUality Assurance for Julia packages}, +provides functions to run a few automatable checks for Julia packages.") + (license license:expat))) + +(define-public julia-bandedmatrices + (package + (name "julia-bandedmatrices") + (version "0.16.9") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaMatrices/BandedMatrices.jl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "105y5d3208s0byk3p0469sfy79lhjpdblk6karbwj8x7hl26na00")))) + (build-system julia-build-system) + (arguments + `(;#:tests? #f + )) + (propagated-inputs + `( + ("julia-arraylayouts" ,julia-arraylayouts) + ("julia-fillarrays" ,julia-fillarrays) + )) + (native-inputs + `( + ;("julia-blockbandedmatrices" ,julia-blockbandedmatrices) + ("julia-genericlinearalgebra" ,julia-genericlinearalgebra) + )) + (home-page "https://github.com/JuliaMatrices/BandedMatrices.jl") + (synopsis "Julia package for representing banded matrices") + (description "This package supports representing banded matrices by only +the entries on the bands.") + (license license:expat))) + +(define-public julia-blockbandedmatrices + (package + (name "julia-blockbandedmatrices") + (version "0.10.6") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaMatrices/BlockBandedMatrices.jl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0q9ni4pgdkb00jb42fdzlhx745852xx2666vr96k0c4l0cn5mi0y")))) + (build-system julia-build-system) + (propagated-inputs + `( + ("julia-arraylayouts" ,julia-arraylayouts) + ("julia-bandedmatrices" ,julia-bandedmatrices) + ("julia-blockarrays" ,julia-blockarrays) + ("julia-fillarrays" ,julia-fillarrays) + ("julia-matrixfactorizations" ,julia-matrixfactorizations) + )) + (home-page "https://github.com/JuliaMatrices/BlockBandedMatrices.jl") + (synopsis "Block-banded matrices and banded-block-banded matrices") + (description "This package supports representing block-banded and +banded-block-banded matrices by only storing the entries in the non-zero bands. +A @code{BlockBandedMatrix} is a subtype of @code{BlockMatrix} of BlockArrays.jl +whose layout of non-zero blocks is banded.") + (license license:expat))) + +(define-public julia-blockarrays + (package + (name "julia-blockarrays") + (version "0.15.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaArrays/BlockArrays.jl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "15nd493bfkx92ihnr8dj8mb155dj44iqw266igv0qr5q0wad2bfr")))) + (build-system julia-build-system) + (propagated-inputs + `(("julia-arraylayouts" ,julia-arraylayouts) + ("julia-fillarrays" ,julia-fillarrays))) + (native-inputs + `(("julia-lazyarrays" ,julia-lazyarrays) + ("julia-offsetarrays" ,julia-offsetarrays) + ("julia-staticarrays" ,julia-staticarrays))) + (home-page "https://github.com/JuliaArrays/BlockArrays.jl") + (synopsis "BlockArrays for Julia") + (description "A block array is a partition of an array into blocks or +subarrays. This package has two purposes. Firstly, it defines an interface for +an @code{AbstractBlockArray} block arrays that can be shared among types +representing different types of block arrays. The advantage to this is that it +provides a consistent API for block arrays. +Secondly, it also implements two different type of block arrays that follow the +@code{AbstractBlockArray} interface. The type @code{BlockArray} stores each +block contiguously while the type @code{PseudoBlockArray} stores the full matrix +contiguously. This means that @code{BlockArray} supports fast non copying +extraction and insertion of blocks while @code{PseudoBlockArray} supports fast +access to the full matrix to use in in for example a linear solver.") + (license license:expat))) + +(define-public julia-arraylayouts + (package + (name "julia-arraylayouts") + (version "0.7.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaMatrices/ArrayLayouts.jl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "01725v4jp8h8zwn85splw907r206h1hnp205pchmzjin7h4659xz")))) + (build-system julia-build-system) + (propagated-inputs + `(("julia-fillarrays" ,julia-fillarrays))) + (home-page "https://github.com/JuliaMatrices/ArrayLayouts.jl") + (synopsis "describing array layouts and more general fast linear algebra") + (description "This package implements a trait-based framework for describing +array layouts such as column major, row major, etc. that can be dispatched to +appropriate BLAS or optimised Julia linear algebra routines. This supports a +much wider class of matrix types than Julia's in-built @code{StridedArray}.") + (license license:expat))) + +(define-public julia-lazyarrays + (package + (name "julia-lazyarrays") + (version "0.21.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaArrays/LazyArrays.jl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0l427zghlpwcr6zcfy28sw3wm3y5zm0ckl008cgf2pwrpjfrahyw")))) + (build-system julia-build-system) + (propagated-inputs + `(("julia-arraylayouts" ,julia-arraylayouts) + ("julia-fillarrays" ,julia-fillarrays) + ("julia-macrotools" ,julia-macrotools) + ("julia-matrixfactorizations" ,julia-matrixfactorizations) + ("julia-staticarrays" ,julia-staticarrays))) + (native-inputs + `(("julia-tracker" ,julia-tracker))) + (home-page "https://github.com/JuliaArrays/LazyArrays.jl") + (synopsis "Lazy arrays and linear algebra") + (description "This package supports lazy analogues of array operations like +@code{vcat}, @code{hcat}, and multiplication. This helps with the +implementation of matrix-free methods for iterative solvers.") + (license license:expat))) + +(define-public julia-matrixfactorizations + (package + (name "julia-matrixfactorizations") + (version "0.8.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaMatrices/MatrixFactorizations.jl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "14c6w1vhyf4pi4454pdp6ryczsxn9pgjg99fg9bkdj03xg5fsxb8")))) + (build-system julia-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'skip-failing-test + (lambda _ + ;; Tests with math functions are hard. + (substitute* "test/test_ul.jl" + (("@test @inferred\\(logdet") "@test @test_nowarn(logdet") + ;; Also skip the REPL test. + (("test String") "test_nowarn String")) + #t))))) + (propagated-inputs + `(("julia-arraylayouts" ,julia-arraylayouts))) + (home-page "https://github.com/JuliaMatrices/MatrixFactorizations.jl") + (synopsis "Julia package to contain non-standard matrix factorizations") + (description "A Julia package to contain non-standard matrix factorizations. +At the moment it implements the QL, RQ, and UL factorizations, a combined +Cholesky factorization with inverse, and polar decompositions. In the future it +may include other factorizations such as the LQ factorization.") + (license license:expat))) + +(define-public julia-tracker + (package + (name "julia-tracker") + (version "0.2.12") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/FluxML/Tracker.jl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1s4mdywbp7nli7z985fqaj1rs4i6d92b1jx3lhg0qhk1s5wc0v8j")))) + (build-system julia-build-system) + (propagated-inputs + `(("julia-adapt" ,julia-adapt) + ("julia-diffrules" ,julia-diffrules) + ("julia-forwarddiff" ,julia-forwarddiff) + ("julia-macrotools" ,julia-macrotools) + ("julia-nanmath" ,julia-nanmath) + ("julia-nnlib" ,julia-nnlib) + ("julia-requires" ,julia-requires) + ("julia-specialfunctions" ,julia-specialfunctions))) + (native-inputs + `(("julia-pdmats" ,julia-pdmats))) + (home-page "https://github.com/FluxML/Tracker.jl") + (synopsis "Flux's ex AD") + (description "Flux's old AD, now replaced with Zygote.") + (license license:expat))) + +(define-public julia-nnlib + (package + (name "julia-nnlib") + (version "0.7.19") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/FluxML/NNlib.jl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "163v7hkmbxxgnq7qigmqjdqcdywi2njxbh54w8v0hf4bddnalbba")))) + (build-system julia-build-system) + (arguments + `(#:tests? #f)) ; skip so we can drop CUDA.jl + (propagated-inputs + `(("julia-adapt" ,julia-adapt) + ("julia-chainrulescore" ,julia-chainrulescore) + ("julia-requires" ,julia-requires))) + (native-inputs + `(("julia-chainrulestestutils" ,julia-chainrulestestutils) + ;("julia-cuda" ,julia-cuda) + ("julia-stablerngs" ,julia-stablerngs) + ("julia-zygote" ,julia-zygote))) + (home-page "https://github.com/FluxML/NNlib.jl") + (synopsis "Neural Network primitives with multiple backends") + (description "This package will provide a library of functions useful for +machine learning, such as softmax, sigmoid, convolutions and pooling. It +doesn't provide any other \"high-level\" functionality like layers or AD.") + (license license:expat))) + +(define-public julia-genericlinearalgebra + (package + (name "julia-genericlinearalgebra") + (version "0.2.5") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaLinearAlgebra/GenericLinearAlgebra.jl/") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0ndwypa397z3pwzdgc3s9plaqlqf63g3d4px5pvym5psgr6lnm3l")))) + (build-system julia-build-system) + (arguments + `(#:tests? #f)) ; come back to this later + (native-inputs + `(("julia-quaternions" ,julia-quaternions))) + (home-page "https://github.com/JuliaLinearAlgebra/GenericLinearAlgebra.jl/") + (synopsis "Generic numerical linear algebra") + (description "The purpose of this package is partly to extend linear algebra functionality in base to cover generic element types, e.g. @code{BigFloat} and @code{Quaternion}, and partly to be a place to experiment with fast linear algebra routines written in Julia (except for optimized BLAS). It is my hope that it is possible to have implementations that are generic, fast, and readable.") + (license license:expat))) + +(define-public julia-quaternions + (package + (name "julia-quaternions") + (version "0.4.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaGeometry/Quaternions.jl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1zhynyvchc50hywws2jznpkwydr3njh8cv84d2ylyabhcwwmil9s")))) + (build-system julia-build-system) + (propagated-inputs + `(("julia-dualnumbers" ,julia-dualnumbers))) + (home-page "https://github.com/JuliaGeometry/Quaternions.jl") + (synopsis "Julia module with quaternion and dual-quaternion functionality") + (description "Quaternions are best known for their suitability as representations of 3D rotational orientation. They can also be viewed as an extension of complex numbers.") + (license license:expat))) + +(define-public julia-dualnumbers + (package + (name "julia-dualnumbers") + (version "0.6.5") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaDiff/DualNumbers.jl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "05vr5wbzqpchnb96b3pmn67x196mbfnkv7r9bdlz3gm56if4awk5")))) + (build-system julia-build-system) + (arguments + `(#:tests? #f)) ; fail hard on test/runtests.jl:4 + (propagated-inputs + `(("julia-calculus" ,julia-calculus) + ("julia-nanmath" ,julia-nanmath) + ("julia-specialfunctions" ,julia-specialfunctions))) + (home-page "https://github.com/JuliaDiff/DualNumbers.jl") + (synopsis "representing dual numbers and for performing dual algebra") + (description "The @code{DualNumbers} Julia package defines the @code{Dual} type to represent dual numbers, and supports standard mathematical operations on them. Conversions and promotions are defined to allow performing operations on combinations of dual numbers with predefined Julia numeric types.") + (license license:expat))) + +(define-public julia-optimtestproblems + (package + (name "julia-optimtestproblems") + (version "2.0.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaNLSolvers/OptimTestProblems.jl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "10h47x5ws42pkqjccimaz0yxfvz41w0yazq6inamfk4lg5g2g3d9")))) + (build-system julia-build-system) + (arguments + `(#:julia-package-name "OptimTestProblems")) + (home-page "https://github.com/JuliaNLSolvers/OptimTestProblems.jl") + (synopsis "A collection of test problems for optimization problems") + (description "The purpose of this package is to provide test problems for +JuliaNLSolvers packages.") + (license license:expat))) + +(define-public julia-recursivearraytools + (package + (name "julia-recursivearraytools") + (version "2.11.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/SciML/RecursiveArrayTools.jl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "12z7w1wxjjcy5rnjd1bj5bmpdspv5ix6ifq0ql67d32vlghiyn3h")))) + (build-system julia-build-system) + (arguments + `(#:tests? #f)) ; Don't pull in OrdinaryDiffEq.jl + (propagated-inputs + `(("julia-arrayinterface" ,julia-arrayinterface) + ("julia-docstringextensions" ,julia-docstringextensions) + ("julia-requires" ,julia-requires) + ("julia-recipesbase" ,julia-recipesbase) + ("julia-staticarrays" ,julia-staticarrays) + ("julia-zygoterules" ,julia-zygoterules))) + (native-inputs + `( + ;("julia-forwarddiff" ,julia-forwarddiff) + ;("julia-nlsolve" ,julia-nlsolve) + ;("julia-ordinarydiffeq" ,julia-ordinarydiffeq) + ("julia-unitful" ,julia-unitful) + ;("julia-zygote" ,julia-zygote) + )) + (home-page "https://github.com/SciML/RecursiveArrayTools.jl") + (synopsis "Tools for handling objects like arrays of arrays and deeper nestings") + (description "RecursiveArrayTools.jl is a set of tools for dealing with +recursive arrays like arrays of arrays.") + (license license:expat))) + +(define-public julia-recipesbase + (package + (name "julia-recipesbase") + (version "1.1.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaPlots/RecipesBase.jl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1b6m5rz6wprj30rwvlxz4r1jv5gl0ay0f52kfmy2w7lqly7zhap5")))) + (build-system julia-build-system) + (home-page "https://github.com/JuliaPlots/RecipesBase.jl") + (synopsis "Define transformation recipes on user types") + (description "This package implements handy macros @code{@@recipe} and @code{@@series} which will define a custom transformation and attach attributes for user types. Its design is an attempt to simplify and generalize the summary and display of types and data from external packages. With no extra dependencies and minimal code, package authors can describe visualization routines that can be used as components in more complex visualizations.") + (license license:expat))) + +(define-public julia-ordinarydiffeq + (package + (name "julia-ordinarydiffeq") + (version "5.53.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/SciML/OrdinaryDiffEq.jl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0xxn7ga5ii3v2430aj9b7mpiiwjw8vvip8afdyq04rni07d0cpmx")))) + (build-system julia-build-system) + (arguments + `(;#:tests? #f + )) + (propagated-inputs + `( + ("julia-adapt" ,julia-adapt) + ("julia-arrayinterface" ,julia-arrayinterface) + ("julia-diffeqbase" ,julia-diffeqbase) + ("julia-docstringextensions" ,julia-docstringextensions) + ("julia-reexport" ,julia-reexport) + ;("julia-recipesbase" ,julia-recipesbase) + ;("julia-staticarrays" ,julia-staticarrays) + ;("julia-zygoterules" ,julia-zygoterules) + )) + (native-inputs + `( + ;("julia-forwarddiff" ,julia-forwarddiff) + ;("julia-nlsolve" ,julia-nlsolve) + ;("julia-ordinarydiffeq" ,julia-ordinarydiffeq) + ("julia-safetestsets" ,julia-safetestsets) + ;("julia-zygote" ,julia-zygote) + )) + (home-page "https://github.com/SciML/OrdinaryDiffEq.jl") + (synopsis "High performance differential equation solvers for ordinary differential equations") + (description "OrdinaryDiffEq.jl is a component package in the DifferentialEquations ecosystem. It holds the ordinary differential equation solvers and utilities.") + (license license:expat))) + +(define-public julia-diffeqbase + (package + (name "julia-diffeqbase") + (version "6.61.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/SciML/DiffEqBase.jl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "16nwsw08gl17zwqw5jqg3r8b42pgzbd6m2na7c8yvvswy9s3sygl")))) + (build-system julia-build-system) + (arguments + `(;#:tests? #f + )) + (propagated-inputs + `( + ("julia-arrayinterface" ,julia-arrayinterface) + ;("julia-diffeqbase" ,julia-diffeqbase) + ;("julia-docstringextensions" ,julia-docstringextensions) + ;("julia-iterativesolvers" ,julia-iterativesolvers) + ;("julia-reexport" ,julia-reexport) + ;("julia-recipesbase" ,julia-recipesbase) + ;("julia-staticarrays" ,julia-staticarrays) + ;("julia-zygoterules" ,julia-zygoterules) + )) + (native-inputs + `( + ;("julia-forwarddiff" ,julia-forwarddiff) + ;("julia-nlsolve" ,julia-nlsolve) + ;("julia-ordinarydiffeq" ,julia-ordinarydiffeq) + ("julia-safetestsets" ,julia-safetestsets) + ;("julia-zygote" ,julia-zygote) + )) + (home-page "https://github.com/SciML/DiffEqBase.jl") + (synopsis "Base library for shared types and functionality for defining differential equation and scientific machine learning (SciML) problems") + (description "DiffEqBase.jl is a component package in the DiffEq ecosystem. It holds the common types and utility functions which are shared by other component packages in order to reduce the size of dependencies. This is so that the packages for the common interface do not require one another, allowing users to use the functionality of individual packages if they so please.") + (license license:expat))) + +(define-public julia-positivefactorizations + (package + (name "julia-positivefactorizations") + (version "0.2.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/timholy/PositiveFactorizations.jl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1wxy6ak7f3hvibcgc8q88cgkf9zvi649mmjy1zlkx1qk80hgvz23")))) + (build-system julia-build-system) + (native-inputs + `(("julia-forwarddiff" ,julia-forwarddiff) + ("julia-reversediff" ,julia-reversediff))) + (home-page "https://github.com/timholy/PositiveFactorizations.jl") + (synopsis "Positive-definite \"approximations\" to matrices") + (description "PositiveFactorizations is a package for computing a positive +definite matrix decomposition (factorization) from an arbitrary symmetric input. +The motivating application is optimization (Newton or quasi-Newton methods), in +which the canonical search direction -H/g (H being the Hessian and g the +gradient) may not be a descent direction if H is not positive definite.") + (license license:expat))) + +;; Ready to upstream +(define-public julia-reversediff + (package + (name "julia-reversediff") + (version "1.9.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaDiff/ReverseDiff.jl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1wrr6sqj2xl9grkvdp88rw3manxy9vbx28zq2wssya5ns1xabsnl")))) + (build-system julia-build-system) + (propagated-inputs + `(("julia-diffresults" ,julia-diffresults) + ("julia-diffrules" ,julia-diffrules) + ("julia-forwarddiff" ,julia-forwarddiff) + ("julia-functionwrappers" ,julia-functionwrappers) + ("julia-macrotools" ,julia-macrotools) + ("julia-nanmath" ,julia-nanmath) + ("julia-specialfunctions" ,julia-specialfunctions) + ("julia-staticarrays" ,julia-staticarrays))) + (native-inputs + `(("julia-difftests" ,julia-difftests) + ("julia-fillarrays" ,julia-fillarrays))) + (home-page "https://github.com/JuliaDiff/ReverseDiff.jl") + (synopsis "Reverse Mode Automatic Differentiation for Julia") + (description "ReverseDiff is a fast and compile-able tape-based reverse mode +@acronym{AD, automatic differentiation}, that implements methods to take +gradients, Jacobians, Hessians, and higher-order derivatives of native Julia +functions (or any callable object, really).") + (license license:expat))) + +(define-public julia-functionwrappers + (package + (name "julia-functionwrappers") + (version "1.1.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/yuyichao/FunctionWrappers.jl/") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "02jilpjr7px6138dx2w7ixricvfgsxqdk84d9dgviranibhnjcxa")))) + (build-system julia-build-system) + (arguments + `(#:tests? #f)) ; TODO: Fix test failure + (home-page "https://github.com/yuyichao/FunctionWrappers.jl/") + (synopsis "Type stable and efficient wrapper of arbitrary functions") + (description "This package provides type stable and efficient wrapper of arbitrary functions.") + (license license:expat))) + +(define-public julia-linesearches + (package + (name "julia-linesearches") + (version "7.1.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaNLSolvers/LineSearches.jl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1qc4la07w6s1xhcyd0hvbnpr31zc1a2ssgyybc8biv5m00g0dnr0")))) + (build-system julia-build-system) + (arguments + `(#:tests? #f)) ; Tests require Optim.jl, creating a cycle. + (propagated-inputs + `(("julia-doublefloats" ,julia-doublefloats) + ("julia-nlsolversbase" ,julia-nlsolversbase) + ("julia-nanmath" ,julia-nanmath) + ("julia-parameters" ,julia-parameters))) + (native-inputs + `(("julia-doublefloats" ,julia-doublefloats) + ;("julia-optim" ,julia-optim) + ("julia-optimtestproblems" ,julia-optimtestproblems))) + (home-page "https://github.com/JuliaNLSolvers/LineSearches.jl") + (synopsis "Line search methods for optimization and root-finding") + (description "This package provides an interface to line search algorithms +implemented in Julia.") + (license license:expat))) + +(define-public julia-doublefloats + (package + (name "julia-doublefloats") + (version "1.1.21") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaMath/DoubleFloats.jl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0bpx2y05mmnk77lsg3gnxcjvag5h75nk5pyv0xrw53a8b62ja57y")))) + (build-system julia-build-system) + (propagated-inputs + `(("julia-genericlinearalgebra" ,julia-genericlinearalgebra) + ("julia-polynomials" ,julia-polynomials) + ("julia-quadmath" ,julia-quadmath) + ("julia-requires" ,julia-requires) + ("julia-specialfunctions" ,julia-specialfunctions))) + (native-inputs + `(("julia-genericlinearalgebra" ,julia-genericlinearalgebra) + ("julia-genericschur" ,julia-genericschur) + ("julia-specialfunctions" ,julia-specialfunctions))) + (home-page "https://github.com/JuliaMath/DoubleFloats.jl") + (synopsis "Extended precision float and complex types") + (description "This package provides a math library with extended precision +floats and complex types.") + (license license:expat))) + +(define-public julia-polynomials + (package + (name "julia-polynomials") + (version "2.0.10") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaMath/Polynomials.jl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0mz7ls281d6166w9808lwgn007dsk8pqi4qmdf0jiiipy5a0a4ji")))) + (build-system julia-build-system) + ;(arguments + ; `(#:tests? #f)) + (propagated-inputs + `( + ("julia-intervals" ,julia-intervals) + ("julia-mutablearithmetics" ,julia-mutablearithmetics) + ;("julia-recipesbase" ,julia-recipesbase) + )) + (native-inputs + `( + ("julia-specialfunctions" ,julia-specialfunctions) + )) + (home-page "https://github.com/JuliaMath/Polynomials.jl") + (synopsis "Polynomial manipulations in Julia") + (description "This package provides basic arithmetic, integration, +differentiation, evaluation, and root finding over dense univariate +polynomials.") + (license license:expat))) + +(define-public julia-intervals + (package + (name "julia-intervals") + (version "1.5.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/invenia/Intervals.jl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1nj40fjx0q3gszq0r8h6scnzyldp68yv1y2lpmmbxraf47644q0n")))) + (build-system julia-build-system) + (arguments + `(#:tests? #f)) ; TODO: Fix! broken with timezone stuff + (propagated-inputs + `( + ("julia-documenter" ,julia-documenter) + ("julia-infinity" ,julia-infinity) + ("julia-recipesbase" ,julia-recipesbase) + )) + (native-inputs + `( + )) + (home-page "https://github.com/invenia/Intervals.jl") + (synopsis "Non-iterable ranges") + (description "This package defines: + + AbstractInterval, along with its subtypes Interval and AnchoredInterval, and also Bound.") + (license license:expat))) + +(define-public julia-infinity + (package + (name "julia-infinity") + (version "0.2.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cjdoris/Infinity.jl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1bw7p88l8svb7455srz0jmw8ap17r2wwgz5y02vr9s8cg4lbsps5")))) + (build-system julia-build-system) + ;(arguments + ; `(#:tests? #f)) + (propagated-inputs + `( + ("julia-compat" ,julia-compat) + ("julia-requires" ,julia-requires) + ("julia-timezones" ,julia-timezones) + )) + (native-inputs + `( + ("julia-compat" ,julia-compat) + ("julia-timezones" ,julia-timezones) + )) + (home-page "https://juliahub.com/docs/Infinity/") + (synopsis "Representation of infinity in Julia") + (description "This package provides representations for infinity and negative infinity in Julia.") + (license license:gpl3))) + +;; TODO: Keep this in sync with tzdata in base.scm +(define-public julia-timezones + (package + (name "julia-timezones") + (version "1.5.5") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaTime/TimeZones.jl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0f6rk1g4ffj4r6g8hfy0ygk4vyppibywkxgixhbgnc09w8y0009d")))) + (build-system julia-build-system) + (arguments + `(#:tests? #f ; Tests attempt to download timezone information + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-tzdata + (lambda* (#:key inputs #:allow-other-keys) + ;(substitute* "src/tzdata/TZData.jl" + ; (("(COMPILED_DIR = ).*" _ key) + ; (string-append key "\"" (assoc-ref inputs "tzdata") "/share/zoneinfo\""))) + (substitute* "test/runtests.jl" + (("2016j") "2021a") + ((".*download.jl.*") "") + ) + (make-file-writable "Artifacts.toml") + (with-output-to-file "Artifacts.toml" + (lambda _ + (format #t "[tzdata2021a]~@ + git-tree-sha1 = \"6d94ada27957590cbd0d7678f5ae711232a4d714\"~@ + lazy = true~@ + ~@ + [[tzdata2021a.download]]~@ + sha256 = \"39e7d2ba08c68cbaefc8de3227aab0dec2521be8042cf56855f7dc3a9fb14e08\"~@ + url = \"file://~a\"~%" + (assoc-ref inputs "tzdata-src")))) + #t)) + ))) + (propagated-inputs + `( + ("julia-lazyartifacts" ,julia-lazyartifacts) + ("julia-mocking" ,julia-mocking) + ("julia-recipesbase" ,julia-recipesbase) + )) + (native-inputs + `( + ;("julia-compat" ,julia-compat) + ;("julia-timezones" ,julia-timezones) + ;("curl" ,(@ (gnu packages curl) curl-minimal)) + ;("tzdata" ,(@ (gnu packages base) tzdata)) + ("tzdata-src" ,(package-source (@ (gnu packages base) tzdata))) + )) + (home-page "https://juliahub.com/docs/Infinity/") + (synopsis "IANA time zone database access for the Julia programming language") + (description "IANA time zone database access for the Julia programming language. TimeZones.jl extends the Date/DateTime support for Julia to include a new time zone aware TimeType: ZonedDateTime.") + (license license:expat))) + +(define-public julia-mocking + (package + (name "julia-mocking") + (version "0.7.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/invenia/Mocking.jl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "10jz716v6i3gpd403rmcrip6cncjl9lqr12cdl321x1994a5g8ck")))) + (build-system julia-build-system) + ;(arguments + ; `(#:tests? #f)) + (propagated-inputs + `( + ("julia-exprtools" ,julia-exprtools) + ;("julia-recipesbase" ,julia-recipesbase) + )) + (native-inputs + `( + ;("julia-compat" ,julia-compat) + ;("julia-timezones" ,julia-timezones) + )) + (home-page "https://github.com/invenia/Mocking.jl") + (synopsis "Julia function calls to be temporarily overloaded for purpose of testing") + (description "Allows Julia function calls to be temporarily overloaded for purpose of testing.") + (license license:expat))) + +(define-public julia-exprtools + (package + (name "julia-exprtools") + (version "0.1.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com.cnpmjs.org/invenia/ExprTools.jl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1lwxi9fx9farf1jdv42gv43xs3f3i3js2xnvr5gf6d0xfx0g6b6a")))) + (build-system julia-build-system) + ;(arguments + ; `(#:tests? #f)) + (propagated-inputs + `( + ("julia-recipesbase" ,julia-recipesbase) + )) + (native-inputs + `( + ;("julia-compat" ,julia-compat) + ;("julia-timezones" ,julia-timezones) + )) + (home-page "https://github.com.cnpmjs.org/invenia/ExprTools.jl") + (synopsis "Light-weight expression manipulation tools") + (description "ExprTools provides tooling for working with Julia expressions during metaprogramming. This package aims to provide light-weight performant tooling without requiring additional package dependencies.") + (license license:expat))) + +(define-public julia-lazyartifacts + (package + (name "julia-lazyartifacts") + (version "1.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaPackaging/LazyArtifacts.jl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0qln5pq2zm68wgm104cxyviiql8xkv7rf68hivar2b7x2a8vwnk0")))) + (build-system julia-build-system) + ;(arguments + ; `(#:tests? #f)) + (propagated-inputs + `( + ;("julia-recipesbase" ,julia-recipesbase) + )) + (native-inputs + `( + ;("julia-compat" ,julia-compat) + ;("julia-timezones" ,julia-timezones) + )) + (home-page "https://github.com/JuliaPackaging/LazyArtifacts.jl") + (synopsis "LazyArtifacts support for older versions of Julia") + (description "This is a wrapper package meant to bridge the gap for packages that want to use the LazyArtifacts stdlib as a dependency within packages that still support Julia versions older than 1.6.") + (license license:expat))) + +(define-public julia-mutablearithmetics + (package + (name "julia-mutablearithmetics") + (version "0.2.19") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jump-dev/MutableArithmetics.jl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1zjfq5sh0rc941pbc9kvnr6a2lpr4yd276mw62vbncbz9jg52rrg")))) + (build-system julia-build-system) + ;(arguments + ; `(#:tests? #f)) + (propagated-inputs + `( + ("julia-offsetarrays" ,julia-offsetarrays) + )) + (native-inputs + `( + ;("julia-sparsearrays" ,julia-sparsearrays) + )) + (home-page "https://github.com/jump-dev/MutableArithmetics.jl") + (synopsis "Interface for arithmetics on mutable types in Julia") + (description "MutableArithmetics (MA for short) is a Julia package which allows: + + for mutable types to implement mutable arithmetics; + for algorithms that could exploit mutable arithmetics to exploit them while still being completely generic. + ") + (license license:mpl2.0))) + +(define-public julia-quadmath + (package + (name "julia-quadmath") + (version "0.5.5") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaMath/Quadmath.jl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "051biw4b9zni7cmh2f1yzifp1v8wazlfxrdz4p44lyd1wba6379w")))) + (build-system julia-build-system) + ;(arguments + ; `(#:tests? #f)) + (propagated-inputs + `( + ("julia-requires" ,julia-requires) + )) + (native-inputs + `( + ("julia-specialfunctions" ,julia-specialfunctions) + )) + (home-page "https://github.com/JuliaMath/Quadmath.jl") + (synopsis "Float128 and libquadmath for the Julia language") + (description "This is a Julia interface to libquadmath, providing a Float128 type corresponding to the IEEE754 binary128 floating point format.") + (license license:expat))) + +(define-public julia-genericschur + (package + (name "julia-genericschur") + (version "0.5.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/RalphAS/GenericSchur.jl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0kklc2niylvynhq0v49kdmy58m9jmr5jxjf287k1wr9r81fya3sz")))) + (build-system julia-build-system) + (arguments + `(#:tests? #f)) ; TODO: Fix later + (propagated-inputs + `( + ;("julia-requires" ,julia-requires) + )) + (native-inputs + `( + ;("julia-specialfunctions" ,julia-specialfunctions) + )) + (home-page "https://github.com/RalphAS/GenericSchur.jl") + (synopsis "Julia package for Schur decomposition of matrices with generic element types") + (description "The Schur decomposition is the workhorse for eigensystem analysis of dense matrices. The diagonal eigen-decomposition of normal (especially Hermitian) matrices is an important special case, but for non-normal matrices the Schur form is often more useful.") + (license license:expat))) |