gnu: Add julia-cfitsio.
[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, 2022 Simon Tournier <zimon.toutoune@gmail.com>
4 ;;; Copyright © 2021-2023 Efraim Flashner <efraim@flashner.co.il>
5 ;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
6 ;;; Copyright © 2021 jgart <jgart@dismail.de>
7 ;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
8 ;;;
9 ;;; This file is part of GNU Guix.
10 ;;;
11 ;;; GNU Guix is free software; you can redistribute it and/or modify it
12 ;;; under the terms of the GNU General Public License as published by
13 ;;; the Free Software Foundation; either version 3 of the License, or (at
14 ;;; your option) any later version.
15 ;;;
16 ;;; GNU Guix is distributed in the hope that it will be useful, but
17 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
18 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 ;;; GNU General Public License for more details.
20 ;;;
21 ;;; You should have received a copy of the GNU General Public License
22 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
23
24 (define-module (gnu packages julia-xyz)
25 #:use-module ((guix licenses) #:prefix license:)
26 #:use-module (gnu packages)
27 #:use-module (guix gexp)
28 #:use-module (guix utils)
29 #:use-module (guix packages)
30 #:use-module (guix git-download)
31 #:use-module (guix build-system julia)
32 #:use-module (gnu packages gcc)
33 #:use-module (gnu packages julia-jll)
34 #:use-module (gnu packages python)
35 #:use-module (gnu packages python-xyz)
36 #:use-module (gnu packages version-control))
37
38 (define-public julia-abstractffts
39 (package
40 (name "julia-abstractffts")
41 (version "1.0.1")
42 (source
43 (origin
44 (method git-fetch)
45 (uri (git-reference
46 (url "https://github.com/JuliaMath/AbstractFFTS.jl")
47 (commit (string-append "v" version))))
48 (file-name (git-file-name name version))
49 (sha256
50 (base32 "0083pwdyxjb04i330ir9pc8kmp4bwk59lx1jgc9qi05y8j7xzbp0"))))
51 (build-system julia-build-system)
52 (inputs ;required for tests
53 (list julia-unitful))
54 (home-page "https://github.com/JuliaGPU/Adapt.jl")
55 (synopsis "General framework for fast Fourier transforms (FFTs)")
56 (description "This package allows multiple FFT packages to co-exist with
57 the same underlying @code{fft(x)} and @code{plan_fft(x)} interface. It is
58 mainly not intended to be used directly. Instead, developers of packages that
59 implement FFTs (such as @code{FFTW.jl} or @code{FastTransforms.jl}) extend the
60 types/functions defined in AbstractFFTs.")
61 (license license:expat)))
62
63 (define-public julia-abstracttrees
64 (package
65 (name "julia-abstracttrees")
66 (version "0.4.3")
67 (source
68 (origin
69 (method git-fetch)
70 (uri (git-reference
71 (url "https://github.com/JuliaCollections/AbstractTrees.jl")
72 (commit (string-append "v" version))))
73 (file-name (git-file-name name version))
74 (sha256
75 (base32 "04g3b6j4nvxs36rcjm743gwhy0vv0d6pvgx771agjljx109bciyr"))))
76 (build-system julia-build-system)
77 (home-page "https://juliacollections.github.io/AbstractTrees.jl/stable/")
78 (synopsis "Abstract Julia interfaces for working with trees")
79 (description "This Julia package provides several utilities for working
80 with tree-like data structures. Most importantly, it defines the
81 @code{children} method that any package that contains such a data structure
82 may import and extend in order to take advantage of any generic tree algorithm
83 in this package.")
84 (license license:expat)))
85
86 (define-public julia-adapt
87 (package
88 (name "julia-adapt")
89 (version "3.3.1")
90 (source
91 (origin
92 (method git-fetch)
93 (uri (git-reference
94 (url "https://github.com/JuliaGPU/Adapt.jl")
95 (commit (string-append "v" version))))
96 (file-name (git-file-name name version))
97 (sha256
98 (base32 "009fj59fzhvfsyw35kakllsh36k3xlwyzq8qa5f5k598i3pq14i7"))))
99 (build-system julia-build-system)
100 (home-page "https://github.com/JuliaGPU/Adapt.jl")
101 (synopsis "Package providing the @code{adapt} function, similar to @code{convert}")
102 (description "This Julia package provides the @code{adapt(T, x)} function
103 acts like @code{convert(T, x)}, but without the restriction of returning a
104 @code{T}. This allows you to \"convert\" wrapper types like @code{Adjoint} to
105 be GPU compatible without throwing away the wrapper.")
106 (license license:expat)))
107
108 (define-public julia-ansicoloredprinters
109 (package
110 (name "julia-ansicoloredprinters")
111 (version "0.0.1")
112 (source
113 (origin
114 (method git-fetch)
115 (uri (git-reference
116 (url "https://github.com/JuliaDocs/ANSIColoredPrinters.jl")
117 (commit (string-append "v" version))))
118 (file-name (git-file-name name version))
119 (sha256
120 (base32 "0dp5agljr0g50s5gn0pr70wrz01ggck6pb40ay3l4szhswq7mqzf"))))
121 (build-system julia-build-system)
122 (home-page "https://github.com/JuliaDocs/ANSIColoredPrinters.jl")
123 (synopsis "ANSI escape code translator")
124 (description "@code{ANSIColoredPrinters.jl} converts a text qualified by
125 ANSI escape codes to another format.")
126 (license license:expat)))
127
128 (define-public julia-aqua
129 (package
130 (name "julia-aqua")
131 (version "0.5.5")
132 (source
133 (origin
134 (method git-fetch)
135 (uri (git-reference
136 (url "https://github.com/JuliaTesting/Aqua.jl")
137 (commit (string-append "v" version))))
138 (file-name (git-file-name name version))
139 (sha256
140 (base32 "12hng8czkgynsn1pshavma2wijypl6k05hhgivc3rqiyclfpi89z"))))
141 (build-system julia-build-system)
142 (arguments
143 (list #:parallel-tests? #f))
144 (home-page "https://github.com/JuliaTesting/Aqua.jl")
145 (synopsis "Automated quality assurance for Julia packages")
146 (description "@acronym{Aqua.jl, Auto QUality Assurance for Julia packages},
147 provides functions to run a few automatable checks for Julia packages.")
148 (license license:expat)))
149
150 (define-public julia-arrayinterface
151 (package
152 (name "julia-arrayinterface")
153 (version "5.0.8")
154 (source
155 (origin
156 (method git-fetch)
157 (uri (git-reference
158 (url "https://github.com/JuliaArrays/ArrayInterface.jl")
159 (commit (string-append "v" version))))
160 (file-name (git-file-name name version))
161 (sha256
162 (base32 "0b0h4ihc8sykd96rn16vpk5kfk0p1si5iim61cixk9x12ma8ia3h"))))
163 (build-system julia-build-system)
164 (arguments
165 ;; XXXX: Unexpected failures for i686, e.g.,
166 ;; Expression: @inferred(ArrayInterface.size(Rnr)) === (StaticInt(4),)
167 ;; Evaluated: (static(2),) === (static(4),)
168 ;; Disable as stopgap.
169 (list #:tests? (not (or (%current-target-system)
170 (target-x86-32?)))))
171 (propagated-inputs
172 (list julia-compat
173 julia-ifelse
174 julia-requires
175 julia-static-0.6))
176 (native-inputs
177 (list julia-aqua
178 julia-bandedmatrices
179 julia-blockbandedmatrices
180 julia-ifelse
181 julia-offsetarrays
182 julia-static-0.6
183 julia-staticarrays))
184 (home-page "https://github.com/JuliaArrays/ArrayInterface.jl")
185 (synopsis "Base array interface primitives")
186 (description "The purpose of this library is to solidify extensions to the
187 current @code{AbstractArray} interface, which are put to use in package
188 ecosystems like @code{DifferentialEquations.jl}. Since these libraries are
189 live, this package will serve as a staging ground for ideas before they are
190 merged into Base Julia. For this reason, no functionality is exported so that
191 if such functions are added and exported in a future Base Julia, there will be
192 no issues with the upgrade.")
193 (license license:expat)))
194
195 (define-public julia-arraylayouts
196 (package
197 (name "julia-arraylayouts")
198 (version "0.8.16")
199 (source
200 (origin
201 (method git-fetch)
202 (uri (git-reference
203 (url "https://github.com/JuliaMatrices/ArrayLayouts.jl")
204 (commit (string-append "v" version))))
205 (file-name (git-file-name name version))
206 (sha256
207 (base32 "1j11jid4scw9icrbr8g6myp17nabjzmf4f40cichb20lzf1agz8l"))))
208 (build-system julia-build-system)
209 (arguments
210 (list
211 #:phases
212 #~(modify-phases %standard-phases
213 (add-after 'unpack 'adjust-tests
214 (lambda _
215 (substitute* "test/test_layoutarray.jl"
216 (("@test all\\(B") "@test_broken all(B")))))))
217 (propagated-inputs
218 (list julia-fillarrays))
219 (native-inputs
220 (list julia-stablerngs))
221 (home-page "https://github.com/JuliaMatrices/ArrayLayouts.jl")
222 (synopsis "Array layouts and general fast linear algebra")
223 (description "This package implements a trait-based framework for describing
224 array layouts such as column major, row major, etc. that can be dispatched to
225 appropriate BLAS or optimised Julia linear algebra routines. This supports a
226 much wider class of matrix types than Julia's in-built @code{StridedArray}.")
227 (license license:expat)))
228
229 (define-public julia-automa
230 (package
231 (name "julia-automa")
232 (version "0.8.2")
233 (source
234 (origin
235 (method git-fetch)
236 (uri (git-reference
237 (url "https://github.com/BioJulia/Automa.jl")
238 (commit (string-append "v" version))))
239 (file-name (git-file-name name version))
240 (sha256
241 (base32 "0hmwvk3qw54p7f63a2dnzlmvkynfs62x9n8x952bcmczp35csgq0"))))
242 (build-system julia-build-system)
243 (propagated-inputs
244 (list julia-scanbyte
245 julia-transcodingstreams))
246 (home-page "https://github.com/BioJulia/Automa.jl")
247 (synopsis "Validation, parsing, and tokenizing based on state machine compiler")
248 (description "This package compiles regular expressions into Julia code,
249 which is then compiled into low-level machine code by the Julia compiler. The
250 package is designed to generate very efficient code to scan large text data,
251 which is often much faster than handcrafted code. @code{Automa.jl} can insert
252 arbitrary Julia code that will be executed in state transitions. This makes
253 it possible, for example, to extract substrings that match a part of a regular
254 expression.")
255 (license license:expat)))
256
257 (define-public julia-axisalgorithms
258 (package
259 (name "julia-axisalgorithms")
260 (version "1.0.0")
261 (source
262 (origin
263 (method git-fetch)
264 (uri (git-reference
265 (url "https://github.com/timholy/AxisAlgorithms.jl")
266 (commit (string-append "v" version))))
267 (file-name (git-file-name name version))
268 (sha256
269 (base32 "00x85lnfln7xkfnirpplzyi8r6q92nfqwya8il156bf7b1pa20gk"))))
270 (build-system julia-build-system)
271 (propagated-inputs
272 (list julia-woodburymatrices))
273 (home-page "https://github.com/timholy/AxisAlgorithms.jl")
274 (synopsis "Filtering and linear algebra routines for multidimensional arrays")
275 (description "@code{AxisAlgorithms} is a collection of filtering and linear
276 algebra algorithms for multidimensional arrays. For algorithms that would
277 typically apply along the columns of a matrix, you can instead pick an arbitrary
278 axis (dimension).")
279 (license license:expat)))
280
281 (define-public julia-axisarrays
282 (package
283 (name "julia-axisarrays")
284 (version "0.4.6")
285 (source
286 (origin
287 (method git-fetch)
288 (uri (git-reference
289 (url "https://github.com/JuliaArrays/AxisArrays.jl")
290 (commit (string-append "v" version))))
291 (file-name (git-file-name name version))
292 (sha256
293 (base32 "1bsd6y866ldfb4072hfm8fvc2k0vy72z2blcwfy2mpj8dlyskx3n"))))
294 (build-system julia-build-system)
295 (propagated-inputs
296 (list julia-rangearrays
297 julia-intervalsets
298 julia-itertools))
299 (native-inputs
300 (list julia-offsetarrays
301 julia-unitful))
302 (home-page "http://juliaarrays.github.io/AxisArrays.jl/latest/")
303 (synopsis "Arrays where each dimension can have a named axis with values")
304 (description "This package for the Julia language provides an array type
305 (the AxisArray) that knows about its dimension names and axis values. This
306 allows for indexing by name without incurring any runtime overhead. This
307 permits one to implement algorithms that are oblivious to the storage order of
308 the underlying arrays. AxisArrays can also be indexed by the values along their
309 axes, allowing column names or interval selections.")
310 (license license:expat)))
311
312 (define-public julia-bandedmatrices
313 (package
314 (name "julia-bandedmatrices")
315 (version "0.17.9")
316 (source
317 (origin
318 (method git-fetch)
319 (uri (git-reference
320 (url "https://github.com/JuliaMatrices/BandedMatrices.jl")
321 (commit (string-append "v" version))))
322 (file-name (git-file-name name version))
323 (sha256
324 (base32 "0nrcasjdpwf15z7l2lzyhxjqxlnqk5if78s15sh4gdgxf9kzj3a6"))))
325 (build-system julia-build-system)
326 (propagated-inputs
327 (list julia-aqua
328 julia-arraylayouts
329 julia-fillarrays))
330 (native-inputs
331 (list julia-aqua
332 julia-genericlinearalgebra))
333 (home-page "https://github.com/JuliaMatrices/BandedMatrices.jl")
334 (synopsis "Julia package for representing banded matrices")
335 (description "This package supports representing banded matrices by only
336 the entries on the bands.")
337 (license license:expat)))
338
339 (define-public julia-benchmarktools
340 (package
341 (name "julia-benchmarktools")
342 (version "1.3.2")
343 (source
344 (origin
345 (method git-fetch)
346 (uri (git-reference
347 (url "https://github.com/JuliaCI/BenchmarkTools.jl")
348 (commit (string-append "v" version))))
349 (file-name (git-file-name name version))
350 (sha256
351 (base32 "02n2pi71jvhsnc25a888i6imimd2c1phg6iyr73b12595lrz175d"))))
352 (build-system julia-build-system)
353 (arguments
354 (list
355 #:phases
356 (if (target-x86-32?)
357 #~(modify-phases %standard-phases
358 (add-after 'unpack 'remove-failing-tests-i686
359 (lambda _
360 (substitute* "test/GroupsTests.jl"
361 (("@test sprint\\(show, g1\\)")
362 "@test_broken sprint(show, g1)")
363 (("@test sprint\\(show, g1; context = :boundto => 1\\)")
364 "@test_broken sprint(show, g1; context = :boundto => 1)")
365 (("@test sprint\\(show, g1; context = :limit => false\\)")
366 "@test_broken sprint(show, g1; context = :limit => false)")
367 (("@test @test_deprecated") "@test_broken"))
368 (substitute* "test/ExecutionTests.jl"
369 ;; Evaluated: 12 == 8
370 (("@test @ballocated\\(Ref\\(1\\)\\)")
371 "@test_broken @ballocated(Ref(1))")))))
372 #~%standard-phases)))
373 (propagated-inputs
374 (list julia-json))
375 (home-page "https://github.com/JuliaCI/BenchmarkTools.jl")
376 (synopsis "Benchmarking framework for the Julia language")
377 (description "@code{BenchmarkTools.jl} makes performance tracking of Julia
378 code easy by supplying a framework for writing and running groups of
379 benchmarks as well as comparing benchmark results.")
380 (license license:expat)))
381
382 (define-public julia-bfloat16s
383 (package
384 (name "julia-bfloat16s")
385 (version "0.4.0")
386 (source
387 (origin
388 (method git-fetch)
389 (uri (git-reference
390 (url "https://github.com/JuliaMath/BFloat16s.jl")
391 (commit (string-append "v" version))))
392 (file-name (git-file-name name version))
393 (sha256
394 (base32 "12d5dv5jy8vphczlbnks0qa6wmlz0czxq7gc48bcb94f9qvq0r1n"))))
395 (build-system julia-build-system)
396 (home-page "https://github.com/JuliaMath/BFloat16s.jl")
397 (synopsis "Define BFloat16 data type")
398 (description "This package defines the @code{BFloat16} data type. The
399 only currently available hardware implementation of this datatype are Google's
400 Cloud TPUs. As such, this package is suitable to evaluate whether using TPUs
401 would cause precision problems for any particular algorithm, even without
402 access to TPU hardware. Note that this package is designed for functionality,
403 not performance, so this package should be used for precision experiments
404 only, not performance experiments.")
405 (license license:expat)))
406
407 (define-public julia-bioalignments
408 (package
409 (name "julia-bioalignments")
410 (version "2.0.0")
411 (source
412 (origin
413 (method git-fetch)
414 (uri (git-reference
415 (url "https://github.com/BioJulia/BioAlignments.jl")
416 (commit (string-append "v" version))))
417 (file-name (git-file-name name version))
418 (sha256
419 (base32 "1wf6qgsada59r2fykxfj9hcr635wl8maqxbd3w8qpa01k9glxa0k"))))
420 (build-system julia-build-system)
421 (arguments
422 (list
423 #:phases
424 #~(modify-phases %standard-phases
425 (add-after 'unpack 'skip-test
426 (lambda _
427 ;; Test fails because an unexpected type representation from
428 ;; BioSequences. The aligned value is correct though.
429 (substitute* "test/runtests.jl"
430 (("@test sprint\\(show, aln\\)")
431 "@test_broken sprint(show, aln)")))))))
432 (propagated-inputs
433 (list julia-biogenerics
434 julia-biosequences
435 julia-biosymbols
436 julia-intervaltrees))
437 (home-page "https://github.com/BioJulia/BioAlignments.jl")
438 (synopsis "Sequence alignment algorithm and data structures")
439 (description "This package provides alignment algorithms and data
440 structures for sequence of DNA, RNA, and amino acid sequences.")
441 (license license:expat)))
442
443 (define-public julia-biogenerics
444 ;; No upstream release
445 (let ((commit "a75abaf459250e2b5e22b4d9adf25fd36d2acab6")
446 (revision "1"))
447 (package
448 (name "julia-biogenerics")
449 (version (git-version "0.0.0" revision commit))
450 (source
451 (origin
452 (method git-fetch)
453 (uri (git-reference
454 (url "https://github.com/BioJulia/BioGenerics.jl")
455 (commit commit)))
456 (file-name (git-file-name name version))
457 (sha256
458 (base32 "17d222vi9nssjwr5l349fss7jnglnjimp1z62kmfmxa4fsn8lk8l"))))
459 (build-system julia-build-system)
460 (inputs
461 (list julia-transcodingstreams))
462 (home-page "https://github.com/BioJulia/BioGenerics.jl")
463 (synopsis "Generic methods used by BioJulia packages")
464 (description "This package provides generic methods and modules used in
465 many of the other BioJulia packages. This package defines IO, exceptions, and
466 other types or methods used by other BioJulia packages.")
467 (license license:expat))))
468
469 (define-public julia-biosequences
470 (package
471 (name "julia-biosequences")
472 (version "2.0.5")
473 (source
474 (origin
475 (method git-fetch)
476 (uri (git-reference
477 (url "https://github.com/BioJulia/BioSequences.jl")
478 (commit (string-append "v" version))))
479 (file-name (git-file-name name version))
480 (sha256
481 (base32 "0ns6zk0zvnsf4hlsys9ck2xrn20qck0b0aghh484vc6n458zq2gw"))))
482 (build-system julia-build-system)
483 (propagated-inputs
484 (list julia-biogenerics
485 julia-biosymbols
486 julia-combinatorics
487 julia-indexablebitvectors
488 julia-stablerngs
489 julia-twiddle))
490 (native-inputs
491 (list julia-statsbase
492 julia-yaml))
493 (home-page "https://biojulia.net/BioSequences.jl/stable/")
494 (synopsis "Data types and methods for common operations with biological sequences")
495 (description "This package provides Data types and methods for common
496 operations with biological sequences, including DNA, RNA, and amino acid
497 sequences.")
498 (license license:expat)))
499
500 (define-public julia-biosymbols
501 (package
502 (name "julia-biosymbols")
503 ;; Older release for compatibility with julia-biosequences.
504 (version "4.0.4")
505 (source
506 (origin
507 (method git-fetch)
508 (uri (git-reference
509 (url "https://github.com/BioJulia/BioSymbols.jl")
510 (commit (string-append "v" version))))
511 (file-name (git-file-name name version))
512 (sha256
513 (base32 "1222rwdndi777lai8a6dwrh35i5rgmj75kcrhn8si72sxgz0syjm"))))
514 (build-system julia-build-system)
515 (arguments
516 (list
517 #:phases
518 #~(modify-phases %standard-phases
519 (add-after 'unpack 'adjust-tests
520 (lambda _
521 (substitute* "test/runtests.jl"
522 (("\\@testset \\\"Range.*" all)
523 (string-append all " return\n"))))))))
524 (propagated-inputs
525 (list julia-automa))
526 (home-page "https://github.com/BioJulia/BioSymbols.jl")
527 (synopsis "Primitive types for nucleic acids and amino acids")
528 (description "This package defines the primitive types for nucleic acids
529 and amino acids that are used ny otherBioJulia packages.")
530 (license license:expat)))
531
532 (define-public julia-blockarrays
533 (package
534 (name "julia-blockarrays")
535 (version "0.16.23")
536 (source
537 (origin
538 (method git-fetch)
539 (uri (git-reference
540 (url "https://github.com/JuliaArrays/BlockArrays.jl")
541 (commit (string-append "v" version))))
542 (file-name (git-file-name name version))
543 (sha256
544 (base32 "14gby25ixbp9ha0y2aj4gnjkzha4c7v4y3sicicgbkysnq921qd0"))))
545 (build-system julia-build-system)
546 (arguments
547 (list
548 #:phases
549 (if (target-64bit?)
550 #~%standard-phases
551 #~(modify-phases %standard-phases
552 (add-after 'unpack 'fix-tests-int32-i686
553 (lambda _
554 (substitute* "test/test_blockarrays.jl"
555 (("Int64") "Int32"))))))))
556 (propagated-inputs
557 (list julia-arraylayouts
558 julia-fillarrays))
559 (native-inputs
560 (list julia-aqua
561 julia-offsetarrays
562 julia-staticarrays))
563 (home-page "https://github.com/JuliaArrays/BlockArrays.jl")
564 (synopsis "BlockArrays for Julia")
565 (description "A block array is a partition of an array into blocks or
566 subarrays. This package has two purposes. Firstly, it defines an interface for
567 an @code{AbstractBlockArray} block arrays that can be shared among types
568 representing different types of block arrays. The advantage to this is that it
569 provides a consistent API for block arrays.
570 Secondly, it also implements two different type of block arrays that follow the
571 @code{AbstractBlockArray} interface. The type @code{BlockArray} stores each
572 block contiguously while the type @code{PseudoBlockArray} stores the full matrix
573 contiguously. This means that @code{BlockArray} supports fast non copying
574 extraction and insertion of blocks while @code{PseudoBlockArray} supports fast
575 access to the full matrix to use in in for example a linear solver.")
576 (license license:expat)))
577
578 (define-public julia-blockbandedmatrices
579 (package
580 (name "julia-blockbandedmatrices")
581 (version "0.11.9")
582 (source
583 (origin
584 (method git-fetch)
585 (uri (git-reference
586 (url "https://github.com/JuliaMatrices/BlockBandedMatrices.jl")
587 (commit (string-append "v" version))))
588 (file-name (git-file-name name version))
589 (sha256
590 (base32 "1qag5awl8cmsyhpajv6llhpqbzxfii1bacppbjvmb1fqs9s0lifd"))))
591 (build-system julia-build-system)
592 (propagated-inputs
593 (list julia-arraylayouts
594 julia-bandedmatrices
595 julia-blockarrays
596 julia-fillarrays
597 julia-matrixfactorizations))
598 (home-page "https://github.com/JuliaMatrices/BlockBandedMatrices.jl")
599 (synopsis "Block-banded matrices and banded-block-banded matrices")
600 (description "This package supports representing block-banded and
601 banded-block-banded matrices by only storing the entries in the non-zero bands.
602 A @code{BlockBandedMatrix} is a subtype of @code{BlockMatrix} of
603 @code{BlockArrays.jl} whose layout of non-zero blocks is banded.")
604 (license license:expat)))
605
606 (define-public julia-bson
607 (package
608 (name "julia-bson")
609 (version "0.3.6")
610 (source
611 (origin
612 (method git-fetch)
613 (uri (git-reference
614 (url "https://github.com/JuliaIO/BSON.jl")
615 (commit (string-append "v" version))))
616 (file-name (git-file-name name version))
617 (sha256
618 (base32 "1accra3casg66fhn5r07hz3rgs7qf9ld9ajnz8f80aid85zyp891"))))
619 (build-system julia-build-system)
620 (native-inputs
621 (list julia-dataframes))
622 (home-page "https://github.com/JuliaIO/BSON.jl")
623 (synopsis "Binary JSON serialisation format")
624 (description "@code{BSON.jl} is a Julia package for working with the Binary
625 JSON serialisation format. It can be used as a general store for Julia data
626 structures.")
627 (license license:expat)))
628
629 (define-public julia-bufferedstreams
630 (package
631 (name "julia-bufferedstreams")
632 (version "1.0.0")
633 (source
634 (origin
635 (method git-fetch)
636 (uri (git-reference
637 (url "https://github.com/BioJulia/BufferedStreams.jl")
638 (commit (string-append "v" version))))
639 (file-name (git-file-name name version))
640 (sha256
641 (base32 "0sf4sxbq55mg2pwxyxf0c839z1lk0yxg8nmb7617bfbvw31cp88z"))))
642 (build-system julia-build-system)
643 ;; The package is old and tests are using undefined functions. They also
644 ;; freeze, see
645 ;; https://travis-ci.org/BioJulia/BufferedStreams.jl/jobs/491050182
646 (arguments
647 (list
648 #:tests? #f
649 #:julia-package-name "BufferedStreams"
650 #:julia-package-uuid "e1450e63-4bb3-523b-b2a4-4ffa8c0fd77d"))
651 (propagated-inputs
652 (list julia-compat))
653 (home-page "https://github.com/BioJulia/BufferedStreams.jl")
654 (synopsis "Fast composable IO streams")
655 (description "@code{BufferedStreams.jl} provides buffering for IO
656 operations. It can wrap any @code{IO} type automatically making incremental
657 reading and writing faster.")
658 (license license:expat)))
659
660 (define-public julia-calculus
661 (package
662 (name "julia-calculus")
663 (version "0.5.1")
664 (source
665 (origin
666 (method git-fetch)
667 (uri (git-reference
668 (url "https://github.com/JuliaMath/Calculus.jl")
669 (commit (string-append "v" version))))
670 (file-name (git-file-name name version))
671 (sha256
672 (base32 "0xh0ak2ycsjw2h86ja24ch3kn2d18zx3frrds78aimwdnqb1gdc2"))))
673 (build-system julia-build-system)
674 (home-page "https://github.com/JuliaMath/Calculus.jl")
675 (synopsis "Common utilities for automatic differentiation")
676 (description "This package provides tools for working with the basic
677 calculus operations of differentiation and integration. The @code{Calculus}
678 package produces approximate derivatives by several forms of finite
679 differencing or produces exact derivative using symbolic differentiation. It
680 can also be used to compute definite integrals by different numerical
681 methods.")
682 (license license:expat)))
683
684 (define-public julia-categoricalarrays
685 (package
686 (name "julia-categoricalarrays")
687 (version "0.10.7")
688 (source
689 (origin
690 (method git-fetch)
691 (uri (git-reference
692 (url "https://github.com/JuliaData/CategoricalArrays.jl")
693 (commit (string-append "v" version))))
694 (file-name (git-file-name name version))
695 (sha256
696 (base32 "17fix7wlwqbif5jbcrbi0a0ghdl3429km3l6lqa962p7jf1gjd2d"))))
697 (build-system julia-build-system)
698 (arguments
699 (list
700 #:phases
701 #~(modify-phases %standard-phases
702 (add-after 'unpack 'adjust-tests
703 (lambda _
704 ;; Plots.jl isn't packaged yet.
705 (substitute* "test/runtests.jl"
706 ((".*13_arraycommon\\.jl.*") "")))))))
707 (native-inputs
708 (list julia-json
709 julia-json3
710 ;julia-plots
711 julia-pooledarrays
712 julia-recipesbase
713 julia-sentinelarrays
714 julia-structtypes))
715 (propagated-inputs
716 (list julia-dataapi
717 julia-json
718 julia-json3
719 julia-missings
720 julia-recipesbase
721 julia-requires
722 julia-sentinelarrays
723 julia-structtypes))
724 (home-page "https://github.com/JuliaData/CategoricalArrays.jl")
725 (synopsis "Arrays for working with categorical data")
726 (description "This package provides tools for working with categorical
727 variables, both with unordered (nominal variables) and ordered categories
728 (ordinal variables), optionally with missing values.")
729 (license license:expat)))
730
731 (define-public julia-cenum
732 (package
733 (name "julia-cenum")
734 (version "0.4.1")
735 (source
736 (origin
737 (method git-fetch)
738 (uri (git-reference
739 (url "https://github.com/JuliaInterop/CEnum.jl")
740 (commit (string-append "v" version))))
741 (file-name (git-file-name name version))
742 (sha256
743 (base32 "0h079mggvv420bw87j8s3hsgk7vavjgm4j1cvk0pnzrrh8ib1381"))))
744 (build-system julia-build-system)
745 (home-page "https://github.com/JuliaInterop/CEnum.jl")
746 (synopsis "C-compatible enum for Julia")
747 (description "This package provides a C-compatible enum for Julia.")
748 (license license:expat)))
749
750 (define-public julia-cfitsio
751 (package
752 (name "julia-cfitsio")
753 (version "1.4.1")
754 (source
755 (origin
756 (method git-fetch)
757 (uri (git-reference
758 (url "https://github.com/JuliaAstro/CFITSIO.jl")
759 (commit (string-append "v" version))))
760 (file-name (git-file-name name version))
761 (sha256
762 (base32 "05bxzzjcc021p3hi092h06r2q7qnvql0xz1alggi83i0pp1mxp6d"))))
763 (build-system julia-build-system)
764 (native-inputs (list julia-aqua))
765 (propagated-inputs (list julia-cfitsio-jll))
766 (home-page "https://github.com/JuliaAstro/CFITSIO.jl")
767 (synopsis "C-style interface to the libcfitsio library")
768 (description "This package provides Julia implementation of C-style
769 interface to CFITSIO functions with following features:
770 @itemize
771 @item Function names closely mirror the C interface (e.g.,
772 @code{fits_open_file()}).
773 @item Functions operate on @code{FITSFile}, a thin wrapper for fitsfile C
774 struct (@code{FITSFile} has concept of \"current HDU\", as in CFITSIO).
775 @item Wrapper functions do check the return status from CFITSIO and throw an
776 error with the appropriate message.
777 @end itemize")
778 (license license:expat)))
779
780 (define-public julia-chainrules
781 (package
782 (name "julia-chainrules")
783 (version "1.35.0")
784 (source
785 (origin
786 (method git-fetch)
787 (uri (git-reference
788 (url "https://github.com/JuliaDiff/ChainRules.jl")
789 (commit (string-append "v" version))))
790 (file-name (git-file-name name version))
791 (sha256
792 (base32 "17irgz3gamyrmzsjhq4s1n1sblvhkj10yg5y5y53yr631cl2fr6a"))))
793 (build-system julia-build-system)
794 (arguments
795 (list #:tests? #f)) ; JuliaInterpreter.jl not packaged yet.
796 ;(inputs ;required for test
797 ; (list julia-chainrulestestutils
798 ; julia-finitedifferences
799 ; julia-juliainterpreter))
800 (propagated-inputs
801 (list julia-chainrulescore
802 julia-compat
803 julia-irrationalconstants
804 julia-realdot))
805 (home-page "https://github.com/JuliaDiff/ChainRules.jl")
806 (synopsis "Common utilities for automatic differentiation")
807 (description "The is package provides a variety of common utilities that
808 can be used by downstream automatic differentiation (AD) tools to define and
809 execute forward-, reverse-, and mixed-mode primitives.")
810 (license license:expat)))
811
812 (define-public julia-chainrulescore
813 (package
814 (name "julia-chainrulescore")
815 (version "1.12.2")
816 (source
817 (origin
818 (method git-fetch)
819 (uri (git-reference
820 (url "https://github.com/JuliaDiff/ChainRulesCore.jl")
821 (commit (string-append "v" version))))
822 (file-name (git-file-name name version))
823 (sha256
824 (base32 "0lgfcsb7f6c7knhiz5dbqh8x47d370pn71y9ys2y6763g0b4pm61"))))
825 (build-system julia-build-system)
826 (arguments
827 (list
828 #:phases
829 #~(modify-phases %standard-phases
830 (add-after 'unpack 'adjust-tests
831 (lambda _
832 (substitute* "test/tangent_types/tangent.jl"
833 ;; This test is disabled after the release.
834 (("@test haskey.*Float.*") "")
835 (("@test (.*construct)" _ test)
836 (string-append "@test_broken " test))))))))
837 (inputs ;required for tests
838 (list julia-benchmarktools
839 julia-staticarrays))
840 (propagated-inputs
841 (list julia-compat))
842 (home-page "https://github.com/JuliaDiff/ChainRulesCore.jl")
843 (synopsis "Common utilities used by downstream automatic differentiation tools")
844 (description "The package provides a light-weight dependency for defining
845 sensitivities for functions without the need to depend on ChainRules itself.")
846 (license license:expat)))
847
848 (define-public julia-chainrulestestutils
849 (package
850 (name "julia-chainrulestestutils")
851 (version "1.5.1")
852 (source
853 (origin
854 (method git-fetch)
855 (uri (git-reference
856 (url "https://github.com/JuliaDiff/ChainRulesTestUtils.jl")
857 (commit (string-append "v" version))))
858 (file-name (git-file-name name version))
859 (sha256
860 (base32 "0vk7cpp049pjj7g5zqxr7djp5v0swhvhq3wvkxyw8m8xvqlnfncc"))))
861 (build-system julia-build-system)
862 (propagated-inputs
863 (list julia-chainrulescore
864 julia-compat
865 julia-finitedifferences))
866 (home-page "https://github.com/JuliaDiff/ChainRulesTestUtils.jl")
867 (synopsis "Common utilities used by downstream automatic differentiation tools")
868 (description "This package is designed to help in testing
869 @code{ChainRulesCore.frule} and @code{ChainRulesCore.rrule} methods. The main
870 entry points are @code{ChainRulesTestUtils.frule_test},
871 @code{ChainRulesTestUtils.rrule_test}, and
872 @code{ChainRulesTestUtils.test_scalar}. Currently this is done via testing the
873 rules against numerical differentiation (using @code{FiniteDifferences.jl}).
874
875 @code{ChainRulesTestUtils.jl} is separated from @code{ChainRulesCore.jl} so that it
876 can be a test-only dependency, allowing it to have potentially heavy
877 dependencies, while keeping @code{ChainRulesCore.jl} as light-weight as possible.")
878 (license license:expat)))
879
880 (define-public julia-changesofvariables
881 (package
882 (name "julia-changesofvariables")
883 (version "0.1.4")
884 (source
885 (origin
886 (method git-fetch)
887 (uri (git-reference
888 (url "https://github.com/JuliaMath/ChangesOfVariables.jl")
889 (commit (string-append "v" version))))
890 (file-name (git-file-name name version))
891 (sha256
892 (base32 "1migyhiqr1rq496302wlkb0s5l8zwqs97ajfkip0jzpvrk2s2xxy"))))
893 (build-system julia-build-system)
894 (arguments
895 ;; Pulls in ForwardDiff, would have a cyclical
896 ;; dependency with LogExpFunctions.
897 (list #:tests? #f))
898 (propagated-inputs
899 (list julia-chainrulescore))
900 (home-page "https://github.com/JuliaMath/ChangesOfVariables.jl")
901 (synopsis "Interface for transformation functions in Julia")
902 (description "This package defines functionality to calculate volume element
903 changes for functions that perform a change of variables (like coordinate
904 transformations).")
905 (license license:expat)))
906
907 (define-public julia-codeczlib
908 (package
909 (name "julia-codeczlib")
910 (version "0.7.0")
911 (source
912 (origin
913 (method git-fetch)
914 (uri (git-reference
915 (url "https://github.com/JuliaIO/CodecZlib.jl")
916 (commit (string-append "v" version))))
917 (file-name (git-file-name name version))
918 (sha256
919 (base32 "0xm603nylkwk4bzx66zv1g3syzrvn3jh9spdx7kvcvgszzyrrgh4"))))
920 (build-system julia-build-system)
921 (propagated-inputs
922 (list julia-transcodingstreams
923 julia-zlib-jll))
924 (home-page "https://github.com/JuliaIO/CodecZlib.jl")
925 (synopsis "Zlib codecs for @code{TranscodingStreams.jl}")
926 (description "This package provides zlib codecs for
927 @code{TranscodingStreams.jl}.")
928 (license license:expat)))
929
930 (define-public julia-colors
931 (package
932 (name "julia-colors")
933 (version "0.12.9")
934 (source
935 (origin
936 (method git-fetch)
937 (uri (git-reference
938 (url "https://github.com/JuliaGraphics/Colors.jl")
939 (commit (string-append "v" version))))
940 (file-name (git-file-name name version))
941 (sha256
942 (base32 "1g0fvvz09pfk6jxqrdplwkw1yywcqvwjd3ga24hblq71mah367n6"))))
943 (build-system julia-build-system)
944 (arguments
945 (list
946 #:phases
947 #~(modify-phases %standard-phases
948 (add-after 'unpack 'adjust-tests
949 (lambda _
950 (substitute* "test/runtests.jl"
951 ((".*detect_ambiguities.*") "")))))))
952 (propagated-inputs
953 (list julia-colortypes
954 julia-fixedpointnumbers
955 julia-reexport))
956 (native-inputs
957 (list julia-abstracttrees))
958 (home-page "https://github.com/JuliaGraphics/Colors.jl")
959 (synopsis "Tools for dealing with color")
960 (description "This package provides a wide array of functions for dealing
961 with color. This includes conversion between colorspaces, measuring distance
962 between colors, simulating color blindness, parsing colors, and generating
963 color scales for graphics.")
964 (license license:expat)))
965
966 (define-public julia-colorschemes
967 (package
968 (name "julia-colorschemes")
969 (version "3.15.0")
970 (source
971 (origin
972 (method git-fetch)
973 (uri (git-reference
974 (url "https://github.com/JuliaGraphics/ColorSchemes.jl")
975 (commit (string-append "v" version))))
976 (file-name (git-file-name name version))
977 (sha256
978 (base32 "0kpjhmqd5cj8dh8bmh9b5g6bscyp7h23hzpr2s93pnrp57q1wvhq"))))
979 (build-system julia-build-system)
980 (propagated-inputs
981 (list julia-colors
982 julia-colortypes
983 julia-fixedpointnumbers
984 julia-staticarrays))
985 (home-page "https://github.com/JuliaGraphics/ColorSchemes.jl")
986 (synopsis "Colorschemes, colormaps, gradients, and palettes")
987 (description "This package provides a collection of colorschemes.")
988 (license license:expat)))
989
990 (define-public julia-colortypes
991 (package
992 (name "julia-colortypes")
993 (version "0.11.1")
994 (source
995 (origin
996 (method git-fetch)
997 (uri (git-reference
998 (url "https://github.com/JuliaGraphics/ColorTypes.jl")
999 (commit (string-append "v" version))))
1000 (file-name (git-file-name name version))
1001 (sha256
1002 (base32 "0cp5wbi2bhnxp4h7wpzkx341d47744f4c9a8n0w0kn016qa16m86"))))
1003 (build-system julia-build-system)
1004 (arguments
1005 (list
1006 #:phases
1007 #~(modify-phases %standard-phases
1008 (add-after 'unpack 'skip-failing-test
1009 (lambda _
1010 (substitute* "test/conversions.jl"
1011 (("@test promote\\(RGB\\{N0f8")
1012 "@test_broken promote(RGB{N0f8")))))))
1013 (propagated-inputs
1014 (list julia-fixedpointnumbers))
1015 (native-inputs
1016 (list julia-documenter))
1017 (home-page "https://github.com/JuliaGraphics/ColorTypes.jl")
1018 (synopsis "Basic color types and constructor")
1019 (description "This minimalistic package serves as the foundation for
1020 working with colors in Julia. It defines basic color types and their
1021 constructors, and sets up traits and show methods to make them easier to work
1022 with.")
1023 (license license:expat)))
1024
1025 (define-public julia-colorvectorspace
1026 (package
1027 (name "julia-colorvectorspace")
1028 (version "0.9.9")
1029 (source
1030 (origin
1031 (method git-fetch)
1032 (uri (git-reference
1033 (url "https://github.com/JuliaGraphics/ColorVectorSpace.jl")
1034 (commit (string-append "v" version))))
1035 (file-name (git-file-name name version))
1036 (sha256
1037 (base32 "07scws2bn2z3f2crhnx1zxk3zk3vzfv9iz6lv3i9785nplmsgdx9"))))
1038 (build-system julia-build-system)
1039 (arguments
1040 (list
1041 #:tests? #f)) ; TODO: Reenable the test suite.
1042 (propagated-inputs
1043 (list julia-colortypes
1044 julia-fixedpointnumbers
1045 julia-specialfunctions
1046 julia-tensorcore))
1047 (native-inputs
1048 (list julia-colors))
1049 (home-page "https://github.com/JuliaGraphics/ColorVectorSpace.jl")
1050 (synopsis "Treat colors as n-vectors for the purposes of arithmetic")
1051 (description "This package is an add-on to @code{ColorTypes.jl} and provides
1052 fast mathematical operations for objects with types such as RGB and Gray.
1053 Specifically, with this package both grayscale and RGB colors are treated as if
1054 they are points in a normed vector space.")
1055 (license license:expat)))
1056
1057 (define-public julia-combinatorics
1058 (package
1059 (name "julia-combinatorics")
1060 (version "1.0.2")
1061 (source
1062 (origin
1063 (method git-fetch)
1064 (uri (git-reference
1065 (url "https://github.com/JuliaMath/Combinatorics.jl")
1066 (commit (string-append "v" version))))
1067 (file-name (git-file-name name version))
1068 (sha256
1069 (base32 "0gafqkqi874zfm9h99akw9q95lk3ih5gip2h8p12fj9h7rvyf4j5"))))
1070 (build-system julia-build-system)
1071 (home-page "https://github.com/JuliaMath/Combinatorics.jl")
1072 (synopsis "Combinatorics library for Julia")
1073 (description "This package provides a combinatorics library for Julia,
1074 focusing mostly (as of now) on enumerative combinatorics and permutations.")
1075 (license license:expat)))
1076
1077 (define-public julia-commonsubexpressions
1078 (package
1079 (name "julia-commonsubexpressions")
1080 (version "0.3.0")
1081 (source
1082 (origin
1083 (method git-fetch)
1084 (uri (git-reference
1085 (url "https://github.com/rdeits/CommonSubexpressions.jl")
1086 (commit (string-append "v" version))))
1087 (file-name (git-file-name name version))
1088 (sha256
1089 (base32 "0mgy90kk8ksv3l720kkk04gnhn4aqhh2dj4sp3x8yy3limngfjay"))))
1090 (build-system julia-build-system)
1091 (propagated-inputs
1092 (list julia-macrotools))
1093 (home-page "https://github.com/rdeits/CommonSubexpressions.jl")
1094 (synopsis "@code{@@cse} macro for Julia")
1095 (description "This package provides the @code{@@cse} macro, which performs
1096 common subexpression elimination.")
1097 (license license:expat)))
1098
1099 (define-public julia-compat
1100 (package
1101 (name "julia-compat")
1102 (version "3.39.0")
1103 (source
1104 (origin
1105 (method git-fetch)
1106 (uri (git-reference
1107 (url "https://github.com/JuliaLang/Compat.jl")
1108 (commit (string-append "v" version))))
1109 (file-name (git-file-name name version))
1110 (sha256
1111 (base32 "0qzvaqi5gqgc747fnajbvvf5vqbh6cwykwky00c7glvmvdsgk3z0"))))
1112 (build-system julia-build-system)
1113 (arguments
1114 (list
1115 #:phases
1116 #~(modify-phases %standard-phases
1117 (add-after 'unpack 'patch-shell-invocation
1118 (lambda* (#:key inputs #:allow-other-keys)
1119 (substitute* "test/runtests.jl"
1120 (("shcmd = `sh`") (string-append "shcmd = `" (which "sh") "`"))))))))
1121 (home-page "https://github.com/JuliaLang/Compat.jl")
1122 (synopsis "Compatibility across Julia versions")
1123 (description "The Compat package is designed to ease interoperability
1124 between older and newer versions of the Julia language. The Compat package
1125 provides a macro that lets you use the latest syntax in a backwards-compatible
1126 way.")
1127 (license license:expat)))
1128
1129 (define-public julia-configurations
1130 (package
1131 (name "julia-configurations")
1132 (version "0.16.4")
1133 (source
1134 (origin
1135 (method git-fetch)
1136 (uri (git-reference
1137 (url "https://github.com/Roger-luo/Configurations.jl")
1138 (commit (string-append "v" version))))
1139 (file-name (git-file-name name version))
1140 (sha256
1141 (base32 "1b23p0zk8dx2sf01cnw177mqci7qd81b9s32ixz9clsh0r0icl1b"))))
1142 (build-system julia-build-system)
1143 (arguments
1144 (list
1145 #:phases
1146 #~(modify-phases %standard-phases
1147 (add-after 'link-depot 'fix-tests
1148 (lambda _
1149 (substitute* "test/runtests.jl"
1150 (("option.toml") "test/option.toml"))))
1151 (add-after 'link-depot 'dont-use-exproniconlite
1152 (lambda _
1153 (substitute* '("Project.toml"
1154 "src/Configurations.jl"
1155 "test/runtests.jl")
1156 (("ExproniconLite") "Expronicon"))
1157 (substitute* "Project.toml"
1158 (("55351af7-c7e9-48d6-89ff-24e801d99491")
1159 "6b7a57c9-7cc1-4fdf-b7f5-e857abae3636"))))
1160 #$@(if (target-64bit?)
1161 '()
1162 '((add-after 'unpack 'fix-tests-int32-i686
1163 (lambda _
1164 (substitute* "test/runtests.jl"
1165 (("Int64") "Int32")))))))))
1166 (propagated-inputs
1167 (list julia-crayons
1168 julia-expronicon
1169 julia-orderedcollections))
1170 (home-page "https://configurations.rogerluo.dev/stable/")
1171 (synopsis "Tools for options and configurations in Julia")
1172 (description "@code{Configurations.jl} provides a macro @code{@@option} to
1173 let you define @code{structs} to represent options/configurations, and serialize
1174 between different option/configuration file formats such as @code{TOML}.")
1175 (license license:expat)))
1176
1177 (define-public julia-constructionbase
1178 (package
1179 (name "julia-constructionbase")
1180 (version "1.3.0")
1181 (source
1182 (origin
1183 (method git-fetch)
1184 (uri (git-reference
1185 (url "https://github.com/JuliaObjects/ConstructionBase.jl")
1186 (commit (string-append "v" version))))
1187 (file-name (git-file-name name version))
1188 (sha256
1189 (base32 "1jk3h446vkv4yaavgm1hf1az7cwhppvhklvr08s49hhg02cm750q"))))
1190 (build-system julia-build-system)
1191 (home-page "https://juliaobjects.github.io/ConstructionBase.jl/dev/")
1192 (synopsis "Primitive functions for construction of objects")
1193 (description "This very lightweight package provides primitive functions
1194 for construction of objects.")
1195 (license license:expat)))
1196
1197 (define-public julia-coordinatetransformations
1198 ;; Test suite fixed after the last release.
1199 (let ((commit "78f5a5cc8cf77f21407b4f175673fa4f6bf86633")
1200 (revision "1"))
1201 (package
1202 (name "julia-coordinatetransformations")
1203 (version (git-version "0.6.2" revision commit))
1204 (source
1205 (origin
1206 (method git-fetch)
1207 (uri (git-reference
1208 (url "https://github.com/JuliaGeometry/CoordinateTransformations.jl")
1209 (commit commit)))
1210 (file-name (git-file-name name version))
1211 (sha256
1212 (base32 "026g3b2m2z509jdlqvd46yhnhg8y6m00plr3k7cjlbzrfi2yjjn8"))))
1213 (build-system julia-build-system)
1214 (propagated-inputs
1215 (list julia-staticarrays))
1216 (native-inputs
1217 (list julia-documenter
1218 julia-forwarddiff
1219 julia-unitful))
1220 (home-page "https://github.com/JuliaGeometry/CoordinateTransformations.jl")
1221 (synopsis "Coordinate transformations in Julia")
1222 (description "@code{CoordinateTransformations} is a Julia package to manage
1223 simple or complex networks of coordinate system transformations.
1224 Transformations can be easily applied, inverted, composed, and differentiated
1225 (both with respect to the input coordinates and with respect to transformation
1226 parameters such as rotation angle). Transformations are designed to be
1227 light-weight and efficient enough for, e.g., real-time graphical applications,
1228 while support for both explicit and automatic differentiation makes it easy to
1229 perform optimization and therefore ideal for computer vision applications such
1230 as SLAM (simultaneous localization and mapping).")
1231 (license license:expat))))
1232
1233 (define-public julia-crayons
1234 (package
1235 (name "julia-crayons")
1236 (version "4.0.4")
1237 (source
1238 (origin
1239 (method git-fetch)
1240 (uri (git-reference
1241 (url "https://github.com/KristofferC/Crayons.jl")
1242 (commit (string-append "v" version))))
1243 (file-name (git-file-name name version))
1244 (sha256
1245 (base32 "0v3zhjlnb2914bxcj4myl8pgb7m31p77aj2k1bckmqs96jdph10z"))))
1246 (build-system julia-build-system)
1247 (home-page "https://github.com/KristofferC/Crayons.jl")
1248 (synopsis "Colored and styled strings for terminals")
1249 (description "Crayons is a package that makes it simple to write strings in
1250 different colors and styles to terminals. It supports the 16 system colors,
1251 both the 256 color and 24 bit true color extensions, and the different text
1252 styles available to terminals.")
1253 (license license:expat)))
1254
1255 (define-public julia-csv
1256 (package
1257 (name "julia-csv")
1258 (version "0.10.4")
1259 (source
1260 (origin
1261 (method git-fetch)
1262 (uri (git-reference
1263 (url "https://github.com/JuliaData/CSV.jl")
1264 (commit (string-append "v" version))))
1265 (file-name (git-file-name name version))
1266 (sha256
1267 (base32 "15kjh5wa6ravb10n9n9bsh7ggmarqmw8s57p35l4b3dqk9d8qafh"))))
1268 (build-system julia-build-system)
1269 (arguments
1270 (list #:phases
1271 #~(modify-phases %standard-phases
1272 (add-after 'unpack 'fix-reference-to-cat
1273 (lambda _
1274 (substitute* "test/basics.jl"
1275 ;; XXXX: Test fail to read using CVS.Chunk; raising:
1276 ;; ArgumentError: unable to iterate chunks from input file source
1277 ;; Disable and the two tests using it.
1278 (("chunks = CSV.Chunks") "# chunks = CSV.Chunks")
1279 (("@test sum\\(length, chunks\\) == 10000")
1280 "# @test sum(length, chunks) == 10000")
1281 (("@test Tables.partitions\\(chunks\\) === chunks")
1282 "# @test Tables.partitions(chunks) === chunks")))))))
1283 (propagated-inputs
1284 (list julia-codeczlib
1285 julia-filepathsbase
1286 julia-inlinestrings
1287 julia-parsers
1288 julia-pooledarrays
1289 julia-sentinelarrays
1290 julia-tables
1291 julia-weakrefstrings))
1292 (home-page "https://github.com/JuliaData/CSV.jl")
1293 (synopsis "Fast and flexible delimited-file reader/writer")
1294 (description "This package provides reader/writer for delimited text data,
1295 as comma-delimited (csv), tab-delimited (tsv), or otherwise.")
1296 (license license:expat)))
1297
1298 (define-public julia-dataapi
1299 (package
1300 (name "julia-dataapi")
1301 (version "1.13.0")
1302 (source
1303 (origin
1304 (method git-fetch)
1305 (uri (git-reference
1306 (url "https://github.com/JuliaData/DataAPI.jl")
1307 (commit (string-append "v" version))))
1308 (file-name (git-file-name name version))
1309 (sha256
1310 (base32 "1x5pdpjlbk29766ark7rmzjbl0rhxmsb1cp04lc891aknh30rn3i"))))
1311 (build-system julia-build-system)
1312 (home-page "https://github.com/JuliaData/DataAPI.jl")
1313 (synopsis "Data-focused namespace for packages to share functions")
1314 (description "This package provides a namespace for data-related generic
1315 function definitions to solve the optional dependency problem; packages wishing
1316 to share and/or extend functions can avoid depending directly on each other by
1317 moving the function definition to DataAPI.jl and each package taking a
1318 dependency on it.")
1319 (license license:expat)))
1320
1321 (define-public julia-dataframes
1322 (package
1323 (name "julia-dataframes")
1324 (version "1.3.6")
1325 (source
1326 (origin
1327 (method git-fetch)
1328 (uri (git-reference
1329 (url "https://github.com/JuliaData/DataFrames.jl")
1330 (commit (string-append "v" version))))
1331 (file-name (git-file-name name version))
1332 (sha256
1333 (base32 "01ybc1ckn5wi7kwp29g5ms4m3g650856z4xv71racbdr8475pmg5"))))
1334 (build-system julia-build-system)
1335 (arguments
1336 (list
1337 #:phases
1338 #~(modify-phases %standard-phases
1339 (add-after 'link-depot 'skip-failing-test
1340 (lambda _
1341 ;; Tests with non-standard colors.
1342 (substitute* "test/show.jl"
1343 (("test (sprint\\(show, df, context=:color=>true)" _ test)
1344 (string-append "test_nowarn " test)))
1345 (substitute* "test/io.jl"
1346 (("testset \\\"improved.*" all)
1347 (string-append all "return\n")))
1348 (substitute* "test/join.jl"
1349 (("test (levels\\(outerjoin\\(B)" _ test)
1350 (string-append "test_nowarn " test)))
1351 ;; Compat with julia-1.8, remove with next package update.
1352 (substitute* "test/indexing_offset.jl"
1353 (("@test_throws ErrorException")
1354 "@test_throws Base.CanonicalIndexError")))))))
1355 (propagated-inputs
1356 (list julia-categoricalarrays
1357 julia-compat
1358 julia-dataapi
1359 julia-invertedindices
1360 julia-iteratorinterfaceextensions
1361 julia-missings
1362 julia-pooledarrays
1363 julia-prettytables
1364 julia-reexport
1365 julia-shiftedarrays
1366 julia-sortingalgorithms
1367 julia-tables
1368 julia-tabletraits
1369 julia-unitful))
1370 (native-inputs
1371 (list julia-categoricalarrays
1372 julia-combinatorics
1373 julia-datastructures
1374 julia-datavalues
1375 julia-offsetarrays
1376 julia-shiftedarrays
1377 julia-unitful))
1378 (home-page "https://dataframes.juliadata.org/stable/")
1379 (synopsis "In-memory tabular data")
1380 (description "This package provides a set of tools for working with tabular
1381 data in Julia. Its design and functionality are similar to those of Pandas from
1382 Python or @code{data.frame}, @code{data.table} and @code{dplyr} from R, making
1383 it a great general purpose data science tool, especially for those coming to
1384 Julia from R or Python.")
1385 (license license:expat)))
1386
1387 (define-public julia-datastructures
1388 (package
1389 (name "julia-datastructures")
1390 (version "0.18.13")
1391 (source
1392 (origin
1393 (method git-fetch)
1394 (uri (git-reference
1395 (url "https://github.com/JuliaCollections/DataStructures.jl")
1396 (commit (string-append "v" version))))
1397 (file-name (git-file-name name version))
1398 (sha256
1399 (base32 "1ikrgc4d39980nrr77yzcnr1v74wrjh9xvyi2ajfzbcim58vrcqg"))))
1400 (propagated-inputs
1401 (list julia-compat
1402 julia-orderedcollections))
1403 (build-system julia-build-system)
1404 (arguments
1405 (list
1406 #:phases
1407 (if (target-x86-32?)
1408 #~(modify-phases %standard-phases
1409 (add-after 'unpack 'remove-failing-test-i686
1410 (lambda _
1411 ;; The evaluation returns the correct value,
1412 ;; Evaluated: "Accumulator(1 => 3, 3 => 4)"
1413 ;; but, for some reasons, is considered as failed.
1414 (substitute* "test/test_accumulator.jl"
1415 (("@test sprint\\(show,Accumulator\\(1 => 3, 3 => 4\\)\\)")
1416 "@test_broken sprint(show, Accumulator(1 => 3, 3 => 4))")))))
1417 #~%standard-phases)))
1418 (home-page "https://github.com/JuliaCollections/DataStructures.jl")
1419 (synopsis "Julia module providing different data structures")
1420 (description "This package implements a variety of data structures,
1421 including, @code{CircularBuffer}, @code{Queue}, @code{Stack},
1422 @code{Accumulators}, @code{LinkedLists}, @code{SortedDicts} and many others.")
1423 (license license:expat)))
1424
1425 (define-public julia-datavalueinterfaces
1426 (package
1427 (name "julia-datavalueinterfaces")
1428 (version "1.0.0")
1429 (source
1430 (origin
1431 (method git-fetch)
1432 (uri (git-reference
1433 (url "https://github.com/queryverse/DataValueInterfaces.jl")
1434 (commit (string-append "v" version))))
1435 (file-name (git-file-name name version))
1436 (sha256
1437 (base32 "0g2wj6q7jj956nx6g7dk8x7w1c4l2xcmnr1kq5x8s8fild9kslg8"))))
1438 (build-system julia-build-system)
1439 (home-page "https://github.com/queryverse/DataValueInterfaces.jl")
1440 (synopsis "Interface for DataValues.jl")
1441 (description "This package allows a few \"forward\" definitions for the
1442 @code{DataValues.jl} package that other packages can utilize for integration
1443 without having to take direct dependencies.")
1444 (license license:expat)))
1445
1446 (define-public julia-datavalues
1447 (package
1448 (name "julia-datavalues")
1449 (version "0.4.13")
1450 (source
1451 (origin
1452 (method git-fetch)
1453 (uri (git-reference
1454 (url "https://github.com/queryverse/DataValues.jl")
1455 (commit (string-append "v" version))))
1456 (file-name (git-file-name name version))
1457 (sha256
1458 (base32 "15j3hrqq6nazn533bfsvg32xznacbzsl303j1qs48av59ppnvhhv"))))
1459 (build-system julia-build-system)
1460 (arguments
1461 (list
1462 #:tests? #f ; Tests need upgrading with newer Julia version.
1463 #:phases
1464 #~(modify-phases %standard-phases
1465 (add-after 'link-depot 'skip-known-failing-tests
1466 (lambda _
1467 ;; See upstream report:
1468 ;; https://github.com/queryverse/DataValues.jl/issues/83
1469 (substitute* "test/array/test_reduce.jl"
1470 ((".*DataValue\\(mapreduce.*") "")
1471 ((".*DataValue\\(method\\(f.*") "")))))))
1472 (propagated-inputs
1473 (list julia-datavalueinterfaces))
1474 (home-page "https://github.com/queryverse/DataValues.jl")
1475 (synopsis "Missing values for Julia")
1476 (description "This package provides the type @code{DataValue} that is used
1477 to represent missing data.")
1478 (license license:expat)))
1479
1480 (define-public julia-deepdiffs
1481 (package
1482 (name "julia-deepdiffs")
1483 (version "1.2.0")
1484 (source
1485 (origin
1486 (method git-fetch)
1487 (uri (git-reference
1488 (url "https://github.com/ssfrr/DeepDiffs.jl")
1489 (commit (string-append "v" version))))
1490 (file-name (git-file-name name version))
1491 (sha256
1492 (base32 "1gsbxb1d67g05h5bvzz3swdfih6404jrydy724a8dvbdgqvm3sds"))))
1493 (build-system julia-build-system)
1494 (home-page "https://github.com/ssfrr/DeepDiffs.jl")
1495 (synopsis "Compute and pretty-print diffs for data structures")
1496 (description "@code{DeepDiffs.jl} provides the @code{deepdiff} function,
1497 which finds and displays differences (diffs) between Julia data structures. It
1498 supports @code{Vectors}, @code{Dicts}, and @code{String}s. When diffing
1499 dictionaries where values associated with a particular key may change,
1500 @code{deepdiff} will recurse into value to provide a more detailed diff.")
1501 (license license:expat)))
1502
1503 (define-public julia-dictionaries
1504 (package
1505 (name "julia-dictionaries")
1506 (version "0.3.10")
1507 (source
1508 (origin
1509 (method git-fetch)
1510 (uri (git-reference
1511 (url "https://github.com/andyferris/Dictionaries.jl")
1512 (commit (string-append "v" version))))
1513 (file-name (git-file-name name version))
1514 (sha256
1515 (base32 "1mm43hm8hd6sgmkkpqhbqhvap7mpkjwzmz5algxi6manp580gkr5"))))
1516 (build-system julia-build-system)
1517 (propagated-inputs
1518 (list julia-indexing))
1519 (home-page "https://github.com/andyferris/Dictionaries.jl")
1520 (synopsis "Alternative interface for dictionaries in Julia")
1521 (description "This package provides an alternative interface for
1522 dictionaries in Julia, for improved productivity and performance.")
1523 (license license:expat)))
1524
1525 (define-public julia-distances
1526 (package
1527 (name "julia-distances")
1528 (version "0.10.7")
1529 (source
1530 (origin
1531 (method git-fetch)
1532 (uri (git-reference
1533 (url "https://github.com/JuliaStats/Distances.jl")
1534 (commit (string-append "v" version))))
1535 (file-name (git-file-name name version))
1536 (sha256
1537 (base32 "0sgrh3bzhmqqz0m28lmk66xhnl62i5r2miaiqml8nhbkaapbwc06"))))
1538 (build-system julia-build-system)
1539 (arguments
1540 (list
1541 #:phases
1542 #~(modify-phases %standard-phases
1543 (add-after 'link-depot 'skip-flakey-tests
1544 (lambda _
1545 ;; Some combination of these tests fail nondeterministically
1546 ;; each of the times this package is built.
1547 (substitute* "test/test_dists.jl"
1548 (("test dyz ≥") "test_nowarn dyz ≥")
1549 (("test dist\\(y, x") "test_nowarn dist(y, x")
1550 (("test dist\\(z, x") "test_nowarn dist(z, x")
1551 (("test dist\\(z, y") "test_nowarn dist(z, y"))
1552 #$@(if (not (target-64bit?))
1553 ;; A little too much precision
1554 ;; Evaluated: 1.8839055991209719 === 1.8839055991209717
1555 `((substitute* "test/test_dists.jl"
1556 (("@test whamming\\(a, b, w\\) === sum")
1557 "@test_skip whamming(a, b, w) === sum")))
1558 '()))))))
1559 (propagated-inputs
1560 (list julia-statsapi))
1561 (native-inputs
1562 (list julia-offsetarrays
1563 julia-unitful))
1564 (home-page "https://github.com/JuliaStats/Distances.jl")
1565 (synopsis "Julia package for evaluating distances (metrics) between vectors")
1566 (description "A Julia package for evaluating distances(metrics) between
1567 vectors. This package also provides optimized functions to compute column-wise
1568 and pairwise distances, which are often substantially faster than a
1569 straightforward loop implementation.")
1570 (license license:expat)))
1571
1572 (define-public julia-docstringextensions
1573 (package
1574 (name "julia-docstringextensions")
1575 (version "0.8.5")
1576 (source
1577 (origin
1578 (method git-fetch)
1579 (uri (git-reference
1580 (url "https://github.com/JuliaDocs/DocStringExtensions.jl")
1581 (commit (string-append "v" version))))
1582 (file-name (git-file-name name version))
1583 (sha256
1584 (base32 "0fy4kfnfacyfmlly6nqxn77dk2gqw80b69zb4m1i0i39zv3cpqfb"))))
1585 (build-system julia-build-system)
1586 (arguments
1587 (list #:tests? #f)) ; Tests try to read SSL certificates.
1588 (home-page "https://juliadocs.github.io/DocStringExtensions.jl/latest/")
1589 (synopsis "Extensions for Julia's docsystem")
1590 (description "This package provides a collection of useful extensions for
1591 Julia's built-in docsystem. These are features that are not yet mature enough
1592 to be considered for inclusion in Base, or that have sufficiently niche use
1593 cases that including them with the default Julia installation is not seen as
1594 valuable enough at this time.")
1595 (license license:expat)))
1596
1597 ;; By removing all the javascript and css downloads any HTML documentation
1598 ;; produced by this package will not be very useful.
1599 (define-public julia-documenter
1600 (package
1601 (name "julia-documenter")
1602 (version "0.27.7")
1603 (source
1604 (origin
1605 (method git-fetch)
1606 (uri (git-reference
1607 (url "https://github.com/JuliaDocs/Documenter.jl")
1608 (commit (string-append "v" version))))
1609 (file-name (git-file-name name version))
1610 (sha256
1611 (base32 "00ai3c24i3fkn5plmavampcxm0ijhwk0v5cn9xwm7rvbjnnvaaam"))))
1612 (build-system julia-build-system)
1613 (arguments
1614 (list
1615 #:phases
1616 #~(modify-phases %standard-phases
1617 (add-after 'link-depot 'patch-source
1618 (lambda* (#:key inputs #:allow-other-keys)
1619 (substitute* "src/Deps.jl"
1620 (("pip install")
1621 (string-append (search-input-file inputs "bin/pip")
1622 " install")))))
1623 (add-after 'link-depot 'fix-test-git-submodule
1624 ;; Git v2.38.1 fixes security issues and changes the default
1625 ;; behaviour of `git submodule`. This substitution is a backport
1626 ;; of the upstream patch, not yet released, fixing the test suite.
1627 ;; https://github.com/JuliaDocs/Documenter.jl/commit/b5a5c65d02d136743e7c18ffebf8baba900484fc
1628 (lambda* (#:key inputs #:allow-other-keys)
1629 (substitute* "test/utilities.jl"
1630 (("submodule add")
1631 "-c protocol.file.allow=always submodule add"))))
1632 (add-after 'link-depot 'remove-javascript-downloads
1633 (lambda _
1634 (substitute* "src/Writers/HTMLWriter.jl"
1635 (("cdnjs.cloudflare.com") "example.com"))
1636 ;; Removing the javascript downloads causes these tests fail.
1637 (substitute* "test/examples/tests.jl"
1638 ((".*Main\\.examples_html_doc.*") "")
1639 ((".*Main\\.examples_html_mathjax3_doc.*") "")))))))
1640 (propagated-inputs
1641 (list julia-ansicoloredprinters
1642 julia-docstringextensions
1643 julia-iocapture
1644 julia-json))
1645 (inputs
1646 (list python-wrapper))
1647 (native-inputs
1648 (list git-minimal/pinned ;needed for the "Utilities" test
1649 julia-documentermarkdown
1650 julia-documentertools))
1651 (home-page "https://juliadocs.github.io/Documenter.jl")
1652 (synopsis "Documentation generator for Julia")
1653 (description "This package provides a documentation generator for Julia.")
1654 (license license:expat)))
1655
1656 (define julia-documenter-bootstrap
1657 (package
1658 (inherit julia-documenter)
1659 (name "julia-documenter-bootstrap")
1660 (arguments
1661 (substitute-keyword-arguments (package-arguments julia-documenter)
1662 ((#:phases phases)
1663 `(modify-phases ,phases
1664 (delete 'patch-source)))
1665 ;; Not all dependencies available in bootstrap version.
1666 ((#:tests? _ #f) #f)))
1667 (inputs `())
1668 (native-inputs `())))
1669
1670 (define-public julia-documentermarkdown
1671 (package
1672 (name "julia-documentermarkdown")
1673 (version "0.2.2")
1674 (source
1675 (origin
1676 (method git-fetch)
1677 (uri (git-reference
1678 (url "https://github.com/JuliaDocs/DocumenterMarkdown.jl")
1679 (commit (string-append "v" version))))
1680 (file-name (git-file-name name version))
1681 (sha256
1682 (base32 "0sx89hi5p2f8zi2rp5qrv06m270d90pxj5d2y5cxls1spax7wqx8"))))
1683 (build-system julia-build-system)
1684 (inputs
1685 ;; We don't want to propagate the bootstrap version.
1686 ;; Cycle with Documenter.jl in later versions.
1687 (list julia-documenter-bootstrap))
1688 (home-page "https://github.com/JuliaDocs/DocumenterMarkdown.jl")
1689 (synopsis "Documenter's Markdown")
1690 (description "This package enables the Markdown / MkDocs backend of
1691 @code{Documenter.jl}.")
1692 (license license:expat)))
1693
1694 (define-public julia-documentertools
1695 (package
1696 (name "julia-documentertools")
1697 (version "0.1.13")
1698 (source
1699 (origin
1700 (method git-fetch)
1701 (uri (git-reference
1702 (url "https://github.com/JuliaDocs/DocumenterTools.jl")
1703 (commit (string-append "v" version))))
1704 (file-name (git-file-name name version))
1705 (sha256
1706 (base32 "05p57p8xlkn42m1lv9gq4hl96vp7hpj19d51p828ai1rbpcpi3a6"))))
1707 (build-system julia-build-system)
1708 (arguments
1709 (list #:tests? #f)) ; Tests require network.
1710 (inputs
1711 ;; We don't want to propagate the bootstrap version.
1712 ;; Cycle with Documenter.jl in later versions.
1713 (list julia-documenter-bootstrap))
1714 (propagated-inputs
1715 (list julia-docstringextensions
1716 julia-gumbo
1717 julia-sass))
1718 (native-inputs
1719 (list julia-example))
1720 (home-page "https://github.com/JuliaDocs/DocumenterTools.jl")
1721 (synopsis "Extra tools for setting up Documenter.jl")
1722 (description "This package contains utilities for setting up documentation
1723 generation with @code{Documenter.jl}.")
1724 (license license:expat)))
1725
1726 (define-public julia-diffresults
1727 (package
1728 (name "julia-diffresults")
1729 (version "1.0.3")
1730 (source
1731 (origin
1732 (method git-fetch)
1733 (uri (git-reference
1734 (url "https://github.com/JuliaDiff/DiffResults.jl")
1735 (commit (string-append "v" version))))
1736 (file-name (git-file-name name version))
1737 (sha256
1738 (base32 "1w6p3yxajvclax5b9g7cr2jmbc7lvr5nk4gq0aljxdycdq1d2y3v"))))
1739 (build-system julia-build-system)
1740 (propagated-inputs
1741 (list julia-staticarrays))
1742 (home-page "https://github.com/JuliaDiff/DiffResults.jl")
1743 (synopsis "In-place differentiation methods of primal values at multi-order")
1744 (description "This package provides the @code{DiffResult} type, which can
1745 be passed to in-place differentiation methods instead of an output buffer.")
1746 (license license:expat)))
1747
1748 (define-public julia-diffrules
1749 (package
1750 (name "julia-diffrules")
1751 (version "1.12.2")
1752 (source
1753 (origin
1754 (method git-fetch)
1755 (uri (git-reference
1756 (url "https://github.com/JuliaDiff/DiffRules.jl")
1757 (commit (string-append "v" version))))
1758 (file-name (git-file-name name version))
1759 (sha256
1760 (base32 "0l983kzy01y7qqw42pi0ihpvx3yzfnwrhcmk38avw7y513qlm7vf"))))
1761 (build-system julia-build-system)
1762 (propagated-inputs
1763 (list julia-irrationalconstants
1764 julia-logexpfunctions
1765 julia-nanmath
1766 julia-specialfunctions))
1767 (native-inputs
1768 (list julia-finitedifferences))
1769 (home-page "https://github.com/JuliaDiff/DiffRules.jl")
1770 (synopsis "Primitive differentiation rules")
1771 (description "This package provides primitive differentiation rules that
1772 can be composed via various formulations of the chain rule. Using
1773 @code{DiffRules}, new differentiation rules can defined, query whether or not
1774 a given rule exists, and symbolically apply rules to simple Julia expressions.")
1775 (license license:expat)))
1776
1777 (define-public julia-difftests
1778 (package
1779 (name "julia-difftests")
1780 (version "0.1.1")
1781 (source
1782 (origin
1783 (method git-fetch)
1784 (uri (git-reference
1785 (url "https://github.com/JuliaDiff/DiffTests.jl")
1786 (commit (string-append "v" version))))
1787 (file-name (git-file-name name version))
1788 (sha256
1789 (base32 "1rxpnd5zi3pxgdd38l5jm2sxc3q6p7g57fqgll2dsiin07y3my57"))))
1790 (build-system julia-build-system)
1791 (home-page "https://github.com/JuliaDiff/DiffTests.jl")
1792 (synopsis "Common test functions for differentiation tools")
1793 (description "This package contains a common suite of test functions for
1794 stressing the robustness of differentiation tools.")
1795 (license license:expat)))
1796
1797 (define-public julia-dualnumbers
1798 (package
1799 (name "julia-dualnumbers")
1800 (version "0.6.5")
1801 (source
1802 (origin
1803 (method git-fetch)
1804 (uri (git-reference
1805 (url "https://github.com/JuliaDiff/DualNumbers.jl")
1806 (commit (string-append "v" version))))
1807 (file-name (git-file-name name version))
1808 (sha256
1809 (base32 "05vr5wbzqpchnb96b3pmn67x196mbfnkv7r9bdlz3gm56if4awk5"))))
1810 (build-system julia-build-system)
1811 (arguments
1812 (list
1813 #:phases
1814 #~(modify-phases %standard-phases
1815 (add-after 'link-depot 'adjust-test-suite
1816 (lambda _
1817 (substitute* "test/runtests.jl"
1818 ;; Seems to not play nicely with SpecialFunctions
1819 ((".*isempty.*") "")))))))
1820 (propagated-inputs
1821 (list julia-calculus
1822 julia-nanmath
1823 julia-specialfunctions))
1824 (home-page "https://github.com/JuliaDiff/DualNumbers.jl")
1825 (synopsis "Represent dual numbers and for perform dual algebra")
1826 (description "The @code{DualNumbers} Julia package defines the @code{Dual}
1827 type to represent dual numbers, and supports standard mathematical operations on
1828 them. Conversions and promotions are defined to allow performing operations on
1829 combinations of dual numbers with predefined Julia numeric types.")
1830 (license license:expat)))
1831
1832 (define-public julia-ellipsisnotation
1833 (package
1834 (name "julia-ellipsisnotation")
1835 (version "1.6.0")
1836 (source
1837 (origin
1838 (method git-fetch)
1839 (uri (git-reference
1840 (url "https://github.com/ChrisRackauckas/EllipsisNotation.jl")
1841 (commit (string-append "v" version))))
1842 (file-name (git-file-name name version))
1843 (sha256
1844 (base32 "0l4fc180chhxlq9d67122c0lgq2hfsxsmcgml2bfl2rnh13gya2b"))))
1845 (build-system julia-build-system)
1846 (propagated-inputs
1847 (list julia-arrayinterface))
1848 (home-page "https://github.com/ChrisRackauckas/EllipsisNotation.jl")
1849 (synopsis "Ellipsis notation implementation")
1850 (description "This implements the notation @code{..} for indexing arrays.
1851 It's similar to the Python @code{...} in that it means \"all of the columns
1852 before (or after)\".")
1853 (license license:expat)))
1854
1855 (define-public julia-example
1856 (let ((commit "f968c69dea24f851d0c7e686db23fa55826b5388"))
1857 (package
1858 (name "julia-example")
1859 (version "0.5.4") ;tag not created upstream
1860 (source
1861 (origin
1862 (method git-fetch)
1863 (uri (git-reference
1864 (url "https://github.com/JuliaLang/Example.jl")
1865 (commit commit)))
1866 (file-name (git-file-name name version))
1867 (sha256
1868 (base32 "1v3z0d6gh6wfbypffy9m9rhh36px6fm5wjzq0y6rbmc95r0qpqlx"))))
1869 (build-system julia-build-system)
1870 (home-page "https://github.com/JuliaLang/Example.jl")
1871 (synopsis "Module providing examples")
1872 (description "This package provides various examples.")
1873 (license license:expat))))
1874
1875 ;; ExproniconLite.jl is autogenerated from this package.
1876 (define-public julia-expronicon
1877 (package
1878 (name "julia-expronicon")
1879 (version "0.6.10")
1880 (source
1881 (origin
1882 (method git-fetch)
1883 (uri (git-reference
1884 (url "https://github.com/Roger-luo/Expronicon.jl")
1885 (commit (string-append "v" version))))
1886 (file-name (git-file-name name version))
1887 (sha256
1888 (base32 "0h8aaynqlxrkn8575k5vqmhzil4vvxchhf0bcxa6zwawp558gj2y"))))
1889 (build-system julia-build-system)
1890 (arguments
1891 (list
1892 #:phases
1893 #~(modify-phases %standard-phases
1894 (add-after 'link-depot 'skip-network-tests
1895 (lambda _
1896 (substitute* "test/runtests.jl"
1897 ;; This test tries to access the Julia package registry.
1898 ((".*expand\\.jl.*") "")))))))
1899 (propagated-inputs
1900 (list julia-mlstyle))
1901 (native-inputs
1902 (list julia-documenter))
1903 (home-page "https://expronicon.rogerluo.dev/dev/")
1904 (synopsis "Collective tools for metaprogramming on Julia Expr")
1905 (description "This package provides a collection of tools for
1906 metaprogramming on Julia Expr, the meta programming standard library for
1907 @code{MLStyle}.")
1908 (license license:expat)))
1909
1910 (define-public julia-exprtools
1911 (package
1912 (name "julia-exprtools")
1913 (version "0.1.8")
1914 (source
1915 (origin
1916 (method git-fetch)
1917 (uri (git-reference
1918 (url "https://github.com/invenia/ExprTools.jl")
1919 (commit (string-append "v" version))))
1920 (file-name (git-file-name name version))
1921 (sha256
1922 (base32 "0sxrhc5dz1v53zs8sym4csfy28ki00b7x7aihm2zmkrx48if63gb"))))
1923 (build-system julia-build-system)
1924 (home-page "https://github.com/invenia/ExprTools.jl")
1925 (synopsis "Light-weight expression manipulation tools")
1926 (description "@code{ExprTools} provides tooling for working with Julia
1927 expressions during metaprogramming. This package aims to provide light-weight
1928 performant tooling without requiring additional package dependencies.")
1929 (license license:expat)))
1930
1931 (define-public julia-ffmpeg
1932 (package
1933 (name "julia-ffmpeg")
1934 (version "0.4.1")
1935 (source
1936 (origin
1937 (method git-fetch)
1938 (uri (git-reference
1939 (url "https://github.com/JuliaIO/FFMPEG.jl")
1940 (commit (string-append "v" version))))
1941 (file-name (git-file-name name version))
1942 (sha256
1943 (base32 "1ldxbp0kq3ip67x7sp82dz56aq4p5i0chspbgx2zgskr6jcbjj1b"))))
1944 (build-system julia-build-system)
1945 (propagated-inputs
1946 (list julia-ffmpeg-jll
1947 julia-x264-jll))
1948 (home-page "https://github.com/JuliaIO/FFMPEG.jl")
1949 (synopsis "Julia Package for ffmpeg")
1950 (description "This package is made to be included into packages that just
1951 need the ffmpeg binaries + executables, and don't want the overhead of
1952 @code{VideoIO.jl}.")
1953 (license license:expat)))
1954
1955 (define-public julia-fileio
1956 (package
1957 (name "julia-fileio")
1958 (version "1.9.1")
1959 (source
1960 (origin
1961 (method git-fetch)
1962 (uri (git-reference
1963 (url "https://github.com/JuliaIO/FileIO.jl")
1964 (commit (string-append "v" version))))
1965 (file-name (git-file-name name version))
1966 (sha256
1967 (base32 "1b18x43i737g5q41n9818xbnc2pgd98q1m6yw3h29yri0clg4gfx"))))
1968 (build-system julia-build-system)
1969 (arguments
1970 (list
1971 #:phases
1972 #~(modify-phases %standard-phases
1973 (delete 'reset-gzip-timestamps)
1974 (add-after 'link-depot 'skip-network-tests
1975 (lambda _
1976 ;; These tests try to download audio/video files.
1977 (substitute* "test/query.jl"
1978 (("testset.*(MP4|OGG|MATROSKA).*" all)
1979 (string-append all "return\n")))
1980 (substitute* "test/loadsave.jl"
1981 (("testset.*CSVFiles.*" all)
1982 (string-append all "return\n")))
1983 ;; This test tries to download a Julia package.
1984 (substitute* "test/error_handling.jl"
1985 (("testset.*Not installed.*" all)
1986 (string-append all "return\n")))
1987 ;; This test tries to write to the store.
1988 ;; (Error says can't find User 0)
1989 (substitute* "test/runtests.jl"
1990 ((".*test_mimesave.*") "")))))))
1991 (propagated-inputs
1992 (list julia-requires))
1993 (native-inputs
1994 (list julia-colortypes
1995 julia-filepathsbase
1996 julia-http))
1997 (home-page "https://github.com/JuliaIO/FileIO.jl")
1998 (synopsis "Main Package for IO, loading all different kind of files")
1999 (description "@code{FileIO} aims to provide a common framework for detecting
2000 file formats and dispatching to appropriate readers/writers. The two core
2001 functions in this package are called @code{load} and @code{save}, and offer
2002 high-level support for formatted files (in contrast with Julia's low-level
2003 @code{read} and @code{write}).")
2004 (license license:expat)))
2005
2006 (define-public julia-filepathsbase
2007 (package
2008 (name "julia-filepathsbase")
2009 (version "0.9.10")
2010 (source
2011 (origin
2012 (method git-fetch)
2013 (uri (git-reference
2014 (url "https://github.com/rofinn/FilePathsBase.jl")
2015 (commit (string-append "v" version))))
2016 (file-name (git-file-name name version))
2017 (sha256
2018 (base32 "136wm4ik6isrdanmpi4gdr1qw0qhr15i925qzjxbawk5hnyzwng9"))))
2019 (build-system julia-build-system)
2020 (arguments
2021 (list #:tests? #f)) ; Cycle with JLSO.jl
2022 (home-page "https://github.com/rofinn/FilePathsBase.jl")
2023 (synopsis "Filesystem path types in Julia")
2024 (description "@code{FilePathsBase.jl} provides a type based approach to
2025 working with filesystem paths in Julia.")
2026 (license license:expat)))
2027
2028 (define-public julia-fillarrays
2029 (package
2030 (name "julia-fillarrays")
2031 (version "0.13.6")
2032 (source
2033 (origin
2034 (method git-fetch)
2035 (uri (git-reference
2036 (url "https://github.com/JuliaArrays/FillArrays.jl")
2037 (commit (string-append "v" version))))
2038 (file-name (git-file-name name version))
2039 (sha256
2040 (base32 "1c4i8awmw9qq8dqfhxwjh76mc1nlmzrl5j754fpnbajv8p49gdv5"))))
2041 (build-system julia-build-system)
2042 (propagated-inputs
2043 (list julia-aqua))
2044 (inputs ;required by tests
2045 (list julia-staticarrays))
2046 (home-page "https://github.com/JuliaArrays/FillArrays.jl")
2047 (synopsis "Lazy matrix representation")
2048 (description "This package lazily represents matrices filled with
2049 a single entry, as well as identity matrices. This package exports the
2050 following types: @code{Eye}, @code{Fill}, @code{Ones}, @code{Zeros},
2051 @code{Trues} and @code{Falses}.")
2052 (license license:expat)))
2053
2054 (define-public julia-finitediff
2055 (package
2056 (name "julia-finitediff")
2057 (version "2.8.1")
2058 (source
2059 (origin
2060 (method git-fetch)
2061 (uri (git-reference
2062 (url "https://github.com/JuliaDiff/FiniteDiff.jl")
2063 (commit (string-append "v" version))))
2064 (file-name (git-file-name name version))
2065 (sha256
2066 (base32 "105f6r0hq97n9mxf1nacmz94dpca66vzqj5p3zh4h0brshmggqnq"))))
2067 (build-system julia-build-system)
2068 (arguments
2069 (list
2070 #:phases
2071 #~(modify-phases %standard-phases
2072 (add-before 'check 'pre-check
2073 (lambda _
2074 ;; We don't want to run all the tests; the Downstream tests
2075 ;; try to download the package registry.
2076 (setenv "GROUP" "Core"))))))
2077 (propagated-inputs
2078 (list julia-arrayinterface
2079 julia-requires
2080 julia-staticarrays))
2081 (native-inputs
2082 (list julia-bandedmatrices
2083 julia-blockbandedmatrices
2084 julia-safetestsets))
2085 (home-page "https://github.com/JuliaDiff/FiniteDiff.jl")
2086 (synopsis "Calculations of gradients, Jacobians, and Hessians")
2087 (description "This package is for calculating derivatives, gradients,
2088 Jacobians, Hessians, etc. numerically. This library is for maximizing speed
2089 while giving a usable interface to end users in a way that specializes on array
2090 types and sparsity.")
2091 (license license:expat)))
2092
2093 (define-public julia-finitedifferences
2094 (package
2095 (name "julia-finitedifferences")
2096 (version "0.12.17")
2097 (source
2098 (origin
2099 (method git-fetch)
2100 (uri (git-reference
2101 (url "https://github.com/JuliaDiff/FiniteDifferences.jl")
2102 (commit (string-append "v" version))))
2103 (file-name (git-file-name name version))
2104 (sha256
2105 (base32 "09nsf9cgk49yrvprflnhd9h5rrgs280rgj8sad3csghxdx6jqk5c"))))
2106 (build-system julia-build-system)
2107 (arguments
2108 (list
2109 #:phases
2110 (if (target-x86-32?)
2111 #~(modify-phases %standard-phases
2112 (add-after 'unpack 'remove-failing-test-i686
2113 (lambda _
2114 ;; Machine Precision incorrectly handled
2115 (substitute* "test/methods.jl"
2116 (("@test central_fdm\\(15, 5, adapt=2\\)\\(exp, 1.0\\)")
2117 "@test_broken central_fdm(15, 5, adapt=2)(exp, 1.0)")))))
2118 #~%standard-phases)))
2119 (inputs
2120 (list julia-benchmarktools))
2121 (propagated-inputs
2122 (list julia-chainrulescore
2123 julia-richardson
2124 julia-staticarrays))
2125 (home-page "https://github.com/JuliaDiff/FiniteDifferences.jl")
2126 (synopsis "Estimates derivatives with finite differences")
2127 (description "This package calculates approximate derivatives numerically
2128 using finite difference.")
2129 (license license:expat)))
2130
2131 (define-public julia-fixedpointnumbers
2132 (let ((commit "59ee94b93f2f1ee75544ef44187fc0e440cd8015")
2133 (revision "1"))
2134 (package
2135 (name "julia-fixedpointnumbers")
2136 (version (git-version "0.8.4" revision commit))
2137 (source
2138 (origin
2139 (method git-fetch)
2140 (uri (git-reference
2141 (url "https://github.com/JuliaMath/FixedPointNumbers.jl")
2142 (commit commit)))
2143 (file-name (git-file-name name version))
2144 (sha256
2145 (base32 "1ghriy7p2fj7mwdx11ssjg28jmwz8pi13c3j8p1grvwb4nvc0jnq"))))
2146 (build-system julia-build-system)
2147 (arguments
2148 (list #:tests? #f)) ; Cycle with julia-documenter
2149 (propagated-inputs
2150 (list julia-compat))
2151 (home-page "https://github.com/JuliaMath/FixedPointNumbers.jl")
2152 (synopsis "Fixed point types for Julia")
2153 (description "@code{FixedPointNumbers.jl} implements fixed-point number
2154 types for Julia. A fixed-point number represents a fractional, or
2155 non-integral, number. In contrast with the more widely known floating-point
2156 numbers, with fixed-point numbers the decimal point doesn't \"float\":
2157 fixed-point numbers are effectively integers that are interpreted as being
2158 scaled by a constant factor. Consequently, they have a fixed number of
2159 digits (bits) after the decimal (radix) point.")
2160 (license license:expat))))
2161
2162 (define-public julia-formatting
2163 (package
2164 (name "julia-formatting")
2165 (version "0.4.2")
2166 (source
2167 (origin
2168 (method git-fetch)
2169 (uri (git-reference
2170 (url "https://github.com/JuliaIO/Formatting.jl")
2171 (commit (string-append "v" version))))
2172 (file-name (git-file-name name version))
2173 (sha256
2174 (base32 "0ma3q9my51rr38bb5712xkc4h3rq0wsfjb4ac6mdh9ywn8rqvrmh"))))
2175 (build-system julia-build-system)
2176 (home-page "https://github.com/JuliaIO/Formatting.jl")
2177 (synopsis "Julia package to provide Python-like formatting support")
2178 (description "This package offers Python-style general formatting and
2179 c-style numerical formatting.")
2180 (license license:expat)))
2181
2182 (define-public julia-forwarddiff
2183 (package
2184 (name "julia-forwarddiff")
2185 (version "0.10.34")
2186 (source
2187 (origin
2188 (method git-fetch)
2189 (uri (git-reference
2190 (url "https://github.com/JuliaDiff/ForwardDiff.jl")
2191 (commit (string-append "v" version))))
2192 (file-name (git-file-name name version))
2193 (sha256
2194 (base32 "1lwjw2jzkffwk06hfc30vxhv36ng3gf12qjc43swmqiakkd3m5jx"))))
2195 (build-system julia-build-system)
2196 (arguments
2197 ;; XXXX: Unexpected and non-deterministic failures for i686, e.g.,
2198 ;; Expression: dual_isapprox(FDNUM ^ PRIMAL, exp(PRIMAL * log(FDNUM)))
2199 ;; ERROR: LoadError: LoadError: There was an error during testing
2200 ;; Disable as stopgap.
2201 (list #:tests? (not (or (%current-target-system)
2202 (target-x86-32?)))))
2203 (inputs ;required for tests
2204 (list julia-calculus
2205 julia-difftests))
2206 (propagated-inputs
2207 (list julia-calculus
2208 julia-commonsubexpressions
2209 julia-diffresults
2210 julia-diffrules
2211 julia-difftests
2212 julia-nanmath
2213 julia-specialfunctions
2214 julia-staticarrays))
2215 (home-page "https://github.com/JuliaDiff/ForwardDiff.jl")
2216 (synopsis "Methods to take multidimensional derivatives")
2217 (description "This package implements methods to take derivatives,
2218 gradients, Jacobians, Hessians, and higher-order derivatives of native Julia
2219 functions (or any callable object, really) using forward mode automatic
2220 differentiation (AD).")
2221 (license license:expat)))
2222
2223 (define-public julia-functionwrappers
2224 (package
2225 (name "julia-functionwrappers")
2226 (version "1.1.2")
2227 (source
2228 (origin
2229 (method git-fetch)
2230 (uri (git-reference
2231 (url "https://github.com/yuyichao/FunctionWrappers.jl")
2232 (commit (string-append "v" version))))
2233 (file-name (git-file-name name version))
2234 (sha256
2235 (base32 "02jilpjr7px6138dx2w7ixricvfgsxqdk84d9dgviranibhnjcxa"))))
2236 (build-system julia-build-system)
2237 (arguments
2238 (list
2239 #:phases
2240 #~(modify-phases %standard-phases
2241 (add-after 'link-depot 'adjust-tests
2242 (lambda _
2243 (substitute* "test/runtests.jl"
2244 (("testset \\\"Abstract.*" all)
2245 (string-append all "return\n"))))))))
2246 (home-page "https://github.com/yuyichao/FunctionWrappers.jl")
2247 (synopsis "Type stable and efficient wrapper of arbitrary functions")
2248 (description "This package provides a type stable and efficient wrapper of
2249 arbitrary functions.")
2250 (license license:expat)))
2251
2252 (define-public julia-functors
2253 (package
2254 (name "julia-functors")
2255 (version "0.4.1")
2256 (source
2257 (origin
2258 (method git-fetch)
2259 (uri (git-reference
2260 (url "https://github.com/FluxML/Functors.jl")
2261 (commit (string-append "v" version))))
2262 (file-name (git-file-name name version))
2263 (sha256
2264 (base32 "00rzbj2rs2lq91wz8qyxq14bg7p9i49dq7y44fvxn6jaikha2ymw"))))
2265 (build-system julia-build-system)
2266 (native-inputs
2267 (list julia-documenter
2268 julia-staticarrays
2269 julia-zygote))
2270 (home-page "https://fluxml.ai/Functors.jl/stable/")
2271 (synopsis "Design pattern for structures as in machine learning")
2272 (description "This package provides tools to express a design pattern for
2273 dealing with large/ nested structures, as in machine learning and
2274 optimisation. For large machine learning models it can be cumbersome or
2275 inefficient to work with parameters as one big, flat vector, and structs help
2276 in managing complexity; but it is also desirable to easily operate over all
2277 parameters at once, e.g. for changing precision or applying an optimiser
2278 update step.")
2279 (license license:expat)))
2280
2281 (define-public julia-fuzzycompletions
2282 (package
2283 (name "julia-fuzzycompletions")
2284 (version "0.4.1")
2285 (source
2286 (origin
2287 (method git-fetch)
2288 (uri (git-reference
2289 (url "https://github.com/JunoLab/FuzzyCompletions.jl")
2290 (commit (string-append "v" version))))
2291 (file-name (git-file-name name version))
2292 (sha256
2293 (base32 "07sv88c472n6w4x7diy952igbcfm1s104ysnnvprld83312siw06"))))
2294 (build-system julia-build-system)
2295 (arguments
2296 (list
2297 #:phases
2298 #~(modify-phases %standard-phases
2299 (add-after 'link-depot 'skip-failing-test
2300 (lambda _
2301 (substitute* "test/runtests.jl"
2302 ((".*RPLE.*") "")))))))
2303 (home-page "https://github.com/JunoLab/FuzzyCompletions.jl")
2304 (synopsis "Fuzzy completion provider for Julia")
2305 (description
2306 "FuzzyCompletions provides fuzzy completions for a Julia runtime session.")
2307 (license license:expat)))
2308
2309 (define-public julia-genericlinearalgebra
2310 (package
2311 (name "julia-genericlinearalgebra")
2312 (version "0.2.5")
2313 (source
2314 (origin
2315 (method git-fetch)
2316 (uri (git-reference
2317 (url "https://github.com/JuliaLinearAlgebra/GenericLinearAlgebra.jl")
2318 (commit (string-append "v" version))))
2319 (file-name (git-file-name name version))
2320 (sha256
2321 (base32 "0ndwypa397z3pwzdgc3s9plaqlqf63g3d4px5pvym5psgr6lnm3l"))))
2322 (build-system julia-build-system)
2323 (arguments
2324 (list
2325 #:phases
2326 #~(modify-phases %standard-phases
2327 (add-after 'link-depot 'adjust-test-suite
2328 (lambda _
2329 (substitute* "test/runtests.jl"
2330 ((".*lapack.*") "")))))))
2331 (native-inputs
2332 (list julia-quaternions))
2333 (home-page "https://github.com/JuliaLinearAlgebra/GenericLinearAlgebra.jl")
2334 (synopsis "Generic numerical linear algebra")
2335 (description "The purpose of this package is partly to extend linear algebra
2336 functionality in base to cover generic element types, e.g. @code{BigFloat} and
2337 @code{Quaternion}, and partly to be a place to experiment with fast linear
2338 algebra routines written in Julia (except for optimized BLAS).")
2339 (license license:expat)))
2340
2341 (define-public julia-genericschur
2342 (package
2343 (name "julia-genericschur")
2344 (version "0.5.3")
2345 (source
2346 (origin
2347 (method git-fetch)
2348 (uri (git-reference
2349 (url "https://github.com/RalphAS/GenericSchur.jl")
2350 (commit (string-append "v" version))))
2351 (file-name (git-file-name name version))
2352 (sha256
2353 (base32 "02f2azi6036ca8nlgyvvfagwbks8jxfz4k0d8a709ixr1n0ylwap"))))
2354 (build-system julia-build-system)
2355 (arguments
2356 (list
2357 #:phases
2358 #~(modify-phases %standard-phases
2359 (add-after 'link-depot 'adjust-test-suite
2360 (lambda _
2361 (substitute* "test/complex.jl"
2362 ;; expected Vector{Int32,1}, got a value of type Vector{Int64,1}
2363 (("A = _example") "#A = _example")
2364 (("schurtest\\(A,20\\)") ""))
2365 (substitute* "test/runtests.jl"
2366 ;; Test errors relating to liblapack.so
2367 ((".*complex\\.jl.*") "")
2368 ((".*real\\.jl.*") "")
2369 ;; GenericSVD is deprecated upstream
2370 ((".*gordschur\\.jl.*") "")))))))
2371 (home-page "https://github.com/RalphAS/GenericSchur.jl")
2372 (synopsis "Schur decomposition of matrices with generic element types")
2373 (description "The Schur decomposition is the workhorse for eigensystem
2374 analysis of dense matrices. The diagonal eigen-decomposition of normal
2375 (especially Hermitian) matrices is an important special case, but for non-normal
2376 matrices the Schur form is often more useful.")
2377 (license license:expat)))
2378
2379 (define-public julia-geometrybasics
2380 (package
2381 (name "julia-geometrybasics")
2382 (version "0.4.2")
2383 (source
2384 (origin
2385 (method git-fetch)
2386 (uri (git-reference
2387 (url "https://github.com/JuliaGeometry/GeometryBasics.jl")
2388 (commit (string-append "v" version))))
2389 (file-name (git-file-name name version))
2390 (sha256
2391 (base32 "0kxn7gzv4sm3017qbng70iqb4wzy1k2fj5w6lkz1kn7lx7z7m33x"))))
2392 (build-system julia-build-system)
2393 (arguments
2394 (list
2395 #:phases
2396 #~(modify-phases %standard-phases
2397 (add-after 'link-depot 'remove-earcut
2398 (lambda _
2399 (substitute* '("Project.toml"
2400 "src/GeometryBasics.jl")
2401 ((".*EarCut.*") ""))))
2402 (add-after 'link-depot 'skip-incompatible-test
2403 (lambda _
2404 (substitute* "test/runtests.jl"
2405 (("@testset.*MetaT and heterogeneous data.*" all)
2406 (string-append all "return\n")))))
2407 #$@(if (target-64bit?)
2408 '()
2409 '((add-after 'unpack 'fix-tests-int32-i686
2410 (lambda _
2411 (substitute* "test/runtests.jl"
2412 (("Int64") "Int32")))))))))
2413 (propagated-inputs
2414 (list julia-itertools
2415 julia-staticarrays
2416 julia-structarrays
2417 julia-tables))
2418 (native-inputs
2419 (list julia-offsetarrays))
2420 (home-page "https://github.com/JuliaGeometry/GeometryBasics.jl")
2421 (synopsis "Basic Geometry Types")
2422 (description "This package aims to offer a standard set of Geometry types,
2423 which easily work with metadata, query frameworks on geometries and different
2424 memory layouts. The aim is to create a solid basis for Graphics/Plotting,
2425 finite elements analysis, Geo applications, and general geometry manipulations
2426 - while offering a Julian API, that still allows performant C-interop.")
2427 (license license:expat)))
2428
2429 (define-public julia-gpuarrays
2430 (package
2431 (name "julia-gpuarrays")
2432 (version "8.1.3")
2433 (source
2434 (origin
2435 (method git-fetch)
2436 (uri (git-reference
2437 (url "https://github.com/JuliaGPU/GPUArrays.jl")
2438 (commit (string-append "v" version))))
2439 (file-name (git-file-name name version))
2440 (sha256
2441 (base32 "129q8m94b2xq3vij28pkb7dry3r7qbiqrz72a26ma9kilcr35gk4"))))
2442 (build-system julia-build-system)
2443 (inputs
2444 (list julia-adapt))
2445 (home-page "https://github.com/JuliaGPU/GPUArrays.jl")
2446 (synopsis "Reusable GPU array functionality for various GPU backends")
2447 (description "This package is the counterpart of AbstractArray interface,
2448 but for GPU array types. It provides functionality and tooling to speed-up
2449 development of new GPU array types. This package is not intended for end
2450 users; instead, you should use one of the packages that builds on
2451 @code{GPUArrays.jl}, such as @code{CUDA.jl}, @code{oneAPI.jl} or
2452 @code{AMDGPU.jl}.")
2453 (license license:expat)))
2454
2455 (define-public julia-gr
2456 (package
2457 (name "julia-gr")
2458 (version "0.58.1")
2459 (source
2460 (origin
2461 (method git-fetch)
2462 (uri (git-reference
2463 (url "https://github.com/jheinen/GR.jl")
2464 (commit (string-append "v" version))))
2465 (file-name (git-file-name name version))
2466 (sha256
2467 (base32 "18zxa1w2wmrf44c5l10qbh99zjdp7h94gxlymh47cf5kj5fc4xmx"))))
2468 (build-system julia-build-system)
2469 (propagated-inputs
2470 (list julia-gr-jll))
2471 (home-page "https://github.com/jheinen/GR.jl")
2472 (synopsis "Plotting for Julia based on GR")
2473 (description "This module provides a Julia interface to GR, a framework for
2474 visualisation applications.")
2475 (license license:expat)))
2476
2477 (define-public julia-graphics
2478 (package
2479 (name "julia-graphics")
2480 (version "1.1.2")
2481 (source
2482 (origin
2483 (method git-fetch)
2484 (uri (git-reference
2485 (url "https://github.com/JuliaGraphics/Graphics.jl")
2486 (commit (string-append "v" version))))
2487 (file-name (git-file-name name version))
2488 (sha256
2489 (base32 "083fppcbmchgnqp4xqdsd4asavq51jq31w8ak35ns701534hr82p"))))
2490 (build-system julia-build-system)
2491 (propagated-inputs
2492 (list julia-colors
2493 julia-nanmath))
2494 (home-page "https://github.com/JuliaGraphics/Graphics.jl")
2495 (synopsis "Base graphics in Julia")
2496 (description "@code{Graphics.jl} is an abstraction layer for graphical
2497 operations in Julia.")
2498 (license license:expat)))
2499
2500 (define-public julia-gumbo
2501 (package
2502 (name "julia-gumbo")
2503 (version "0.8.0")
2504 (source
2505 (origin
2506 (method git-fetch)
2507 (uri (git-reference
2508 (url "https://github.com/JuliaWeb/Gumbo.jl")
2509 (commit (string-append "v" version))))
2510 (file-name (git-file-name name version))
2511 (sha256
2512 (base32 "1g22dv3v7caakspv3pdahnqn937fzzsg9y87rj72hid9g8lxl1gm"))))
2513 (build-system julia-build-system)
2514 (propagated-inputs
2515 (list julia-abstracttrees
2516 julia-gumbo-jll))
2517 (home-page "https://github.com/JuliaWeb/Gumbo.jl")
2518 (synopsis "Julia wrapper around Google's gumbo C library for parsing HTML")
2519 (description "@code{Gumbo.jl} is a Julia wrapper around Google's gumbo
2520 library for parsing HTML.")
2521 (license license:expat)))
2522
2523 (define-public julia-http
2524 (package
2525 (name "julia-http")
2526 (version "0.9.17")
2527 (source
2528 (origin
2529 (method git-fetch)
2530 (uri (git-reference
2531 (url "https://github.com/JuliaWeb/HTTP.jl")
2532 (commit (string-append "v" version))))
2533 (file-name (git-file-name name version))
2534 (sha256
2535 (base32 "1ynzcl30sf5r42l75l5x1a8z0643hlck2kysyhag9795gzafxzv3"))))
2536 (build-system julia-build-system)
2537 (arguments
2538 (list
2539 #:phases
2540 #~(modify-phases %standard-phases
2541 (add-before 'install 'disable-network-tests
2542 (lambda _
2543 (substitute* "test/runtests.jl"
2544 (("\"async.jl") "# \"async.jl")
2545 (("\"client.jl") "# \"client.jl"))
2546 (substitute* "test/aws4.jl"
2547 (("@testset.*HTTP.request with AWS authentication.*" all)
2548 (string-append all "return\n")))
2549 (substitute* "test/insert_layers.jl"
2550 (("@testset.*Inserted final layer runs handler.*" all)
2551 (string-append all "return\n")))
2552 (substitute* "test/multipart.jl"
2553 (("@testset \"Setting of Content-Type.*" all)
2554 (string-append all "return\n"))
2555 (("@testset \"Deprecation of .*" all)
2556 (string-append all "return\n")))
2557 (substitute* "test/websockets.jl"
2558 (("@testset.*External Host.*" all)
2559 (string-append all "return\n")))
2560 (substitute* "test/messages.jl"
2561 (("@testset.*Read methods.*" all)
2562 (string-append all "return\n"))
2563 (("@testset.*Body - .*" all)
2564 (string-append all "return\n"))
2565 (("@testset.*Write to file.*" all)
2566 (string-append all "return\n")))
2567 (substitute* "test/cookies.jl"
2568 (("@testset.*Set-Cookie casing.*" all)
2569 (string-append all "return\n"))))))))
2570 (propagated-inputs
2571 (list julia-inifile
2572 julia-mbedtls
2573 julia-uris))
2574 ;; required for tests
2575 (inputs
2576 (list julia-json
2577 julia-bufferedstreams))
2578 (home-page "https://juliaweb.github.io/HTTP.jl/")
2579 (synopsis "HTTP support for Julia")
2580 (description "@code{HTTP.jl} is a Julia library for HTTP Messages,
2581 implementing both a client and a server.")
2582 (license license:expat)))
2583
2584 (define-public julia-ifelse
2585 (package
2586 (name "julia-ifelse")
2587 (version "0.1.0")
2588 (source
2589 (origin
2590 (method git-fetch)
2591 (uri (git-reference
2592 (url "https://github.com/sciml/ifelse.jl")
2593 (commit (string-append "v" version))))
2594 (file-name (git-file-name name version))
2595 (sha256
2596 (base32 "1wrw842r8708fryf2ihp9mkmdrg27saa9nix2c31vs995k2fgr9w"))))
2597 (build-system julia-build-system)
2598 (home-page "https://github.com/sciml/ifelse.jl")
2599 (synopsis "Function form of the if-else conditional statement")
2600 (description "This package provides a convenient function form of the
2601 conditional ifelse. It is similar to @code{Core.ifelse} but it is extendable.")
2602 (license license:expat)))
2603
2604 (define-public julia-imageaxes
2605 (package
2606 (name "julia-imageaxes")
2607 (version "0.6.10")
2608 (source
2609 (origin
2610 (method git-fetch)
2611 (uri (git-reference
2612 (url "https://github.com/JuliaImages/ImageAxes.jl")
2613 (commit (string-append "v" version))))
2614 (file-name (git-file-name name version))
2615 (sha256
2616 (base32 "15f3y46vcr88fplr7rlibrm3k852p8rzwid5dgmbhc03a8xqd50s"))))
2617 (build-system julia-build-system)
2618 (arguments
2619 (list
2620 #:phases
2621 #~(modify-phases %standard-phases
2622 (add-after 'unpack 'adjust-tests
2623 (lambda _
2624 (substitute* "test/runtests.jl"
2625 ;; Skip the constantly failing grayscale test.
2626 (("@test summary") "@test_broken summary")))))))
2627 (propagated-inputs
2628 (list julia-axisarrays
2629 julia-imagebase
2630 julia-imagecore
2631 julia-reexport
2632 julia-simpletraits))
2633 (native-inputs
2634 (list julia-aqua
2635 julia-documenter
2636 julia-unitful))
2637 (home-page "https://github.com/JuliaImages/ImageAxes.jl")
2638 (synopsis "Julia package for giving \"meaning\" to the axes of an image")
2639 (description "This small package supports the representation of images as
2640 @code{AxisArrays} to endow the axes with \"meaning,\" and makes programming with
2641 such arrays easy via traits.")
2642 (license license:expat)))
2643
2644 (define-public julia-imagebase
2645 (package
2646 (name "julia-imagebase")
2647 (version "0.1.5")
2648 (source
2649 (origin
2650 (method git-fetch)
2651 (uri (git-reference
2652 (url "https://github.com/JuliaImages/ImageBase.jl")
2653 (commit (string-append "v" version))))
2654 (file-name (git-file-name name version))
2655 (sha256
2656 (base32 "00gi268jsyhlkadkkbyiffph6c8yb7zw34px76n6hs7dkfzp6jm3"))))
2657 (build-system julia-build-system)
2658 (arguments
2659 (list #:tests? #f)) ; Cycle with ImageMagick.jl.
2660 (propagated-inputs
2661 (list julia-imagecore
2662 julia-reexport))
2663 ;(native-inputs
2664 ; (list julia-aqua
2665 ; julia-documenter
2666 ; julia-imagefiltering
2667 ; julia-imageio
2668 ; julia-imagemagick
2669 ; julia-offsetarrays
2670 ; jula-statistics
2671 ; julia-testimages))
2672 (home-page "https://github.com/JuliaImages/ImageBase.jl")
2673 (synopsis "Wrapper package around ImageCore")
2674 (description "This is a twin package to @code{ImageCore} with functions that
2675 are used among many of the packages in JuliaImages. The main purpose of this
2676 package is to reduce unnecessary compilation overhead from external
2677 dependencies.")
2678 (license license:expat)))
2679
2680 (define-public julia-imagecore
2681 (package
2682 (name "julia-imagecore")
2683 (version "0.9.4")
2684 (source
2685 (origin
2686 (method git-fetch)
2687 (uri (git-reference
2688 (url "https://github.com/JuliaImages/ImageCore.jl")
2689 (commit (string-append "v" version))))
2690 (file-name (git-file-name name version))
2691 (sha256
2692 (base32 "0a6m3cszgh2bfsgs08i64f1h1pwh6by4267rvwyvdk470z0ayc8q"))))
2693 (build-system julia-build-system)
2694 (arguments
2695 (list #:tests? #f)) ; Cycle with ImageMagick.jl.
2696 (propagated-inputs
2697 (list julia-abstractffts
2698 julia-colors
2699 julia-colorvectorspace
2700 julia-fixedpointnumbers
2701 julia-graphics
2702 julia-mappedarrays
2703 julia-mosaicviews
2704 julia-offsetarrays
2705 julia-paddedviews
2706 julia-reexport))
2707 ;(native-inputs
2708 ; `(("julia-aqua" ,julia-aqua)
2709 ; ("julia-blockarrays" ,julia-blockarrays)
2710 ; ("julia-documenter" ,julia-documenter)
2711 ; ("julia-fftw" ,julia-fftw)
2712 ; ("julia-imageinterminal" ,julia-imageinterminal)
2713 ; ("julia-imagemagick" ,julia-imagemagick)
2714 ; ("julia-referencetests" ,julia-referencetests)
2715 ; ("julia-statistics" ,julia-statistics)))
2716 (home-page "https://github.com/JuliaImages/ImageCore.jl")
2717 (synopsis "Julia types for representing images")
2718 (description "@code{ImageCore} is the lowest-level component of the system
2719 of packages designed to support image processing and computer vision.")
2720 (license license:expat)))
2721
2722 (define-public julia-imageinterminal
2723 (package
2724 (name "julia-imageinterminal")
2725 (version "0.4.7")
2726 (source
2727 (origin
2728 (method git-fetch)
2729 (uri (git-reference
2730 (url "https://github.com/JuliaImages/ImageInTerminal.jl")
2731 (commit (string-append "v" version))))
2732 (file-name (git-file-name name version))
2733 (sha256
2734 (base32 "0bbpzi7bv8jdiggq1wmcn67vnf96qagvwg0fk95s125wy5980xsl"))))
2735 (build-system julia-build-system)
2736 (arguments
2737 (list #:tests? #f)) ; Cycle with ReferenceTests.jl.
2738 (propagated-inputs
2739 (list julia-crayons
2740 julia-imagebase
2741 julia-imagecore
2742 julia-requires))
2743 ;(native-inputs
2744 ; `(("julia-coordinatetransformations" ,julia-coordinatetransformations)
2745 ; ("julia-imagemagick" ,julia-imagemagick)
2746 ; ("julia-imagetransformations" ,julia-imagetransformations)
2747 ; ("julia-offsetarrays" ,julia-offsetarrays)
2748 ; ("julia-referencetests" ,julia-referencetests)
2749 ; ("julia-rotations" ,julia-rotations)
2750 ; ("julia-sparsearrays" ,julia-sparsearrays)
2751 ; ("julia-testimages" ,julia-testimages)))
2752 (home-page "https://github.com/JuliaImages/ImageInTerminal.jl")
2753 (synopsis "Julia package for displaying images in the terminal")
2754 (description "@code{ImageInTerminal.jl} is a drop-in package that once
2755 imported changes a how a single @code{Colorant} and whole @code{Colorant} arrays
2756 (i.e. Images) are displayed in the interactive REPL. The displayed images will
2757 be downscaled to fit into the size of your active terminal session.")
2758 (license license:expat)))
2759
2760 (define-public julia-imagemagick
2761 (package
2762 (name "julia-imagemagick")
2763 (version "1.2.1")
2764 (source
2765 (origin
2766 (method git-fetch)
2767 (uri (git-reference
2768 (url "https://github.com/JuliaIO/ImageMagick.jl")
2769 (commit (string-append "v" version))))
2770 (file-name (git-file-name name version))
2771 (sha256
2772 (base32 "05vzv4jsj3l9pv6yrix28hlw7wnag0mqdfjwv8shn4x71hcfxl1p"))))
2773 (build-system julia-build-system)
2774 (arguments
2775 (list
2776 #:phases
2777 #~(modify-phases %standard-phases
2778 (add-after 'link-depot 'skip-failing-test
2779 (lambda _
2780 ;; These tests try to download from the imagemagick.org
2781 (substitute* "test/runtests.jl"
2782 ((".*readremote\\.jl.*") ""))
2783 ;; Tests with the color gray are hard.
2784 (substitute* "test/constructed_images.jl"
2785 (("test (b == aa)" _ test) (string-append "test_nowarn " test))
2786 (("test (B == map)" _ test) (string-append "test_nowarn " test))))))))
2787 (propagated-inputs
2788 (list julia-fileio
2789 julia-imagecore
2790 julia-imagemagick-jll))
2791 (native-inputs
2792 (list julia-colors
2793 julia-colorvectorspace
2794 julia-imagemetadata
2795 julia-imageshow
2796 julia-imagetransformations
2797 julia-indirectarrays
2798 julia-offsetarrays
2799 julia-zipfile))
2800 (home-page "https://github.com/JuliaIO/ImageMagick.jl")
2801 (synopsis "Thin wrapper for ImageMagick")
2802 (description "This package provides a wrapper around ImageMagick version 6.
2803 It was split off from @code{Images.jl} to make image I/O more modular.")
2804 (license license:expat)))
2805
2806 (define-public julia-imagemetadata
2807 (package
2808 (name "julia-imagemetadata")
2809 (version "0.9.8")
2810 (source
2811 (origin
2812 (method git-fetch)
2813 (uri (git-reference
2814 (url "https://github.com/JuliaImages/ImageMetadata.jl")
2815 (commit (string-append "v" version))))
2816 (file-name (git-file-name name version))
2817 (sha256
2818 (base32 "0rdzvya5szlkg5ds3fw7lpk47hn16655i6265czwf8fxs3hb1gvf"))))
2819 (build-system julia-build-system)
2820 (arguments
2821 (list
2822 #:phases
2823 #~(modify-phases %standard-phases
2824 (add-after 'unpack 'adjust-tests
2825 (lambda _
2826 (substitute* "test/operations.jl"
2827 ;; Skip the constantly failing greyscale test.
2828 (("\\@testset \\\"operations.*" all)
2829 (string-append all " return\n"))))))))
2830 (propagated-inputs
2831 (list julia-axisarrays
2832 julia-imageaxes
2833 julia-imagebase
2834 julia-imagecore))
2835 (native-inputs
2836 (list julia-indirectarrays
2837 julia-offsetarrays
2838 julia-simpletraits
2839 julia-unitful))
2840 (home-page "https://github.com/JuliaImages/ImageMetadata.jl")
2841 (synopsis "Julia package for images having metadata")
2842 (description "@code{ImageMetadata} is a simple package providing utilities
2843 for working with images that have metadata attached. For example, you might
2844 want to associate an image with the date on which the picture was taken, or an
2845 MRI scan with patient data, or an astronomical image with sky coordinates and
2846 information about the detector used to acquire the image.")
2847 (license license:expat)))
2848
2849 (define-public julia-imageshow
2850 (package
2851 (name "julia-imageshow")
2852 (version "0.3.2")
2853 (source
2854 (origin
2855 (method git-fetch)
2856 (uri (git-reference
2857 (url "https://github.com/JuliaImages/ImageShow.jl")
2858 (commit (string-append "v" version))))
2859 (file-name (git-file-name name version))
2860 (sha256
2861 (base32 "00wq3ab8y6nyhxwc5lpz9dnslsmcr1vg3cjdkh7wb7k6a8bw98mh"))))
2862 (build-system julia-build-system)
2863 (arguments
2864 (list #:tests? #f)) ; cycle with ImageMagick.jl.
2865 (propagated-inputs
2866 (list julia-fileio
2867 julia-imagebase
2868 julia-imagecore
2869 julia-offsetarrays
2870 julia-stackviews))
2871 ;(native-inputs
2872 ; `(("julia-imagedistances" ,julia-imagedistances)
2873 ; ("julia-imagemagick" ,julia-imagemagick)
2874 ; ("julia-suppressor" ,julia-suppressor)
2875 ; ("julia-testimages" ,julia-testimages)))
2876 (home-page "https://github.com/JuliaImages/ImageShow.jl")
2877 (synopsis
2878 "Inline graphical display of images in Julia graphical environments")
2879 (description "This package implements image @code{show} methods suitable
2880 for graphical platforms such as IJulia. It is intended to provide convenient
2881 inline presentation of greyscale or color images.")
2882 (license license:expat)))
2883
2884 (define-public julia-imagetransformations
2885 (package
2886 (name "julia-imagetransformations")
2887 (version "0.9.5")
2888 (source
2889 (origin
2890 (method git-fetch)
2891 (uri (git-reference
2892 (url "https://github.com/JuliaImages/ImageTransformations.jl")
2893 (commit (string-append "v" version))))
2894 (file-name (git-file-name name version))
2895 (sha256
2896 (base32 "1wavfs5chq8s9ma0k8fxfaqam4560w4l2j3lhbd9aqsjlgvi3swc"))))
2897 (build-system julia-build-system)
2898 (arguments
2899 (list #:tests? #f)) ; Cycle with ImageMagick.jl.
2900 (propagated-inputs
2901 (list julia-axisalgorithms
2902 julia-colorvectorspace
2903 julia-coordinatetransformations
2904 julia-imagebase
2905 julia-imagecore
2906 julia-interpolations
2907 julia-offsetarrays
2908 julia-rotations
2909 julia-staticarrays))
2910 ;(native-inputs
2911 ; (list julia-endpointranges
2912 ; julia-imageio
2913 ; julia-imagemagick
2914 ; julia-referencetests
2915 ; julia-tau
2916 ; julia-testimages))
2917 (home-page "https://github.com/JuliaImages/ImageTransformations.jl")
2918 (synopsis "Geometric transformations on images for Julia")
2919 (description "This package provides support for image resizing, image
2920 rotation, and other spatial transformations of arrays.")
2921 (license license:expat)))
2922
2923 (define-public julia-indexablebitvectors
2924 (package
2925 (name "julia-indexablebitvectors")
2926 (version "1.0.0")
2927 (source
2928 (origin
2929 (method git-fetch)
2930 (uri (git-reference
2931 (url "https://github.com/BioJulia/IndexableBitVectors.jl")
2932 (commit (string-append "v" version))))
2933 (file-name (git-file-name name version))
2934 (sha256
2935 (base32 "1khaycydwa31sxwvrrvvlylpzdb77kkxfmb8cax3i22ix0c2nmlc"))))
2936 (build-system julia-build-system)
2937 ;; Package without Project.toml
2938 (arguments
2939 (list
2940 #:julia-package-name "IndexableBitVectors"
2941 #:julia-package-uuid "1cb3b9ac-1ffd-5777-9e6b-a3d42300664d"))
2942 (home-page "https://github.com/BioJulia/IndexableBitVectors.jl")
2943 (synopsis "Bit vectors operations with extremely fast speed")
2944 (description "This package exports following operations over bit vectors
2945 with extremely fast speed while keeping extra memory usage small:
2946 @itemize
2947 @item @code{getindex(bv::IndexableBitVectors, i::Integer)}: @code{i}-th
2948 element of @code{bv}
2949 @item @code{rank(b::Bool, bv::AbstractIndexableBitVector, i::Integer)}: the
2950 number of occurrences of bit @code{b} in @code{bv[1:i]}
2951 @item @code{select(b::Bool, bv::AbstractIndexableBitVector, i::Integer)}: the
2952 index of i-th occurrence of @code{b} in @code{bv}.
2953 @end itemize
2954 and other shortcuts or types.")
2955 ;; There are plenty of places in the code which rely on the
2956 ;; length of an Integer in a 64-bit system.
2957 (supported-systems %64bit-supported-systems)
2958 (license license:expat)))
2959
2960 (define-public julia-indexing
2961 (package
2962 (name "julia-indexing")
2963 (version "1.1.1")
2964 (source
2965 (origin
2966 (method git-fetch)
2967 (uri (git-reference
2968 (url "https://github.com/andyferris/Indexing.jl")
2969 (commit (string-append "v" version))))
2970 (file-name (git-file-name name version))
2971 (sha256
2972 (base32 "1s7bz5aaj9sx753pcaixq83jgbk33adxgybpinjgzb9lzdv1ddgx"))))
2973 (build-system julia-build-system)
2974 (home-page "https://github.com/andyferris/Indexing.jl")
2975 (synopsis "Generalized indexing for Julia")
2976 (description "This package defines functions for getting multiple indices
2977 out of dictionaries, tuples, etc, extending this ability beyond
2978 @code{AbstractArray}.")
2979 (license license:expat)))
2980
2981 (define-public julia-indirectarrays
2982 (package
2983 (name "julia-indirectarrays")
2984 (version "0.5.1")
2985 (source
2986 (origin
2987 (method git-fetch)
2988 (uri (git-reference
2989 (url "https://github.com/JuliaArrays/IndirectArrays.jl")
2990 (commit (string-append "v" version))))
2991 (file-name (git-file-name name version))
2992 (sha256
2993 (base32 "0l0jq0jnr9z3k431ni82xycq7mqapgxrbrx4yyk6lycvi41ipm4s"))))
2994 (build-system julia-build-system)
2995 (native-inputs
2996 (list julia-colors
2997 julia-fixedpointnumbers
2998 julia-mappedarrays))
2999 (home-page "https://github.com/JuliaArrays/IndirectArrays.jl")
3000 (synopsis "Julia implementation of indexed arrays")
3001 (description "An @code{IndirectArray} is one that encodes data using a
3002 combination of an @code{index} and a @code{value} table. Each element is
3003 assigned its own index, which is used to retrieve the value from the
3004 @code{value} table. Among other uses, @code{IndirectArrays} can represent
3005 indexed images, sometimes called \"colormap images\" or \"paletted images.\"")
3006 (license license:expat)))
3007
3008 (define-public julia-infinity
3009 (package
3010 (name "julia-infinity")
3011 (version "0.2.4")
3012 (source
3013 (origin
3014 (method git-fetch)
3015 (uri (git-reference
3016 (url "https://github.com/cjdoris/Infinity.jl")
3017 (commit (string-append "v" version))))
3018 (file-name (git-file-name name version))
3019 (sha256
3020 (base32 "1941lwvrdjnrynigzixxin3chpg1ba6xplvcwc89x0f6z658hwmm"))))
3021 (build-system julia-build-system)
3022 (arguments
3023 (list
3024 #:phases
3025 #~(modify-phases %standard-phases
3026 (add-after 'link-depot 'remove-timezones.jl
3027 (lambda _
3028 (substitute* "test/runtests.jl"
3029 (("using TimeZones.*") "")
3030 ((".*infextendedtime.*") "")))))))
3031 (propagated-inputs
3032 (list julia-requires))
3033 (native-inputs
3034 (list julia-compat))
3035 (home-page "https://docs.juliahub.com/Infinity/")
3036 (synopsis "Representation of infinity in Julia")
3037 (description "This package provides representations for infinity and
3038 negative infinity in Julia.")
3039 (license license:expat)))
3040
3041 (define-public julia-inifile
3042 (package
3043 (name "julia-inifile")
3044 (version "0.5.0")
3045 (source
3046 (origin
3047 (method git-fetch)
3048 (uri (git-reference
3049 (url "https://github.com/JuliaIO/IniFile.jl")
3050 (commit "8ba59958495fa276d6489d2c3903e765d75e0bc0")))
3051 (file-name (git-file-name name version))
3052 (sha256
3053 (base32 "11h6f99jpbg729lplw841m68jprka7q3n8yw390bndlmcdsjabpd"))))
3054 (build-system julia-build-system)
3055 (home-page "https://github.com/JuliaIO/IniFile.jl")
3056 (synopsis "Reading Windows-style INI files")
3057 (description "This is a Julia package that defines an IniFile type that
3058 interfaces with @file{.ini} files.")
3059 (license license:expat)))
3060
3061 (define-public julia-inlinestrings
3062 (package
3063 (name "julia-inlinestrings")
3064 (version "1.1.3")
3065 (source
3066 (origin
3067 (method git-fetch)
3068 (uri (git-reference
3069 (url "https://github.com/JuliaStrings/InlineStrings.jl")
3070 (commit (string-append "v" version))))
3071 (file-name (git-file-name name version))
3072 (sha256
3073 (base32 "1dcdpxlphjliqlnkcri7mhg9bqqzpsdj80h9gkw8xhzr3ls473zr"))))
3074 (build-system julia-build-system)
3075 (propagated-inputs
3076 (list julia-parsers))
3077 (home-page "https://github.com/JuliaStrings/InlineStrings.jl")
3078 (synopsis "Fixed-width string types")
3079 (description "This package provides a set of custom string types of
3080 various fixed sizes. Each inline string is a custom primitive type and can
3081 benefit from being stack friendly by avoiding allocations/heap tracking in the
3082 GC. When used in an array, the elements are able to be stored inline since
3083 each one has a fixed size. Currently support inline strings from 1 byte up to
3084 255 bytes.")
3085 (license license:expat)))
3086
3087 (define-public julia-interpolations
3088 (package
3089 (name "julia-interpolations")
3090 (version "0.13.6")
3091 (source
3092 (origin
3093 (method git-fetch)
3094 (uri (git-reference
3095 (url "https://github.com/JuliaMath/Interpolations.jl")
3096 (commit (string-append "v" version))))
3097 (file-name (git-file-name name version))
3098 (sha256
3099 (base32 "1skzvgd63rhj1zpn45gi3974rbrir9p2y17zyfmkz6c6nird7bkj"))))
3100 (build-system julia-build-system)
3101 (arguments
3102 (list
3103 #:parallel-tests? #f
3104 ;; XXXX: Unexpected failures for i686, e.g.,
3105 ;; Got exception outside of a @test
3106 ;; OverflowError: 96908232 * 106943408 overflowed for type Int32
3107 ;; Disable as stopgap.
3108 #:tests? (not (or (%current-target-system)
3109 (target-x86-32?)))))
3110 (propagated-inputs
3111 (list julia-axisalgorithms
3112 julia-chainrulescore
3113 julia-offsetarrays
3114 julia-ratios
3115 julia-requires
3116 julia-staticarrays
3117 julia-woodburymatrices))
3118 (native-inputs
3119 (list julia-colorvectorspace
3120 julia-dualnumbers
3121 julia-forwarddiff
3122 julia-offsetarrays
3123 julia-unitful
3124 julia-zygote))
3125 (home-page "https://github.com/JuliaMath/Interpolations.jl")
3126 (synopsis "Continuous interpolation of discrete datasets")
3127 (description "This package implements a variety of interpolation schemes for
3128 the Julia language. It has the goals of ease-of-use, broad algorithmic support,
3129 and exceptional performance.")
3130 (license license:expat)))
3131
3132 (define-public julia-intervalsets
3133 (package
3134 (name "julia-intervalsets")
3135 (version "0.5.3")
3136 (source
3137 (origin
3138 (method git-fetch)
3139 (uri (git-reference
3140 (url "https://github.com/JuliaMath/IntervalSets.jl")
3141 (commit (string-append "v" version))))
3142 (file-name (git-file-name name version))
3143 (sha256
3144 (base32 "0gsz89cd3iygbl5qr389k9vwpg7w1nk0s90g25nsmk34y9hifxag"))))
3145 (build-system julia-build-system)
3146 (arguments
3147 (list
3148 #:phases
3149 (if (target-x86-32?)
3150 #~(modify-phases %standard-phases
3151 (add-after 'unpack 'remove-failing-test-i686
3152 (lambda _
3153 (substitute* "test/runtests.jl"
3154 ;; For some reason, the output is correct but the test
3155 ;; is considered as failed:
3156 ;; Expression: duration(ClosedInterval(A, B)) ≡ 60
3157 ;; Evaluated: 60 ≡ 60
3158 (("@test duration\\(ClosedInterval")
3159 "@test_broken duration(ClosedInterval")))))
3160 #~%standard-phases)))
3161 (propagated-inputs
3162 (list julia-ellipsisnotation))
3163 (native-inputs
3164 (list julia-offsetarrays))
3165 (home-page "https://github.com/JuliaMath/IntervalSets.jl")
3166 (synopsis "Interval Sets for Julia")
3167 (description "This package is intended to implement a \"minimal\" foundation
3168 for intervals upon which other packages might build. In particular, we
3169 encourage type-piracy for the reason that only one interval package can
3170 unambiguously define the @code{..} and @code{±} operators.")
3171 (license license:expat)))
3172
3173 (define-public julia-intervaltrees
3174 ;; Last upstream release on May 2020 and this last release does not contain
3175 ;; the file Project.toml.
3176 (let ((commit "e37edab61568d08141a3e9c25ec55caac21e5aa5")
3177 (revision "1"))
3178 (package
3179 (name "julia-intervaltrees")
3180 (version (git-version "1.0.0" revision commit))
3181 (source
3182 (origin
3183 (method git-fetch)
3184 (uri (git-reference
3185 (url "https://github.com/BioJulia/IntervalTrees.jl")
3186 (commit commit)))
3187 (file-name (git-file-name name version))
3188 (sha256
3189 (base32 "01x48a5zrx0833s1kjhf0ml4x9xz8xja4ymran770akmf6968yl9"))))
3190 (build-system julia-build-system)
3191 (home-page "https://github.com/BioJulia/IntervalTrees.jl")
3192 (synopsis "Interval Trees for Julia")
3193 (description "This package provides an implementation of an associative
3194 container mapping @code{(K,V)} pairs via the type @code{IntervalTree{K, V}}.
3195 The type @code{K} may be any ordered type.")
3196 (license license:expat))))
3197
3198 (define-public julia-inversefunctions
3199 (package
3200 (name "julia-inversefunctions")
3201 (version "0.1.8")
3202 (source
3203 (origin
3204 (method git-fetch)
3205 (uri (git-reference
3206 (url "https://github.com/JuliaMath/InverseFunctions.jl")
3207 (commit (string-append "v" version))))
3208 (file-name (git-file-name name version))
3209 (sha256
3210 (base32 "05g9f6i735x7syfr56l4yf4fy71kgdisjc6cfxi4jkf46iq86a69"))))
3211 (build-system julia-build-system)
3212 (native-inputs
3213 (list julia-documenter))
3214 (home-page "https://github.com/JuliaMath/InverseFunctions.jl")
3215 (synopsis "Interface for function inversion")
3216 (description "This package provides an interface to invert functions.")
3217 (license license:expat)))
3218
3219 (define-public julia-invertedindices
3220 (package
3221 (name "julia-invertedindices")
3222 (version "1.1.0")
3223 (source
3224 (origin
3225 (method git-fetch)
3226 (uri (git-reference
3227 (url "https://github.com/mbauman/InvertedIndices.jl")
3228 (commit (string-append "v" version))))
3229 (file-name (git-file-name name version))
3230 (sha256
3231 (base32 "15ym4dzyi4fkz0dznni032w3c84zmfa6mrzj2ljqvlqx1i6agqis"))))
3232 (build-system julia-build-system)
3233 (native-inputs
3234 (list julia-offsetarrays))
3235 (home-page "https://github.com/mbauman/InvertedIndices.jl")
3236 (synopsis "Index type that allows for inverted selections")
3237 (description "This package just exports one type: the @code{InvertedIndex},
3238 or @code{Not} for short. It can wrap any supported index type and may be used
3239 as an index into any @code{AbstractArray} subtype, including OffsetArrays.")
3240 (license license:expat)))
3241
3242 (define-public julia-iocapture
3243 (package
3244 (name "julia-iocapture")
3245 (version "0.2.2")
3246 (source
3247 (origin
3248 (method git-fetch)
3249 (uri (git-reference
3250 (url "https://github.com/JuliaDocs/IOCapture.jl")
3251 (commit (string-append "v" version))))
3252 (file-name (git-file-name name version))
3253 (sha256
3254 (base32 "0v76wbvg80g9nx0rjbcna82zk61krly1y9yhyfrjv2pf7mcr4idb"))))
3255 (build-system julia-build-system)
3256 (home-page "https://github.com/JuliaDocs/IOCapture.jl")
3257 (synopsis "Capture standard output and error streams")
3258 (description "This package provides the @code{IOCapture.capture(f)}
3259 function, which captures the standard output and standard error, and returns it
3260 as a string together with the return value.")
3261 (license license:expat)))
3262
3263 (define-public julia-irrationalconstants
3264 (package
3265 (name "julia-irrationalconstants")
3266 (version "0.1.1")
3267 (source
3268 (origin
3269 (method git-fetch)
3270 (uri (git-reference
3271 (url "https://github.com/JuliaMath/IrrationalConstants.jl")
3272 (commit (string-append "v" version))))
3273 (file-name (git-file-name name version))
3274 (sha256
3275 (base32 "1a007iyh26x67a1bj6fcz7pfxa43kn2v7jpmnz727jkk3xgppg2s"))))
3276 (build-system julia-build-system)
3277 (home-page "https://github.com/JuliaMath/IrrationalConstants.jl")
3278 (synopsis "Additional irrationals for Julia")
3279 (description "This package provides these irrational constants:
3280 @itemize
3281 @item
3282 @item twoπ = 2π
3283 @item fourπ = 4π
3284 @item halfπ = π / 2
3285 @item quartπ = π / 4
3286 @item invπ = 1 / π
3287 @item twoinvπ = 2 / π
3288 @item fourinvπ = 4 / π
3289 @item inv2π = 1 / (2π)
3290 @item inv4π = 1 / (4π)
3291 @item sqrt2 = √2
3292 @item sqrt3 = √3
3293 @item sqrtπ = √π
3294 @item sqrt2π = √2π
3295 @item sqrt4π = √4π
3296 @item sqrthalfπ = √(π / 2)
3297 @item invsqrt2 = 1 / √2
3298 @item invsqrtπ = 1 / √π
3299 @item invsqrt2π = 1 / √2π
3300 @item loghalf = log(1 / 2)
3301 @item logtwo = log(2)
3302 @item logten = log(10)
3303 @item logπ = log(π)
3304 @item log2π = log(2π)
3305 @item log4π = log(4π)
3306 @end itemize")
3307 (license license:expat)))
3308
3309 (define-public julia-irtools
3310 (package
3311 (name "julia-irtools")
3312 (version "0.4.7")
3313 (source
3314 (origin
3315 (method git-fetch)
3316 (uri (git-reference
3317 (url "https://github.com/FluxML/IRTools.jl")
3318 (commit (string-append "v" version))))
3319 (file-name (git-file-name name version))
3320 (sha256
3321 (base32 "1faddim4gp9pgyadgxi7zdqpdn6qkh7acqpdy29ixpbnb0wgla5r"))))
3322 (build-system julia-build-system)
3323 (propagated-inputs
3324 (list julia-macrotools))
3325 (native-inputs
3326 (list julia-documenter))
3327 (home-page "https://github.com/FluxML/IRTools.jl")
3328 (synopsis "Simple and flexible IR format")
3329 (description "This package provides a simple and flexible IR format,
3330 expressive enough to work with both lowered and typed Julia code, as well as
3331 external IRs. It can be used with Julia metaprogramming tools such as
3332 Cassette.")
3333 (license license:expat)))
3334
3335 (define-public julia-iteratorinterfaceextensions
3336 (package
3337 (name "julia-iteratorinterfaceextensions")
3338 (version "1.0.0")
3339 (source
3340 (origin
3341 (method git-fetch)
3342 (uri (git-reference
3343 (url "https://github.com/queryverse/IteratorInterfaceExtensions.jl")
3344 (commit (string-append "v" version))))
3345 (file-name (git-file-name name version))
3346 (sha256
3347 (base32 "1slpay1dhja8f9gy6z7b3psgvgcknn963dvfqqakvg1grk9ppa09"))))
3348 (build-system julia-build-system)
3349 (home-page "https://github.com/queryverse/IteratorInterfaceExtensions.jl")
3350 (synopsis "Traits for Julia iterators")
3351 (description "IteratorInterfaceExtensions defines a small number of
3352 extensions to the iterator interface.")
3353 (license license:expat)))
3354
3355 (define-public julia-itertools
3356 (package
3357 (name "julia-itertools")
3358 (version "1.3.0")
3359 (source
3360 (origin
3361 (method git-fetch)
3362 (uri (git-reference
3363 (url "https://github.com/JuliaCollections/IterTools.jl")
3364 (commit (string-append "v" version))))
3365 (file-name (git-file-name name version))
3366 (sha256
3367 (base32 "0haf974kcqj6arv4if97ahs4w3dmvslh6ab3hl57r9s41ic36xdq"))))
3368 (build-system julia-build-system)
3369 (home-page "https://github.com/JuliaCollections/IterTools.jl")
3370 (synopsis "Common functional iterator patterns")
3371 (description
3372 "Common functional iterator patterns (formerly @code{Iterators.jl}).")
3373 (license license:expat)))
3374
3375 (define-public julia-jive
3376 (package
3377 (name "julia-jive")
3378 (version "0.2.27")
3379 (source
3380 (origin
3381 (method git-fetch)
3382 (uri (git-reference
3383 (url "https://github.com/wookay/Jive.jl")
3384 (commit (string-append "v" version))))
3385 (file-name (git-file-name name version))
3386 (sha256
3387 (base32 "010dxs9p5ab97h80kw12bx5mkraf0584wi0ggk8wnhg10jf3lpam"))))
3388 (build-system julia-build-system)
3389 (home-page "https://github.com/wookay/Jive.jl")
3390 (synopsis "Julia package to help with writing tests")
3391 (description "@code{Jive.jl} is a Julia package to help with writing tests.")
3392 (license license:expat)))
3393
3394 (define-public julia-json
3395 (package
3396 (name "julia-json")
3397 (version "0.21.3")
3398 (source
3399 (origin
3400 (method git-fetch)
3401 (uri (git-reference
3402 (url "https://github.com/JuliaIO/JSON.jl")
3403 (commit (string-append "v" version))))
3404 (file-name (git-file-name name version))
3405 (sha256
3406 (base32 "1l2p852sxq6h5fif3dqshvbw17gb06jmq2nkr88spvp7s0n0nslz"))))
3407 (build-system julia-build-system)
3408 (propagated-inputs
3409 (list julia-datastructures
3410 julia-fixedpointnumbers
3411 julia-parsers
3412 julia-offsetarrays))
3413 (home-page "https://github.com/JuliaIO/JSON.jl")
3414 (synopsis "JSON parsing and printing library for Julia")
3415 (description "@code{JSON.jl} is a pure Julia module which supports parsing
3416 and printing JSON documents.")
3417 (license license:expat)))
3418
3419 (define-public julia-json3
3420 (package
3421 (name "julia-json3")
3422 (version "1.9.0")
3423 (source
3424 (origin
3425 (method git-fetch)
3426 (uri (git-reference
3427 (url "https://github.com/quinnj/JSON3.jl")
3428 (commit (string-append "v" version))))
3429 (file-name (git-file-name name version))
3430 (sha256
3431 (base32 "11z5maz7v50wd99id8z7838higza0cllh2amkdkrlskbri3v2f17"))))
3432 (build-system julia-build-system)
3433 (propagated-inputs
3434 (list julia-parsers
3435 julia-structtypes))
3436 (home-page "https://github.com/quinnj/JSON3.jl")
3437 (synopsis "JSON package for Julia")
3438 (description "This package provides another JSON package for Julia, with a
3439 focus on speed and slick struct mapping.")
3440 (license license:expat)))
3441
3442 (define-public julia-juno
3443 (package
3444 (name "julia-juno")
3445 (version "0.8.4")
3446 (source
3447 (origin
3448 (method git-fetch)
3449 (uri (git-reference
3450 (url "https://github.com/JunoLab/Juno.jl")
3451 (commit (string-append "v" version))))
3452 (file-name (git-file-name name version))
3453 (sha256
3454 (base32 "02ryj5blnrmck3jisrpwn1x563i7rsg65d7zms52njsvv499gygk"))))
3455 (build-system julia-build-system)
3456 (inputs
3457 (list julia-media))
3458 (home-page "https://github.com/JunoLab/Juno.jl")
3459 (synopsis "Integrated Development Environment (IDE) for Julia")
3460 (description "This package provides tools to help you develop code. Juno
3461 is built on the Atom text editor. Juno consists of both Julia and Atom
3462 packages in order to add Julia-specific enhancements, such as syntax
3463 highlighting, a plot pane, integration with Julia's debugger, a console for
3464 running code, and much more.
3465
3466 Consider that the package is “maintenance-only mode” and only receives bug
3467 fixes. The Julia IDE effort is pointed to extension for VSCode.")
3468 (license license:expat)))
3469
3470 (define-public julia-latexstrings
3471 (package
3472 (name "julia-latexstrings")
3473 (version "1.3.0")
3474 (source
3475 (origin
3476 (method git-fetch)
3477 (uri (git-reference
3478 (url "https://github.com/stevengj/LaTeXStrings.jl")
3479 (commit (string-append "v" version))))
3480 (file-name (git-file-name name version))
3481 (sha256
3482 (base32 "0iijp96ca9mqg5skr6ps7q0lvqaa374lr2zkbbia5q6qgpq0j5ww"))))
3483 (build-system julia-build-system)
3484 (native-inputs
3485 (list julia-documenter))
3486 (home-page "https://github.com/stevengj/LaTeXStrings.jl")
3487 (synopsis "Input and display of LaTeX equation strings")
3488 (description "This is a small package to make it easier to type LaTeX
3489 equations in string literals in the Julia language.")
3490 (license license:expat)))
3491
3492 (define-public julia-lazyarrays
3493 (package
3494 (name "julia-lazyarrays")
3495 (version "0.22.16")
3496 (source
3497 (origin
3498 (method git-fetch)
3499 (uri (git-reference
3500 (url "https://github.com/JuliaArrays/LazyArrays.jl")
3501 (commit (string-append "v" version))))
3502 (file-name (git-file-name name version))
3503 (sha256
3504 (base32 "127yld4f26lchw5jwp30g2jkjbm7narfsxwcbggy7dfp43s531c5"))))
3505 (build-system julia-build-system)
3506 (arguments
3507 (list
3508 #:phases
3509 (if (target-64bit?)
3510 #~%standard-phases
3511 #~(modify-phases %standard-phases
3512 (add-after 'unpack 'fix-tests-int32-i686
3513 (lambda _
3514 (substitute* "test/multests.jl"
3515 (("Int64") "Int32"))))))))
3516 (propagated-inputs
3517 (list julia-aqua
3518 julia-arraylayouts
3519 julia-fillarrays
3520 julia-macrotools
3521 julia-matrixfactorizations
3522 julia-staticarrays))
3523 (native-inputs
3524 (list julia-aqua
3525 julia-tracker))
3526 (home-page "https://github.com/JuliaArrays/LazyArrays.jl")
3527 (synopsis "Lazy arrays and linear algebra")
3528 (description "This package supports lazy analogues of array operations like
3529 @code{vcat}, @code{hcat}, and multiplication. This helps with the
3530 implementation of matrix-free methods for iterative solvers.")
3531 (license license:expat)))
3532
3533 (define-public julia-linesearches
3534 (package
3535 (name "julia-linesearches")
3536 (version "7.1.1")
3537 (source
3538 (origin
3539 (method git-fetch)
3540 (uri (git-reference
3541 (url "https://github.com/JuliaNLSolvers/LineSearches.jl")
3542 (commit (string-append "v" version))))
3543 (file-name (git-file-name name version))
3544 (sha256
3545 (base32 "1qc4la07w6s1xhcyd0hvbnpr31zc1a2ssgyybc8biv5m00g0dnr0"))))
3546 (build-system julia-build-system)
3547 (arguments
3548 (list
3549 #:phases
3550 #~(modify-phases %standard-phases
3551 (add-after 'link-depot 'skip-optim-tests
3552 (lambda _
3553 (substitute* "test/examples.jl"
3554 ;; Prevent a cycle with Optim.jl.
3555 (("^ SKIPFILE.*") "")
3556 (("^ #SKIPFILE") " SKIPFILE"))))
3557 (add-after 'link-depot 'skip-doublefloats-tests
3558 (lambda _
3559 (substitute* "test/runtests.jl"
3560 (("using DoubleFloats.*") "")
3561 ((".*arbitrary_precision\\.jl.*") "")))))))
3562 (propagated-inputs
3563 (list julia-nlsolversbase
3564 julia-nanmath
3565 julia-parameters))
3566 (native-inputs
3567 ;; DoubleFloats.jl transitively depends on TimeZones.jl, which is currently
3568 ;; unpackageable due to its oversized Artifacts.toml.
3569 (list ;julia-doublefloats
3570 julia-optimtestproblems))
3571 (home-page "https://github.com/JuliaNLSolvers/LineSearches.jl")
3572 (synopsis "Line search methods for optimization and root-finding")
3573 (description "This package provides an interface to line search algorithms
3574 implemented in Julia.")
3575 (license license:expat)))
3576
3577 (define-public julia-logexpfunctions
3578 (package
3579 (name "julia-logexpfunctions")
3580 (version "0.3.17")
3581 (source
3582 (origin
3583 (method git-fetch)
3584 (uri (git-reference
3585 (url "https://github.com/JuliaStats/LogExpFunctions.jl")
3586 (commit (string-append "v" version))))
3587 (file-name (git-file-name name version))
3588 (sha256
3589 (base32 "0272c1256r42y6g4wsjmgpwcl5s7z98b8sfmyycckqf0zp5dzxg4"))))
3590 (build-system julia-build-system)
3591 (propagated-inputs
3592 (list julia-chainrulescore
3593 julia-changesofvariables
3594 julia-docstringextensions
3595 julia-inversefunctions
3596 julia-irrationalconstants))
3597 (native-inputs
3598 (list julia-chainrulestestutils
3599 julia-offsetarrays))
3600 (home-page "https://github.com/JuliaStats/LogExpFunctions.jl")
3601 (synopsis "Special functions based on @code{log} and @code{exp}")
3602 (description "Various special functions based on log and exp moved from
3603 @code{StatsFuns.jl} into a separate package, to minimize dependencies. These
3604 functions only use native Julia code, so there is no need to depend on
3605 @code{librmath} or similar libraries.")
3606 (license license:expat)))
3607
3608 (define-public julia-macrotools
3609 (package
3610 (name "julia-macrotools")
3611 (version "0.5.6")
3612 (source
3613 (origin
3614 (method git-fetch)
3615 (uri (git-reference
3616 (url "https://github.com/FluxML/MacroTools.jl")
3617 (commit (string-append "v" version))))
3618 (file-name (git-file-name name version))
3619 (sha256
3620 (base32 "0k4z2hyasd9cwxf4l61zk3w4ajs44k69wx6z1ghdn8f5p8xy217f"))))
3621 (build-system julia-build-system)
3622 (home-page "https://fluxml.ai/MacroTools.jl")
3623 (synopsis "Tools for working with Julia code and expressions")
3624 (description "This library provides tools for working with Julia code and
3625 expressions. This includes a template-matching system and code-walking tools
3626 that let you do deep transformations of code.")
3627 (license license:expat)))
3628
3629 (define-public julia-mappedarrays
3630 (package
3631 (name "julia-mappedarrays")
3632 (version "0.4.1")
3633 (source
3634 (origin
3635 (method git-fetch)
3636 (uri (git-reference
3637 (url "https://github.com/JuliaArrays/MappedArrays.jl")
3638 (commit (string-append "v" version))))
3639 (file-name (git-file-name name version))
3640 (sha256
3641 (base32 "08kb28dv1zzqbbxblhyllgs4sjxyp76dgjqhdizcq4zg4i1kls6p"))
3642 (snippet
3643 #~(begin
3644 (use-modules (guix build utils))
3645 ;; Fix deprecation warning
3646 ;; https://github.com/JuliaArrays/MappedArrays.jl/pull/51
3647 (substitute* "src/MappedArrays.jl"
3648 (("Vararg\\{<:AbstractArray") "Vararg{AbstractArray"))
3649 ;; Fix test failures
3650 ;; https://github.com/JuliaArrays/MappedArrays.jl/pull/50
3651 (substitute* "test/runtests.jl"
3652 (("_zero\\(x\\) = x > 0 \\? x : 0")
3653 "_zero(x) = ismissing(x) ? x : (x > 0 ? x : 0)"))))))
3654 (build-system julia-build-system)
3655 (arguments
3656 (list
3657 #:phases
3658 #~(modify-phases %standard-phases
3659 (add-after 'unpack 'adjust-tests
3660 (lambda _
3661 (substitute* "test/runtests.jl"
3662 ((".*@test_throws ErrorException b.*") ""))
3663
3664 (when #$(not (target-64bit?))
3665 (substitute* "test/runtests.jl"
3666 (("Int64") "Int32"))))))))
3667 (propagated-inputs
3668 (list julia-fixedpointnumbers))
3669 (native-inputs
3670 (list julia-colors
3671 julia-fixedpointnumbers
3672 julia-offsetarrays))
3673 (home-page "https://github.com/JuliaArrays/MappedArrays.jl")
3674 (synopsis "Lazy in-place transformations of arrays")
3675 (description "This package implements \"lazy\" in-place elementwise
3676 transformations of arrays for the Julia programming language. Explicitly, it
3677 provides a \"view\" M of an array A so that @code{M[i] = f(A[i])} for a
3678 specified (but arbitrary) function f, without ever having to compute M
3679 explicitly (in the sense of allocating storage for M). The name of the package
3680 comes from the fact that @code{M == map(f, A)}.")
3681 (license license:expat)))
3682
3683 (define-public julia-matrixfactorizations
3684 (package
3685 (name "julia-matrixfactorizations")
3686 (version "0.9.3")
3687 (source
3688 (origin
3689 (method git-fetch)
3690 (uri (git-reference
3691 (url "https://github.com/JuliaMatrices/MatrixFactorizations.jl")
3692 (commit (string-append "v" version))))
3693 (file-name (git-file-name name version))
3694 (sha256
3695 (base32 "0sqmig01irmvh617h2rsw44hl39qwv2913nlqjsdz9si5vli2hsl"))))
3696 (build-system julia-build-system)
3697 (arguments
3698 (list
3699 #:phases
3700 #~(modify-phases %standard-phases
3701 (add-after 'link-depot 'skip-failing-test
3702 (lambda _
3703 (substitute* "test/test_ul.jl"
3704 ;; Don't warn on the REPL test.
3705 (("test String") "test_nowarn String")))))))
3706 (propagated-inputs
3707 (list julia-arraylayouts))
3708 (home-page "https://github.com/JuliaMatrices/MatrixFactorizations.jl")
3709 (synopsis "Julia package to contain non-standard matrix factorizations")
3710 (description "A Julia package to contain non-standard matrix factorizations.
3711 At the moment it implements the QL, RQ, and UL factorizations, a combined
3712 Cholesky factorization with inverse, and polar decompositions. In the future it
3713 may include other factorizations such as the LQ factorization.")
3714 (license license:expat)))
3715
3716 (define-public julia-mbedtls
3717 (package
3718 (name "julia-mbedtls")
3719 (version "1.0.3")
3720 (source
3721 (origin
3722 (method git-fetch)
3723 (uri (git-reference
3724 (url "https://github.com/JuliaLang/MbedTLS.jl")
3725 (commit (string-append "v" version))))
3726 (file-name (git-file-name name version))
3727 (sha256
3728 (base32 "0zjzf2r57l24n3k0gcqkvx3izwn5827iv9ak0lqix0aa5967wvfb"))))
3729 (build-system julia-build-system)
3730 (arguments
3731 (list
3732 #:phases
3733 #~(modify-phases %standard-phases
3734 (add-before 'install 'disable-network-tests
3735 ;; Tries to connect to httpbin.org
3736 (lambda _
3737 (substitute* "test/runtests.jl"
3738 (("testhost =") "return #")))))))
3739 (propagated-inputs
3740 (list julia-mbedtls-jll))
3741 (home-page "https://github.com/JuliaLang/MbedTLS.jl")
3742 (synopsis "Apache's mbed TLS library wrapper")
3743 (description "@code{MbedTLS.jl} provides a wrapper around the @code{mbed
3744 TLS} and cryptography C library for Julia.")
3745 (license license:expat)))
3746
3747 (define-public julia-measurements
3748 (package
3749 (name "julia-measurements")
3750 (version "2.8.0")
3751 (source
3752 (origin
3753 (method git-fetch)
3754 (uri (git-reference
3755 (url "https://github.com/JuliaPhysics/Measurements.jl")
3756 (commit (string-append "v" version))))
3757 (file-name (git-file-name name version))
3758 (sha256
3759 (base32 "1rn7qaf2s3l7awm8q5fjxlp1503g9mjgmsnvrbhjjvwyyn1k705r"))))
3760 (build-system julia-build-system)
3761 (propagated-inputs
3762 (list julia-calculus
3763 julia-recipesbase
3764 julia-requires))
3765 (native-inputs
3766 (list julia-aqua
3767 julia-quadgk
3768 julia-specialfunctions
3769 julia-unitful))
3770 (home-page "https://juliaphysics.github.io/Measurements.jl/stable/")
3771 (synopsis "Error propagation calculator and library")
3772 (description "@code{Measurements.jl} is an error propagation calculator and
3773 library for physical measurements. It supports real and complex numbers with
3774 uncertainty, arbitrary precision calculations, operations with arrays, and
3775 numerical integration. The linear error propagation theory is employed to
3776 propagate the errors.")
3777 (license license:expat)))
3778
3779 (define-public julia-measures
3780 (package
3781 (name "julia-measures")
3782 (version "0.3.1")
3783 (source
3784 (origin
3785 (method git-fetch)
3786 (uri (git-reference
3787 (url "https://github.com/JuliaGraphics/Measures.jl")
3788 (commit (string-append "v" version))))
3789 (file-name (git-file-name name version))
3790 (sha256
3791 (base32 "0j34psrdijnqqn9zv0r2sknr1p9q0mmbjvjhmjra37bb5fh2gk8l"))))
3792 (build-system julia-build-system)
3793 (home-page "https://github.com/JuliaGraphics/Measures.jl")
3794 (synopsis "Unified measure and coordinates types")
3795 (description "This library generalizes and unifies the notion of measures
3796 used in Compose, Compose3D, and Escher. It allows building up and representing
3797 expressions involving differing types of units that are then evaluated,
3798 resolving them into absolute units.")
3799 (license license:expat)))
3800
3801 (define-public julia-media
3802 (package
3803 (name "julia-media")
3804 (version "0.5.0")
3805 (source
3806 (origin
3807 (method git-fetch)
3808 (uri (git-reference
3809 (url "https://github.com/JunoLab/Media.jl")
3810 (commit (string-append "v" version))))
3811 (file-name (git-file-name name version))
3812 (sha256
3813 (base32 "05jq9j3vs8yfj2lwz3sh1vk5rha06xdcikp9s2q3dn316vryy6di"))))
3814 (build-system julia-build-system)
3815 ;; Package without Project.toml
3816 (arguments
3817 (list
3818 #:julia-package-name "Media"
3819 #:julia-package-uuid "e89f7d12-3494-54d1-8411-f7d8b9ae1f27"
3820 #:julia-package-dependencies
3821 #~(list '("MacroTools" . "1914dd2f-81c6-5fcd-8719-6d5c9610ff09"))))
3822 (propagated-inputs
3823 (list julia-macrotools))
3824 (home-page "https://github.com/JunoLab/Media.jl")
3825 (synopsis "Unified measure and coordinates types")
3826 (description "This package provides a display system which enables the
3827 user handle multiple input/output devices and decide what media types get
3828 displayed where.")
3829 (license license:expat)))
3830
3831 (define-public julia-millboard
3832 (package
3833 (name "julia-millboard")
3834 (version "0.2.5")
3835 (source
3836 (origin
3837 (method git-fetch)
3838 (uri (git-reference
3839 (url "https://github.com/wookay/Millboard.jl")
3840 (commit (string-append "v" version))))
3841 (file-name (git-file-name name version))
3842 (sha256
3843 (base32 "0k9jqgp285qhckldvvsmfk6s69dcr8s74m2fijgm2vxjj2gqjs1n"))))
3844 (build-system julia-build-system)
3845 (native-inputs
3846 (list julia-jive))
3847 (home-page "https://github.com/wookay/Millboard.jl")
3848 (synopsis "Displaying data in tables for Julia")
3849 (description
3850 "@code{Millboard.jl} provides a library for getting data in a tablized
3851 format to arrange into rows and columns of cells.")
3852 (license license:expat)))
3853
3854 (define-public julia-missings
3855 (package
3856 (name "julia-missings")
3857 (version "1.0.2")
3858 (source
3859 (origin
3860 (method git-fetch)
3861 (uri (git-reference
3862 (url "https://github.com/JuliaData/Missings.jl")
3863 (commit (string-append "v" version))))
3864 (file-name (git-file-name name version))
3865 (sha256
3866 (base32 "1k481rm5lahmjyh34j177d4n10svgr0wm7ps5m3ar3xx6nr26ad5"))))
3867 (build-system julia-build-system)
3868 (propagated-inputs
3869 (list julia-dataapi))
3870 (home-page "https://github.com/JuliaData/Missings.jl")
3871 (synopsis "Additional missing value support for Julia")
3872 (description "This package provides additional functionality for working
3873 with @code{missing} values in Julia.")
3874 (license license:expat)))
3875
3876 (define-public julia-mlstyle
3877 (package
3878 (name "julia-mlstyle")
3879 (version "0.4.10")
3880 (source
3881 (origin
3882 (method git-fetch)
3883 (uri (git-reference
3884 (url "https://github.com/thautwarm/MLStyle.jl")
3885 (commit (string-append "v" version))))
3886 (file-name (git-file-name name version))
3887 (sha256
3888 (base32 "0h1cd7cr4c4cnpqyj3180113gdbvcc047lqphp8a8gq5smp3c059"))))
3889 (build-system julia-build-system)
3890 (native-inputs
3891 (list julia-datastructures))
3892 (home-page "https://thautwarm.github.io/MLStyle.jl/latest/")
3893 (synopsis "Julia functional programming infrastructures")
3894 (description "This package provides consistent and extensible functional
3895 programming infrastructures, and metaprogramming facilities.")
3896 (license license:expat)))
3897
3898 (define-public julia-mocking
3899 (package
3900 (name "julia-mocking")
3901 (version "0.7.3")
3902 (source
3903 (origin
3904 (method git-fetch)
3905 (uri (git-reference
3906 (url "https://github.com/invenia/Mocking.jl")
3907 (commit (string-append "v" version))))
3908 (file-name (git-file-name name version))
3909 (sha256
3910 (base32 "1cg2is83bjmrchmmxcgx57k8c9b9vlamrw38v4fdhbb6d4six5cg"))))
3911 (build-system julia-build-system)
3912 (propagated-inputs
3913 (list julia-compat
3914 julia-exprtools))
3915 (home-page "https://github.com/invenia/Mocking.jl")
3916 (synopsis "Overload Julia function calls")
3917 (description "The purpose of this package is to allow Julia function calls
3918 to be temporarily overloaded for the purpose of testing.")
3919 (license license:expat)))
3920
3921 (define-public julia-mosaicviews
3922 (package
3923 (name "julia-mosaicviews")
3924 (version "0.3.3")
3925 (source
3926 (origin
3927 (method git-fetch)
3928 (uri (git-reference
3929 (url "https://github.com/JuliaArrays/MosaicViews.jl")
3930 (commit (string-append "v" version))))
3931 (file-name (git-file-name name version))
3932 (sha256
3933 (base32 "04fgxghyb7n2ji76xkb1r1fjhzsdbgmp5wsfyyn3yjcsdqbyp8pz"))))
3934 (build-system julia-build-system)
3935 (arguments
3936 (list #:tests? #f)) ; Cycle with ImageCore.jl
3937 (propagated-inputs
3938 (list julia-mappedarrays
3939 julia-paddedviews
3940 julia-stackviews))
3941 ;(native-inputs
3942 ; `(("julia-colorvectorspace" ,julia-colorvectorspace)
3943 ; ("julia-imagecore" ,julia-imagecore)))
3944 (home-page "https://github.com/JuliaArrays/MosaicViews.jl")
3945 (synopsis
3946 "Lazily view a 3D or 4D array as an expanded 2D array as a matrix of slices")
3947 (description "When visualizing images, it is not uncommon to provide a 2D
3948 view of different image sources. For example, comparing multiple images of
3949 different sizes, getting a preview of machine learning dataset. This package
3950 aims to provide easy-to-use tools for such tasks.")
3951 (license license:expat)))
3952
3953 (define-public julia-msgpack
3954 (package
3955 (name "julia-msgpack")
3956 (version "1.1.0")
3957 (source
3958 (origin
3959 (method git-fetch)
3960 (uri (git-reference
3961 (url "https://github.com/JuliaIO/MsgPack.jl")
3962 (commit (string-append "v" version))))
3963 (file-name (git-file-name name version))
3964 (sha256
3965 (base32 "1layiqjf9si38pfdcszppgcy4zbfqgld7jlw8x645sm9b17b19fg"))))
3966 (build-system julia-build-system)
3967 (home-page "https://github.com/JuliaIO/MsgPack.jl")
3968 (synopsis "Julia MsgPack implementation")
3969 (description "@code{MsgPack.jl} is a MessagePack implementation in pure
3970 Julia, with type-driven, overloadable packing/unpacking functionality.")
3971 (license license:expat)))
3972
3973 (define-public julia-mutablearithmetics
3974 (package
3975 (name "julia-mutablearithmetics")
3976 (version "0.2.20")
3977 (source
3978 (origin
3979 (method git-fetch)
3980 (uri (git-reference
3981 (url "https://github.com/jump-dev/MutableArithmetics.jl")
3982 (commit (string-append "v" version))))
3983 (file-name (git-file-name name version))
3984 (sha256
3985 (base32 "1isyj8h4nx96cr6892d154v8pw1nhr7mjyz5bd6ffr2mkzb2bq4f"))))
3986 (build-system julia-build-system)
3987 (arguments
3988 (list
3989 #:phases
3990 (if (target-x86-32?)
3991 #~(modify-phases %standard-phases
3992 (add-after 'unpack 'remove-failing-test-i686
3993 (lambda _
3994 (substitute* "test/utilities.jl"
3995 ;; Non-deterministic returned value, e.g.,
3996 ;; Expression: n == @allocated(f())
3997 ;; Evaluated: 240 == 120
3998 ;; and for some other values:
3999 ;; Got correct result, please change to @test
4000 ;; so @test_broken is not enough.
4001 (("@test n == @allocated f\\(\\)")
4002 " ")))))
4003 #~%standard-phases)))
4004 (propagated-inputs
4005 (list julia-offsetarrays))
4006 (home-page "https://github.com/jump-dev/MutableArithmetics.jl")
4007 (synopsis "Interface for arithmetics on mutable types in Julia")
4008 (description "MutableArithmetics is a Julia package which allows:
4009 @itemize
4010 @item mutable types to implement mutable arithmetics
4011 @item algorithms that could exploit mutable arithmetics to exploit them while
4012 still being completely generic
4013 @end itemize")
4014 (license license:mpl2.0)))
4015
4016 (define-public julia-nanmath
4017 (package
4018 (name "julia-nanmath")
4019 (version "0.3.7")
4020 (source
4021 (origin
4022 (method git-fetch)
4023 (uri (git-reference
4024 (url "https://github.com/mlubin/NaNMath.jl")
4025 (commit (string-append "v" version))))
4026 (file-name (git-file-name name version))
4027 (sha256
4028 (base32 "1fwqa2fzl84a86ppjb2xaqh93b5gg42zyrclbjfdm5l0044hwii6"))))
4029 (build-system julia-build-system)
4030 (home-page "https://github.com/mlubin/NaNMath.jl")
4031 (synopsis "Implementations of basic math functions")
4032 (description "Implementations of basic math functions which return
4033 @code{NaN} instead of throwing a @code{DomainError}.")
4034 (license license:expat)))
4035
4036 (define-public julia-nlsolversbase
4037 (package
4038 (name "julia-nlsolversbase")
4039 (version "7.8.0")
4040 (source
4041 (origin
4042 (method git-fetch)
4043 (uri (git-reference
4044 (url "https://github.com/JuliaNLSolvers/NLSolversBase.jl")
4045 (commit (string-append "v" version))))
4046 (file-name (git-file-name name version))
4047 (sha256
4048 (base32 "0n8qh5a2ghjx1j70zxn0hmh8gzpa46kmjg8di879y9974bfk0f98"))))
4049 (build-system julia-build-system)
4050 (propagated-inputs
4051 (list julia-diffresults
4052 julia-finitediff
4053 julia-forwarddiff))
4054 (native-inputs
4055 (list julia-optimtestproblems
4056 julia-recursivearraytools))
4057 (home-page "https://github.com/JuliaNLSolvers/NLSolversBase.jl")
4058 (synopsis "Optimization and equation solver software in JuliaNLSolvers")
4059 (description "This package aims at establishing common ground for Optim.jl,
4060 LineSearches.jl, and NLsolve.jl. The common ground is mainly the types used to
4061 hold objective related callables, information about the objectives, and an
4062 interface to interact with these types.")
4063 (license license:expat)))
4064
4065 (define-public julia-nnlib
4066 (package
4067 (name "julia-nnlib")
4068 (version "0.7.34")
4069 (source
4070 (origin
4071 (method git-fetch)
4072 (uri (git-reference
4073 (url "https://github.com/FluxML/NNlib.jl")
4074 (commit (string-append "v" version))))
4075 (file-name (git-file-name name version))
4076 (sha256
4077 (base32 "1xzlh7pj6aqmbkrskqgwvifprg9a6xkkdh00ls6f6xnzqfrnhwna"))))
4078 (build-system julia-build-system)
4079 (arguments
4080 (list
4081 #:phases
4082 #~(modify-phases %standard-phases
4083 (add-after 'link-depot 'skip-some-tests
4084 (lambda _
4085 (substitute* "test/runtests.jl"
4086 ;; Skip the CUDA tests
4087 (("using CUDA") "")
4088 (("&& CUDA\\.functional\\(\\)") "")
4089
4090 ;; UnicodePlots is only used for the doctests
4091 (("if VERSION <.*") "if true\n"))
4092 (setenv "NNLIB_TEST_CUDA" "false"))))))
4093 (propagated-inputs
4094 (list julia-adapt
4095 julia-chainrulescore
4096 julia-compat
4097 julia-requires))
4098 (native-inputs
4099 (list julia-chainrulestestutils
4100 julia-stablerngs
4101 julia-zygote))
4102 (home-page "https://github.com/FluxML/NNlib.jl")
4103 (synopsis "Neural Network primitives with multiple backends")
4104 (description "This package will provide a library of functions useful for
4105 machine learning, such as softmax, sigmoid, convolutions and pooling. It
4106 doesn't provide any other \"high-level\" functionality like layers or AD.")
4107 (license license:expat)))
4108
4109 (define-public julia-optim
4110 (package
4111 (name "julia-optim")
4112 (version "1.7.4")
4113 (source
4114 (origin
4115 (method git-fetch)
4116 (uri (git-reference
4117 (url "https://github.com/JuliaNLSolvers/Optim.jl")
4118 (commit (string-append "v" version))))
4119 (file-name (git-file-name name version))
4120 (sha256
4121 (base32 "0pdwa2xm08c3g979qgsmcr343j4kkh4l6x5rdj1blhqh5gw8172b"))))
4122 (build-system julia-build-system)
4123 (arguments
4124 (list
4125 #:phases
4126 #~(modify-phases %standard-phases
4127 (add-after 'unpack 'adjust-tests
4128 (lambda _
4129 (substitute* "test/runtests.jl"
4130 ;; Distributions.jl isn't packaged yet.
4131 ((".*newton_trust_region.*") ""))
4132 (substitute*
4133 "test/multivariate/solvers/constrained/ipnewton/constraints.jl"
4134 ;; TODO: Figure out why this test fails.
4135 (("@test Optim\\.converged") "@test_skip Optim.converged")
4136 (("@test Optim\\.minimum") "@test_skip Optim.minimum")))))))
4137 (propagated-inputs
4138 (list julia-compat
4139 julia-fillarrays
4140 julia-forwarddiff
4141 julia-linesearches
4142 julia-nanmath
4143 julia-nlsolversbase
4144 julia-parameters
4145 julia-positivefactorizations
4146 julia-statsbase))
4147 (native-inputs
4148 (list julia-linesearches
4149 julia-measurements
4150 julia-nlsolversbase
4151 julia-optimtestproblems
4152 julia-positivefactorizations
4153 julia-recursivearraytools
4154 julia-stablerngs))
4155 (home-page "https://github.com/JuliaNLSolvers/Optim.jl")
4156 (synopsis "Optimization functions for Julia")
4157 (description "@code{Optim.jl} is a package for univariate and multivariate
4158 optimization of functions.")
4159 (license license:expat)))
4160
4161 (define-public julia-optimisers
4162 (package
4163 (name "julia-optimisers")
4164 (version "0.2.13")
4165 (source
4166 (origin
4167 (method git-fetch)
4168 (uri (git-reference
4169 (url "https://github.com/FluxML/Optimisers.jl")
4170 (commit (string-append "v" version))))
4171 (file-name (git-file-name name version))
4172 (sha256
4173 (base32 "1xs51r365l6r56rpm08kba00nfcl5jlglwy8494w06vbi22ysbq7"))))
4174 (build-system julia-build-system)
4175 (propagated-inputs
4176 (list julia-chainrulescore
4177 julia-functors
4178 julia-zygote))
4179 (native-inputs
4180 (list julia-staticarrays
4181 julia-zygote))
4182 (home-page "https://github.com/FluxML/Optimisers.jl")
4183 (synopsis "Optimisers and utilities for learning loops")
4184 (description "@code{Optimisers.jl} defines many standard gradient-based
4185 optimisation rules, and tools for applying them to deeply nested models.")
4186 (license license:expat)))
4187
4188 (define-public julia-optimtestproblems
4189 (package
4190 (name "julia-optimtestproblems")
4191 (version "2.0.2")
4192 (source
4193 (origin
4194 (method git-fetch)
4195 (uri (git-reference
4196 (url "https://github.com/JuliaNLSolvers/OptimTestProblems.jl")
4197 (commit (string-append "v" version))))
4198 (file-name (git-file-name name version))
4199 (sha256
4200 (base32 "10h47x5ws42pkqjccimaz0yxfvz41w0yazq6inamfk4lg5g2g3d9"))))
4201 (build-system julia-build-system)
4202 (arguments
4203 (list
4204 #:julia-package-name "OptimTestProblems"
4205 #:julia-package-uuid "cec144fc-5a64-5bc6-99fb-dde8f63e154c"
4206 #:julia-package-dependencies
4207 #~(list '("LinearAlgebra" . "37e2e46d-f89d-539d-b4ee-838fcccc9c8e")
4208 '("SparseArrays" . "2f01184e-e22b-5df5-ae63-d93ebab69eaf")
4209 '("Test" . "8dfed614-e22c-5e08-85e1-65c5234f0b40"))))
4210 (home-page "https://github.com/JuliaNLSolvers/OptimTestProblems.jl")
4211 (synopsis "Collection of optimization test problems")
4212 (description "The purpose of this package is to provide test problems for
4213 JuliaNLSolvers packages.")
4214 (license license:expat)))
4215
4216 (define-public julia-orderedcollections
4217 (package
4218 (name "julia-orderedcollections")
4219 (version "1.4.1")
4220 (source
4221 (origin
4222 (method git-fetch)
4223 (uri (git-reference
4224 (url "https://github.com/JuliaCollections/OrderedCollections.jl")
4225 (commit (string-append "v" version))))
4226 (file-name (git-file-name name version))
4227 (sha256
4228 (base32 "0jaxcmvkp8zpqrz101yikdigz90s70i7in5wn8kybwzf0na3lhwf"))))
4229 (build-system julia-build-system)
4230 (home-page "https://github.com/JuliaCollections/OrderedCollections.jl")
4231 (synopsis "Associative containers that preserve insertion order")
4232 (description "This package implements @code{OrderedDicts} and
4233 @code{OrderedSets}, which are similar to containers in base Julia. However,
4234 during iteration the @code{Ordered*} containers return items in the order in
4235 which they were added to the collection.")
4236 (license license:expat)))
4237
4238 (define-public julia-offsetarrays
4239 (package
4240 (name "julia-offsetarrays")
4241 (version "1.12.8")
4242 (source
4243 (origin
4244 (method git-fetch)
4245 (uri (git-reference
4246 (url "https://github.com/JuliaArrays/OffsetArrays.jl")
4247 (commit (string-append "v" version))))
4248 (file-name (git-file-name name version))
4249 (sha256
4250 (base32 "09cidr42q0xwp6wwyaw09hl580vqi85wb5f78pxrxcfm75yg3xki"))))
4251 (build-system julia-build-system)
4252 (propagated-inputs
4253 (list julia-adapt))
4254 ;; CatIndices depends on OffsetArrays, introducing a recursive dependency
4255 (arguments (list #:tests? #f))
4256 (home-page "https://juliaarrays.github.io/OffsetArrays.jl/stable/")
4257 (synopsis "Fortran-like arrays with arbitrary, zero or negative indices")
4258 (description "@code{OffsetArrays.jl} provides Julia users with arrays that
4259 have arbitrary indices, similar to those found in some other programming
4260 languages like Fortran.")
4261 (license license:expat)))
4262
4263 (define-public julia-paddedviews
4264 (package
4265 (name "julia-paddedviews")
4266 (version "0.5.11")
4267 (source
4268 (origin
4269 (method git-fetch)
4270 (uri (git-reference
4271 (url "https://github.com/JuliaArrays/PaddedViews.jl")
4272 (commit (string-append "v" version))))
4273 (file-name (git-file-name name version))
4274 (sha256
4275 (base32 "1835q06g6ymqh1k7625ssahwm46j08370v2inb61y1lw8vd99f3x"))))
4276 (build-system julia-build-system)
4277 (propagated-inputs
4278 (list julia-offsetarrays))
4279 (native-inputs
4280 (list julia-documenter))
4281 (home-page "https://github.com/JuliaArrays/PaddedViews.jl")
4282 (synopsis "Add virtual padding to the edges of an array")
4283 (description "@code{PaddedViews} provides a simple wrapper type,
4284 @code{PaddedView}, to add \"virtual\" padding to any array without copying data.
4285 Edge values not specified by the array are assigned a @code{fillvalue}.
4286 Multiple arrays may be \"promoted\" to have common indices using the
4287 @code{paddedviews} function.")
4288 (license license:expat)))
4289
4290 (define-public julia-parameters
4291 (package
4292 (name "julia-parameters")
4293 (version "0.12.2")
4294 (source
4295 (origin
4296 (method git-fetch)
4297 (uri (git-reference
4298 (url "https://github.com/mauro3/Parameters.jl")
4299 (commit (string-append "v" version))))
4300 (file-name (git-file-name name version))
4301 (sha256
4302 (base32 "0b8lawi7kcws4axfsdf023gyxca15irl648ciyi1kw3wghz3pfi2"))))
4303 (build-system julia-build-system)
4304 (propagated-inputs
4305 (list julia-orderedcollections
4306 julia-unpack))
4307 (home-page "https://github.com/mauro3/Parameters.jl")
4308 (synopsis "Numerical-model parameter helpers")
4309 (description "This package contains types with default field values, keyword
4310 constructors and (un-)pack macros. Keyword functions can be slow in Julia,
4311 however, the normal positional constructor is also provided and could be used in
4312 performance critical code.")
4313 (license license:expat)))
4314
4315 (define-public julia-parsers
4316 (package
4317 (name "julia-parsers")
4318 (version "2.2.4")
4319 (source
4320 (origin
4321 (method git-fetch)
4322 (uri (git-reference
4323 (url "https://github.com/JuliaData/Parsers.jl")
4324 (commit (string-append "v" version))))
4325 (file-name (git-file-name name version))
4326 (sha256
4327 (base32 "09v2x9yd1wdp74hzsf6218dpamlf2hb5nkmixqb4bc53ll8hpw4i"))))
4328 (build-system julia-build-system)
4329 (home-page "https://github.com/JuliaData/Parsers.jl")
4330 (synopsis "Fast parsing machinery for basic types in Julia")
4331 (description "@code{Parsers.jl} is a collection of type parsers and
4332 utilities for Julia.")
4333 (license license:expat)))
4334
4335 (define-public julia-pdmats
4336 (package
4337 (name "julia-pdmats")
4338 (version "0.11.1")
4339 (source
4340 (origin
4341 (method git-fetch)
4342 (uri (git-reference
4343 (url "https://github.com/JuliaStats/PDMats.jl")
4344 (commit (string-append "v" version))))
4345 (file-name (git-file-name name version))
4346 (sha256
4347 (base32 "0bc2gmpd30rkclvxyfnssjllp0pk63h0vvgr8862phm5ia83r8j0"))))
4348 (build-system julia-build-system)
4349 (home-page "https://github.com/JuliaStats/PDMats.jl")
4350 (synopsis
4351 "Uniform Interface for positive definite matrices of various structures")
4352 (description "PDMats.jl supports efficient computation on positive definite
4353 matrices of various structures. In particular, it provides uniform interfaces
4354 to use positive definite matrices of various structures for writing generic
4355 algorithms, while ensuring that the most efficient implementation is used in
4356 actual computation.")
4357 (license license:expat)))
4358
4359 (define-public julia-plotthemes
4360 (package
4361 (name "julia-plotthemes")
4362 (version "2.0.1")
4363 (source
4364 (origin
4365 (method git-fetch)
4366 (uri (git-reference
4367 (url "https://github.com/JuliaPlots/PlotThemes.jl")
4368 (commit (string-append "v" version))))
4369 (file-name (git-file-name name version))
4370 (sha256
4371 (base32 "1fd27w9z1vhz0d1bzrs5vcavpb5r5jviyh27d9c4ka37phz4xvmh"))))
4372 (build-system julia-build-system)
4373 (propagated-inputs
4374 (list julia-plotutils
4375 julia-requires))
4376 (home-page "https://github.com/JuliaPlots/PlotThemes.jl")
4377 (synopsis "Themes for the Julia plotting package Plots.jl")
4378 (description
4379 "PlotThemes is a package to spice up the plots made with @code{Plots.jl}.")
4380 (license license:expat)))
4381
4382 (define-public julia-plotutils
4383 (package
4384 (name "julia-plotutils")
4385 (version "1.2.0")
4386 (source
4387 (origin
4388 (method git-fetch)
4389 (uri (git-reference
4390 (url "https://github.com/JuliaPlots/PlotUtils.jl")
4391 (commit (string-append "v" version))))
4392 (file-name (git-file-name name version))
4393 (sha256
4394 (base32 "1yml9ayaniqnzx5r8sfjckifcm99ck7qhc19cd8fs0bwzkh7nza7"))))
4395 (build-system julia-build-system)
4396 (arguments
4397 (list
4398 #:phases
4399 #~(modify-phases %standard-phases
4400 (add-after 'unpack 'adjust-test-suite
4401 (lambda _
4402 (substitute* "test/runtests.jl"
4403 (("(@test_throws) ErrorException (.*notacolor)" _ @test notacolor)
4404 (string-append @test " ArgumentError " notacolor))))))))
4405 (propagated-inputs
4406 (list julia-colors
4407 julia-colorschemes
4408 julia-reexport))
4409 (native-inputs
4410 (list julia-stablerngs))
4411 (home-page "https://github.com/JuliaPlots/PlotUtils.jl")
4412 (synopsis "Helper algorithms for building plotting components")
4413 (description "This package contains generic helper algorithms for building
4414 plotting components.")
4415 (license license:expat)))
4416
4417 (define-public julia-pooledarrays
4418 (package
4419 (name "julia-pooledarrays")
4420 (version "1.4.2")
4421 (source
4422 (origin
4423 (method git-fetch)
4424 (uri (git-reference
4425 (url "https://github.com/JuliaData/PooledArrays.jl")
4426 (commit (string-append "v" version))))
4427 (file-name (git-file-name name version))
4428 (sha256
4429 (base32 "0g30d46n8cc8vr9icjhfkqz2il2185ijh7xhfy9vhcnmllzpd0yg"))))
4430 (build-system julia-build-system)
4431 (propagated-inputs
4432 (list julia-dataapi))
4433 (native-inputs
4434 (list julia-offsetarrays))
4435 (home-page "https://github.com/JuliaData/PooledArrays.jl")
4436 (synopsis "Pooled representation of arrays in Julia")
4437 (description "This package provides a pooled representation of arrays for
4438 purposes of compression when there are few unique elements.")
4439 (license license:expat)))
4440
4441 (define-public julia-positivefactorizations
4442 (package
4443 (name "julia-positivefactorizations")
4444 (version "0.2.4")
4445 (source
4446 (origin
4447 (method git-fetch)
4448 (uri (git-reference
4449 (url "https://github.com/timholy/PositiveFactorizations.jl")
4450 (commit (string-append "v" version))))
4451 (file-name (git-file-name name version))
4452 (sha256
4453 (base32 "1wxy6ak7f3hvibcgc8q88cgkf9zvi649mmjy1zlkx1qk80hgvz23"))))
4454 (build-system julia-build-system)
4455 (native-inputs
4456 (list julia-forwarddiff
4457 julia-reversediff))
4458 (home-page "https://github.com/timholy/PositiveFactorizations.jl")
4459 (synopsis "Positive-definite \"approximations\" to matrices")
4460 (description "@code{PositiveFactorizations} is a package for computing a
4461 positive definite matrix decomposition (factorization) from an arbitrary
4462 symmetric input. The motivating application is optimization (Newton or
4463 quasi-Newton methods), in which the canonical search direction -H/g (H being the
4464 Hessian and g the gradient) may not be a descent direction if H is not positive
4465 definite.")
4466 (license license:expat)))
4467
4468 (define-public julia-preferences
4469 (package
4470 (name "julia-preferences")
4471 (version "1.2.2")
4472 (source
4473 (origin
4474 (method git-fetch)
4475 (uri (git-reference
4476 (url "https://github.com/JuliaPackaging/Preferences.jl")
4477 (commit (string-append "v" version))))
4478 (file-name (git-file-name name version))
4479 (sha256
4480 (base32 "1cail43iqzbi6m9v6981rhz47zf2lcvhs5ds5gdqvc9nx5frghxq"))))
4481 (build-system julia-build-system)
4482 (arguments
4483 (list #:tests? #f)) ; Tests try to mkdir /.julia
4484 (home-page "https://github.com/JuliaPackaging/Preferences.jl")
4485 (synopsis "Store configuration switches to TOML files")
4486 (description "The @code{Preferences} package provides an integrated way for
4487 packages to store configuration switches to persistent TOML files, and use those
4488 pieces of information at both run time and compile time in Julia. This enables
4489 the user to modify the behavior of a package, and have that choice reflected in
4490 everything from run time algorithm choice to code generation at compile time.")
4491 (license license:expat)))
4492
4493 (define-public julia-prettytables
4494 (package
4495 (name "julia-prettytables")
4496 (version "1.0.1")
4497 (source
4498 (origin
4499 (method git-fetch)
4500 (uri (git-reference
4501 (url "https://github.com/ronisbr/PrettyTables.jl")
4502 (commit (string-append "v" version))))
4503 (file-name (git-file-name name version))
4504 (sha256
4505 (base32 "1d1sd87kkwbar3l608h0adzws42cwdrmp1idxx7an6mfqcsdrijw"))))
4506 (build-system julia-build-system)
4507 (arguments
4508 (list
4509 #:phases
4510 #~(modify-phases %standard-phases
4511 (add-after 'link-depot 'skip-color-tests
4512 (lambda _
4513 (substitute* "test/text_backend.jl"
4514 ((".*colors\\.jl.*") "")))))))
4515 (propagated-inputs
4516 (list julia-crayons
4517 julia-formatting
4518 julia-reexport
4519 julia-tables))
4520 (home-page "https://github.com/ronisbr/PrettyTables.jl")
4521 (synopsis "Print data in formatted tables")
4522 (description "This package has the purpose to print data in matrices in a
4523 human-readable format.")
4524 (license license:expat)))
4525
4526 (define-public julia-pycall
4527 (package
4528 (name "julia-pycall")
4529 (version "1.92.5")
4530 (source
4531 (origin
4532 (method git-fetch)
4533 (uri (git-reference
4534 (url "https://github.com/JuliaPy/PyCall.jl")
4535 (commit (string-append "v" version))))
4536 (file-name (git-file-name name version))
4537 (sha256
4538 (base32
4539 "1fj5d1ihnhnm0pl4hbx6hcd2bpdyhm8jiaqah2axsbd069j70saf"))))
4540 (build-system julia-build-system)
4541 (arguments
4542 (list
4543 #:imported-modules `((guix build python-build-system)
4544 ,@%julia-build-system-modules)
4545 #:modules '((guix build julia-build-system)
4546 (guix build utils)
4547 ((guix build python-build-system) #:prefix python:))
4548 #:phases
4549 #~(modify-phases %standard-phases
4550 (add-after 'link-depot 'remove-conda
4551 (lambda _
4552 (substitute* "Project.toml"
4553 ((".*Conda.*") ""))
4554 (substitute* (list "src/PyCall.jl"
4555 "test/runtests.jl")
4556 (("import Conda") ""))
4557 (substitute* "deps/depsutils.jl"
4558 (("Conda.PYTHONDIR") "\"/\""))))
4559 (add-after 'link-depot 'set-python
4560 (lambda* (#:key inputs outputs #:allow-other-keys)
4561 (let ((python (assoc-ref inputs "python")))
4562 (setenv "PYCALL_JL_RUNTIME_PYTHON"
4563 (string-append python "/bin/python3"))
4564 (with-output-to-file "deps/deps.jl"
4565 (lambda _
4566 (format #t
4567 "const python = \"~a/bin/python3\"~@
4568 const pyprogramname = \"~a/bin/python3\"~@
4569 const libpython = \"~a/lib/libpython~a.so.1.0\"~@
4570 const PYTHONHOME = \"~a\"~@
4571 const pyversion_build = v\"~a\"~@
4572 const conda = false~%"
4573 python
4574 python
4575 python
4576 (python:python-version python)
4577 python
4578 #$(package-version python)))))))
4579 (add-before 'check 'pre-check
4580 (lambda _
4581 (setenv "CI" "true")
4582 (setenv "JULIA_PKGEVAL" "true"))))))
4583 (propagated-inputs
4584 (list julia-macrotools
4585 julia-versionparsing))
4586 (inputs
4587 (list python))
4588 (native-inputs
4589 (list python-numpy))
4590 (home-page "https://github.com/JuliaPy/PyCall.jl")
4591 (synopsis "Call Python functions from the Julia language")
4592 (description "This package provides the ability to directly call and fully
4593 interoperate with Python from the Julia language. You can import arbitrary
4594 Python modules from Julia, call Python functions (with automatic conversion of
4595 types between Julia and Python), define Python classes from Julia methods, and
4596 share large data structures between Julia and Python without copying them.")
4597 (license license:expat)))
4598
4599 (define-public julia-pyplot
4600 (package
4601 (name "julia-pyplot")
4602 (version "2.10.0")
4603 (source
4604 (origin
4605 (method git-fetch)
4606 (uri (git-reference
4607 (url "https://github.com/JuliaPy/PyPlot.jl")
4608 (commit (string-append "v" version))))
4609 (file-name (git-file-name name version))
4610 (sha256
4611 (base32 "007zs0imfgs69f30pp2a3rc93kl0qiq7qjx6ig35z4wzkmps4skd"))))
4612 (build-system julia-build-system)
4613 (propagated-inputs
4614 (list julia-colors
4615 julia-latexstrings
4616 julia-pycall
4617 julia-versionparsing
4618 ;; python-matplotlib is expected to be available at runtime.
4619 python-matplotlib))
4620 (home-page "https://github.com/JuliaPy/PyPlot.jl")
4621 (synopsis "Plotting for Julia based on matplotlib.pyplot")
4622 (description "This package provides a Julia interface to the Matplotlib
4623 plotting library from Python, and specifically to the @code{matplotlib.pyplot}
4624 module. PyPlot uses the Julia PyCall package to call Matplotlib directly from
4625 Julia with little or no overhead (arrays are passed without making a copy).")
4626 (license license:expat)))
4627
4628 (define-public julia-quadgk
4629 (package
4630 (name "julia-quadgk")
4631 (version "2.5.0")
4632 (source
4633 (origin
4634 (method git-fetch)
4635 (uri (git-reference
4636 (url "https://github.com/JuliaMath/QuadGK.jl")
4637 (commit (string-append "v" version))))
4638 (file-name (git-file-name name version))
4639 (sha256
4640 (base32 "0f14dhn0f7ln2j96qvmnsyy9ffzqsngd16ikc136snlxv4k4whiv"))))
4641 (build-system julia-build-system)
4642 (propagated-inputs
4643 (list julia-datastructures))
4644 (home-page "https://github.com/JuliaMath/QuadGK.jl")
4645 (synopsis "Adaptive 1d numerical Gauss–Kronrod integration")
4646 (description "This package provides support for one-dimensional numerical
4647 integration in Julia using adaptive Gauss-Kronrod quadrature. The code was
4648 originally part of Base Julia. It supports integration of arbitrary numeric
4649 types, including arbitrary precision (@code{BigFloat}), and even integration of
4650 arbitrary normed vector spaces (e.g. matrix-valued integrands).")
4651 (license license:expat)))
4652
4653 (define-public julia-quadmath
4654 (package
4655 (name "julia-quadmath")
4656 (version "0.5.5")
4657 (source
4658 (origin
4659 (method git-fetch)
4660 (uri (git-reference
4661 (url "https://github.com/JuliaMath/Quadmath.jl")
4662 (commit (string-append "v" version))))
4663 (file-name (git-file-name name version))
4664 (sha256
4665 (base32 "051biw4b9zni7cmh2f1yzifp1v8wazlfxrdz4p44lyd1wba6379w"))))
4666 (build-system julia-build-system)
4667 (arguments
4668 (list
4669 #:phases
4670 #~(modify-phases %standard-phases
4671 (add-after 'link-depot 'hardcode-libmath-location
4672 (lambda* (#:key inputs #:allow-other-keys)
4673 (let ((gcclib (assoc-ref inputs "gcc:lib")))
4674 (substitute* "src/Quadmath.jl"
4675 (("libgcc_s.so.1" lib) (string-append gcclib "/lib/" lib))
4676 (("libquadmath.so.0" lib) (string-append gcclib "/lib/" lib)))))))))
4677 (propagated-inputs
4678 (list julia-requires))
4679 (inputs
4680 `(("gcc:lib" ,gcc "lib")))
4681 (native-inputs
4682 (list julia-specialfunctions))
4683 (home-page "https://github.com/JuliaMath/Quadmath.jl")
4684 (synopsis "Float128 and libquadmath for the Julia language")
4685 (description "This is a Julia interface to @code{libquadmath}, providing a
4686 @code{Float128} type corresponding to the IEEE754 binary128 floating point
4687 format.")
4688 (license license:expat)))
4689
4690 (define-public julia-quaternions
4691 (package
4692 (name "julia-quaternions")
4693 (version "0.4.2")
4694 (source
4695 (origin
4696 (method git-fetch)
4697 (uri (git-reference
4698 (url "https://github.com/JuliaGeometry/Quaternions.jl")
4699 (commit (string-append "v" version))))
4700 (file-name (git-file-name name version))
4701 (sha256
4702 (base32 "1zhynyvchc50hywws2jznpkwydr3njh8cv84d2ylyabhcwwmil9s"))))
4703 (build-system julia-build-system)
4704 (propagated-inputs
4705 (list julia-dualnumbers))
4706 (home-page "https://github.com/JuliaGeometry/Quaternions.jl")
4707 (synopsis "Quaternion and dual-quaternion functionality")
4708 (description "Quaternions are best known for their suitability as
4709 representations of 3D rotational orientation. They can also be viewed as an
4710 extension of complex numbers.")
4711 (license license:expat)))
4712
4713 (define-public julia-queryoperators
4714 (package
4715 (name "julia-queryoperators")
4716 (version "0.9.3")
4717 (source
4718 (origin
4719 (method git-fetch)
4720 (uri (git-reference
4721 (url "https://github.com/queryverse/QueryOperators.jl")
4722 (commit (string-append "v" version))))
4723 (file-name (git-file-name name version))
4724 (sha256
4725 (base32 "06zm4cbn3x49lbpgshhdfvvmgz066qkc8q0d57igm5p8bcp6js22"))))
4726 (build-system julia-build-system)
4727 (propagated-inputs
4728 (list julia-datastructures
4729 julia-iteratorinterfaceextensions
4730 julia-tableshowutils))
4731 (home-page "https://github.com/queryverse/QueryOperators.jl")
4732 (synopsis "Query operators for Julia")
4733 (description "This package contains the underlying query operators that are
4734 exposed to users in @code{Query.jl}.")
4735 (license license:expat)))
4736
4737 (define-public julia-rangearrays
4738 (package
4739 (name "julia-rangearrays")
4740 (version "0.3.2")
4741 (source
4742 (origin
4743 (method git-fetch)
4744 (uri (git-reference
4745 (url "https://github.com/JuliaArrays/RangeArrays.jl")
4746 (commit (string-append "v" version))))
4747 (file-name (git-file-name name version))
4748 (sha256
4749 (base32 "1ihzfyfq1xihkjcvn7xmzfbn6igzidb4fkzdcxwfr5qkvi52gnmg"))))
4750 (build-system julia-build-system)
4751 (home-page "https://github.com/JuliaArrays/RangeArrays.jl")
4752 (synopsis "Array data structures with autogenerated columns")
4753 (description "The goal of RangeArrays is to provide efficient and convenient
4754 array data structures where the columns of the arrays are generated (on the fly)
4755 by Ranges.")
4756 (license license:expat)))
4757
4758 (define-public julia-ratios
4759 (package
4760 (name "julia-ratios")
4761 (version "0.4.0")
4762 (source
4763 (origin
4764 (method git-fetch)
4765 (uri (git-reference
4766 (url "https://github.com/timholy/Ratios.jl")
4767 (commit (string-append "v" version))))
4768 (file-name (git-file-name name version))
4769 (sha256
4770 (base32 "1a4fd4jq4qjply29rkwg3m1clfndjsbckj1b1dab1bc35h2c6yxh"))))
4771 (build-system julia-build-system)
4772 (home-page "https://github.com/timholy/Ratios.jl")
4773 (synopsis "Faster Rational-like types for Julia")
4774 (description "This package provides types similar to Julia's @code{Rational}
4775 type, which make some sacrifices but have better computational performance.")
4776 (license license:expat)))
4777
4778 (define-public julia-realdot
4779 (package
4780 (name "julia-realdot")
4781 (version "0.1.0")
4782 (source
4783 (origin
4784 (method git-fetch)
4785 (uri (git-reference
4786 (url "https://github.com/JuliaMath/RealDot.jl")
4787 (commit (string-append "v" version))))
4788 (file-name (git-file-name name version))
4789 (sha256
4790 (base32 "1jr8dq110j8axjfz936b1lqqcnqg3979rfg11w76rq1iz7zgi691"))))
4791 (build-system julia-build-system)
4792 (home-page "https://github.com/JuliaMath/RealDot.jl")
4793 (synopsis "Compute realdot efficiently")
4794 (description "This package only contains and exports a single function
4795 @code{realdot(x, y)}. It computes @code{real(LinearAlgebra.dot(x, y))} while
4796 avoiding computing the imaginary part of @code{LinearAlgebra.dot(x, y)} if
4797 possible. The real dot product is useful when one treats complex numbers as
4798 embedded in a real vector space.")
4799 (license license:expat)))
4800
4801 (define-public julia-recipesbase
4802 (package
4803 (name "julia-recipesbase")
4804 (version "1.1.1")
4805 (source
4806 (origin
4807 (method git-fetch)
4808 (uri (git-reference
4809 (url "https://github.com/JuliaPlots/RecipesBase.jl")
4810 (commit (string-append "v" version))))
4811 (file-name (git-file-name name version))
4812 (sha256
4813 (base32 "1b6m5rz6wprj30rwvlxz4r1jv5gl0ay0f52kfmy2w7lqly7zhap5"))))
4814 (build-system julia-build-system)
4815 (home-page "https://github.com/JuliaPlots/RecipesBase.jl")
4816 (synopsis "Define transformation recipes on user types")
4817 (description "This package implements handy macros @code{@@recipe} and
4818 @code{@@series} which will define a custom transformation and attach attributes
4819 for user types. Its design is an attempt to simplify and generalize the summary
4820 and display of types and data from external packages. With this package it is
4821 possible to describe visualization routines that can be used as components in
4822 more complex visualizations.")
4823 (license license:expat)))
4824
4825 (define-public julia-recipespipeline
4826 (package
4827 (name "julia-recipespipeline")
4828 (version "0.3.4")
4829 (source
4830 (origin
4831 (method git-fetch)
4832 (uri (git-reference
4833 (url "https://github.com/JuliaPlots/RecipesPipeline.jl")
4834 (commit (string-append "v" version))))
4835 (file-name (git-file-name name version))
4836 (sha256
4837 (base32 "0zq4bzxvq36zr0va6iip3x97mgq5b4fwza8avszx1ryfqm3lg1f7"))))
4838 (build-system julia-build-system)
4839 (arguments
4840 (list #:tests? #f)) ; Cycle with Plots.jl.
4841 (propagated-inputs
4842 (list julia-nanmath
4843 julia-plotutils
4844 julia-recipesbase))
4845 (home-page "http://juliaplots.org/RecipesPipeline.jl/dev/")
4846 (synopsis "Utilities for processing recipes")
4847 (description "This package was factored out of @code{Plots.jl} to allow any
4848 other plotting package to use the recipe pipeline. In short, the extremely
4849 lightweight @code{RecipesBase.jl} package can be depended on by any package to
4850 define \"recipes\": plot specifications of user-defined types, as well as custom
4851 plot types. @code{RecipePipeline.jl} contains the machinery to translate these
4852 recipes to full specifications for a plot.")
4853 (license license:expat)))
4854
4855 (define-public julia-recursivearraytools
4856 (package
4857 (name "julia-recursivearraytools")
4858 (version "2.16.1")
4859 (source
4860 (origin
4861 (method git-fetch)
4862 (uri (git-reference
4863 (url "https://github.com/SciML/RecursiveArrayTools.jl")
4864 (commit (string-append "v" version))))
4865 (file-name (git-file-name name version))
4866 (sha256
4867 (base32 "0vx8ndxrii53na7jsc2lki47wfpi77rn3y2r6xhiysx1qwr14msf"))))
4868 (build-system julia-build-system)
4869 (arguments
4870 (list #:tests? #f)) ; Cycle with OrdinaryDiffEq.jl.
4871 (propagated-inputs
4872 (list julia-arrayinterface
4873 julia-chainrulescore
4874 julia-docstringextensions
4875 julia-recipesbase
4876 julia-requires
4877 julia-staticarrays
4878 julia-zygoterules))
4879 ;(native-inputs
4880 ; `(("julia-forwarddiff" ,julia-forwarddiff)
4881 ; ("julia-nlsolve" ,julia-nlsolve)
4882 ; ("julia-ordinarydiffeq" ,julia-ordinarydiffeq)
4883 ; ("julia-structarrays" ,julia-structarrays)
4884 ; ("julia-zygote" ,julia-zygote)))
4885 (home-page "https://github.com/SciML/RecursiveArrayTools.jl")
4886 (synopsis "Tools for handling objects like arrays of arrays and deeper nestings")
4887 (description "@code{RecursiveArrayTools.jl} is a set of tools for dealing with
4888 recursive arrays like arrays of arrays.")
4889 (license license:expat)))
4890
4891 (define-public julia-reexport
4892 (package
4893 (name "julia-reexport")
4894 (version "1.2.2")
4895 (source
4896 (origin
4897 (method git-fetch)
4898 (uri (git-reference
4899 (url "https://github.com/simonster/Reexport.jl")
4900 (commit (string-append "v" version))))
4901 (file-name (git-file-name name version))
4902 (sha256
4903 (base32 "0inf5q6f01ncd5c5wm8mwzv2hs627ng6xlh8dhrlflp321hbamwf"))))
4904 (build-system julia-build-system)
4905 (home-page "https://github.com/simonster/Reexport.jl")
4906 (synopsis "Re-export modules and symbols")
4907 (description "This package provides tools to re-export modules and symbols.")
4908 (license license:expat)))
4909
4910 (define-public julia-referencetests
4911 (package
4912 (name "julia-referencetests")
4913 (version "0.9.7")
4914 (source
4915 (origin
4916 (method git-fetch)
4917 (uri (git-reference
4918 (url "https://github.com/JuliaTesting/ReferenceTests.jl")
4919 (commit (string-append "v" version))))
4920 (file-name (git-file-name name version))
4921 (sha256
4922 (base32 "0mm6bjhs8a21pippww6b08b5frmnb9m6k8xrszrwq9zhc879zpc9"))))
4923 (build-system julia-build-system)
4924 (arguments
4925 (list #:tests? #f)) ; Cycle with ImageCore.jl through ImageMagick.jl.
4926 (propagated-inputs
4927 (list julia-deepdiffs
4928 julia-distances
4929 julia-fileio
4930 julia-imagecore
4931 julia-imageinterminal))
4932 ;(native-inputs
4933 ; `(("julia-csvfiles" ,julia-csvfiles)
4934 ; ("julia-dataframes" ,julia-dataframes)
4935 ; ("julia-gr" ,julia-gr)
4936 ; ("julia-imagemagick" ,julia-imagemagick)
4937 ; ("julia-imagetransformations" ,julia-imagetransformations)
4938 ; ("julia-plots" ,julia-plots)
4939 ; ("julia-testimages" ,julia-testimages)))
4940 (home-page "https://juliatesting.github.io/ReferenceTests.jl/latest/")
4941 (synopsis "Utility package for comparing data against reference files")
4942 (description "@code{ReferenceTests.jl} is a Julia package that adds a couple
4943 of additional macros to your testing toolbox. In particular, it focuses on
4944 functionality for testing values against reference files, which in turn the
4945 package can help create and update if need be.")
4946 (license license:expat)))
4947
4948 (define-public julia-requires
4949 (package
4950 (name "julia-requires")
4951 (version "1.3.0")
4952 (source
4953 (origin
4954 (method git-fetch)
4955 (uri (git-reference
4956 (url "https://github.com/JuliaPackaging/Requires.jl/")
4957 (commit (string-append "v" version))))
4958 (file-name (git-file-name name version))
4959 (sha256
4960 (base32 "0gmqs7f17aq500lbdff4ibws00f8m0pnzskvf4b3ig520xv3n3nm"))))
4961 (build-system julia-build-system)
4962 (arguments
4963 (list #:parallel-tests? #f)) ; Test suite has race conditions.
4964 (native-inputs
4965 (list julia-colors
4966 julia-example))
4967 (home-page "https://github.com/JuliaPackaging/Requires.jl/")
4968 (synopsis "Faster package loader")
4969 (description "This package make loading packages faster, maybe. It
4970 supports specifying glue code in packages which will load automatically when
4971 another package is loaded, so that explicit dependencies (and long load times)
4972 can be avoided.")
4973 (license license:expat)))
4974
4975 (define-public julia-reversediff
4976 (package
4977 (name "julia-reversediff")
4978 (version "1.14.4")
4979 (source
4980 (origin
4981 (method git-fetch)
4982 (uri (git-reference
4983 (url "https://github.com/JuliaDiff/ReverseDiff.jl")
4984 (commit (string-append "v" version))))
4985 (file-name (git-file-name name version))
4986 (sha256
4987 (base32 "0hwsjmr4wiscqa5kaj4mw0i4agyyzdcmq4r1gp2i563nc1ziaylg"))))
4988 (build-system julia-build-system)
4989 (arguments
4990 ;; XXXX: Test suite failing for i686, e.g.,
4991 ;; Expression: hash(tr_float, hash(1)) === hash(v_float, hash(1))
4992 ;; MethodError: no method matching decompose(::ReverseDiff.TrackedReal{Float64, Float64, Nothing})
4993 ;; Disable as stopgap.
4994 (list #:tests? (not (or (%current-target-system)
4995 (target-x86-32?)))))
4996 (propagated-inputs
4997 (list julia-chainrulescore
4998 julia-diffresults
4999 julia-diffrules
5000 julia-difftests
5001 julia-forwarddiff
5002 julia-functionwrappers
5003 julia-logexpfunctions
5004 julia-macrotools
5005 julia-nanmath
5006 julia-specialfunctions
5007 julia-staticarrays))
5008 (native-inputs
5009 (list julia-difftests
5010 julia-fillarrays))
5011 (home-page "https://github.com/JuliaDiff/ReverseDiff.jl")
5012 (synopsis "Reverse Mode Automatic Differentiation for Julia")
5013 (description "@code{ReverseDiff.jl} is a fast and compile-able tape-based
5014 reverse mode @acronym{AD, automatic differentiation}, that implements methods to
5015 take gradients, Jacobians, Hessians, and higher-order derivatives of native
5016 Julia functions (or any callable object, really).")
5017 (license license:expat)))
5018
5019 (define-public julia-richardson
5020 (package
5021 (name "julia-richardson")
5022 (version "1.4.0")
5023 (source
5024 (origin
5025 (method git-fetch)
5026 (uri (git-reference
5027 (url "https://github.com/JuliaMath/Richardson.jl")
5028 (commit (string-append "v" version))))
5029 (file-name (git-file-name name version))
5030 (sha256
5031 (base32 "06v9ii3d7hh41fsrfklaa8ap55z5s017f888mrd1c18y4fx9i4nx"))))
5032 (build-system julia-build-system)
5033 (home-page "https://juliapackages.com/p/richardson")
5034 (synopsis "Extrapolate function using Richardson method")
5035 (description "This package provides a function extrapolate that
5036 extrapolates a given function @code{f(x)} to @code{f(x0)}, evaluating @code{f}
5037 only at a geometric sequence of points @code{> x0} (or optionally @code{<
5038 x0}). The key algorithm is Richardson extrapolation using a Neville–Aitken
5039 tableau, which adaptively increases the degree of an extrapolation polynomial
5040 until convergence is achieved to a desired tolerance (or convergence stalls
5041 due to e.g. floating-point errors). This allows one to obtain @code{f(x0)} to
5042 high-order accuracy, assuming that @code{f(x0+h)} has a Taylor series or some
5043 other power series in @code{h}.")
5044 (license license:expat)))
5045
5046 (define-public julia-rotations
5047 ;; This is the first commit with support for julia-1.6.
5048 (let ((commit "b599102535bc3534252c76f3fd4cf521f4741788")
5049 (revision "1"))
5050 (package
5051 (name "julia-rotations")
5052 (version (git-version "1.0.2" revision commit))
5053 (source
5054 (origin
5055 (method git-fetch)
5056 (uri (git-reference
5057 (url "https://github.com/JuliaGeometry/Rotations.jl")
5058 (commit commit)))
5059 (file-name (git-file-name name version))
5060 (sha256
5061 (base32 "01wwqbdmj61yiz7rkmams4xg7gb9hbmg325173846ky4b9x1wb19"))))
5062 (build-system julia-build-system)
5063 (propagated-inputs
5064 (list julia-staticarrays))
5065 (native-inputs
5066 (list julia-benchmarktools
5067 julia-forwarddiff
5068 julia-unitful))
5069 (home-page "https://github.com/JuliaGeometry/Rotations.jl")
5070 (synopsis "Julia implementations for different rotation parameterisations")
5071 (description "This package implements various 3D rotation parameterizations
5072 and defines conversions between them. At their heart, each rotation
5073 parameterization is a 3×3 unitary (orthogonal) matrix (based on the
5074 @code{StaticArrays.jl} package), and acts to rotate a 3-vector about the origin
5075 through matrix-vector multiplication.")
5076 (license license:expat))))
5077
5078 (define-public julia-safetestsets
5079 ;; The only release tag is the first commit in the repository.
5080 (let ((commit "e553edc4c753344d38349304b9ff5483c3b8ff21")
5081 (revision "1"))
5082 (package
5083 (name "julia-safetestsets")
5084 (version (git-version "0.0.1" revision commit))
5085 (source
5086 (origin
5087 (method git-fetch)
5088 (uri (git-reference
5089 (url "https://github.com/YingboMa/SafeTestsets.jl")
5090 (commit commit)))
5091 (file-name (git-file-name name version))
5092 (sha256
5093 (base32 "1fb1dfdmiw2ggx60hf70954xlps0r48fcb3k3dvxynlz7ylphp96"))))
5094 (build-system julia-build-system)
5095 (arguments
5096 (list
5097 #:julia-package-name "SafeTestsets"
5098 #:julia-package-uuid "1bc83da4-3b8d-516f-aca4-4fe02f6d838f"
5099 #:phases
5100 #~(modify-phases %standard-phases
5101 (add-after 'link-depot 'fix-package-toml
5102 (lambda _
5103 (substitute* "Project.toml"
5104 (("version = .*") "version = \"0.0.1\"\n")))))))
5105 (native-inputs
5106 (list julia-staticarrays))
5107 (home-page "https://github.com/YingboMa/SafeTestsets.jl")
5108 (synopsis "Julia's testset in a module")
5109 (description "This package contains the testset from Julia, packaged into
5110 a loadable module.")
5111 (license license:expat))))
5112
5113 (define-public julia-sass
5114 (package
5115 (name "julia-sass")
5116 (version "0.2.0")
5117 (source
5118 (origin
5119 (method git-fetch)
5120 (uri (git-reference
5121 (url "https://github.com/piever/Sass.jl")
5122 (commit (string-append "v" version))))
5123 (file-name (git-file-name name version))
5124 (sha256
5125 (base32 "0y7kkkj717h5cj659ssry89i5r64symr6pvhr6vv4qmaxrnjxj92"))))
5126 (build-system julia-build-system)
5127 (propagated-inputs
5128 (list julia-libsass-jll))
5129 (home-page "https://github.com/piever/Sass.jl")
5130 (synopsis "Compile scss and sass file to css")
5131 (description "This package provides a simple Julian API to use the
5132 @code{libsass} library to compile scss and sass files to css.")
5133 (license license:expat)))
5134
5135 (define-public julia-scanbyte
5136 (package
5137 (name "julia-scanbyte")
5138 (version "0.3.2")
5139 (source
5140 (origin
5141 (method git-fetch)
5142 (uri (git-reference
5143 (url "https://github.com/jakobnissen/ScanByte.jl")
5144 (commit (string-append "v" version))))
5145 (file-name (git-file-name name version))
5146 (sha256
5147 (base32 "1c18hkcb0h6l437v2s02kijjkyly91mqark84czvh8yzxm19hr7k"))))
5148 (build-system julia-build-system)
5149 (propagated-inputs
5150 (list julia-simd))
5151 (home-page "https://github.com/jakobnissen/ScanByte.jl")
5152 (synopsis "Find the first occurrence of set of bytes in a chunk of memory")
5153 (description "This package finds the first occurrence of a byte or set of
5154 bytes in a chunk of memory. Think of it like a much faster version of
5155 @code{findfirst} that only iterates over bytes in memory.")
5156 ;; https://github.com/jakobnissen/ScanByte.jl/issues/2
5157 (supported-systems '("x86_64-linux"))
5158 (license license:expat)))
5159
5160 (define-public julia-scratch
5161 (package
5162 (name "julia-scratch")
5163 (version "1.1.0")
5164 (source
5165 (origin
5166 (method git-fetch)
5167 (uri (git-reference
5168 (url "https://github.com/JuliaPackaging/Scratch.jl")
5169 (commit (string-append "v" version))))
5170 (file-name (git-file-name name version))
5171 (sha256
5172 (base32
5173 "09xni9rrrax17fxjz04j1b48mk9ffww5rcbagh66jklr89mrkqhx"))))
5174 (build-system julia-build-system)
5175 (arguments
5176 (list #:tests? #f)) ; Test suite tries to access the Julia package registry.
5177 (home-page "https://github.com/JuliaPackaging/Scratch.jl")
5178 (synopsis "Scratch spaces for all your persistent mutable data needs")
5179 (description "This repository implements the scratch spaces API for
5180 package-specific mutable containers of data. These spaces can contain datasets,
5181 text, binaries, or any other kind of data that would be convenient to store in
5182 a location specific to your package. As compared to Artifacts, these containers
5183 of data are mutable. Because the scratch space location on disk is not very
5184 user-friendly, scratch spaces should, in general, not be used for a storing
5185 files that the user must interact with through a file browser.")
5186 (license license:expat)))
5187
5188 (define-public julia-sentinelarrays
5189 (package
5190 (name "julia-sentinelarrays")
5191 (version "1.3.13")
5192 (source
5193 (origin
5194 (method git-fetch)
5195 (uri (git-reference
5196 (url "https://github.com/JuliaData/SentinelArrays.jl")
5197 (commit (string-append "v" version))))
5198 (file-name (git-file-name name version))
5199 (sha256
5200 (base32 "1h3vpz7xskbf2a60imdg0irwh9bybkahjpnb6b3wyk0j9a97nqkr"))))
5201 (build-system julia-build-system)
5202 (home-page "https://github.com/JuliaData/SentinelArrays.jl")
5203 (synopsis "Array types using sentinel values")
5204 (description "This package provides @code{SentinelArray{T}} that wraps an
5205 @code{AbstractArray} of type @code{T}, and accepts a sentinel and value
5206 argument.")
5207 (license license:expat)))
5208
5209 (define-public julia-shiftedarrays
5210 (package
5211 (name "julia-shiftedarrays")
5212 (version "1.0.0")
5213 (source
5214 (origin
5215 (method git-fetch)
5216 (uri (git-reference
5217 (url "https://github.com/JuliaArrays/ShiftedArrays.jl")
5218 (commit (string-append "v" version))))
5219 (file-name (git-file-name name version))
5220 (sha256
5221 (base32 "0wy7k29qx2lvj587kiz31fzdc60808mjsgpp41h6b682ypz8rw0c"))))
5222 (build-system julia-build-system)
5223 (home-page "https://github.com/JuliaArrays/ShiftedArrays.jl")
5224 (synopsis "Lazy shifted arrays for data analysis in Julia")
5225 (description
5226 "This package provides an implementation of shifted arrays for Julia.")
5227 (license license:expat)))
5228
5229 (define-public julia-showoff
5230 (package
5231 (name "julia-showoff")
5232 (version "1.0.2")
5233 (source
5234 (origin
5235 (method git-fetch)
5236 (uri (git-reference
5237 (url "https://github.com/JuliaGraphics/Showoff.jl")
5238 (commit (string-append "v" version))))
5239 (file-name (git-file-name name version))
5240 (sha256
5241 (base32 "1g4hqvjjpwbrs7fnllyl5w66yj6qlvpvzpygym2nvf01m1ps6m53"))))
5242 (build-system julia-build-system)
5243 (home-page "https://github.com/JuliaGraphics/Showoff.jl")
5244 (synopsis "Nicely format an array of n things for tables and plots")
5245 (description "@code{Showoff} provides an interface for consistently
5246 formatting an array of n things, e.g. numbers, dates, unitful values. It's used
5247 in @code{Gadfly}, @code{Plots} and @code{Makie} to label axes and keys.")
5248 (license license:expat)))
5249
5250 (define-public julia-simd
5251 (package
5252 (name "julia-simd")
5253 (version "3.4.2")
5254 (source
5255 (origin
5256 (method git-fetch)
5257 (uri (git-reference
5258 (url "https://github.com/eschnett/SIMD.jl")
5259 (commit (string-append "v" version))))
5260 (file-name (git-file-name name version))
5261 (sha256
5262 (base32 "02pbrg2qa20pqnckbnbg5jyic2ahydql09f3xhzd1xnxicp77lw5"))))
5263 (build-system julia-build-system)
5264 (home-page "https://github.com/eschnett/SIMD.jl")
5265 (synopsis "Explicit SIMD vectorization")
5266 (description "This package allows programmers to explicitly SIMD-vectorize
5267 their Julia code. By exposing SIMD vector types and corresponding operations,
5268 the programmer can explicitly vectorize their code. While this does not
5269 guarantee that the generated machine code is efficient, it relieves the
5270 compiler from determining whether it is legal to vectorize the code, deciding
5271 whether it is beneficial to do so, and rearranging the code to synthesize
5272 vector instructions.")
5273 (license license:expat)))
5274
5275 (define-public julia-simpletraits
5276 (package
5277 (name "julia-simpletraits")
5278 (version "0.9.4")
5279 (source
5280 (origin
5281 (method git-fetch)
5282 (uri (git-reference
5283 (url "https://github.com/mauro3/SimpleTraits.jl")
5284 (commit (string-append "v" version))))
5285 (file-name (git-file-name name version))
5286 (sha256
5287 (base32 "1qvmkqcvhc2nilvkk36szccxdlcv9ls2i0ksxgl2yfjr3b3qlr05"))))
5288 (build-system julia-build-system)
5289 (propagated-inputs
5290 (list julia-macrotools))
5291 (home-page "https://github.com/mauro3/SimpleTraits.jl")
5292 (synopsis "Simple Traits for Julia")
5293 (description "This package provides a macro-based implementation of traits.
5294 The main idea behind traits is to group types outside the type-hierarchy and to
5295 make dispatch work with that grouping. The difference to Union-types is that
5296 types can be added to a trait after the creation of the trait, whereas Union
5297 types are fixed after creation.")
5298 (license license:expat)))
5299
5300 (define-public julia-softglobalscope
5301 (package
5302 (name "julia-softglobalscope")
5303 (version "1.1.0")
5304 (source
5305 (origin
5306 (method git-fetch)
5307 (uri (git-reference
5308 (url "https://github.com/stevengj/SoftGlobalScope.jl")
5309 (commit (string-append "v" version))))
5310 (file-name (git-file-name name version))
5311 (sha256
5312 (base32 "1n3l0al1vw5jpb4k9a29a71666cdb617nmiqg34wcmyfzrxpvv39"))))
5313 (build-system julia-build-system)
5314 (home-page "https://github.com/stevengj/SoftGlobalScope.jl")
5315 (synopsis "Utilities for soft global scope in interactive Julia environments")
5316 (description
5317 "SoftGlobalScope is a package for the Julia language that simplifies the
5318 variable scoping rules for code in global scope. It is intended for interactive
5319 shells to make it easier to work interactively with Julia, especially for
5320 beginners.")
5321 (license license:expat)))
5322
5323 (define-public julia-sortingalgorithms
5324 (package
5325 (name "julia-sortingalgorithms")
5326 (version "1.0.1")
5327 (source
5328 (origin
5329 (method git-fetch)
5330 (uri (git-reference
5331 (url "https://github.com/JuliaCollections/SortingAlgorithms.jl")
5332 (commit (string-append "v" version))))
5333 (file-name (git-file-name name version))
5334 (sha256
5335 (base32 "173x77a80xnh99viqa3r7rgdaksvxaw8xyfqw09gwvp4p2zrxivb"))))
5336 (build-system julia-build-system)
5337 (arguments
5338 (list #:tests? #f)) ; cycle with StatsBase.jl
5339 (propagated-inputs
5340 (list julia-datastructures))
5341 ;(native-inputs
5342 ; `(("julia-statsbase" ,julia-statsbase)))
5343 (home-page "https://github.com/JuliaCollections/SortingAlgorithms.jl")
5344 (synopsis "Extra sorting algorithms extending Julia's sorting API")
5345 (description "The SortingAlgorithms package provides three sorting
5346 algorithms that can be used with Julia's standard sorting API: heapsort,
5347 timsort and radixsort.")
5348 (license license:expat)))
5349
5350 (define-public julia-specialfunctions
5351 (package
5352 (name "julia-specialfunctions")
5353 (version "1.8.7")
5354 (source
5355 (origin
5356 (method git-fetch)
5357 (uri (git-reference
5358 (url "https://github.com/JuliaMath/SpecialFunctions.jl")
5359 (commit (string-append "v" version))))
5360 (file-name (git-file-name name version))
5361 (sha256
5362 (base32 "0shlgx9lkbjb1awdf5lrbkq06bmkyahc92qay2a049b4lvqrhj7a"))))
5363 (build-system julia-build-system)
5364 (inputs
5365 (list julia-chainrulestestutils))
5366 (propagated-inputs
5367 (list julia-chainrulescore
5368 julia-irrationalconstants
5369 julia-logexpfunctions
5370 julia-openspecfun-jll))
5371 (home-page "https://github.com/JuliaMath/SpecialFunctions.jl")
5372 (synopsis "Special mathematical functions")
5373 (description "This package provides special mathematical functions,
5374 including Bessel, Hankel, Airy, error, Dawson, exponential (or sine and
5375 cosine) integrals, eta, zeta, digamma, inverse digamma, trigamma, and
5376 polygamma functions.")
5377 (license license:expat)))
5378
5379 (define-public julia-splitapplycombine
5380 (package
5381 (name "julia-splitapplycombine")
5382 (version "1.1.4")
5383 (source
5384 (origin
5385 (method git-fetch)
5386 (uri (git-reference
5387 (url "https://github.com/JuliaData/SplitApplyCombine.jl")
5388 (commit (string-append "v" version))))
5389 (file-name (git-file-name name version))
5390 (sha256
5391 (base32 "1qzaqvk57b0s5krzn8bxkzmr5kz6hi9dm3jbf2sl7z4vznsgbn9x"))))
5392 (build-system julia-build-system)
5393 (propagated-inputs
5394 (list julia-dictionaries
5395 julia-indexing))
5396 (home-page "https://github.com/JuliaData/SplitApplyCombine.jl")
5397 (synopsis "Split-apply-combine strategies for Julia")
5398 (description "@code{SplitApplyCombine.jl} provides high-level, generic tools
5399 for manipulating data - particularly focussing on data in nested containers. An
5400 emphasis is placed on ensuring split-apply-combine strategies are easy to apply,
5401 and work reliably for arbitrary iterables and in an optimized way with the data
5402 structures included in Julia's standard library.")
5403 (license license:expat)))
5404
5405 (define-public julia-stablerngs
5406 (package
5407 (name "julia-stablerngs")
5408 (version "1.0.0")
5409 (source
5410 (origin
5411 (method git-fetch)
5412 (uri (git-reference
5413 (url "https://github.com/JuliaRandom/StableRNGs.jl")
5414 (commit (string-append "v" version))))
5415 (file-name (git-file-name name version))
5416 (sha256
5417 (base32 "1cw4wc38qbgmrrx0jjwjhynnarrzjkh0yyz242zj272brbci7p1r"))))
5418 (build-system julia-build-system)
5419 (home-page "https://github.com/JuliaRandom/StableRNGs.jl")
5420 (synopsis "Julia RNG with stable streams")
5421 (description "This package intends to provide a simple RNG with stable
5422 streams, suitable for tests in packages which need reproducible streams of
5423 random numbers across Julia versions. Indeed, the Julia RNGs provided by
5424 default are documented to have non-stable streams (which for example enables
5425 some performance improvements).")
5426 (license license:expat)))
5427
5428 (define-public julia-stackviews
5429 (package
5430 (name "julia-stackviews")
5431 (version "0.1.1")
5432 (source
5433 (origin
5434 (method git-fetch)
5435 (uri (git-reference
5436 (url "https://github.com/JuliaArrays/StackViews.jl")
5437 (commit (string-append "v" version))))
5438 (file-name (git-file-name name version))
5439 (sha256
5440 (base32 "1fwiaxdpx1z9dli3jr8kyraych0jbdiny3qklynf0r13px25r6i7"))))
5441 (build-system julia-build-system)
5442 (arguments
5443 (list
5444 #:phases
5445 #~(modify-phases %standard-phases
5446 (add-after 'link-depot 'skip-doctest
5447 (lambda _
5448 (substitute* "test/runtests.jl"
5449 ((".*doctest.*") "")))))))
5450 (propagated-inputs
5451 (list julia-offsetarrays))
5452 (native-inputs
5453 (list julia-aqua
5454 julia-documenter))
5455 (home-page "https://github.com/JuliaArrays/StackViews.jl")
5456 (synopsis "No more catcat")
5457 (description "StackViews provides only one array type: @code{StackView}.
5458 There are multiple ways to understand @code{StackView}:
5459 @itemize
5460 @item inverse of @code{eachslice}
5461 @item @code{cat} variant
5462 @item view object
5463 @item lazy version of @code{repeat} special case
5464 @end itemize")
5465 (license license:expat)))
5466
5467 (define-public julia-static
5468 (package
5469 (name "julia-static")
5470 (version "0.8.3")
5471 (source
5472 (origin
5473 (method git-fetch)
5474 (uri (git-reference
5475 (url "https://github.com/SciML/Static.jl")
5476 (commit (string-append "v" version))))
5477 (file-name (git-file-name name version))
5478 (sha256
5479 (base32 "1ilmging187w37vjff8ilnz1f0qygyhbwl6nhq91z3b5vxyf13zr"))))
5480 (build-system julia-build-system)
5481 (propagated-inputs
5482 (list julia-ifelse))
5483 (native-inputs
5484 (list julia-aqua))
5485 (home-page "https://github.com/SciML/Static.jl")
5486 (synopsis "Static types useful for dispatch and generated functions")
5487 (description "Static.jl defines a limited set of statically parameterized
5488 types and a common interface that is shared between them.")
5489 (license license:expat)))
5490
5491 (define-public julia-static-0.6
5492 (package
5493 (inherit julia-static)
5494 (name "julia-static")
5495 (version "0.6.6")
5496 (source
5497 (origin
5498 (method git-fetch)
5499 (uri (git-reference
5500 (url "https://github.com/SciML/Static.jl")
5501 (commit (string-append "v" version))))
5502 (file-name (git-file-name name version))
5503 (sha256
5504 (base32 "03ri8nl046cz7l433p0nlr84yywxvjykyymqparm8lxxwkv0rxqd"))))))
5505
5506 (define-public julia-staticarrays
5507 (package
5508 (name "julia-staticarrays")
5509 (version "1.2.13")
5510 (source
5511 (origin
5512 (method git-fetch)
5513 (uri (git-reference
5514 (url "https://github.com/JuliaArrays/StaticArrays.jl")
5515 (commit (string-append "v" version))))
5516 (file-name (git-file-name name version))
5517 (sha256
5518 (base32 "041mijzgzm8r61a3gwspr2wcxjikqksvj2rbnl4gmcy41alqmx79"))))
5519 (build-system julia-build-system)
5520 (inputs
5521 (list julia-benchmarktools))
5522 (home-page "https://github.com/JuliaArrays/StaticArrays.jl")
5523 (synopsis "Statically sized arrays")
5524 (description "This package provides a framework for implementing
5525 statically sized arrays in Julia, using the abstract type
5526 @code{StaticArray{Size,T,N} <: AbstractArray{T,N}}. Subtypes of
5527 @code{StaticArray} will provide fast implementations of common array and
5528 linear algebra operations.")
5529 (license license:expat)))
5530
5531 (define-public julia-statsapi
5532 (package
5533 (name "julia-statsapi")
5534 (version "1.0.0")
5535 (source
5536 (origin
5537 (method git-fetch)
5538 (uri (git-reference
5539 (url "https://github.com/JuliaStats/StatsAPI.jl")
5540 (commit (string-append "v" version))))
5541 (file-name (git-file-name name version))
5542 (sha256
5543 (base32 "1k1c3s7i5wzkz4r9fyy4gd7wb97p0qgbc7bmaajm16zqipfmy2bv"))))
5544 (build-system julia-build-system)
5545 (home-page "https://juliastats.org/")
5546 (synopsis "Statistics-focused namespace for packages to share functions")
5547 (description "This package provides a namespace for data-related generic
5548 function definitions to solve the optional dependency problem; packages wishing
5549 to share and/or extend functions can avoid depending directly on each other by
5550 moving the function definition to @code{StatsAPI.jl} and each package taking a
5551 dependency on it.")
5552 (license license:expat)))
5553
5554 (define-public julia-statsbase
5555 (package
5556 (name "julia-statsbase")
5557 (version "0.33.10")
5558 (source
5559 (origin
5560 (method git-fetch)
5561 (uri (git-reference
5562 (url "https://github.com/JuliaStats/StatsBase.jl")
5563 (commit (string-append "v" version))))
5564 (file-name (git-file-name name version))
5565 (sha256
5566 (base32 "0pjsn531zdz3s34pa418pvyqvrx8nbcc8j0fgwfnadssihqah6g7"))))
5567 (build-system julia-build-system)
5568 (propagated-inputs
5569 (list julia-dataapi
5570 julia-datastructures
5571 julia-missings
5572 julia-sortingalgorithms
5573 julia-statsapi))
5574 (native-inputs
5575 (list julia-stablerngs))
5576 (home-page "https://github.com/JuliaStats/StatsBase.jl")
5577 (synopsis "Basic statistics for Julia")
5578 (description "StatsBase.jl is a Julia package that provides basic support
5579 for statistics. Particularly, it implements a variety of statistics-related
5580 functions, such as scalar statistics, high-order moment computation, counting,
5581 ranking, covariances, sampling, and empirical density estimation.")
5582 (license license:expat)))
5583
5584 (define-public julia-stringdistances
5585 (package
5586 (name "julia-stringdistances")
5587 (version "0.10.0")
5588 (source
5589 (origin
5590 (method git-fetch)
5591 (uri (git-reference
5592 (url "https://github.com/matthieugomez/StringDistances.jl")
5593 (commit (string-append "v" version))))
5594 (file-name (git-file-name name version))
5595 (sha256
5596 (base32 "0n5707wplbibzhhv1xmshvc025d7xk6mnikclc3hvq5cdc0gy9f7"))))
5597 (build-system julia-build-system)
5598 (propagated-inputs
5599 (list julia-distances))
5600 (home-page "https://github.com/matthieugomez/StringDistances.jl")
5601 (synopsis "String Distances in Julia")
5602 (description "This package provides string distances in Julia. Distances
5603 are defined for @code{AbstractStrings}, and any iterator that define
5604 @code{length()}. The package also defines Distance \"modifiers\" that can be
5605 applied to any distance.")
5606 (license license:expat)))
5607
5608 (define-public julia-stringencodings
5609 (package
5610 (name "julia-stringencodings")
5611 (version "0.3.5")
5612 (source
5613 (origin
5614 (method git-fetch)
5615 (uri (git-reference
5616 (url "https://github.com/JuliaStrings/StringEncodings.jl")
5617 (commit (string-append "v" version))))
5618 (file-name (git-file-name name version))
5619 (sha256
5620 (base32 "1qwc5ll68ng80b5921ww6fvifxbsmiylakfgsbsjbzg7lzyb5i67"))))
5621 (build-system julia-build-system)
5622 (arguments
5623 (list
5624 #:phases
5625 #~(modify-phases %standard-phases
5626 (add-after 'unpack 'skip-failing-test
5627 (lambda _
5628 ;; https://github.com/JuliaStrings/StringEncodings.jl/issues/49
5629 (substitute* "test/runtests.jl"
5630 (("\"SHIFT_JIS\", \"SHIFT_JISX0213\"")
5631 " ")))))))
5632 (propagated-inputs
5633 (list julia-libiconv-jll))
5634 (home-page "https://github.com/JuliaStrings/StringEncodings.jl")
5635 (synopsis "Support for decoding and encoding texts")
5636 (description "This package provides support for decoding and encoding
5637 texts between multiple character encodings. It is currently based on the
5638 @code{iconv} interface, and supports all major platforms using GNU libiconv.")
5639 (license license:expat)))
5640
5641 (define-public julia-structarrays
5642 (package
5643 (name "julia-structarrays")
5644 (version "0.6.3")
5645 (source
5646 (origin
5647 (method git-fetch)
5648 (uri (git-reference
5649 (url "https://github.com/JuliaArrays/StructArrays.jl")
5650 (commit (string-append "v" version))))
5651 (file-name (git-file-name name version))
5652 (sha256
5653 (base32 "0rjcpyjwzg70n87q5r9c5i1qzigavncslxssm3rk5a3y549py56v"))))
5654 (build-system julia-build-system)
5655 (arguments
5656 (list
5657 #:phases
5658 (if (target-64bit?)
5659 #~%standard-phases
5660 #~(modify-phases %standard-phases
5661 (add-after 'unpack 'fix-tests-int32-i686
5662 (lambda _
5663 (substitute* '("src/utils.jl"
5664 "test/runtests.jl")
5665 (("Int64") "Int32"))))))))
5666 (propagated-inputs
5667 (list julia-dataapi
5668 julia-staticarrays
5669 julia-tables))
5670 (native-inputs
5671 (list julia-documenter
5672 julia-offsetarrays
5673 julia-pooledarrays
5674 julia-typedtables
5675 julia-weakrefstrings))
5676 (home-page "https://github.com/JuliaArrays/StructArrays.jl")
5677 (synopsis "Efficient implementation of struct arrays in Julia")
5678 (description "This package introduces the type @code{StructArray} which is
5679 an @code{AbstractArray} whose elements are @code{struct} (for example
5680 @code{NamedTuples}, or @code{ComplexF64}, or a custom user defined
5681 @code{struct}). While a @code{StructArray} iterates @code{structs}, the layout
5682 is column based (meaning each field of the @code{struct} is stored in a separate
5683 @code{Array}).")
5684 (license license:expat)))
5685
5686 (define-public julia-structtypes
5687 (package
5688 (name "julia-structtypes")
5689 (version "1.7.2")
5690 (source
5691 (origin
5692 (method git-fetch)
5693 (uri (git-reference
5694 (url "https://github.com/JuliaData/StructTypes.jl")
5695 (commit (string-append "v" version))))
5696 (file-name (git-file-name name version))
5697 (sha256
5698 (base32 "02mn4kkhn3927dk7945c9bjwlldihydxgn5ilmqqvs8dknvbw8p1"))))
5699 (build-system julia-build-system)
5700 (home-page "https://juliadata.github.io/StructTypes.jl/stable/")
5701 (synopsis "Abstract definitions and convenience methods for Julia objects")
5702 (description "This package provides the @code{StructTypes.StructType} trait
5703 for Julia types to declare the kind of \"struct\" they are, providing
5704 serialization/deserialization packages patterns and strategies to automatically
5705 construct objects.")
5706 (license license:expat)))
5707
5708 (define-public julia-suppressor
5709 (package
5710 (name "julia-suppressor")
5711 (version "0.2.0")
5712 (source
5713 (origin
5714 (method git-fetch)
5715 (uri (git-reference
5716 (url "https://github.com/JuliaIO/Suppressor.jl")
5717 (commit (string-append "v" version))))
5718 (file-name (git-file-name name version))
5719 (sha256
5720 (base32 "0v6pxvf8lzrqjc676snvlszh14ridl442g2h6syfjiy75pk7mdyc"))))
5721 (build-system julia-build-system)
5722 (home-page "https://github.com/JuliaIO/Suppressor.jl")
5723 (synopsis "Capture stdout and sterr")
5724 (description "Julia macros for suppressing and/or capturing output (stdout),
5725 warnings (stderr) or both streams at the same time.")
5726 (license license:expat)))
5727
5728 (define-public julia-tableiointerface
5729 (package
5730 (name "julia-tableiointerface")
5731 (version "0.1.6")
5732 (source
5733 (origin
5734 (method git-fetch)
5735 (uri (git-reference
5736 (url "https://github.com/lungben/TableIOInterface.jl")
5737 (commit (string-append "v" version))))
5738 (file-name (git-file-name name version))
5739 (sha256
5740 (base32 "0p2fi9jbyfg2j6rysv4if7dx8qw2mssb04i75j1zq607j8707kvn"))))
5741 (build-system julia-build-system)
5742 (home-page "https://github.com/lungben/TableIOInterface.jl")
5743 (synopsis "File formats based on file extensions")
5744 (description "This package determines tabular file formats based on file
5745 extensions. It is intended to be the base both for @code{TableIO.jl} and for
5746 the @code{Pluto.jl} tabular data import functionality.")
5747 (license license:expat)))
5748
5749 (define-public julia-tables
5750 (package
5751 (name "julia-tables")
5752 (version "1.4.4")
5753 (source
5754 (origin
5755 (method git-fetch)
5756 (uri (git-reference
5757 (url "https://github.com/JuliaData/Tables.jl")
5758 (commit (string-append "v" version))))
5759 (file-name (git-file-name name version))
5760 (sha256
5761 (base32 "1sqqagzqvav8b1rv5ywwbgy9ixvlmipq95fkwfwn0m8769i8jwzb"))))
5762 (build-system julia-build-system)
5763 (propagated-inputs
5764 (list julia-dataapi
5765 julia-datavalueinterfaces
5766 julia-iteratorinterfaceextensions
5767 julia-tabletraits))
5768 (native-inputs
5769 (list julia-datavalues
5770 julia-queryoperators))
5771 (home-page "https://github.com/JuliaData/Tables.jl")
5772 (synopsis "Interface for tables in Julia")
5773 (description "The @code{Tables.jl} package provides simple, yet powerful
5774 interface functions for working with all kinds tabular data.")
5775 (license license:expat)))
5776
5777 (define-public julia-tableshowutils
5778 ;; The 0.2.5 release is not fully compatable with newer versions of Julia.
5779 (let ((commit "c4e02d8b9bbb31fc81ed6618955e9b1c7cb04460")
5780 (revision "1"))
5781 (package
5782 (name "julia-tableshowutils")
5783 (version "0.2.5")
5784 (source
5785 (origin
5786 (method git-fetch)
5787 (uri (git-reference
5788 (url "https://github.com/queryverse/TableShowUtils.jl")
5789 (commit commit)))
5790 (file-name (git-file-name name version))
5791 (sha256
5792 (base32 "0gp3hpj3jvzfhkp9r345vfic2j2n2s60729wv38hwn75csp74cg5"))))
5793 (build-system julia-build-system)
5794 (propagated-inputs
5795 (list julia-datavalues
5796 julia-json))
5797 (home-page "https://github.com/queryverse/TableShowUtils.jl")
5798 (synopsis "Implement show for TableTraits.jl types")
5799 (description "This package provides some common helper functions that make
5800 it easier to implement various @code{Base.show} functions for types that
5801 participate in the @code{TableTraits.jl} ecosystem.")
5802 (license license:expat))))
5803
5804 (define-public julia-tabletraits
5805 (package
5806 (name "julia-tabletraits")
5807 (version "1.0.1")
5808 (source
5809 (origin
5810 (method git-fetch)
5811 (uri (git-reference
5812 (url "https://github.com/queryverse/TableTraits.jl")
5813 (commit (string-append "v" version))))
5814 (file-name (git-file-name name version))
5815 (sha256
5816 (base32 "08ssb2630wm6j8f2qa985mn2vfibfm5kjcn4ayl2qkhfcyp8daw4"))))
5817 (build-system julia-build-system)
5818 (propagated-inputs
5819 (list julia-iteratorinterfaceextensions))
5820 (home-page "https://github.com/queryverse/TableTraits.jl")
5821 (synopsis "Traits for Julia tables")
5822 (description "TableTraits defines a generic interface for tabular data.")
5823 (license license:expat)))
5824
5825 (define-public julia-tensorcore
5826 (package
5827 (name "julia-tensorcore")
5828 (version "0.1.1")
5829 (source
5830 (origin
5831 (method git-fetch)
5832 (uri (git-reference
5833 (url "https://github.com/JuliaMath/TensorCore.jl")
5834 (commit (string-append "v" version))))
5835 (file-name (git-file-name name version))
5836 (sha256
5837 (base32 "1sy3in4a1rl3l2vk0cm9mzg2nkva7syhr7i35si0kbzhkdwpbqjy"))))
5838 (build-system julia-build-system)
5839 (home-page "https://github.com/JuliaMath/TensorCore.jl")
5840 (synopsis "Tensor-algebra definitions")
5841 (description "This package is intended as a lightweight foundation for
5842 tensor operations across the Julia ecosystem. Currently it exports three
5843 operations: @acronym{hadamard, elementwise multiplication}, @acronym{tensor,
5844 product preserves all dimensions}, and @acronym{boxdot, contracts neighboring
5845 dimensions}.")
5846 (license license:expat)))
5847
5848 (define-public julia-testimages
5849 (package
5850 (name "julia-testimages")
5851 (version "1.5.0")
5852 (source
5853 (origin
5854 (method git-fetch)
5855 (uri (git-reference
5856 (url "https://github.com/JuliaImages/TestImages.jl")
5857 (commit (string-append "v" version))))
5858 (file-name (git-file-name name version))
5859 (sha256
5860 (base32 "1lnfsmx33qspyvxw0cykwh7il8xykjpcw1080sisn95ngz2qhdmy"))))
5861 (build-system julia-build-system)
5862 (arguments
5863 (list #:tests? #f)) ; cycle with ImageMagick.jl
5864 (propagated-inputs
5865 (list julia-axisarrays
5866 julia-colortypes
5867 julia-fileio
5868 julia-offsetarrays
5869 julia-stringdistances))
5870 ;(native-inputs
5871 ; `(("julia-colors" ,julia-colors)
5872 ; ("julia-fixedpointnumbers" ,julia-fixedpointnumbers)
5873 ; ("julia-imagecontrastadjustment" ,julia-imagecontrastadjustment)
5874 ; ("julia-imagemagick" ,julia-imagemagick)
5875 ; ("julia-ometiff" ,julia-ometiff)
5876 ; ("julia-referencetests" ,julia-referencetests)))
5877 (home-page "https://testimages.juliaimages.org/")
5878 (synopsis "Standard test images for Julia")
5879 (description "This package provides a convenient Julia interface for loading
5880 standard named test images and example images for the internal usage in
5881 @code{JuliaImages}. This can be used in conjunction with the @code{Images}
5882 package.")
5883 (license license:expat)))
5884
5885 (define-public julia-tracker
5886 (package
5887 (name "julia-tracker")
5888 (version "0.2.22")
5889 (source
5890 (origin
5891 (method git-fetch)
5892 (uri (git-reference
5893 (url "https://github.com/FluxML/Tracker.jl")
5894 (commit (string-append "v" version))))
5895 (file-name (git-file-name name version))
5896 (sha256
5897 (base32 "0sxncn999dc5j15y0h3cw28x41pv5qjaw64drhy1y4rn3na48504"))))
5898 (build-system julia-build-system)
5899 (propagated-inputs
5900 (list julia-adapt
5901 julia-diffrules
5902 julia-forwarddiff
5903 julia-functors
5904 julia-logexpfunctions
5905 julia-macrotools
5906 julia-nanmath
5907 julia-nnlib
5908 julia-optimisers
5909 julia-requires
5910 julia-specialfunctions))
5911 (native-inputs
5912 (list julia-pdmats))
5913 (home-page "https://github.com/FluxML/Tracker.jl")
5914 (synopsis "Operator overloading reverse-mode automatic differentiator")
5915 (description "@code{Tracker.jl} previously provided @code{Flux.jl} with
5916 automatic differentiation for its machine learning platform.")
5917 (license license:expat)))
5918
5919 (define-public julia-transcodingstreams
5920 (package
5921 (name "julia-transcodingstreams")
5922 (version "0.9.6")
5923 (source
5924 (origin
5925 (method git-fetch)
5926 (uri (git-reference
5927 (url "https://github.com/JuliaIO/TranscodingStreams.jl")
5928 (commit (string-append "v" version))))
5929 (file-name (git-file-name name version))
5930 (sha256
5931 (base32 "1w3klii293caqiclfh28jggv7f53xclm9fr6xmw38brwrn1hjb48"))))
5932 (build-system julia-build-system)
5933 (arguments
5934 (list #:tests? #f)) ; Circular dependency with various codecs.
5935 (home-page "https://github.com/JuliaIO/TranscodingStreams.jl")
5936 (synopsis "Fast I/O transcoding data streams")
5937 (description "This package provides tools for transcoding data streams
5938 which are:
5939 @itemize
5940 @item fast: small overhead and specialized methods
5941 @item consistent: basic I/O operations work as expected
5942 @item generic: support any I/O objects like files, buffers, pipes, etc.
5943 @item extensible: easy definition for new codec to transcode data
5944 @end itemize")
5945 (license license:expat)))
5946
5947 (define-public julia-twiddle
5948 (package
5949 (name "julia-twiddle")
5950 (version "1.1.2")
5951 (source
5952 (origin
5953 (method git-fetch)
5954 (uri (git-reference
5955 (url "https://github.com/SabrinaJaye/Twiddle.jl")
5956 (commit (string-append "v" version))))
5957 (file-name (git-file-name name version))
5958 (sha256
5959 (base32 "1c2gdv7sy4n1d8687w2q0yzwmwmanf4p6mvzvkz5gm4baxyzmbh2"))))
5960 (build-system julia-build-system)
5961 (home-page "https://ben-ward.science/Twiddle.jl/stable")
5962 (synopsis "Ready to use bit-twiddling tricks")
5963 (description "This package provides a collection of useful bit-twiddling
5964 tricks, ready to use as functions, with detailed documentation and example
5965 real-world use cases.")
5966 (license license:expat)))
5967
5968 (define-public julia-typedtables
5969 (package
5970 (name "julia-typedtables")
5971 (version "1.4.0")
5972 (source
5973 (origin
5974 (method git-fetch)
5975 (uri (git-reference
5976 (url "https://github.com/JuliaData/TypedTables.jl")
5977 (commit (string-append "v" version))))
5978 (file-name (git-file-name name version))
5979 (sha256
5980 (base32 "0nk6zhqvl2r8yhjdhb59kxq0srd3vy4ysg4d8rszj9a43dnn3w3i"))))
5981 (build-system julia-build-system)
5982 (propagated-inputs
5983 (list julia-adapt
5984 julia-splitapplycombine
5985 julia-tables))
5986 (home-page "https://github.com/JuliaData/TypedTables.jl")
5987 (synopsis "Column-based storage for data analysis in Julia")
5988 (description "@code{TypedTables.jl} provides two column-based storage
5989 containers: @code{Table} and @code{FlexTable}, both of which represent an array
5990 of @code{NamedTuples}. This package is designed to be lightweight, easy-to-use
5991 and fast, and presents a very minimal new interface to learn.")
5992 (license license:expat)))
5993
5994 (define-public julia-unpack
5995 (package
5996 (name "julia-unpack")
5997 (version "1.0.2")
5998 (source
5999 (origin
6000 (method git-fetch)
6001 (uri (git-reference
6002 (url "https://github.com/mauro3/UnPack.jl")
6003 (commit (string-append "v" version))))
6004 (file-name (git-file-name name version))
6005 (sha256
6006 (base32 "066v1px72zidnvhl0rczhh07rcfwvli0jx5nprrgyi1dvj3mps2a"))))
6007 (build-system julia-build-system)
6008 (home-page "https://github.com/mauro3/UnPack.jl")
6009 (synopsis "Pack and Unpack macros for Julia")
6010 (description "The @code{@@unpack} and @code{@@pack!} macros work to unpack
6011 types, modules, and dictionaries.")
6012 (license license:expat)))
6013
6014 (define-public julia-uris
6015 (package
6016 (name "julia-uris")
6017 (version "1.3.0")
6018 (source
6019 (origin
6020 (method git-fetch)
6021 (uri (git-reference
6022 (url "https://github.com/JuliaWeb/URIs.jl")
6023 (commit (string-append "v" version))))
6024 (file-name (git-file-name name version))
6025 (sha256
6026 (base32 "0kp4hg3kknkm2smlcizqfd33l9x4vkahc2714gnbjp39fj285b92"))))
6027 (build-system julia-build-system)
6028 (arguments
6029 (list
6030 #:julia-package-name "URIs" ;required to run tests
6031 #:julia-package-uuid "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4"
6032 #:phases
6033 #~(modify-phases %standard-phases
6034 (add-before 'check 'change-dir
6035 ;; Tests must be run from the testdir
6036 (lambda* (#:key source outputs #:allow-other-keys)
6037 (let ((out (assoc-ref outputs "out")))
6038 (chdir
6039 (string-append out "/share/julia/loadpath/URIs/test"))))))))
6040 ;; required for tests
6041 (inputs (list julia-json))
6042 (home-page "https://github.com/JuliaWeb/URIs.jl")
6043 (synopsis "URI parsing in Julia")
6044 (description "@code{URIs.jl} is a Julia package that allows parsing and
6045 working with @acronym{URIs,Uniform Resource Identifiers}, as defined in RFC
6046 3986.")
6047 (license license:expat)))
6048
6049 (define-public julia-unitful
6050 (package
6051 (name "julia-unitful")
6052 (version "1.12.2")
6053 (source
6054 (origin
6055 (method git-fetch)
6056 (uri (git-reference
6057 (url "https://github.com/PainterQubits/Unitful.jl")
6058 (commit (string-append "v" version))))
6059 (file-name (git-file-name name version))
6060 (sha256
6061 (base32 "1b8w6wqc7azqzg2f8zc3bmc72fb01sx0rqh6dv3k54wj01ph15p7"))))
6062 (build-system julia-build-system)
6063 (arguments
6064 (list #:parallel-tests? #f))
6065 (propagated-inputs
6066 (list julia-constructionbase))
6067 (home-page "https://painterqubits.github.io/Unitful.jl/stable/")
6068 (synopsis "Physical units in Julia")
6069 (description "This package supports SI units and also many other unit
6070 system.")
6071 (license license:expat)))
6072
6073 (define-public julia-versionparsing
6074 (package
6075 (name "julia-versionparsing")
6076 (version "1.2.0")
6077 (source
6078 (origin
6079 (method git-fetch)
6080 (uri (git-reference
6081 (url "https://github.com/JuliaInterop/VersionParsing.jl")
6082 (commit (string-append "v" version))))
6083 (file-name (git-file-name name version))
6084 (sha256
6085 (base32 "060s72dsnpavgilf7f7315lw2sn4npk8lkndmj6bg7i23hppiwva"))))
6086 (build-system julia-build-system)
6087 (home-page "https://github.com/JuliaInterop/VersionParsing.jl")
6088 (synopsis "Flexible VersionNumber parsing in Julia")
6089 (description "The @code{VersionParsing} package implements flexible parsing
6090 of version-number strings into Julia's built-in @code{VersionNumber} type, via
6091 the @code{vparse(string)} function. Unlike the @code{VersionNumber(string)}
6092 constructor, @code{vparse(string)} can handle version-number strings in a much
6093 wider range of formats than are encompassed by the semver standard. This is
6094 useful in order to support @code{VersionNumber} comparisons applied to
6095 \"foreign\" version numbers from external packages.")
6096 (license license:expat)))
6097
6098 (define-public julia-weakrefstrings
6099 (package
6100 (name "julia-weakrefstrings")
6101 (version "1.4.0")
6102 (source
6103 (origin
6104 (method git-fetch)
6105 (uri (git-reference
6106 (url "https://github.com/JuliaData/WeakRefStrings.jl")
6107 (commit (string-append "v" version))))
6108 (file-name (git-file-name name version))
6109 (sha256
6110 (base32 "1ca94bpsjqrap2y9wlixspnisfkcms7aax0kpv7yn0v2vs9481wk"))))
6111 (build-system julia-build-system)
6112 (propagated-inputs
6113 (list julia-dataapi
6114 julia-inlinestrings
6115 julia-parsers))
6116 (home-page "https://github.com/JuliaData/WeakRefStrings.jl")
6117 (synopsis "Efficient string representation and transfer in Julia")
6118 (description "This package provides a minimal String type for Julia that
6119 allows for efficient string representation and transfer")
6120 (license license:expat)))
6121
6122 (define-public julia-woodburymatrices
6123 (package
6124 (name "julia-woodburymatrices")
6125 (version "0.5.5")
6126 (source
6127 (origin
6128 (method git-fetch)
6129 (uri (git-reference
6130 (url "https://github.com/timholy/WoodburyMatrices.jl")
6131 (commit (string-append "v" version))))
6132 (file-name (git-file-name name version))
6133 (sha256
6134 (base32 "1vwy8nlhvjh0ndia4ni40iq4pf2nhwy5iy3rmf4i2jff13vc6aqn"))))
6135 (build-system julia-build-system)
6136 (home-page "https://github.com/timholy/WoodburyMatrices.jl")
6137 (synopsis "Support for the Woodbury matrix identity for Julia")
6138 (description "This package provides support for the Woodbury matrix identity
6139 for the Julia programming language. This is a generalization of the
6140 Sherman-Morrison formula. Note that the Woodbury matrix identity is notorious
6141 for floating-point roundoff errors, so be prepared for a certain amount of
6142 inaccuracy in the result.")
6143 (license license:expat)))
6144
6145 (define-public julia-yaml
6146 (package
6147 (name "julia-yaml")
6148 (version "0.4.7")
6149 (source
6150 (origin
6151 (method git-fetch)
6152 (uri (git-reference
6153 (url "https://github.com/JuliaData/YAML.jl")
6154 (commit (string-append "v" version))))
6155 (file-name (git-file-name name version))
6156 (sha256
6157 (base32 "00k8456ffldbf75k2q5yxim7cgz3p0pbshsvmpm1331g8qy6liin"))))
6158 (build-system julia-build-system)
6159 (propagated-inputs
6160 (list julia-stringencodings))
6161 (native-inputs
6162 (list julia-datastructures
6163 julia-orderedcollections))
6164 (home-page "https://github.com/JuliaData/YAML.jl")
6165 (synopsis "Parses YAML documents into native Julia types")
6166 (description "This package parses YAML documents into native Julia types
6167 and dumps them back into YAML documents.")
6168 (license license:expat)))
6169
6170 (define-public julia-zipfile
6171 (package
6172 (name "julia-zipfile")
6173 (version "0.9.3")
6174 (source
6175 (origin
6176 (method git-fetch)
6177 (uri (git-reference
6178 (url "https://github.com/fhs/ZipFile.jl")
6179 (commit (string-append "v" version))))
6180 (file-name (git-file-name name version))
6181 (sha256
6182 (base32
6183 "15bm3ki5mb9nvqs2byznrryq0bilnjcvsfy3k05hxhk9vapilw7k"))))
6184 (build-system julia-build-system)
6185 (propagated-inputs
6186 (list julia-zlib-jll))
6187 (home-page "https://github.com/fhs/ZipFile.jl")
6188 (synopsis "Read/Write ZIP archives in Julia")
6189 (description "This module provides support for reading and writing ZIP
6190 archives in Julia.")
6191 (license license:expat)))
6192
6193 (define-public julia-zygoterules
6194 (package
6195 (name "julia-zygoterules")
6196 (version "0.2.2")
6197 (source
6198 (origin
6199 (method git-fetch)
6200 (uri (git-reference
6201 (url "https://github.com/FluxML/ZygoteRules.jl")
6202 (commit (string-append "v" version))))
6203 (file-name (git-file-name name version))
6204 (sha256
6205 (base32 "0h9m9ibxfcw9cqa7p0aylpvibvlxsn5nlfzkz1pk68jy58vkzhca"))))
6206 (build-system julia-build-system)
6207 (propagated-inputs
6208 (list julia-macrotools))
6209 (home-page "https://github.com/FluxML/ZygoteRules.jl")
6210 (synopsis "Add minimal custom gradients to Zygote")
6211 (description "Minimal package which enables to add custom gradients to
6212 Zygote, without depending on Zygote itself.")
6213 (license license:expat)))
6214
6215 (define-public julia-zygote
6216 (package
6217 (name "julia-zygote")
6218 (version "0.6.41")
6219 (source
6220 (origin
6221 (method git-fetch)
6222 (uri (git-reference
6223 (url "https://github.com/FluxML/Zygote.jl")
6224 (commit (string-append "v" version))))
6225 (file-name (git-file-name name version))
6226 (sha256
6227 (base32 "02bgj6m1j25sm3pa5sgmds706qpxk1qsbm0s2j3rjlrz9xn7glgk"))))
6228 (build-system julia-build-system)
6229 (arguments
6230 (list #:tests? #f)) ;require CUDA, not packaged yet
6231 (propagated-inputs
6232 (list julia-abstractffts
6233 julia-chainrules
6234 julia-chainrulescore
6235 julia-diffrules
6236 julia-fillarrays
6237 julia-forwarddiff
6238 julia-irtools
6239 julia-logexpfunctions
6240 julia-macrotools
6241 julia-nanmath
6242 julia-requires
6243 julia-specialfunctions
6244 julia-zygoterules))
6245 (home-page "https://fluxml.ai/Zygote.jl")
6246 (synopsis "Automatic differentiation in Julia")
6247 (description "Zygote provides source-to-source automatic
6248 differentiation (AD) in Julia, and is the next-generation AD system for the
6249 Flux differentiable programming framework.")
6250 (license license:expat)))
6251
6252 ;;;
6253 ;;; Avoid adding new packages to the end of this file. To reduce the chances
6254 ;;; of a merge conflict, place them above by existing packages with similar
6255 ;;; functionality or similar names.
6256 ;;;