all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#47350] [PATCH 00/29] Add Zygote (piece for Machine Learning with Julia)
@ 2021-03-23 19:42 zimoun
  2021-03-23 19:45 ` [bug#47350] [PATCH 01/29] gnu: Add julia-constructionbase zimoun
                   ` (4 more replies)
  0 siblings, 5 replies; 71+ messages in thread
From: zimoun @ 2021-03-23 19:42 UTC (permalink / raw)
  To: 47350; +Cc: zimoun, anothersms, ludo

Hi,

This adds all the packages required to build Zygote, the source-to-source
automatic 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 and
CUDA.

Speaking about the Julia package CUDA, it is required by the test suite of
Zygote, that's why the #:tests? is #f.  However, we manually check the package
by running the small examples, e.g.,

--8<---------------cut here---------------start------------->8---
$ ./pre-inst-env guix environment -C --ad-hoc julia julia-zygote -- julia
julia> using Zygote
[ Info: Precompiling Zygote [e88e6eb3-aa80-5325-afca-941959d7151f]

julia> f(x) = 5x + 3
f (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]))
       end
Grads(...)

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)
--8<---------------cut here---------------end--------------->8---

All the packages are not archived because of the rate limit.  They should be soon.

--8<---------------cut here---------------start------------->8---
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 archival
gnu/packages/julia-xyz.scm:817:5: julia-macrotools@0.5.6: scheduled Software Heritage archival
gnu/packages/julia-xyz.scm:1040:5: julia-reexport@1.0.0: scheduled Software Heritage archival
gnu/packages/julia-xyz.scm:723:5: julia-irtools@0.4.2: scheduled Software Heritage archival
gnu/packages/julia-xyz.scm:283:5: julia-colortypes@0.10.12: scheduled Software Heritage archival
gnu/packages/julia-xyz.scm:1059:5: julia-requires@1.1.3: scheduled Software Heritage archival
gnu/packages/julia-xyz.scm:1085:5: julia-richardson@1.4.0: scheduled Software Heritage archival
gnu/packages/julia-xyz.scm:552:5: julia-finitedifferences@0.12.2: Software Heritage rate limit reached; try again later
gnu/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 later
gnu/packages/julia-xyz.scm:309:5: julia-commonsubexpressions@0.3.0: archival rate limit exceeded; try again later
gnu/packages/julia-xyz.scm:131:5: julia-calculus@0.5.1: archival rate limit exceeded; try again later
gnu/packages/julia-xyz.scm:441:5: julia-diffresults@1.0.3: archival rate limit exceeded; try again later
gnu/packages/julia-xyz.scm:488:5: julia-difftests@0.1.1: archival rate limit exceeded; try again later
guix lint: error: julia-compilersupportlibraries: unknown package
guix lint: error: julia-openspecfun: unknown package
gnu/packages/julia-xyz.scm:1112:5: julia-specialfunctions@1.3.0: archival rate limit exceeded; try again later
gnu/packages/julia-xyz.scm:155:5: julia-chainrules@0.7.54: archival rate limit exceeded; try again later
gnu/packages/julia-xyz.scm:613:5: julia-forwarddiff@0.10.17: archival rate limit exceeded; try again later
gnu/packages/julia-xyz.scm:1221:5: julia-zygoterules@0.2.1: archival rate limit exceeded; try again later
gnu/packages/julia-xyz.scm:1243:5: julia-zygote@0.6.4: archival rate limit exceeded; try again later
--8<---------------cut here---------------end--------------->8---


Last, well, I feel motivated to implement an (recursive) importer, even
inaccurate, 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





^ permalink raw reply	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH 01/29] gnu: Add julia-constructionbase.
  2021-03-23 19:42 [bug#47350] [PATCH 00/29] Add Zygote (piece for Machine Learning with Julia) zimoun
@ 2021-03-23 19:45 ` zimoun
  2021-03-23 19:45   ` [bug#47350] [PATCH 02/29] gnu: Add julia-macrotools zimoun
                     ` (7 more replies)
  2021-03-23 19:46 ` [bug#47350] [PATCH 10/29] gnu: Add julia-colors zimoun
                   ` (3 subsequent siblings)
  4 siblings, 8 replies; 71+ messages in thread
From: zimoun @ 2021-03-23 19:45 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-constructionbase): New variable.
---
 gnu/packages/julia-xyz.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH 02/29] gnu: Add julia-macrotools.
  2021-03-23 19:45 ` [bug#47350] [PATCH 01/29] gnu: Add julia-constructionbase zimoun
@ 2021-03-23 19:45   ` zimoun
  2021-03-23 19:45   ` [bug#47350] [PATCH 03/29] gnu: Add julia-nanmath zimoun
                     ` (6 subsequent siblings)
  7 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-23 19:45 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-macrotools): New variable.
---
 gnu/packages/julia-xyz.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH 03/29] gnu: Add julia-nanmath.
  2021-03-23 19:45 ` [bug#47350] [PATCH 01/29] gnu: Add julia-constructionbase zimoun
  2021-03-23 19:45   ` [bug#47350] [PATCH 02/29] gnu: Add julia-macrotools zimoun
@ 2021-03-23 19:45   ` zimoun
  2021-03-23 19:45   ` [bug#47350] [PATCH 04/29] gnu: Add julia-reexport zimoun
                     ` (5 subsequent siblings)
  7 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-23 19:45 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-nanmath): New variable.
---
 gnu/packages/julia-xyz.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH 04/29] gnu: Add julia-reexport.
  2021-03-23 19:45 ` [bug#47350] [PATCH 01/29] gnu: Add julia-constructionbase zimoun
  2021-03-23 19:45   ` [bug#47350] [PATCH 02/29] gnu: Add julia-macrotools zimoun
  2021-03-23 19:45   ` [bug#47350] [PATCH 03/29] gnu: Add julia-nanmath zimoun
@ 2021-03-23 19:45   ` zimoun
  2021-03-23 19:45   ` [bug#47350] [PATCH 05/29] gnu: Add julia-irtools zimoun
                     ` (4 subsequent siblings)
  7 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-23 19:45 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-reexport): New variable.
---
 gnu/packages/julia-xyz.scm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH 05/29] gnu: Add julia-irtools.
  2021-03-23 19:45 ` [bug#47350] [PATCH 01/29] gnu: Add julia-constructionbase zimoun
                     ` (2 preceding siblings ...)
  2021-03-23 19:45   ` [bug#47350] [PATCH 04/29] gnu: Add julia-reexport zimoun
@ 2021-03-23 19:45   ` zimoun
  2021-03-23 19:45   ` [bug#47350] [PATCH 06/29] gnu: Add julia-staticarrays zimoun
                     ` (3 subsequent siblings)
  7 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-23 19:45 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-irtools): New variable.
---
 gnu/packages/julia-xyz.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH 06/29] gnu: Add julia-staticarrays.
  2021-03-23 19:45 ` [bug#47350] [PATCH 01/29] gnu: Add julia-constructionbase zimoun
                     ` (3 preceding siblings ...)
  2021-03-23 19:45   ` [bug#47350] [PATCH 05/29] gnu: Add julia-irtools zimoun
@ 2021-03-23 19:45   ` zimoun
  2021-03-23 19:45   ` [bug#47350] [PATCH 07/29] gnu: Add julia-unitful zimoun
                     ` (2 subsequent siblings)
  7 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-23 19:45 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-staticarrays): New variable.
---
 gnu/packages/julia-xyz.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH 07/29] gnu: Add julia-unitful.
  2021-03-23 19:45 ` [bug#47350] [PATCH 01/29] gnu: Add julia-constructionbase zimoun
                     ` (4 preceding siblings ...)
  2021-03-23 19:45   ` [bug#47350] [PATCH 06/29] gnu: Add julia-staticarrays zimoun
@ 2021-03-23 19:45   ` zimoun
  2021-03-23 19:45   ` [bug#47350] [PATCH 08/29] gnu: Add julia-abstractffts zimoun
  2021-03-23 19:45   ` [bug#47350] [PATCH 09/29] gnu: Add julia-colortypes zimoun
  7 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-23 19:45 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-unitful): New variable.
