[PATCH 00/29] Add Zygote (piece for Machine Learning with Julia)

DoneSubmitted by zimoun.
Details
3 participants
  • Nicolò Balzarotti
  • Ludovic Courtès
  • zimoun
Owner
unassigned
Severity
normal
Z
Z
zimoun wrote on 23 Mar 20:42 +0100
(address . guix-patches@gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210323194211.16398-1-zimon.toutoune@gmail.com
Hi,
This adds all the packages required to build Zygote, the source-to-sourceautomatic differentiation in Julia.
https://github.com/FluxML/Zygote.jl
It is the first brick to have Flux, the Julia machine learning framework.
https://github.com/FluxML/Flux.jl
Noting that (at least 3) large pieces are still missing: Juno, Documenter andCUDA.
Speaking about the Julia package CUDA, it is required by the test suite ofZygote, that's why the #:tests? is #f. However, we manually check the packageby running the small examples, e.g.,
Toggle snippet (31 lines)$ ./pre-inst-env guix environment -C --ad-hoc julia julia-zygote -- juliajulia> using Zygote[ Info: Precompiling Zygote [e88e6eb3-aa80-5325-afca-941959d7151f]
julia> f(x) = 5x + 3f (generic function with 1 method)
julia> f(10), f'(10)(53, 5)
julia> @code_llvm f'(10)
; @ /gnu/store/5m6676w77bbz44prbfxhxmk88srgxy81-profile/share/julia/packages/Zygote/src/compiler/interface.jl:62 within `#43'define i64 @"julia_#43_2036"(i64) {top: ret i64 5}
julia> W, b = rand(2, 3), rand(2);
julia> predict(x) = W*x .+ b;
julia> g = gradient(Params([W, b])) do sum(predict([1,2,3])) endGrads(...)
julia> g[W], g[b]([1.0 2.0 3.0; 1.0 2.0 3.0], 2-element Fill{Float64}: entries equal to 1.0)
All the packages are not archived because of the rate limit. They should be soon.
Toggle snippet (30 lines)for n in $(git log -30 --format="%s" --reverse | cut -d'-' -f2 | sed 's/\.//');do ./pre-inst-env guix lint -c archival julia-${n} ;done
gnu/packages/julia-xyz.scm:397:7: julia-constructionbase@1.1.0: scheduled Software Heritage archivalgnu/packages/julia-xyz.scm:817:5: julia-macrotools@0.5.6: scheduled Software Heritage archivalgnu/packages/julia-xyz.scm:1040:5: julia-reexport@1.0.0: scheduled Software Heritage archivalgnu/packages/julia-xyz.scm:723:5: julia-irtools@0.4.2: scheduled Software Heritage archivalgnu/packages/julia-xyz.scm:283:5: julia-colortypes@0.10.12: scheduled Software Heritage archivalgnu/packages/julia-xyz.scm:1059:5: julia-requires@1.1.3: scheduled Software Heritage archivalgnu/packages/julia-xyz.scm:1085:5: julia-richardson@1.4.0: scheduled Software Heritage archivalgnu/packages/julia-xyz.scm:552:5: julia-finitedifferences@0.12.2: Software Heritage rate limit reached; try again latergnu/packages/julia-xyz.scm:211:5: julia-chainrulestestutils@0.6.4: archival rate limit exceeded; try again later
gnu/packages/julia-xyz.scm:528:5: julia-fillarrays@0.11.7: archival rate limit exceeded; try again latergnu/packages/julia-xyz.scm:309:5: julia-commonsubexpressions@0.3.0: archival rate limit exceeded; try again latergnu/packages/julia-xyz.scm:131:5: julia-calculus@0.5.1: archival rate limit exceeded; try again latergnu/packages/julia-xyz.scm:441:5: julia-diffresults@1.0.3: archival rate limit exceeded; try again latergnu/packages/julia-xyz.scm:488:5: julia-difftests@0.1.1: archival rate limit exceeded; try again laterguix lint: error: julia-compilersupportlibraries: unknown packageguix lint: error: julia-openspecfun: unknown packagegnu/packages/julia-xyz.scm:1112:5: julia-specialfunctions@1.3.0: archival rate limit exceeded; try again latergnu/packages/julia-xyz.scm:155:5: julia-chainrules@0.7.54: archival rate limit exceeded; try again latergnu/packages/julia-xyz.scm:613:5: julia-forwarddiff@0.10.17: archival rate limit exceeded; try again latergnu/packages/julia-xyz.scm:1221:5: julia-zygoterules@0.2.1: archival rate limit exceeded; try again latergnu/packages/julia-xyz.scm:1243:5: julia-zygote@0.6.4: archival rate limit exceeded; try again later

Last, well, I feel motivated to implement an (recursive) importer, eveninaccurate, it will greatly help.

All the best,simon
zimoun (29): gnu: Add julia-constructionbase. gnu: Add julia-macrotools. gnu: Add julia-nanmath. gnu: Add julia-reexport. gnu: Add julia-irtools. gnu: Add julia-staticarrays. gnu: Add julia-unitful. gnu: Add julia-abstractffts. gnu: Add julia-colortypes. gnu: Add julia-colors. gnu: Add julia-example. gnu: Add julia-requires. gnu: Add julia-chainrulescore. gnu: Add julia-richardson. gnu: Add julia-finitedifferences. gnu: Add julia-chainrulestestutils. gnu: Add julia-fillarrays. gnu: Add julia-commonsubexpressions. gnu: Add julia-calculus. gnu: Add julia-diffresults. gnu: Add julia-difftests. gnu: Add julia-compilersupportlibraries-jll. gnu: Add julia-openspecfun-jll. gnu: Add julia-specialfunctions. gnu: Add julia-diffrules. gnu: Add julia-chainrules. gnu: Add julia-forwarddiff. gnu: Add julia-zygoterules. gnu: Add julia-zygote.
gnu/packages/julia-xyz.scm | 777 +++++++++++++++++++++++++++++++++++++ 1 file changed, 777 insertions(+)

base-commit: a2f3a456bec357394fe550d927c26bbbdaa7ba6e-- 2.28.0
Z
Z
zimoun wrote on 23 Mar 20:45 +0100
[PATCH 01/29] gnu: Add julia-constructionbase.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210323194558.17819-1-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-constructionbase): New variable.--- gnu/packages/julia-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+)
Toggle diff (41 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex 0d35cbde57..2e344fd6f1 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2020, 2021 Nicolò Balzarotti <nicolo@nixo.xyz>+;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;;@@ -117,6 +118,27 @@ provides a macro that lets you use the latest syntax in a backwards-compatible way.") (license license:expat))) +(define-public julia-constructionbase+ (let ((commit "de77e2865b554f9b078fd8c35b593cce0554ae02"))+ (package+ (name "julia-constructionbase")+ (version "1.1.0") ;tag not created upstream+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/JuliaObjects/ConstructionBase.jl")+ (commit commit)))+ (file-name (git-file-name name version))+ (sha256+ (base32 "1y79sfj0rds1skl9j16p9161hwa9khm0xc2m4hgjcbh5zzvyr57v"))))+ (build-system julia-build-system)+ (home-page "https://juliaobjects.github.io/ConstructionBase.jl/dev/")+ (synopsis "Primitive functions for construction of objects")+ (description "This very lightwight package provides primitive functions+for construction of objects.")+ (license license:expat))))+ (define-public julia-datastructures (package (name "julia-datastructures")-- 2.28.0
Z
Z
zimoun wrote on 23 Mar 20:45 +0100
[PATCH 03/29] gnu: Add julia-nanmath.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210323194558.17819-3-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-nanmath): New variable.--- gnu/packages/julia-xyz.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+)
Toggle diff (33 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex c187c905b0..e2cd912e4b 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -435,6 +435,26 @@ TLS} and cryptography C libary for Julia.") wrappers.") (license license:expat))) +(define-public julia-nanmath+ (package+ (name "julia-nanmath")+ (version "0.3.5")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/mlubin/NaNMath.jl")+ (commit (string-append "v" version))))+ (file-name (git-file-name name version))+ (sha256+ (base32 "1hczhz00qj99w63vp627kwk02l2sr2qmzc2rkwwkdwvzy670p25q"))))+ (build-system julia-build-system)+ (home-page "https://github.com/mlubin/NaNMath.jl")+ (synopsis "Implementations of basic math functions")+ (description "Implementations of basic math functions which return+@code{NaN} instead of throwing a @code{DomainError}.")+ (license license:expat)))+ (define-public julia-orderedcollections (package (name "julia-orderedcollections")-- 2.28.0
Z
Z
zimoun wrote on 23 Mar 20:45 +0100
[PATCH 02/29] gnu: Add julia-macrotools.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210323194558.17819-2-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-macrotools): New variable.--- gnu/packages/julia-xyz.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+)
Toggle diff (34 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex 2e344fd6f1..c187c905b0 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -344,6 +344,27 @@ used in autogenerated packages via @code{BinaryBuilder.jl}.") and printing JSON documents.") (license license:expat))) +(define-public julia-macrotools+ (package+ (name "julia-macrotools")+ (version "0.5.6")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/FluxML/MacroTools.jl")+ (commit (string-append "v" version))))+ (file-name (git-file-name name version))+ (sha256+ (base32 "0k4z2hyasd9cwxf4l61zk3w4ajs44k69wx6z1ghdn8f5p8xy217f"))))+ (build-system julia-build-system)+ (home-page "https://fluxml.ai/MacroTools.jl")+ (synopsis "Tools for working with Julia code and expressions")+ (description "This library provides tools for working with Jlia code and+expressions. This includes a template-matching system and code-walking tools+that let you do deep transformations of code..")+ (license license:expat)))+ (define-public julia-mbedtls (package (name "julia-mbedtls")-- 2.28.0
Z
Z
zimoun wrote on 23 Mar 20:45 +0100
[PATCH 04/29] gnu: Add julia-reexport.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210323194558.17819-4-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-reexport): New variable.--- gnu/packages/julia-xyz.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+)
Toggle diff (32 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex e2cd912e4b..727c4285f9 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -522,6 +522,25 @@ languages like Fortran.") utilities for Julia.") (license license:expat))) +(define-public julia-reexport+ (package+ (name "julia-reexport")+ (version "1.0.0")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/simonster/Reexport.jl")+ (commit version)))+ (file-name (git-file-name name version))+ (sha256+ (base32 "1yhhja1zz6dy5f4fd19bdwd6jwgj7q4w3avzgyg1hjhmdl8jrh0s"))))+ (build-system julia-build-system)+ (home-page "https://github.com/simonster/Reexport.jl")+ (synopsis "Re-export modules and symbols")+ (description "This package provides tools to re-export modules and symbols.")+ (license license:expat)))+ (define-public julia-uris (package (name "julia-uris")-- 2.28.0
Z
Z
zimoun wrote on 23 Mar 20:45 +0100
[PATCH 05/29] gnu: Add julia-irtools.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210323194558.17819-5-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-irtools): New variable.--- gnu/packages/julia-xyz.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+)
Toggle diff (39 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex 727c4285f9..9a34fea4ea 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -276,6 +276,32 @@ implementing both a client and a server.") allows to interface with @file{.ini} files.") (license license:expat))) +(define-public julia-irtools+ (package+ (name "julia-irtools")+ (version "0.4.2")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/FluxML/IRTools.jl")+ (commit (string-append "v" version))))+ (file-name (git-file-name name version))+ (sha256+ (base32 "0wwzy77jcdnffnd5fr6xan7162g4wydz67igrq82wflwnrhlcx5y"))))+ (arguments+ '(#:tests? #f)) ;require Documenter, not packaged yet+ (build-system julia-build-system)+ (propagated-inputs+ `(("julia-macrotools" ,julia-macrotools)))+ (home-page "https://github.com/FluxML/IRTools.jl")+ (synopsis "Simpe and flexible IR format")+ (description "This package provides a simple and flexible IR format,+expressive enough to work with both lowered and typed Julia code, as well as+external IRs. It can be used with Julia metaprogramming tools such as+Cassette.")+ (license license:expat)))+ (define-public julia-jllwrappers (package (name "julia-jllwrappers")-- 2.28.0
Z
Z
zimoun wrote on 23 Mar 20:45 +0100
[PATCH 06/29] gnu: Add julia-staticarrays.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210323194558.17819-6-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-staticarrays): New variable.--- gnu/packages/julia-xyz.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+)
Toggle diff (38 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex 9a34fea4ea..226d4dff6c 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -567,6 +567,31 @@ utilities for Julia.") (description "This package provides tools to re-export modules and symbols.") (license license:expat))) +(define-public julia-staticarrays+ (package+ (name "julia-staticarrays")+ (version "1.0.1")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/JuliaArrays/StaticArrays.jl")+ (commit (string-append "v" version))))+ (file-name (git-file-name name version))+ (sha256+ (base32 "01z8bcqwpfkp8p1h1r36pr5cc3798y76zkas7g3206pcsdhvlkz1"))))+ (build-system julia-build-system)+ (inputs+ `(("julia-benchmarktools" ,julia-benchmarktools)))+ (home-page "https://github.com/JuliaArrays/StaticArrays.jl")+ (synopsis "Statically sized arrays")+ (description "This package provides a framework for implementing+statically sized arrays in Julia, using the abstract type+@code{StaticArray{Size,T,N} <: AbstractArray{T,N}}. Subtypes of+@code{StaticArray} will provide fast implementations of common array and+linear algebra operations.")+ (license license:expat)))+ (define-public julia-uris (package (name "julia-uris")-- 2.28.0
Z
Z
zimoun wrote on 23 Mar 20:45 +0100
[PATCH 07/29] gnu: Add julia-unitful.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210323194558.17819-7-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-unitful): New variable.--- gnu/packages/julia-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+)
Toggle diff (32 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex 226d4dff6c..5d3db1cd4b 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -625,3 +625,25 @@ linear algebra operations.") working with @acronym{URIs,Uniform Resource Identifiers}, as defined in RFC 3986.") (license license:expat)))++(define-public julia-unitful+ (package+ (name "julia-unitful")+ (version "1.6.0")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/PainterQubits/Unitful.jl")+ (commit (string-append "v" version))))+ (file-name (git-file-name name version))+ (sha256+ (base32 "0g5bhlvay9yk11c5dqwbzmb3q7lzj0cq5zchyk39d59fkvvmxvq3"))))+ (build-system julia-build-system)+ (propagated-inputs+ `(("julia-constructionbase" ,julia-constructionbase)))+ (home-page "https://painterqubits.github.io/Unitful.jl/stable/")+ (synopsis "Physical units in Julia")+ (description "This package supports SI units and also many other unit+system.")+ (license license:expat)))-- 2.28.0
Z
Z
zimoun wrote on 23 Mar 20:45 +0100
[PATCH 08/29] gnu: Add julia-abstractffts.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210323194558.17819-8-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-abstractffts): New variable.--- gnu/packages/julia-xyz.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+)
Toggle diff (38 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex 5d3db1cd4b..d417a996f8 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -24,6 +24,31 @@ #:use-module (guix build-system julia) #:use-module (gnu packages tls)) +(define-public julia-abstractffts+ (package+ (name "julia-abstractffts")+ (version "1.0.1")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/JuliaMath/AbstractFFTS.jl")+ (commit (string-append "v" version))))+ (file-name (git-file-name name version))+ (sha256+ (base32 "0083pwdyxjb04i330ir9pc8kmp4bwk59lx1jgc9qi05y8j7xzbp0"))))+ (build-system julia-build-system)+ (inputs ;required for tests+ `(("julia-unitful" ,julia-unitful)))+ (home-page "https://github.com/JuliaGPU/Adapt.jl")+ (synopsis "General framework for fast Fourier transforms (FFTs)")+ (description "This package allows multiple FFT packages to co-exist with+the same underlying @code{fft(x)} and @code{plan_fft(x)} interface. It is+mainly not intended to be used directly. Instead, developers of packages that+implement FFTs (such as @code{FFTW.jl} or @code{FastTransforms.jl}) extend the+types/functions defined in AbstractFFTs.")+ (license license:expat)))+ (define-public julia-adapt (package (name "julia-adapt")-- 2.28.0
Z
Z
zimoun wrote on 23 Mar 20:45 +0100
[PATCH 09/29] gnu: Add julia-colortypes.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210323194558.17819-9-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-colortypes): New variable.--- gnu/packages/julia-xyz.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+)
Toggle diff (39 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex d417a996f8..3213efd715 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -121,6 +121,32 @@ operations. It can wrap any @code{IO} type automatically making incremental reading and writing faster.") (license license:expat))) +(define-public julia-colortypes+ (package+ (name "julia-colortypes")+ (version "0.10.12")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/JuliaGraphics/ColorTypes.jl")+ (commit (string-append "v" version))))+ (file-name (git-file-name name version))+ (sha256+ (base32 "176hr3qbz7lncmykks2qaj3cqisnzim7wi5jwsca9ld26wwyvyqq"))))+ (arguments+ '(#:tests? #f)) ;require Documenter, not packaged yet+ (build-system julia-build-system)+ (propagated-inputs+ `(("julia-fixedpointnumbers" ,julia-fixedpointnumbers)))+ (home-page "https://github.com/JuliaGraphics/ColorTypes.jl")+ (synopsis "Basic color types and constructor")+ (description "This minimalistic package serves as the foundation for+working with colors in Julia. It defines basic color types and their+constructors, and sets up traits and show methods to make them easier to work+with.")+ (license license:expat)))+ (define-public julia-compat (package (name "julia-compat")-- 2.28.0
Z
Z
zimoun wrote on 23 Mar 20:46 +0100
[PATCH 10/29] gnu: Add julia-colors.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210323194641.18110-1-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-colors): New variable.--- gnu/packages/julia-xyz.scm | 40 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+)
Toggle diff (53 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex 3213efd715..84c98b32af 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -121,6 +121,46 @@ operations. It can wrap any @code{IO} type automatically making incremental reading and writing faster.") (license license:expat))) +(define-public julia-colors+ (package+ (name "julia-colors")+ (version "0.12.6")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/JuliaGraphics/Colors.jl")+ (commit (string-append "v" version))))+ (file-name (git-file-name name version))+ (sha256+ (base32 "156zsszgwh6bmznsan0zyha6yvcxw3c5mvc5vr2qfsgxbyh36ln6"))))+ (arguments+ '(#:phases+ (modify-phases %standard-phases+ (add-after 'unpack 'fix-test+ (lambda _+ (substitute* "test/parse.jl"+ (("@test_logs \\(:warn, r\"Use \\\\\"SeaGreen\\\\\" or \\\\\"seagreen\\\\\"\"\\)")+ ""))+ (substitute* "test/utilities.jl"+ (("@test_logs \\(:warn, r\"Base\\\\\\.hex\\\\\\(c\\\\\\) has been moved\"\\)")+ "")+ (("@test_logs \\(:warn, r\"will soon be changed\"\\)")+ ""))+ #t)))))+ (build-system julia-build-system)+ (propagated-inputs+ `(("julia-colortypes" ,julia-colortypes)+ ("julia-fixedpointnumbers" ,julia-fixedpointnumbers)+ ("julia-reexport" ,julia-reexport)))+ (home-page "https://github.com/JuliaGraphics/Colors.jl")+ (synopsis "Tools for dealing with color")+ (description "This package provides a wide array of functions for dealing+with color. This includes conversion between colorspaces, measuring distance+between colors, simulating color blindness, parsing colors, and generating+color scales for graphics.")+ (license license:expat)))+ (define-public julia-colortypes (package (name "julia-colortypes")-- 2.28.0
Z
Z
zimoun wrote on 23 Mar 20:46 +0100
[PATCH 11/29] gnu: Add julia-example.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210323194641.18110-2-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-example): New variable.--- gnu/packages/julia-xyz.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+)
Toggle diff (33 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex 84c98b32af..09e2c3ae6f 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -254,6 +254,26 @@ including, @code{CircularBuffer}, @code{Queue}, @code{Stack}, @code{Accumulators}, @code{LinkedLists}, @code{SortedDicts} and many others.") (license license:expat))) +(define-public julia-example+ (let ((commit "f968c69dea24f851d0c7e686db23fa55826b5388"))+ (package+ (name "julia-example")+ (version "0.5.4") ;tag not created upstream+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/JuliaLang/Example.jl")+ (commit commit)))+ (file-name (git-file-name name version))+ (sha256+ (base32 "1v3z0d6gh6wfbypffy9m9rhh36px6fm5wjzq0y6rbmc95r0qpqlx"))))+ (build-system julia-build-system)+ (home-page "https://github.com/JuliaLang/Example.jl")+ (synopsis "Module providing examples")+ (description "This package provides various examples.")+ (license license:expat))))+ (define-public julia-fixedpointnumbers (package (name "julia-fixedpointnumbers")-- 2.28.0
Z
Z
zimoun wrote on 23 Mar 20:46 +0100
[PATCH 12/29] gnu: Add julia-requires.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210323194641.18110-3-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-requires): New variable.--- gnu/packages/julia-xyz.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+)
Toggle diff (39 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex 09e2c3ae6f..f0df73a23c 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -678,6 +678,32 @@ utilities for Julia.") (description "This package provides tools to re-export modules and symbols.") (license license:expat))) +(define-public julia-requires+ (package+ (name "julia-requires")+ (version "1.1.3")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/JuliaPackaging/Requires.jl/")+ (commit (string-append "v" version))))+ (file-name (git-file-name name version))+ (sha256+ (base32 "03hyfy7c0ma45b0y756j76awi3az2ii4bz4s8cxm3xw9yy1z7b01"))))+ (build-system julia-build-system)+ (inputs ;required for test+ `(("julia-example" ,julia-example)))+ (propagated-inputs+ `(("julia-colors" ,julia-colors)))+ (home-page "https://github.com/JuliaPackaging/Requires.jl/")+ (synopsis "Faster package loader")+ (description "This package make loading packages faster, maybe. It+supports specifying glue code in packages which will load automatically when+another package is loaded, so that explicit dependencies (and long load times)+can be avoided.")+ (license license:expat)))+ (define-public julia-staticarrays (package (name "julia-staticarrays")-- 2.28.0
Z
Z
zimoun wrote on 23 Mar 20:46 +0100
[PATCH 13/29] gnu: Add julia-chainrulescore.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210323194641.18110-4-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-chainrulescore): New variable.--- gnu/packages/julia-xyz.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+)
Toggle diff (38 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex f0df73a23c..f3a37839e8 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -121,6 +121,31 @@ operations. It can wrap any @code{IO} type automatically making incremental reading and writing faster.") (license license:expat))) +(define-public julia-chainrulescore+ (package+ (name "julia-chainrulescore")+ (version "0.9.29")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/JuliaDiff/ChainRulesCore.jl")+ (commit (string-append "v" version))))+ (file-name (git-file-name name version))+ (sha256+ (base32 "1k0iayw39n1ikkkhvyi4498vsnzc94skqs41gnd15632gxjfvki4"))))+ (build-system julia-build-system)+ (inputs ;required for tests+ `(("julia-benchmarktools" ,julia-benchmarktools)+ ("julia-staticarrays" ,julia-staticarrays)))+ (propagated-inputs+ `(("julia-compat" ,julia-compat)))+ (home-page "https://github.com/JuliaDiff/ChainRulesCore.jl")+ (synopsis "Common utilities used by downstream automatic differentiation tools")+ (description "The package provides a light-weight dependency for defining+sensitivities for functions without the need to depend on ChainRules itself.")+ (license license:expat)))+ (define-public julia-colors (package (name "julia-colors")-- 2.28.0
Z
Z
zimoun wrote on 23 Mar 20:46 +0100
[PATCH 14/29] gnu: Add julia-richardson.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210323194641.18110-5-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-richardson): New variable.--- gnu/packages/julia-xyz.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+)
Toggle diff (40 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex f3a37839e8..a4841fb0f7 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -729,6 +729,33 @@ another package is loaded, so that explicit dependencies (and long load times) can be avoided.") (license license:expat))) +(define-public julia-richardson+ (package+ (name "julia-richardson")+ (version "1.4.0")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/JuliaMath/Richardson.jl")+ (commit (string-append "v" version))))+ (file-name (git-file-name name version))+ (sha256+ (base32 "06v9ii3d7hh41fsrfklaa8ap55z5s017f888mrd1c18y4fx9i4nx"))))+ (build-system julia-build-system)+ (home-page "https://juliapackages.com/p/richardson")+ (synopsis "Extrapolate function using Richardson method")+ (description "This package provides a function extrapolate that+extrapolates a given function @code{f(x)} to @code{f(x0)}, evaluating @code{f}+only at a geometric sequence of points @code{> x0} (or optionally @code{<+x0}). The key algorithm is Richardson extrapolation using a Neville–Aitken+tableau, which adaptively increases the degree of an extrapolation polynomial+until convergence is achieved to a desired tolerance (or convergence stalls+due to e.g. floating-point errors). This allows one to obtain @code{f(x0)} to+high-order accuracy, assuming that @code{f(x0+h)} has a Taylor series or some+other power series in @code{h}.")+ (license license:expat)))+ (define-public julia-staticarrays (package (name "julia-staticarrays")-- 2.28.0
Z
Z
zimoun wrote on 23 Mar 20:46 +0100
[PATCH 15/29] gnu: Add julia-finitedifferences.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210323194641.18110-6-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-finitedifferences): New variable.--- gnu/packages/julia-xyz.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+)
Toggle diff (39 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex a4841fb0f7..5eb9217eae 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -299,6 +299,32 @@ including, @code{CircularBuffer}, @code{Queue}, @code{Stack}, (description "This package provides various examples.") (license license:expat)))) +(define-public julia-finitedifferences+ (package+ (name "julia-finitedifferences")+ (version "0.12.2")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/JuliaDiff/FiniteDifferences.jl")+ (commit (string-append "v" version))))+ (file-name (git-file-name name version))+ (sha256+ (base32 "0dcx34026xdpfmbjls3mrknl8ww62kxxfr77kfihbazsfg2gp5b4"))))+ (build-system julia-build-system)+ (inputs+ `(("julia-benchmarktools" ,julia-benchmarktools)))+ (propagated-inputs+ `(("julia-chainrulescore" ,julia-chainrulescore)+ ("julia-richardson" ,julia-richardson)+ ("julia-staticarrays" ,julia-staticarrays)))+ (home-page "https://github.com/JuliaDiff/FiniteDifferences.jl")+ (synopsis "Estimates derivatives with finite differences")+ (description "This package calculates approximate derivatives numerically+using finite difference.")+ (license license:expat)))+ (define-public julia-fixedpointnumbers (package (name "julia-fixedpointnumbers")-- 2.28.0
Z
Z
zimoun wrote on 23 Mar 20:46 +0100
[PATCH 16/29] gnu: Add julia-chainrulestestutils.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210323194641.18110-7-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-chainrulestestutils): New variable.--- gnu/packages/julia-xyz.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+)
Toggle diff (45 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex 5eb9217eae..6ddeee7172 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -146,6 +146,38 @@ reading and writing faster.") sensitivities for functions without the need to depend on ChainRules itself.") (license license:expat))) +(define-public julia-chainrulestestutils+ (package+ (name "julia-chainrulestestutils")+ (version "0.6.4")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/JuliaDiff/ChainRulesTestUtils.jl")+ (commit (string-append "v" version))))+ (file-name (git-file-name name version))+ (sha256+ (base32 "1pzs947adnb3cx1qd0cxp2fidk9szz0zsqbas90z1lhydykkvkil"))))+ (build-system julia-build-system)+ (propagated-inputs+ `(("julia-chainrulescore" ,julia-chainrulescore)+ ("julia-compat" ,julia-compat)+ ("julia-finitedifference" ,julia-finitedifferences)))+ (home-page "https://github.com/JuliaDiff/ChainRulesTestUtils.jl")+ (synopsis "Common utilities used by downstream automatic differentiation tools")+ (description "This package is designed to help in testing+@code{ChainRulesCore.frule} and @code{ChainRulesCore.rrule} methods. The main+entry points are @code{ChainRulesTestUtils.frule_test},+@code{ChainRulesTestUtils.rrule_test}, and+@code{ChainRulesTestUtils.test_scalar}. Currently this is done via testing the+rules against numerical differentiation (using @code{FiniteDifferences.jl}).++@code{ChainRulesTestUtils.jl} is separated from @code{ChainRulesCore.jl} so that it+can be a test-only dependency, allowing it to have potentially heavy+dependencies, while keeping @code{ChainRulesCore.jl} as light-weight as possible.")+ (license license:expat)))+ (define-public julia-colors (package (name "julia-colors")-- 2.28.0
Z
Z
zimoun wrote on 23 Mar 20:46 +0100
[PATCH 17/29] gnu: Add julia-fillarrays.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210323194641.18110-8-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-fillarrays): New variable.--- gnu/packages/julia-xyz.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+)
Toggle diff (37 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex 6ddeee7172..caae91cece 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -331,6 +331,30 @@ including, @code{CircularBuffer}, @code{Queue}, @code{Stack}, (description "This package provides various examples.") (license license:expat)))) +(define-public julia-fillarrays+ (package+ (name "julia-fillarrays")+ (version "0.11.7")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/JuliaArrays/FillArrays.jl")+ (commit (string-append "v" version))))+ (file-name (git-file-name name version))+ (sha256+ (base32 "1q1qn9pb5dmppddnmf8gggdqyvivqh3ffvbblhn37smcf9r5sy7d"))))+ (build-system julia-build-system)+ (inputs ;required by tests+ `(("julia-staticarrays" ,julia-staticarrays)))+ (home-page "https://github.com/JuliaArrays/FillArrays.jl")+ (synopsis "Lazy matrix representation")+ (description "This package allows to lazily represent matrices filled with+a single entry, as well as identity matrices. This package exports the+following types: @code{Eye}, @code{Fill}, @code{Ones}, @code{Zeros},+@code{Trues} and @code{Falses}.")+ (license license:expat)))+ (define-public julia-finitedifferences (package (name "julia-finitedifferences")-- 2.28.0
Z
Z
zimoun wrote on 23 Mar 20:46 +0100
[PATCH 18/29] gnu: Add julia-commonsubexpressions.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210323194641.18110-9-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-commonsubexpressions): New variable.--- gnu/packages/julia-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+)
Toggle diff (35 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex caae91cece..d14fa66fe5 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -244,6 +244,28 @@ constructors, and sets up traits and show methods to make them easier to work with.") (license license:expat))) +(define-public julia-commonsubexpressions+ (package+ (name "julia-commonsubexpressions")+ (version "0.3.0")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/rdeits/CommonSubexpressions.jl")+ (commit (string-append "v" version))))+ (file-name (git-file-name name version))+ (sha256+ (base32 "0mgy90kk8ksv3l720kkk04gnhn4aqhh2dj4sp3x8yy3limngfjay"))))+ (build-system julia-build-system)+ (propagated-inputs+ `(("julia-macrotools" ,julia-macrotools)))+ (home-page "https://github.com/rdeits/CommonSubexpressions.jl")+ (synopsis "Macro @code{@cse}")+ (description "This package provides the @code{@cse} macro, which performs+common subexpression elimination.")+ (license license:expat)))+ (define-public julia-compat (package (name "julia-compat")-- 2.28.0
Z
Z
zimoun wrote on 23 Mar 20:46 +0100
[PATCH 19/29] gnu: Add julia-calculus.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210323194641.18110-10-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-calculus): New variable.--- gnu/packages/julia-xyz.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+)
Toggle diff (37 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex d14fa66fe5..dfab3c20af 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -121,6 +121,30 @@ operations. It can wrap any @code{IO} type automatically making incremental reading and writing faster.") (license license:expat))) +(define-public julia-calculus+ (package+ (name "julia-calculus")+ (version "0.5.1")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/JuliaMath/Calculus.jl")+ (commit (string-append "v" version))))+ (file-name (git-file-name name version))+ (sha256+ (base32 "0xh0ak2ycsjw2h86ja24ch3kn2d18zx3frrds78aimwdnqb1gdc2"))))+ (build-system julia-build-system)+ (home-page "https://github.com/JuliaMath/Calculus.jl")+ (synopsis "Common utilities for automatic differentiation")+ (description "This package provides tools for working with the basic+calculus operations of differentiation and integration. The @code{Calculus}+package produces approximate derivatives by several forms of finite+differencing or produces exact derivative using symbolic differentiation. It+can also be used to compute definite integrals by different numerical+methods.")+ (license license:expat)))+ (define-public julia-chainrulescore (package (name "julia-chainrulescore")-- 2.28.0
Z
Z
zimoun wrote on 23 Mar 20:46 +0100
[PATCH 20/29] gnu: Add julia-diffresults.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210323194656.18303-1-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-diffresults): New variable.--- gnu/packages/julia-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+)
Toggle diff (35 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex dfab3c20af..12798e1d0f 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -357,6 +357,28 @@ including, @code{CircularBuffer}, @code{Queue}, @code{Stack}, @code{Accumulators}, @code{LinkedLists}, @code{SortedDicts} and many others.") (license license:expat))) +(define-public julia-diffresults+ (package+ (name "julia-diffresults")+ (version "1.0.3")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/JuliaDiff/DiffResults.jl")+ (commit (string-append "v" version))))+ (file-name (git-file-name name version))+ (sha256+ (base32 "1w6p3yxajvclax5b9g7cr2jmbc7lvr5nk4gq0aljxdycdq1d2y3v"))))+ (propagated-inputs+ `(("julia-staticarrays" ,julia-staticarrays)))+ (build-system julia-build-system)+ (home-page "https://github.com/JuliaDiff/DiffResults.jl")+ (synopsis "In-place differentiation methods of primal values at multi-order")+ (description "This package provides the @code{DiffResult} type, which can+be passed to in-place differentiation methods instead of an output buffer.")+ (license license:expat)))+ (define-public julia-example (let ((commit "f968c69dea24f851d0c7e686db23fa55826b5388")) (package-- 2.28.0
Z
Z
zimoun wrote on 23 Mar 20:46 +0100
[PATCH 21/29] gnu: Add julia-difftests.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210323194656.18303-2-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-difftests): New variable.--- gnu/packages/julia-xyz.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+)
Toggle diff (33 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex 12798e1d0f..e22e91bc78 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -379,6 +379,26 @@ including, @code{CircularBuffer}, @code{Queue}, @code{Stack}, be passed to in-place differentiation methods instead of an output buffer.") (license license:expat))) +(define-public julia-difftests+ (package+ (name "julia-difftests")+ (version "0.1.1")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/JuliaDiff/DiffTests.jl")+ (commit (string-append "v" version))))+ (file-name (git-file-name name version))+ (sha256+ (base32 "1rxpnd5zi3pxgdd38l5jm2sxc3q6p7g57fqgll2dsiin07y3my57"))))+ (build-system julia-build-system)+ (home-page "https://github.com/JuliaDiff/DiffTests.jl")+ (synopsis "Common test functions for differentiation tools")+ (description "This package contains a common suite of test functions for+stressing the robustness of differentiation tools.")+ (license license:expat)))+ (define-public julia-example (let ((commit "f968c69dea24f851d0c7e686db23fa55826b5388")) (package-- 2.28.0
Z
Z
zimoun wrote on 23 Mar 20:46 +0100
[PATCH 22/29] gnu: Add julia-compilersupportlibraries-jll.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210323194656.18303-3-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-compilersupportlibraries-jll): New variable.--- gnu/packages/julia-xyz.scm | 44 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+)
Toggle diff (64 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex e22e91bc78..02466fcd04 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -22,6 +22,7 @@ #:use-module (guix packages) #:use-module (guix git-download) #:use-module (guix build-system julia)+ #:use-module (gnu packages gcc) #:use-module (gnu packages tls)) (define-public julia-abstractffts@@ -312,6 +313,49 @@ provides a macro that lets you use the latest syntax in a backwards-compatible way.") (license license:expat))) +;;; TODO: Remove this autogenerated source package+;;; and build it from realse source using <https://github.com/JuliaPackaging/Yggdrasil/>+(define-public julia-compilersupportlibraries-jll+ (package+ (name "julia-compilersupportlibraries-jll")+ (version "0.4.0+1")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/JuliaBinaryWrappers/CompilerSupportLibraries_jll.jl")+ (commit (string-append "CompilerSupportLibraries-v" version))))+ (file-name (git-file-name name version))+ (sha256+ (base32 "03j6xdvps259mhdzpjqf41l65w2l9sahvxg4wrp34hcf69wkrzpy"))))+ (build-system julia-build-system)+ (arguments+ `(#:tests? #f ; no runtests.jl+ #:phases+ (modify-phases %standard-phases+ (add-after 'unpack 'override-binary-path+ (lambda* (#:key inputs #:allow-other-keys)+ (map+ (lambda (wrapper)+ (substitute* wrapper+ (("generate_wrapper_header.*")+ (string-append+ "generate_wrapper_header(\"CompilerSupportLibraries\", \""+ (assoc-ref inputs "gfortran:lib") "\")\n"))))+ ;; There's a Julia file for each platform, override them all+ (find-files "src/wrappers/" "\\.jl$"))+ #t)))))+ (inputs ;required by artifacts+ `(("gfortran:lib" ,gfortran "lib")))+ (propagated-inputs+ `(("julia-jllwrappers" ,julia-jllwrappers)))+ (home-page "https://github.com/JuliaBinaryWrappers/CompilerSupportLibraries_jll.jl")+ (synopsis "Internal wrappers")+ (description "This package is an autogenerated source package constructed+using @code{BinaryBuilder.jl}. The originating @code{build_tarballs.jl} script+can be found on the community build tree Yggdrasil.")+ (license license:expat)))+ (define-public julia-constructionbase (let ((commit "de77e2865b554f9b078fd8c35b593cce0554ae02")) (package-- 2.28.0
Z
Z
zimoun wrote on 23 Mar 20:46 +0100
[PATCH 24/29] gnu: Add julia-specialfunctions.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210323194656.18303-5-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-specialfunctions): New variable.--- gnu/packages/julia-xyz.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+)
Toggle diff (41 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex afa8e815f8..452b376371 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -1016,6 +1016,34 @@ high-order accuracy, assuming that @code{f(x0+h)} has a Taylor series or some other power series in @code{h}.") (license license:expat))) +(define-public julia-specialfunctions+ (package+ (name "julia-specialfunctions")+ (version "1.3.0")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/JuliaMath/SpecialFunctions.jl")+ (commit (string-append "v" version))))+ (file-name (git-file-name name version))+ (sha256+ (base32 "1rfhrrkzi3ils7fklbn35ki1yp5x88fi71qknfwqyw4pk8cf8p80"))))+ (build-system julia-build-system)+ (inputs+ `(("julia-chainrulestestutils" ,julia-chainrulestestutils)))+ (propagated-inputs+ `(("julia-chainrulescore" ,julia-chainrulescore)+ ("julia-openspecfun-jll" ,julia-openspecfun-jll)))+ (home-page "https://github.com/JuliaMath/SpecialFunctions.jl")+ (synopsis "Special mathematical functions")+ (description "This package provides special mathematical functions,+including Bessel, Hankel, Airy, error, Dawson, exponential (or sine and+cosine) integrals, eta, zeta, digamma, inverse digamma, trigamma, and+polygamma functions. Most of these functions were formerly part of Base in+early versions of Julia.")+ (license license:expat)))+ (define-public julia-staticarrays (package (name "julia-staticarrays")-- 2.28.0
Z
Z
zimoun wrote on 23 Mar 20:46 +0100
[PATCH 25/29] gnu: Add julia-diffrules.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210323194656.18303-6-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-diffrules): New variable.--- gnu/packages/julia-xyz.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+)
Toggle diff (38 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex 452b376371..49f0d54d17 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -424,6 +424,31 @@ including, @code{CircularBuffer}, @code{Queue}, @code{Stack}, be passed to in-place differentiation methods instead of an output buffer.") (license license:expat))) +(define-public julia-diffrules+ (package+ (name "julia-diffrules")+ (version "1.0.2")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/JuliaDiff/DiffRules.jl")+ (commit (string-append "v" version))))+ (file-name (git-file-name name version))+ (sha256+ (base32 "0cwjvj4gma7924fm3yas0nf0jlnwwx4v7fi79ii3s290lkdldzfl"))))+ (propagated-inputs+ `(("julia-nanmath" ,julia-nanmath)+ ("julia-specialfunctions" ,julia-specialfunctions)))+ (build-system julia-build-system)+ (home-page "https://github.com/JuliaDiff/DiffRules.jl")+ (synopsis "Primitive differentiation rules")+ (description "This package provides primitive differentiation rules that+can be composed via various formulations of the chain rule. Using+@code{DiffRules}, new differentiation rules can defined, query whether or not+a given rule exists, and symbolically apply rules to simple Julia expressions.")+ (license license:expat)))+ (define-public julia-difftests (package (name "julia-difftests")-- 2.28.0
Z
Z
zimoun wrote on 23 Mar 20:46 +0100
[PATCH 26/29] gnu: Add julia-chainrules.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210323194656.18303-7-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-chainrules): New variable.--- gnu/packages/julia-xyz.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+)
Toggle diff (44 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex 49f0d54d17..563bdc7dc1 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -147,6 +147,37 @@ can also be used to compute definite integrals by different numerical methods.") (license license:expat))) +(define-public julia-chainrules+ (package+ (name "julia-chainrules")+ (version "0.7.54")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/JuliaDiff/ChainRules.jl")+ (commit (string-append "v" version))))+ (file-name (git-file-name name version))+ (sha256+ (base32 "1x4w71v8cw0vpba47h8f5xq4gyjfxbcvayzf7m41yg8gf49s9pkf"))))+ (build-system julia-build-system)+ (inputs ;required for test+ `(("julia-chainrulestestutils" ,julia-chainrulestestutils)+ ("julia-finitedifferences" ,julia-finitedifferences)+ ("julia-nanmath" ,julia-nanmath)+ ("julia-specialfunctions" ,julia-specialfunctions)))+ (propagated-inputs+ `(("julia-chainrulescore" ,julia-chainrulescore)+ ("julia-compat" ,julia-compat)+ ("julia-reexport" ,julia-reexport)+ ("julia-requires" ,julia-requires)))+ (home-page "https://github.com/JuliaDiff/ChainRules.jl")+ (synopsis "Common utilities for automatic differentiation")+ (description "The is package provides a variety of common utilities that+can be used by downstream automatic differentiation (AD) tools to define and+execute forward-, reverse-, and mixed-mode primitives.")+ (license license:expat)))+ (define-public julia-chainrulescore (package (name "julia-chainrulescore")-- 2.28.0
Z
Z
zimoun wrote on 23 Mar 20:46 +0100
[PATCH 27/29] gnu: Add julia-forwarddiff.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210323194656.18303-8-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-forwarddiff): New variable.--- gnu/packages/julia-xyz.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+)
Toggle diff (45 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex 563bdc7dc1..38c3f1a131 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -605,6 +605,38 @@ scaled by a constant factor. Consequently, they have a fixed number of digits (bits) after the decimal (radix) point.") (license license:expat))) +(define-public julia-forwarddiff+ (package+ (name "julia-forwarddiff")+ (version "0.10.17")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/JuliaDiff/ForwardDiff.jl")+ (commit (string-append "v" version))))+ (file-name (git-file-name name version))+ (sha256+ (base32 "17xaz4v0zr46p7w873w1fwf31phdnhr0vbdym9yr4flmpzi528jw"))))+ (build-system julia-build-system)+ (inputs ;required for tests+ `(("julia-calculus" ,julia-calculus)+ ("julia-difftests" ,julia-difftests)))+ (propagated-inputs+ `(("julia-commonsubexpressions" ,julia-commonsubexpressions)+ ("julia-diffresults" ,julia-diffresults)+ ("julia-diffrules" ,julia-diffrules)+ ("julia-nanmath" ,julia-nanmath)+ ("julia-specialfunctions" ,julia-specialfunctions)+ ("julia-staticarrays" ,julia-staticarrays)))+ (home-page "https://github.com/JuliaDiff/ForwardDiff.jl")+ (synopsis "Fixed point types for Julia")+ (description "This package implements methods to take derivatives,+gradients, Jacobians, Hessians, and higher-order derivatives of native Julia+functions (or any callable object, really) using forward mode automatic+differentiation (AD).")+ (license license:expat)))+ (define-public julia-http (package (name "julia-http")-- 2.28.0
Z
Z
zimoun wrote on 23 Mar 20:46 +0100
[PATCH 28/29] gnu: Add julia-zygoterules.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210323194656.18303-9-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-zygoterules): New variable.--- gnu/packages/julia-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+)
Toggle diff (32 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex 38c3f1a131..464a6377f6 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -1212,3 +1212,25 @@ working with @acronym{URIs,Uniform Resource Identifiers}, as defined in RFC (description "This package supports SI units and also many other unit system.") (license license:expat)))++(define-public julia-zygoterules+ (package+ (name "julia-zygoterules")+ (version "0.2.1")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/FluxML/ZygoteRules.jl")+ (commit (string-append "v" version))))+ (file-name (git-file-name name version))+ (sha256+ (base32 "07i2mf6rr5b8i6l82qgwl5arsb5pwyyzyfasgnszhdqllk9501bs"))))+ (build-system julia-build-system)+ (propagated-inputs+ `(("julia-macrotools" ,julia-macrotools)))+ (home-page "https://github.com/FluxML/ZygoteRules.jl")+ (synopsis "Add minimal custom gradients to Zygote ")+ (description "Minimal package which enables to add custom gradients to+Zygote, without depending on Zygote itself.")+ (license license:expat)))-- 2.28.0
Z
Z
zimoun wrote on 23 Mar 20:46 +0100
[PATCH 29/29] gnu: Add julia-zygote.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210323194656.18303-10-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-zygote): New variable.--- gnu/packages/julia-xyz.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+)
Toggle diff (45 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex 464a6377f6..9ee1f9dd4a 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -1234,3 +1234,38 @@ system.") (description "Minimal package which enables to add custom gradients to Zygote, without depending on Zygote itself.") (license license:expat)))++(define-public julia-zygote+ (package+ (name "julia-zygote")+ (version "0.6.4")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/FluxML/Zygote.jl")+ (commit (string-append "v" version))))+ (file-name (git-file-name name version))+ (sha256+ (base32 "1h2ph0lsisbkh8y4xgwzgw9p5zi243q8zzp5gfh3zw9pzkx6a1rf"))))+ (build-system julia-build-system)+ (arguments+ `(#:tests? #f)) ;require CUDA, not packaged yet+ (propagated-inputs+ `(("julia-abstractffs" ,julia-abstractffts)+ ("julia-chainrules" ,julia-chainrules)+ ("julia-diffrules" ,julia-diffrules)+ ("julia-fillarrays" ,julia-fillarrays)+ ("julia-forwarddiff" ,julia-forwarddiff)+ ("julia-irtools" ,julia-irtools)+ ("julia-macrotools" ,julia-macrotools)+ ("julia-nanmath" ,julia-nanmath)+ ("julia-requires" ,julia-requires)+ ("julia-specialfunctions" ,julia-specialfunctions)+ ("julia-zygote-rules" ,julia-zygoterules)))+ (home-page "https://fluxml.ai/Zygote.jl")+ (synopsis "Automatic differentiation in Julia")+ (description "Zygote provides source-to-source automatic+differentiation (AD) in Julia, and is the next-generation AD system for the+Flux differentiable programming framework.")+ (license license:expat)))-- 2.28.0
Z
Z
zimoun wrote on 23 Mar 20:46 +0100
[PATCH 23/29] gnu: Add julia-openspecfun-jll.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210323194656.18303-4-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-openspecfun-jll): New variable.--- gnu/packages/julia-xyz.scm | 46 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+)
Toggle diff (66 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex 02466fcd04..afa8e815f8 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -23,6 +23,7 @@ #:use-module (guix git-download) #:use-module (guix build-system julia) #:use-module (gnu packages gcc)+ #:use-module (gnu packages maths) #:use-module (gnu packages tls)) (define-public julia-abstractffts@@ -878,6 +879,51 @@ have arbitrary indices, similar to those found in some other programming languages like Fortran.") (license license:expat))) +;;; TODO: Remove this autogenerated source package+;;; and build it from realse source using <https://github.com/JuliaPackaging/Yggdrasil/>+(define-public julia-openspecfun-jll+(let ((commit "6c505cce3bdcd9cd2b15b4f9362ec3a42c4da71c"))+ (package+ (name "julia-openspecfun-jll")+ (version "0.5.3+4") ;tag not created upstream+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/JuliaBinaryWrappers/OpenSpecFun_jll.jl")+ (commit commit)))+ (file-name (git-file-name name version))+ (sha256+ (base32 "0bl2gcgndsbiwhwy8fl070cjm1fyf9kxj6gkikgirmzgjl29iakn"))))+ (build-system julia-build-system)+ (arguments+ `(#:tests? #f ; no runtests.jl+ #:phases+ (modify-phases %standard-phases+ (add-after 'unpack 'override-binary-path+ (lambda* (#:key inputs #:allow-other-keys)+ (map+ (lambda (wrapper)+ (substitute* wrapper+ (("generate_wrapper_header.*")+ (string-append+ "generate_wrapper_header(\"OpenSpecFun\", \""+ (assoc-ref inputs "openspecfun") "\")\n"))))+ ;; There's a Julia file for each platform, override them all+ (find-files "src/wrappers/" "\\.jl$"))+ #t)))))+ (inputs+ `(("openspecfun" ,openspecfun)))+ (propagated-inputs+ `(("julia-jllwrappers" ,julia-jllwrappers)+ ("julia-compilersupportlibraries-jll" ,julia-compilersupportlibraries-jll)))+ (home-page "https://github.com/JuliaBinaryWrappers/OpenSpecFun_jll.jl")+ (synopsis "Internal wrappers")+ (description "This package is an autogenerated source package constructed+using @code{BinaryBuilder.jl}. The originating @code{build_tarballs.jl} script+can be found on the community build tree Yggdrasil.")+ (license license:expat))))+ (define-public julia-parsers (package (name "julia-parsers")-- 2.28.0
N
N
Nicolò Balzarotti wrote on 23 Mar 23:48 +0100
Re: [bug#47350] [PATCH 00/29] Add Zygote (piece for Machine Learning with Julia)
87wntxmqqb.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me
zimoun <zimon.toutoune@gmail.com> writes:
Toggle quote (1 lines)> Hi,
Hi!
Toggle quote (3 lines)>> This adds all the packages required to build Zygote, the source-to-source> automatic differentiation in Julia.
Wonderful, nice to see the first contribution to julia packages :)
Toggle quote (4 lines)>> Last, well, I feel motivated to implement an (recursive) importer, even> inaccurate, it will greatly help.>
I found yesterday julihub, which might help in that regard a lot. I'llshare here my notes (still no implementation), if I'm not missingsomething obvious, this importer should be super easy. Let me know whatyou think about those:
1. refresh the package list (json) curl https://juliahub.com/app/packages/info2. search the required package (.name field)3. get info on the package (.metadata.docslink) / pkg.json eg. curl 'https://juliahub.com/docs/Convex/Sr0e5/0.14.5/pkg.json'4. extract: - version - homepage - license - repository - description - direct dependencies (used in propagated-inputs field) store them into a list - indirect dependencies add them to the dependency list - binary (jll) dependencies tell the user those must be fixed - remove duplicates/packages already in guix - repeat 4 for each dependency

Thanks, Nicolò
Z
Z
zimoun wrote on 24 Mar 00:01 +0100
(address . ludo@gnu.org)
86tup1iifm.fsf@gmail.com
Hi,
On Tue, 23 Mar 2021 at 23:48, Nicolò Balzarotti <anothersms@gmail.com> wrote:
Toggle quote (6 lines)> zimoun <zimon.toutoune@gmail.com> writes:
>> This adds all the packages required to build Zygote, the source-to-source>> automatic differentiation in Julia.> Wonderful, nice to see the first contribution to julia packages :)
If you want to review, then it would help. :-) You do not need to becommitter because it is checking and commenting, or by simply sayingLGTM. For example, I am not committer and I reviewed ocaml packages orcamlboot.
It would help to reduce the load on the committer’s shoulders. ;-)
Well, I would like to have these stuffs in the next release 1.2.1.

