gnu: Add julia-softglobalscope.
[jackhill/guix/guix.git] / gnu / packages / julia-xyz.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2020, 2021 Nicolò Balzarotti <nicolo@nixo.xyz>
3 ;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
4 ;;; Copyright © 2021 Efraim Flashner <efraim@flashner.co.il>
5 ;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
6 ;;; Copyright © 2021 jgart <jgart@dismail.de>
7 ;;;
8 ;;; This file is part of GNU Guix.
9 ;;;
10 ;;; GNU Guix is free software; you can redistribute it and/or modify it
11 ;;; under the terms of the GNU General Public License as published by
12 ;;; the Free Software Foundation; either version 3 of the License, or (at
13 ;;; your option) any later version.
14 ;;;
15 ;;; GNU Guix is distributed in the hope that it will be useful, but
16 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
17 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 ;;; GNU General Public License for more details.
19 ;;;
20 ;;; You should have received a copy of the GNU General Public License
21 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
22
23 (define-module (gnu packages julia-xyz)
24 #:use-module ((guix licenses) #:prefix license:)
25 #:use-module (gnu packages)
26 #:use-module (guix utils)
27 #:use-module (guix packages)
28 #:use-module (guix git-download)
29 #:use-module (guix build-system julia)
30 #:use-module (gnu packages gcc)
31 #:use-module (gnu packages julia-jll)
32 #:use-module (gnu packages python)
33 #:use-module (gnu packages python-xyz)
34 #:use-module (gnu packages version-control))
35
36 (define-public julia-abstractffts
37 (package
38 (name "julia-abstractffts")
39 (version "1.0.1")
40 (source
41 (origin
42 (method git-fetch)
43 (uri (git-reference
44 (url "https://github.com/JuliaMath/AbstractFFTS.jl")
45 (commit (string-append "v" version))))
46 (file-name (git-file-name name version))
47 (sha256
48 (base32 "0083pwdyxjb04i330ir9pc8kmp4bwk59lx1jgc9qi05y8j7xzbp0"))))
49 (build-system julia-build-system)
50 (inputs ;required for tests
51 `(("julia-unitful" ,julia-unitful)))
52 (home-page "https://github.com/JuliaGPU/Adapt.jl")
53 (synopsis "General framework for fast Fourier transforms (FFTs)")
54 (description "This package allows multiple FFT packages to co-exist with
55 the same underlying @code{fft(x)} and @code{plan_fft(x)} interface. It is
56 mainly not intended to be used directly. Instead, developers of packages that
57 implement FFTs (such as @code{FFTW.jl} or @code{FastTransforms.jl}) extend the
58 types/functions defined in AbstractFFTs.")
59 (license license:expat)))
60
61 (define-public julia-abstracttrees
62 (package
63 (name "julia-abstracttrees")
64 (version "0.3.4")
65 (source
66 (origin
67 (method git-fetch)
68 (uri (git-reference
69 (url "https://github.com/JuliaCollections/AbstractTrees.jl")
70 (commit (string-append "v" version))))
71 (file-name (git-file-name name version))
72 (sha256
73 (base32 "16is5n2qa69cci34vfazxsa7ik6q0hbnnqrbrhkq8frh142f1xs8"))))
74 (build-system julia-build-system)
75 (home-page "https://juliacollections.github.io/AbstractTrees.jl/stable/")
76 (synopsis "Abstract Julia interfaces for working with trees")
77 (description "This Julia package provides several utilities for working
78 with tree-like data structures. Most importantly, it defines the
79 @code{children} method that any package that contains such a data structure
80 may import and extend in order to take advantage of any generic tree algorithm
81 in this package.")
82 (license license:expat)))
83
84 (define-public julia-adapt
85 (package
86 (name "julia-adapt")
87 (version "3.3.1")
88 (source
89 (origin
90 (method git-fetch)
91 (uri (git-reference
92 (url "https://github.com/JuliaGPU/Adapt.jl")
93 (commit (string-append "v" version))))
94 (file-name (git-file-name name version))
95 (sha256
96 (base32 "009fj59fzhvfsyw35kakllsh36k3xlwyzq8qa5f5k598i3pq14i7"))))
97 (build-system julia-build-system)
98 (home-page "https://github.com/JuliaGPU/Adapt.jl")
99 (synopsis "Package providing the @code{adapt} function, similar to @code{convert}")
100 (description "This Julia package provides the @code{adapt(T, x)} function
101 acts like @code{convert(T, x)}, but without the restriction of returning a
102 @code{T}. This allows you to \"convert\" wrapper types like @code{Adjoint} to
103 be GPU compatible without throwing away the wrapper.")
104 (license license:expat)))
105
106 (define-public julia-ansicoloredprinters
107 (package
108 (name "julia-ansicoloredprinters")
109 (version "0.0.1")
110 (source
111 (origin
112 (method git-fetch)
113 (uri (git-reference
114 (url "https://github.com/JuliaDocs/ANSIColoredPrinters.jl")
115 (commit (string-append "v" version))))
116 (file-name (git-file-name name version))
117 (sha256
118 (base32 "0dp5agljr0g50s5gn0pr70wrz01ggck6pb40ay3l4szhswq7mqzf"))))
119 (build-system julia-build-system)
120 (home-page "https://github.com/JuliaDocs/ANSIColoredPrinters.jl")
121 (synopsis "ANSI escape code translator")
122 (description "@code{ANSIColoredPrinters.jl} converts a text qualified by
123 ANSI escape codes to another format.")
124 (license license:expat)))
125
126 (define-public julia-aqua
127 (package
128 (name "julia-aqua")
129 (version "0.5.1")
130 (source
131 (origin
132 (method git-fetch)
133 (uri (git-reference
134 (url "https://github.com/JuliaTesting/Aqua.jl")
135 (commit (string-append "v" version))))
136 (file-name (git-file-name name version))
137 (sha256
138 (base32 "1g0kyzcdykgs247j72jpc2qqall696jwgb3hnn4cxmbi8bkf7wpk"))))
139 (build-system julia-build-system)
140 (home-page "https://github.com/JuliaTesting/Aqua.jl")
141 (synopsis "Automated quality assurance for Julia packages")
142 (description "@acronym{Aqua.jl, Auto QUality Assurance for Julia packages},
143 provides functions to run a few automatable checks for Julia packages.")
144 (license license:expat)))
145
146 (define-public julia-arrayinterface
147 (package
148 (name "julia-arrayinterface")
149 (version "3.1.19")
150 (source
151 (origin
152 (method git-fetch)
153 (uri (git-reference
154 (url "https://github.com/JuliaArrays/ArrayInterface.jl")
155 (commit (string-append "v" version))))
156 (file-name (git-file-name name version))
157 (sha256
158 (base32 "0cmldnzvdgmfnrnrzgj6v1mfr2rvk5096392rwmhd3iyx7v0pq33"))))
159 (build-system julia-build-system)
160 (propagated-inputs
161 `(("julia-ifelse" ,julia-ifelse)
162 ("julia-requires" ,julia-requires)
163 ("julia-static" ,julia-static)))
164 (native-inputs
165 `(("julia-aqua" ,julia-aqua)
166 ("julia-bandedmatrices" ,julia-bandedmatrices)
167 ("julia-blockbandedmatrices" ,julia-blockbandedmatrices)
168 ("julia-ifelse" ,julia-ifelse)
169 ("julia-offsetarrays" ,julia-offsetarrays)
170 ("julia-staticarrays" ,julia-staticarrays)))
171 (home-page "https://github.com/JuliaArrays/ArrayInterface.jl")
172 (synopsis "Base array interface primitives")
173 (description "The purpose of this library is to solidify extensions to the
174 current @code{AbstractArray} interface, which are put to use in package
175 ecosystems like @code{DifferentialEquations.jl}. Since these libraries are
176 live, this package will serve as a staging ground for ideas before they are
177 merged into Base Julia. For this reason, no functionality is exported so that
178 if such functions are added and exported in a future Base Julia, there will be
179 no issues with the upgrade.")
180 (license license:expat)))
181
182 (define-public julia-arraylayouts
183 (package
184 (name "julia-arraylayouts")
185 (version "0.7.6")
186 (source
187 (origin
188 (method git-fetch)
189 (uri (git-reference
190 (url "https://github.com/JuliaMatrices/ArrayLayouts.jl")
191 (commit (string-append "v" version))))
192 (file-name (git-file-name name version))
193 (sha256
194 (base32 "05q62pks8j23pgbrfny072rrwzrz6q19l68srnjxxv39ncmdmrvg"))))
195 (build-system julia-build-system)
196 (propagated-inputs
197 `(("julia-fillarrays" ,julia-fillarrays)))
198 (home-page "https://github.com/JuliaMatrices/ArrayLayouts.jl")
199 (synopsis "Array layouts and general fast linear algebra")
200 (description "This package implements a trait-based framework for describing
201 array layouts such as column major, row major, etc. that can be dispatched to
202 appropriate BLAS or optimised Julia linear algebra routines. This supports a
203 much wider class of matrix types than Julia's in-built @code{StridedArray}.")
204 (license license:expat)))
205
206 (define-public julia-axisalgorithms
207 (package
208 (name "julia-axisalgorithms")
209 (version "1.0.0")
210 (source
211 (origin
212 (method git-fetch)
213 (uri (git-reference
214 (url "https://github.com/timholy/AxisAlgorithms.jl")
215 (commit (string-append "v" version))))
216 (file-name (git-file-name name version))
217 (sha256
218 (base32 "00x85lnfln7xkfnirpplzyi8r6q92nfqwya8il156bf7b1pa20gk"))))
219 (build-system julia-build-system)
220 (propagated-inputs
221 `(("julia-woodburymatrices" ,julia-woodburymatrices)))
222 (home-page "https://github.com/timholy/AxisAlgorithms.jl")
223 (synopsis "Filtering and linear algebra routines for multidimensional arrays")
224 (description "@code{AxisAlgorithms} is a collection of filtering and linear
225 algebra algorithms for multidimensional arrays. For algorithms that would
226 typically apply along the columns of a matrix, you can instead pick an arbitrary
227 axis (dimension).")
228 (license license:expat)))
229
230 (define-public julia-axisarrays
231 (package
232 (name "julia-axisarrays")
233 (version "0.4.4")
234 (source
235 (origin
236 (method git-fetch)
237 (uri (git-reference
238 (url "https://github.com/JuliaArrays/AxisArrays.jl")
239 (commit (string-append "v" version))))
240 (file-name (git-file-name name version))
241 (sha256
242 (base32 "03kzan1lm4fxfhzv1xjg3ysf6y7nagcc61vfz15kvdrp1dqxlynk"))))
243 (build-system julia-build-system)
244 (propagated-inputs
245 `(("julia-rangearrays" ,julia-rangearrays)
246 ("julia-intervalsets" ,julia-intervalsets)
247 ("julia-itertools" ,julia-itertools)))
248 (native-inputs
249 `(("julia-offsetarrays" ,julia-offsetarrays)
250 ("julia-unitful" ,julia-unitful)))
251 (home-page "http://juliaarrays.github.io/AxisArrays.jl/latest/")
252 (synopsis "Arrays where each dimension can have a named axis with values")
253 (description "This package for the Julia language provides an array type
254 (the AxisArray) that knows about its dimension names and axis values. This
255 allows for indexing by name without incurring any runtime overhead. This
256 permits one to implement algorithms that are oblivious to the storage order of
257 the underlying arrays. AxisArrays can also be indexed by the values along their
258 axes, allowing column names or interval selections.")
259 (license license:expat)))
260
261 (define-public julia-bandedmatrices
262 (package
263 (name "julia-bandedmatrices")
264 (version "0.16.10")
265 (source
266 (origin
267 (method git-fetch)
268 (uri (git-reference
269 (url "https://github.com/JuliaMatrices/BandedMatrices.jl")
270 (commit (string-append "v" version))))
271 (file-name (git-file-name name version))
272 (sha256
273 (base32 "0rlfj9gr9ss621v5kw5b06206yaak21s2vq9vk7r8a7p2ylncism"))))
274 (build-system julia-build-system)
275 (propagated-inputs
276 `(("julia-arraylayouts" ,julia-arraylayouts)
277 ("julia-fillarrays" ,julia-fillarrays)))
278 (native-inputs
279 `(("julia-genericlinearalgebra" ,julia-genericlinearalgebra)))
280 (home-page "https://github.com/JuliaMatrices/BandedMatrices.jl")
281 (synopsis "Julia package for representing banded matrices")
282 (description "This package supports representing banded matrices by only
283 the entries on the bands.")
284 (license license:expat)))
285
286 (define-public julia-benchmarktools
287 (package
288 (name "julia-benchmarktools")
289 (version "1.1.1")
290 (source
291 (origin
292 (method git-fetch)
293 (uri (git-reference
294 (url "https://github.com/JuliaCI/BenchmarkTools.jl")
295 (commit (string-append "v" version))))
296 (file-name (git-file-name name version))
297 (sha256
298 (base32 "1xz3kdrphp4b158pg7dwkiry49phs2fjjpdvk1hjpww5ykxacks8"))))
299 (build-system julia-build-system)
300 (propagated-inputs `(("julia-json" ,julia-json)))
301 (home-page "https://github.com/JuliaCI/BenchmarkTools.jl")
302 (synopsis "Benchmarking framework for the Julia language")
303 (description "@code{BenchmarkTools.jl} makes performance tracking of Julia
304 code easy by supplying a framework for writing and running groups of
305 benchmarks as well as comparing benchmark results.")
306 (license license:expat)))
307
308 (define-public julia-blockarrays
309 (package
310 (name "julia-blockarrays")
311 (version "0.16.8")
312 (source
313 (origin
314 (method git-fetch)
315 (uri (git-reference
316 (url "https://github.com/JuliaArrays/BlockArrays.jl")
317 (commit (string-append "v" version))))
318 (file-name (git-file-name name version))
319 (sha256
320 (base32 "1by26036fk9mawmcgqxpwizgbs398v9p6vrbsgg7h6llqn3q9iw1"))))
321 (build-system julia-build-system)
322 (propagated-inputs
323 `(("julia-arraylayouts" ,julia-arraylayouts)
324 ("julia-fillarrays" ,julia-fillarrays)))
325 (native-inputs
326 `(("julia-lazyarrays" ,julia-lazyarrays)
327 ("julia-offsetarrays" ,julia-offsetarrays)
328 ("julia-staticarrays" ,julia-staticarrays)))
329 (home-page "https://github.com/JuliaArrays/BlockArrays.jl")
330 (synopsis "BlockArrays for Julia")
331 (description "A block array is a partition of an array into blocks or
332 subarrays. This package has two purposes. Firstly, it defines an interface for
333 an @code{AbstractBlockArray} block arrays that can be shared among types
334 representing different types of block arrays. The advantage to this is that it
335 provides a consistent API for block arrays.
336 Secondly, it also implements two different type of block arrays that follow the
337 @code{AbstractBlockArray} interface. The type @code{BlockArray} stores each
338 block contiguously while the type @code{PseudoBlockArray} stores the full matrix
339 contiguously. This means that @code{BlockArray} supports fast non copying
340 extraction and insertion of blocks while @code{PseudoBlockArray} supports fast
341 access to the full matrix to use in in for example a linear solver.")
342 (license license:expat)))
343
344 (define-public julia-blockbandedmatrices
345 (package
346 (name "julia-blockbandedmatrices")
347 (version "0.10.7")
348 (source
349 (origin
350 (method git-fetch)
351 (uri (git-reference
352 (url "https://github.com/JuliaMatrices/BlockBandedMatrices.jl")
353 (commit (string-append "v" version))))
354 (file-name (git-file-name name version))
355 (sha256
356 (base32 "10n1r6kmmv2wa307jfg9y2m6p16j8hngjp3fjavpbdy1r5haasm9"))))
357 (build-system julia-build-system)
358 (propagated-inputs
359 `(("julia-arraylayouts" ,julia-arraylayouts)
360 ("julia-bandedmatrices" ,julia-bandedmatrices)
361 ("julia-blockarrays" ,julia-blockarrays)
362 ("julia-fillarrays" ,julia-fillarrays)
363 ("julia-matrixfactorizations" ,julia-matrixfactorizations)))
364 (home-page "https://github.com/JuliaMatrices/BlockBandedMatrices.jl")
365 (synopsis "Block-banded matrices and banded-block-banded matrices")
366 (description "This package supports representing block-banded and
367 banded-block-banded matrices by only storing the entries in the non-zero bands.
368 A @code{BlockBandedMatrix} is a subtype of @code{BlockMatrix} of
369 @code{BlockArrays.jl} whose layout of non-zero blocks is banded.")
370 (license license:expat)))
371
372 (define-public julia-bson
373 (package
374 (name "julia-bson")
375 (version "0.3.3")
376 (source
377 (origin
378 (method git-fetch)
379 (uri (git-reference
380 (url "https://github.com/JuliaIO/BSON.jl")
381 (commit (string-append "v" version))))
382 (file-name (git-file-name name version))
383 (sha256
384 (base32 "1l5608ma2ys7v2gpcqbiv9mwfc6yrlqkihrfx1pf7fgv5llhd4fn"))))
385 (build-system julia-build-system)
386 (native-inputs
387 `(("julia-dataframes" ,julia-dataframes)))
388 (home-page "https://github.com/JuliaIO/BSON.jl")
389 (synopsis "Binary JSON serialisation format")
390 (description "@code{BSON.jl} is a Julia package for working with the Binary
391 JSON serialisation format. It can be used as a general store for Julia data
392 structures.")
393 (license license:expat)))
394
395 (define-public julia-bufferedstreams
396 (package
397 (name "julia-bufferedstreams")
398 (version "1.0.0")
399 (source
400 (origin
401 (method git-fetch)
402 (uri (git-reference
403 (url "https://github.com/BioJulia/BufferedStreams.jl")
404 (commit (string-append "v" version))))
405 (file-name (git-file-name name version))
406 (sha256
407 (base32 "0sf4sxbq55mg2pwxyxf0c839z1lk0yxg8nmb7617bfbvw31cp88z"))))
408 (build-system julia-build-system)
409 ;; The package is old and tests are using undefined functions. They also
410 ;; freeze, see
411 ;; https://travis-ci.org/BioJulia/BufferedStreams.jl/jobs/491050182
412 (arguments
413 '(#:tests? #f
414 #:julia-package-name "BufferedStreams"
415 #:julia-package-uuid "e1450e63-4bb3-523b-b2a4-4ffa8c0fd77d"))
416 (propagated-inputs `(("julia-compat" ,julia-compat)))
417 (home-page "https://github.com/BioJulia/BufferedStreams.jl")
418 (synopsis "Fast composable IO streams")
419 (description "@code{BufferedStreams.jl} provides buffering for IO
420 operations. It can wrap any @code{IO} type automatically making incremental
421 reading and writing faster.")
422 (license license:expat)))
423
424 (define-public julia-calculus
425 (package
426 (name "julia-calculus")
427 (version "0.5.1")
428 (source
429 (origin
430 (method git-fetch)
431 (uri (git-reference
432 (url "https://github.com/JuliaMath/Calculus.jl")
433 (commit (string-append "v" version))))
434 (file-name (git-file-name name version))
435 (sha256
436 (base32 "0xh0ak2ycsjw2h86ja24ch3kn2d18zx3frrds78aimwdnqb1gdc2"))))
437 (build-system julia-build-system)
438 (home-page "https://github.com/JuliaMath/Calculus.jl")
439 (synopsis "Common utilities for automatic differentiation")
440 (description "This package provides tools for working with the basic
441 calculus operations of differentiation and integration. The @code{Calculus}
442 package produces approximate derivatives by several forms of finite
443 differencing or produces exact derivative using symbolic differentiation. It
444 can also be used to compute definite integrals by different numerical
445 methods.")
446 (license license:expat)))
447
448 (define-public julia-categoricalarrays
449 (package
450 (name "julia-categoricalarrays")
451 (version "0.9.7")
452 (source
453 (origin
454 (method git-fetch)
455 (uri (git-reference
456 (url "https://github.com/JuliaData/CategoricalArrays.jl")
457 (commit (string-append "v" version))))
458 (file-name (git-file-name name version))
459 (sha256
460 (base32 "1bcfylxdaizgasnmlkjjkf4dgfvy2y9ycnphw2d0z6mm9vx3n04x"))))
461 (build-system julia-build-system)
462 (native-inputs
463 `(("julia-pooledarrays" ,julia-pooledarrays)))
464 (propagated-inputs
465 `(("julia-dataapi" ,julia-dataapi)
466 ("julia-json" ,julia-json)
467 ("julia-json3" ,julia-json3)
468 ("julia-missings" ,julia-missings)
469 ("julia-recipesbase" ,julia-recipesbase)
470 ("julia-structtypes" ,julia-structtypes)))
471 (home-page "https://github.com/JuliaData/CategoricalArrays.jl")
472 (synopsis "Arrays for working with categorical data")
473 (description "This package provides tools for working with categorical
474 variables, both with unordered (nominal variables) and ordered categories
475 (ordinal variables), optionally with missing values.")
476 (license license:expat)))
477
478 (define-public julia-chainrules
479 (package
480 (name "julia-chainrules")
481 (version "1.1.0")
482 (source
483 (origin
484 (method git-fetch)
485 (uri (git-reference
486 (url "https://github.com/JuliaDiff/ChainRules.jl")
487 (commit (string-append "v" version))))
488 (file-name (git-file-name name version))
489 (sha256
490 (base32 "0if93pd3b3scg2x3gmk1cbwjk0ax1n792vy8c38y3xl7jpd5cb70"))))
491 (build-system julia-build-system)
492 (inputs ;required for test
493 `(("julia-chainrulestestutils" ,julia-chainrulestestutils)
494 ("julia-finitedifferences" ,julia-finitedifferences)
495 ("julia-nanmath" ,julia-nanmath)
496 ("julia-specialfunctions" ,julia-specialfunctions)))
497 (propagated-inputs
498 `(("julia-chainrulescore" ,julia-chainrulescore)
499 ("julia-compat" ,julia-compat)
500 ("julia-reexport" ,julia-reexport)
501 ("julia-requires" ,julia-requires)))
502 (home-page "https://github.com/JuliaDiff/ChainRules.jl")
503 (synopsis "Common utilities for automatic differentiation")
504 (description "The is package provides a variety of common utilities that
505 can be used by downstream automatic differentiation (AD) tools to define and
506 execute forward-, reverse-, and mixed-mode primitives.")
507 (license license:expat)))
508
509 (define-public julia-chainrulescore
510 (package
511 (name "julia-chainrulescore")
512 (version "1.0.2")
513 (source
514 (origin
515 (method git-fetch)
516 (uri (git-reference
517 (url "https://github.com/JuliaDiff/ChainRulesCore.jl")
518 (commit (string-append "v" version))))
519 (file-name (git-file-name name version))
520 (sha256
521 (base32 "1866xv30h1bi7f2m993nljzf58wwmv8zlgn6ffn9j3wckch1nfpb"))))
522 (build-system julia-build-system)
523 (inputs ;required for tests
524 `(("julia-benchmarktools" ,julia-benchmarktools)
525 ("julia-staticarrays" ,julia-staticarrays)))
526 (propagated-inputs
527 `(("julia-compat" ,julia-compat)))
528 (home-page "https://github.com/JuliaDiff/ChainRulesCore.jl")
529 (synopsis "Common utilities used by downstream automatic differentiation tools")
530 (description "The package provides a light-weight dependency for defining
531 sensitivities for functions without the need to depend on ChainRules itself.")
532 (license license:expat)))
533
534 (define-public julia-chainrulestestutils
535 (package
536 (name "julia-chainrulestestutils")
537 (version "1.2.3")
538 (source
539 (origin
540 (method git-fetch)
541 (uri (git-reference
542 (url "https://github.com/JuliaDiff/ChainRulesTestUtils.jl")
543 (commit (string-append "v" version))))
544 (file-name (git-file-name name version))
545 (sha256
546 (base32 "1vlkyp72d514gyb4k3yhjl1g7f24ncmz61j56p4sdi9f76rk9fx9"))))
547 (build-system julia-build-system)
548 (propagated-inputs
549 `(("julia-chainrulescore" ,julia-chainrulescore)
550 ("julia-compat" ,julia-compat)
551 ("julia-finitedifference" ,julia-finitedifferences)))
552 (home-page "https://github.com/JuliaDiff/ChainRulesTestUtils.jl")
553 (synopsis "Common utilities used by downstream automatic differentiation tools")
554 (description "This package is designed to help in testing
555 @code{ChainRulesCore.frule} and @code{ChainRulesCore.rrule} methods. The main
556 entry points are @code{ChainRulesTestUtils.frule_test},
557 @code{ChainRulesTestUtils.rrule_test}, and
558 @code{ChainRulesTestUtils.test_scalar}. Currently this is done via testing the
559 rules against numerical differentiation (using @code{FiniteDifferences.jl}).
560
561 @code{ChainRulesTestUtils.jl} is separated from @code{ChainRulesCore.jl} so that it
562 can be a test-only dependency, allowing it to have potentially heavy
563 dependencies, while keeping @code{ChainRulesCore.jl} as light-weight as possible.")
564 (license license:expat)))
565
566 (define-public julia-codeczlib
567 (package
568 (name "julia-codeczlib")
569 (version "0.7.0")
570 (source
571 (origin
572 (method git-fetch)
573 (uri (git-reference
574 (url "https://github.com/JuliaIO/CodecZlib.jl")
575 (commit (string-append "v" version))))
576 (file-name (git-file-name name version))
577 (sha256
578 (base32 "0xm603nylkwk4bzx66zv1g3syzrvn3jh9spdx7kvcvgszzyrrgh4"))))
579 (build-system julia-build-system)
580 (arguments
581 `(#:phases
582 (modify-phases %standard-phases
583 (add-before 'reset-gzip-timestamps 'make-files-writable
584 (lambda* (#:key outputs #:allow-other-keys)
585 (let ((out (assoc-ref outputs "out")))
586 (for-each make-file-writable
587 (find-files out "\\.gz$"))
588 #t))))))
589 (propagated-inputs
590 `(("julia-zlib-jll" ,julia-zlib-jll)
591 ("julia-transcodingstreams" ,julia-transcodingstreams)))
592 (home-page "https://github.com/JuliaIO/CodecZlib.jl")
593 (synopsis "Zlib codecs for @code{TranscodingStreams.jl}")
594 (description "This package provides zlib codecs for
595 @code{TranscodingStreams.jl}.")
596 (license license:expat)))
597
598 (define-public julia-colors
599 (package
600 (name "julia-colors")
601 (version "0.12.8")
602 (source
603 (origin
604 (method git-fetch)
605 (uri (git-reference
606 (url "https://github.com/JuliaGraphics/Colors.jl")
607 (commit (string-append "v" version))))
608 (file-name (git-file-name name version))
609 (sha256
610 (base32 "0kx3hq7rf8p5zx6ly9k5j90zijmc7yrwmy96cgkl2ibdfbnhmya3"))))
611 (build-system julia-build-system)
612 (propagated-inputs
613 `(("julia-colortypes" ,julia-colortypes)
614 ("julia-fixedpointnumbers" ,julia-fixedpointnumbers)
615 ("julia-reexport" ,julia-reexport)))
616 (home-page "https://github.com/JuliaGraphics/Colors.jl")
617 (synopsis "Tools for dealing with color")
618 (description "This package provides a wide array of functions for dealing
619 with color. This includes conversion between colorspaces, measuring distance
620 between colors, simulating color blindness, parsing colors, and generating
621 color scales for graphics.")
622 (license license:expat)))
623
624 (define-public julia-colorschemes
625 (package
626 (name "julia-colorschemes")
627 (version "3.15.0")
628 (source
629 (origin
630 (method git-fetch)
631 (uri (git-reference
632 (url "https://github.com/JuliaGraphics/ColorSchemes.jl")
633 (commit (string-append "v" version))))
634 (file-name (git-file-name name version))
635 (sha256
636 (base32 "0kpjhmqd5cj8dh8bmh9b5g6bscyp7h23hzpr2s93pnrp57q1wvhq"))))
637 (build-system julia-build-system)
638 (propagated-inputs
639 `(("julia-colors" ,julia-colors)
640 ("julia-colortypes" ,julia-colortypes)
641 ("julia-fixedpointnumbers" ,julia-fixedpointnumbers)
642 ("julia-staticarrays" ,julia-staticarrays)))
643 (home-page "https://github.com/JuliaGraphics/ColorSchemes.jl")
644 (synopsis "Colorschemes, colormaps, gradients, and palettes")
645 (description "This package provides a collection of colorschemes.")
646 (license license:expat)))
647
648 (define-public julia-colortypes
649 (package
650 (name "julia-colortypes")
651 (version "0.11.0")
652 (source
653 (origin
654 (method git-fetch)
655 (uri (git-reference
656 (url "https://github.com/JuliaGraphics/ColorTypes.jl")
657 (commit (string-append "v" version))))
658 (file-name (git-file-name name version))
659 (sha256
660 (base32 "0n7h70caqv7yd0khjhn90iax62r73mcif8qzkwj5b4q46li1r8ih"))))
661 (build-system julia-build-system)
662 (propagated-inputs
663 `(("julia-fixedpointnumbers" ,julia-fixedpointnumbers)))
664 (native-inputs
665 `(("julia-documenter" ,julia-documenter)))
666 (home-page "https://github.com/JuliaGraphics/ColorTypes.jl")
667 (synopsis "Basic color types and constructor")
668 (description "This minimalistic package serves as the foundation for
669 working with colors in Julia. It defines basic color types and their
670 constructors, and sets up traits and show methods to make them easier to work
671 with.")
672 (license license:expat)))
673
674 (define-public julia-colorvectorspace
675 (package
676 (name "julia-colorvectorspace")
677 (version "0.9.7")
678 (source
679 (origin
680 (method git-fetch)
681 (uri (git-reference
682 (url "https://github.com/JuliaGraphics/ColorVectorSpace.jl")
683 (commit (string-append "v" version))))
684 (file-name (git-file-name name version))
685 (sha256
686 (base32 "02gk7f5g5wjxdasbjf8bvv1m7clksh7mw1xmygjdirjz1q0d6dwi"))))
687 (build-system julia-build-system)
688 (propagated-inputs
689 `(("julia-colortypes" ,julia-colortypes)
690 ("julia-specialfunctions" ,julia-specialfunctions)
691 ("julia-tensorcore" ,julia-tensorcore)))
692 (native-inputs
693 `(("julia-colors" ,julia-colors)))
694 (home-page "https://github.com/JuliaGraphics/ColorVectorSpace.jl")
695 (synopsis "Treat colors as n-vectors for the purposes of arithmetic")
696 (description "This package is an add-on to @code{ColorTypes.jl} and provides
697 fast mathematical operations for objects with types such as RGB and Gray.
698 Specifically, with this package both grayscale and RGB colors are treated as if
699 they are points in a normed vector space.")
700 (license license:expat)))
701
702 (define-public julia-combinatorics
703 (package
704 (name "julia-combinatorics")
705 (version "1.0.2")
706 (source
707 (origin
708 (method git-fetch)
709 (uri (git-reference
710 (url "https://github.com/JuliaMath/Combinatorics.jl")
711 (commit (string-append "v" version))))
712 (file-name (git-file-name name version))
713 (sha256
714 (base32 "0gafqkqi874zfm9h99akw9q95lk3ih5gip2h8p12fj9h7rvyf4j5"))))
715 (build-system julia-build-system)
716 (home-page "https://github.com/JuliaMath/Combinatorics.jl")
717 (synopsis "Combinatorics library for Julia")
718 (description "This package provides a combinatorics library for Julia,
719 focusing mostly (as of now) on enumerative combinatorics and permutations.")
720 (license license:expat)))
721
722 (define-public julia-commonsubexpressions
723 (package
724 (name "julia-commonsubexpressions")
725 (version "0.3.0")
726 (source
727 (origin
728 (method git-fetch)
729 (uri (git-reference
730 (url "https://github.com/rdeits/CommonSubexpressions.jl")
731 (commit (string-append "v" version))))
732 (file-name (git-file-name name version))
733 (sha256
734 (base32 "0mgy90kk8ksv3l720kkk04gnhn4aqhh2dj4sp3x8yy3limngfjay"))))
735 (build-system julia-build-system)
736 (propagated-inputs
737 `(("julia-macrotools" ,julia-macrotools)))
738 (home-page "https://github.com/rdeits/CommonSubexpressions.jl")
739 (synopsis "@code{@@cse} macro for Julia")
740 (description "This package provides the @code{@@cse} macro, which performs
741 common subexpression elimination.")
742 (license license:expat)))
743
744 (define-public julia-compat
745 (package
746 (name "julia-compat")
747 (version "3.39.0")
748 (source
749 (origin
750 (method git-fetch)
751 (uri (git-reference
752 (url "https://github.com/JuliaLang/Compat.jl")
753 (commit (string-append "v" version))))
754 (file-name (git-file-name name version))
755 (sha256
756 (base32 "0qzvaqi5gqgc747fnajbvvf5vqbh6cwykwky00c7glvmvdsgk3z0"))))
757 (build-system julia-build-system)
758 (home-page "https://github.com/JuliaLang/Compat.jl")
759 (synopsis "Compatibility across Julia versions")
760 (description "The Compat package is designed to ease interoperability
761 between older and newer versions of the Julia language. The Compat package
762 provides a macro that lets you use the latest syntax in a backwards-compatible
763 way.")
764 (license license:expat)))
765
766 (define-public julia-configurations
767 (package
768 (name "julia-configurations")
769 (version "0.16.4")
770 (source
771 (origin
772 (method git-fetch)
773 (uri (git-reference
774 (url "https://github.com/Roger-luo/Configurations.jl")
775 (commit (string-append "v" version))))
776 (file-name (git-file-name name version))
777 (sha256
778 (base32 "1b23p0zk8dx2sf01cnw177mqci7qd81b9s32ixz9clsh0r0icl1b"))))
779 (build-system julia-build-system)
780 (arguments
781 `(#:phases
782 (modify-phases %standard-phases
783 (add-after 'link-depot 'fix-tests
784 (lambda _
785 (substitute* "test/runtests.jl"
786 (("option.toml") "test/option.toml"))
787 #t))
788 (add-after 'link-depot 'dont-use-exproniconlite
789 (lambda _
790 (substitute* '("Project.toml"
791 "src/Configurations.jl"
792 "test/runtests.jl")
793 (("ExproniconLite") "Expronicon"))
794 (substitute* "Project.toml"
795 (("55351af7-c7e9-48d6-89ff-24e801d99491")
796 "6b7a57c9-7cc1-4fdf-b7f5-e857abae3636"))
797 #t)))))
798 (propagated-inputs
799 `(("julia-crayons" ,julia-crayons)
800 ("julia-expronicon" ,julia-expronicon)
801 ("julia-orderedcollections" ,julia-orderedcollections)))
802 (home-page "https://configurations.rogerluo.dev/stable/")
803 (synopsis "Tools for options and configurations in Julia")
804 (description "@code{Configurations.jl} provides a macro @code{@@option} to
805 let you define @code{structs} to represent options/configurations, and serialize
806 between different option/configuration file formats such as @code{TOML}.")
807 (license license:expat)))
808
809 (define-public julia-constructionbase
810 (package
811 (name "julia-constructionbase")
812 (version "1.3.0")
813 (source
814 (origin
815 (method git-fetch)
816 (uri (git-reference
817 (url "https://github.com/JuliaObjects/ConstructionBase.jl")
818 (commit (string-append "v" version))))
819 (file-name (git-file-name name version))
820 (sha256
821 (base32 "1jk3h446vkv4yaavgm1hf1az7cwhppvhklvr08s49hhg02cm750q"))))
822 (build-system julia-build-system)
823 (home-page "https://juliaobjects.github.io/ConstructionBase.jl/dev/")
824 (synopsis "Primitive functions for construction of objects")
825 (description "This very lightweight package provides primitive functions
826 for construction of objects.")
827 (license license:expat)))
828
829 (define-public julia-coordinatetransformations
830 (package
831 (name "julia-coordinatetransformations")
832 (version "0.6.1")
833 (source
834 (origin
835 (method git-fetch)
836 (uri (git-reference
837 (url "https://github.com/JuliaGeometry/CoordinateTransformations.jl")
838 (commit (string-append "v" version))))
839 (file-name (git-file-name name version))
840 (sha256
841 (base32 "15zbkn32v7xlz7559s0r5a0vkwmjwsswxaqpzijly4lky4jnp33d"))))
842 (build-system julia-build-system)
843 (propagated-inputs
844 `(("julia-staticarrays" ,julia-staticarrays)))
845 (native-inputs
846 `(("julia-documenter" ,julia-documenter)
847 ("julia-forwarddiff" ,julia-forwarddiff)
848 ("julia-unitful" ,julia-unitful)))
849 (home-page "https://github.com/JuliaGeometry/CoordinateTransformations.jl")
850 (synopsis "Coordinate transformations in Julia")
851 (description "@code{CoordinateTransformations} is a Julia package to manage
852 simple or complex networks of coordinate system transformations.
853 Transformations can be easily applied, inverted, composed, and differentiated
854 (both with respect to the input coordinates and with respect to transformation
855 parameters such as rotation angle). Transformations are designed to be
856 light-weight and efficient enough for, e.g., real-time graphical applications,
857 while support for both explicit and automatic differentiation makes it easy to
858 perform optimization and therefore ideal for computer vision applications such
859 as SLAM (simultaneous localization and mapping).")
860 (license license:expat)))
861
862 (define-public julia-crayons
863 (package
864 (name "julia-crayons")
865 (version "4.0.4")
866 (source
867 (origin
868 (method git-fetch)
869 (uri (git-reference
870 (url "https://github.com/KristofferC/Crayons.jl")
871 (commit (string-append "v" version))))
872 (file-name (git-file-name name version))
873 (sha256
874 (base32 "0v3zhjlnb2914bxcj4myl8pgb7m31p77aj2k1bckmqs96jdph10z"))))
875 (build-system julia-build-system)
876 (home-page "https://github.com/KristofferC/Crayons.jl")
877 (synopsis "Colored and styled strings for terminals")
878 (description "Crayons is a package that makes it simple to write strings in
879 different colors and styles to terminals. It supports the 16 system colors,
880 both the 256 color and 24 bit true color extensions, and the different text
881 styles available to terminals.")
882 (license license:expat)))
883
884 (define-public julia-dataapi
885 (package
886 (name "julia-dataapi")
887 (version "1.7.0")
888 (source
889 (origin
890 (method git-fetch)
891 (uri (git-reference
892 (url "https://github.com/JuliaData/DataAPI.jl")
893 (commit (string-append "v" version))))
894 (file-name (git-file-name name version))
895 (sha256
896 (base32 "0swk31p83fycz5cdj4fg6b0wfqj473lnx94q2fl7ybxkkc6afba7"))))
897 (build-system julia-build-system)
898 (home-page "https://github.com/JuliaData/DataAPI.jl")
899 (synopsis "Data-focused namespace for packages to share functions")
900 (description "This package provides a namespace for data-related generic
901 function definitions to solve the optional dependency problem; packages wishing
902 to share and/or extend functions can avoid depending directly on each other by
903 moving the function definition to DataAPI.jl and each package taking a
904 dependency on it.")
905 (license license:expat)))
906
907 (define-public julia-dataframes
908 (package
909 (name "julia-dataframes")
910 (version "1.2.2")
911 (source
912 (origin
913 (method git-fetch)
914 (uri (git-reference
915 (url "https://github.com/JuliaData/DataFrames.jl")
916 (commit (string-append "v" version))))
917 (file-name (git-file-name name version))
918 (sha256
919 (base32 "1bk0amrghgjrkyn1mm4ac23swwbgszl1d0qyl9137qj5zvv9dasp"))))
920 (build-system julia-build-system)
921 (arguments
922 `(#:phases
923 (modify-phases %standard-phases
924 (add-after 'link-depot 'skip-failing-test
925 (lambda _
926 ;; Tests with non-standard colors.
927 (substitute* "test/show.jl"
928 (("test (sprint\\(show, df, context=:color=>true)" _ test)
929 (string-append "test_nowarn " test)))
930 (substitute* "test/io.jl"
931 (("testset \\\"improved.*" all)
932 (string-append all "return\n")))
933 (substitute* "test/join.jl"
934 (("test (levels\\(outerjoin\\(B)" _ test)
935 (string-append "test_nowarn " test)))
936 #t)))))
937 (propagated-inputs
938 `(("julia-dataapi" ,julia-dataapi)
939 ("julia-invertedindices" ,julia-invertedindices)
940 ("julia-iteratorinterfaceextensions" ,julia-iteratorinterfaceextensions)
941 ("julia-missings" ,julia-missings)
942 ("julia-pooledarrays" ,julia-pooledarrays)
943 ("julia-prettytables" ,julia-prettytables)
944 ("julia-reexport" ,julia-reexport)
945 ("julia-sortingalgorithms" ,julia-sortingalgorithms)
946 ("julia-tables" ,julia-tables)
947 ("julia-tabletraits" ,julia-tabletraits)))
948 (native-inputs
949 `(("julia-categoricalarrays" ,julia-categoricalarrays)
950 ("julia-combinatorics" ,julia-combinatorics)
951 ("julia-datastructures" ,julia-datastructures)
952 ("julia-datavalues" ,julia-datavalues)
953 ("julia-offsetarrays" ,julia-offsetarrays)
954 ("julia-unitful" ,julia-unitful)))
955 (home-page "https://dataframes.juliadata.org/stable/")
956 (synopsis "In-memory tabular data")
957 (description "This package provides a set of tools for working with tabular
958 data in Julia. Its design and functionality are similar to those of Pandas from
959 Python or @code{data.frame}, @code{data.table} and @code{dplyr} from R, making
960 it a great general purpose data science tool, especially for those coming to
961 Julia from R or Python.")
962 (license license:expat)))
963
964 (define-public julia-datastructures
965 (package
966 (name "julia-datastructures")
967 (version "0.18.9")
968 (source
969 (origin
970 (method git-fetch)
971 (uri (git-reference
972 (url "https://github.com/JuliaCollections/DataStructures.jl")
973 (commit (string-append "v" version))))
974 (file-name (git-file-name name version))
975 (sha256
976 (base32 "0hdqp8ipsqdw5bqqkdvz4j6n67x80sj5azr9vzyxwjfsgkfbnk2l"))))
977 (propagated-inputs
978 `(("julia-compat" ,julia-compat)
979 ("julia-orderedcollections" ,julia-orderedcollections)))
980 (build-system julia-build-system)
981 (home-page "https://github.com/JuliaCollections/DataStructures.jl")
982 (synopsis "Julia module providing different data structures")
983 (description "This package implements a variety of data structures,
984 including, @code{CircularBuffer}, @code{Queue}, @code{Stack},
985 @code{Accumulators}, @code{LinkedLists}, @code{SortedDicts} and many others.")
986 (license license:expat)))
987
988 (define-public julia-datavalueinterfaces
989 (package
990 (name "julia-datavalueinterfaces")
991 (version "1.0.0")
992 (source
993 (origin
994 (method git-fetch)
995 (uri (git-reference
996 (url "https://github.com/queryverse/DataValueInterfaces.jl")
997 (commit (string-append "v" version))))
998 (file-name (git-file-name name version))
999 (sha256
1000 (base32 "0g2wj6q7jj956nx6g7dk8x7w1c4l2xcmnr1kq5x8s8fild9kslg8"))))
1001 (build-system julia-build-system)
1002 (home-page "https://github.com/queryverse/DataValueInterfaces.jl")
1003 (synopsis "Interface for DataValues.jl")
1004 (description "This package allows a few \"forward\" definitions for the
1005 @code{DataValues.jl} package that other packages can utilize for integration
1006 without having to take direct dependencies.")
1007 (license license:expat)))
1008
1009 (define-public julia-datavalues
1010 (package
1011 (name "julia-datavalues")
1012 (version "0.4.13")
1013 (source
1014 (origin
1015 (method git-fetch)
1016 (uri (git-reference
1017 (url "https://github.com/queryverse/DataValues.jl")
1018 (commit (string-append "v" version))))
1019 (file-name (git-file-name name version))
1020 (sha256
1021 (base32 "15j3hrqq6nazn533bfsvg32xznacbzsl303j1qs48av59ppnvhhv"))))
1022 (build-system julia-build-system)
1023 (arguments
1024 `(#:tests? #f ; Tests need upgrading with newer Julia version.
1025 #:phases
1026 (modify-phases %standard-phases
1027 (add-after 'link-depot 'skip-known-failing-tests
1028 (lambda _
1029 ;; See upstream report:
1030 ;; https://github.com/queryverse/DataValues.jl/issues/83
1031 (substitute* "test/array/test_reduce.jl"
1032 ((".*DataValue\\(mapreduce.*") "")
1033 ((".*DataValue\\(method\\(f.*") ""))
1034 #t)))))
1035 (propagated-inputs
1036 `(("julia-datavalueinterfaces" ,julia-datavalueinterfaces)))
1037 (home-page "https://github.com/queryverse/DataValues.jl")
1038 (synopsis "Missing values for Julia")
1039 (description "This package provides the type @code{DataValue} that is used
1040 to represent missing data.")
1041 (license license:expat)))
1042
1043 (define-public julia-deepdiffs
1044 (package
1045 (name "julia-deepdiffs")
1046 (version "1.2.0")
1047 (source
1048 (origin
1049 (method git-fetch)
1050 (uri (git-reference
1051 (url "https://github.com/ssfrr/DeepDiffs.jl")
1052 (commit (string-append "v" version))))
1053 (file-name (git-file-name name version))
1054 (sha256
1055 (base32 "1gsbxb1d67g05h5bvzz3swdfih6404jrydy724a8dvbdgqvm3sds"))))
1056 (build-system julia-build-system)
1057 (home-page "https://github.com/ssfrr/DeepDiffs.jl")
1058 (synopsis "Compute and pretty-print diffs for data structures")
1059 (description "@code{DeepDiffs.jl} provides the @code{deepdiff} function,
1060 which finds and displays differences (diffs) between Julia data structures. It
1061 supports @code{Vectors}, @code{Dicts}, and @code{String}s. When diffing
1062 dictionaries where values associated with a particular key may change,
1063 @code{deepdiff} will recurse into value to provide a more detailed diff.")
1064 (license license:expat)))
1065
1066 (define-public julia-dictionaries
1067 (package
1068 (name "julia-dictionaries")
1069 (version "0.3.10")
1070 (source
1071 (origin
1072 (method git-fetch)
1073 (uri (git-reference
1074 (url "https://github.com/andyferris/Dictionaries.jl")
1075 (commit (string-append "v" version))))
1076 (file-name (git-file-name name version))
1077 (sha256
1078 (base32 "1mm43hm8hd6sgmkkpqhbqhvap7mpkjwzmz5algxi6manp580gkr5"))))
1079 (build-system julia-build-system)
1080 (propagated-inputs
1081 `(("julia-indexing" ,julia-indexing)))
1082 (home-page "https://github.com/andyferris/Dictionaries.jl")
1083 (synopsis "Alternative interface for dictionaries in Julia")
1084 (description "This package provides an alternative interface for
1085 dictionaries in Julia, for improved productivity and performance.")
1086 (license license:expat)))
1087
1088 (define-public julia-distances
1089 (package
1090 (name "julia-distances")
1091 (version "0.10.3")
1092 (source
1093 (origin
1094 (method git-fetch)
1095 (uri (git-reference
1096 (url "https://github.com/JuliaStats/Distances.jl")
1097 (commit (string-append "v" version))))
1098 (file-name (git-file-name name version))
1099 (sha256
1100 (base32 "1yqd9wg4z15k42mrp4y14j2x0sq7yrjhm5zpqklrw6w6j1c367ig"))))
1101 (build-system julia-build-system)
1102 (arguments
1103 `(#:phases
1104 (modify-phases %standard-phases
1105 (add-after 'link-depot 'skip-flakey-tests
1106 (lambda _
1107 ;; Some combination of these tests fail nondeterministically
1108 ;; each of the times this package is built.
1109 (substitute* "test/test_dists.jl"
1110 (("test dyz ≥") "test_nowarn dyz ≥")
1111 (("test dist\\(y, x") "test_nowarn dist(y, x")
1112 (("test dist\\(z, x") "test_nowarn dist(z, x")
1113 (("test dist\\(z, y") "test_nowarn dist(z, y")))))))
1114 (propagated-inputs
1115 `(("julia-statsapi" ,julia-statsapi)))
1116 (native-inputs
1117 `(("julia-offsetarrays" ,julia-offsetarrays)
1118 ("julia-unitful" ,julia-unitful)))
1119 (home-page "https://github.com/JuliaStats/Distances.jl")
1120 (synopsis "Julia package for evaluating distances (metrics) between vectors")
1121 (description "A Julia package for evaluating distances(metrics) between
1122 vectors. This package also provides optimized functions to compute column-wise
1123 and pairwise distances, which are often substantially faster than a
1124 straightforward loop implementation.")
1125 (license license:expat)))
1126
1127 (define-public julia-docstringextensions
1128 (package
1129 (name "julia-docstringextensions")
1130 (version "0.8.5")
1131 (source
1132 (origin
1133 (method git-fetch)
1134 (uri (git-reference
1135 (url "https://github.com/JuliaDocs/DocStringExtensions.jl")
1136 (commit (string-append "v" version))))
1137 (file-name (git-file-name name version))
1138 (sha256
1139 (base32 "0fy4kfnfacyfmlly6nqxn77dk2gqw80b69zb4m1i0i39zv3cpqfb"))))
1140 (build-system julia-build-system)
1141 (arguments
1142 `(#:tests? #f)) ; Tests try to read SSL certificates.
1143 (home-page "https://juliadocs.github.io/DocStringExtensions.jl/latest/")
1144 (synopsis "Extensions for Julia's docsystem")
1145 (description "This package provides a collection of useful extensions for
1146 Julia's built-in docsystem. These are features that are not yet mature enough
1147 to be considered for inclusion in Base, or that have sufficiently niche use
1148 cases that including them with the default Julia installation is not seen as
1149 valuable enough at this time.")
1150 (license license:expat)))
1151
1152 ;; By removing all the javascript and css downloads any HTML documentation
1153 ;; produced by this package will not be very useful.
1154 (define-public julia-documenter
1155 (package
1156 (name "julia-documenter")
1157 (version "0.27.7")
1158 (source
1159 (origin
1160 (method git-fetch)
1161 (uri (git-reference
1162 (url "https://github.com/JuliaDocs/Documenter.jl")
1163 (commit (string-append "v" version))))
1164 (file-name (git-file-name name version))
1165 (sha256
1166 (base32 "00ai3c24i3fkn5plmavampcxm0ijhwk0v5cn9xwm7rvbjnnvaaam"))))
1167 (build-system julia-build-system)
1168 (arguments
1169 `(#:phases
1170 (modify-phases %standard-phases
1171 (add-after 'link-depot 'patch-source
1172 (lambda* (#:key inputs #:allow-other-keys)
1173 (substitute* "src/Deps.jl"
1174 (("pip install")
1175 (string-append (assoc-ref inputs "python")
1176 "/bin/pip install")))
1177 #t))
1178 (add-after 'link-depot 'remove-javascript-downloads
1179 (lambda _
1180 (substitute* "src/Writers/HTMLWriter.jl"
1181 (("cdnjs.cloudflare.com") "example.com"))
1182 ;; Removing the javascript downloads causes these tests fail.
1183 (substitute* "test/examples/tests.jl"
1184 ((".*Main\\.examples_html_doc.*") "")
1185 ((".*Main\\.examples_html_mathjax3_doc.*") ""))
1186 #t)))))
1187 (propagated-inputs
1188 `(("julia-ansicoloredprinters" ,julia-ansicoloredprinters)
1189 ("julia-docstringextensions" ,julia-docstringextensions)
1190 ("julia-iocapture" ,julia-iocapture)
1191 ("julia-json" ,julia-json)))
1192 (inputs
1193 `(("python" ,python-wrapper)))
1194 (native-inputs
1195 `(("git" ,git-minimal)
1196 ("julia-documentermarkdown" ,julia-documentermarkdown)
1197 ("julia-documentertools" ,julia-documentertools)))
1198 (home-page "https://juliadocs.github.io/Documenter.jl")
1199 (synopsis "Documentation generator for Julia")
1200 (description "This package provides a documentation generator for Julia.")
1201 (license license:expat)))
1202
1203 (define julia-documenter-bootstrap
1204 (package
1205 (inherit julia-documenter)
1206 (name "julia-documenter-bootstrap")
1207 (arguments
1208 (substitute-keyword-arguments (package-arguments julia-documenter)
1209 ((#:phases phases)
1210 `(modify-phases ,phases
1211 (delete 'patch-source)))
1212 ;; Not all dependencies available in bootstrap version.
1213 ((#:tests? _ #f) #f)))
1214 (inputs `())
1215 (native-inputs `())))
1216
1217 (define-public julia-documentermarkdown
1218 (package
1219 (name "julia-documentermarkdown")
1220 (version "0.2.2")
1221 (source
1222 (origin
1223 (method git-fetch)
1224 (uri (git-reference
1225 (url "https://github.com/JuliaDocs/DocumenterMarkdown.jl")
1226 (commit (string-append "v" version))))
1227 (file-name (git-file-name name version))
1228 (sha256
1229 (base32 "0sx89hi5p2f8zi2rp5qrv06m270d90pxj5d2y5cxls1spax7wqx8"))))
1230 (build-system julia-build-system)
1231 (inputs
1232 ;; We don't want to propagate the bootstrap version.
1233 ;; Cycle with Documenter.jl in later versions.
1234 `(("julia-documenter" ,julia-documenter-bootstrap)))
1235 (home-page "https://github.com/JuliaDocs/DocumenterMarkdown.jl")
1236 (synopsis "Documenter's Markdown")
1237 (description "This package enables the Markdown / MkDocs backend of
1238 @code{Documenter.jl}.")
1239 (license license:expat)))
1240
1241 (define-public julia-documentertools
1242 (package
1243 (name "julia-documentertools")
1244 (version "0.1.13")
1245 (source
1246 (origin
1247 (method git-fetch)
1248 (uri (git-reference
1249 (url "https://github.com/JuliaDocs/DocumenterTools.jl")
1250 (commit (string-append "v" version))))
1251 (file-name (git-file-name name version))
1252 (sha256
1253 (base32 "05p57p8xlkn42m1lv9gq4hl96vp7hpj19d51p828ai1rbpcpi3a6"))))
1254 (build-system julia-build-system)
1255 (arguments
1256 `(#:tests? #f)) ; Tests require network.
1257 (inputs
1258 ;; We don't want to propagate the bootstrap version.
1259 ;; Cycle with Documenter.jl in later versions.
1260 `(("julia-documenter" ,julia-documenter-bootstrap)))
1261 (propagated-inputs
1262 `(("julia-docstringextensions" ,julia-docstringextensions)
1263 ("julia-gumbo" ,julia-gumbo)
1264 ("julia-sass" ,julia-sass)))
1265 (native-inputs
1266 `(("julia-example" ,julia-example)))
1267 (home-page "https://github.com/JuliaDocs/DocumenterTools.jl")
1268 (synopsis "Extra tools for setting up Documenter.jl")
1269 (description "This package contains utilities for setting up documentation
1270 generation with @code{Documenter.jl}.")
1271 (license license:expat)))
1272
1273 (define-public julia-diffresults
1274 (package
1275 (name "julia-diffresults")
1276 (version "1.0.3")
1277 (source
1278 (origin
1279 (method git-fetch)
1280 (uri (git-reference
1281 (url "https://github.com/JuliaDiff/DiffResults.jl")
1282 (commit (string-append "v" version))))
1283 (file-name (git-file-name name version))
1284 (sha256
1285 (base32 "1w6p3yxajvclax5b9g7cr2jmbc7lvr5nk4gq0aljxdycdq1d2y3v"))))
1286 (propagated-inputs
1287 `(("julia-staticarrays" ,julia-staticarrays)))
1288 (build-system julia-build-system)
1289 (home-page "https://github.com/JuliaDiff/DiffResults.jl")
1290 (synopsis "In-place differentiation methods of primal values at multi-order")
1291 (description "This package provides the @code{DiffResult} type, which can
1292 be passed to in-place differentiation methods instead of an output buffer.")
1293 (license license:expat)))
1294
1295 (define-public julia-diffrules
1296 (package
1297 (name "julia-diffrules")
1298 (version "1.0.2")
1299 (source
1300 (origin
1301 (method git-fetch)
1302 (uri (git-reference
1303 (url "https://github.com/JuliaDiff/DiffRules.jl")
1304 (commit (string-append "v" version))))
1305 (file-name (git-file-name name version))
1306 (sha256
1307 (base32 "0cwjvj4gma7924fm3yas0nf0jlnwwx4v7fi79ii3s290lkdldzfl"))))
1308 (propagated-inputs
1309 `(("julia-nanmath" ,julia-nanmath)
1310 ("julia-specialfunctions" ,julia-specialfunctions)))
1311 (build-system julia-build-system)
1312 (home-page "https://github.com/JuliaDiff/DiffRules.jl")
1313 (synopsis "Primitive differentiation rules")
1314 (description "This package provides primitive differentiation rules that
1315 can be composed via various formulations of the chain rule. Using
1316 @code{DiffRules}, new differentiation rules can defined, query whether or not
1317 a given rule exists, and symbolically apply rules to simple Julia expressions.")
1318 (license license:expat)))
1319
1320 (define-public julia-difftests
1321 (package
1322 (name "julia-difftests")
1323 (version "0.1.1")
1324 (source
1325 (origin
1326 (method git-fetch)
1327 (uri (git-reference
1328 (url "https://github.com/JuliaDiff/DiffTests.jl")
1329 (commit (string-append "v" version))))
1330 (file-name (git-file-name name version))
1331 (sha256
1332 (base32 "1rxpnd5zi3pxgdd38l5jm2sxc3q6p7g57fqgll2dsiin07y3my57"))))
1333 (build-system julia-build-system)
1334 (home-page "https://github.com/JuliaDiff/DiffTests.jl")
1335 (synopsis "Common test functions for differentiation tools")
1336 (description "This package contains a common suite of test functions for
1337 stressing the robustness of differentiation tools.")
1338 (license license:expat)))
1339
1340 (define-public julia-dualnumbers
1341 (package
1342 (name "julia-dualnumbers")
1343 (version "0.6.5")
1344 (source
1345 (origin
1346 (method git-fetch)
1347 (uri (git-reference
1348 (url "https://github.com/JuliaDiff/DualNumbers.jl")
1349 (commit (string-append "v" version))))
1350 (file-name (git-file-name name version))
1351 (sha256
1352 (base32 "05vr5wbzqpchnb96b3pmn67x196mbfnkv7r9bdlz3gm56if4awk5"))))
1353 (build-system julia-build-system)
1354 (arguments
1355 `(#:phases
1356 (modify-phases %standard-phases
1357 (add-after 'link-depot 'adjust-test-suite
1358 (lambda _
1359 (substitute* "test/runtests.jl"
1360 ;; Seems to not play nicely with SpecialFunctions
1361 ((".*isempty.*") "")))))))
1362 (propagated-inputs
1363 `(("julia-calculus" ,julia-calculus)
1364 ("julia-nanmath" ,julia-nanmath)
1365 ("julia-specialfunctions" ,julia-specialfunctions)))
1366 (home-page "https://github.com/JuliaDiff/DualNumbers.jl")
1367 (synopsis "Represent dual numbers and for perform dual algebra")
1368 (description "The @code{DualNumbers} Julia package defines the @code{Dual}
1369 type to represent dual numbers, and supports standard mathematical operations on
1370 them. Conversions and promotions are defined to allow performing operations on
1371 combinations of dual numbers with predefined Julia numeric types.")
1372 (license license:expat)))
1373
1374 (define-public julia-ellipsisnotation
1375 (package
1376 (name "julia-ellipsisnotation")
1377 (version "1.1.0")
1378 (source
1379 (origin
1380 (method git-fetch)
1381 (uri (git-reference
1382 (url "https://github.com/ChrisRackauckas/EllipsisNotation.jl")
1383 (commit (string-append "v" version))))
1384 (file-name (git-file-name name version))
1385 (sha256
1386 (base32 "0py46kxl702r8pw3v7x4cqllf7yc91b0dr7vb60xh2qi7d6y3jc7"))))
1387 (build-system julia-build-system)
1388 (arguments
1389 `(#:phases
1390 (modify-phases %standard-phases
1391 (add-after 'link-depot 'adjust-test-suite
1392 (lambda _
1393 (substitute* "test/runtests.jl"
1394 ;; Seems to not play nicely with Julia-1.6.
1395 ((".*basic.jl.*") "")))))))
1396 (propagated-inputs
1397 `(("julia-arrayinterface" ,julia-arrayinterface)))
1398 (home-page "https://github.com/ChrisRackauckas/EllipsisNotation.jl")
1399 (synopsis "Elipsis notation implementation")
1400 (description "This implements the notation @code{..} for indexing arrays.
1401 It's similar to the Python @code{...} in that it means \"all of the columns
1402 before (or after)\".")
1403 (license license:expat)))
1404
1405 (define-public julia-example
1406 (let ((commit "f968c69dea24f851d0c7e686db23fa55826b5388"))
1407 (package
1408 (name "julia-example")
1409 (version "0.5.4") ;tag not created upstream
1410 (source
1411 (origin
1412 (method git-fetch)
1413 (uri (git-reference
1414 (url "https://github.com/JuliaLang/Example.jl")
1415 (commit commit)))
1416 (file-name (git-file-name name version))
1417 (sha256
1418 (base32 "1v3z0d6gh6wfbypffy9m9rhh36px6fm5wjzq0y6rbmc95r0qpqlx"))))
1419 (build-system julia-build-system)
1420 (home-page "https://github.com/JuliaLang/Example.jl")
1421 (synopsis "Module providing examples")
1422 (description "This package provides various examples.")
1423 (license license:expat))))
1424
1425 ;; ExproniconLite.jl is autogenerated from this package.
1426 (define-public julia-expronicon
1427 (package
1428 (name "julia-expronicon")
1429 (version "0.6.10")
1430 (source
1431 (origin
1432 (method git-fetch)
1433 (uri (git-reference
1434 (url "https://github.com/Roger-luo/Expronicon.jl")
1435 (commit (string-append "v" version))))
1436 (file-name (git-file-name name version))
1437 (sha256
1438 (base32 "0h8aaynqlxrkn8575k5vqmhzil4vvxchhf0bcxa6zwawp558gj2y"))))
1439 (build-system julia-build-system)
1440 (arguments
1441 `(#:phases
1442 (modify-phases %standard-phases
1443 (add-after 'link-depot 'skip-network-tests
1444 (lambda _
1445 (substitute* "test/runtests.jl"
1446 ;; This test tries to access the Julia package registry.
1447 ((".*expand\\.jl.*") "")))))))
1448 (propagated-inputs
1449 `(("julia-mlstyle" ,julia-mlstyle)))
1450 (native-inputs
1451 `(("julia-documenter" ,julia-documenter)))
1452 (home-page "https://expronicon.rogerluo.dev/dev/")
1453 (synopsis "Collective tools for metaprogramming on Julia Expr")
1454 (description "This package provides a collection of tools for
1455 metaprogramming on Julia Expr, the meta programming standard library for
1456 @code{MLStyle}.")
1457 (license license:expat)))
1458
1459 (define-public julia-exprtools
1460 (package
1461 (name "julia-exprtools")
1462 (version "0.1.6")
1463 (source
1464 (origin
1465 (method git-fetch)
1466 (uri (git-reference
1467 (url "https://github.com/invenia/ExprTools.jl")
1468 (commit (string-append "v" version))))
1469 (file-name (git-file-name name version))
1470 (sha256
1471 (base32 "058ax5d96jpym5w3g37ah1c4xq3fskwpjdhchakzax15vqzy7ab4"))))
1472 (build-system julia-build-system)
1473 (home-page "https://github.com/invenia/ExprTools.jl")
1474 (synopsis "Light-weight expression manipulation tools")
1475 (description "@code{ExprTools} provides tooling for working with Julia
1476 expressions during metaprogramming. This package aims to provide light-weight
1477 performant tooling without requiring additional package dependencies.")
1478 (license license:expat)))
1479
1480 (define-public julia-ffmpeg
1481 (package
1482 (name "julia-ffmpeg")
1483 (version "0.4.1")
1484 (source
1485 (origin
1486 (method git-fetch)
1487 (uri (git-reference
1488 (url "https://github.com/JuliaIO/FFMPEG.jl")
1489 (commit (string-append "v" version))))
1490 (file-name (git-file-name name version))
1491 (sha256
1492 (base32 "1ldxbp0kq3ip67x7sp82dz56aq4p5i0chspbgx2zgskr6jcbjj1b"))))
1493 (build-system julia-build-system)
1494 (propagated-inputs
1495 `(("julia-ffmpeg-jll" ,julia-ffmpeg-jll)
1496 ("julia-x264-jll" ,julia-x264-jll)))
1497 (home-page "https://github.com/JuliaIO/FFMPEG.jl")
1498 (synopsis "Julia Package for ffmpeg")
1499 (description "This package is made to be included into packages that just
1500 need the ffmpeg binaries + executables, and don't want the overhead of
1501 @code{VideoIO.jl}.")
1502 (license license:expat)))
1503
1504 (define-public julia-fileio
1505 (package
1506 (name "julia-fileio")
1507 (version "1.9.1")
1508 (source
1509 (origin
1510 (method git-fetch)
1511 (uri (git-reference
1512 (url "https://github.com/JuliaIO/FileIO.jl")
1513 (commit (string-append "v" version))))
1514 (file-name (git-file-name name version))
1515 (sha256
1516 (base32 "1b18x43i737g5q41n9818xbnc2pgd98q1m6yw3h29yri0clg4gfx"))))
1517 (build-system julia-build-system)
1518 (arguments
1519 `(#:phases
1520 (modify-phases %standard-phases
1521 (delete 'reset-gzip-timestamps)
1522 (add-after 'link-depot 'skip-network-tests
1523 (lambda _
1524 ;; These tests try to download audio/video files.
1525 (substitute* "test/query.jl"
1526 (("testset.*(MP4|OGG|MATROSKA).*" all)
1527 (string-append all "return\n")))
1528 (substitute* "test/loadsave.jl"
1529 (("testset.*CSVFiles.*" all)
1530 (string-append all "return\n")))
1531 ;; This test tries to download a Julia package.
1532 (substitute* "test/error_handling.jl"
1533 (("testset.*Not installed.*" all)
1534 (string-append all "return\n")))
1535 ;; This test tries to write to the store.
1536 ;; (Error says can't find User 0)
1537 (substitute* "test/runtests.jl"
1538 ((".*test_mimesave.*") "")))))))
1539 (propagated-inputs
1540 `(("julia-requires" ,julia-requires)))
1541 (native-inputs
1542 `(("julia-colortypes" ,julia-colortypes)
1543 ("julia-filepathsbase" ,julia-filepathsbase)
1544 ("julia-http" ,julia-http)))
1545 (home-page "https://github.com/JuliaIO/FileIO.jl")
1546 (synopsis "Main Package for IO, loading all different kind of files")
1547 (description "@code{FileIO} aims to provide a common framework for detecting
1548 file formats and dispatching to appropriate readers/writers. The two core
1549 functions in this package are called @code{load} and @code{save}, and offer
1550 high-level support for formatted files (in contrast with Julia's low-level
1551 @code{read} and @code{write}).")
1552 (license license:expat)))
1553
1554 (define-public julia-filepathsbase
1555 (package
1556 (name "julia-filepathsbase")
1557 (version "0.9.10")
1558 (source
1559 (origin
1560 (method git-fetch)
1561 (uri (git-reference
1562 (url "https://github.com/rofinn/FilePathsBase.jl")
1563 (commit (string-append "v" version))))
1564 (file-name (git-file-name name version))
1565 (sha256
1566 (base32 "136wm4ik6isrdanmpi4gdr1qw0qhr15i925qzjxbawk5hnyzwng9"))))
1567 (build-system julia-build-system)
1568 (arguments
1569 `(#:tests? #f)) ; Cycle with JLSO.jl
1570 (home-page "https://github.com/rofinn/FilePathsBase.jl")
1571 (synopsis "Filesystem path types in Julia")
1572 (description "@code{FilePathsBase.jl} provides a type based approach to
1573 working with filesystem paths in Julia.")
1574 (license license:expat)))
1575
1576 (define-public julia-fillarrays
1577 (package
1578 (name "julia-fillarrays")
1579 (version "0.12.6")
1580 (source
1581 (origin
1582 (method git-fetch)
1583 (uri (git-reference
1584 (url "https://github.com/JuliaArrays/FillArrays.jl")
1585 (commit (string-append "v" version))))
1586 (file-name (git-file-name name version))
1587 (sha256
1588 (base32 "1sx96pzrgyh8k7x2w8vmyi6cazlmp7rg1n7wbl47qfzqjggka6kz"))))
1589 (build-system julia-build-system)
1590 (inputs ;required by tests
1591 `(("julia-staticarrays" ,julia-staticarrays)))
1592 (home-page "https://github.com/JuliaArrays/FillArrays.jl")
1593 (synopsis "Lazy matrix representation")
1594 (description "This package lazily represents matrices filled with
1595 a single entry, as well as identity matrices. This package exports the
1596 following types: @code{Eye}, @code{Fill}, @code{Ones}, @code{Zeros},
1597 @code{Trues} and @code{Falses}.")
1598 (license license:expat)))
1599
1600 (define-public julia-finitediff
1601 (package
1602 (name "julia-finitediff")
1603 (version "2.8.1")
1604 (source
1605 (origin
1606 (method git-fetch)
1607 (uri (git-reference
1608 (url "https://github.com/JuliaDiff/FiniteDiff.jl")
1609 (commit (string-append "v" version))))
1610 (file-name (git-file-name name version))
1611 (sha256
1612 (base32 "105f6r0hq97n9mxf1nacmz94dpca66vzqj5p3zh4h0brshmggqnq"))))
1613 (build-system julia-build-system)
1614 (arguments
1615 `(#:phases
1616 (modify-phases %standard-phases
1617 (add-before 'check 'pre-check
1618 (lambda _
1619 ;; We don't want to run all the tests; the Downstream tests
1620 ;; try to download the package registry.
1621 (setenv "GROUP" "Core")
1622 #t)))))
1623 (propagated-inputs
1624 `(("julia-arrayinterface" ,julia-arrayinterface)
1625 ("julia-requires" ,julia-requires)
1626 ("julia-staticarrays" ,julia-staticarrays)))
1627 (native-inputs
1628 `(("julia-bandedmatrices" ,julia-bandedmatrices)
1629 ("julia-blockbandedmatrices" ,julia-blockbandedmatrices)
1630 ("julia-safetestsets" ,julia-safetestsets)))
1631 (home-page "https://github.com/JuliaDiff/FiniteDiff.jl")
1632 (synopsis "Calculations of gradients, Jacobians, and Hessians")
1633 (description "This package is for calculating derivatives, gradients,
1634 Jacobians, Hessians, etc. numerically. This library is for maximizing speed
1635 while giving a usable interface to end users in a way that specializes on array
1636 types and sparsity.")
1637 (license license:expat)))
1638
1639 (define-public julia-finitedifferences
1640 (package
1641 (name "julia-finitedifferences")
1642 (version "0.12.17")
1643 (source
1644 (origin
1645 (method git-fetch)
1646 (uri (git-reference
1647 (url "https://github.com/JuliaDiff/FiniteDifferences.jl")
1648 (commit (string-append "v" version))))
1649 (file-name (git-file-name name version))
1650 (sha256
1651 (base32 "09nsf9cgk49yrvprflnhd9h5rrgs280rgj8sad3csghxdx6jqk5c"))))
1652 (build-system julia-build-system)
1653 (inputs
1654 `(("julia-benchmarktools" ,julia-benchmarktools)))
1655 (propagated-inputs
1656 `(("julia-chainrulescore" ,julia-chainrulescore)
1657 ("julia-richardson" ,julia-richardson)
1658 ("julia-staticarrays" ,julia-staticarrays)))
1659 (home-page "https://github.com/JuliaDiff/FiniteDifferences.jl")
1660 (synopsis "Estimates derivatives with finite differences")
1661 (description "This package calculates approximate derivatives numerically
1662 using finite difference.")
1663 (license license:expat)))
1664
1665 (define-public julia-fixedpointnumbers
1666 (package
1667 (name "julia-fixedpointnumbers")
1668 (version "0.8.4")
1669 (source
1670 (origin
1671 (method git-fetch)
1672 (uri (git-reference
1673 (url "https://github.com/JuliaMath/FixedPointNumbers.jl")
1674 (commit (string-append "v" version))))
1675 (file-name (git-file-name name version))
1676 (sha256
1677 (base32 "0j0n40n04q9sk68wh9jq90m6c67k4ws02k41djjzkrqmpzv4rcdi"))))
1678 (build-system julia-build-system)
1679 (arguments
1680 `(#:phases
1681 (modify-phases %standard-phases
1682 (add-after 'link-depot 'disable-failing-test
1683 (lambda* (#:key outputs #:allow-other-keys)
1684 (substitute* "test/fixed.jl"
1685 ;; A deprecation warning is not thrown
1686 (("@test_logs.*:warn" all) (string-append "# " all)))
1687 #t)))))
1688 (propagated-inputs `(("julia-compat" ,julia-compat)))
1689 (home-page "https://github.com/JuliaMath/FixedPointNumbers.jl")
1690 (synopsis "Fixed point types for Julia")
1691 (description "@code{FixedPointNumbers.jl} implements fixed-point number
1692 types for Julia. A fixed-point number represents a fractional, or
1693 non-integral, number. In contrast with the more widely known floating-point
1694 numbers, with fixed-point numbers the decimal point doesn't \"float\":
1695 fixed-point numbers are effectively integers that are interpreted as being
1696 scaled by a constant factor. Consequently, they have a fixed number of
1697 digits (bits) after the decimal (radix) point.")
1698 (license license:expat)))
1699
1700 (define-public julia-formatting
1701 (package
1702 (name "julia-formatting")
1703 (version "0.4.2")
1704 (source
1705 (origin
1706 (method git-fetch)
1707 (uri (git-reference
1708 (url "https://github.com/JuliaIO/Formatting.jl")
1709 (commit (string-append "v" version))))
1710 (file-name (git-file-name name version))
1711 (sha256
1712 (base32 "0ma3q9my51rr38bb5712xkc4h3rq0wsfjb4ac6mdh9ywn8rqvrmh"))))
1713 (build-system julia-build-system)
1714 (home-page "https://github.com/JuliaIO/Formatting.jl")
1715 (synopsis "Julia package to provide Python-like formatting support")
1716 (description "This package offers Python-style general formatting and
1717 c-style numerical formatting.")
1718 (license license:expat)))
1719
1720 (define-public julia-forwarddiff
1721 (package
1722 (name "julia-forwarddiff")
1723 (version "0.10.18")
1724 (source
1725 (origin
1726 (method git-fetch)
1727 (uri (git-reference
1728 (url "https://github.com/JuliaDiff/ForwardDiff.jl")
1729 (commit (string-append "v" version))))
1730 (file-name (git-file-name name version))
1731 (sha256
1732 (base32 "1vb46x8mcn61g1l14qrk22c043khg2ml4q1ci7h4k2v34f2ak5fs"))))
1733 (build-system julia-build-system)
1734 (inputs ;required for tests
1735 `(("julia-calculus" ,julia-calculus)
1736 ("julia-difftests" ,julia-difftests)))
1737 (propagated-inputs
1738 `(("julia-commonsubexpressions" ,julia-commonsubexpressions)
1739 ("julia-diffresults" ,julia-diffresults)
1740 ("julia-diffrules" ,julia-diffrules)
1741 ("julia-nanmath" ,julia-nanmath)
1742 ("julia-specialfunctions" ,julia-specialfunctions)
1743 ("julia-staticarrays" ,julia-staticarrays)))
1744 (home-page "https://github.com/JuliaDiff/ForwardDiff.jl")
1745 (synopsis "Methods to take multidimensional derivatives")
1746 (description "This package implements methods to take derivatives,
1747 gradients, Jacobians, Hessians, and higher-order derivatives of native Julia
1748 functions (or any callable object, really) using forward mode automatic
1749 differentiation (AD).")
1750 (license license:expat)))
1751
1752 (define-public julia-functionwrappers
1753 (package
1754 (name "julia-functionwrappers")
1755 (version "1.1.2")
1756 (source
1757 (origin
1758 (method git-fetch)
1759 (uri (git-reference
1760 (url "https://github.com/yuyichao/FunctionWrappers.jl")
1761 (commit (string-append "v" version))))
1762 (file-name (git-file-name name version))
1763 (sha256
1764 (base32 "02jilpjr7px6138dx2w7ixricvfgsxqdk84d9dgviranibhnjcxa"))))
1765 (build-system julia-build-system)
1766 (arguments
1767 `(#:phases
1768 (modify-phases %standard-phases
1769 (add-after 'link-depot 'adjust-tests
1770 (lambda _
1771 (substitute* "test/runtests.jl"
1772 (("testset \\\"Abstract.*" all)
1773 (string-append all "return\n"))))))))
1774 (home-page "https://github.com/yuyichao/FunctionWrappers.jl")
1775 (synopsis "Type stable and efficient wrapper of arbitrary functions")
1776 (description "This package provides a type stable and efficient wrapper of
1777 arbitrary functions.")
1778 (license license:expat)))
1779
1780 (define-public julia-functors
1781 (package
1782 (name "julia-functors")
1783 (version "0.2.7")
1784 (source
1785 (origin
1786 (method git-fetch)
1787 (uri (git-reference
1788 (url "https://github.com/FluxML/Functors.jl")
1789 (commit (string-append "v" version))))
1790 (file-name (git-file-name name version))
1791 (sha256
1792 (base32 "03ry1wn1y2jssq65l29bi6q4ki041aa6gl1nd2w6cgl00k2mrxf3"))))
1793 (build-system julia-build-system)
1794 (home-page "https://fluxml.ai/Functors.jl/stable/")
1795 (synopsis "Design pattern for structures as in machine learning")
1796 (description "This package provides tools to express a design pattern for
1797 dealing with large/ nested structures, as in machine learning and
1798 optimisation. For large machine learning models it can be cumbersome or
1799 inefficient to work with parameters as one big, flat vector, and structs help
1800 in managing complexity; but it is also desirable to easily operate over all
1801 parameters at once, e.g. for changing precision or applying an optimiser
1802 update step.")
1803 (license license:expat)))
1804
1805 (define-public julia-fuzzycompletions
1806 (package
1807 (name "julia-fuzzycompletions")
1808 (version "0.4.1")
1809 (source
1810 (origin
1811 (method git-fetch)
1812 (uri (git-reference
1813 (url "https://github.com/JunoLab/FuzzyCompletions.jl")
1814 (commit (string-append "v" version))))
1815 (file-name (git-file-name name version))
1816 (sha256
1817 (base32 "07sv88c472n6w4x7diy952igbcfm1s104ysnnvprld83312siw06"))))
1818 (build-system julia-build-system)
1819 (arguments
1820 `(#:phases
1821 (modify-phases %standard-phases
1822 (add-after 'link-depot 'skip-failing-test
1823 (lambda _
1824 (substitute* "test/runtests.jl"
1825 ((".*RPLE.*") "")))))))
1826 (home-page "https://github.com/JunoLab/FuzzyCompletions.jl")
1827 (synopsis "Fuzzy completion provider for Julia")
1828 (description
1829 "FuzzyCompletions provides fuzzy completions for a Julia runtime session.")
1830 (license license:expat)))
1831
1832 (define-public julia-genericlinearalgebra
1833 (package
1834 (name "julia-genericlinearalgebra")
1835 (version "0.2.5")
1836 (source
1837 (origin
1838 (method git-fetch)
1839 (uri (git-reference
1840 (url "https://github.com/JuliaLinearAlgebra/GenericLinearAlgebra.jl")
1841 (commit (string-append "v" version))))
1842 (file-name (git-file-name name version))
1843 (sha256
1844 (base32 "0ndwypa397z3pwzdgc3s9plaqlqf63g3d4px5pvym5psgr6lnm3l"))))
1845 (build-system julia-build-system)
1846 (arguments
1847 `(#:phases
1848 (modify-phases %standard-phases
1849 (add-after 'link-depot 'adjust-test-suite
1850 (lambda _
1851 (substitute* "test/runtests.jl"
1852 ((".*lapack.*") "")))))))
1853 (native-inputs
1854 `(("julia-quaternions" ,julia-quaternions)))
1855 (home-page "https://github.com/JuliaLinearAlgebra/GenericLinearAlgebra.jl")
1856 (synopsis "Generic numerical linear algebra")
1857 (description "The purpose of this package is partly to extend linear algebra
1858 functionality in base to cover generic element types, e.g. @code{BigFloat} and
1859 @code{Quaternion}, and partly to be a place to experiment with fast linear
1860 algebra routines written in Julia (except for optimized BLAS).")
1861 (license license:expat)))
1862
1863 (define-public julia-genericschur
1864 (package
1865 (name "julia-genericschur")
1866 (version "0.5.1")
1867 (source
1868 (origin
1869 (method git-fetch)
1870 (uri (git-reference
1871 (url "https://github.com/RalphAS/GenericSchur.jl")
1872 (commit (string-append "v" version))))
1873 (file-name (git-file-name name version))
1874 (sha256
1875 (base32 "12x6lxzxm91y3k6s9dam46dq5hrby5sr0gy0fdfnp0xhjzdy2j0d"))))
1876 (build-system julia-build-system)
1877 (arguments
1878 `(#:phases
1879 (modify-phases %standard-phases
1880 (add-after 'link-depot 'adjust-test-suite
1881 (lambda _
1882 (substitute* "test/complex.jl"
1883 ;; expected Array{Int32,1}, got a value of type Array{Int64,1}
1884 (("A = _example") "#A = _example")
1885 (("schurtest\\(A,20\\)") ""))
1886 (substitute* "test/runtests.jl"
1887 ;; Test errors relating to liblapack.so
1888 ((".*complex\\.jl.*") "")
1889 ((".*real\\.jl.*") "")
1890 ;; GenericSVD is deprecated upstream
1891 ((".*gordschur\\.jl.*") "")))))))
1892 (home-page "https://github.com/RalphAS/GenericSchur.jl")
1893 (synopsis "Schur decomposition of matrices with generic element types")
1894 (description "The Schur decomposition is the workhorse for eigensystem
1895 analysis of dense matrices. The diagonal eigen-decomposition of normal
1896 (especially Hermitian) matrices is an important special case, but for non-normal
1897 matrices the Schur form is often more useful.")
1898 (license license:expat)))
1899
1900 (define-public julia-geometrybasics
1901 (package
1902 (name "julia-geometrybasics")
1903 (version "0.4.1")
1904 (source
1905 (origin
1906 (method git-fetch)
1907 (uri (git-reference
1908 (url "https://github.com/JuliaGeometry/GeometryBasics.jl")
1909 (commit (string-append "v" version))))
1910 (file-name (git-file-name name version))
1911 (sha256
1912 (base32 "057j3hjpli3q5b98cqkpi4p10x2k9pyksrz62hjmv1kb5qzdvhsj"))))
1913 (build-system julia-build-system)
1914 (arguments
1915 `(#:phases
1916 (modify-phases %standard-phases
1917 (add-after 'link-depot 'remove-earcut
1918 (lambda _
1919 (substitute* '("Project.toml"
1920 "src/GeometryBasics.jl")
1921 ((".*EarCut.*") ""))
1922 #t))
1923 (add-after 'link-depot 'skip-incompatible-test
1924 (lambda _
1925 (substitute* "test/runtests.jl"
1926 (("@testset.*MetaT and heterogeneous data.*" all)
1927 (string-append all "return\n")))
1928 #t)))))
1929 (propagated-inputs
1930 `(("julia-itertools" ,julia-itertools)
1931 ("julia-staticarrays" ,julia-staticarrays)
1932 ("julia-structarrays" ,julia-structarrays)
1933 ("julia-tables" ,julia-tables)))
1934 (native-inputs
1935 `(("julia-offsetarrays" ,julia-offsetarrays)))
1936 (home-page "https://github.com/JuliaGeometry/GeometryBasics.jl")
1937 (synopsis "Basic Geometry Types")
1938 (description "This package aims to offer a standard set of Geometry types,
1939 which easily work with metadata, query frameworks on geometries and different
1940 memory layouts. The aim is to create a solid basis for Graphics/Plotting,
1941 finite elements analysis, Geo applications, and general geometry manipulations
1942 - while offering a Julian API, that still allows performant C-interop.")
1943 (license license:expat)))
1944
1945 (define-public julia-gr
1946 (package
1947 (name "julia-gr")
1948 (version "0.58.1")
1949 (source
1950 (origin
1951 (method git-fetch)
1952 (uri (git-reference
1953 (url "https://github.com/jheinen/GR.jl")
1954 (commit (string-append "v" version))))
1955 (file-name (git-file-name name version))
1956 (sha256
1957 (base32 "18zxa1w2wmrf44c5l10qbh99zjdp7h94gxlymh47cf5kj5fc4xmx"))))
1958 (build-system julia-build-system)
1959 (propagated-inputs
1960 `(("julia-gr-jll" ,julia-gr-jll)))
1961 (home-page "https://github.com/jheinen/GR.jl")
1962 (synopsis "Plotting for Julia based on GR")
1963 (description "This module provides a Julia interface to GR, a framework for
1964 visualisation applications.")
1965 (license license:expat)))
1966
1967 (define-public julia-graphics
1968 (package
1969 (name "julia-graphics")
1970 (version "1.1.0")
1971 (source
1972 (origin
1973 (method git-fetch)
1974 (uri (git-reference
1975 (url "https://github.com/JuliaGraphics/Graphics.jl")
1976 (commit (string-append "v" version))))
1977 (file-name (git-file-name name version))
1978 (sha256
1979 (base32 "10h1s09v7qkvrjr6l678zamb1p248n8jv4rrwkf8g7d2bpfz9amn"))))
1980 (build-system julia-build-system)
1981 (propagated-inputs
1982 `(("julia-colors" ,julia-colors)
1983 ("julia-nanmath" ,julia-nanmath)))
1984 (home-page "https://github.com/JuliaGraphics/Graphics.jl")
1985 (synopsis "Base graphics in Julia")
1986 (description "@code{Graphics.jl} is an abstraction layer for graphical
1987 operations in Julia.")
1988 (license license:expat)))
1989
1990 (define-public julia-gumbo
1991 (package
1992 (name "julia-gumbo")
1993 (version "0.8.0")
1994 (source
1995 (origin
1996 (method git-fetch)
1997 (uri (git-reference
1998 (url "https://github.com/JuliaWeb/Gumbo.jl")
1999 (commit (string-append "v" version))))
2000 (file-name (git-file-name name version))
2001 (sha256
2002 (base32 "1g22dv3v7caakspv3pdahnqn937fzzsg9y87rj72hid9g8lxl1gm"))))
2003 (build-system julia-build-system)
2004 (propagated-inputs
2005 `(("julia-abstracttrees" ,julia-abstracttrees)
2006 ("julia-gumbo-jll" ,julia-gumbo-jll)))
2007 (home-page "https://github.com/JuliaWeb/Gumbo.jl")
2008 (synopsis "Julia wrapper around Google's gumbo C library for parsing HTML")
2009 (description "@code{Gumbo.jl} is a Julia wrapper around Google's gumbo
2010 library for parsing HTML.")
2011 (license license:expat)))
2012
2013 (define-public julia-http
2014 (package
2015 (name "julia-http")
2016 (version "0.9.12")
2017 (source
2018 (origin
2019 (method git-fetch)
2020 (uri (git-reference
2021 (url "https://github.com/JuliaWeb/HTTP.jl")
2022 (commit (string-append "v" version))))
2023 (file-name (git-file-name name version))
2024 (sha256
2025 (base32 "1jsyk3mhnwj4h19cxclx26igdqdrw51fd3k1hgav0nm67dy4cxyk"))))
2026 (build-system julia-build-system)
2027 (arguments
2028 `(#:phases
2029 (modify-phases %standard-phases
2030 (add-before 'install 'disable-network-tests
2031 (lambda _
2032 (substitute* "test/runtests.jl"
2033 (("\"async.jl") "# \"async.jl")
2034 (("\"client.jl") "# \"client.jl"))
2035 (substitute* "test/aws4.jl"
2036 (("@testset.*HTTP.request with AWS authentication.*" all)
2037 (string-append all "return\n")))
2038 (substitute* "test/insert_layers.jl"
2039 (("@testset.*Inserted final layer runs handler.*" all)
2040 (string-append all "return\n")))
2041 (substitute* "test/multipart.jl"
2042 (("@testset \"Setting of Content-Type.*" all)
2043 (string-append all "return\n"))
2044 (("@testset \"Deprecation of .*" all)
2045 (string-append all "return\n")))
2046 (substitute* "test/websockets.jl"
2047 (("@testset.*External Host.*" all)
2048 (string-append all "return\n")))
2049 (substitute* "test/messages.jl"
2050 (("@testset.*Read methods.*" all)
2051 (string-append all "return\n"))
2052 (("@testset.*Body - .*" all)
2053 (string-append all "return\n"))
2054 (("@testset.*Write to file.*" all)
2055 (string-append all "return\n")))
2056 #t)))))
2057 (propagated-inputs
2058 `(("julia-inifile" ,julia-inifile)
2059 ("julia-mbedtls" ,julia-mbedtls)
2060 ("julia-uris" ,julia-uris)))
2061 ;; required for tests
2062 (inputs
2063 `(("julia-json" ,julia-json)
2064 ("julia-bufferedstreams" ,julia-bufferedstreams)))
2065 (home-page "https://juliaweb.github.io/HTTP.jl/")
2066 (synopsis "HTTP support for Julia")
2067 (description "@code{HTTP.jl} is a Julia library for HTTP Messages,
2068 implementing both a client and a server.")
2069 (license license:expat)))
2070
2071 (define-public julia-identityranges
2072 (package
2073 (name "julia-identityranges")
2074 (version "0.3.1")
2075 (source
2076 (origin
2077 (method git-fetch)
2078 (uri (git-reference
2079 (url "https://github.com/JuliaArrays/IdentityRanges.jl")
2080 (commit (string-append "v" version))))
2081 (file-name (git-file-name name version))
2082 (sha256
2083 (base32 "0jvl4xn8f8k70sn473li5q62wbiycl5qi25b5k456h3a0j1lbiml"))))
2084 (build-system julia-build-system)
2085 (propagated-inputs
2086 `(("julia-offsetarrays" ,julia-offsetarrays)))
2087 (home-page "https://github.com/JuliaArrays/IdentityRanges.jl")
2088 (synopsis "Ranges that preserve indices of views")
2089 (description "@code{IdentityRanges} are Julia-language a helper type for
2090 creating \"views\" of arrays. They are a custom type of AbstractUnitRange that
2091 makes it easy to preserve the indices of array views. The key property of an
2092 @code{IdentityRange r} is that @code{r[i] == i} (hence the name of the
2093 type/package), and that they support arbitrary start/stop indices (i.e., not
2094 just starting at 1).")
2095 (license license:expat)))
2096
2097 (define-public julia-ifelse
2098 (package
2099 (name "julia-ifelse")
2100 (version "0.1.0")
2101 (source
2102 (origin
2103 (method git-fetch)
2104 (uri (git-reference
2105 (url "https://github.com/sciml/ifelse.jl")
2106 (commit (string-append "v" version))))
2107 (file-name (git-file-name name version))
2108 (sha256
2109 (base32 "1wrw842r8708fryf2ihp9mkmdrg27saa9nix2c31vs995k2fgr9w"))))
2110 (build-system julia-build-system)
2111 (home-page "https://github.com/sciml/ifelse.jl")
2112 (synopsis "Function form of the if-else conditional statement")
2113 (description "This package provides a convenient function form of the
2114 conditional ifelse. It is similar to @code{Core.ifelse} but it is extendable.")
2115 (license license:expat)))
2116
2117 (define-public julia-imageaxes
2118 (package
2119 (name "julia-imageaxes")
2120 (version "0.6.9")
2121 (source
2122 (origin
2123 (method git-fetch)
2124 (uri (git-reference
2125 (url "https://github.com/JuliaImages/ImageAxes.jl")
2126 (commit (string-append "v" version))))
2127 (file-name (git-file-name name version))
2128 (sha256
2129 (base32 "15zqxani1jjh8849s7rdps6b6prqdwv8yxx893y536vkpk7i07qd"))))
2130 (build-system julia-build-system)
2131 (propagated-inputs
2132 `(("julia-axisarrays" ,julia-axisarrays)
2133 ("julia-imagecore" ,julia-imagecore)
2134 ("julia-reexport" ,julia-reexport)
2135 ("julia-simpletraits" ,julia-simpletraits)))
2136 (native-inputs
2137 `(("julia-unitful" ,julia-unitful)))
2138 (home-page "https://github.com/JuliaImages/ImageAxes.jl")
2139 (synopsis "Julia package for giving \"meaning\" to the axes of an image")
2140 (description "This small package supports the representation of images as
2141 @code{AxisArrays} to endow the axes with \"meaning,\" and makes programming with
2142 such arrays easy via traits.")
2143 (license license:expat)))
2144
2145 (define-public julia-imagebase
2146 (package
2147 (name "julia-imagebase")
2148 (version "0.1.1")
2149 (source
2150 (origin
2151 (method git-fetch)
2152 (uri (git-reference
2153 (url "https://github.com/JuliaImages/ImageBase.jl")
2154 (commit (string-append "v" version))))
2155 (file-name (git-file-name name version))
2156 (sha256
2157 (base32 "1n63f2zs6ail9pcl7rzgv3l0z8v1idjsaza3zgvgy7iacxsdpcj2"))))
2158 (build-system julia-build-system)
2159 (arguments
2160 `(#:tests? #f)) ; Cycle with ImageMagick.jl.
2161 (propagated-inputs
2162 `(("julia-imagecore" ,julia-imagecore)
2163 ("julia-reexport" ,julia-reexport)))
2164 ;(native-inputs
2165 ; `(("julia-imagemagick" ,julia-imagemagick)
2166 ; ("julia-offsetarrays" ,julia-offsetarrays)
2167 ; ("julia-testimages" ,julia-testimages)))
2168 (home-page "https://github.com/JuliaImages/ImageBase.jl")
2169 (synopsis "Wrapper package around ImageCore")
2170 (description "This is a twin package to @code{ImageCore} with functions that
2171 are used among many of the packages in JuliaImages. The main purpose of this
2172 package is to reduce unnecessary compilation overhead from external
2173 dependencies.")
2174 (license license:expat)))
2175
2176 (define-public julia-imagecore
2177 (package
2178 (name "julia-imagecore")
2179 (version "0.9.1")
2180 (source
2181 (origin
2182 (method git-fetch)
2183 (uri (git-reference
2184 (url "https://github.com/JuliaImages/ImageCore.jl")
2185 (commit (string-append "v" version))))
2186 (file-name (git-file-name name version))
2187 (sha256
2188 (base32 "0h9m3pl3wic1jrgaqkdifz24cya5vxd3m6qdmm37pxg2y2ii2vcq"))))
2189 (build-system julia-build-system)
2190 (arguments
2191 `(#:tests? #f)) ; Cycle with ImageMagick.jl.
2192 (propagated-inputs
2193 `(("julia-abstractffts" ,julia-abstractffts)
2194 ("julia-colors" ,julia-colors)
2195 ("julia-colorvectorspace" ,julia-colorvectorspace)
2196 ("julia-fixedpointnumbers" ,julia-fixedpointnumbers)
2197 ("julia-graphics" ,julia-graphics)
2198 ("julia-mappedarrays" ,julia-mappedarrays)
2199 ("julia-mosaicviews" ,julia-mosaicviews)
2200 ("julia-offsetarrays" ,julia-offsetarrays)
2201 ("julia-paddedviews" ,julia-paddedviews)
2202 ("julia-reexport" ,julia-reexport)))
2203 ;(native-inputs
2204 ; `(("julia-aqua" ,julia-aqua)
2205 ; ("julia-colorvectorspace" ,julia-colorvectorspace)
2206 ; ("julia-documenter" ,julia-documenter)
2207 ; ("julia-fftw" ,julia-fftw)
2208 ; ("julia-imageinterminal" ,julia-imageinterminal)
2209 ; ("julia-imagemagick" ,julia-imagemagick)
2210 ; ("julia-referencetests" ,julia-referencetests)
2211 ; ("julia-statistics" ,julia-statistics)))
2212 (home-page "https://github.com/JuliaImages/ImageCore.jl")
2213 (synopsis "Julia types for representing images")
2214 (description "@code{ImageCore} is the lowest-level component of the system
2215 of packages designed to support image processing and computer vision.")
2216 (license license:expat)))
2217
2218 (define-public julia-imageinterminal
2219 (package
2220 (name "julia-imageinterminal")
2221 (version "0.4.7")
2222 (source
2223 (origin
2224 (method git-fetch)
2225 (uri (git-reference
2226 (url "https://github.com/JuliaImages/ImageInTerminal.jl")
2227 (commit (string-append "v" version))))
2228 (file-name (git-file-name name version))
2229 (sha256
2230 (base32 "0bbpzi7bv8jdiggq1wmcn67vnf96qagvwg0fk95s125wy5980xsl"))))
2231 (build-system julia-build-system)
2232 (arguments
2233 `(#:tests? #f)) ; Cycle with ReferenceTests.jl.
2234 (propagated-inputs
2235 `(("julia-crayons" ,julia-crayons)
2236 ("julia-imagebase" ,julia-imagebase)
2237 ("julia-imagecore" ,julia-imagecore)
2238 ("julia-requires" ,julia-requires)))
2239 ;(native-inputs
2240 ; `(("julia-coordinatetransformations" ,julia-coordinatetransformations)
2241 ; ("julia-imagemagick" ,julia-imagemagick)
2242 ; ("julia-imagetransformations" ,julia-imagetransformations)
2243 ; ("julia-offsetarrays" ,julia-offsetarrays)
2244 ; ("julia-referencetests" ,julia-referencetests)
2245 ; ("julia-rotations" ,julia-rotations)
2246 ; ("julia-sparsearrays" ,julia-sparsearrays)
2247 ; ("julia-testimages" ,julia-testimages)))
2248 (home-page "https://github.com/JuliaImages/ImageInTerminal.jl")
2249 (synopsis "Julia package for displaying images in the terminal")
2250 (description "@code{ImageInTerminal.jl} is a drop-in package that once
2251 imported changes a how a single @code{Colorant} and whole @code{Colorant} arrays
2252 (i.e. Images) are displayed in the interactive REPL. The displayed images will
2253 be downscaled to fit into the size of your active terminal session.")
2254 (license license:expat)))
2255
2256 (define-public julia-imagemagick
2257 (package
2258 (name "julia-imagemagick")
2259 (version "1.2.1")
2260 (source
2261 (origin
2262 (method git-fetch)
2263 (uri (git-reference
2264 (url "https://github.com/JuliaIO/ImageMagick.jl")
2265 (commit (string-append "v" version))))
2266 (file-name (git-file-name name version))
2267 (sha256
2268 (base32 "05vzv4jsj3l9pv6yrix28hlw7wnag0mqdfjwv8shn4x71hcfxl1p"))))
2269 (build-system julia-build-system)
2270 (arguments
2271 `(#:phases
2272 (modify-phases %standard-phases
2273 (add-after 'link-depot 'skip-failing-test
2274 (lambda _
2275 ;; These tests try to download from the imagemagick.org
2276 (substitute* "test/runtests.jl"
2277 ((".*readremote\\.jl.*") ""))
2278 ;; Tests with the color gray are hard.
2279 (substitute* "test/constructed_images.jl"
2280 (("test (b == aa)" _ test) (string-append "test_nowarn " test))
2281 (("test (B == map)" _ test) (string-append "test_nowarn " test)))
2282 #t)))))
2283 (propagated-inputs
2284 `(("julia-fileio" ,julia-fileio)
2285 ("julia-imagecore" ,julia-imagecore)
2286 ("julia-imagemagick-jll" ,julia-imagemagick-jll)))
2287 (native-inputs
2288 `(("julia-colors" ,julia-colors)
2289 ("julia-colorvectorspace" ,julia-colorvectorspace)
2290 ("julia-imagemetadata" ,julia-imagemetadata)
2291 ("julia-imageshow" ,julia-imageshow)
2292 ("julia-imagetransformations" ,julia-imagetransformations)
2293 ("julia-indirectarrays" ,julia-indirectarrays)
2294 ("julia-offsetarrays" ,julia-offsetarrays)
2295 ("julia-zipfile" ,julia-zipfile)))
2296 (home-page "https://github.com/JuliaIO/ImageMagick.jl")
2297 (synopsis "Thin wrapper for ImageMagick")
2298 (description "This package provides a wrapper around ImageMagick version 6.
2299 It was split off from @code{Images.jl} to make image I/O more modular.")
2300 (license license:expat)))
2301
2302 (define-public julia-imagemetadata
2303 (package
2304 (name "julia-imagemetadata")
2305 (version "0.9.6")
2306 (source
2307 (origin
2308 (method git-fetch)
2309 (uri (git-reference
2310 (url "https://github.com/JuliaImages/ImageMetadata.jl")
2311 (commit (string-append "v" version))))
2312 (file-name (git-file-name name version))
2313 (sha256
2314 (base32 "0iv154ms370xgcr56bwsjl13iwmy671cbxjl9ld5yfj85pclcwi1"))))
2315 (build-system julia-build-system)
2316 (propagated-inputs
2317 `(("julia-axisarrays" ,julia-axisarrays)
2318 ("julia-imageaxes" ,julia-imageaxes)
2319 ("julia-imagecore" ,julia-imagecore)
2320 ("julia-indirectarrays" ,julia-indirectarrays)))
2321 (native-inputs
2322 `(("julia-offsetarrays" ,julia-offsetarrays)
2323 ("julia-simpletraits" ,julia-simpletraits)
2324 ("julia-unitful" ,julia-unitful)))
2325 (home-page "https://github.com/JuliaImages/ImageMetadata.jl")
2326 (synopsis "Julia package for images having metadata")
2327 (description "@code{ImageMetadata} is a simple package providing utilities
2328 for working with images that have metadata attached. For example, you might
2329 want to associate an image with the date on which the picture was taken, or an
2330 MRI scan with patient data, or an astronomical image with sky coordinates and
2331 information about the detector used to acquire the image.")
2332 (license license:expat)))
2333
2334 (define-public julia-imageshow
2335 (package
2336 (name "julia-imageshow")
2337 (version "0.3.2")
2338 (source
2339 (origin
2340 (method git-fetch)
2341 (uri (git-reference
2342 (url "https://github.com/JuliaImages/ImageShow.jl")
2343 (commit (string-append "v" version))))
2344 (file-name (git-file-name name version))
2345 (sha256
2346 (base32 "00wq3ab8y6nyhxwc5lpz9dnslsmcr1vg3cjdkh7wb7k6a8bw98mh"))))
2347 (build-system julia-build-system)
2348 (arguments
2349 `(#:tests? #f)) ; cycle with ImageMagick.jl.
2350 (propagated-inputs
2351 `(("julia-fileio" ,julia-fileio)
2352 ("julia-imagebase" ,julia-imagebase)
2353 ("julia-imagecore" ,julia-imagecore)
2354 ("julia-offsetarrays" ,julia-offsetarrays)
2355 ("julia-stackviews" ,julia-stackviews)))
2356 ;(native-inputs
2357 ; `(("julia-imagedistances" ,julia-imagedistances)
2358 ; ("julia-imagemagick" ,julia-imagemagick)
2359 ; ("julia-suppressor" ,julia-suppressor)
2360 ; ("julia-testimages" ,julia-testimages)))
2361 (home-page "https://github.com/JuliaImages/ImageShow.jl")
2362 (synopsis
2363 "Inline graphical display of images in Julia graphical environments")
2364 (description "This package implements image @code{show} methods suitable
2365 for graphical platforms such as IJulia. It is intended to provide convenient
2366 inline presentation of greyscale or color images.")
2367 (license license:expat)))
2368
2369 (define-public julia-imagetransformations
2370 (package
2371 (name "julia-imagetransformations")
2372 (version "0.8.12")
2373 (source
2374 (origin
2375 (method git-fetch)
2376 (uri (git-reference
2377 (url "https://github.com/JuliaImages/ImageTransformations.jl")
2378 (commit (string-append "v" version))))
2379 (file-name (git-file-name name version))
2380 (sha256
2381 (base32 "0i8gw68hljshsy9wdl5mrpbb31irhmayqyglsxi7jwm88iy9pxhm"))))
2382 (build-system julia-build-system)
2383 (arguments
2384 `(#:tests? #f)) ; Cycle with ImageMagick.jl.
2385 (propagated-inputs
2386 `(("julia-axisalgorithms" ,julia-axisalgorithms)
2387 ("julia-colorvectorspace" ,julia-colorvectorspace)
2388 ("julia-coordinatetransformations" ,julia-coordinatetransformations)
2389 ("julia-identityranges" ,julia-identityranges)
2390 ("julia-imagecore" ,julia-imagecore)
2391 ("julia-interpolations" ,julia-interpolations)
2392 ("julia-offsetarrays" ,julia-offsetarrays)
2393 ("julia-rotations" ,julia-rotations)
2394 ("julia-staticarrays" ,julia-staticarrays)))
2395 ;(native-inputs
2396 ; `(("julia-imagemagick" ,julia-imagemagick)
2397 ; ("julia-referencetests" ,julia-referencetests)
2398 ; ("julia-testimages" ,julia-testimages)))
2399 (home-page "https://github.com/JuliaImages/ImageTransformations.jl")
2400 (synopsis "Geometric transformations on images for Julia")
2401 (description "This package provides support for image resizing, image
2402 rotation, and other spatial transformations of arrays.")
2403 (license license:expat)))
2404
2405 (define-public julia-indexing
2406 (package
2407 (name "julia-indexing")
2408 (version "1.1.1")
2409 (source
2410 (origin
2411 (method git-fetch)
2412 (uri (git-reference
2413 (url "https://github.com/andyferris/Indexing.jl")
2414 (commit (string-append "v" version))))
2415 (file-name (git-file-name name version))
2416 (sha256
2417 (base32 "1s7bz5aaj9sx753pcaixq83jgbk33adxgybpinjgzb9lzdv1ddgx"))))
2418 (build-system julia-build-system)
2419 (home-page "https://github.com/andyferris/Indexing.jl")
2420 (synopsis "Generalized indexing for Julia")
2421 (description "This package defines functions for getting multiple indices
2422 out of dictionaries, tuples, etc, extending this ability beyond
2423 @code{AbstractArray}.")
2424 (license license:expat)))
2425
2426 (define-public julia-indirectarrays
2427 (package
2428 (name "julia-indirectarrays")
2429 (version "0.5.1")
2430 (source
2431 (origin
2432 (method git-fetch)
2433 (uri (git-reference
2434 (url "https://github.com/JuliaArrays/IndirectArrays.jl")
2435 (commit (string-append "v" version))))
2436 (file-name (git-file-name name version))
2437 (sha256
2438 (base32 "0l0jq0jnr9z3k431ni82xycq7mqapgxrbrx4yyk6lycvi41ipm4s"))))
2439 (build-system julia-build-system)
2440 (native-inputs
2441 `(("julia-colors" ,julia-colors)
2442 ("julia-fixedpointnumbers" ,julia-fixedpointnumbers)
2443 ("julia-mappedarrays" ,julia-mappedarrays)))
2444 (home-page "https://github.com/JuliaArrays/IndirectArrays.jl")
2445 (synopsis "Julia implementation of indexed arrays")
2446 (description "An @code{IndirectArray} is one that encodes data using a
2447 combination of an @code{index} and a @code{value} table. Each element is
2448 assigned its own index, which is used to retrieve the value from the
2449 @code{value} table. Among other uses, @code{IndirectArrays} can represent
2450 indexed images, sometimes called \"colormap images\" or \"paletted images.\"")
2451 (license license:expat)))
2452
2453 (define-public julia-infinity
2454 (package
2455 (name "julia-infinity")
2456 (version "0.2.4")
2457 (source
2458 (origin
2459 (method git-fetch)
2460 (uri (git-reference
2461 (url "https://github.com/cjdoris/Infinity.jl")
2462 (commit (string-append "v" version))))
2463 (file-name (git-file-name name version))
2464 (sha256
2465 (base32 "1941lwvrdjnrynigzixxin3chpg1ba6xplvcwc89x0f6z658hwmm"))))
2466 (build-system julia-build-system)
2467 (arguments
2468 `(#:phases
2469 (modify-phases %standard-phases
2470 (add-after 'link-depot 'remove-timezones.jl
2471 (lambda _
2472 (substitute* "test/runtests.jl"
2473 (("using TimeZones.*") "")
2474 ((".*infextendedtime.*") ""))
2475 #t)))))
2476 (propagated-inputs
2477 `(("julia-requires" ,julia-requires)))
2478 (native-inputs
2479 `(("julia-compat" ,julia-compat)))
2480 (home-page "https://docs.juliahub.com/Infinity/")
2481 (synopsis "Representation of infinity in Julia")
2482 (description "This package provides representations for infinity and
2483 negative infinity in Julia.")
2484 (license license:expat)))
2485
2486 (define-public julia-inifile
2487 (package
2488 (name "julia-inifile")
2489 (version "0.5.0")
2490 (source
2491 (origin
2492 (method git-fetch)
2493 (uri (git-reference
2494 (url "https://github.com/JuliaIO/IniFile.jl")
2495 (commit "8ba59958495fa276d6489d2c3903e765d75e0bc0")))
2496 (file-name (git-file-name name version))
2497 (sha256
2498 (base32 "11h6f99jpbg729lplw841m68jprka7q3n8yw390bndlmcdsjabpd"))))
2499 (build-system julia-build-system)
2500 (home-page "https://github.com/JuliaIO/IniFile.jl")
2501 (synopsis "Reading Windows-style INI files")
2502 (description "This is a Julia package that defines an IniFile type that
2503 interfaces with @file{.ini} files.")
2504 (license license:expat)))
2505
2506 (define-public julia-interpolations
2507 (package
2508 (name "julia-interpolations")
2509 (version "0.13.3")
2510 (source
2511 (origin
2512 (method git-fetch)
2513 (uri (git-reference
2514 (url "https://github.com/JuliaMath/Interpolations.jl")
2515 (commit (string-append "v" version))))
2516 (file-name (git-file-name name version))
2517 (sha256
2518 (base32 "1236c20k388qlh7k74mhf7hkbn0vf7ss8b1rgh1a6aj0234ayfnc"))))
2519 (build-system julia-build-system)
2520 (propagated-inputs
2521 `(("julia-axisalgorithms" ,julia-axisalgorithms)
2522 ("julia-offsetarrays" ,julia-offsetarrays)
2523 ("julia-ratios" ,julia-ratios)
2524 ("julia-requires" ,julia-requires)
2525 ("julia-staticarrays" ,julia-staticarrays)
2526 ("julia-woodburymatrices" ,julia-woodburymatrices)))
2527 (native-inputs
2528 `(("julia-dualnumbers" ,julia-dualnumbers)
2529 ("julia-forwarddiff" ,julia-forwarddiff)
2530 ("julia-offsetarrays" ,julia-offsetarrays)
2531 ("julia-unitful" ,julia-unitful)
2532 ("julia-zygote" ,julia-zygote)))
2533 (home-page "https://github.com/JuliaMath/Interpolations.jl")
2534 (synopsis "Continuous interpolation of discrete datasets")
2535 (description "This package implements a variety of interpolation schemes for
2536 the Julia language. It has the goals of ease-of-use, broad algorithmic support,
2537 and exceptional performance.")
2538 (license license:expat)))
2539
2540 (define-public julia-intervalsets
2541 (package
2542 (name "julia-intervalsets")
2543 (version "0.5.3")
2544 (source
2545 (origin
2546 (method git-fetch)
2547 (uri (git-reference
2548 (url "https://github.com/JuliaMath/IntervalSets.jl")
2549 (commit (string-append "v" version))))
2550 (file-name (git-file-name name version))
2551 (sha256
2552 (base32 "0gsz89cd3iygbl5qr389k9vwpg7w1nk0s90g25nsmk34y9hifxag"))))
2553 (build-system julia-build-system)
2554 (propagated-inputs
2555 `(("julia-ellipsisnotation" ,julia-ellipsisnotation)))
2556 (native-inputs
2557 `(("julia-offsetarrays" ,julia-offsetarrays)))
2558 (home-page "https://github.com/JuliaMath/IntervalSets.jl")
2559 (synopsis "Interval Sets for Julia")
2560 (description "This package is intended to implement a \"minimal\" foundation
2561 for intervals upon which other packages might build. In particular, we
2562 encourage type-piracy for the reason that only one interval package can
2563 unambiguously define the @code{..} and @code{±} operators.")
2564 (license license:expat)))
2565
2566 (define-public julia-invertedindices
2567 (package
2568 (name "julia-invertedindices")
2569 (version "1.0.0")
2570 (source
2571 (origin
2572 (method git-fetch)
2573 (uri (git-reference
2574 (url "https://github.com/mbauman/InvertedIndices.jl")
2575 (commit (string-append "v" version))))
2576 (file-name (git-file-name name version))
2577 (sha256
2578 (base32 "1179z20yxnkyziip7gn26wr1g3k3ssl1ci7pig3khc900f62di46"))))
2579 (build-system julia-build-system)
2580 (native-inputs
2581 `(("julia-offsetarrays" ,julia-offsetarrays)))
2582 (home-page "https://github.com/mbauman/InvertedIndices.jl")
2583 (synopsis "Index type that allows for inverted selections")
2584 (description "This package just exports one type: the @code{InvertedIndex},
2585 or @code{Not} for short. It can wrap any supported index type and may be used
2586 as an index into any @code{AbstractArray} subtype, including OffsetArrays.")
2587 (license license:expat)))
2588
2589 (define-public julia-iocapture
2590 (package
2591 (name "julia-iocapture")
2592 (version "0.2.2")
2593 (source
2594 (origin
2595 (method git-fetch)
2596 (uri (git-reference
2597 (url "https://github.com/JuliaDocs/IOCapture.jl")
2598 (commit (string-append "v" version))))
2599 (file-name (git-file-name name version))
2600 (sha256
2601 (base32 "0v76wbvg80g9nx0rjbcna82zk61krly1y9yhyfrjv2pf7mcr4idb"))))
2602 (build-system julia-build-system)
2603 (home-page "https://github.com/JuliaDocs/IOCapture.jl")
2604 (synopsis "Capture standard output and error streams")
2605 (description "This package provides the @code{IOCapture.capture(f)}
2606 function, which captures the standard output and standard error, and returns it
2607 as a string together with the return value.")
2608 (license license:expat)))
2609
2610 (define-public julia-irtools
2611 (package
2612 (name "julia-irtools")
2613 (version "0.4.3")
2614 (source
2615 (origin
2616 (method git-fetch)
2617 (uri (git-reference
2618 (url "https://github.com/FluxML/IRTools.jl")
2619 (commit (string-append "v" version))))
2620 (file-name (git-file-name name version))
2621 (sha256
2622 (base32 "11334fcg2slpwcj0raxf457brhf7pxglgxc6cy8q58ggrpxqfqql"))))
2623 (build-system julia-build-system)
2624 (propagated-inputs
2625 `(("julia-macrotools" ,julia-macrotools)))
2626 (native-inputs
2627 `(("julia-documenter" ,julia-documenter)))
2628 (home-page "https://github.com/FluxML/IRTools.jl")
2629 (synopsis "Simple and flexible IR format")
2630 (description "This package provides a simple and flexible IR format,
2631 expressive enough to work with both lowered and typed Julia code, as well as
2632 external IRs. It can be used with Julia metaprogramming tools such as
2633 Cassette.")
2634 (license license:expat)))
2635
2636 (define-public julia-iteratorinterfaceextensions
2637 (package
2638 (name "julia-iteratorinterfaceextensions")
2639 (version "1.0.0")
2640 (source
2641 (origin
2642 (method git-fetch)
2643 (uri (git-reference
2644 (url "https://github.com/queryverse/IteratorInterfaceExtensions.jl")
2645 (commit (string-append "v" version))))
2646 (file-name (git-file-name name version))
2647 (sha256
2648 (base32 "1slpay1dhja8f9gy6z7b3psgvgcknn963dvfqqakvg1grk9ppa09"))))
2649 (build-system julia-build-system)
2650 (home-page "https://github.com/queryverse/IteratorInterfaceExtensions.jl")
2651 (synopsis "Traits for Julia iterators")
2652 (description "IteratorInterfaceExtensions defines a small number of
2653 extensions to the iterator interface.")
2654 (license license:expat)))
2655
2656 (define-public julia-itertools
2657 (package
2658 (name "julia-itertools")
2659 (version "1.3.0")
2660 (source
2661 (origin
2662 (method git-fetch)
2663 (uri (git-reference
2664 (url "https://github.com/JuliaCollections/IterTools.jl")
2665 (commit (string-append "v" version))))
2666 (file-name (git-file-name name version))
2667 (sha256
2668 (base32 "0haf974kcqj6arv4if97ahs4w3dmvslh6ab3hl57r9s41ic36xdq"))))
2669 (build-system julia-build-system)
2670 (home-page "https://github.com/JuliaCollections/IterTools.jl")
2671 (synopsis "Common functional iterator patterns")
2672 (description
2673 "Common functional iterator patterns (formerly @code{Iterators.jl}).")
2674 (license license:expat)))
2675
2676 (define-public julia-json
2677 (package
2678 (name "julia-json")
2679 (version "0.21.1")
2680 (source
2681 (origin
2682 (method git-fetch)
2683 (uri (git-reference
2684 (url "https://github.com/JuliaIO/JSON.jl")
2685 (commit (string-append "v" version))))
2686 (file-name (git-file-name name version))
2687 (sha256
2688 (base32 "1f9k613kbknmp4fgjxvjaw4d5sfbx8a5hmcszmp1w9rqfqngjx9m"))))
2689 (build-system julia-build-system)
2690 (propagated-inputs
2691 `(("julia-datastructures" ,julia-datastructures)
2692 ("julia-fixedpointnumbers" ,julia-fixedpointnumbers)
2693 ("julia-parsers" ,julia-parsers)
2694 ("julia-offsetarrays" ,julia-offsetarrays)))
2695 (home-page "https://github.com/JuliaIO/JSON.jl")
2696 (synopsis "JSON parsing and printing library for Julia")
2697 (description "@code{JSON.jl} is a pure Julia module which supports parsing
2698 and printing JSON documents.")
2699 (license license:expat)))
2700
2701 (define-public julia-json3
2702 (package
2703 (name "julia-json3")
2704 (version "1.9.0")
2705 (source
2706 (origin
2707 (method git-fetch)
2708 (uri (git-reference
2709 (url "https://github.com/quinnj/JSON3.jl")
2710 (commit (string-append "v" version))))
2711 (file-name (git-file-name name version))
2712 (sha256
2713 (base32 "11z5maz7v50wd99id8z7838higza0cllh2amkdkrlskbri3v2f17"))))
2714 (build-system julia-build-system)
2715 (propagated-inputs
2716 `(("julia-parsers" ,julia-parsers)
2717 ("julia-structtypes" ,julia-structtypes)))
2718 (home-page "https://github.com/quinnj/JSON3.jl")
2719 (synopsis "JSON package for Julia")
2720 (description "This package provides another JSON package for Julia, with a
2721 focus on speed and slick struct mapping.")
2722 (license license:expat)))
2723
2724 (define-public julia-latexstrings
2725 (package
2726 (name "julia-latexstrings")
2727 (version "1.2.1")
2728 (source
2729 (origin
2730 (method git-fetch)
2731 (uri (git-reference
2732 (url "https://github.com/stevengj/LaTeXStrings.jl")
2733 (commit (string-append "v" version))))
2734 (file-name (git-file-name name version))
2735 (sha256
2736 (base32 "117z27krcf8fydgp6mb0pgn75r4gng9qs7v90qb4bqzsry3faadp"))))
2737 (build-system julia-build-system)
2738 (native-inputs
2739 `(("julia-documenter" ,julia-documenter)))
2740 (home-page "https://github.com/stevengj/LaTeXStrings.jl")
2741 (synopsis "Input and display of LaTeX equation strings")
2742 (description "This is a small package to make it easier to type LaTeX
2743 equations in string literals in the Julia language.")
2744 (license license:expat)))
2745
2746 (define-public julia-lazyarrays
2747 (package
2748 (name "julia-lazyarrays")
2749 (version "0.22.2")
2750 (source
2751 (origin
2752 (method git-fetch)
2753 (uri (git-reference
2754 (url "https://github.com/JuliaArrays/LazyArrays.jl")
2755 (commit (string-append "v" version))))
2756 (file-name (git-file-name name version))
2757 (sha256
2758 (base32 "17rhlrmgfvdw8w62pg32ikr9j4xy2ylr7mx7ar0hnpzryv929rp5"))))
2759 (build-system julia-build-system)
2760 (propagated-inputs
2761 `(("julia-arraylayouts" ,julia-arraylayouts)
2762 ("julia-fillarrays" ,julia-fillarrays)
2763 ("julia-macrotools" ,julia-macrotools)
2764 ("julia-matrixfactorizations" ,julia-matrixfactorizations)
2765 ("julia-staticarrays" ,julia-staticarrays)))
2766 (native-inputs
2767 `(("julia-tracker" ,julia-tracker)))
2768 (home-page "https://github.com/JuliaArrays/LazyArrays.jl")
2769 (synopsis "Lazy arrays and linear algebra")
2770 (description "This package supports lazy analogues of array operations like
2771 @code{vcat}, @code{hcat}, and multiplication. This helps with the
2772 implementation of matrix-free methods for iterative solvers.")
2773 (license license:expat)))
2774
2775 (define-public julia-logexpfunctions
2776 (package
2777 (name "julia-logexpfunctions")
2778 (version "0.2.4")
2779 (source
2780 (origin
2781 (method git-fetch)
2782 (uri (git-reference
2783 (url "https://github.com/JuliaStats/LogExpFunctions.jl")
2784 (commit (string-append "v" version))))
2785 (file-name (git-file-name name version))
2786 (sha256
2787 (base32 "0rvms3mmq8a1viqlyzdgs2ccddcy6j0c677dlb8m5nk6hkiwr16n"))))
2788 (build-system julia-build-system)
2789 (propagated-inputs
2790 `(("julia-docstringextensions" ,julia-docstringextensions)))
2791 (native-inputs
2792 `(("julia-offsetarrays" ,julia-offsetarrays)))
2793 (home-page "https://github.com/JuliaStats/LogExpFunctions.jl")
2794 (synopsis "Special functions based on @code{log} and @code{exp}")
2795 (description "Various special functions based on log and exp moved from
2796 @code{StatsFuns.jl} into a separate package, to minimize dependencies. These
2797 functions only use native Julia code, so there is no need to depend on
2798 @code{librmath} or similar libraries.")
2799 (license license:expat)))
2800
2801 (define-public julia-macrotools
2802 (package
2803 (name "julia-macrotools")
2804 (version "0.5.6")
2805 (source
2806 (origin
2807 (method git-fetch)
2808 (uri (git-reference
2809 (url "https://github.com/FluxML/MacroTools.jl")
2810 (commit (string-append "v" version))))
2811 (file-name (git-file-name name version))
2812 (sha256
2813 (base32 "0k4z2hyasd9cwxf4l61zk3w4ajs44k69wx6z1ghdn8f5p8xy217f"))))
2814 (build-system julia-build-system)
2815 (home-page "https://fluxml.ai/MacroTools.jl")
2816 (synopsis "Tools for working with Julia code and expressions")
2817 (description "This library provides tools for working with Julia code and
2818 expressions. This includes a template-matching system and code-walking tools
2819 that let you do deep transformations of code.")
2820 (license license:expat)))
2821
2822 (define-public julia-mappedarrays
2823 (package
2824 (name "julia-mappedarrays")
2825 (version "0.4.0")
2826 (source
2827 (origin
2828 (method git-fetch)
2829 (uri (git-reference
2830 (url "https://github.com/JuliaArrays/MappedArrays.jl")
2831 (commit (string-append "v" version))))
2832 (file-name (git-file-name name version))
2833 (sha256
2834 (base32 "0l5adird8m1cmnsxwhzi5hcr7q9bm1rf7a6018zc7kcn2yxdshy3"))))
2835 (build-system julia-build-system)
2836 (propagated-inputs
2837 `(("julia-fixedpointnumbers" ,julia-fixedpointnumbers)))
2838 (native-inputs
2839 `(("julia-colortypes" ,julia-colortypes)
2840 ("julia-fixedpointnumbers" ,julia-fixedpointnumbers)
2841 ("julia-offsetarrays" ,julia-offsetarrays)))
2842 (home-page "https://github.com/JuliaArrays/MappedArrays.jl")
2843 (synopsis "Lazy in-place transformations of arrays")
2844 (description "This package implements \"lazy\" in-place elementwise
2845 transformations of arrays for the Julia programming language. Explicitly, it
2846 provides a \"view\" M of an array A so that @code{M[i] = f(A[i])} for a
2847 specified (but arbitrary) function f, without ever having to compute M
2848 explicitly (in the sense of allocating storage for M). The name of the package
2849 comes from the fact that @code{M == map(f, A)}.")
2850 (license license:expat)))
2851
2852 (define-public julia-matrixfactorizations
2853 (package
2854 (name "julia-matrixfactorizations")
2855 (version "0.8.4")
2856 (source
2857 (origin
2858 (method git-fetch)
2859 (uri (git-reference
2860 (url "https://github.com/JuliaMatrices/MatrixFactorizations.jl")
2861 (commit (string-append "v" version))))
2862 (file-name (git-file-name name version))
2863 (sha256
2864 (base32 "15zvcv2l4iqmjpnqjyx2kry7a85p652nbjy9pj3wq0piksqcz4jb"))))
2865 (build-system julia-build-system)
2866 (arguments
2867 `(#:phases
2868 (modify-phases %standard-phases
2869 (add-after 'link-depot 'skip-failing-test
2870 (lambda _
2871 ;; Tests with math functions are hard.
2872 (substitute* "test/test_ul.jl"
2873 (("@test @inferred\\(logdet") "@test @test_nowarn(logdet")
2874 ;; Also skip the REPL test.
2875 (("test String") "test_nowarn String"))
2876 #t)))))
2877 (propagated-inputs
2878 `(("julia-arraylayouts" ,julia-arraylayouts)))
2879 (home-page "https://github.com/JuliaMatrices/MatrixFactorizations.jl")
2880 (synopsis "Julia package to contain non-standard matrix factorizations")
2881 (description "A Julia package to contain non-standard matrix factorizations.
2882 At the moment it implements the QL, RQ, and UL factorizations, a combined
2883 Cholesky factorization with inverse, and polar decompositions. In the future it
2884 may include other factorizations such as the LQ factorization.")
2885 (license license:expat)))
2886
2887 (define-public julia-mbedtls
2888 (package
2889 (name "julia-mbedtls")
2890 (version "1.0.3")
2891 (source
2892 (origin
2893 (method git-fetch)
2894 (uri (git-reference
2895 (url "https://github.com/JuliaLang/MbedTLS.jl")
2896 (commit (string-append "v" version))))
2897 (file-name (git-file-name name version))
2898 (sha256
2899 (base32 "0zjzf2r57l24n3k0gcqkvx3izwn5827iv9ak0lqix0aa5967wvfb"))))
2900 (build-system julia-build-system)
2901 (arguments
2902 `(#:phases
2903 (modify-phases %standard-phases
2904 (add-before 'install 'disable-network-tests
2905 ;; Tries to connect to httpbin.org
2906 (lambda _
2907 (substitute* "test/runtests.jl"
2908 (("testhost =") "return #"))
2909 #t)))))
2910 (propagated-inputs `(("julia-mbedtls-jll" ,julia-mbedtls-jll)))
2911 (home-page "https://github.com/JuliaLang/MbedTLS.jl")
2912 (synopsis "Apache's mbed TLS library wrapper")
2913 (description "@code{MbedTLS.jl} provides a wrapper around the @code{mbed
2914 TLS} and cryptography C library for Julia.")
2915 (license license:expat)))
2916
2917 (define-public julia-measurements
2918 (package
2919 (name "julia-measurements")
2920 (version "2.6.0")
2921 (source
2922 (origin
2923 (method git-fetch)
2924 (uri (git-reference
2925 (url "https://github.com/JuliaPhysics/Measurements.jl")
2926 (commit (string-append "v" version))))
2927 (file-name (git-file-name name version))
2928 (sha256
2929 (base32 "05p3f0gr4sv4maq8cix5fi8ldq0zagswqsd43xn6fhy046f936mz"))))
2930 (build-system julia-build-system)
2931 (propagated-inputs
2932 `(("julia-calculus" ,julia-calculus)
2933 ("julia-recipesbase" ,julia-recipesbase)
2934 ("julia-requires" ,julia-requires)))
2935 (native-inputs
2936 `(("julia-quadgk" ,julia-quadgk)
2937 ("julia-specialfunctions" ,julia-specialfunctions)
2938 ("julia-unitful" ,julia-unitful)))
2939 (home-page "https://juliaphysics.github.io/Measurements.jl/stable/")
2940 (synopsis "Error propagation calculator and library")
2941 (description "@code{Measurements.jl} is an error propagation calculator and
2942 library for physical measurements. It supports real and complex numbers with
2943 uncertainty, arbitrary precision calculations, operations with arrays, and
2944 numerical integration. The linear error propagation theory is employed to
2945 propagate the errors.")
2946 (license license:expat)))
2947
2948 (define-public julia-measures
2949 (package
2950 (name "julia-measures")
2951 (version "0.3.1")
2952 (source
2953 (origin
2954 (method git-fetch)
2955 (uri (git-reference
2956 (url "https://github.com/JuliaGraphics/Measures.jl")
2957 (commit (string-append "v" version))))
2958 (file-name (git-file-name name version))
2959 (sha256
2960 (base32 "0j34psrdijnqqn9zv0r2sknr1p9q0mmbjvjhmjra37bb5fh2gk8l"))))
2961 (build-system julia-build-system)
2962 (home-page "https://github.com/JuliaGraphics/Measures.jl")
2963 (synopsis "Unified measure and coordinates types")
2964 (description "This library generalizes and unifies the notion of measures
2965 used in Compose, Compose3D, and Escher. It allows building up and representing
2966 expressions involving differing types of units that are then evaluated,
2967 resolving them into absolute units.")
2968 (license license:expat)))
2969
2970 (define-public julia-media
2971 (package
2972 (name "julia-media")
2973 (version "0.5.0")
2974 (source
2975 (origin
2976 (method git-fetch)
2977 (uri (git-reference
2978 (url "https://github.com/JunoLab/Media.jl")
2979 (commit (string-append "v" version))))
2980 (file-name (git-file-name name version))
2981 (sha256
2982 (base32 "05jq9j3vs8yfj2lwz3sh1vk5rha06xdcikp9s2q3dn316vryy6di"))))
2983 (build-system julia-build-system)
2984 ;; Package without Project.toml
2985 (arguments
2986 '(#:julia-package-name "Media"
2987 #:julia-package-uuid "e89f7d12-3494-54d1-8411-f7d8b9ae1f27"))
2988 (propagated-inputs
2989 `(("julia-macrotools" ,julia-macrotools)))
2990 (home-page "https://github.com/JunoLab/Media.jl")
2991 (synopsis "Unified measure and coordinates types")
2992 (description "This package provides a display system which enables the
2993 user handle multiple input/output devices and decide what media types get
2994 displayed where.")
2995 (license license:expat)))
2996
2997 (define-public julia-missings
2998 (package
2999 (name "julia-missings")
3000 (version "1.0.2")
3001 (source
3002 (origin
3003 (method git-fetch)
3004 (uri (git-reference
3005 (url "https://github.com/JuliaData/Missings.jl")
3006 (commit (string-append "v" version))))
3007 (file-name (git-file-name name version))
3008 (sha256
3009 (base32 "1k481rm5lahmjyh34j177d4n10svgr0wm7ps5m3ar3xx6nr26ad5"))))
3010 (build-system julia-build-system)
3011 (propagated-inputs
3012 `(("julia-dataapi" ,julia-dataapi)))
3013 (home-page "https://github.com/JuliaData/Missings.jl")
3014 (synopsis "Additional missing value support for Julia")
3015 (description "This package provides additional functionality for working
3016 with @code{missing} values in Julia.")
3017 (license license:expat)))
3018
3019 (define-public julia-mlstyle
3020 (package
3021 (name "julia-mlstyle")
3022 (version "0.4.10")
3023 (source
3024 (origin
3025 (method git-fetch)
3026 (uri (git-reference
3027 (url "https://github.com/thautwarm/MLStyle.jl")
3028 (commit (string-append "v" version))))
3029 (file-name (git-file-name name version))
3030 (sha256
3031 (base32 "0h1cd7cr4c4cnpqyj3180113gdbvcc047lqphp8a8gq5smp3c059"))))
3032 (build-system julia-build-system)
3033 (native-inputs
3034 `(("julia-datastructures" ,julia-datastructures)))
3035 (home-page "https://thautwarm.github.io/MLStyle.jl/latest/")
3036 (synopsis "Julia functional programming infrastructures")
3037 (description "This package provides consistent and extensible functional
3038 programming infrastructures, and metaprogramming facilities.")
3039 (license license:expat)))
3040
3041 (define-public julia-mocking
3042 (package
3043 (name "julia-mocking")
3044 (version "0.7.3")
3045 (source
3046 (origin
3047 (method git-fetch)
3048 (uri (git-reference
3049 (url "https://github.com/invenia/Mocking.jl")
3050 (commit (string-append "v" version))))
3051 (file-name (git-file-name name version))
3052 (sha256
3053 (base32 "1cg2is83bjmrchmmxcgx57k8c9b9vlamrw38v4fdhbb6d4six5cg"))))
3054 (build-system julia-build-system)
3055 (propagated-inputs
3056 `(("julia-compat" ,julia-compat)
3057 ("julia-exprtools" ,julia-exprtools)))
3058 (home-page "https://github.com/invenia/Mocking.jl")
3059 (synopsis "Overload Julia function calls")
3060 (description "The purpose of this package is to allow Julia function calls
3061 to be temporarily overloaded for the purpose of testing.")
3062 (license license:expat)))
3063
3064 (define-public julia-mosaicviews
3065 (package
3066 (name "julia-mosaicviews")
3067 (version "0.3.3")
3068 (source
3069 (origin
3070 (method git-fetch)
3071 (uri (git-reference
3072 (url "https://github.com/JuliaArrays/MosaicViews.jl")
3073 (commit (string-append "v" version))))
3074 (file-name (git-file-name name version))
3075 (sha256
3076 (base32 "04fgxghyb7n2ji76xkb1r1fjhzsdbgmp5wsfyyn3yjcsdqbyp8pz"))))
3077 (build-system julia-build-system)
3078 (arguments
3079 `(#:tests? #f)) ; Cycle with ImageCore.jl
3080 (propagated-inputs
3081 `(("julia-mappedarrays" ,julia-mappedarrays)
3082 ("julia-paddedviews" ,julia-paddedviews)
3083 ("julia-stackviews" ,julia-stackviews)))
3084 ;(native-inputs
3085 ; `(("julia-colorvectorspace" ,julia-colorvectorspace)
3086 ; ("julia-imagecore" ,julia-imagecore)))
3087 (home-page "https://github.com/JuliaArrays/MosaicViews.jl")
3088 (synopsis
3089 "Lazily view a 3D or 4D array as an expanded 2D array as a matrix of slices")
3090 (description "When visualizing images, it is not uncommon to provide a 2D
3091 view of different image sources. For example, comparing multiple images of
3092 different sizes, getting a preview of machine learning dataset. This package
3093 aims to provide easy-to-use tools for such tasks.")
3094 (license license:expat)))
3095
3096 (define-public julia-msgpack
3097 (package
3098 (name "julia-msgpack")
3099 (version "1.1.0")
3100 (source
3101 (origin
3102 (method git-fetch)
3103 (uri (git-reference
3104 (url "https://github.com/JuliaIO/MsgPack.jl")
3105 (commit (string-append "v" version))))
3106 (file-name (git-file-name name version))
3107 (sha256
3108 (base32 "1layiqjf9si38pfdcszppgcy4zbfqgld7jlw8x645sm9b17b19fg"))))
3109 (build-system julia-build-system)
3110 (home-page "https://github.com/JuliaIO/MsgPack.jl")
3111 (synopsis "Julia MsgPack implementation")
3112 (description "@code{MsgPack.jl} is a MessagePack implementation in pure
3113 Julia, with type-driven, overloadable packing/unpacking functionality.")
3114 (license license:expat)))
3115
3116 (define-public julia-mutablearithmetics
3117 (package
3118 (name "julia-mutablearithmetics")
3119 (version "0.2.20")
3120 (source
3121 (origin
3122 (method git-fetch)
3123 (uri (git-reference
3124 (url "https://github.com/jump-dev/MutableArithmetics.jl")
3125 (commit (string-append "v" version))))
3126 (file-name (git-file-name name version))
3127 (sha256
3128 (base32 "1isyj8h4nx96cr6892d154v8pw1nhr7mjyz5bd6ffr2mkzb2bq4f"))))
3129 (build-system julia-build-system)
3130 (propagated-inputs
3131 `(("julia-offsetarrays" ,julia-offsetarrays)))
3132 (home-page "https://github.com/jump-dev/MutableArithmetics.jl")
3133 (synopsis "Interface for arithmetics on mutable types in Julia")
3134 (description "MutableArithmetics is a Julia package which allows:
3135 @itemize
3136 @item mutable types to implement mutable arithmetics
3137 @item algorithms that could exploit mutable arithmetics to exploit them while
3138 still being completely generic
3139 @end itemize")
3140 (license license:mpl2.0)))
3141
3142 (define-public julia-nanmath
3143 (package
3144 (name "julia-nanmath")
3145 (version "0.3.5")
3146 (source
3147 (origin
3148 (method git-fetch)
3149 (uri (git-reference
3150 (url "https://github.com/mlubin/NaNMath.jl")
3151 (commit (string-append "v" version))))
3152 (file-name (git-file-name name version))
3153 (sha256
3154 (base32 "1hczhz00qj99w63vp627kwk02l2sr2qmzc2rkwwkdwvzy670p25q"))))
3155 (build-system julia-build-system)
3156 (home-page "https://github.com/mlubin/NaNMath.jl")
3157 (synopsis "Implementations of basic math functions")
3158 (description "Implementations of basic math functions which return
3159 @code{NaN} instead of throwing a @code{DomainError}.")
3160 (license license:expat)))
3161
3162 (define-public julia-nlsolversbase
3163 (package
3164 (name "julia-nlsolversbase")
3165 (version "7.8.0")
3166 (source
3167 (origin
3168 (method git-fetch)
3169 (uri (git-reference
3170 (url "https://github.com/JuliaNLSolvers/NLSolversBase.jl")
3171 (commit (string-append "v" version))))
3172 (file-name (git-file-name name version))
3173 (sha256
3174 (base32 "0n8qh5a2ghjx1j70zxn0hmh8gzpa46kmjg8di879y9974bfk0f98"))))
3175 (build-system julia-build-system)
3176 (propagated-inputs
3177 `(("julia-diffresults" ,julia-diffresults)
3178 ("julia-finitediff" ,julia-finitediff)
3179 ("julia-forwarddiff" ,julia-forwarddiff)))
3180 (native-inputs
3181 `(("julia-optimtestproblems" ,julia-optimtestproblems)
3182 ("julia-recursivearraytools" ,julia-recursivearraytools)))
3183 (home-page "https://github.com/JuliaNLSolvers/NLSolversBase.jl")
3184 (synopsis "Optimization and equation solver software in JuliaNLSolvers")
3185 (description "This package aims at establishing common ground for Optim.jl,
3186 LineSearches.jl, and NLsolve.jl. The common ground is mainly the types used to
3187 hold objective related callables, information about the objectives, and an
3188 interface to interact with these types.")
3189 (license license:expat)))
3190
3191 (define-public julia-nnlib
3192 (package
3193 (name "julia-nnlib")
3194 (version "0.7.29")
3195 (source
3196 (origin
3197 (method git-fetch)
3198 (uri (git-reference
3199 (url "https://github.com/FluxML/NNlib.jl")
3200 (commit (string-append "v" version))))
3201 (file-name (git-file-name name version))
3202 (sha256
3203 (base32 "16vn5w5274kcywh1xp0zqjk5q10xrk125aznz5av6wifwrvghk8s"))))
3204 (build-system julia-build-system)
3205 (arguments
3206 `(#:phases
3207 (modify-phases %standard-phases
3208 (add-after 'link-depot 'skip-cuda-tests
3209 (lambda _
3210 (substitute* "test/runtests.jl"
3211 (("using CUDA") "")
3212 (("&& CUDA\\.functional\\(\\)") ""))
3213 (setenv "NNLIB_TEST_CUDA" "false"))))))
3214 (propagated-inputs
3215 `(("julia-adapt" ,julia-adapt)
3216 ("julia-chainrulescore" ,julia-chainrulescore)
3217 ("julia-requires" ,julia-requires)))
3218 (native-inputs
3219 `(("julia-chainrulestestutils" ,julia-chainrulestestutils)
3220 ("julia-stablerngs" ,julia-stablerngs)
3221 ("julia-zygote" ,julia-zygote)))
3222 (home-page "https://github.com/FluxML/NNlib.jl")
3223 (synopsis "Neural Network primitives with multiple backends")
3224 (description "This package will provide a library of functions useful for
3225 machine learning, such as softmax, sigmoid, convolutions and pooling. It
3226 doesn't provide any other \"high-level\" functionality like layers or AD.")
3227 (license license:expat)))
3228
3229 (define-public julia-optimtestproblems
3230 (package
3231 (name "julia-optimtestproblems")
3232 (version "2.0.2")
3233 (source
3234 (origin
3235 (method git-fetch)
3236 (uri (git-reference
3237 (url "https://github.com/JuliaNLSolvers/OptimTestProblems.jl")
3238 (commit (string-append "v" version))))
3239 (file-name (git-file-name name version))
3240 (sha256
3241 (base32 "10h47x5ws42pkqjccimaz0yxfvz41w0yazq6inamfk4lg5g2g3d9"))))
3242 (build-system julia-build-system)
3243 (arguments
3244 `(#:julia-package-name "OptimTestProblems"
3245 #:julia-package-uuid "cec144fc-5a64-5bc6-99fb-dde8f63e154c"))
3246 (home-page "https://github.com/JuliaNLSolvers/OptimTestProblems.jl")
3247 (synopsis "Collection of optimization test problems")
3248 (description "The purpose of this package is to provide test problems for
3249 JuliaNLSolvers packages.")
3250 (license license:expat)))
3251
3252 (define-public julia-orderedcollections
3253 (package
3254 (name "julia-orderedcollections")
3255 (version "1.4.1")
3256 (source
3257 (origin
3258 (method git-fetch)
3259 (uri (git-reference
3260 (url "https://github.com/JuliaCollections/OrderedCollections.jl")
3261 (commit (string-append "v" version))))
3262 (file-name (git-file-name name version))
3263 (sha256
3264 (base32 "0jaxcmvkp8zpqrz101yikdigz90s70i7in5wn8kybwzf0na3lhwf"))))
3265 (build-system julia-build-system)
3266 (home-page "https://github.com/JuliaCollections/OrderedCollections.jl")
3267 (synopsis "Associative containers that preserve insertion order")
3268 (description "This package implements @code{OrderedDicts} and
3269 @code{OrderedSets}, which are similar to containers in base Julia. However,
3270 during iteration the @code{Ordered*} containers return items in the order in
3271 which they were added to the collection.")
3272 (license license:expat)))
3273
3274 (define-public julia-offsetarrays
3275 (package
3276 (name "julia-offsetarrays")
3277 (version "1.10.3")
3278 (source
3279 (origin
3280 (method git-fetch)
3281 (uri (git-reference
3282 (url "https://github.com/JuliaArrays/OffsetArrays.jl")
3283 (commit (string-append "v" version))))
3284 (file-name (git-file-name name version))
3285 (sha256
3286 (base32 "0j5a8ar8yc0j9h87gwfyrcqm23wpyv5yv5gn8vzilpg4vr0fiasc"))))
3287 (build-system julia-build-system)
3288 (propagated-inputs
3289 `(("julia-adapt" ,julia-adapt)))
3290 ;; CatIndices depends on OffsetArrays, introducing a recursive dependency
3291 (arguments '(#:tests? #f))
3292 (home-page "https://juliaarrays.github.io/OffsetArrays.jl/stable/")
3293 (synopsis "Fortran-like arrays with arbitrary, zero or negative indices")
3294 (description "@code{OffsetArrays.jl} provides Julia users with arrays that
3295 have arbitrary indices, similar to those found in some other programming
3296 languages like Fortran.")
3297 (license license:expat)))
3298
3299 (define-public julia-paddedviews
3300 (package
3301 (name "julia-paddedviews")
3302 (version "0.5.8")
3303 (source
3304 (origin
3305 (method git-fetch)
3306 (uri (git-reference
3307 (url "https://github.com/JuliaArrays/PaddedViews.jl")
3308 (commit (string-append "v" version))))
3309 (file-name (git-file-name name version))
3310 (sha256
3311 (base32 "0ran2vj6ahlzib0g77y7g0jhavy3k9s2mqq23ybpgp9z677wf26h"))))
3312 (build-system julia-build-system)
3313 (propagated-inputs
3314 `(("julia-offsetarrays" ,julia-offsetarrays)))
3315 (native-inputs
3316 `(("julia-documenter" ,julia-documenter)))
3317 (home-page "https://github.com/JuliaArrays/PaddedViews.jl")
3318 (synopsis "Add virtual padding to the edges of an array")
3319 (description "@code{PaddedViews} provides a simple wrapper type,
3320 @code{PaddedView}, to add \"virtual\" padding to any array without copying data.
3321 Edge values not specified by the array are assigned a @code{fillvalue}.
3322 Multiple arrays may be \"promoted\" to have common indices using the
3323 @code{paddedviews} function.")
3324 (license license:expat)))
3325
3326 (define-public julia-parameters
3327 (package
3328 (name "julia-parameters")
3329 (version "0.12.2")
3330 (source
3331 (origin
3332 (method git-fetch)
3333 (uri (git-reference
3334 (url "https://github.com/mauro3/Parameters.jl")
3335 (commit (string-append "v" version))))
3336 (file-name (git-file-name name version))
3337 (sha256
3338 (base32 "0b8lawi7kcws4axfsdf023gyxca15irl648ciyi1kw3wghz3pfi2"))))
3339 (build-system julia-build-system)
3340 (propagated-inputs
3341 `(("julia-orderedcollections" ,julia-orderedcollections)
3342 ("julia-unpack" ,julia-unpack)))
3343 (home-page "https://github.com/mauro3/Parameters.jl")
3344 (synopsis "Numerical-model parameter helpers")
3345 (description "This package contains types with default field values, keyword
3346 constructors and (un-)pack macros. Keyword functions can be slow in Julia,
3347 however, the normal positional constructor is also provided and could be used in
3348 performance critical code.")
3349 (license license:expat)))
3350
3351 (define-public julia-parsers
3352 (package
3353 (name "julia-parsers")
3354 (version "1.1.0")
3355 (source
3356 (origin
3357 (method git-fetch)
3358 (uri (git-reference
3359 (url "https://github.com/JuliaData/Parsers.jl")
3360 (commit (string-append "v" version))))
3361 (file-name (git-file-name name version))
3362 (sha256
3363 (base32 "1gz3drd5334xrbx2ms33hiifkd0q1in4ywc92xvrkq3xgzdjqjdk"))))
3364 (build-system julia-build-system)
3365 (home-page "https://github.com/JuliaData/Parsers.jl")
3366 (synopsis "Fast parsing machinery for basic types in Julia")
3367 (description "@code{Parsers.jl} is a collection of type parsers and
3368 utilities for Julia.")
3369 (license license:expat)))
3370
3371 (define-public julia-pdmats
3372 (package
3373 (name "julia-pdmats")
3374 (version "0.11.1")
3375 (source
3376 (origin
3377 (method git-fetch)
3378 (uri (git-reference
3379 (url "https://github.com/JuliaStats/PDMats.jl")
3380 (commit (string-append "v" version))))
3381 (file-name (git-file-name name version))
3382 (sha256
3383 (base32 "0bc2gmpd30rkclvxyfnssjllp0pk63h0vvgr8862phm5ia83r8j0"))))
3384 (build-system julia-build-system)
3385 (home-page "https://github.com/JuliaStats/PDMats.jl")
3386 (synopsis
3387 "Uniform Interface for positive definite matrices of various structures")
3388 (description "PDMats.jl supports efficient computation on positive definite
3389 matrices of various structures. In particular, it provides uniform interfaces
3390 to use positive definite matrices of various structures for writing generic
3391 algorithms, while ensuring that the most efficient implementation is used in
3392 actual computation.")
3393 (license license:expat)))
3394
3395 (define-public julia-plotthemes
3396 (package
3397 (name "julia-plotthemes")
3398 (version "2.0.1")
3399 (source
3400 (origin
3401 (method git-fetch)
3402 (uri (git-reference
3403 (url "https://github.com/JuliaPlots/PlotThemes.jl")
3404 (commit (string-append "v" version))))
3405 (file-name (git-file-name name version))
3406 (sha256
3407 (base32 "1fd27w9z1vhz0d1bzrs5vcavpb5r5jviyh27d9c4ka37phz4xvmh"))))
3408 (build-system julia-build-system)
3409 (propagated-inputs
3410 `(("julia-plotutils" ,julia-plotutils)
3411 ("julia-requires" ,julia-requires)))
3412 (home-page "https://github.com/JuliaPlots/PlotThemes.jl")
3413 (synopsis "Themes for the Julia plotting package Plots.jl")
3414 (description
3415 "PlotThemes is a package to spice up the plots made with @code{Plots.jl}.")
3416 (license license:expat)))
3417
3418 (define-public julia-plotutils
3419 (package
3420 (name "julia-plotutils")
3421 (version "1.0.15")
3422 (source
3423 (origin
3424 (method git-fetch)
3425 (uri (git-reference
3426 (url "https://github.com/JuliaPlots/PlotUtils.jl")
3427 (commit (string-append "v" version))))
3428 (file-name (git-file-name name version))
3429 (sha256
3430 (base32 "12aw5gkkcfhpczv2w510k65w1j0hjnh825ihimi223v8plsi5105"))))
3431 (build-system julia-build-system)
3432 (propagated-inputs
3433 `(("julia-colors" ,julia-colors)
3434 ("julia-colorschemes" ,julia-colorschemes)
3435 ("julia-reexport" ,julia-reexport)))
3436 (native-inputs
3437 `(("julia-stablerngs" ,julia-stablerngs)))
3438 (home-page "https://github.com/JuliaPlots/PlotUtils.jl")
3439 (synopsis "Helper algorithms for building plotting components")
3440 (description "This package contains generic helper algorithms for building
3441 plotting components.")
3442 (license license:expat)))
3443
3444 (define-public julia-pooledarrays
3445 (package
3446 (name "julia-pooledarrays")
3447 (version "1.3.0")
3448 (source
3449 (origin
3450 (method git-fetch)
3451 (uri (git-reference
3452 (url "https://github.com/JuliaData/PooledArrays.jl")
3453 (commit (string-append "v" version))))
3454 (file-name (git-file-name name version))
3455 (sha256
3456 (base32 "0qdwvf1p5z6z0q4s4hn85ysd8wq47zy6hlzddc5ijvhk86ccqlrr"))))
3457 (build-system julia-build-system)
3458 (propagated-inputs
3459 `(("julia-dataapi" ,julia-dataapi)))
3460 (home-page "https://github.com/JuliaData/PooledArrays.jl")
3461 (synopsis "Pooled representation of arrays in Julia")
3462 (description "This package provides a pooled representation of arrays for
3463 purposes of compression when there are few unique elements.")
3464 (license license:expat)))
3465
3466 (define-public julia-positivefactorizations
3467 (package
3468 (name "julia-positivefactorizations")
3469 (version "0.2.4")
3470 (source
3471 (origin
3472 (method git-fetch)
3473 (uri (git-reference
3474 (url "https://github.com/timholy/PositiveFactorizations.jl")
3475 (commit (string-append "v" version))))
3476 (file-name (git-file-name name version))
3477 (sha256
3478 (base32 "1wxy6ak7f3hvibcgc8q88cgkf9zvi649mmjy1zlkx1qk80hgvz23"))))
3479 (build-system julia-build-system)
3480 (native-inputs
3481 `(("julia-forwarddiff" ,julia-forwarddiff)
3482 ("julia-reversediff" ,julia-reversediff)))
3483 (home-page "https://github.com/timholy/PositiveFactorizations.jl")
3484 (synopsis "Positive-definite \"approximations\" to matrices")
3485 (description "@code{PositiveFactorizations} is a package for computing a
3486 positive definite matrix decomposition (factorization) from an arbitrary
3487 symmetric input. The motivating application is optimization (Newton or
3488 quasi-Newton methods), in which the canonical search direction -H/g (H being the
3489 Hessian and g the gradient) may not be a descent direction if H is not positive
3490 definite.")
3491 (license license:expat)))
3492
3493 (define-public julia-preferences
3494 (package
3495 (name "julia-preferences")
3496 (version "1.2.2")
3497 (source
3498 (origin
3499 (method git-fetch)
3500 (uri (git-reference
3501 (url "https://github.com/JuliaPackaging/Preferences.jl")
3502 (commit (string-append "v" version))))
3503 (file-name (git-file-name name version))
3504 (sha256
3505 (base32 "1cail43iqzbi6m9v6981rhz47zf2lcvhs5ds5gdqvc9nx5frghxq"))))
3506 (build-system julia-build-system)
3507 (arguments
3508 `(#:tests? #f)) ; Tests try to mkdir /.julia
3509 (home-page "https://github.com/JuliaPackaging/Preferences.jl")
3510 (synopsis "Store configuration switches to TOML files")
3511 (description "The @code{Preferences} package provides an integrated way for
3512 packages to store configuration switches to persistent TOML files, and use those
3513 pieces of information at both run time and compile time in Julia. This enables
3514 the user to modify the behavior of a package, and have that choice reflected in
3515 everything from run time algorithm choice to code generation at compile time.")
3516 (license license:expat)))
3517
3518 (define-public julia-prettytables
3519 (package
3520 (name "julia-prettytables")
3521 (version "1.0.1")
3522 (source
3523 (origin
3524 (method git-fetch)
3525 (uri (git-reference
3526 (url "https://github.com/ronisbr/PrettyTables.jl")
3527 (commit (string-append "v" version))))
3528 (file-name (git-file-name name version))
3529 (sha256
3530 (base32 "1d1sd87kkwbar3l608h0adzws42cwdrmp1idxx7an6mfqcsdrijw"))))
3531 (build-system julia-build-system)
3532 (arguments
3533 `(#:phases
3534 (modify-phases %standard-phases
3535 (add-after 'link-depot 'skip-color-tests
3536 (lambda _
3537 (substitute* "test/text_backend.jl"
3538 ((".*colors\\.jl.*") ""))
3539 #t)))))
3540 (propagated-inputs
3541 `(("julia-crayons" ,julia-crayons)
3542 ("julia-formatting" ,julia-formatting)
3543 ("julia-reexport" ,julia-reexport)
3544 ("julia-tables" ,julia-tables)))
3545 (home-page "https://github.com/ronisbr/PrettyTables.jl")
3546 (synopsis "Print data in formatted tables")
3547 (description "This package has the purpose to print data in matrices in a
3548 human-readable format.")
3549 (license license:expat)))
3550
3551 (define-public julia-pycall
3552 (package
3553 (name "julia-pycall")
3554 (version "1.92.5")
3555 (source
3556 (origin
3557 (method git-fetch)
3558 (uri (git-reference
3559 (url "https://github.com/JuliaPy/PyCall.jl")
3560 (commit (string-append "v" version))))
3561 (file-name (git-file-name name version))
3562 (sha256
3563 (base32
3564 "1fj5d1ihnhnm0pl4hbx6hcd2bpdyhm8jiaqah2axsbd069j70saf"))))
3565 (build-system julia-build-system)
3566 (arguments
3567 `(#:imported-modules ((guix build python-build-system)
3568 ,@%julia-build-system-modules)
3569 #:modules ((guix build julia-build-system)
3570 (guix build utils)
3571 ((guix build python-build-system) #:prefix python:))
3572 #:phases
3573 (modify-phases %standard-phases
3574 (add-after 'link-depot 'remove-conda
3575 (lambda _
3576 (substitute* "Project.toml"
3577 ((".*Conda.*") ""))
3578 (substitute* (list "src/PyCall.jl"
3579 "test/runtests.jl")
3580 (("import Conda") ""))
3581 (substitute* "deps/depsutils.jl"
3582 (("Conda.PYTHONDIR") "\"/\""))
3583 #t))
3584 (add-after 'link-depot 'set-python
3585 (lambda* (#:key inputs outputs #:allow-other-keys)
3586 (let ((python (assoc-ref inputs "python")))
3587 (setenv "PYCALL_JL_RUNTIME_PYTHON"
3588 (string-append python "/bin/python3"))
3589 (with-output-to-file "deps/deps.jl"
3590 (lambda _
3591 (format #t
3592 "const python = \"~a/bin/python3\"~@
3593 const pyprogramname = \"~a/bin/python3\"~@
3594 const libpython = \"~a/lib/libpython~a.so.1.0\"~@
3595 const PYTHONHOME = \"~a\"~@
3596 const pyversion_build = v\"~a\"~@
3597 const conda = false~%"
3598 python
3599 python
3600 python
3601 (python:python-version python)
3602 python
3603 ,(package-version python))))
3604 #t)))
3605 (add-before 'check 'pre-check
3606 (lambda _
3607 (setenv "CI" "true")
3608 (setenv "JULIA_PKGEVAL" "true")
3609 #t)))))
3610 (propagated-inputs
3611 `(("julia-macrotools" ,julia-macrotools)
3612 ("julia-versionparsing" ,julia-versionparsing)))
3613 (inputs
3614 `(("python" ,python)))
3615 (native-inputs
3616 `(("python-numpy" ,python-numpy)))
3617 (home-page "https://github.com/JuliaPy/PyCall.jl")
3618 (synopsis "Call Python functions from the Julia language")
3619 (description "This package provides the ability to directly call and fully
3620 interoperate with Python from the Julia language. You can import arbitrary
3621 Python modules from Julia, call Python functions (with automatic conversion of
3622 types between Julia and Python), define Python classes from Julia methods, and
3623 share large data structures between Julia and Python without copying them.")
3624 (license license:expat)))
3625
3626 (define-public julia-pyplot
3627 (package
3628 (name "julia-pyplot")
3629 (version "2.10.0")
3630 (source
3631 (origin
3632 (method git-fetch)
3633 (uri (git-reference
3634 (url "https://github.com/JuliaPy/PyPlot.jl")
3635 (commit (string-append "v" version))))
3636 (file-name (git-file-name name version))
3637 (sha256
3638 (base32 "007zs0imfgs69f30pp2a3rc93kl0qiq7qjx6ig35z4wzkmps4skd"))))
3639 (build-system julia-build-system)
3640 (propagated-inputs
3641 `(("julia-colors" ,julia-colors)
3642 ("julia-latexstrings" ,julia-latexstrings)
3643 ("julia-pycall" ,julia-pycall)
3644 ("julia-versionparsing" ,julia-versionparsing)
3645 ;; python-matplotlib is expected to be available at runtime.
3646 ("python-matplotlib" ,python-matplotlib)))
3647 (home-page "https://github.com/JuliaPy/PyPlot.jl")
3648 (synopsis "Plotting for Julia based on matplotlib.pyplot")
3649 (description "This package provides a Julia interface to the Matplotlib
3650 plotting library from Python, and specifically to the @code{matplotlib.pyplot}
3651 module. PyPlot uses the Julia PyCall package to call Matplotlib directly from
3652 Julia with little or no overhead (arrays are passed without making a copy).")
3653 (license license:expat)))
3654
3655 (define-public julia-quadgk
3656 (package
3657 (name "julia-quadgk")
3658 (version "2.4.1")
3659 (source
3660 (origin
3661 (method git-fetch)
3662 (uri (git-reference
3663 (url "https://github.com/JuliaMath/QuadGK.jl")
3664 (commit (string-append "v" version))))
3665 (file-name (git-file-name name version))
3666 (sha256
3667 (base32 "1hy0629yai6xflgxaflk9764lzr1lzhlghimxk1aqi212q9c6n33"))))
3668 (build-system julia-build-system)
3669 (propagated-inputs
3670 `(("julia-datastructures" ,julia-datastructures)))
3671 (home-page "https://github.com/JuliaMath/QuadGK.jl")
3672 (synopsis "Adaptive 1d numerical Gauss–Kronrod integration")
3673 (description "This package provides support for one-dimensional numerical
3674 integration in Julia using adaptive Gauss-Kronrod quadrature. The code was
3675 originally part of Base Julia. It supports integration of arbitrary numeric
3676 types, including arbitrary precision (@code{BigFloat}), and even integration of
3677 arbitrary normed vector spaces (e.g. matrix-valued integrands).")
3678 (license license:expat)))
3679
3680 (define-public julia-quadmath
3681 (package
3682 (name "julia-quadmath")
3683 (version "0.5.5")
3684 (source
3685 (origin
3686 (method git-fetch)
3687 (uri (git-reference
3688 (url "https://github.com/JuliaMath/Quadmath.jl")
3689 (commit (string-append "v" version))))
3690 (file-name (git-file-name name version))
3691 (sha256
3692 (base32 "051biw4b9zni7cmh2f1yzifp1v8wazlfxrdz4p44lyd1wba6379w"))))
3693 (build-system julia-build-system)
3694 (arguments
3695 `(#:phases
3696 (modify-phases %standard-phases
3697 (add-after 'link-depot 'hardcode-libmath-location
3698 (lambda* (#:key inputs #:allow-other-keys)
3699 (let ((gcclib (assoc-ref inputs "gcc:lib")))
3700 (substitute* "src/Quadmath.jl"
3701 (("libgcc_s.so.1" lib) (string-append gcclib "/lib/" lib))
3702 (("libquadmath.so.0" lib) (string-append gcclib "/lib/" lib)))
3703 #t))))))
3704 (propagated-inputs
3705 `(("julia-requires" ,julia-requires)))
3706 (inputs
3707 `(("gcc:lib" ,gcc "lib")))
3708 (native-inputs
3709 `(("julia-specialfunctions" ,julia-specialfunctions)))
3710 (home-page "https://github.com/JuliaMath/Quadmath.jl")
3711 (synopsis "Float128 and libquadmath for the Julia language")
3712 (description "This is a Julia interface to @code{libquadmath}, providing a
3713 @code{Float128} type corresponding to the IEEE754 binary128 floating point
3714 format.")
3715 (license license:expat)))
3716
3717 (define-public julia-quaternions
3718 (package
3719 (name "julia-quaternions")
3720 (version "0.4.2")
3721 (source
3722 (origin
3723 (method git-fetch)
3724 (uri (git-reference
3725 (url "https://github.com/JuliaGeometry/Quaternions.jl")
3726 (commit (string-append "v" version))))
3727 (file-name (git-file-name name version))
3728 (sha256
3729 (base32 "1zhynyvchc50hywws2jznpkwydr3njh8cv84d2ylyabhcwwmil9s"))))
3730 (build-system julia-build-system)
3731 (propagated-inputs
3732 `(("julia-dualnumbers" ,julia-dualnumbers)))
3733 (home-page "https://github.com/JuliaGeometry/Quaternions.jl")
3734 (synopsis "Quaternion and dual-quaternion functionality")
3735 (description "Quaternions are best known for their suitability as
3736 representations of 3D rotational orientation. They can also be viewed as an
3737 extension of complex numbers.")
3738 (license license:expat)))
3739
3740 (define-public julia-queryoperators
3741 (package
3742 (name "julia-queryoperators")
3743 (version "0.9.3")
3744 (source
3745 (origin
3746 (method git-fetch)
3747 (uri (git-reference
3748 (url "https://github.com/queryverse/QueryOperators.jl")
3749 (commit (string-append "v" version))))
3750 (file-name (git-file-name name version))
3751 (sha256
3752 (base32 "06zm4cbn3x49lbpgshhdfvvmgz066qkc8q0d57igm5p8bcp6js22"))))
3753 (build-system julia-build-system)
3754 (propagated-inputs
3755 `(("julia-datastructures" ,julia-datastructures)
3756 ("julia-iteratorinterfaceextensions" ,julia-iteratorinterfaceextensions)
3757 ("julia-tableshowutils" ,julia-tableshowutils)))
3758 (home-page "https://github.com/queryverse/QueryOperators.jl")
3759 (synopsis "Query operators for Julia")
3760 (description "This package contains the underlying query operators that are
3761 exposed to users in @code{Query.jl}.")
3762 (license license:expat)))
3763
3764 (define-public julia-rangearrays
3765 (package
3766 (name "julia-rangearrays")
3767 (version "0.3.2")
3768 (source
3769 (origin
3770 (method git-fetch)
3771 (uri (git-reference
3772 (url "https://github.com/JuliaArrays/RangeArrays.jl")
3773 (commit (string-append "v" version))))
3774 (file-name (git-file-name name version))
3775 (sha256
3776 (base32 "1ihzfyfq1xihkjcvn7xmzfbn6igzidb4fkzdcxwfr5qkvi52gnmg"))))
3777 (build-system julia-build-system)
3778 (home-page "https://github.com/JuliaArrays/RangeArrays.jl")
3779 (synopsis "Array data structures with autogenerated columns")
3780 (description "The goal of RangeArrays is to provide efficient and convenient
3781 array data structures where the columns of the arrays are generated (on the fly)
3782 by Ranges.")
3783 (license license:expat)))
3784
3785 (define-public julia-ratios
3786 (package
3787 (name "julia-ratios")
3788 (version "0.4.0")
3789 (source
3790 (origin
3791 (method git-fetch)
3792 (uri (git-reference
3793 (url "https://github.com/timholy/Ratios.jl")
3794 (commit (string-append "v" version))))
3795 (file-name (git-file-name name version))
3796 (sha256
3797 (base32 "1a4fd4jq4qjply29rkwg3m1clfndjsbckj1b1dab1bc35h2c6yxh"))))
3798 (build-system julia-build-system)
3799 (home-page "https://github.com/timholy/Ratios.jl")
3800 (synopsis "Faster Rational-like types for Julia")
3801 (description "This package provides types similar to Julia's @code{Rational}
3802 type, which make some sacrifices but have better computational performance.")
3803 (license license:expat)))
3804
3805 (define-public julia-recipesbase
3806 (package
3807 (name "julia-recipesbase")
3808 (version "1.1.1")
3809 (source
3810 (origin
3811 (method git-fetch)
3812 (uri (git-reference
3813 (url "https://github.com/JuliaPlots/RecipesBase.jl")
3814 (commit (string-append "v" version))))
3815 (file-name (git-file-name name version))
3816 (sha256
3817 (base32 "1b6m5rz6wprj30rwvlxz4r1jv5gl0ay0f52kfmy2w7lqly7zhap5"))))
3818 (build-system julia-build-system)
3819 (home-page "https://github.com/JuliaPlots/RecipesBase.jl")
3820 (synopsis "Define transformation recipes on user types")
3821 (description "This package implements handy macros @code{@@recipe} and
3822 @code{@@series} which will define a custom transformation and attach attributes
3823 for user types. Its design is an attempt to simplify and generalize the summary
3824 and display of types and data from external packages. With this package it is
3825 possible to describe visualization routines that can be used as components in
3826 more complex visualizations.")
3827 (license license:expat)))
3828
3829 (define-public julia-recipespipeline
3830 (package
3831 (name "julia-recipespipeline")
3832 (version "0.3.4")
3833 (source
3834 (origin
3835 (method git-fetch)
3836 (uri (git-reference
3837 (url "https://github.com/JuliaPlots/RecipesPipeline.jl")
3838 (commit (string-append "v" version))))
3839 (file-name (git-file-name name version))
3840 (sha256
3841 (base32 "0zq4bzxvq36zr0va6iip3x97mgq5b4fwza8avszx1ryfqm3lg1f7"))))
3842 (build-system julia-build-system)
3843 (arguments
3844 `(#:tests? #f)) ; Cycle with Plots.jl.
3845 (propagated-inputs
3846 `(("julia-nanmath" ,julia-nanmath)
3847 ("julia-plotutils" ,julia-plotutils)
3848 ("julia-recipesbase" ,julia-recipesbase)))
3849 (home-page "http://juliaplots.org/RecipesPipeline.jl/dev/")
3850 (synopsis "Utilities for processing recipes")
3851 (description "This package was factored out of @code{Plots.jl} to allow any
3852 other plotting package to use the recipe pipeline. In short, the extremely
3853 lightweight @code{RecipesBase.jl} package can be depended on by any package to
3854 define \"recipes\": plot specifications of user-defined types, as well as custom
3855 plot types. @code{RecipePipeline.jl} contains the machinery to translate these
3856 recipes to full specifications for a plot.")
3857 (license license:expat)))
3858
3859 (define-public julia-recursivearraytools
3860 (package
3861 (name "julia-recursivearraytools")
3862 (version "2.16.1")
3863 (source
3864 (origin
3865 (method git-fetch)
3866 (uri (git-reference
3867 (url "https://github.com/SciML/RecursiveArrayTools.jl")
3868 (commit (string-append "v" version))))
3869 (file-name (git-file-name name version))
3870 (sha256
3871 (base32 "0vx8ndxrii53na7jsc2lki47wfpi77rn3y2r6xhiysx1qwr14msf"))))
3872 (build-system julia-build-system)
3873 (arguments
3874 `(#:tests? #f)) ; Cycle with OrdinaryDiffEq.jl.
3875 (propagated-inputs
3876 `(("julia-arrayinterface" ,julia-arrayinterface)
3877 ("julia-chainrulescore" ,julia-chainrulescore)
3878 ("julia-docstringextensions" ,julia-docstringextensions)
3879 ("julia-recipesbase" ,julia-recipesbase)
3880 ("julia-requires" ,julia-requires)
3881 ("julia-staticarrays" ,julia-staticarrays)
3882 ("julia-zygoterules" ,julia-zygoterules)))
3883 ;(native-inputs
3884 ; `(("julia-forwarddiff" ,julia-forwarddiff)
3885 ; ("julia-nlsolve" ,julia-nlsolve)
3886 ; ("julia-ordinarydiffeq" ,julia-ordinarydiffeq)
3887 ; ("julia-structarrays" ,julia-structarrays)
3888 ; ("julia-zygote" ,julia-zygote)))
3889 (home-page "https://github.com/SciML/RecursiveArrayTools.jl")
3890 (synopsis "Tools for handling objects like arrays of arrays and deeper nestings")
3891 (description "@code{RecursiveArrayTools.jl} is a set of tools for dealing with
3892 recursive arrays like arrays of arrays.")
3893 (license license:expat)))
3894
3895 (define-public julia-reexport
3896 (package
3897 (name "julia-reexport")
3898 (version "1.2.2")
3899 (source
3900 (origin
3901 (method git-fetch)
3902 (uri (git-reference
3903 (url "https://github.com/simonster/Reexport.jl")
3904 (commit (string-append "v" version))))
3905 (file-name (git-file-name name version))
3906 (sha256
3907 (base32 "0inf5q6f01ncd5c5wm8mwzv2hs627ng6xlh8dhrlflp321hbamwf"))))
3908 (build-system julia-build-system)
3909 (home-page "https://github.com/simonster/Reexport.jl")
3910 (synopsis "Re-export modules and symbols")
3911 (description "This package provides tools to re-export modules and symbols.")
3912 (license license:expat)))
3913
3914 (define-public julia-referencetests
3915 (package
3916 (name "julia-referencetests")
3917 (version "0.9.7")
3918 (source
3919 (origin
3920 (method git-fetch)
3921 (uri (git-reference
3922 (url "https://github.com/JuliaTesting/ReferenceTests.jl")
3923 (commit (string-append "v" version))))
3924 (file-name (git-file-name name version))
3925 (sha256
3926 (base32 "0mm6bjhs8a21pippww6b08b5frmnb9m6k8xrszrwq9zhc879zpc9"))))
3927 (build-system julia-build-system)
3928 (arguments
3929 `(#:tests? #f)) ; Cycle with ImageCore.jl through ImageMagick.jl.
3930 (propagated-inputs
3931 `(("julia-deepdiffs" ,julia-deepdiffs)
3932 ("julia-distances" ,julia-distances)
3933 ("julia-fileio" ,julia-fileio)
3934 ("julia-imagecore" ,julia-imagecore)
3935 ("julia-imageinterminal" ,julia-imageinterminal)))
3936 ;(native-inputs
3937 ; `(("julia-csvfiles" ,julia-csvfiles)
3938 ; ("julia-dataframes" ,julia-dataframes)
3939 ; ("julia-gr" ,julia-gr)
3940 ; ("julia-imagemagick" ,julia-imagemagick)
3941 ; ("julia-imagetransformations" ,julia-imagetransformations)
3942 ; ("julia-plots" ,julia-plots)
3943 ; ("julia-testimages" ,julia-testimages)))
3944 (home-page "https://juliatesting.github.io/ReferenceTests.jl/latest/")
3945 (synopsis "Utility package for comparing data against reference files")
3946 (description "@code{ReferenceTests.jl} is a Julia package that adds a couple
3947 of additional macros to your testing toolbox. In particular, it focuses on
3948 functionality for testing values against reference files, which in turn the
3949 package can help create and update if need be.")
3950 (license license:expat)))
3951
3952 (define-public julia-requires
3953 (package
3954 (name "julia-requires")
3955 (version "1.1.3")
3956 (source
3957 (origin
3958 (method git-fetch)
3959 (uri (git-reference
3960 (url "https://github.com/JuliaPackaging/Requires.jl/")
3961 (commit (string-append "v" version))))
3962 (file-name (git-file-name name version))
3963 (sha256
3964 (base32 "03hyfy7c0ma45b0y756j76awi3az2ii4bz4s8cxm3xw9yy1z7b01"))))
3965 (build-system julia-build-system)
3966 (inputs ;required for test
3967 `(("julia-example" ,julia-example)))
3968 (propagated-inputs
3969 `(("julia-colors" ,julia-colors)))
3970 (home-page "https://github.com/JuliaPackaging/Requires.jl/")
3971 (synopsis "Faster package loader")
3972 (description "This package make loading packages faster, maybe. It
3973 supports specifying glue code in packages which will load automatically when
3974 another package is loaded, so that explicit dependencies (and long load times)
3975 can be avoided.")
3976 (license license:expat)))
3977
3978 (define-public julia-reversediff
3979 (package
3980 (name "julia-reversediff")
3981 (version "1.9.0")
3982 (source
3983 (origin
3984 (method git-fetch)
3985 (uri (git-reference
3986 (url "https://github.com/JuliaDiff/ReverseDiff.jl")
3987 (commit (string-append "v" version))))
3988 (file-name (git-file-name name version))
3989 (sha256
3990 (base32 "1wrr6sqj2xl9grkvdp88rw3manxy9vbx28zq2wssya5ns1xabsnl"))))
3991 (build-system julia-build-system)
3992 (propagated-inputs
3993 `(("julia-diffresults" ,julia-diffresults)
3994 ("julia-diffrules" ,julia-diffrules)
3995 ("julia-forwarddiff" ,julia-forwarddiff)
3996 ("julia-functionwrappers" ,julia-functionwrappers)
3997 ("julia-macrotools" ,julia-macrotools)
3998 ("julia-nanmath" ,julia-nanmath)
3999 ("julia-specialfunctions" ,julia-specialfunctions)
4000 ("julia-staticarrays" ,julia-staticarrays)))
4001 (native-inputs
4002 `(("julia-difftests" ,julia-difftests)
4003 ("julia-fillarrays" ,julia-fillarrays)))
4004 (home-page "https://github.com/JuliaDiff/ReverseDiff.jl")
4005 (synopsis "Reverse Mode Automatic Differentiation for Julia")
4006 (description "@code{ReverseDiff.jl} is a fast and compile-able tape-based
4007 reverse mode @acronym{AD, automatic differentiation}, that implements methods to
4008 take gradients, Jacobians, Hessians, and higher-order derivatives of native
4009 Julia functions (or any callable object, really).")
4010 (license license:expat)))
4011
4012 (define-public julia-richardson
4013 (package
4014 (name "julia-richardson")
4015 (version "1.4.0")
4016 (source
4017 (origin
4018 (method git-fetch)
4019 (uri (git-reference
4020 (url "https://github.com/JuliaMath/Richardson.jl")
4021 (commit (string-append "v" version))))
4022 (file-name (git-file-name name version))
4023 (sha256
4024 (base32 "06v9ii3d7hh41fsrfklaa8ap55z5s017f888mrd1c18y4fx9i4nx"))))
4025 (build-system julia-build-system)
4026 (home-page "https://juliapackages.com/p/richardson")
4027 (synopsis "Extrapolate function using Richardson method")
4028 (description "This package provides a function extrapolate that
4029 extrapolates a given function @code{f(x)} to @code{f(x0)}, evaluating @code{f}
4030 only at a geometric sequence of points @code{> x0} (or optionally @code{<
4031 x0}). The key algorithm is Richardson extrapolation using a Neville–Aitken
4032 tableau, which adaptively increases the degree of an extrapolation polynomial
4033 until convergence is achieved to a desired tolerance (or convergence stalls
4034 due to e.g. floating-point errors). This allows one to obtain @code{f(x0)} to
4035 high-order accuracy, assuming that @code{f(x0+h)} has a Taylor series or some
4036 other power series in @code{h}.")
4037 (license license:expat)))
4038
4039 (define-public julia-rotations
4040 ;; This is the first commit with support for julia-1.6.
4041 (let ((commit "b599102535bc3534252c76f3fd4cf521f4741788")
4042 (revision "1"))
4043 (package
4044 (name "julia-rotations")
4045 (version (git-version "1.0.2" revision commit))
4046 (source
4047 (origin
4048 (method git-fetch)
4049 (uri (git-reference
4050 (url "https://github.com/JuliaGeometry/Rotations.jl")
4051 (commit commit)))
4052 (file-name (git-file-name name version))
4053 (sha256
4054 (base32 "01wwqbdmj61yiz7rkmams4xg7gb9hbmg325173846ky4b9x1wb19"))))
4055 (build-system julia-build-system)
4056 (propagated-inputs
4057 `(("julia-staticarrays" ,julia-staticarrays)))
4058 (native-inputs
4059 `(("julia-benchmarktools" ,julia-benchmarktools)
4060 ("julia-forwarddiff" ,julia-forwarddiff)
4061 ("julia-unitful" ,julia-unitful)))
4062 (home-page "https://github.com/JuliaGeometry/Rotations.jl")
4063 (synopsis "Julia implementations for different rotation parameterisations")
4064 (description "This package implements various 3D rotation parameterizations
4065 and defines conversions between them. At their heart, each rotation
4066 parameterization is a 3×3 unitary (orthogonal) matrix (based on the
4067 @code{StaticArrays.jl} package), and acts to rotate a 3-vector about the origin
4068 through matrix-vector multiplication.")
4069 (license license:expat))))
4070
4071 (define-public julia-safetestsets
4072 ;; The only release tag is the first commit in the repository.
4073 (let ((commit "e553edc4c753344d38349304b9ff5483c3b8ff21")
4074 (revision "1"))
4075 (package
4076 (name "julia-safetestsets")
4077 (version (git-version "0.0.1" revision commit))
4078 (source
4079 (origin
4080 (method git-fetch)
4081 (uri (git-reference
4082 (url "https://github.com/YingboMa/SafeTestsets.jl")
4083 (commit commit)))
4084 (file-name (git-file-name name version))
4085 (sha256
4086 (base32 "1fb1dfdmiw2ggx60hf70954xlps0r48fcb3k3dvxynlz7ylphp96"))))
4087 (build-system julia-build-system)
4088 (arguments
4089 `(#:julia-package-name "SafeTestsets"
4090 #:julia-package-uuid "1bc83da4-3b8d-516f-aca4-4fe02f6d838f"))
4091 (native-inputs
4092 `(("julia-staticarrays" ,julia-staticarrays)))
4093 (home-page "https://github.com/YingboMa/SafeTestsets.jl")
4094 (synopsis "Julia's testset in a module")
4095 (description "This package contains the testset from Julia, packaged into
4096 a loadable module.")
4097 (license license:expat))))
4098
4099 (define-public julia-sass
4100 (package
4101 (name "julia-sass")
4102 (version "0.2.0")
4103 (source
4104 (origin
4105 (method git-fetch)
4106 (uri (git-reference
4107 (url "https://github.com/piever/Sass.jl")
4108 (commit (string-append "v" version))))
4109 (file-name (git-file-name name version))
4110 (sha256
4111 (base32 "0y7kkkj717h5cj659ssry89i5r64symr6pvhr6vv4qmaxrnjxj92"))))
4112 (build-system julia-build-system)
4113 (propagated-inputs
4114 `(("julia-libsass-jll" ,julia-libsass-jll)))
4115 (home-page "https://github.com/piever/Sass.jl")
4116 (synopsis "Compile scss and sass file to css")
4117 (description "This package provides a simple Julian API to use the
4118 @code{libsass} library to compile scss and sass files to css.")
4119 (license license:expat)))
4120
4121 (define-public julia-scratch
4122 (package
4123 (name "julia-scratch")
4124 (version "1.1.0")
4125 (source
4126 (origin
4127 (method git-fetch)
4128 (uri (git-reference
4129 (url "https://github.com/JuliaPackaging/Scratch.jl")
4130 (commit (string-append "v" version))))
4131 (file-name (git-file-name name version))
4132 (sha256
4133 (base32
4134 "09xni9rrrax17fxjz04j1b48mk9ffww5rcbagh66jklr89mrkqhx"))))
4135 (build-system julia-build-system)
4136 (arguments
4137 `(#:tests? #f)) ; Test suite tries to access the Julia package registry.
4138 (home-page "https://github.com/JuliaPackaging/Scratch.jl")
4139 (synopsis "Scratch spaces for all your persistent mutable data needs")
4140 (description "This repository implements the scratch spaces API for
4141 package-specific mutable containers of data. These spaces can contain datasets,
4142 text, binaries, or any other kind of data that would be convenient to store in
4143 a location specific to your package. As compared to Artifacts, these containers
4144 of data are mutable. Because the scratch space location on disk is not very
4145 user-friendly, scratch spaces should, in general, not be used for a storing
4146 files that the user must interact with through a file browser.")
4147 (license license:expat)))
4148
4149 (define-public julia-showoff
4150 (package
4151 (name "julia-showoff")
4152 (version "1.0.2")
4153 (source
4154 (origin
4155 (method git-fetch)
4156 (uri (git-reference
4157 (url "https://github.com/JuliaGraphics/Showoff.jl")
4158 (commit (string-append "v" version))))
4159 (file-name (git-file-name name version))
4160 (sha256
4161 (base32 "1g4hqvjjpwbrs7fnllyl5w66yj6qlvpvzpygym2nvf01m1ps6m53"))))
4162 (build-system julia-build-system)
4163 (home-page "https://github.com/JuliaGraphics/Showoff.jl")
4164 (synopsis "Nicely format an array of n things for tables and plots")
4165 (description "@code{Showoff} provides an interface for consistently
4166 formatting an array of n things, e.g. numbers, dates, unitful values. It's used
4167 in @code{Gadfly}, @code{Plots} and @code{Makie} to label axes and keys.")
4168 (license license:expat)))
4169
4170 (define-public julia-simpletraits
4171 (package
4172 (name "julia-simpletraits")
4173 (version "0.9.4")
4174 (source
4175 (origin
4176 (method git-fetch)
4177 (uri (git-reference
4178 (url "https://github.com/mauro3/SimpleTraits.jl")
4179 (commit (string-append "v" version))))
4180 (file-name (git-file-name name version))
4181 (sha256
4182 (base32 "1qvmkqcvhc2nilvkk36szccxdlcv9ls2i0ksxgl2yfjr3b3qlr05"))))
4183 (build-system julia-build-system)
4184 (propagated-inputs
4185 `(("julia-macrotools" ,julia-macrotools)))
4186 (home-page "https://github.com/mauro3/SimpleTraits.jl")
4187 (synopsis "Simple Traits for Julia")
4188 (description "This package provides a macro-based implementation of traits.
4189 The main idea behind traits is to group types outside the type-hierarchy and to
4190 make dispatch work with that grouping. The difference to Union-types is that
4191 types can be added to a trait after the creation of the trait, whereas Union
4192 types are fixed after creation.")
4193 (license license:expat)))
4194
4195 (define-public julia-softglobalscope
4196 (package
4197 (name "julia-softglobalscope")
4198 (version "1.1.0")
4199 (source
4200 (origin
4201 (method git-fetch)
4202 (uri (git-reference
4203 (url "https://github.com/stevengj/SoftGlobalScope.jl")
4204 (commit (string-append "v" version))))
4205 (file-name (git-file-name name version))
4206 (sha256
4207 (base32 "1n3l0al1vw5jpb4k9a29a71666cdb617nmiqg34wcmyfzrxpvv39"))))
4208 (build-system julia-build-system)
4209 (home-page "https://github.com/stevengj/SoftGlobalScope.jl")
4210 (synopsis "Utilities for soft global scope in interactive Julia environments")
4211 (description
4212 "SoftGlobalScope is a package for the Julia language that simplifies the
4213 variable scoping rules for code in global scope. It is intended for interactive
4214 shells to make it easier to work interactively with Julia, especially for
4215 beginners.")
4216 (license license:expat)))
4217
4218 (define-public julia-sortingalgorithms
4219 (package
4220 (name "julia-sortingalgorithms")
4221 (version "1.0.1")
4222 (source
4223 (origin
4224 (method git-fetch)
4225 (uri (git-reference
4226 (url "https://github.com/JuliaCollections/SortingAlgorithms.jl")
4227 (commit (string-append "v" version))))
4228 (file-name (git-file-name name version))
4229 (sha256
4230 (base32 "173x77a80xnh99viqa3r7rgdaksvxaw8xyfqw09gwvp4p2zrxivb"))))
4231 (build-system julia-build-system)
4232 (arguments
4233 `(#:tests? #f)) ; cycle with StatsBase.jl
4234 (propagated-inputs
4235 `(("julia-datastructures" ,julia-datastructures)))
4236 ;(native-inputs
4237 ; `(("julia-statsbase" ,julia-statsbase)))
4238 (home-page "https://github.com/JuliaCollections/SortingAlgorithms.jl")
4239 (synopsis "Extra sorting algorithms extending Julia's sorting API")
4240 (description "The SortingAlgorithms package provides three sorting
4241 algorithms that can be used with Julia's standard sorting API: heapsort,
4242 timsort and radixsort.")
4243 (license license:expat)))
4244
4245 (define-public julia-specialfunctions
4246 (package
4247 (name "julia-specialfunctions")
4248 (version "1.6.0")
4249 (source
4250 (origin
4251 (method git-fetch)
4252 (uri (git-reference
4253 (url "https://github.com/JuliaMath/SpecialFunctions.jl")
4254 (commit (string-append "v" version))))
4255 (file-name (git-file-name name version))
4256 (sha256
4257 (base32 "0nfpnglx7zl9g20w2mgfkg17hcw9ri0shaq2rwplj0ij5pwz8yf0"))))
4258 (build-system julia-build-system)
4259 (inputs
4260 `(("julia-chainrulestestutils" ,julia-chainrulestestutils)))
4261 (propagated-inputs
4262 `(("julia-chainrulescore" ,julia-chainrulescore)
4263 ("julia-logexpfunctions" ,julia-logexpfunctions)
4264 ("julia-openspecfun-jll" ,julia-openspecfun-jll)))
4265 (home-page "https://github.com/JuliaMath/SpecialFunctions.jl")
4266 (synopsis "Special mathematical functions")
4267 (description "This package provides special mathematical functions,
4268 including Bessel, Hankel, Airy, error, Dawson, exponential (or sine and
4269 cosine) integrals, eta, zeta, digamma, inverse digamma, trigamma, and
4270 polygamma functions.")
4271 (license license:expat)))
4272
4273 (define-public julia-splitapplycombine
4274 (package
4275 (name "julia-splitapplycombine")
4276 (version "1.1.4")
4277 (source
4278 (origin
4279 (method git-fetch)
4280 (uri (git-reference
4281 (url "https://github.com/JuliaData/SplitApplyCombine.jl")
4282 (commit (string-append "v" version))))
4283 (file-name (git-file-name name version))
4284 (sha256
4285 (base32 "1qzaqvk57b0s5krzn8bxkzmr5kz6hi9dm3jbf2sl7z4vznsgbn9x"))))
4286 (build-system julia-build-system)
4287 (propagated-inputs
4288 `(("julia-dictionaries" ,julia-dictionaries)
4289 ("julia-indexing" ,julia-indexing)))
4290 (home-page "https://github.com/JuliaData/SplitApplyCombine.jl")
4291 (synopsis "Split-apply-combine strategies for Julia")
4292 (description "@code{SplitApplyCombine.jl} provides high-level, generic tools
4293 for manipulating data - particularly focussing on data in nested containers. An
4294 emphasis is placed on ensuring split-apply-combine strategies are easy to apply,
4295 and work reliably for arbitrary iterables and in an optimized way with the data
4296 structures included in Julia's standard library.")
4297 (license license:expat)))
4298
4299 (define-public julia-stablerngs
4300 (package
4301 (name "julia-stablerngs")
4302 (version "1.0.0")
4303 (source
4304 (origin
4305 (method git-fetch)
4306 (uri (git-reference
4307 (url "https://github.com/JuliaRandom/StableRNGs.jl")
4308 (commit (string-append "v" version))))
4309 (file-name (git-file-name name version))
4310 (sha256
4311 (base32 "1cw4wc38qbgmrrx0jjwjhynnarrzjkh0yyz242zj272brbci7p1r"))))
4312 (build-system julia-build-system)
4313 (home-page "https://github.com/JuliaRandom/StableRNGs.jl")
4314 (synopsis "Julia RNG with stable streams")
4315 (description "This package intends to provide a simple RNG with stable
4316 streams, suitable for tests in packages which need reproducible streams of
4317 random numbers across Julia versions. Indeed, the Julia RNGs provided by
4318 default are documented to have non-stable streams (which for example enables
4319 some performance improvements).")
4320 (license license:expat)))
4321
4322 (define-public julia-stackviews
4323 (package
4324 (name "julia-stackviews")
4325 (version "0.1.1")
4326 (source
4327 (origin
4328 (method git-fetch)
4329 (uri (git-reference
4330 (url "https://github.com/JuliaArrays/StackViews.jl")
4331 (commit (string-append "v" version))))
4332 (file-name (git-file-name name version))
4333 (sha256
4334 (base32 "1fwiaxdpx1z9dli3jr8kyraych0jbdiny3qklynf0r13px25r6i7"))))
4335 (build-system julia-build-system)
4336 (arguments
4337 `(#:phases
4338 (modify-phases %standard-phases
4339 (add-after 'link-depot 'skip-doctest
4340 (lambda _
4341 (substitute* "test/runtests.jl"
4342 ((".*doctest.*") ""))
4343 #t)))))
4344 (propagated-inputs
4345 `(("julia-offsetarrays" ,julia-offsetarrays)))
4346 (native-inputs
4347 `(("julia-aqua" ,julia-aqua)
4348 ("julia-documenter" ,julia-documenter)))
4349 (home-page "https://github.com/JuliaArrays/StackViews.jl")
4350 (synopsis "No more catcat")
4351 (description "StackViews provides only one array type: @code{StackView}.
4352 There are multiple ways to understand @code{StackView}:
4353 @itemize
4354 @item inverse of @code{eachslice}
4355 @item @code{cat} variant
4356 @item view object
4357 @item lazy version of @code{repeat} special case
4358 @end itemize")
4359 (license license:expat)))
4360
4361 (define-public julia-static
4362 (package
4363 (name "julia-static")
4364 (version "0.3.0")
4365 (source
4366 (origin
4367 (method git-fetch)
4368 (uri (git-reference
4369 (url "https://github.com/SciML/Static.jl")
4370 (commit (string-append "v" version))))
4371 (file-name (git-file-name name version))
4372 (sha256
4373 (base32 "19k7h47zhz3zz28i0l4b3cc0r07pzp8kf35z0yammpy361b644l2"))))
4374 (build-system julia-build-system)
4375 (propagated-inputs
4376 `(("julia-ifelse" ,julia-ifelse)))
4377 (native-inputs
4378 `(("julia-aqua" ,julia-aqua)))
4379 (home-page "https://github.com/SciML/Static.jl")
4380 (synopsis "Static types useful for dispatch and generated functions")
4381 (description "Static.jl defines a limited set of statically parameterized
4382 types and a common interface that is shared between them.")
4383 (license license:expat)))
4384
4385 (define-public julia-staticarrays
4386 (package
4387 (name "julia-staticarrays")
4388 (version "1.2.13")
4389 (source
4390 (origin
4391 (method git-fetch)
4392 (uri (git-reference
4393 (url "https://github.com/JuliaArrays/StaticArrays.jl")
4394 (commit (string-append "v" version))))
4395 (file-name (git-file-name name version))
4396 (sha256
4397 (base32 "041mijzgzm8r61a3gwspr2wcxjikqksvj2rbnl4gmcy41alqmx79"))))
4398 (build-system julia-build-system)
4399 (inputs
4400 `(("julia-benchmarktools" ,julia-benchmarktools)))
4401 (home-page "https://github.com/JuliaArrays/StaticArrays.jl")
4402 (synopsis "Statically sized arrays")
4403 (description "This package provides a framework for implementing
4404 statically sized arrays in Julia, using the abstract type
4405 @code{StaticArray{Size,T,N} <: AbstractArray{T,N}}. Subtypes of
4406 @code{StaticArray} will provide fast implementations of common array and
4407 linear algebra operations.")
4408 (license license:expat)))
4409
4410 (define-public julia-statsapi
4411 (package
4412 (name "julia-statsapi")
4413 (version "1.0.0")
4414 (source
4415 (origin
4416 (method git-fetch)
4417 (uri (git-reference
4418 (url "https://github.com/JuliaStats/StatsAPI.jl")
4419 (commit (string-append "v" version))))
4420 (file-name (git-file-name name version))
4421 (sha256
4422 (base32 "1k1c3s7i5wzkz4r9fyy4gd7wb97p0qgbc7bmaajm16zqipfmy2bv"))))
4423 (build-system julia-build-system)
4424 (home-page "https://juliastats.org/")
4425 (synopsis "Statistics-focused namespace for packages to share functions")
4426 (description "This package provides a namespace for data-related generic
4427 function definitions to solve the optional dependency problem; packages wishing
4428 to share and/or extend functions can avoid depending directly on each other by
4429 moving the function definition to @code{StatsAPI.jl} and each package taking a
4430 dependency on it.")
4431 (license license:expat)))
4432
4433 (define-public julia-statsbase
4434 (package
4435 (name "julia-statsbase")
4436 (version "0.33.8")
4437 (source
4438 (origin
4439 (method git-fetch)
4440 (uri (git-reference
4441 (url "https://github.com/JuliaStats/StatsBase.jl")
4442 (commit (string-append "v" version))))
4443 (file-name (git-file-name name version))
4444 (sha256
4445 (base32 "02y4pm5yvg713a2pn970bbcfkrn2h133rxbxk1da18svhqw3czhi"))))
4446 (build-system julia-build-system)
4447 (propagated-inputs
4448 `(("julia-dataapi" ,julia-dataapi)
4449 ("julia-datastructures" ,julia-datastructures)
4450 ("julia-missings" ,julia-missings)
4451 ("julia-sortingalgorithms" ,julia-sortingalgorithms)
4452 ("julia-statsapi" ,julia-statsapi)))
4453 (native-inputs
4454 `(("julia-stablerngs" ,julia-stablerngs)))
4455 (home-page "https://github.com/JuliaStats/StatsBase.jl")
4456 (synopsis "Basic statistics for Julia")
4457 (description "StatsBase.jl is a Julia package that provides basic support
4458 for statistics. Particularly, it implements a variety of statistics-related
4459 functions, such as scalar statistics, high-order moment computation, counting,
4460 ranking, covariances, sampling, and empirical density estimation.")
4461 (license license:expat)))
4462
4463 (define-public julia-stringdistances
4464 (package
4465 (name "julia-stringdistances")
4466 (version "0.10.0")
4467 (source
4468 (origin
4469 (method git-fetch)
4470 (uri (git-reference
4471 (url "https://github.com/matthieugomez/StringDistances.jl")
4472 (commit (string-append "v" version))))
4473 (file-name (git-file-name name version))
4474 (sha256
4475 (base32 "0n5707wplbibzhhv1xmshvc025d7xk6mnikclc3hvq5cdc0gy9f7"))))
4476 (build-system julia-build-system)
4477 (propagated-inputs
4478 `(("julia-distances" ,julia-distances)))
4479 (home-page "https://github.com/matthieugomez/StringDistances.jl")
4480 (synopsis "String Distances in Julia")
4481 (description "This package provides string distances in Julia. Distances
4482 are defined for @code{AbstractStrings}, and any iterator that define
4483 @code{length()}. The package also defines Distance \"modifiers\" that can be
4484 applied to any distance.")
4485 (license license:expat)))
4486
4487 (define-public julia-structarrays
4488 (package
4489 (name "julia-structarrays")
4490 (version "0.6.3")
4491 (source
4492 (origin
4493 (method git-fetch)
4494 (uri (git-reference
4495 (url "https://github.com/JuliaArrays/StructArrays.jl")
4496 (commit (string-append "v" version))))
4497 (file-name (git-file-name name version))
4498 (sha256
4499 (base32 "0rjcpyjwzg70n87q5r9c5i1qzigavncslxssm3rk5a3y549py56v"))))
4500 (build-system julia-build-system)
4501 (propagated-inputs
4502 `(("julia-dataapi" ,julia-dataapi)
4503 ("julia-staticarrays" ,julia-staticarrays)
4504 ("julia-tables" ,julia-tables)))
4505 (native-inputs
4506 `(("julia-documenter" ,julia-documenter)
4507 ("julia-offsetarrays" ,julia-offsetarrays)
4508 ("julia-pooledarrays" ,julia-pooledarrays)
4509 ("julia-typedtables" ,julia-typedtables)
4510 ("julia-weakrefstrings" ,julia-weakrefstrings)))
4511 (home-page "https://github.com/JuliaArrays/StructArrays.jl")
4512 (synopsis "Efficient implementation of struct arrays in Julia")
4513 (description "This package introduces the type @code{StructArray} which is
4514 an @code{AbstractArray} whose elements are @code{struct} (for example
4515 @code{NamedTuples}, or @code{ComplexF64}, or a custom user defined
4516 @code{struct}). While a @code{StructArray} iterates @code{structs}, the layout
4517 is column based (meaning each field of the @code{struct} is stored in a separate
4518 @code{Array}).")
4519 (license license:expat)))
4520
4521 (define-public julia-structtypes
4522 (package
4523 (name "julia-structtypes")
4524 (version "1.7.2")
4525 (source
4526 (origin
4527 (method git-fetch)
4528 (uri (git-reference
4529 (url "https://github.com/JuliaData/StructTypes.jl")
4530 (commit (string-append "v" version))))
4531 (file-name (git-file-name name version))
4532 (sha256
4533 (base32 "02mn4kkhn3927dk7945c9bjwlldihydxgn5ilmqqvs8dknvbw8p1"))))
4534 (build-system julia-build-system)
4535 (home-page "https://juliadata.github.io/StructTypes.jl/stable/")
4536 (synopsis "Abstract definitions and convenience methods for Julia objects")
4537 (description "This package provides the @code{StructTypes.StructType} trait
4538 for Julia types to declare the kind of \"struct\" they are, providing
4539 serialization/deserialization packages patterns and strategies to automatically
4540 construct objects.")
4541 (license license:expat)))
4542
4543 (define-public julia-suppressor
4544 (package
4545 (name "julia-suppressor")
4546 (version "0.2.0")
4547 (source
4548 (origin
4549 (method git-fetch)
4550 (uri (git-reference
4551 (url "https://github.com/JuliaIO/Suppressor.jl")
4552 (commit (string-append "v" version))))
4553 (file-name (git-file-name name version))
4554 (sha256
4555 (base32 "0v6pxvf8lzrqjc676snvlszh14ridl442g2h6syfjiy75pk7mdyc"))))
4556 (build-system julia-build-system)
4557 (home-page "https://github.com/JuliaIO/Suppressor.jl")
4558 (synopsis "Capture stdout and sterr")
4559 (description "Julia macros for suppressing and/or capturing output (stdout),
4560 warnings (stderr) or both streams at the same time.")
4561 (license license:expat)))
4562
4563 (define-public julia-tableiointerface
4564 (package
4565 (name "julia-tableiointerface")
4566 (version "0.1.6")
4567 (source
4568 (origin
4569 (method git-fetch)
4570 (uri (git-reference
4571 (url "https://github.com/lungben/TableIOInterface.jl")
4572 (commit (string-append "v" version))))
4573 (file-name (git-file-name name version))
4574 (sha256
4575 (base32 "0p2fi9jbyfg2j6rysv4if7dx8qw2mssb04i75j1zq607j8707kvn"))))
4576 (build-system julia-build-system)
4577 (home-page "https://github.com/lungben/TableIOInterface.jl")
4578 (synopsis "File formats based on file extensions")
4579 (description "This package determines tabular file formats based on file
4580 extensions. It is intended to be the base both for @code{TableIO.jl} and for
4581 the @code{Pluto.jl} tabular data import functionality.")
4582 (license license:expat)))
4583
4584 (define-public julia-tables
4585 (package
4586 (name "julia-tables")
4587 (version "1.4.4")
4588 (source
4589 (origin
4590 (method git-fetch)
4591 (uri (git-reference
4592 (url "https://github.com/JuliaData/Tables.jl")
4593 (commit (string-append "v" version))))
4594 (file-name (git-file-name name version))
4595 (sha256
4596 (base32 "1sqqagzqvav8b1rv5ywwbgy9ixvlmipq95fkwfwn0m8769i8jwzb"))))
4597 (build-system julia-build-system)
4598 (propagated-inputs
4599 `(("julia-dataapi" ,julia-dataapi)
4600 ("julia-datavalueinterfaces" ,julia-datavalueinterfaces)
4601 ("julia-iteratorinterfaceextensions" ,julia-iteratorinterfaceextensions)
4602 ("julia-tabletraits" ,julia-tabletraits)))
4603 (native-inputs
4604 `(("julia-datavalues" ,julia-datavalues)
4605 ("julia-queryoperators" ,julia-queryoperators)))
4606 (home-page "https://github.com/JuliaData/Tables.jl")
4607 (synopsis "Interface for tables in Julia")
4608 (description "The @code{Tables.jl} package provides simple, yet powerful
4609 interface functions for working with all kinds tabular data.")
4610 (license license:expat)))
4611
4612 (define-public julia-tableshowutils
4613 ;; The 0.2.5 release is not fully compatable with newer versions of Julia.
4614 (let ((commit "c4e02d8b9bbb31fc81ed6618955e9b1c7cb04460")
4615 (revision "1"))
4616 (package
4617 (name "julia-tableshowutils")
4618 (version "0.2.5")
4619 (source
4620 (origin
4621 (method git-fetch)
4622 (uri (git-reference
4623 (url "https://github.com/queryverse/TableShowUtils.jl")
4624 (commit commit)))
4625 (file-name (git-file-name name version))
4626 (sha256
4627 (base32 "0gp3hpj3jvzfhkp9r345vfic2j2n2s60729wv38hwn75csp74cg5"))))
4628 (build-system julia-build-system)
4629 (propagated-inputs
4630 `(("julia-datavalues" ,julia-datavalues)
4631 ("julia-json" ,julia-json)))
4632 (home-page "https://github.com/queryverse/TableShowUtils.jl")
4633 (synopsis "Implement show for TableTraits.jl types")
4634 (description "This package provides some common helper functions that make
4635 it easier to implement various @code{Base.show} functions for types that
4636 participate in the @code{TableTraits.jl} ecosystem.")
4637 (license license:expat))))
4638
4639 (define-public julia-tabletraits
4640 (package
4641 (name "julia-tabletraits")
4642 (version "1.0.1")
4643 (source
4644 (origin
4645 (method git-fetch)
4646 (uri (git-reference
4647 (url "https://github.com/queryverse/TableTraits.jl")
4648 (commit (string-append "v" version))))
4649 (file-name (git-file-name name version))
4650 (sha256
4651 (base32 "08ssb2630wm6j8f2qa985mn2vfibfm5kjcn4ayl2qkhfcyp8daw4"))))
4652 (build-system julia-build-system)
4653 (propagated-inputs
4654 `(("julia-iteratorinterfaceextensions" ,julia-iteratorinterfaceextensions)))
4655 (home-page "https://github.com/queryverse/TableTraits.jl")
4656 (synopsis "Traits for Julia tables")
4657 (description "TableTraits defines a generic interface for tabular data.")
4658 (license license:expat)))
4659
4660 (define-public julia-tensorcore
4661 (package
4662 (name "julia-tensorcore")
4663 (version "0.1.1")
4664 (source
4665 (origin
4666 (method git-fetch)
4667 (uri (git-reference
4668 (url "https://github.com/JuliaMath/TensorCore.jl")
4669 (commit (string-append "v" version))))
4670 (file-name (git-file-name name version))
4671 (sha256
4672 (base32 "1sy3in4a1rl3l2vk0cm9mzg2nkva7syhr7i35si0kbzhkdwpbqjy"))))
4673 (build-system julia-build-system)
4674 (home-page "https://github.com/JuliaMath/TensorCore.jl")
4675 (synopsis "Tensor-algebra definitions")
4676 (description "This package is intended as a lightweight foundation for
4677 tensor operations across the Julia ecosystem. Currently it exports three
4678 operations: @acronym{hadamard, elementwise multiplication}, @acronym{tensor,
4679 product preserves all dimensions}, and @acronym{boxdot, contracts neighboring
4680 dimensions}.")
4681 (license license:expat)))
4682
4683 (define-public julia-testimages
4684 (package
4685 (name "julia-testimages")
4686 (version "1.5.0")
4687 (source
4688 (origin
4689 (method git-fetch)
4690 (uri (git-reference
4691 (url "https://github.com/JuliaImages/TestImages.jl")
4692 (commit (string-append "v" version))))
4693 (file-name (git-file-name name version))
4694 (sha256
4695 (base32 "1lnfsmx33qspyvxw0cykwh7il8xykjpcw1080sisn95ngz2qhdmy"))))
4696 (build-system julia-build-system)
4697 (arguments
4698 `(#:tests? #f)) ; cycle with ImageMagick.jl
4699 (propagated-inputs
4700 `(("julia-axisarrays" ,julia-axisarrays)
4701 ("julia-colortypes" ,julia-colortypes)
4702 ("julia-fileio" ,julia-fileio)
4703 ("julia-offsetarrays" ,julia-offsetarrays)
4704 ("julia-stringdistances" ,julia-stringdistances)))
4705 ;(native-inputs
4706 ; `(("julia-colors" ,julia-colors)
4707 ; ("julia-fixedpointnumbers" ,julia-fixedpointnumbers)
4708 ; ("julia-imagecontrastadjustment" ,julia-imagecontrastadjustment)
4709 ; ("julia-imagemagick" ,julia-imagemagick)
4710 ; ("julia-ometiff" ,julia-ometiff)
4711 ; ("julia-referencetests" ,julia-referencetests)))
4712 (home-page "https://testimages.juliaimages.org/")
4713 (synopsis "Standard test images for Julia")
4714 (description "This package provides a convenient Julia interface for loading
4715 standard named test images and example images for the internal usage in
4716 @code{JuliaImages}. This can be used in conjunction with the @code{Images}
4717 package.")
4718 (license license:expat)))
4719
4720 (define-public julia-tracker
4721 (package
4722 (name "julia-tracker")
4723 (version "0.2.12")
4724 (source
4725 (origin
4726 (method git-fetch)
4727 (uri (git-reference
4728 (url "https://github.com/FluxML/Tracker.jl")
4729 (commit (string-append "v" version))))
4730 (file-name (git-file-name name version))
4731 (sha256
4732 (base32 "1s4mdywbp7nli7z985fqaj1rs4i6d92b1jx3lhg0qhk1s5wc0v8j"))
4733 (patches (search-patches "julia-tracker-16-compat.patch"))))
4734 (build-system julia-build-system)
4735 (propagated-inputs
4736 `(("julia-adapt" ,julia-adapt)
4737 ("julia-diffrules" ,julia-diffrules)
4738 ("julia-forwarddiff" ,julia-forwarddiff)
4739 ("julia-macrotools" ,julia-macrotools)
4740 ("julia-nanmath" ,julia-nanmath)
4741 ("julia-nnlib" ,julia-nnlib)
4742 ("julia-requires" ,julia-requires)
4743 ("julia-specialfunctions" ,julia-specialfunctions)))
4744 (native-inputs
4745 `(("julia-pdmats" ,julia-pdmats)))
4746 (home-page "https://github.com/FluxML/Tracker.jl")
4747 (synopsis "Operator overloading reverse-mode automatic differentiator")
4748 (description "@code{Tracker.jl} previously provided @code{Flux.jl} with
4749 automatic differentiation for its machine learning platform.")
4750 (license license:expat)))
4751
4752 (define-public julia-transcodingstreams
4753 (package
4754 (name "julia-transcodingstreams")
4755 (version "0.9.6")
4756 (source
4757 (origin
4758 (method git-fetch)
4759 (uri (git-reference
4760 (url "https://github.com/JuliaIO/TranscodingStreams.jl")
4761 (commit (string-append "v" version))))
4762 (file-name (git-file-name name version))
4763 (sha256
4764 (base32 "1w3klii293caqiclfh28jggv7f53xclm9fr6xmw38brwrn1hjb48"))))
4765 (build-system julia-build-system)
4766 (arguments
4767 `(#:tests? #f)) ; Circular dependency with various codecs.
4768 (home-page "https://github.com/JuliaIO/TranscodingStreams.jl")
4769 (synopsis "Fast I/O transcoding data streams")
4770 (description "This package provides tools for transcoding data streams
4771 which are:
4772 @itemize
4773 @item fast: small overhead and specialized methods
4774 @item consistent: basic I/O operations work as expected
4775 @item generic: support any I/O objects like files, buffers, pipes, etc.
4776 @item extensible: easy definition for new codec to transcode data
4777 @end itemize")
4778 (license license:expat)))
4779
4780 (define-public julia-typedtables
4781 (package
4782 (name "julia-typedtables")
4783 (version "1.4.0")
4784 (source
4785 (origin
4786 (method git-fetch)
4787 (uri (git-reference
4788 (url "https://github.com/JuliaData/TypedTables.jl")
4789 (commit (string-append "v" version))))
4790 (file-name (git-file-name name version))
4791 (sha256
4792 (base32 "0nk6zhqvl2r8yhjdhb59kxq0srd3vy4ysg4d8rszj9a43dnn3w3i"))))
4793 (build-system julia-build-system)
4794 (propagated-inputs
4795 `(("julia-adapt" ,julia-adapt)
4796 ("julia-splitapplycombine" ,julia-splitapplycombine)
4797 ("julia-tables" ,julia-tables)))
4798 (home-page "https://github.com/JuliaData/TypedTables.jl")
4799 (synopsis "Column-based storage for data analysis in Julia")
4800 (description "@code{TypedTables.jl} provides two column-based storage
4801 containers: @code{Table} and @code{FlexTable}, both of which represent an array
4802 of @code{NamedTuples}. This package is designed to be lightweight, easy-to-use
4803 and fast, and presents a very minimal new interface to learn.")
4804 (license license:expat)))
4805
4806 (define-public julia-unpack
4807 (package
4808 (name "julia-unpack")
4809 (version "1.0.2")
4810 (source
4811 (origin
4812 (method git-fetch)
4813 (uri (git-reference
4814 (url "https://github.com/mauro3/UnPack.jl")
4815 (commit (string-append "v" version))))
4816 (file-name (git-file-name name version))
4817 (sha256
4818 (base32 "066v1px72zidnvhl0rczhh07rcfwvli0jx5nprrgyi1dvj3mps2a"))))
4819 (build-system julia-build-system)
4820 (home-page "https://github.com/mauro3/UnPack.jl")
4821 (synopsis "Pack and Unpack macros for Julia")
4822 (description "The @code{@@unpack} and @code{@@pack!} macros work to unpack
4823 types, modules, and dictionaries.")
4824 (license license:expat)))
4825
4826 (define-public julia-uris
4827 (package
4828 (name "julia-uris")
4829 (version "1.3.0")
4830 (source
4831 (origin
4832 (method git-fetch)
4833 (uri (git-reference
4834 (url "https://github.com/JuliaWeb/URIs.jl")
4835 (commit (string-append "v" version))))
4836 (file-name (git-file-name name version))
4837 (sha256
4838 (base32 "0kp4hg3kknkm2smlcizqfd33l9x4vkahc2714gnbjp39fj285b92"))))
4839 (build-system julia-build-system)
4840 (arguments
4841 '(#:julia-package-name "URIs" ;required to run tests
4842 #:julia-package-uuid "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4"
4843 #:phases
4844 (modify-phases %standard-phases
4845 (add-before 'check 'change-dir
4846 ;; Tests must be run from the testdir
4847 (lambda* (#:key source outputs #:allow-other-keys)
4848 (let ((out (assoc-ref outputs "out")))
4849 (chdir
4850 (string-append out "/share/julia/loadpath/URIs/test")))
4851 #t)))))
4852 ;; required for tests
4853 (inputs `(("julia-json" ,julia-json)))
4854 (home-page "https://github.com/JuliaWeb/URIs.jl")
4855 (synopsis "URI parsing in Julia")
4856 (description "@code{URIs.jl} is a Julia package that allows parsing and
4857 working with @acronym{URIs,Uniform Resource Identifiers}, as defined in RFC
4858 3986.")
4859 (license license:expat)))
4860
4861 (define-public julia-unitful
4862 (package
4863 (name "julia-unitful")
4864 (version "1.9.0")
4865 (source
4866 (origin
4867 (method git-fetch)
4868 (uri (git-reference
4869 (url "https://github.com/PainterQubits/Unitful.jl")
4870 (commit (string-append "v" version))))
4871 (file-name (git-file-name name version))
4872 (sha256
4873 (base32 "10qwscd15dnmvx116dwvg99m7kmwgmj5ahdkq7psiq48lcc554gq"))))
4874 (build-system julia-build-system)
4875 (propagated-inputs
4876 `(("julia-constructionbase" ,julia-constructionbase)))
4877 (home-page "https://painterqubits.github.io/Unitful.jl/stable/")
4878 (synopsis "Physical units in Julia")
4879 (description "This package supports SI units and also many other unit
4880 system.")
4881 (license license:expat)))
4882
4883 (define-public julia-versionparsing
4884 (package
4885 (name "julia-versionparsing")
4886 (version "1.2.0")
4887 (source
4888 (origin
4889 (method git-fetch)
4890 (uri (git-reference
4891 (url "https://github.com/JuliaInterop/VersionParsing.jl")
4892 (commit (string-append "v" version))))
4893 (file-name (git-file-name name version))
4894 (sha256
4895 (base32 "060s72dsnpavgilf7f7315lw2sn4npk8lkndmj6bg7i23hppiwva"))))
4896 (build-system julia-build-system)
4897 (home-page "https://github.com/JuliaInterop/VersionParsing.jl")
4898 (synopsis "Flexible VersionNumber parsing in Julia")
4899 (description "The @code{VersionParsing} package implements flexible parsing
4900 of version-number strings into Julia's built-in @code{VersionNumber} type, via
4901 the @code{vparse(string)} function. Unlike the @code{VersionNumber(string)}
4902 constructor, @code{vparse(string)} can handle version-number strings in a much
4903 wider range of formats than are encompassed by the semver standard. This is
4904 useful in order to support @code{VersionNumber} comparisons applied to
4905 \"foreign\" version numbers from external packages.")
4906 (license license:expat)))
4907
4908 (define-public julia-weakrefstrings
4909 (package
4910 (name "julia-weakrefstrings")
4911 (version "1.1.0")
4912 (source
4913 (origin
4914 (method git-fetch)
4915 (uri (git-reference
4916 (url "https://github.com/JuliaData/WeakRefStrings.jl")
4917 (commit (string-append "v" version))))
4918 (file-name (git-file-name name version))
4919 (sha256
4920 (base32 "14h1vdnc3rx87w6v2rr59lgb4kai2hd1wzqpxhmzsi8karg2z219"))))
4921 (build-system julia-build-system)
4922 (propagated-inputs
4923 `(("julia-dataapi" ,julia-dataapi)
4924 ("julia-parsers" ,julia-parsers)))
4925 (home-page "https://github.com/JuliaData/WeakRefStrings.jl")
4926 (synopsis "Efficient string representation and transfer in Julia")
4927 (description "This package provides a minimal String type for Julia that
4928 allows for efficient string representation and transfer")
4929 (license license:expat)))
4930
4931 (define-public julia-woodburymatrices
4932 (package
4933 (name "julia-woodburymatrices")
4934 (version "0.5.3")
4935 (source
4936 (origin
4937 (method git-fetch)
4938 (uri (git-reference
4939 (url "https://github.com/timholy/WoodburyMatrices.jl")
4940 (commit (string-append "v" version))))
4941 (file-name (git-file-name name version))
4942 (sha256
4943 (base32 "04yykivi8zrbryxlmb0p5xa6lma8iq22r5s863117dnnqj5gaffd"))))
4944 (build-system julia-build-system)
4945 (home-page "https://github.com/timholy/WoodburyMatrices.jl")
4946 (synopsis "Support for the Woodbury matrix identity for Julia")
4947 (description "This package provides support for the Woodbury matrix identity
4948 for the Julia programming language. This is a generalization of the
4949 Sherman-Morrison formula. Note that the Woodbury matrix identity is notorious
4950 for floating-point roundoff errors, so be prepared for a certain amount of
4951 inaccuracy in the result.")
4952 (license license:expat)))
4953
4954 (define-public julia-zipfile
4955 (package
4956 (name "julia-zipfile")
4957 (version "0.9.3")
4958 (source
4959 (origin
4960 (method git-fetch)
4961 (uri (git-reference
4962 (url "https://github.com/fhs/ZipFile.jl")
4963 (commit (string-append "v" version))))
4964 (file-name (git-file-name name version))
4965 (sha256
4966 (base32
4967 "15bm3ki5mb9nvqs2byznrryq0bilnjcvsfy3k05hxhk9vapilw7k"))))
4968 (build-system julia-build-system)
4969 (propagated-inputs
4970 `(("julia-zlib-jll" ,julia-zlib-jll)))
4971 (home-page "https://github.com/fhs/ZipFile.jl")
4972 (synopsis "Read/Write ZIP archives in Julia")
4973 (description "This module provides support for reading and writing ZIP
4974 archives in Julia.")
4975 (license license:expat)))
4976
4977 (define-public julia-zygoterules
4978 (package
4979 (name "julia-zygoterules")
4980 (version "0.2.1")
4981 (source
4982 (origin
4983 (method git-fetch)
4984 (uri (git-reference
4985 (url "https://github.com/FluxML/ZygoteRules.jl")
4986 (commit (string-append "v" version))))
4987 (file-name (git-file-name name version))
4988 (sha256
4989 (base32 "07i2mf6rr5b8i6l82qgwl5arsb5pwyyzyfasgnszhdqllk9501bs"))))
4990 (build-system julia-build-system)
4991 (propagated-inputs
4992 `(("julia-macrotools" ,julia-macrotools)))
4993 (home-page "https://github.com/FluxML/ZygoteRules.jl")
4994 (synopsis "Add minimal custom gradients to Zygote")
4995 (description "Minimal package which enables to add custom gradients to
4996 Zygote, without depending on Zygote itself.")
4997 (license license:expat)))
4998
4999 (define-public julia-zygote
5000 (package
5001 (name "julia-zygote")
5002 (version "0.6.17")
5003 (source
5004 (origin
5005 (method git-fetch)
5006 (uri (git-reference
5007 (url "https://github.com/FluxML/Zygote.jl")
5008 (commit (string-append "v" version))))
5009 (file-name (git-file-name name version))
5010 (sha256
5011 (base32 "1cx66sp30s34ln6p0fpqk1ggjxfxg2gp8791zz3cl85dmk4dl14b"))))
5012 (build-system julia-build-system)
5013 (arguments
5014 `(#:tests? #f)) ;require CUDA, not packaged yet
5015 (propagated-inputs
5016 `(("julia-abstractffs" ,julia-abstractffts)
5017 ("julia-chainrules" ,julia-chainrules)
5018 ("julia-diffrules" ,julia-diffrules)
5019 ("julia-fillarrays" ,julia-fillarrays)
5020 ("julia-forwarddiff" ,julia-forwarddiff)
5021 ("julia-irtools" ,julia-irtools)
5022 ("julia-macrotools" ,julia-macrotools)
5023 ("julia-nanmath" ,julia-nanmath)
5024 ("julia-requires" ,julia-requires)
5025 ("julia-specialfunctions" ,julia-specialfunctions)
5026 ("julia-zygote-rules" ,julia-zygoterules)))
5027 (home-page "https://fluxml.ai/Zygote.jl")
5028 (synopsis "Automatic differentiation in Julia")
5029 (description "Zygote provides source-to-source automatic
5030 differentiation (AD) in Julia, and is the next-generation AD system for the
5031 Flux differentiable programming framework.")
5032 (license license:expat)))