---
 gnu/packages/julia-xyz.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH 08/29] gnu: Add julia-abstractffts.
  2021-03-23 19:45 ` [bug#47350] [PATCH 01/29] gnu: Add julia-constructionbase zimoun
                     ` (5 preceding siblings ...)
  2021-03-23 19:45   ` [bug#47350] [PATCH 07/29] gnu: Add julia-unitful zimoun
@ 2021-03-23 19:45   ` zimoun
  2021-03-23 19:45   ` [bug#47350] [PATCH 09/29] gnu: Add julia-colortypes zimoun
  7 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-23 19:45 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-abstractffts): New variable.
---
 gnu/packages/julia-xyz.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH 09/29] gnu: Add julia-colortypes.
  2021-03-23 19:45 ` [bug#47350] [PATCH 01/29] gnu: Add julia-constructionbase zimoun
                     ` (6 preceding siblings ...)
  2021-03-23 19:45   ` [bug#47350] [PATCH 08/29] gnu: Add julia-abstractffts zimoun
@ 2021-03-23 19:45   ` zimoun
  7 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-23 19:45 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-colortypes): New variable.
---
 gnu/packages/julia-xyz.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH 10/29] gnu: Add julia-colors.
  2021-03-23 19:42 [bug#47350] [PATCH 00/29] Add Zygote (piece for Machine Learning with Julia) zimoun
  2021-03-23 19:45 ` [bug#47350] [PATCH 01/29] gnu: Add julia-constructionbase zimoun
@ 2021-03-23 19:46 ` zimoun
  2021-03-23 19:46   ` [bug#47350] [PATCH 11/29] gnu: Add julia-example zimoun
                     ` (8 more replies)
  2021-03-23 19:46 ` [bug#47350] [PATCH 20/29] gnu: Add julia-diffresults zimoun
                   ` (2 subsequent siblings)
  4 siblings, 9 replies; 71+ messages in thread
From: zimoun @ 2021-03-23 19:46 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-colors): New variable.
---
 gnu/packages/julia-xyz.scm | 40 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH 11/29] gnu: Add julia-example.
  2021-03-23 19:46 ` [bug#47350] [PATCH 10/29] gnu: Add julia-colors zimoun
@ 2021-03-23 19:46   ` zimoun
  2021-03-23 19:46   ` [bug#47350] [PATCH 12/29] gnu: Add julia-requires zimoun
                     ` (7 subsequent siblings)
  8 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-23 19:46 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-example): New variable.
---
 gnu/packages/julia-xyz.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH 12/29] gnu: Add julia-requires.
  2021-03-23 19:46 ` [bug#47350] [PATCH 10/29] gnu: Add julia-colors zimoun
  2021-03-23 19:46   ` [bug#47350] [PATCH 11/29] gnu: Add julia-example zimoun
@ 2021-03-23 19:46   ` zimoun
  2021-03-23 19:46   ` [bug#47350] [PATCH 13/29] gnu: Add julia-chainrulescore zimoun
                     ` (6 subsequent siblings)
  8 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-23 19:46 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-requires): New variable.
---
 gnu/packages/julia-xyz.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH 13/29] gnu: Add julia-chainrulescore.
  2021-03-23 19:46 ` [bug#47350] [PATCH 10/29] gnu: Add julia-colors zimoun
  2021-03-23 19:46   ` [bug#47350] [PATCH 11/29] gnu: Add julia-example zimoun
  2021-03-23 19:46   ` [bug#47350] [PATCH 12/29] gnu: Add julia-requires zimoun
@ 2021-03-23 19:46   ` zimoun
  2021-03-23 19:46   ` [bug#47350] [PATCH 14/29] gnu: Add julia-richardson zimoun
                     ` (5 subsequent siblings)
  8 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-23 19:46 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-chainrulescore): New variable.
---
 gnu/packages/julia-xyz.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH 14/29] gnu: Add julia-richardson.
  2021-03-23 19:46 ` [bug#47350] [PATCH 10/29] gnu: Add julia-colors zimoun
                     ` (2 preceding siblings ...)
  2021-03-23 19:46   ` [bug#47350] [PATCH 13/29] gnu: Add julia-chainrulescore zimoun
@ 2021-03-23 19:46   ` zimoun
  2021-03-23 19:46   ` [bug#47350] [PATCH 15/29] gnu: Add julia-finitedifferences zimoun
                     ` (4 subsequent siblings)
  8 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-23 19:46 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-richardson): New variable.
---
 gnu/packages/julia-xyz.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH 15/29] gnu: Add julia-finitedifferences.
  2021-03-23 19:46 ` [bug#47350] [PATCH 10/29] gnu: Add julia-colors zimoun
                     ` (3 preceding siblings ...)
  2021-03-23 19:46   ` [bug#47350] [PATCH 14/29] gnu: Add julia-richardson zimoun
@ 2021-03-23 19:46   ` zimoun
  2021-03-23 19:46   ` [bug#47350] [PATCH 16/29] gnu: Add julia-chainrulestestutils zimoun
                     ` (3 subsequent siblings)
  8 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-23 19:46 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-finitedifferences): New variable.
---
 gnu/packages/julia-xyz.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH 16/29] gnu: Add julia-chainrulestestutils.
  2021-03-23 19:46 ` [bug#47350] [PATCH 10/29] gnu: Add julia-colors zimoun
                     ` (4 preceding siblings ...)
  2021-03-23 19:46   ` [bug#47350] [PATCH 15/29] gnu: Add julia-finitedifferences zimoun
@ 2021-03-23 19:46   ` zimoun
  2021-03-23 19:46   ` [bug#47350] [PATCH 17/29] gnu: Add julia-fillarrays zimoun
                     ` (2 subsequent siblings)
  8 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-23 19:46 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-chainrulestestutils): New variable.
---
 gnu/packages/julia-xyz.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH 17/29] gnu: Add julia-fillarrays.
  2021-03-23 19:46 ` [bug#47350] [PATCH 10/29] gnu: Add julia-colors zimoun
                     ` (5 preceding siblings ...)
  2021-03-23 19:46   ` [bug#47350] [PATCH 16/29] gnu: Add julia-chainrulestestutils zimoun
@ 2021-03-23 19:46   ` zimoun
  2021-03-23 19:46   ` [bug#47350] [PATCH 18/29] gnu: Add julia-commonsubexpressions zimoun
  2021-03-23 19:46   ` [bug#47350] [PATCH 19/29] gnu: Add julia-calculus zimoun
  8 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-23 19:46 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-fillarrays): New variable.