Toggle quote (6 lines)>> Last, well, I feel motivated to implement an (recursive) importer, even>> inaccurate, it will greatly help.>>> I found yesterday julihub, which might help in that regard a lot.> I'll
Cool! I am moving the discussion about that on guix-devel and I willcomment once I have read a bit this juliahub thing. :-)

Thanks,simon
N
N
Nicolò Balzarotti wrote on 24 Mar 09:15 +0100
(address . ludo@gnu.org)
87sg4ldl1z.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me
zimoun <zimon.toutoune@gmail.com> writes:
Toggle quote (2 lines)> If you want to review, then it would help. :-)
Here you go:
Patch applies and everything builds fine. I also checked thelicenses and they seems fine. I run some example on the Zygote tutorialand it worked
Some notes:
julia-macrotools:
Toggle quote (1 lines)> +that let you do deep transformations of code..")
two dots
julia-colors:Instead of removing the tests, calling julia with --depwarn=yesshould do the trick.I changed the (check) function in julia-build-system addingreplacing invoke "julia" with invoke "julia" "--depwarn=yes", removedyour phase from julia-colors and everything went well (built zygote andHTTP, which should cover all packages we have). Would you mindfixing the build system directly? As I guess other packages will failthe same way

julia-compilersupportlibraries-jll:julia-openspecfun-jll:I'd change package description, as it's the default and shared betweenall jll packages
julia-constructionbase:typo: lightwight -> lightweight
julia-irtool:typo: simpe -> simple
julia-macrotools:typo: Jlia -> Julia
julia-specialfuntions:
Toggle quote (1 lines)> Most of these functions were formerly part of Base in early versions of Julia.
I'd remove this from the description
julia-forwarddiff:synopsis seems wrong
julia-zygoterules:extra space at the end of synopsis
Thanks, Nicolò
Z
Z
zimoun wrote on 24 Mar 10:35 +0100
(address . ludo@gnu.org)
86h7l0hp25.fsf@gmail.com
Hi Nicoló,
On Wed, 24 Mar 2021 at 09:15, Nicolò Balzarotti <anothersms@gmail.com> wrote:
Toggle quote (6 lines)> zimoun <zimon.toutoune@gmail.com> writes:>>> If you want to review, then it would help. :-)>> Here you go:
Thanks for the prompt review!

Toggle quote (10 lines)> julia-colors:> Instead of removing the tests, calling julia with --depwarn=yes> should do the trick.> I changed the (check) function in julia-build-system adding> replacing invoke "julia" with invoke "julia" "--depwarn=yes", removed> your phase from julia-colors and everything went well (built zygote and> HTTP, which should cover all packages we have). Would you mind> fixing the build system directly? As I guess other packages will fail> the same way
Ok, I will double-check if we change the option of the build system orsimply locally tweak the arguments case per case.

Thanks again!
Cheers,simon
Z
Z
zimoun wrote on 25 Mar 02:04 +0100
[PATCH v2 01/30] build: julia-build-system: Turn on depreciation warnings.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210325010516.18994-1-zimon.toutoune@gmail.com
* guix/build/julia-build-system.scm (check): Set option '--depwarn=yes'.--- guix/build/julia-build-system.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Toggle diff (17 lines)diff --git a/guix/build/julia-build-system.scm b/guix/build/julia-build-system.scmindex 8f57045a8c..d74acf2a05 100644--- a/guix/build/julia-build-system.scm+++ b/guix/build/julia-build-system.scm@@ -101,7 +101,7 @@ Project.toml)." (or (getenv "JULIA_LOAD_PATH") ""))) (setenv "HOME" "/tmp")- (invoke "julia"+ (invoke "julia" "--depwarn=yes" (string-append builddir "packages/" package "/test/runtests.jl")))) #t)
base-commit: a2f3a456bec357394fe550d927c26bbbdaa7ba6e-- 2.28.0
Z
Z
zimoun wrote on 25 Mar 02:04 +0100
[PATCH v2 03/30] gnu: Add julia-macrotools.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210325010516.18994-3-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-macrotools): New variable.--- gnu/packages/julia-xyz.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+)
Toggle diff (34 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex 7fbb18347f..5ba85f8bc0 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -344,6 +344,27 @@ used in autogenerated packages via @code{BinaryBuilder.jl}.") and printing JSON documents.") (license license:expat))) +(define-public julia-macrotools+ (package+ (name "julia-macrotools")+ (version "0.5.6")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/FluxML/MacroTools.jl")+ (commit (string-append "v" version))))+ (file-name (git-file-name name version))+ (sha256+ (base32 "0k4z2hyasd9cwxf4l61zk3w4ajs44k69wx6z1ghdn8f5p8xy217f"))))+ (build-system julia-build-system)+ (home-page "https://fluxml.ai/MacroTools.jl")+ (synopsis "Tools for working with Julia code and expressions")+ (description "This library provides tools for working with Julia code and+expressions. This includes a template-matching system and code-walking tools+that let you do deep transformations of code.")+ (license license:expat)))+ (define-public julia-mbedtls (package (name "julia-mbedtls")-- 2.28.0
Z
Z
zimoun wrote on 25 Mar 02:04 +0100
[PATCH v2 04/30] gnu: Add julia-nanmath.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210325010516.18994-4-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-nanmath): New variable.--- gnu/packages/julia-xyz.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+)
Toggle diff (33 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex 5ba85f8bc0..6508fa52af 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -435,6 +435,26 @@ TLS} and cryptography C libary for Julia.") wrappers.") (license license:expat))) +(define-public julia-nanmath+ (package+ (name "julia-nanmath")+ (version "0.3.5")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/mlubin/NaNMath.jl")+ (commit (string-append "v" version))))+ (file-name (git-file-name name version))+ (sha256+ (base32 "1hczhz00qj99w63vp627kwk02l2sr2qmzc2rkwwkdwvzy670p25q"))))+ (build-system julia-build-system)+ (home-page "https://github.com/mlubin/NaNMath.jl")+ (synopsis "Implementations of basic math functions")+ (description "Implementations of basic math functions which return+@code{NaN} instead of throwing a @code{DomainError}.")+ (license license:expat)))+ (define-public julia-orderedcollections (package (name "julia-orderedcollections")-- 2.28.0
Z
Z
zimoun wrote on 25 Mar 02:04 +0100
[PATCH v2 05/30] gnu: Add julia-reexport.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210325010516.18994-5-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-reexport): New variable.--- gnu/packages/julia-xyz.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+)
Toggle diff (32 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex 6508fa52af..41acd06ee3 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -522,6 +522,25 @@ languages like Fortran.") utilities for Julia.") (license license:expat))) +(define-public julia-reexport+ (package+ (name "julia-reexport")+ (version "1.0.0")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/simonster/Reexport.jl")+ (commit version)))+ (file-name (git-file-name name version))+ (sha256+ (base32 "1yhhja1zz6dy5f4fd19bdwd6jwgj7q4w3avzgyg1hjhmdl8jrh0s"))))+ (build-system julia-build-system)+ (home-page "https://github.com/simonster/Reexport.jl")+ (synopsis "Re-export modules and symbols")+ (description "This package provides tools to re-export modules and symbols.")+ (license license:expat)))+ (define-public julia-uris (package (name "julia-uris")-- 2.28.0
Z
Z
zimoun wrote on 25 Mar 02:04 +0100
[PATCH v2 06/30] gnu: Add julia-irtools.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210325010516.18994-6-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-irtools): New variable.--- gnu/packages/julia-xyz.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+)
Toggle diff (39 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex 41acd06ee3..613b3bb9dc 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -276,6 +276,32 @@ implementing both a client and a server.") allows to interface with @file{.ini} files.") (license license:expat))) +(define-public julia-irtools+ (package+ (name "julia-irtools")+ (version "0.4.2")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/FluxML/IRTools.jl")+ (commit (string-append "v" version))))+ (file-name (git-file-name name version))+ (sha256+ (base32 "0wwzy77jcdnffnd5fr6xan7162g4wydz67igrq82wflwnrhlcx5y"))))+ (arguments+ '(#:tests? #f)) ;require Documenter, not packaged yet+ (build-system julia-build-system)+ (propagated-inputs+ `(("julia-macrotools" ,julia-macrotools)))+ (home-page "https://github.com/FluxML/IRTools.jl")+ (synopsis "Simple and flexible IR format")+ (description "This package provides a simple and flexible IR format,+expressive enough to work with both lowered and typed Julia code, as well as+external IRs. It can be used with Julia metaprogramming tools such as+Cassette.")+ (license license:expat)))+ (define-public julia-jllwrappers (package (name "julia-jllwrappers")-- 2.28.0
Z
Z
zimoun wrote on 25 Mar 02:04 +0100
[PATCH v2 07/30] gnu: Add julia-staticarrays.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210325010516.18994-7-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-staticarrays): New variable.--- gnu/packages/julia-xyz.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+)
Toggle diff (38 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex 613b3bb9dc..45d18d028f 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -567,6 +567,31 @@ utilities for Julia.") (description "This package provides tools to re-export modules and symbols.") (license license:expat))) +(define-public julia-staticarrays+ (package+ (name "julia-staticarrays")+ (version "1.0.1")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/JuliaArrays/StaticArrays.jl")+ (commit (string-append "v" version))))+ (file-name (git-file-name name version))+ (sha256+ (base32 "01z8bcqwpfkp8p1h1r36pr5cc3798y76zkas7g3206pcsdhvlkz1"))))+ (build-system julia-build-system)+ (inputs+ `(("julia-benchmarktools" ,julia-benchmarktools)))+ (home-page "https://github.com/JuliaArrays/StaticArrays.jl")+ (synopsis "Statically sized arrays")+ (description "This package provides a framework for implementing+statically sized arrays in Julia, using the abstract type+@code{StaticArray{Size,T,N} <: AbstractArray{T,N}}. Subtypes of+@code{StaticArray} will provide fast implementations of common array and+linear algebra operations.")+ (license license:expat)))+ (define-public julia-uris (package (name "julia-uris")-- 2.28.0
Z
Z
zimoun wrote on 25 Mar 02:04 +0100
[PATCH v2 02/30] gnu: Add julia-constructionbase.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210325010516.18994-2-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-constructionbase): New variable.--- gnu/packages/julia-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+)
Toggle diff (41 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex 0d35cbde57..7fbb18347f 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2020, 2021 Nicolò Balzarotti <nicolo@nixo.xyz>+;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;;@@ -117,6 +118,27 @@ provides a macro that lets you use the latest syntax in a backwards-compatible way.") (license license:expat))) +(define-public julia-constructionbase+ (let ((commit "de77e2865b554f9b078fd8c35b593cce0554ae02"))+ (package+ (name "julia-constructionbase")+ (version "1.1.0") ;tag not created upstream+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/JuliaObjects/ConstructionBase.jl")+ (commit commit)))+ (file-name (git-file-name name version))+ (sha256+ (base32 "1y79sfj0rds1skl9j16p9161hwa9khm0xc2m4hgjcbh5zzvyr57v"))))+ (build-system julia-build-system)+ (home-page "https://juliaobjects.github.io/ConstructionBase.jl/dev/")+ (synopsis "Primitive functions for construction of objects")+ (description "This very lightweight package provides primitive functions+for construction of objects.")+ (license license:expat))))+ (define-public julia-datastructures (package (name "julia-datastructures")-- 2.28.0
Z
Z
zimoun wrote on 25 Mar 02:04 +0100
[PATCH v2 08/30] gnu: Add julia-unitful.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210325010516.18994-8-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-unitful): New variable.--- gnu/packages/julia-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+)
Toggle diff (32 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex 45d18d028f..7a3529fe8f 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -625,3 +625,25 @@ linear algebra operations.") working with @acronym{URIs,Uniform Resource Identifiers}, as defined in RFC 3986.") (license license:expat)))++(define-public julia-unitful+ (package+ (name "julia-unitful")+ (version "1.6.0")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/PainterQubits/Unitful.jl")+ (commit (string-append "v" version))))+ (file-name (git-file-name name version))+ (sha256+ (base32 "0g5bhlvay9yk11c5dqwbzmb3q7lzj0cq5zchyk39d59fkvvmxvq3"))))+ (build-system julia-build-system)+ (propagated-inputs+ `(("julia-constructionbase" ,julia-constructionbase)))+ (home-page "https://painterqubits.github.io/Unitful.jl/stable/")+ (synopsis "Physical units in Julia")+ (description "This package supports SI units and also many other unit+system.")+ (license license:expat)))-- 2.28.0
Z
Z
zimoun wrote on 25 Mar 01:58 +0100
Re: [bug#47350] [PATCH 00/29] Add Zygote (piece for Machine Learning with Julia)
(address . ludo@gnu.org)
86ft0kjbgp.fsf@gmail.com
Hi Nicoló,
On Wed, 24 Mar 2021 at 10:35, zimoun <zimon.toutoune@gmail.com> wrote:
Toggle quote (12 lines)> On Wed, 24 Mar 2021 at 09:15, Nicolò Balzarotti <anothersms@gmail.com> wrote:
>> I changed the (check) function in julia-build-system adding>> replacing invoke "julia" with invoke "julia" "--depwarn=yes", removed>> your phase from julia-colors and everything went well (built zygote and>> HTTP, which should cover all packages we have). Would you mind>> fixing the build system directly? As I guess other packages will fail>> the same way>> Ok, I will double-check if we change the option of the build system or> simply locally tweak the arguments case per case.
Hum, I get these kind of messages:
Toggle snippet (5 lines)Internal error: encountered unexpected error in runtime:ErrorException("type UnionAll has no field size")jl_errorf at /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/src/rtutils.c:77
for julia-datastructures for instance. Even if the build is fine andmy small experiments seems correct.
Well, I have set this deprecation warning as a first commit in the v2.

Thanks,simon
Z
Z
zimoun wrote on 25 Mar 02:04 +0100
[PATCH v2 11/30] gnu: Add julia-colors.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210325010516.18994-10-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-colors): New variable.--- gnu/packages/julia-xyz.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+)
Toggle diff (39 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex 8d28aab7f1..ab238161e9 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -121,6 +121,32 @@ operations. It can wrap any @code{IO} type automatically making incremental reading and writing faster.") (license license:expat))) +(define-public julia-colors+ (package+ (name "julia-colors")+ (version "0.12.6")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/JuliaGraphics/Colors.jl")+ (commit (string-append "v" version))))+ (file-name (git-file-name name version))+ (sha256+ (base32 "156zsszgwh6bmznsan0zyha6yvcxw3c5mvc5vr2qfsgxbyh36ln6"))))+ (build-system julia-build-system)+ (propagated-inputs+ `(("julia-colortypes" ,julia-colortypes)+ ("julia-fixedpointnumbers" ,julia-fixedpointnumbers)+ ("julia-reexport" ,julia-reexport)))+ (home-page "https://github.com/JuliaGraphics/Colors.jl")+ (synopsis "Tools for dealing with color")+ (description "This package provides a wide array of functions for dealing+with color. This includes conversion between colorspaces, measuring distance+between colors, simulating color blindness, parsing colors, and generating+color scales for graphics.")+ (license license:expat)))+ (define-public julia-colortypes (package (name "julia-colortypes")-- 2.28.0
Z
Z
zimoun wrote on 25 Mar 02:04 +0100
[PATCH v2 12/30] gnu: Add julia-example.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210325010516.18994-11-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-example): New variable.--- gnu/packages/julia-xyz.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+)
Toggle diff (33 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex ab238161e9..f21ea0afb0 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -240,6 +240,26 @@ including, @code{CircularBuffer}, @code{Queue}, @code{Stack}, @code{Accumulators}, @code{LinkedLists}, @code{SortedDicts} and many others.") (license license:expat))) +(define-public julia-example+ (let ((commit "f968c69dea24f851d0c7e686db23fa55826b5388"))+ (package+ (name "julia-example")+ (version "0.5.4") ;tag not created upstream+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/JuliaLang/Example.jl")+ (commit commit)))+ (file-name (git-file-name name version))+ (sha256+ (base32 "1v3z0d6gh6wfbypffy9m9rhh36px6fm5wjzq0y6rbmc95r0qpqlx"))))+ (build-system julia-build-system)+ (home-page "https://github.com/JuliaLang/Example.jl")+ (synopsis "Module providing examples")+ (description "This package provides various examples.")+ (license license:expat))))+ (define-public julia-fixedpointnumbers (package (name "julia-fixedpointnumbers")-- 2.28.0
Z
Z
zimoun wrote on 25 Mar 02:04 +0100
[PATCH v2 09/30] gnu: Add julia-abstractffts.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210325010516.18994-9-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-abstractffts): New variable.--- gnu/packages/julia-xyz.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+)
Toggle diff (38 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex 7a3529fe8f..4abeaa765f 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -24,6 +24,31 @@ #:use-module (guix build-system julia) #:use-module (gnu packages tls)) +(define-public julia-abstractffts+ (package+ (name "julia-abstractffts")+ (version "1.0.1")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/JuliaMath/AbstractFFTS.jl")+ (commit (string-append "v" version))))+ (file-name (git-file-name name version))+ (sha256+ (base32 "0083pwdyxjb04i330ir9pc8kmp4bwk59lx1jgc9qi05y8j7xzbp0"))))+ (build-system julia-build-system)+ (inputs ;required for tests+ `(("julia-unitful" ,julia-unitful)))+ (home-page "https://github.com/JuliaGPU/Adapt.jl")+ (synopsis "General framework for fast Fourier transforms (FFTs)")+ (description "This package allows multiple FFT packages to co-exist with+the same underlying @code{fft(x)} and @code{plan_fft(x)} interface. It is+mainly not intended to be used directly. Instead, developers of packages that+implement FFTs (such as @code{FFTW.jl} or @code{FastTransforms.jl}) extend the+types/functions defined in AbstractFFTs.")+ (license license:expat)))+ (define-public julia-adapt (package (name "julia-adapt")-- 2.28.0
Z
Z
zimoun wrote on 25 Mar 02:05 +0100
[PATCH v2 13/30] gnu: Add julia-requires.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210325010516.18994-12-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-requires): New variable.--- gnu/packages/julia-xyz.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+)
Toggle diff (39 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex f21ea0afb0..8e95c8b7ed 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -664,6 +664,32 @@ utilities for Julia.") (description "This package provides tools to re-export modules and symbols.") (license license:expat))) +(define-public julia-requires+ (package+ (name "julia-requires")+ (version "1.1.3")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/JuliaPackaging/Requires.jl/")+ (commit (string-append "v" version))))+ (file-name (git-file-name name version))+ (sha256+ (base32 "03hyfy7c0ma45b0y756j76awi3az2ii4bz4s8cxm3xw9yy1z7b01"))))+ (build-system julia-build-system)+ (inputs ;required for test+ `(("julia-example" ,julia-example)))+ (propagated-inputs+ `(("julia-colors" ,julia-colors)))+ (home-page "https://github.com/JuliaPackaging/Requires.jl/")+ (synopsis "Faster package loader")+ (description "This package make loading packages faster, maybe. It+supports specifying glue code in packages which will load automatically when+another package is loaded, so that explicit dependencies (and long load times)+can be avoided.")+ (license license:expat)))+ (define-public julia-staticarrays (package (name "julia-staticarrays")-- 2.28.0
Z
Z
zimoun wrote on 25 Mar 02:05 +0100
[PATCH v2 14/30] gnu: Add julia-chainrulescore.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210325010516.18994-13-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-chainrulescore): New variable.--- gnu/packages/julia-xyz.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+)
Toggle diff (38 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex 8e95c8b7ed..0da2452b89 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -121,6 +121,31 @@ operations. It can wrap any @code{IO} type automatically making incremental reading and writing faster.") (license license:expat))) +(define-public julia-chainrulescore+ (package+ (name "julia-chainrulescore")+ (version "0.9.29")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/JuliaDiff/ChainRulesCore.jl")+ (commit (string-append "v" version))))+ (file-name (git-file-name name version))+ (sha256+ (base32 "1k0iayw39n1ikkkhvyi4498vsnzc94skqs41gnd15632gxjfvki4"))))+ (build-system julia-build-system)+ (inputs ;required for tests+ `(("julia-benchmarktools" ,julia-benchmarktools)+ ("julia-staticarrays" ,julia-staticarrays)))+ (propagated-inputs+ `(("julia-compat" ,julia-compat)))+ (home-page "https://github.com/JuliaDiff/ChainRulesCore.jl")+ (synopsis "Common utilities used by downstream automatic differentiation tools")+ (description "The package provides a light-weight dependency for defining+sensitivities for functions without the need to depend on ChainRules itself.")+ (license license:expat)))+ (define-public julia-colors (package (name "julia-colors")-- 2.28.0
Z
Z
zimoun wrote on 25 Mar 02:05 +0100
[PATCH v2 15/30] gnu: Add julia-richardson.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210325010516.18994-14-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-richardson): New variable.--- gnu/packages/julia-xyz.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+)
Toggle diff (40 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex 0da2452b89..b56fa5427e 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -715,6 +715,33 @@ another package is loaded, so that explicit dependencies (and long load times) can be avoided.") (license license:expat))) +(define-public julia-richardson+ (package+ (name "julia-richardson")+ (version "1.4.0")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/JuliaMath/Richardson.jl")+ (commit (string-append "v" version))))+ (file-name (git-file-name name version))+ (sha256+ (base32 "06v9ii3d7hh41fsrfklaa8ap55z5s017f888mrd1c18y4fx9i4nx"))))+ (build-system julia-build-system)+ (home-page "https://juliapackages.com/p/richardson")+ (synopsis "Extrapolate function using Richardson method")+ (description "This package provides a function extrapolate that+extrapolates a given function @code{f(x)} to @code{f(x0)}, evaluating @code{f}+only at a geometric sequence of points @code{> x0} (or optionally @code{<+x0}). The key algorithm is Richardson extrapolation using a Neville–Aitken+tableau, which adaptively increases the degree of an extrapolation polynomial+until convergence is achieved to a desired tolerance (or convergence stalls+due to e.g. floating-point errors). This allows one to obtain @code{f(x0)} to+high-order accuracy, assuming that @code{f(x0+h)} has a Taylor series or some+other power series in @code{h}.")+ (license license:expat)))+ (define-public julia-staticarrays (package (name "julia-staticarrays")-- 2.28.0
Z
Z
zimoun wrote on 25 Mar 02:05 +0100
[PATCH v2 16/30] gnu: Add julia-finitedifferences.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210325010516.18994-15-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-finitedifferences): New variable.--- gnu/packages/julia-xyz.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+)
Toggle diff (39 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex b56fa5427e..ed05af6497 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -285,6 +285,32 @@ including, @code{CircularBuffer}, @code{Queue}, @code{Stack}, (description "This package provides various examples.") (license license:expat)))) +(define-public julia-finitedifferences+ (package+ (name "julia-finitedifferences")+ (version "0.12.2")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/JuliaDiff/FiniteDifferences.jl")+ (commit (string-append "v" version))))+ (file-name (git-file-name name version))+ (sha256+ (base32 "0dcx34026xdpfmbjls3mrknl8ww62kxxfr77kfihbazsfg2gp5b4"))))+ (build-system julia-build-system)+ (inputs+ `(("julia-benchmarktools" ,julia-benchmarktools)))+ (propagated-inputs+ `(("julia-chainrulescore" ,julia-chainrulescore)+ ("julia-richardson" ,julia-richardson)+ ("julia-staticarrays" ,julia-staticarrays)))+ (home-page "https://github.com/JuliaDiff/FiniteDifferences.jl")+ (synopsis "Estimates derivatives with finite differences")+ (description "This package calculates approximate derivatives numerically+using finite difference.")+ (license license:expat)))+ (define-public julia-fixedpointnumbers (package (name "julia-fixedpointnumbers")-- 2.28.0
Z
Z
zimoun wrote on 25 Mar 02:05 +0100
[PATCH v2 17/30] gnu: Add julia-chainrulestestutils.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210325010516.18994-16-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-chainrulestestutils): New variable.--- gnu/packages/julia-xyz.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+)
Toggle diff (45 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex ed05af6497..4e63c04c5e 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -146,6 +146,38 @@ reading and writing faster.") sensitivities for functions without the need to depend on ChainRules itself.") (license license:expat))) +(define-public julia-chainrulestestutils+ (package+ (name "julia-chainrulestestutils")+ (version "0.6.4")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/JuliaDiff/ChainRulesTestUtils.jl")+ (commit (string-append "v" version))))+ (file-name (git-file-name name version))+ (sha256+ (base32 "1pzs947adnb3cx1qd0cxp2fidk9szz0zsqbas90z1lhydykkvkil"))))+ (build-system julia-build-system)+ (propagated-inputs+ `(("julia-chainrulescore" ,julia-chainrulescore)+ ("julia-compat" ,julia-compat)+ ("julia-finitedifference" ,julia-finitedifferences)))+ (home-page "https://github.com/JuliaDiff/ChainRulesTestUtils.jl")+ (synopsis "Common utilities used by downstream automatic differentiation tools")+ (description "This package is designed to help in testing+@code{ChainRulesCore.frule} and @code{ChainRulesCore.rrule} methods. The main+entry points are @code{ChainRulesTestUtils.frule_test},+@code{ChainRulesTestUtils.rrule_test}, and+@code{ChainRulesTestUtils.test_scalar}. Currently this is done via testing the+rules against numerical differentiation (using @code{FiniteDifferences.jl}).++@code{ChainRulesTestUtils.jl} is separated from @code{ChainRulesCore.jl} so that it+can be a test-only dependency, allowing it to have potentially heavy+dependencies, while keeping @code{ChainRulesCore.jl} as light-weight as possible.")+ (license license:expat)))+ (define-public julia-colors (package (name "julia-colors")-- 2.28.0
Z
Z
zimoun wrote on 25 Mar 02:05 +0100
[PATCH v2 18/30] gnu: Add julia-fillarrays.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210325010516.18994-17-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-fillarrays): New variable.--- gnu/packages/julia-xyz.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+)
Toggle diff (37 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex 4e63c04c5e..e3d2c9ff89 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -317,6 +317,30 @@ including, @code{CircularBuffer}, @code{Queue}, @code{Stack}, (description "This package provides various examples.") (license license:expat)))) +(define-public julia-fillarrays+ (package+ (name "julia-fillarrays")+ (version "0.11.7")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/JuliaArrays/FillArrays.jl")+ (commit (string-append "v" version))))+ (file-name (git-file-name name version))+ (sha256+ (base32 "1q1qn9pb5dmppddnmf8gggdqyvivqh3ffvbblhn37smcf9r5sy7d"))))+ (build-system julia-build-system)+ (inputs ;required by tests+ `(("julia-staticarrays" ,julia-staticarrays)))+ (home-page "https://github.com/JuliaArrays/FillArrays.jl")+ (synopsis "Lazy matrix representation")+ (description "This package allows to lazily represent matrices filled with+a single entry, as well as identity matrices. This package exports the+following types: @code{Eye}, @code{Fill}, @code{Ones}, @code{Zeros},+@code{Trues} and @code{Falses}.")+ (license license:expat)))+ (define-public julia-finitedifferences (package (name "julia-finitedifferences")-- 2.28.0
Z
Z
zimoun wrote on 25 Mar 02:05 +0100
[PATCH v2 19/30] gnu: Add julia-commonsubexpressions.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210325010516.18994-18-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-commonsubexpressions): New variable.--- gnu/packages/julia-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+)
Toggle diff (35 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex e3d2c9ff89..c5c04d6579 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -230,6 +230,28 @@ constructors, and sets up traits and show methods to make them easier to work with.") (license license:expat))) +(define-public julia-commonsubexpressions+ (package+ (name "julia-commonsubexpressions")+ (version "0.3.0")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/rdeits/CommonSubexpressions.jl")+ (commit (string-append "v" version))))+ (file-name (git-file-name name version))+ (sha256+ (base32 "0mgy90kk8ksv3l720kkk04gnhn4aqhh2dj4sp3x8yy3limngfjay"))))+ (build-system julia-build-system)+ (propagated-inputs+ `(("julia-macrotools" ,julia-macrotools)))+ (home-page "https://github.com/rdeits/CommonSubexpressions.jl")+ (synopsis "Macro @code{@cse}")+ (description "This package provides the @code{@cse} macro, which performs+common subexpression elimination.")+ (license license:expat)))+ (define-public julia-compat (package (name "julia-compat")-- 2.28.0
Z
Z
zimoun wrote on 25 Mar 02:05 +0100
[PATCH v2 21/30] gnu: Add julia-diffresults.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210325010516.18994-19-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-diffresults): New variable.--- gnu/packages/julia-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+)
Toggle diff (35 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex 75b46a1c7c..885a851375 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -343,6 +343,28 @@ including, @code{CircularBuffer}, @code{Queue}, @code{Stack}, @code{Accumulators}, @code{LinkedLists}, @code{SortedDicts} and many others.") (license license:expat))) +(define-public julia-diffresults+ (package+ (name "julia-diffresults")+ (version "1.0.3")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/JuliaDiff/DiffResults.jl")+ (commit (string-append "v" version))))+ (file-name (git-file-name name version))+ (sha256+ (base32 "1w6p3yxajvclax5b9g7cr2jmbc7lvr5nk4gq0aljxdycdq1d2y3v"))))+ (propagated-inputs+ `(("julia-staticarrays" ,julia-staticarrays)))+ (build-system julia-build-system)+ (home-page "https://github.com/JuliaDiff/DiffResults.jl")+ (synopsis "In-place differentiation methods of primal values at multi-order")+ (description "This package provides the @code{DiffResult} type, which can+be passed to in-place differentiation methods instead of an output buffer.")+ (license license:expat)))+ (define-public julia-example (let ((commit "f968c69dea24f851d0c7e686db23fa55826b5388")) (package-- 2.28.0
Z
Z
zimoun wrote on 25 Mar 02:05 +0100
[PATCH v2 22/30] gnu: Add julia-difftests.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210325010516.18994-20-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-difftests): New variable.--- gnu/packages/julia-xyz.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+)
Toggle diff (33 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex 885a851375..9b04e1bd67 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -365,6 +365,26 @@ including, @code{CircularBuffer}, @code{Queue}, @code{Stack}, be passed to in-place differentiation methods instead of an output buffer.") (license license:expat))) +(define-public julia-difftests+ (package+ (name "julia-difftests")+ (version "0.1.1")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/JuliaDiff/DiffTests.jl")+ (commit (string-append "v" version))))+ (file-name (git-file-name name version))+ (sha256+ (base32 "1rxpnd5zi3pxgdd38l5jm2sxc3q6p7g57fqgll2dsiin07y3my57"))))+ (build-system julia-build-system)+ (home-page "https://github.com/JuliaDiff/DiffTests.jl")+ (synopsis "Common test functions for differentiation tools")+ (description "This package contains a common suite of test functions for+stressing the robustness of differentiation tools.")+ (license license:expat)))+ (define-public julia-example (let ((commit "f968c69dea24f851d0c7e686db23fa55826b5388")) (package-- 2.28.0
Z
Z
zimoun wrote on 25 Mar 02:05 +0100
[PATCH v2 23/30] gnu: Add julia-compilersupportlibraries-jll.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210325010516.18994-21-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-compilersupportlibraries-jll): New variable.--- gnu/packages/julia-xyz.scm | 45 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+)
Toggle diff (65 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex 9b04e1bd67..bde72e364d 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -22,6 +22,7 @@ #:use-module (guix packages) #:use-module (guix git-download) #:use-module (guix build-system julia)+ #:use-module (gnu packages gcc) #:use-module (gnu packages tls)) (define-public julia-abstractffts@@ -298,6 +299,50 @@ provides a macro that lets you use the latest syntax in a backwards-compatible way.") (license license:expat))) +;;; TODO: Remove this autogenerated source package+;;; and build it from realse source using <https://github.com/JuliaPackaging/Yggdrasil/>+(define-public julia-compilersupportlibraries-jll+ (package+ (name "julia-compilersupportlibraries-jll")+ (version "0.4.0+1")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/JuliaBinaryWrappers/CompilerSupportLibraries_jll.jl")+ (commit (string-append "CompilerSupportLibraries-v" version))))+ (file-name (git-file-name name version))+ (sha256+ (base32 "03j6xdvps259mhdzpjqf41l65w2l9sahvxg4wrp34hcf69wkrzpy"))))+ (build-system julia-build-system)+ (arguments+ `(#:tests? #f ; no runtests.jl+ #:phases+ (modify-phases %standard-phases+ (add-after 'unpack 'override-binary-path+ (lambda* (#:key inputs #:allow-other-keys)+ (map+ (lambda (wrapper)+ (substitute* wrapper+ (("generate_wrapper_header.*")+ (string-append+ "generate_wrapper_header(\"CompilerSupportLibraries\", \""+ (assoc-ref inputs "gfortran:lib") "\")\n"))))+ ;; There's a Julia file for each platform, override them all+ (find-files "src/wrappers/" "\\.jl$"))+ #t)))))+ (inputs ;required by artifacts+ `(("gfortran:lib" ,gfortran "lib")))+ (propagated-inputs+ `(("julia-jllwrappers" ,julia-jllwrappers)))+ (home-page "https://github.com/JuliaBinaryWrappers/CompilerSupportLibraries_jll.jl")+ (synopsis "Internal wrappers")+ (description "This package provides compiler support for libraries. It is+an autogenerated source package constructed using @code{BinaryBuilder.jl}. The+originating @code{build_tarballs.jl} script can be found on the community+build tree Yggdrasil.")+ (license license:expat)))+ (define-public julia-constructionbase (let ((commit "de77e2865b554f9b078fd8c35b593cce0554ae02")) (package-- 2.28.0
Z
Z
zimoun wrote on 25 Mar 02:05 +0100
[PATCH v2 24/30] gnu: Add julia-openspecfun-jll.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210325010516.18994-22-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-openspecfun-jll): New variable.--- gnu/packages/julia-xyz.scm | 47 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+)
Toggle diff (67 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex bde72e364d..d99eadcfd4 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -23,6 +23,7 @@ #:use-module (guix git-download) #:use-module (guix build-system julia) #:use-module (gnu packages gcc)+ #:use-module (gnu packages maths) #:use-module (gnu packages tls)) (define-public julia-abstractffts@@ -865,6 +866,52 @@ have arbitrary indices, similar to those found in some other programming languages like Fortran.") (license license:expat))) +;;; TODO: Remove this autogenerated source package+;;; and build it from realse source using <https://github.com/JuliaPackaging/Yggdrasil/>+(define-public julia-openspecfun-jll+(let ((commit "6c505cce3bdcd9cd2b15b4f9362ec3a42c4da71c"))+ (package+ (name "julia-openspecfun-jll")+ (version "0.5.3+4") ;tag not created upstream+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/JuliaBinaryWrappers/OpenSpecFun_jll.jl")+ (commit commit)))+ (file-name (git-file-name name version))+ (sha256+ (base32 "0bl2gcgndsbiwhwy8fl070cjm1fyf9kxj6gkikgirmzgjl29iakn"))))+ (build-system julia-build-system)+ (arguments+ `(#:tests? #f ; no runtests.jl+ #:phases+ (modify-phases %standard-phases+ (add-after 'unpack 'override-binary-path+ (lambda* (#:key inputs #:allow-other-keys)+ (map+ (lambda (wrapper)+ (substitute* wrapper+ (("generate_wrapper_header.*")+ (string-append+ "generate_wrapper_header(\"OpenSpecFun\", \""+ (assoc-ref inputs "openspecfun") "\")\n"))))+ ;; There's a Julia file for each platform, override them all+ (find-files "src/wrappers/" "\\.jl$"))+ #t)))))+ (inputs+ `(("openspecfun" ,openspecfun)))+ (propagated-inputs+ `(("julia-jllwrappers" ,julia-jllwrappers)+ ("julia-compilersupportlibraries-jll" ,julia-compilersupportlibraries-jll)))+ (home-page "https://github.com/JuliaBinaryWrappers/OpenSpecFun_jll.jl")+ (synopsis "Internal wrappers")+ (description "This package provides a wrapper for OpenSpecFun. It is an+autogenerated source package constructed using @code{BinaryBuilder.jl}. The+originating @code{build_tarballs.jl} script can be found on the community+build tree Yggdrasil.")+ (license license:expat))))+ (define-public julia-parsers (package (name "julia-parsers")-- 2.28.0
Z
Z
zimoun wrote on 25 Mar 02:05 +0100
[PATCH v2 25/30] gnu: Add julia-specialfunctions.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210325010516.18994-23-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-specialfunctions): New variable.--- gnu/packages/julia-xyz.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+)
Toggle diff (40 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex d99eadcfd4..4bd5a1f9a3 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -1004,6 +1004,33 @@ high-order accuracy, assuming that @code{f(x0+h)} has a Taylor series or some other power series in @code{h}.") (license license:expat))) +(define-public julia-specialfunctions+ (package+ (name "julia-specialfunctions")+ (version "1.3.0")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/JuliaMath/SpecialFunctions.jl")+ (commit (string-append "v" version))))+ (file-name (git-file-name name version))+ (sha256+ (base32 "1rfhrrkzi3ils7fklbn35ki1yp5x88fi71qknfwqyw4pk8cf8p80"))))+ (build-system julia-build-system)+ (inputs+ `(("julia-chainrulestestutils" ,julia-chainrulestestutils)))+ (propagated-inputs+ `(("julia-chainrulescore" ,julia-chainrulescore)+ ("julia-openspecfun-jll" ,julia-openspecfun-jll)))+ (home-page "https://github.com/JuliaMath/SpecialFunctions.jl")+ (synopsis "Special mathematical functions")+ (description "This package provides special mathematical functions,+including Bessel, Hankel, Airy, error, Dawson, exponential (or sine and+cosine) integrals, eta, zeta, digamma, inverse digamma, trigamma, and+polygamma functions.")+ (license license:expat)))+ (define-public julia-staticarrays (package (name "julia-staticarrays")-- 2.28.0
Z
Z
zimoun wrote on 25 Mar 02:05 +0100
[PATCH v2 26/30] gnu: Add julia-diffrules.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210325010516.18994-24-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-diffrules): New variable.--- gnu/packages/julia-xyz.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+)
Toggle diff (38 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex 4bd5a1f9a3..fe1ecf0c9d 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -411,6 +411,31 @@ including, @code{CircularBuffer}, @code{Queue}, @code{Stack}, be passed to in-place differentiation methods instead of an output buffer.") (license license:expat))) +(define-public julia-diffrules+ (package+ (name "julia-diffrules")+ (version "1.0.2")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/JuliaDiff/DiffRules.jl")+ (commit (string-append "v" version))))+ (file-name (git-file-name name version))+ (sha256+ (base32 "0cwjvj4gma7924fm3yas0nf0jlnwwx4v7fi79ii3s290lkdldzfl"))))+ (propagated-inputs+ `(("julia-nanmath" ,julia-nanmath)+ ("julia-specialfunctions" ,julia-specialfunctions)))+ (build-system julia-build-system)+ (home-page "https://github.com/JuliaDiff/DiffRules.jl")+ (synopsis "Primitive differentiation rules")+ (description "This package provides primitive differentiation rules that+can be composed via various formulations of the chain rule. Using+@code{DiffRules}, new differentiation rules can defined, query whether or not+a given rule exists, and symbolically apply rules to simple Julia expressions.")+ (license license:expat)))+ (define-public julia-difftests (package (name "julia-difftests")-- 2.28.0
Z
Z
zimoun wrote on 25 Mar 02:05 +0100
[PATCH v2 27/30] gnu: Add julia-chainrules.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210325010516.18994-25-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-chainrules): New variable.--- gnu/packages/julia-xyz.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+)
Toggle diff (44 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex fe1ecf0c9d..b526306984 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -147,6 +147,37 @@ can also be used to compute definite integrals by different numerical methods.") (license license:expat))) +(define-public julia-chainrules+ (package+ (name "julia-chainrules")+ (version "0.7.54")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/JuliaDiff/ChainRules.jl")+ (commit (string-append "v" version))))+ (file-name (git-file-name name version))+ (sha256+ (base32 "1x4w71v8cw0vpba47h8f5xq4gyjfxbcvayzf7m41yg8gf49s9pkf"))))+ (build-system julia-build-system)+ (inputs ;required for test+ `(("julia-chainrulestestutils" ,julia-chainrulestestutils)+ ("julia-finitedifferences" ,julia-finitedifferences)+ ("julia-nanmath" ,julia-nanmath)+ ("julia-specialfunctions" ,julia-specialfunctions)))+ (propagated-inputs+ `(("julia-chainrulescore" ,julia-chainrulescore)+ ("julia-compat" ,julia-compat)+ ("julia-reexport" ,julia-reexport)+ ("julia-requires" ,julia-requires)))+ (home-page "https://github.com/JuliaDiff/ChainRules.jl")+ (synopsis "Common utilities for automatic differentiation")+ (description "The is package provides a variety of common utilities that+can be used by downstream automatic differentiation (AD) tools to define and+execute forward-, reverse-, and mixed-mode primitives.")+ (license license:expat)))+ (define-public julia-chainrulescore (package (name "julia-chainrulescore")-- 2.28.0
Z
Z
zimoun wrote on 25 Mar 02:05 +0100
[PATCH v2 28/30] gnu: Add julia-forwarddiff.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210325010516.18994-26-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-forwarddiff): New variable.--- gnu/packages/julia-xyz.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+)
Toggle diff (45 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex b526306984..9a414fc739 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -592,6 +592,38 @@ scaled by a constant factor. Consequently, they have a fixed number of digits (bits) after the decimal (radix) point.") (license license:expat))) +(define-public julia-forwarddiff+ (package+ (name "julia-forwarddiff")+ (version "0.10.17")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/JuliaDiff/ForwardDiff.jl")+ (commit (string-append "v" version))))+ (file-name (git-file-name name version))+ (sha256+ (base32 "17xaz4v0zr46p7w873w1fwf31phdnhr0vbdym9yr4flmpzi528jw"))))+ (build-system julia-build-system)+ (inputs ;required for tests+ `(("julia-calculus" ,julia-calculus)+ ("julia-difftests" ,julia-difftests)))+ (propagated-inputs+ `(("julia-commonsubexpressions" ,julia-commonsubexpressions)+ ("julia-diffresults" ,julia-diffresults)+ ("julia-diffrules" ,julia-diffrules)+ ("julia-nanmath" ,julia-nanmath)+ ("julia-specialfunctions" ,julia-specialfunctions)+ ("julia-staticarrays" ,julia-staticarrays)))+ (home-page "https://github.com/JuliaDiff/ForwardDiff.jl")+ (synopsis "Methods to take multidimensional derivatives")+ (description "This package implements methods to take derivatives,+gradients, Jacobians, Hessians, and higher-order derivatives of native Julia+functions (or any callable object, really) using forward mode automatic+differentiation (AD).")+ (license license:expat)))+ (define-public julia-http (package (name "julia-http")-- 2.28.0
Z
Z
zimoun wrote on 25 Mar 02:05 +0100
[PATCH v2 29/30] gnu: Add julia-zygoterules.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210325010516.18994-27-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-zygoterules): New variable.--- gnu/packages/julia-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+)
Toggle diff (32 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex 9a414fc739..af8b41e82b 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -1199,3 +1199,25 @@ working with @acronym{URIs,Uniform Resource Identifiers}, as defined in RFC (description "This package supports SI units and also many other unit system.") (license license:expat)))++(define-public julia-zygoterules+ (package+ (name "julia-zygoterules")+ (version "0.2.1")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/FluxML/ZygoteRules.jl")+ (commit (string-append "v" version))))+ (file-name (git-file-name name version))+ (sha256+ (base32 "07i2mf6rr5b8i6l82qgwl5arsb5pwyyzyfasgnszhdqllk9501bs"))))+ (build-system julia-build-system)+ (propagated-inputs+ `(("julia-macrotools" ,julia-macrotools)))+ (home-page "https://github.com/FluxML/ZygoteRules.jl")+ (synopsis "Add minimal custom gradients to Zygote")+ (description "Minimal package which enables to add custom gradients to+Zygote, without depending on Zygote itself.")+ (license license:expat)))-- 2.28.0
Z
Z
zimoun wrote on 25 Mar 02:05 +0100
[PATCH v2 30/30] gnu: Add julia-zygote.
(address . 47350@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20210325010516.18994-28-zimon.toutoune@gmail.com
* gnu/packages/julia-xyz.scm (julia-zygote): New variable.--- gnu/packages/julia-xyz.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+)
Toggle diff (45 lines)diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scmindex af8b41e82b..cbff69117d 100644--- a/gnu/packages/julia-xyz.scm+++ b/gnu/packages/julia-xyz.scm@@ -1221,3 +1221,38 @@ system.") (description "Minimal package which enables to add custom gradients to Zygote, without depending on Zygote itself.") (license license:expat)))++(define-public julia-zygote+ (package+ (name "julia-zygote")+ (version "0.6.4")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/FluxML/Zygote.jl")+ (commit (string-append "v" version))))+ (file-name (git-file-name name version))+ (sha256+ (base32 "1h2ph0lsisbkh8y4xgwzgw9p5zi243q8zzp5gfh3zw9pzkx6a1rf"))))+ (build-system julia-build-system)+ (arguments+ `(#:tests? #f)) ;require CUDA, not packaged yet+ (propagated-inputs+ `(("julia-abstractffs" ,julia-abstractffts)+ ("julia-chainrules" ,julia-chainrules)+ ("julia-diffrules" ,julia-diffrules)+ ("julia-fillarrays" ,julia-fillarrays)+ ("julia-forwarddiff" ,julia-forwarddiff)+ ("julia-irtools" ,julia-irtools)+ ("julia-macrotools" ,julia-macrotools)+ ("julia-nanmath" ,julia-nanmath)+ ("julia-requires" ,julia-requires)+ ("julia-specialfunctions" ,julia-specialfunctions)+ ("julia-zygote-rules" ,julia-zygoterules)))+ (home-page "https://fluxml.ai/Zygote.jl")+ (synopsis "Automatic differentiation in Julia")+ (description "Zygote provides source-to-source automatic+differentiation (AD) in Julia, and is the next-generation AD system for the+Flux differentiable programming framework.")+ (license license:expat)))-- 2.28.0
N
N
Nicolò Balzarotti wrote on 25 Mar 10:47 +0100
Re: [bug#47350] [PATCH 00/29] Add Zygote (piece for Machine Learning with Julia)
(address . ludo@gnu.org)
87lfabefae.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me
zimoun <zimon.toutoune@gmail.com> writes:
Toggle quote (13 lines)> Hi Nicoló,> Hum, I get these kind of messages:>> --8<---------------cut here---------------start------------->8---> Internal error: encountered unexpected error in runtime:> ErrorException("type UnionAll has no field size")> jl_errorf at /tmp/guix-build-julia-1.5.3.drv-0/julia-1.5.3/src/rtutils.c:77> --8<---------------cut here---------------end--------------->8--->> for julia-datastructures for instance. Even if the build is fine and> my small experiments seems correct.>
I'd say it's a julia bug [fn:1].
can be reproduced with:
```juliaprimitive type Foo{T} 32 endfoo(T, x) = (Core.bitcast(Foo{T}, x); x)code_typed(foo, Tuple{Any, Int32})```
We need to test this with julia 1.5.4 or 1.6.0 (the latter has beenreleased yesterday :D. I had a build recipe for some version inbetween 1.5.3 and 1.6.0, I'll check if it still works). Before the guix1.2.1 release, we might want to upgrade to 1.5.4 at least.
Toggle quote (2 lines)> Well, I have set this deprecation warning as a first commit in the v2.
Thanks!
I should have some time to re-check those later today
Nicolò
[fn:1] https://github.com/Juliaang/julia/issues/37532
Z
Z
zimoun wrote on 25 Mar 12:32 +0100
(address . ludo@gnu.org)
86czvnjwox.fsf@gmail.com
Hi,
On Thu, 25 Mar 2021 at 10:47, Nicolò Balzarotti <anothersms@gmail.com> wrote:
Toggle quote (4 lines)> zimoun <zimon.toutoune@gmail.com> writes:
> I'd say it's a julia bug [fn:1].
ok
Toggle quote (5 lines)> We need to test this with julia 1.5.4 or 1.6.0 (the latter has been> released yesterday :D. I had a build recipe for some version in> between 1.5.3 and 1.6.0, I'll check if it still works). Before the guix> 1.2.1 release, we might want to upgrade to 1.5.4 at least.
Please go ahead. If 1.6.0 is not included for 1.2.1, it will for thenext 1.3. ;-)
IMHO, we should try to address: the reproducibility issue and theprecompiled twice,
http://issues.guix.gnu.org/issue/22304http://issues.guix.gnu.org/issue/47354https://yhetil.org/guix/86h7l1ic7e.fsf@gmail.com

Thanks,simon
N
N
Nicolò Balzarotti wrote on 27 Mar 22:01 +0100
(address . ludo@gnu.org)
87y2e8cnvo.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me
Nicolò Balzarotti <anothersms@gmail.com> writes:
Toggle quote (4 lines)> zimoun <zimon.toutoune@gmail.com> writes:
> I should have some time to re-check those later today>
Ok the everything still builds (I had a few problems applying thepatches, but it might depend on my setup).
Lint gives warnings:julia-zygote@0.6.4: permanent redirect from https://fluxml.ai/Zygote.jlto https://fluxml.ai/Zygote.jl/julia-zygote@0.6.4: can be upgraded to 0.6.6julia-chainrules@0.7.54: can be upgraded to 0.7.55julia-openspecfun-jll@0.5.3+4: sentences in description should be followed by two spaces; possible infraction at 129julia-compilersupportlibraries-jll@0.4.0+1: sentences in description should be followed by two spaces; possible infraction at 134julia-compilersupportlibraries-jll@0.4.0+1: line 344 is way too long (91characters)julia-chainrulescore@0.9.29: can be upgraded to 0.9.33 julia-macrotools@0.5.6: permanent redirect from https://fluxml.ai/MacroTools.jlto https://fluxml.ai/MacroTools.jl/
Other than that, LGTM(I opened an issue [fn:1] to constructionbase.jl to have latest version tagged,if they respond promptly we might use the tagged version)
[fn:1] https://github.com/JuliaObjects/ConstructionBase.jl/issues/42

Thanks, Nicolò
Z
Z
zimoun wrote on 27 Mar 22:24 +0100
(name . Nicolò Balzarotti)(address . anothersms@gmail.com)
86zgyo70jd.fsf@gmail.com
Hi Nicoló,
On Sat, 27 Mar 2021 at 22:01, Nicolò Balzarotti <anothersms@gmail.com> wrote:
Toggle quote (9 lines)> Nicolò Balzarotti <anothersms@gmail.com> writes:>>> zimoun <zimon.toutoune@gmail.com> writes:>>> I should have some time to re-check those later today>>> Ok the everything still builds (I had a few problems applying the> patches, but it might depend on my setup).
Ah.
Toggle quote (6 lines)> Lint gives warnings:> julia-zygote@0.6.4: permanent redirect from https://fluxml.ai/Zygote.jl to> https://fluxml.ai/Zygote.jl/> julia-macrotools@0.5.6: permanent redirect from> https://fluxml.ai/MacroTools.jl to https://fluxml.ai/MacroTools.jl/
I find weird to have to have trailing ’/’ for these when all the othersdoes not have.
Toggle quote (4 lines)> julia-zygote@0.6.4: can be upgraded to 0.6.6> julia-chainrules@0.7.54: can be upgraded to 0.7.55> julia-chainrulescore@0.9.29: can be upgraded to 0.9.33
Well, let apply this series and update them later. :-)
Toggle quote (5 lines)> julia-openspecfun-jll@0.5.3+4: sentences in description should be followed by> two spaces; possible infraction at 129> julia-compilersupportlibraries-jll@0.4.0+1: sentences in description should be> followed by two spaces; possible infraction at 134
Indeed. Ludo, could you fix it before pushing?
Toggle quote (3 lines)> julia-compilersupportlibraries-jll@0.4.0+1: line 344 is way too long (91> characters)
Hum, but life is too short. ;-)