---
 gnu/packages/julia-xyz.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH 18/29] gnu: Add julia-commonsubexpressions.
  2021-03-23 19:46 ` [bug#47350] [PATCH 10/29] gnu: Add julia-colors zimoun
                     ` (6 preceding siblings ...)
  2021-03-23 19:46   ` [bug#47350] [PATCH 17/29] gnu: Add julia-fillarrays zimoun
@ 2021-03-23 19:46   ` zimoun
  2021-03-23 19:46   ` [bug#47350] [PATCH 19/29] gnu: Add julia-calculus zimoun
  8 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-23 19:46 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-commonsubexpressions): New variable.
---
 gnu/packages/julia-xyz.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH 19/29] gnu: Add julia-calculus.
  2021-03-23 19:46 ` [bug#47350] [PATCH 10/29] gnu: Add julia-colors zimoun
                     ` (7 preceding siblings ...)
  2021-03-23 19:46   ` [bug#47350] [PATCH 18/29] gnu: Add julia-commonsubexpressions zimoun
@ 2021-03-23 19:46   ` zimoun
  8 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-23 19:46 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-calculus): New variable.
---
 gnu/packages/julia-xyz.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH 20/29] gnu: Add julia-diffresults.
  2021-03-23 19:42 [bug#47350] [PATCH 00/29] Add Zygote (piece for Machine Learning with Julia) zimoun
  2021-03-23 19:45 ` [bug#47350] [PATCH 01/29] gnu: Add julia-constructionbase zimoun
  2021-03-23 19:46 ` [bug#47350] [PATCH 10/29] gnu: Add julia-colors zimoun
@ 2021-03-23 19:46 ` zimoun
  2021-03-23 19:46   ` [bug#47350] [PATCH 21/29] gnu: Add julia-difftests zimoun
                     ` (8 more replies)
  2021-03-23 22:48 ` [bug#47350] [PATCH 00/29] Add Zygote (piece for Machine Learning with Julia) Nicolò Balzarotti
  2021-03-25  1:04 ` [bug#47350] [PATCH v2 01/30] build: julia-build-system: Turn on depreciation warnings zimoun
  4 siblings, 9 replies; 71+ messages in thread
From: zimoun @ 2021-03-23 19:46 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-diffresults): New variable.
---
 gnu/packages/julia-xyz.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH 21/29] gnu: Add julia-difftests.
  2021-03-23 19:46 ` [bug#47350] [PATCH 20/29] gnu: Add julia-diffresults zimoun
@ 2021-03-23 19:46   ` zimoun
  2021-03-23 19:46   ` [bug#47350] [PATCH 22/29] gnu: Add julia-compilersupportlibraries-jll zimoun
                     ` (7 subsequent siblings)
  8 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-23 19:46 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-difftests): New variable.
---
 gnu/packages/julia-xyz.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH 22/29] gnu: Add julia-compilersupportlibraries-jll.
  2021-03-23 19:46 ` [bug#47350] [PATCH 20/29] gnu: Add julia-diffresults zimoun
  2021-03-23 19:46   ` [bug#47350] [PATCH 21/29] gnu: Add julia-difftests zimoun
@ 2021-03-23 19:46   ` zimoun
  2021-03-23 19:46   ` [bug#47350] [PATCH 23/29] gnu: Add julia-openspecfun-jll zimoun
                     ` (6 subsequent siblings)
  8 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-23 19:46 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-compilersupportlibraries-jll): New variable.
---
 gnu/packages/julia-xyz.scm | 44 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH 23/29] gnu: Add julia-openspecfun-jll.
  2021-03-23 19:46 ` [bug#47350] [PATCH 20/29] gnu: Add julia-diffresults zimoun
  2021-03-23 19:46   ` [bug#47350] [PATCH 21/29] gnu: Add julia-difftests zimoun
  2021-03-23 19:46   ` [bug#47350] [PATCH 22/29] gnu: Add julia-compilersupportlibraries-jll zimoun
@ 2021-03-23 19:46   ` zimoun
  2021-03-23 19:46   ` [bug#47350] [PATCH 24/29] gnu: Add julia-specialfunctions zimoun
                     ` (5 subsequent siblings)
  8 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-23 19:46 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-openspecfun-jll): New variable.
---
 gnu/packages/julia-xyz.scm | 46 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH 24/29] gnu: Add julia-specialfunctions.
  2021-03-23 19:46 ` [bug#47350] [PATCH 20/29] gnu: Add julia-diffresults zimoun
                     ` (2 preceding siblings ...)
  2021-03-23 19:46   ` [bug#47350] [PATCH 23/29] gnu: Add julia-openspecfun-jll zimoun
@ 2021-03-23 19:46   ` zimoun
  2021-03-23 19:46   ` [bug#47350] [PATCH 25/29] gnu: Add julia-diffrules zimoun
                     ` (4 subsequent siblings)
  8 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-23 19:46 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-specialfunctions): New variable.
---
 gnu/packages/julia-xyz.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH 25/29] gnu: Add julia-diffrules.
  2021-03-23 19:46 ` [bug#47350] [PATCH 20/29] gnu: Add julia-diffresults zimoun
                     ` (3 preceding siblings ...)
  2021-03-23 19:46   ` [bug#47350] [PATCH 24/29] gnu: Add julia-specialfunctions zimoun
@ 2021-03-23 19:46   ` zimoun
  2021-03-23 19:46   ` [bug#47350] [PATCH 26/29] gnu: Add julia-chainrules zimoun
                     ` (3 subsequent siblings)
  8 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-23 19:46 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-diffrules): New variable.
---
 gnu/packages/julia-xyz.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH 26/29] gnu: Add julia-chainrules.
  2021-03-23 19:46 ` [bug#47350] [PATCH 20/29] gnu: Add julia-diffresults zimoun
                     ` (4 preceding siblings ...)
  2021-03-23 19:46   ` [bug#47350] [PATCH 25/29] gnu: Add julia-diffrules zimoun
@ 2021-03-23 19:46   ` zimoun
  2021-03-23 19:46   ` [bug#47350] [PATCH 27/29] gnu: Add julia-forwarddiff zimoun
                     ` (2 subsequent siblings)
  8 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-23 19:46 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-chainrules): New variable.
---
 gnu/packages/julia-xyz.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH 27/29] gnu: Add julia-forwarddiff.
  2021-03-23 19:46 ` [bug#47350] [PATCH 20/29] gnu: Add julia-diffresults zimoun
                     ` (5 preceding siblings ...)
  2021-03-23 19:46   ` [bug#47350] [PATCH 26/29] gnu: Add julia-chainrules zimoun
@ 2021-03-23 19:46   ` zimoun
  2021-03-23 19:46   ` [bug#47350] [PATCH 28/29] gnu: Add julia-zygoterules zimoun
  2021-03-23 19:46   ` [bug#47350] [PATCH 29/29] gnu: Add julia-zygote zimoun
  8 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-23 19:46 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-forwarddiff): New variable.
---
 gnu/packages/julia-xyz.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH 28/29] gnu: Add julia-zygoterules.
  2021-03-23 19:46 ` [bug#47350] [PATCH 20/29] gnu: Add julia-diffresults zimoun
                     ` (6 preceding siblings ...)
  2021-03-23 19:46   ` [bug#47350] [PATCH 27/29] gnu: Add julia-forwarddiff zimoun
@ 2021-03-23 19:46   ` zimoun
  2021-03-23 19:46   ` [bug#47350] [PATCH 29/29] gnu: Add julia-zygote zimoun
  8 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-23 19:46 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-zygoterules): New variable.
---
 gnu/packages/julia-xyz.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH 29/29] gnu: Add julia-zygote.
  2021-03-23 19:46 ` [bug#47350] [PATCH 20/29] gnu: Add julia-diffresults zimoun
                     ` (7 preceding siblings ...)
  2021-03-23 19:46   ` [bug#47350] [PATCH 28/29] gnu: Add julia-zygoterules zimoun
@ 2021-03-23 19:46   ` zimoun
  8 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-23 19:46 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-zygote): New variable.
---
 gnu/packages/julia-xyz.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH 00/29] Add Zygote (piece for Machine Learning with Julia)
  2021-03-23 19:42 [bug#47350] [PATCH 00/29] Add Zygote (piece for Machine Learning with Julia) zimoun
                   ` (2 preceding siblings ...)
  2021-03-23 19:46 ` [bug#47350] [PATCH 20/29] gnu: Add julia-diffresults zimoun
@ 2021-03-23 22:48 ` Nicolò Balzarotti
  2021-03-23 23:01   ` zimoun
  2021-03-25  1:04 ` [bug#47350] [PATCH v2 01/30] build: julia-build-system: Turn on depreciation warnings zimoun
  4 siblings, 1 reply; 71+ messages in thread
From: Nicolò Balzarotti @ 2021-03-23 22:48 UTC (permalink / raw)
  To: zimoun, 47350; +Cc: ludo, zimoun

zimoun <zimon.toutoune@gmail.com> writes:

> Hi,
Hi!

>
> 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 :)

>
> 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
share here my notes (still no implementation), if I'm not missing
something obvious, this importer should be super easy.  Let me know what
you think about those:

1. refresh the package list (json)
   curl https://juliahub.com/app/packages/info
2. 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ò




^ permalink raw reply	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH 00/29] Add Zygote (piece for Machine Learning with Julia)
  2021-03-23 22:48 ` [bug#47350] [PATCH 00/29] Add Zygote (piece for Machine Learning with Julia) Nicolò Balzarotti
@ 2021-03-23 23:01   ` zimoun
  2021-03-24  8:15     ` Nicolò Balzarotti
  0 siblings, 1 reply; 71+ messages in thread
From: zimoun @ 2021-03-23 23:01 UTC (permalink / raw)
  To: Nicolò Balzarotti, 47350; +Cc: ludo

Hi,

On Tue, 23 Mar 2021 at 23:48, Nicolò Balzarotti <anothersms@gmail.com> wrote:
> 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 be
committer because it is checking and commenting, or by simply saying
LGTM.  For example, I am not committer and I reviewed ocaml packages or
camlboot.

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.


>> 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 will
comment once I have read a bit this juliahub thing. :-)


Thanks,
simon




^ permalink raw reply	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH 00/29] Add Zygote (piece for Machine Learning with Julia)
  2021-03-23 23:01   ` zimoun
@ 2021-03-24  8:15     ` Nicolò Balzarotti
  2021-03-24  9:35       ` zimoun
  0 siblings, 1 reply; 71+ messages in thread
From: Nicolò Balzarotti @ 2021-03-24  8:15 UTC (permalink / raw)
  To: zimoun, 47350; +Cc: ludo

zimoun <zimon.toutoune@gmail.com> writes:

> If you want to review, then it would help. :-)

Here you go:

Patch applies and everything builds fine.  I also checked the
licenses and they seems fine.  I run some example on the Zygote tutorial
and it worked

Some notes:

julia-macrotools:
> +that let you do deep transformations of code..")
two dots

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


julia-compilersupportlibraries-jll:
julia-openspecfun-jll:
I'd change package description, as it's the default and shared between
all jll packages

julia-constructionbase:
typo: lightwight -> lightweight

julia-irtool:
typo: simpe -> simple

julia-macrotools:
typo: Jlia -> Julia

julia-specialfuntions:
> 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ò




^ permalink raw reply	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH 00/29] Add Zygote (piece for Machine Learning with Julia)
  2021-03-24  8:15     ` Nicolò Balzarotti
@ 2021-03-24  9:35       ` zimoun
  2021-03-25  0:58         ` zimoun
  0 siblings, 1 reply; 71+ messages in thread
From: zimoun @ 2021-03-24  9:35 UTC (permalink / raw)
  To: Nicolò Balzarotti, 47350; +Cc: ludo

Hi Nicoló,

On Wed, 24 Mar 2021 at 09:15, Nicolò Balzarotti <anothersms@gmail.com> wrote:
> zimoun <zimon.toutoune@gmail.com> writes:
>
>> If you want to review, then it would help. :-)
>
> Here you go:

Thanks for the prompt review!


> 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 or
simply locally tweak the arguments case per case.


Thanks again!

Cheers,
simon




^ permalink raw reply	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH 00/29] Add Zygote (piece for Machine Learning with Julia)
  2021-03-24  9:35       ` zimoun
@ 2021-03-25  0:58         ` zimoun
  2021-03-25  9:47           ` Nicolò Balzarotti
  0 siblings, 1 reply; 71+ messages in thread
From: zimoun @ 2021-03-25  0:58 UTC (permalink / raw)
  To: Nicolò Balzarotti, 47350; +Cc: ludo

Hi Nicoló,

On Wed, 24 Mar 2021 at 10:35, zimoun <zimon.toutoune@gmail.com> wrote:
> 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:

--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.

Well, I have set this deprecation warning as a first commit in the v2.


Thanks,
simon




^ permalink raw reply	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH v2 01/30] build: julia-build-system: Turn on depreciation warnings.
  2021-03-23 19:42 [bug#47350] [PATCH 00/29] Add Zygote (piece for Machine Learning with Julia) zimoun
                   ` (3 preceding siblings ...)
  2021-03-23 22:48 ` [bug#47350] [PATCH 00/29] Add Zygote (piece for Machine Learning with Julia) Nicolò Balzarotti
@ 2021-03-25  1:04 ` zimoun
  2021-03-25  1:04   ` [bug#47350] [PATCH v2 02/30] gnu: Add julia-constructionbase zimoun
                     ` (26 more replies)
  4 siblings, 27 replies; 71+ messages in thread
From: zimoun @ 2021-03-25  1:04 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* 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(-)

diff --git a/guix/build/julia-build-system.scm b/guix/build/julia-build-system.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH v2 02/30] gnu: Add julia-constructionbase.
  2021-03-25  1:04 ` [bug#47350] [PATCH v2 01/30] build: julia-build-system: Turn on depreciation warnings zimoun
@ 2021-03-25  1:04   ` zimoun
  2021-03-25  1:04   ` [bug#47350] [PATCH v2 03/30] gnu: Add julia-macrotools zimoun
                     ` (25 subsequent siblings)
  26 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-25  1:04 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-constructionbase): New variable.
---
 gnu/packages/julia-xyz.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH v2 03/30] gnu: Add julia-macrotools.
  2021-03-25  1:04 ` [bug#47350] [PATCH v2 01/30] build: julia-build-system: Turn on depreciation warnings zimoun
  2021-03-25  1:04   ` [bug#47350] [PATCH v2 02/30] gnu: Add julia-constructionbase zimoun
@ 2021-03-25  1:04   ` zimoun
  2021-03-25  1:04   ` [bug#47350] [PATCH v2 04/30] gnu: Add julia-nanmath zimoun
                     ` (24 subsequent siblings)
  26 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-25  1:04 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-macrotools): New variable.
---
 gnu/packages/julia-xyz.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH v2 04/30] gnu: Add julia-nanmath.
  2021-03-25  1:04 ` [bug#47350] [PATCH v2 01/30] build: julia-build-system: Turn on depreciation warnings zimoun
  2021-03-25  1:04   ` [bug#47350] [PATCH v2 02/30] gnu: Add julia-constructionbase zimoun
  2021-03-25  1:04   ` [bug#47350] [PATCH v2 03/30] gnu: Add julia-macrotools zimoun
@ 2021-03-25  1:04   ` zimoun
  2021-03-25  1:04   ` [bug#47350] [PATCH v2 05/30] gnu: Add julia-reexport zimoun
                     ` (23 subsequent siblings)
  26 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-25  1:04 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-nanmath): New variable.
---
 gnu/packages/julia-xyz.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH v2 05/30] gnu: Add julia-reexport.
  2021-03-25  1:04 ` [bug#47350] [PATCH v2 01/30] build: julia-build-system: Turn on depreciation warnings zimoun
                     ` (2 preceding siblings ...)
  2021-03-25  1:04   ` [bug#47350] [PATCH v2 04/30] gnu: Add julia-nanmath zimoun
@ 2021-03-25  1:04   ` zimoun
  2021-03-25  1:04   ` [bug#47350] [PATCH v2 06/30] gnu: Add julia-irtools zimoun
                     ` (22 subsequent siblings)
  26 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-25  1:04 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-reexport): New variable.
---
 gnu/packages/julia-xyz.scm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH v2 06/30] gnu: Add julia-irtools.
  2021-03-25  1:04 ` [bug#47350] [PATCH v2 01/30] build: julia-build-system: Turn on depreciation warnings zimoun
                     ` (3 preceding siblings ...)
  2021-03-25  1:04   ` [bug#47350] [PATCH v2 05/30] gnu: Add julia-reexport zimoun
@ 2021-03-25  1:04   ` zimoun
  2021-03-25  1:04   ` [bug#47350] [PATCH v2 07/30] gnu: Add julia-staticarrays zimoun
                     ` (21 subsequent siblings)
  26 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-25  1:04 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-irtools): New variable.
---
 gnu/packages/julia-xyz.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH v2 07/30] gnu: Add julia-staticarrays.
  2021-03-25  1:04 ` [bug#47350] [PATCH v2 01/30] build: julia-build-system: Turn on depreciation warnings zimoun
                     ` (4 preceding siblings ...)
  2021-03-25  1:04   ` [bug#47350] [PATCH v2 06/30] gnu: Add julia-irtools zimoun
@ 2021-03-25  1:04   ` zimoun
  2021-03-25  1:04   ` [bug#47350] [PATCH v2 08/30] gnu: Add julia-unitful zimoun
                     ` (20 subsequent siblings)
  26 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-25  1:04 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-staticarrays): New variable.
---
 gnu/packages/julia-xyz.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH v2 08/30] gnu: Add julia-unitful.
  2021-03-25  1:04 ` [bug#47350] [PATCH v2 01/30] build: julia-build-system: Turn on depreciation warnings zimoun
                     ` (5 preceding siblings ...)
  2021-03-25  1:04   ` [bug#47350] [PATCH v2 07/30] gnu: Add julia-staticarrays zimoun
@ 2021-03-25  1:04   ` zimoun
  2021-03-25  1:04   ` [bug#47350] [PATCH v2 09/30] gnu: Add julia-abstractffts zimoun
                     ` (19 subsequent siblings)
  26 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-25  1:04 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-unitful): New variable.
---
 gnu/packages/julia-xyz.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH v2 09/30] gnu: Add julia-abstractffts.
  2021-03-25  1:04 ` [bug#47350] [PATCH v2 01/30] build: julia-build-system: Turn on depreciation warnings zimoun
                     ` (6 preceding siblings ...)
  2021-03-25  1:04   ` [bug#47350] [PATCH v2 08/30] gnu: Add julia-unitful zimoun
@ 2021-03-25  1:04   ` zimoun
  2021-03-25  1:04   ` [bug#47350] [PATCH v2 11/30] gnu: Add julia-colors zimoun
                     ` (18 subsequent siblings)
  26 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-25  1:04 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-abstractffts): New variable.
---
 gnu/packages/julia-xyz.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH v2 11/30] gnu: Add julia-colors.
  2021-03-25  1:04 ` [bug#47350] [PATCH v2 01/30] build: julia-build-system: Turn on depreciation warnings zimoun
                     ` (7 preceding siblings ...)
  2021-03-25  1:04   ` [bug#47350] [PATCH v2 09/30] gnu: Add julia-abstractffts zimoun
@ 2021-03-25  1:04   ` zimoun
  2021-03-25  1:04   ` [bug#47350] [PATCH v2 12/30] gnu: Add julia-example zimoun
                     ` (17 subsequent siblings)
  26 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-25  1:04 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-colors): New variable.
---
 gnu/packages/julia-xyz.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH v2 12/30] gnu: Add julia-example.
  2021-03-25  1:04 ` [bug#47350] [PATCH v2 01/30] build: julia-build-system: Turn on depreciation warnings zimoun
                     ` (8 preceding siblings ...)
  2021-03-25  1:04   ` [bug#47350] [PATCH v2 11/30] gnu: Add julia-colors zimoun
@ 2021-03-25  1:04   ` zimoun
  2021-03-25  1:05   ` [bug#47350] [PATCH v2 13/30] gnu: Add julia-requires zimoun
                     ` (16 subsequent siblings)
  26 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-25  1:04 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-example): New variable.
---
 gnu/packages/julia-xyz.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH v2 13/30] gnu: Add julia-requires.
  2021-03-25  1:04 ` [bug#47350] [PATCH v2 01/30] build: julia-build-system: Turn on depreciation warnings zimoun
                     ` (9 preceding siblings ...)
  2021-03-25  1:04   ` [bug#47350] [PATCH v2 12/30] gnu: Add julia-example zimoun
@ 2021-03-25  1:05   ` zimoun
  2021-03-25  1:05   ` [bug#47350] [PATCH v2 14/30] gnu: Add julia-chainrulescore zimoun
                     ` (15 subsequent siblings)
  26 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-25  1:05 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-requires): New variable.
---
 gnu/packages/julia-xyz.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH v2 14/30] gnu: Add julia-chainrulescore.
  2021-03-25  1:04 ` [bug#47350] [PATCH v2 01/30] build: julia-build-system: Turn on depreciation warnings zimoun
                     ` (10 preceding siblings ...)
  2021-03-25  1:05   ` [bug#47350] [PATCH v2 13/30] gnu: Add julia-requires zimoun
@ 2021-03-25  1:05   ` zimoun
  2021-03-25  1:05   ` [bug#47350] [PATCH v2 15/30] gnu: Add julia-richardson zimoun
                     ` (14 subsequent siblings)
  26 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-25  1:05 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-chainrulescore): New variable.
---
 gnu/packages/julia-xyz.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH v2 15/30] gnu: Add julia-richardson.
  2021-03-25  1:04 ` [bug#47350] [PATCH v2 01/30] build: julia-build-system: Turn on depreciation warnings zimoun
                     ` (11 preceding siblings ...)
  2021-03-25  1:05   ` [bug#47350] [PATCH v2 14/30] gnu: Add julia-chainrulescore zimoun
@ 2021-03-25  1:05   ` zimoun
  2021-03-25  1:05   ` [bug#47350] [PATCH v2 16/30] gnu: Add julia-finitedifferences zimoun
                     ` (13 subsequent siblings)
  26 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-25  1:05 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-richardson): New variable.
---
 gnu/packages/julia-xyz.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH v2 16/30] gnu: Add julia-finitedifferences.
  2021-03-25  1:04 ` [bug#47350] [PATCH v2 01/30] build: julia-build-system: Turn on depreciation warnings zimoun
                     ` (12 preceding siblings ...)
  2021-03-25  1:05   ` [bug#47350] [PATCH v2 15/30] gnu: Add julia-richardson zimoun
@ 2021-03-25  1:05   ` zimoun
  2021-03-25  1:05   ` [bug#47350] [PATCH v2 17/30] gnu: Add julia-chainrulestestutils zimoun
                     ` (12 subsequent siblings)
  26 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-25  1:05 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-finitedifferences): New variable.
---
 gnu/packages/julia-xyz.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH v2 17/30] gnu: Add julia-chainrulestestutils.
  2021-03-25  1:04 ` [bug#47350] [PATCH v2 01/30] build: julia-build-system: Turn on depreciation warnings zimoun
                     ` (13 preceding siblings ...)
  2021-03-25  1:05   ` [bug#47350] [PATCH v2 16/30] gnu: Add julia-finitedifferences zimoun
@ 2021-03-25  1:05   ` zimoun
  2021-03-25  1:05   ` [bug#47350] [PATCH v2 18/30] gnu: Add julia-fillarrays zimoun
                     ` (11 subsequent siblings)
  26 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-25  1:05 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-chainrulestestutils): New variable.
---
 gnu/packages/julia-xyz.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH v2 18/30] gnu: Add julia-fillarrays.
  2021-03-25  1:04 ` [bug#47350] [PATCH v2 01/30] build: julia-build-system: Turn on depreciation warnings zimoun
                     ` (14 preceding siblings ...)
  2021-03-25  1:05   ` [bug#47350] [PATCH v2 17/30] gnu: Add julia-chainrulestestutils zimoun
@ 2021-03-25  1:05   ` zimoun
  2021-03-25  1:05   ` [bug#47350] [PATCH v2 19/30] gnu: Add julia-commonsubexpressions zimoun
                     ` (10 subsequent siblings)
  26 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-25  1:05 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-fillarrays): New variable.
---
 gnu/packages/julia-xyz.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH v2 19/30] gnu: Add julia-commonsubexpressions.
  2021-03-25  1:04 ` [bug#47350] [PATCH v2 01/30] build: julia-build-system: Turn on depreciation warnings zimoun
                     ` (15 preceding siblings ...)
  2021-03-25  1:05   ` [bug#47350] [PATCH v2 18/30] gnu: Add julia-fillarrays zimoun
@ 2021-03-25  1:05   ` zimoun
  2021-03-25  1:05   ` [bug#47350] [PATCH v2 21/30] gnu: Add julia-diffresults zimoun
                     ` (9 subsequent siblings)
  26 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-25  1:05 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-commonsubexpressions): New variable.
---
 gnu/packages/julia-xyz.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH v2 21/30] gnu: Add julia-diffresults.
  2021-03-25  1:04 ` [bug#47350] [PATCH v2 01/30] build: julia-build-system: Turn on depreciation warnings zimoun
                     ` (16 preceding siblings ...)
  2021-03-25  1:05   ` [bug#47350] [PATCH v2 19/30] gnu: Add julia-commonsubexpressions zimoun
@ 2021-03-25  1:05   ` zimoun
  2021-03-25  1:05   ` [bug#47350] [PATCH v2 22/30] gnu: Add julia-difftests zimoun
                     ` (8 subsequent siblings)
  26 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-25  1:05 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-diffresults): New variable.
---
 gnu/packages/julia-xyz.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH v2 22/30] gnu: Add julia-difftests.
  2021-03-25  1:04 ` [bug#47350] [PATCH v2 01/30] build: julia-build-system: Turn on depreciation warnings zimoun
                     ` (17 preceding siblings ...)
  2021-03-25  1:05   ` [bug#47350] [PATCH v2 21/30] gnu: Add julia-diffresults zimoun
@ 2021-03-25  1:05   ` zimoun
  2021-03-25  1:05   ` [bug#47350] [PATCH v2 23/30] gnu: Add julia-compilersupportlibraries-jll zimoun
                     ` (7 subsequent siblings)
  26 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-25  1:05 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-difftests): New variable.
---
 gnu/packages/julia-xyz.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH v2 23/30] gnu: Add julia-compilersupportlibraries-jll.
  2021-03-25  1:04 ` [bug#47350] [PATCH v2 01/30] build: julia-build-system: Turn on depreciation warnings zimoun
                     ` (18 preceding siblings ...)
  2021-03-25  1:05   ` [bug#47350] [PATCH v2 22/30] gnu: Add julia-difftests zimoun
@ 2021-03-25  1:05   ` zimoun
  2021-03-25  1:05   ` [bug#47350] [PATCH v2 24/30] gnu: Add julia-openspecfun-jll zimoun
                     ` (6 subsequent siblings)
  26 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-25  1:05 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-compilersupportlibraries-jll): New variable.
---
 gnu/packages/julia-xyz.scm | 45 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH v2 24/30] gnu: Add julia-openspecfun-jll.
  2021-03-25  1:04 ` [bug#47350] [PATCH v2 01/30] build: julia-build-system: Turn on depreciation warnings zimoun
                     ` (19 preceding siblings ...)
  2021-03-25  1:05   ` [bug#47350] [PATCH v2 23/30] gnu: Add julia-compilersupportlibraries-jll zimoun
@ 2021-03-25  1:05   ` zimoun
  2021-03-25  1:05   ` [bug#47350] [PATCH v2 25/30] gnu: Add julia-specialfunctions zimoun
                     ` (5 subsequent siblings)
  26 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-25  1:05 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-openspecfun-jll): New variable.
---
 gnu/packages/julia-xyz.scm | 47 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH v2 25/30] gnu: Add julia-specialfunctions.
  2021-03-25  1:04 ` [bug#47350] [PATCH v2 01/30] build: julia-build-system: Turn on depreciation warnings zimoun
                     ` (20 preceding siblings ...)
  2021-03-25  1:05   ` [bug#47350] [PATCH v2 24/30] gnu: Add julia-openspecfun-jll zimoun
@ 2021-03-25  1:05   ` zimoun
  2021-03-25  1:05   ` [bug#47350] [PATCH v2 26/30] gnu: Add julia-diffrules zimoun
                     ` (4 subsequent siblings)
  26 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-25  1:05 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-specialfunctions): New variable.
---
 gnu/packages/julia-xyz.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH v2 26/30] gnu: Add julia-diffrules.
  2021-03-25  1:04 ` [bug#47350] [PATCH v2 01/30] build: julia-build-system: Turn on depreciation warnings zimoun
                     ` (21 preceding siblings ...)
  2021-03-25  1:05   ` [bug#47350] [PATCH v2 25/30] gnu: Add julia-specialfunctions zimoun
@ 2021-03-25  1:05   ` zimoun
  2021-03-25  1:05   ` [bug#47350] [PATCH v2 27/30] gnu: Add julia-chainrules zimoun
                     ` (3 subsequent siblings)
  26 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-25  1:05 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-diffrules): New variable.
---
 gnu/packages/julia-xyz.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH v2 27/30] gnu: Add julia-chainrules.
  2021-03-25  1:04 ` [bug#47350] [PATCH v2 01/30] build: julia-build-system: Turn on depreciation warnings zimoun
                     ` (22 preceding siblings ...)
  2021-03-25  1:05   ` [bug#47350] [PATCH v2 26/30] gnu: Add julia-diffrules zimoun
@ 2021-03-25  1:05   ` zimoun
  2021-03-25  1:05   ` [bug#47350] [PATCH v2 28/30] gnu: Add julia-forwarddiff zimoun
                     ` (2 subsequent siblings)
  26 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-25  1:05 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-chainrules): New variable.
---
 gnu/packages/julia-xyz.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH v2 28/30] gnu: Add julia-forwarddiff.
  2021-03-25  1:04 ` [bug#47350] [PATCH v2 01/30] build: julia-build-system: Turn on depreciation warnings zimoun
                     ` (23 preceding siblings ...)
  2021-03-25  1:05   ` [bug#47350] [PATCH v2 27/30] gnu: Add julia-chainrules zimoun
@ 2021-03-25  1:05   ` zimoun
  2021-03-25  1:05   ` [bug#47350] [PATCH v2 29/30] gnu: Add julia-zygoterules zimoun
  2021-03-25  1:05   ` [bug#47350] [PATCH v2 30/30] gnu: Add julia-zygote zimoun
  26 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-25  1:05 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-forwarddiff): New variable.
---
 gnu/packages/julia-xyz.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH v2 29/30] gnu: Add julia-zygoterules.
  2021-03-25  1:04 ` [bug#47350] [PATCH v2 01/30] build: julia-build-system: Turn on depreciation warnings zimoun
                     ` (24 preceding siblings ...)
  2021-03-25  1:05   ` [bug#47350] [PATCH v2 28/30] gnu: Add julia-forwarddiff zimoun
@ 2021-03-25  1:05   ` zimoun
  2021-03-25  1:05   ` [bug#47350] [PATCH v2 30/30] gnu: Add julia-zygote zimoun
  26 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-25  1:05 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-zygoterules): New variable.
---
 gnu/packages/julia-xyz.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH v2 30/30] gnu: Add julia-zygote.
  2021-03-25  1:04 ` [bug#47350] [PATCH v2 01/30] build: julia-build-system: Turn on depreciation warnings zimoun
                     ` (25 preceding siblings ...)
  2021-03-25  1:05   ` [bug#47350] [PATCH v2 29/30] gnu: Add julia-zygoterules zimoun
@ 2021-03-25  1:05   ` zimoun
  26 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-25  1:05 UTC (permalink / raw)
  To: 47350; +Cc: zimoun

* gnu/packages/julia-xyz.scm (julia-zygote): New variable.
---
 gnu/packages/julia-xyz.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 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





^ permalink raw reply related	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH 00/29] Add Zygote (piece for Machine Learning with Julia)
  2021-03-25  0:58         ` zimoun
@ 2021-03-25  9:47           ` Nicolò Balzarotti
  2021-03-25 11:32             ` zimoun
  2021-03-27 21:01             ` Nicolò Balzarotti
  0 siblings, 2 replies; 71+ messages in thread
From: Nicolò Balzarotti @ 2021-03-25  9:47 UTC (permalink / raw)
  To: zimoun, 47350; +Cc: ludo

zimoun <zimon.toutoune@gmail.com> writes:

> 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:

```julia
primitive type Foo{T} 32 end
foo(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 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.

> 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





^ permalink raw reply	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH 00/29] Add Zygote (piece for Machine Learning with Julia)
  2021-03-25  9:47           ` Nicolò Balzarotti
@ 2021-03-25 11:32             ` zimoun
  2021-03-27 21:01             ` Nicolò Balzarotti
  1 sibling, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-25 11:32 UTC (permalink / raw)
  To: Nicolò Balzarotti, 47350; +Cc: ludo

Hi,

On Thu, 25 Mar 2021 at 10:47, Nicolò Balzarotti <anothersms@gmail.com> wrote:
> zimoun <zimon.toutoune@gmail.com> writes:

> I'd say it's a julia bug [fn:1].

ok

> 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 the
next 1.3. ;-)

IMHO, we should try to address: the reproducibility issue and the
precompiled twice,

<http://issues.guix.gnu.org/issue/22304
<http://issues.guix.gnu.org/issue/47354>
<https://yhetil.org/guix/86h7l1ic7e.fsf@gmail.com>


Thanks,
simon




^ permalink raw reply	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH 00/29] Add Zygote (piece for Machine Learning with Julia)
  2021-03-25  9:47           ` Nicolò Balzarotti
  2021-03-25 11:32             ` zimoun
@ 2021-03-27 21:01             ` Nicolò Balzarotti
  2021-03-27 21:24               ` zimoun
  1 sibling, 1 reply; 71+ messages in thread
From: Nicolò Balzarotti @ 2021-03-27 21:01 UTC (permalink / raw)
  To: zimoun, 47350; +Cc: ludo

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).

Lint gives warnings:
julia-zygote@0.6.4: permanent redirect from https://fluxml.ai/Zygote.jl to https://fluxml.ai/Zygote.jl/
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-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
julia-compilersupportlibraries-jll@0.4.0+1: line 344 is way too long (91
characters)
julia-chainrulescore@0.9.29: can be upgraded to 0.9.33
 julia-macrotools@0.5.6: permanent redirect from https://fluxml.ai/MacroTools.jl to 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ò




^ permalink raw reply	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH 00/29] Add Zygote (piece for Machine Learning with Julia)
  2021-03-27 21:01             ` Nicolò Balzarotti
@ 2021-03-27 21:24               ` zimoun
  2021-03-27 21:41                 ` Nicolò Balzarotti
  0 siblings, 1 reply; 71+ messages in thread
From: zimoun @ 2021-03-27 21:24 UTC (permalink / raw)
  To: Nicolò Balzarotti; +Cc: ludo, 47350

Hi Nicoló,

On Sat, 27 Mar 2021 at 22:01, Nicolò Balzarotti <anothersms@gmail.com> wrote:
> 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.

> 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 others
does not have.

> 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. :-)

> 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?

> julia-compilersupportlibraries-jll@0.4.0+1: line 344 is way too long (91
> characters)

Hum, but life is too short. ;-)


> Other than that, LGTM

Thanks!

> (I opened an issue [fn:1] to constructionbase.jl to have latest
> version tagged,

Cool!

> if they respond promptly we might use the tagged version)

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. ;-)

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.




^ permalink raw reply	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH 00/29] Add Zygote (piece for Machine Learning with Julia)
  2021-03-27 21:24               ` zimoun
@ 2021-03-27 21:41                 ` Nicolò Balzarotti
  2021-03-27 22:08                   ` zimoun
  0 siblings, 1 reply; 71+ messages in thread
From: Nicolò Balzarotti @ 2021-03-27 21:41 UTC (permalink / raw)
  To: zimoun; +Cc: ludo, 47350

zimoun <zimon.toutoune@gmail.com> writes:

> 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
> 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




^ permalink raw reply	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH 00/29] Add Zygote (piece for Machine Learning with Julia)
  2021-03-27 21:41                 ` Nicolò Balzarotti
@ 2021-03-27 22:08                   ` zimoun
  2021-03-29 14:50                     ` bug#47350: " Ludovic Courtès
  0 siblings, 1 reply; 71+ messages in thread
From: zimoun @ 2021-03-27 22:08 UTC (permalink / raw)
  To: Nicolò Balzarotti; +Cc: Ludovic Courtès, 47350

Hi,

On Sat, 27 Mar 2021 at 22:41, Nicolò Balzarotti <anothersms@gmail.com> wrote:

> 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 a
parser could be implemented with PEG or other.  I am not enough
comfortable with PEG to go with it (even if I run the tutorial etc.).
For instance, the 'cpan' importer checks if some Perl packages are
there.  Well, let start by not reinventing the wheel and see later.

> 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", which
gives 'inputs' and 'propgated-inputs', roughly.

But, yeah JuliaHub is nicer because it provides partial synopses and
licenses.  Maybe I will change my mind. :-)


Cheers,
simon




^ permalink raw reply	[flat|nested] 71+ messages in thread

* bug#47350: [PATCH 00/29] Add Zygote (piece for Machine Learning with Julia)
  2021-03-27 22:08                   ` zimoun
@ 2021-03-29 14:50                     ` Ludovic Courtès
  2021-03-29 15:10                       ` [bug#47350] " zimoun
  0 siblings, 1 reply; 71+ messages in thread
From: Ludovic Courtès @ 2021-03-29 14:50 UTC (permalink / raw)
  To: zimoun; +Cc: 47350-done, Nicolò Balzarotti

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 missing
from v2.  :-)  I took patches 9 and 19 from v1 instead, and everything
builds fine, but lemme know if anything’s amiss!

Ludo’.




^ permalink raw reply	[flat|nested] 71+ messages in thread

* [bug#47350] [PATCH 00/29] Add Zygote (piece for Machine Learning with Julia)
  2021-03-29 14:50                     ` bug#47350: " Ludovic Courtès
@ 2021-03-29 15:10                       ` zimoun
  0 siblings, 0 replies; 71+ messages in thread
From: zimoun @ 2021-03-29 15:10 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 47350-done, Nicolò Balzarotti

Hi,

On Mon, 29 Mar 2021 at 16:50, Ludovic Courtès <ludo@gnu.org> wrote:

> I’ve pushed v2, comrades!  Thanks for the great work!

\o/
Thanks Nicoló for the review.

> 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

--8<---------------cut here---------------start------------->8---
$ diff v2-0010-gnu-Add-julia-colortypes.patch
0009-gnu-Add-julia-colortypes.patch
1c1
< From 6597c28170e52c435dea0e29f7783260781574b0 Mon Sep 17 00:00:00 2001
---
> From 2ef94ee9e0f516d77449e8f179b66dc3135bff24 Mon Sep 17 00:00:00 2001
4c4
< 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
--8<---------------cut here---------------end--------------->8---

--8<---------------cut here---------------start------------->8---
$ diff v2-0020-gnu-Add-julia-calculus.patch 0019-gnu-Add-julia-calculus.patch
1c1
< From 3d96c37625d6841a6b378ea0d57b53e479207b78 Mon Sep 17 00:00:00 2001
---
> From 5cf3bb5ab498d53bf419e18d1391afb5473b54e8 Mon Sep 17 00:00:00 2001
4c4
< 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
--8<---------------cut here---------------end--------------->8---




^ permalink raw reply	[flat|nested] 71+ messages in thread

end of thread, other threads:[~2021-03-29 15:11 UTC | newest]

Thread overview: 71+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-03-23 19:42 [bug#47350] [PATCH 00/29] Add Zygote (piece for Machine Learning with Julia) zimoun
2021-03-23 19:45 ` [bug#47350] [PATCH 01/29] gnu: Add julia-constructionbase zimoun
2021-03-23 19:45   ` [bug#47350] [PATCH 02/29] gnu: Add julia-macrotools zimoun
2021-03-23 19:45   ` [bug#47350] [PATCH 03/29] gnu: Add julia-nanmath zimoun
2021-03-23 19:45   ` [bug#47350] [PATCH 04/29] gnu: Add julia-reexport zimoun
2021-03-23 19:45   ` [bug#47350] [PATCH 05/29] gnu: Add julia-irtools zimoun
2021-03-23 19:45   ` [bug#47350] [PATCH 06/29] gnu: Add julia-staticarrays zimoun
2021-03-23 19:45   ` [bug#47350] [PATCH 07/29] gnu: Add julia-unitful zimoun
2021-03-23 19:45   ` [bug#47350] [PATCH 08/29] gnu: Add julia-abstractffts zimoun
2021-03-23 19:45   ` [bug#47350] [PATCH 09/29] gnu: Add julia-colortypes zimoun
2021-03-23 19:46 ` [bug#47350] [PATCH 10/29] gnu: Add julia-colors zimoun
2021-03-23 19:46   ` [bug#47350] [PATCH 11/29] gnu: Add julia-example zimoun
2021-03-23 19:46   ` [bug#47350] [PATCH 12/29] gnu: Add julia-requires zimoun
2021-03-23 19:46   ` [bug#47350] [PATCH 13/29] gnu: Add julia-chainrulescore zimoun
2021-03-23 19:46   ` [bug#47350] [PATCH 14/29] gnu: Add julia-richardson zimoun
2021-03-23 19:46   ` [bug#47350] [PATCH 15/29] gnu: Add julia-finitedifferences zimoun
2021-03-23 19:46   ` [bug#47350] [PATCH 16/29] gnu: Add julia-chainrulestestutils zimoun
2021-03-23 19:46   ` [bug#47350] [PATCH 17/29] gnu: Add julia-fillarrays zimoun
2021-03-23 19:46   ` [bug#47350] [PATCH 18/29] gnu: Add julia-commonsubexpressions zimoun
2021-03-23 19:46   ` [bug#47350] [PATCH 19/29] gnu: Add julia-calculus zimoun
2021-03-23 19:46 ` [bug#47350] [PATCH 20/29] gnu: Add julia-diffresults zimoun
2021-03-23 19:46   ` [bug#47350] [PATCH 21/29] gnu: Add julia-difftests zimoun
2021-03-23 19:46   ` [bug#47350] [PATCH 22/29] gnu: Add julia-compilersupportlibraries-jll zimoun
2021-03-23 19:46   ` [bug#47350] [PATCH 23/29] gnu: Add julia-openspecfun-jll zimoun
2021-03-23 19:46   ` [bug#47350] [PATCH 24/29] gnu: Add julia-specialfunctions zimoun
2021-03-23 19:46   ` [bug#47350] [PATCH 25/29] gnu: Add julia-diffrules zimoun
2021-03-23 19:46   ` [bug#47350] [PATCH 26/29] gnu: Add julia-chainrules zimoun
2021-03-23 19:46   ` [bug#47350] [PATCH 27/29] gnu: Add julia-forwarddiff zimoun
2021-03-23 19:46   ` [bug#47350] [PATCH 28/29] gnu: Add julia-zygoterules zimoun
2021-03-23 19:46   ` [bug#47350] [PATCH 29/29] gnu: Add julia-zygote zimoun
2021-03-23 22:48 ` [bug#47350] [PATCH 00/29] Add Zygote (piece for Machine Learning with Julia) Nicolò Balzarotti
2021-03-23 23:01   ` zimoun
2021-03-24  8:15     ` Nicolò Balzarotti
2021-03-24  9:35       ` zimoun
2021-03-25  0:58         ` zimoun
2021-03-25  9:47           ` Nicolò Balzarotti
2021-03-25 11:32             ` zimoun
2021-03-27 21:01             ` Nicolò Balzarotti
2021-03-27 21:24               ` zimoun
2021-03-27 21:41                 ` Nicolò Balzarotti
2021-03-27 22:08                   ` zimoun
2021-03-29 14:50                     ` bug#47350: " Ludovic Courtès
2021-03-29 15:10                       ` [bug#47350] " zimoun
2021-03-25  1:04 ` [bug#47350] [PATCH v2 01/30] build: julia-build-system: Turn on depreciation warnings zimoun
2021-03-25  1:04   ` [bug#47350] [PATCH v2 02/30] gnu: Add julia-constructionbase zimoun
2021-03-25  1:04   ` [bug#47350] [PATCH v2 03/30] gnu: Add julia-macrotools zimoun
2021-03-25  1:04   ` [bug#47350] [PATCH v2 04/30] gnu: Add julia-nanmath zimoun
2021-03-25  1:04   ` [bug#47350] [PATCH v2 05/30] gnu: Add julia-reexport zimoun
2021-03-25  1:04   ` [bug#47350] [PATCH v2 06/30] gnu: Add julia-irtools zimoun
2021-03-25  1:04   ` [bug#47350] [PATCH v2 07/30] gnu: Add julia-staticarrays zimoun
2021-03-25  1:04   ` [bug#47350] [PATCH v2 08/30] gnu: Add julia-unitful zimoun
2021-03-25  1:04   ` [bug#47350] [PATCH v2 09/30] gnu: Add julia-abstractffts zimoun
2021-03-25  1:04   ` [bug#47350] [PATCH v2 11/30] gnu: Add julia-colors zimoun
2021-03-25  1:04   ` [bug#47350] [PATCH v2 12/30] gnu: Add julia-example zimoun
2021-03-25  1:05   ` [bug#47350] [PATCH v2 13/30] gnu: Add julia-requires zimoun
2021-03-25  1:05   ` [bug#47350] [PATCH v2 14/30] gnu: Add julia-chainrulescore zimoun
2021-03-25  1:05   ` [bug#47350] [PATCH v2 15/30] gnu: Add julia-richardson zimoun
2021-03-25  1:05   ` [bug#47350] [PATCH v2 16/30] gnu: Add julia-finitedifferences zimoun
2021-03-25  1:05   ` [bug#47350] [PATCH v2 17/30] gnu: Add julia-chainrulestestutils zimoun
2021-03-25  1:05   ` [bug#47350] [PATCH v2 18/30] gnu: Add julia-fillarrays zimoun
2021-03-25  1:05   ` [bug#47350] [PATCH v2 19/30] gnu: Add julia-commonsubexpressions zimoun
2021-03-25  1:05   ` [bug#47350] [PATCH v2 21/30] gnu: Add julia-diffresults zimoun
2021-03-25  1:05   ` [bug#47350] [PATCH v2 22/30] gnu: Add julia-difftests zimoun
2021-03-25  1:05   ` [bug#47350] [PATCH v2 23/30] gnu: Add julia-compilersupportlibraries-jll zimoun
2021-03-25  1:05   ` [bug#47350] [PATCH v2 24/30] gnu: Add julia-openspecfun-jll zimoun
2021-03-25  1:05   ` [bug#47350] [PATCH v2 25/30] gnu: Add julia-specialfunctions zimoun
2021-03-25  1:05   ` [bug#47350] [PATCH v2 26/30] gnu: Add julia-diffrules zimoun
2021-03-25  1:05   ` [bug#47350] [PATCH v2 27/30] gnu: Add julia-chainrules zimoun
2021-03-25  1:05   ` [bug#47350] [PATCH v2 28/30] gnu: Add julia-forwarddiff zimoun
2021-03-25  1:05   ` [bug#47350] [PATCH v2 29/30] gnu: Add julia-zygoterules zimoun
2021-03-25  1:05   ` [bug#47350] [PATCH v2 30/30] gnu: Add julia-zygote zimoun

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.