Toggle quote (2 lines)> Other than that, LGTM
Thanks!
Toggle quote (3 lines)> (I opened an issue [fn:1] to constructionbase.jl to have latest> version tagged,
Cool!
Toggle quote (2 lines)> if they respond promptly we might use the tagged version)
Well, let merge this series. Once in, it becomes much easier to updatethem. And less scary for committer. :-) Pushing ~30 new Juliapackages is not the same than tweaking a version+hash or adescription. ;-)
Thanks again!
Cheers,simon
PS:Teaser: I have started something about an importer. :-)I have checked JuliaHub but I am not able to find the dependencies list,so I am going to use General.
N
N
Nicolò Balzarotti wrote on 27 Mar 22:41 +0100
(name . zimoun)(address . zimon.toutoune@gmail.com)
87v99ccm0g.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me
zimoun <zimon.toutoune@gmail.com> writes:
Toggle quote (6 lines)> Well, let apply this series and update them later. :-)> Well, let merge this series. Once in, it becomes much easier to update> them. And less scary for committer. :-) Pushing ~30 new Julia> packages is not the same than tweaking a version+hash or a> description. ;-)
Ok
Toggle quote (4 lines)> PS:> Teaser: I have started something about an importer. :-)> I have checked JuliaHub but I am not able to find the dependencies list,> so I am going to use General.
Great! If you can use the general registry directly is fine.Dependency list is under .deps
Example:curl 'https://juliahub.com/docs/Flux/QdkVy/0.11.6/pkg.json'| jq .deps
those with direct: false are depdencencies of dependencies
Z
Z
zimoun wrote on 27 Mar 23:08 +0100
(name . Nicolò Balzarotti)(address . anothersms@gmail.com)
CAJ3okZ1Bt2jA+WHExWtiffTC2bqXszxUd0r=BRoY6fuHpLW7jw@mail.gmail.com
Hi,
On Sat, 27 Mar 2021 at 22:41, Nicolò Balzarotti <anothersms@gmail.com> wrote:
Toggle quote (2 lines)> Great! If you can use the general registry directly is fine.
The plan is to start with Pkg.TOML has you did. And see after if aparser could be implemented with PEG or other. I am not enoughcomfortable with PEG to go with it (even if I run the tutorial etc.).For instance, the 'cpan' importer checks if some Perl packages arethere. Well, let start by not reinventing the wheel and see later.
Toggle quote (5 lines)> Dependency list is under .deps>> Example:> curl 'https://juliahub.com/docs/Flux/QdkVy/0.11.6/pkg.json' | jq .deps
Yeah, but Project.toml distinguishes between "deps" and "extra", whichgives 'inputs' and 'propgated-inputs', roughly.
But, yeah JuliaHub is nicer because it provides partial synopses andlicenses. Maybe I will change my mind. :-)

Cheers,simon
L
L
Ludovic Courtès wrote on 29 Mar 16:50 +0200
Re: bug#47350: [PATCH 00/29] Add Zygote (piece for Machine Learning with Julia)
(name . zimoun)(address . zimon.toutoune@gmail.com)
87zgymnheg.fsf_-_@gnu.org
Hi there!
I’ve pushed v2, comrades! Thanks for the great work!
Simon, I noticed the trap you’d set up: patches 10 and 20 were missingfrom v2. :-) I took patches 9 and 19 from v1 instead, and everythingbuilds fine, but lemme know if anything’s amiss!
Ludo’.
Closed
Z
Z
zimoun wrote on 29 Mar 17:10 +0200
(name . Ludovic Courtès)(address . ludo@gnu.org)
CAJ3okZ1a6cCcXHKcphVONGBuCoaQOmUL4sf_28sGQCpfL8-fSg@mail.gmail.com
Hi,
On Mon, 29 Mar 2021 at 16:50, Ludovic Courtès <ludo@gnu.org> wrote:
Toggle quote (2 lines)> I’ve pushed v2, comrades! Thanks for the great work!
\o/Thanks Nicoló for the review.
Toggle quote (4 lines)> Simon, I noticed the trap you’d set up: patches 10 and 20 were missing> from v2. :-) I took patches 9 and 19 from v1 instead, and everything> builds fine, but lemme know if anything’s amiss!
Oh, sorry! Indeed, I have missed the shell rule and forgot the '0'.For the record, these 2 patches are the same for v1 and v2.
Thanks,simon
Toggle snippet (16 lines)$ diff v2-0010-gnu-Add-julia-colortypes.patch0009-gnu-Add-julia-colortypes.patch1c1< From 6597c28170e52c435dea0e29f7783260781574b0 Mon Sep 17 00:00:00 2001---> From 2ef94ee9e0f516d77449e8f179b66dc3135bff24 Mon Sep 17 00:00:00 20014c4< Subject: [PATCH v2 10/30] gnu: Add julia-colortypes.---> Subject: [PATCH 09/29] gnu: Add julia-colortypes.12c12< index 4abeaa765f..8d28aab7f1 100644---> index d417a996f8..3213efd715 100644
Toggle snippet (14 lines)$ diff v2-0020-gnu-Add-julia-calculus.patch 0019-gnu-Add-julia-calculus.patch1c1< From 3d96c37625d6841a6b378ea0d57b53e479207b78 Mon Sep 17 00:00:00 2001---> From 5cf3bb5ab498d53bf419e18d1391afb5473b54e8 Mon Sep 17 00:00:00 20014c4< Subject: [PATCH v2 20/30] gnu: Add julia-calculus.---> Subject: [PATCH 19/29] gnu: Add julia-calculus.12c12< index c5c04d6579..75b46a1c7c 100644---> index d14fa66fe5..dfab3c20af 100644
Closed
?