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>
9 ;;; This file is part of GNU Guix.
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.
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.
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/>.
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))
38 (define-public julia-abstractffts
40 (name "julia-abstractffts")
46 (url "https://github.com/JuliaMath/AbstractFFTS.jl")
47 (commit (string-append "v" version))))
48 (file-name (git-file-name name version))
50 (base32 "0083pwdyxjb04i330ir9pc8kmp4bwk59lx1jgc9qi05y8j7xzbp0"))))
51 (build-system julia-build-system)
52 (inputs ;required for tests
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)))
63 (define-public julia-abstracttrees
65 (name "julia-abstracttrees")
71 (url "https://github.com/JuliaCollections/AbstractTrees.jl")
72 (commit (string-append "v" version))))
73 (file-name (git-file-name name version))
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
84 (license license:expat)))
86 (define-public julia-adapt
94 (url "https://github.com/JuliaGPU/Adapt.jl")
95 (commit (string-append "v" version))))
96 (file-name (git-file-name name version))
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)))
108 (define-public julia-ansicoloredprinters
110 (name "julia-ansicoloredprinters")
116 (url "https://github.com/JuliaDocs/ANSIColoredPrinters.jl")
117 (commit (string-append "v" version))))
118 (file-name (git-file-name name version))
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)))
128 (define-public julia-aqua
136 (url "https://github.com/JuliaTesting/Aqua.jl")
137 (commit (string-append "v" version))))
138 (file-name (git-file-name name version))
140 (base32 "12hng8czkgynsn1pshavma2wijypl6k05hhgivc3rqiyclfpi89z"))))
141 (build-system julia-build-system)
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)))
150 (define-public julia-arrayinterface
152 (name "julia-arrayinterface")
158 (url "https://github.com/JuliaArrays/ArrayInterface.jl")
159 (commit (string-append "v" version))))
160 (file-name (git-file-name name version))
162 (base32 "0b0h4ihc8sykd96rn16vpk5kfk0p1si5iim61cixk9x12ma8ia3h"))))
163 (build-system julia-build-system)
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)
179 julia-blockbandedmatrices
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)))
195 (define-public julia-arraylayouts
197 (name "julia-arraylayouts")
203 (url "https://github.com/JuliaMatrices/ArrayLayouts.jl")
204 (commit (string-append "v" version))))
205 (file-name (git-file-name name version))
207 (base32 "1j11jid4scw9icrbr8g6myp17nabjzmf4f40cichb20lzf1agz8l"))))
208 (build-system julia-build-system)
212 #~(modify-phases %standard-phases
213 (add-after 'unpack 'adjust-tests
215 (substitute* "test/test_layoutarray.jl"
216 (("@test all\\(B") "@test_broken all(B")))))))
218 (list julia-fillarrays))
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)))
229 (define-public julia-automa
231 (name "julia-automa")
237 (url "https://github.com/BioJulia/Automa.jl")
238 (commit (string-append "v" version))))
239 (file-name (git-file-name name version))
241 (base32 "0hmwvk3qw54p7f63a2dnzlmvkynfs62x9n8x952bcmczp35csgq0"))))
242 (build-system julia-build-system)
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
255 (license license:expat)))
257 (define-public julia-axisalgorithms
259 (name "julia-axisalgorithms")
265 (url "https://github.com/timholy/AxisAlgorithms.jl")
266 (commit (string-append "v" version))))
267 (file-name (git-file-name name version))
269 (base32 "00x85lnfln7xkfnirpplzyi8r6q92nfqwya8il156bf7b1pa20gk"))))
270 (build-system julia-build-system)
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
279 (license license:expat)))
281 (define-public julia-axisarrays
283 (name "julia-axisarrays")
289 (url "https://github.com/JuliaArrays/AxisArrays.jl")
290 (commit (string-append "v" version))))
291 (file-name (git-file-name name version))
293 (base32 "1bsd6y866ldfb4072hfm8fvc2k0vy72z2blcwfy2mpj8dlyskx3n"))))
294 (build-system julia-build-system)
296 (list julia-rangearrays
300 (list julia-offsetarrays
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)))
312 (define-public julia-bandedmatrices
314 (name "julia-bandedmatrices")
320 (url "https://github.com/JuliaMatrices/BandedMatrices.jl")
321 (commit (string-append "v" version))))
322 (file-name (git-file-name name version))
324 (base32 "0nrcasjdpwf15z7l2lzyhxjqxlnqk5if78s15sh4gdgxf9kzj3a6"))))
325 (build-system julia-build-system)
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)))
339 (define-public julia-benchmarktools
341 (name "julia-benchmarktools")
347 (url "https://github.com/JuliaCI/BenchmarkTools.jl")
348 (commit (string-append "v" version))))
349 (file-name (git-file-name name version))
351 (base32 "02n2pi71jvhsnc25a888i6imimd2c1phg6iyr73b12595lrz175d"))))
352 (build-system julia-build-system)
357 #~(modify-phases %standard-phases
358 (add-after 'unpack 'remove-failing-tests-i686
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)))
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)))
382 (define-public julia-bfloat16s
384 (name "julia-bfloat16s")
390 (url "https://github.com/JuliaMath/BFloat16s.jl")
391 (commit (string-append "v" version))))
392 (file-name (git-file-name name version))
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)))
407 (define-public julia-bioalignments
409 (name "julia-bioalignments")
415 (url "https://github.com/BioJulia/BioAlignments.jl")
416 (commit (string-append "v" version))))
417 (file-name (git-file-name name version))
419 (base32 "1wf6qgsada59r2fykxfj9hcr635wl8maqxbd3w8qpa01k9glxa0k"))))
420 (build-system julia-build-system)
424 #~(modify-phases %standard-phases
425 (add-after 'unpack 'skip-test
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)")))))))
433 (list julia-biogenerics
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)))
443 (define-public julia-biogenerics
444 ;; No upstream release
445 (let ((commit "a75abaf459250e2b5e22b4d9adf25fd36d2acab6")
448 (name "julia-biogenerics")
449 (version (git-version "0.0.0" revision commit))
454 (url "https://github.com/BioJulia/BioGenerics.jl")
456 (file-name (git-file-name name version))
458 (base32 "17d222vi9nssjwr5l349fss7jnglnjimp1z62kmfmxa4fsn8lk8l"))))
459 (build-system julia-build-system)
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))))
469 (define-public julia-biosequences
471 (name "julia-biosequences")
477 (url "https://github.com/BioJulia/BioSequences.jl")
478 (commit (string-append "v" version))))
479 (file-name (git-file-name name version))
481 (base32 "0ns6zk0zvnsf4hlsys9ck2xrn20qck0b0aghh484vc6n458zq2gw"))))
482 (build-system julia-build-system)
484 (list julia-biogenerics
487 julia-indexablebitvectors
491 (list julia-statsbase
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
498 (license license:expat)))
500 (define-public julia-biosymbols
502 (name "julia-biosymbols")
503 ;; Older release for compatibility with julia-biosequences.
509 (url "https://github.com/BioJulia/BioSymbols.jl")
510 (commit (string-append "v" version))))
511 (file-name (git-file-name name version))
513 (base32 "1222rwdndi777lai8a6dwrh35i5rgmj75kcrhn8si72sxgz0syjm"))))
514 (build-system julia-build-system)
518 #~(modify-phases %standard-phases
519 (add-after 'unpack 'adjust-tests
521 (substitute* "test/runtests.jl"
522 (("\\@testset \\\"Range.*" all)
523 (string-append all " return\n"))))))))
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)))
532 (define-public julia-blockarrays
534 (name "julia-blockarrays")
540 (url "https://github.com/JuliaArrays/BlockArrays.jl")
541 (commit (string-append "v" version))))
542 (file-name (git-file-name name version))
544 (base32 "14gby25ixbp9ha0y2aj4gnjkzha4c7v4y3sicicgbkysnq921qd0"))))
545 (build-system julia-build-system)
551 #~(modify-phases %standard-phases
552 (add-after 'unpack 'fix-tests-int32-i686
554 (substitute* "test/test_blockarrays.jl"
555 (("Int64") "Int32"))))))))
557 (list julia-arraylayouts
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)))
578 (define-public julia-blockbandedmatrices
580 (name "julia-blockbandedmatrices")
586 (url "https://github.com/JuliaMatrices/BlockBandedMatrices.jl")
587 (commit (string-append "v" version))))
588 (file-name (git-file-name name version))
590 (base32 "1qag5awl8cmsyhpajv6llhpqbzxfii1bacppbjvmb1fqs9s0lifd"))))
591 (build-system julia-build-system)
593 (list julia-arraylayouts
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)))
606 (define-public julia-bson
614 (url "https://github.com/JuliaIO/BSON.jl")
615 (commit (string-append "v" version))))
616 (file-name (git-file-name name version))
618 (base32 "1accra3casg66fhn5r07hz3rgs7qf9ld9ajnz8f80aid85zyp891"))))
619 (build-system julia-build-system)
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
627 (license license:expat)))
629 (define-public julia-bufferedstreams
631 (name "julia-bufferedstreams")
637 (url "https://github.com/BioJulia/BufferedStreams.jl")
638 (commit (string-append "v" version))))
639 (file-name (git-file-name name version))
641 (base32 "0sf4sxbq55mg2pwxyxf0c839z1lk0yxg8nmb7617bfbvw31cp88z"))))
642 (build-system julia-build-system)
643 ;; The package is old and tests are using undefined functions. They also
645 ;; https://travis-ci.org/BioJulia/BufferedStreams.jl/jobs/491050182
649 #:julia-package-name "BufferedStreams"
650 #:julia-package-uuid "e1450e63-4bb3-523b-b2a4-4ffa8c0fd77d"))
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)))
660 (define-public julia-calculus
662 (name "julia-calculus")
668 (url "https://github.com/JuliaMath/Calculus.jl")
669 (commit (string-append "v" version))))
670 (file-name (git-file-name name version))
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
682 (license license:expat)))
684 (define-public julia-categoricalarrays
686 (name "julia-categoricalarrays")
692 (url "https://github.com/JuliaData/CategoricalArrays.jl")
693 (commit (string-append "v" version))))
694 (file-name (git-file-name name version))
696 (base32 "17fix7wlwqbif5jbcrbi0a0ghdl3429km3l6lqa962p7jf1gjd2d"))))
697 (build-system julia-build-system)
701 #~(modify-phases %standard-phases
702 (add-after 'unpack 'adjust-tests
704 ;; Plots.jl isn't packaged yet.
705 (substitute* "test/runtests.jl"
706 ((".*13_arraycommon\\.jl.*") "")))))))
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)))
731 (define-public julia-cenum
739 (url "https://github.com/JuliaInterop/CEnum.jl")
740 (commit (string-append "v" version))))
741 (file-name (git-file-name name version))
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)))
750 (define-public julia-cfitsio
752 (name "julia-cfitsio")
758 (url "https://github.com/JuliaAstro/CFITSIO.jl")
759 (commit (string-append "v" version))))
760 (file-name (git-file-name name version))
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:
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.
778 (license license:expat)))
780 (define-public julia-chainrules
782 (name "julia-chainrules")
788 (url "https://github.com/JuliaDiff/ChainRules.jl")
789 (commit (string-append "v" version))))
790 (file-name (git-file-name name version))
792 (base32 "17irgz3gamyrmzsjhq4s1n1sblvhkj10yg5y5y53yr631cl2fr6a"))))
793 (build-system julia-build-system)
795 (list #:tests? #f)) ; JuliaInterpreter.jl not packaged yet.
796 ;(inputs ;required for test
797 ; (list julia-chainrulestestutils
798 ; julia-finitedifferences
799 ; julia-juliainterpreter))
801 (list julia-chainrulescore
803 julia-irrationalconstants
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)))
812 (define-public julia-chainrulescore
814 (name "julia-chainrulescore")
820 (url "https://github.com/JuliaDiff/ChainRulesCore.jl")
821 (commit (string-append "v" version))))
822 (file-name (git-file-name name version))
824 (base32 "0lgfcsb7f6c7knhiz5dbqh8x47d370pn71y9ys2y6763g0b4pm61"))))
825 (build-system julia-build-system)
829 #~(modify-phases %standard-phases
830 (add-after 'unpack 'adjust-tests
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
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)))
848 (define-public julia-chainrulestestutils
850 (name "julia-chainrulestestutils")
856 (url "https://github.com/JuliaDiff/ChainRulesTestUtils.jl")
857 (commit (string-append "v" version))))
858 (file-name (git-file-name name version))
860 (base32 "0vk7cpp049pjj7g5zqxr7djp5v0swhvhq3wvkxyw8m8xvqlnfncc"))))
861 (build-system julia-build-system)
863 (list julia-chainrulescore
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}).
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)))
880 (define-public julia-changesofvariables
882 (name "julia-changesofvariables")
888 (url "https://github.com/JuliaMath/ChangesOfVariables.jl")
889 (commit (string-append "v" version))))
890 (file-name (git-file-name name version))
892 (base32 "1migyhiqr1rq496302wlkb0s5l8zwqs97ajfkip0jzpvrk2s2xxy"))))
893 (build-system julia-build-system)
895 ;; Pulls in ForwardDiff, would have a cyclical
896 ;; dependency with LogExpFunctions.
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
905 (license license:expat)))
907 (define-public julia-codeczlib
909 (name "julia-codeczlib")
915 (url "https://github.com/JuliaIO/CodecZlib.jl")
916 (commit (string-append "v" version))))
917 (file-name (git-file-name name version))
919 (base32 "0xm603nylkwk4bzx66zv1g3syzrvn3jh9spdx7kvcvgszzyrrgh4"))))
920 (build-system julia-build-system)
922 (list julia-transcodingstreams
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)))
930 (define-public julia-colors
932 (name "julia-colors")
938 (url "https://github.com/JuliaGraphics/Colors.jl")
939 (commit (string-append "v" version))))
940 (file-name (git-file-name name version))
942 (base32 "1g0fvvz09pfk6jxqrdplwkw1yywcqvwjd3ga24hblq71mah367n6"))))
943 (build-system julia-build-system)
947 #~(modify-phases %standard-phases
948 (add-after 'unpack 'adjust-tests
950 (substitute* "test/runtests.jl"
951 ((".*detect_ambiguities.*") "")))))))
953 (list julia-colortypes
954 julia-fixedpointnumbers
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)))
966 (define-public julia-colorschemes
968 (name "julia-colorschemes")
974 (url "https://github.com/JuliaGraphics/ColorSchemes.jl")
975 (commit (string-append "v" version))))
976 (file-name (git-file-name name version))
978 (base32 "0kpjhmqd5cj8dh8bmh9b5g6bscyp7h23hzpr2s93pnrp57q1wvhq"))))
979 (build-system julia-build-system)
983 julia-fixedpointnumbers
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)))
990 (define-public julia-colortypes
992 (name "julia-colortypes")
998 (url "https://github.com/JuliaGraphics/ColorTypes.jl")
999 (commit (string-append "v" version))))
1000 (file-name (git-file-name name version))
1002 (base32 "0cp5wbi2bhnxp4h7wpzkx341d47744f4c9a8n0w0kn016qa16m86"))))
1003 (build-system julia-build-system)
1007 #~(modify-phases %standard-phases
1008 (add-after 'unpack 'skip-failing-test
1010 (substitute* "test/conversions.jl"
1011 (("@test promote\\(RGB\\{N0f8")
1012 "@test_broken promote(RGB{N0f8")))))))
1014 (list julia-fixedpointnumbers))
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
1023 (license license:expat)))
1025 (define-public julia-colorvectorspace
1027 (name "julia-colorvectorspace")
1033 (url "https://github.com/JuliaGraphics/ColorVectorSpace.jl")
1034 (commit (string-append "v" version))))
1035 (file-name (git-file-name name version))
1037 (base32 "07scws2bn2z3f2crhnx1zxk3zk3vzfv9iz6lv3i9785nplmsgdx9"))))
1038 (build-system julia-build-system)
1041 #:tests? #f)) ; TODO: Reenable the test suite.
1043 (list julia-colortypes
1044 julia-fixedpointnumbers
1045 julia-specialfunctions
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)))
1057 (define-public julia-combinatorics
1059 (name "julia-combinatorics")
1065 (url "https://github.com/JuliaMath/Combinatorics.jl")
1066 (commit (string-append "v" version))))
1067 (file-name (git-file-name name version))
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)))
1077 (define-public julia-commonsubexpressions
1079 (name "julia-commonsubexpressions")
1085 (url "https://github.com/rdeits/CommonSubexpressions.jl")
1086 (commit (string-append "v" version))))
1087 (file-name (git-file-name name version))
1089 (base32 "0mgy90kk8ksv3l720kkk04gnhn4aqhh2dj4sp3x8yy3limngfjay"))))
1090 (build-system julia-build-system)
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)))
1099 (define-public julia-compat
1101 (name "julia-compat")
1107 (url "https://github.com/JuliaLang/Compat.jl")
1108 (commit (string-append "v" version))))
1109 (file-name (git-file-name name version))
1111 (base32 "0qzvaqi5gqgc747fnajbvvf5vqbh6cwykwky00c7glvmvdsgk3z0"))))
1112 (build-system julia-build-system)
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
1127 (license license:expat)))
1129 (define-public julia-configurations
1131 (name "julia-configurations")
1137 (url "https://github.com/Roger-luo/Configurations.jl")
1138 (commit (string-append "v" version))))
1139 (file-name (git-file-name name version))
1141 (base32 "1b23p0zk8dx2sf01cnw177mqci7qd81b9s32ixz9clsh0r0icl1b"))))
1142 (build-system julia-build-system)
1146 #~(modify-phases %standard-phases
1147 (add-after 'link-depot 'fix-tests
1149 (substitute* "test/runtests.jl"
1150 (("option.toml") "test/option.toml"))))
1151 (add-after 'link-depot 'dont-use-exproniconlite
1153 (substitute* '("Project.toml"
1154 "src/Configurations.jl"
1156 (("ExproniconLite") "Expronicon"))
1157 (substitute* "Project.toml"
1158 (("55351af7-c7e9-48d6-89ff-24e801d99491")
1159 "6b7a57c9-7cc1-4fdf-b7f5-e857abae3636"))))
1160 #$@(if (target-64bit?)
1162 '((add-after 'unpack 'fix-tests-int32-i686
1164 (substitute* "test/runtests.jl"
1165 (("Int64") "Int32")))))))))
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)))
1177 (define-public julia-constructionbase
1179 (name "julia-constructionbase")
1185 (url "https://github.com/JuliaObjects/ConstructionBase.jl")
1186 (commit (string-append "v" version))))
1187 (file-name (git-file-name name version))
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)))
1197 (define-public julia-coordinatetransformations
1198 ;; Test suite fixed after the last release.
1199 (let ((commit "78f5a5cc8cf77f21407b4f175673fa4f6bf86633")
1202 (name "julia-coordinatetransformations")
1203 (version (git-version "0.6.2" revision commit))
1208 (url "https://github.com/JuliaGeometry/CoordinateTransformations.jl")
1210 (file-name (git-file-name name version))
1212 (base32 "026g3b2m2z509jdlqvd46yhnhg8y6m00plr3k7cjlbzrfi2yjjn8"))))
1213 (build-system julia-build-system)
1215 (list julia-staticarrays))
1217 (list julia-documenter
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))))
1233 (define-public julia-crayons
1235 (name "julia-crayons")
1241 (url "https://github.com/KristofferC/Crayons.jl")
1242 (commit (string-append "v" version))))
1243 (file-name (git-file-name name version))
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)))
1255 (define-public julia-csv
1263 (url "https://github.com/JuliaData/CSV.jl")
1264 (commit (string-append "v" version))))
1265 (file-name (git-file-name name version))
1267 (base32 "15kjh5wa6ravb10n9n9bsh7ggmarqmw8s57p35l4b3dqk9d8qafh"))))
1268 (build-system julia-build-system)
1271 #~(modify-phases %standard-phases
1272 (add-after 'unpack 'fix-reference-to-cat
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")))))))
1284 (list julia-codeczlib
1289 julia-sentinelarrays
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)))
1298 (define-public julia-dataapi
1300 (name "julia-dataapi")
1306 (url "https://github.com/JuliaData/DataAPI.jl")
1307 (commit (string-append "v" version))))
1308 (file-name (git-file-name name version))
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
1319 (license license:expat)))
1321 (define-public julia-dataframes
1323 (name "julia-dataframes")
1329 (url "https://github.com/JuliaData/DataFrames.jl")
1330 (commit (string-append "v" version))))
1331 (file-name (git-file-name name version))
1333 (base32 "01ybc1ckn5wi7kwp29g5ms4m3g650856z4xv71racbdr8475pmg5"))))
1334 (build-system julia-build-system)
1338 #~(modify-phases %standard-phases
1339 (add-after 'link-depot 'skip-failing-test
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")))))))
1356 (list julia-categoricalarrays
1359 julia-invertedindices
1360 julia-iteratorinterfaceextensions
1366 julia-sortingalgorithms
1371 (list julia-categoricalarrays
1373 julia-datastructures
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)))
1387 (define-public julia-datastructures
1389 (name "julia-datastructures")
1395 (url "https://github.com/JuliaCollections/DataStructures.jl")
1396 (commit (string-append "v" version))))
1397 (file-name (git-file-name name version))
1399 (base32 "1ikrgc4d39980nrr77yzcnr1v74wrjh9xvyi2ajfzbcim58vrcqg"))))
1402 julia-orderedcollections))
1403 (build-system julia-build-system)
1407 (if (target-x86-32?)
1408 #~(modify-phases %standard-phases
1409 (add-after 'unpack 'remove-failing-test-i686
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)))
1425 (define-public julia-datavalueinterfaces
1427 (name "julia-datavalueinterfaces")
1433 (url "https://github.com/queryverse/DataValueInterfaces.jl")
1434 (commit (string-append "v" version))))
1435 (file-name (git-file-name name version))
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)))
1446 (define-public julia-datavalues
1448 (name "julia-datavalues")
1454 (url "https://github.com/queryverse/DataValues.jl")
1455 (commit (string-append "v" version))))
1456 (file-name (git-file-name name version))
1458 (base32 "15j3hrqq6nazn533bfsvg32xznacbzsl303j1qs48av59ppnvhhv"))))
1459 (build-system julia-build-system)
1462 #:tests? #f ; Tests need upgrading with newer Julia version.
1464 #~(modify-phases %standard-phases
1465 (add-after 'link-depot 'skip-known-failing-tests
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.*") "")))))))
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)))
1480 (define-public julia-deepdiffs
1482 (name "julia-deepdiffs")
1488 (url "https://github.com/ssfrr/DeepDiffs.jl")
1489 (commit (string-append "v" version))))
1490 (file-name (git-file-name name version))
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)))
1503 (define-public julia-dictionaries
1505 (name "julia-dictionaries")
1511 (url "https://github.com/andyferris/Dictionaries.jl")
1512 (commit (string-append "v" version))))
1513 (file-name (git-file-name name version))
1515 (base32 "1mm43hm8hd6sgmkkpqhbqhvap7mpkjwzmz5algxi6manp580gkr5"))))
1516 (build-system julia-build-system)
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)))
1525 (define-public julia-distances
1527 (name "julia-distances")
1533 (url "https://github.com/JuliaStats/Distances.jl")
1534 (commit (string-append "v" version))))
1535 (file-name (git-file-name name version))
1537 (base32 "0sgrh3bzhmqqz0m28lmk66xhnl62i5r2miaiqml8nhbkaapbwc06"))))
1538 (build-system julia-build-system)
1542 #~(modify-phases %standard-phases
1543 (add-after 'link-depot 'skip-flakey-tests
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")))
1560 (list julia-statsapi))
1562 (list julia-offsetarrays
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)))
1572 (define-public julia-docstringextensions
1574 (name "julia-docstringextensions")
1580 (url "https://github.com/JuliaDocs/DocStringExtensions.jl")
1581 (commit (string-append "v" version))))
1582 (file-name (git-file-name name version))
1584 (base32 "0fy4kfnfacyfmlly6nqxn77dk2gqw80b69zb4m1i0i39zv3cpqfb"))))
1585 (build-system julia-build-system)
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)))
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
1601 (name "julia-documenter")
1607 (url "https://github.com/JuliaDocs/Documenter.jl")
1608 (commit (string-append "v" version))))
1609 (file-name (git-file-name name version))
1611 (base32 "00ai3c24i3fkn5plmavampcxm0ijhwk0v5cn9xwm7rvbjnnvaaam"))))
1612 (build-system julia-build-system)
1616 #~(modify-phases %standard-phases
1617 (add-after 'link-depot 'patch-source
1618 (lambda* (#:key inputs #:allow-other-keys)
1619 (substitute* "src/Deps.jl"
1621 (string-append (search-input-file inputs "bin/pip")
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"
1631 "-c protocol.file.allow=always submodule add"))))
1632 (add-after 'link-depot 'remove-javascript-downloads
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.*") "")))))))
1641 (list julia-ansicoloredprinters
1642 julia-docstringextensions
1646 (list python-wrapper))
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)))
1656 (define julia-documenter-bootstrap
1658 (inherit julia-documenter)
1659 (name "julia-documenter-bootstrap")
1661 (substitute-keyword-arguments (package-arguments julia-documenter)
1663 `(modify-phases ,phases
1664 (delete 'patch-source)))
1665 ;; Not all dependencies available in bootstrap version.
1666 ((#:tests? _ #f) #f)))
1668 (native-inputs `())))
1670 (define-public julia-documentermarkdown
1672 (name "julia-documentermarkdown")
1678 (url "https://github.com/JuliaDocs/DocumenterMarkdown.jl")
1679 (commit (string-append "v" version))))
1680 (file-name (git-file-name name version))
1682 (base32 "0sx89hi5p2f8zi2rp5qrv06m270d90pxj5d2y5cxls1spax7wqx8"))))
1683 (build-system julia-build-system)
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)))
1694 (define-public julia-documentertools
1696 (name "julia-documentertools")
1702 (url "https://github.com/JuliaDocs/DocumenterTools.jl")
1703 (commit (string-append "v" version))))
1704 (file-name (git-file-name name version))
1706 (base32 "05p57p8xlkn42m1lv9gq4hl96vp7hpj19d51p828ai1rbpcpi3a6"))))
1707 (build-system julia-build-system)
1709 (list #:tests? #f)) ; Tests require network.
1711 ;; We don't want to propagate the bootstrap version.
1712 ;; Cycle with Documenter.jl in later versions.
1713 (list julia-documenter-bootstrap))
1715 (list julia-docstringextensions
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)))
1726 (define-public julia-diffresults
1728 (name "julia-diffresults")
1734 (url "https://github.com/JuliaDiff/DiffResults.jl")
1735 (commit (string-append "v" version))))
1736 (file-name (git-file-name name version))
1738 (base32 "1w6p3yxajvclax5b9g7cr2jmbc7lvr5nk4gq0aljxdycdq1d2y3v"))))
1739 (build-system julia-build-system)
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)))
1748 (define-public julia-diffrules
1750 (name "julia-diffrules")
1756 (url "https://github.com/JuliaDiff/DiffRules.jl")
1757 (commit (string-append "v" version))))
1758 (file-name (git-file-name name version))
1760 (base32 "0l983kzy01y7qqw42pi0ihpvx3yzfnwrhcmk38avw7y513qlm7vf"))))
1761 (build-system julia-build-system)
1763 (list julia-irrationalconstants
1764 julia-logexpfunctions
1766 julia-specialfunctions))
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)))
1777 (define-public julia-difftests
1779 (name "julia-difftests")
1785 (url "https://github.com/JuliaDiff/DiffTests.jl")
1786 (commit (string-append "v" version))))
1787 (file-name (git-file-name name version))
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)))
1797 (define-public julia-dualnumbers
1799 (name "julia-dualnumbers")
1805 (url "https://github.com/JuliaDiff/DualNumbers.jl")
1806 (commit (string-append "v" version))))
1807 (file-name (git-file-name name version))
1809 (base32 "05vr5wbzqpchnb96b3pmn67x196mbfnkv7r9bdlz3gm56if4awk5"))))
1810 (build-system julia-build-system)
1814 #~(modify-phases %standard-phases
1815 (add-after 'link-depot 'adjust-test-suite
1817 (substitute* "test/runtests.jl"
1818 ;; Seems to not play nicely with SpecialFunctions
1819 ((".*isempty.*") "")))))))
1821 (list julia-calculus
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)))
1832 (define-public julia-ellipsisnotation
1834 (name "julia-ellipsisnotation")
1840 (url "https://github.com/ChrisRackauckas/EllipsisNotation.jl")
1841 (commit (string-append "v" version))))
1842 (file-name (git-file-name name version))
1844 (base32 "0l4fc180chhxlq9d67122c0lgq2hfsxsmcgml2bfl2rnh13gya2b"))))
1845 (build-system julia-build-system)
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)))
1855 (define-public julia-example
1856 (let ((commit "f968c69dea24f851d0c7e686db23fa55826b5388"))
1858 (name "julia-example")
1859 (version "0.5.4") ;tag not created upstream
1864 (url "https://github.com/JuliaLang/Example.jl")
1866 (file-name (git-file-name name version))
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))))
1875 ;; ExproniconLite.jl is autogenerated from this package.
1876 (define-public julia-expronicon
1878 (name "julia-expronicon")
1884 (url "https://github.com/Roger-luo/Expronicon.jl")
1885 (commit (string-append "v" version))))
1886 (file-name (git-file-name name version))
1888 (base32 "0h8aaynqlxrkn8575k5vqmhzil4vvxchhf0bcxa6zwawp558gj2y"))))
1889 (build-system julia-build-system)
1893 #~(modify-phases %standard-phases
1894 (add-after 'link-depot 'skip-network-tests
1896 (substitute* "test/runtests.jl"
1897 ;; This test tries to access the Julia package registry.
1898 ((".*expand\\.jl.*") "")))))))
1900 (list julia-mlstyle))
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
1908 (license license:expat)))
1910 (define-public julia-exprtools
1912 (name "julia-exprtools")
1918 (url "https://github.com/invenia/ExprTools.jl")
1919 (commit (string-append "v" version))))
1920 (file-name (git-file-name name version))
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)))
1931 (define-public julia-ffmpeg
1933 (name "julia-ffmpeg")
1939 (url "https://github.com/JuliaIO/FFMPEG.jl")
1940 (commit (string-append "v" version))))
1941 (file-name (git-file-name name version))
1943 (base32 "1ldxbp0kq3ip67x7sp82dz56aq4p5i0chspbgx2zgskr6jcbjj1b"))))
1944 (build-system julia-build-system)
1946 (list julia-ffmpeg-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)))
1955 (define-public julia-fileio
1957 (name "julia-fileio")
1963 (url "https://github.com/JuliaIO/FileIO.jl")
1964 (commit (string-append "v" version))))
1965 (file-name (git-file-name name version))
1967 (base32 "1b18x43i737g5q41n9818xbnc2pgd98q1m6yw3h29yri0clg4gfx"))))
1968 (build-system julia-build-system)
1972 #~(modify-phases %standard-phases
1973 (delete 'reset-gzip-timestamps)
1974 (add-after 'link-depot 'skip-network-tests
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.*") "")))))))
1992 (list julia-requires))
1994 (list julia-colortypes
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)))
2006 (define-public julia-filepathsbase
2008 (name "julia-filepathsbase")
2014 (url "https://github.com/rofinn/FilePathsBase.jl")
2015 (commit (string-append "v" version))))
2016 (file-name (git-file-name name version))
2018 (base32 "136wm4ik6isrdanmpi4gdr1qw0qhr15i925qzjxbawk5hnyzwng9"))))
2019 (build-system julia-build-system)
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)))
2028 (define-public julia-fillarrays
2030 (name "julia-fillarrays")
2036 (url "https://github.com/JuliaArrays/FillArrays.jl")
2037 (commit (string-append "v" version))))
2038 (file-name (git-file-name name version))
2040 (base32 "1c4i8awmw9qq8dqfhxwjh76mc1nlmzrl5j754fpnbajv8p49gdv5"))))
2041 (build-system julia-build-system)
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)))
2054 (define-public julia-finitediff
2056 (name "julia-finitediff")
2062 (url "https://github.com/JuliaDiff/FiniteDiff.jl")
2063 (commit (string-append "v" version))))
2064 (file-name (git-file-name name version))
2066 (base32 "105f6r0hq97n9mxf1nacmz94dpca66vzqj5p3zh4h0brshmggqnq"))))
2067 (build-system julia-build-system)
2071 #~(modify-phases %standard-phases
2072 (add-before 'check 'pre-check
2074 ;; We don't want to run all the tests; the Downstream tests
2075 ;; try to download the package registry.
2076 (setenv "GROUP" "Core"))))))
2078 (list julia-arrayinterface
2080 julia-staticarrays))
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)))
2093 (define-public julia-finitedifferences
2095 (name "julia-finitedifferences")
2101 (url "https://github.com/JuliaDiff/FiniteDifferences.jl")
2102 (commit (string-append "v" version))))
2103 (file-name (git-file-name name version))
2105 (base32 "09nsf9cgk49yrvprflnhd9h5rrgs280rgj8sad3csghxdx6jqk5c"))))
2106 (build-system julia-build-system)
2110 (if (target-x86-32?)
2111 #~(modify-phases %standard-phases
2112 (add-after 'unpack 'remove-failing-test-i686
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)))
2120 (list julia-benchmarktools))
2122 (list julia-chainrulescore
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)))
2131 (define-public julia-fixedpointnumbers
2132 (let ((commit "59ee94b93f2f1ee75544ef44187fc0e440cd8015")
2135 (name "julia-fixedpointnumbers")
2136 (version (git-version "0.8.4" revision commit))
2141 (url "https://github.com/JuliaMath/FixedPointNumbers.jl")
2143 (file-name (git-file-name name version))
2145 (base32 "1ghriy7p2fj7mwdx11ssjg28jmwz8pi13c3j8p1grvwb4nvc0jnq"))))
2146 (build-system julia-build-system)
2148 (list #:tests? #f)) ; Cycle with julia-documenter
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))))
2162 (define-public julia-formatting
2164 (name "julia-formatting")
2170 (url "https://github.com/JuliaIO/Formatting.jl")
2171 (commit (string-append "v" version))))
2172 (file-name (git-file-name name version))
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)))
2182 (define-public julia-forwarddiff
2184 (name "julia-forwarddiff")
2190 (url "https://github.com/JuliaDiff/ForwardDiff.jl")
2191 (commit (string-append "v" version))))
2192 (file-name (git-file-name name version))
2194 (base32 "1lwjw2jzkffwk06hfc30vxhv36ng3gf12qjc43swmqiakkd3m5jx"))))
2195 (build-system julia-build-system)
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
2207 (list julia-calculus
2208 julia-commonsubexpressions
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)))
2223 (define-public julia-functionwrappers
2225 (name "julia-functionwrappers")
2231 (url "https://github.com/yuyichao/FunctionWrappers.jl")
2232 (commit (string-append "v" version))))
2233 (file-name (git-file-name name version))
2235 (base32 "02jilpjr7px6138dx2w7ixricvfgsxqdk84d9dgviranibhnjcxa"))))
2236 (build-system julia-build-system)
2240 #~(modify-phases %standard-phases
2241 (add-after 'link-depot 'adjust-tests
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)))
2252 (define-public julia-functors
2254 (name "julia-functors")
2260 (url "https://github.com/FluxML/Functors.jl")
2261 (commit (string-append "v" version))))
2262 (file-name (git-file-name name version))
2264 (base32 "00rzbj2rs2lq91wz8qyxq14bg7p9i49dq7y44fvxn6jaikha2ymw"))))
2265 (build-system julia-build-system)
2267 (list julia-documenter
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
2279 (license license:expat)))
2281 (define-public julia-fuzzycompletions
2283 (name "julia-fuzzycompletions")
2289 (url "https://github.com/JunoLab/FuzzyCompletions.jl")
2290 (commit (string-append "v" version))))
2291 (file-name (git-file-name name version))
2293 (base32 "07sv88c472n6w4x7diy952igbcfm1s104ysnnvprld83312siw06"))))
2294 (build-system julia-build-system)
2298 #~(modify-phases %standard-phases
2299 (add-after 'link-depot 'skip-failing-test
2301 (substitute* "test/runtests.jl"
2302 ((".*RPLE.*") "")))))))
2303 (home-page "https://github.com/JunoLab/FuzzyCompletions.jl")
2304 (synopsis "Fuzzy completion provider for Julia")
2306 "FuzzyCompletions provides fuzzy completions for a Julia runtime session.")
2307 (license license:expat)))
2309 (define-public julia-genericlinearalgebra
2311 (name "julia-genericlinearalgebra")
2317 (url "https://github.com/JuliaLinearAlgebra/GenericLinearAlgebra.jl")
2318 (commit (string-append "v" version))))
2319 (file-name (git-file-name name version))
2321 (base32 "0ndwypa397z3pwzdgc3s9plaqlqf63g3d4px5pvym5psgr6lnm3l"))))
2322 (build-system julia-build-system)
2326 #~(modify-phases %standard-phases
2327 (add-after 'link-depot 'adjust-test-suite
2329 (substitute* "test/runtests.jl"
2330 ((".*lapack.*") "")))))))
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)))
2341 (define-public julia-genericschur
2343 (name "julia-genericschur")
2349 (url "https://github.com/RalphAS/GenericSchur.jl")
2350 (commit (string-append "v" version))))
2351 (file-name (git-file-name name version))
2353 (base32 "02f2azi6036ca8nlgyvvfagwbks8jxfz4k0d8a709ixr1n0ylwap"))))
2354 (build-system julia-build-system)
2358 #~(modify-phases %standard-phases
2359 (add-after 'link-depot 'adjust-test-suite
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)))
2379 (define-public julia-geometrybasics
2381 (name "julia-geometrybasics")
2387 (url "https://github.com/JuliaGeometry/GeometryBasics.jl")
2388 (commit (string-append "v" version))))
2389 (file-name (git-file-name name version))
2391 (base32 "0kxn7gzv4sm3017qbng70iqb4wzy1k2fj5w6lkz1kn7lx7z7m33x"))))
2392 (build-system julia-build-system)
2396 #~(modify-phases %standard-phases
2397 (add-after 'link-depot 'remove-earcut
2399 (substitute* '("Project.toml"
2400 "src/GeometryBasics.jl")
2401 ((".*EarCut.*") ""))))
2402 (add-after 'link-depot 'skip-incompatible-test
2404 (substitute* "test/runtests.jl"
2405 (("@testset.*MetaT and heterogeneous data.*" all)
2406 (string-append all "return\n")))))
2407 #$@(if (target-64bit?)
2409 '((add-after 'unpack 'fix-tests-int32-i686
2411 (substitute* "test/runtests.jl"
2412 (("Int64") "Int32")))))))))
2414 (list julia-itertools
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)))
2429 (define-public julia-gpuarrays
2431 (name "julia-gpuarrays")
2437 (url "https://github.com/JuliaGPU/GPUArrays.jl")
2438 (commit (string-append "v" version))))
2439 (file-name (git-file-name name version))
2441 (base32 "129q8m94b2xq3vij28pkb7dry3r7qbiqrz72a26ma9kilcr35gk4"))))
2442 (build-system julia-build-system)
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
2453 (license license:expat)))
2455 (define-public julia-gr
2463 (url "https://github.com/jheinen/GR.jl")
2464 (commit (string-append "v" version))))
2465 (file-name (git-file-name name version))
2467 (base32 "18zxa1w2wmrf44c5l10qbh99zjdp7h94gxlymh47cf5kj5fc4xmx"))))
2468 (build-system julia-build-system)
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)))
2477 (define-public julia-graphics
2479 (name "julia-graphics")
2485 (url "https://github.com/JuliaGraphics/Graphics.jl")
2486 (commit (string-append "v" version))))
2487 (file-name (git-file-name name version))
2489 (base32 "083fppcbmchgnqp4xqdsd4asavq51jq31w8ak35ns701534hr82p"))))
2490 (build-system julia-build-system)
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)))
2500 (define-public julia-gumbo
2502 (name "julia-gumbo")
2508 (url "https://github.com/JuliaWeb/Gumbo.jl")
2509 (commit (string-append "v" version))))
2510 (file-name (git-file-name name version))
2512 (base32 "1g22dv3v7caakspv3pdahnqn937fzzsg9y87rj72hid9g8lxl1gm"))))
2513 (build-system julia-build-system)
2515 (list julia-abstracttrees
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)))
2523 (define-public julia-http
2531 (url "https://github.com/JuliaWeb/HTTP.jl")
2532 (commit (string-append "v" version))))
2533 (file-name (git-file-name name version))
2535 (base32 "1ynzcl30sf5r42l75l5x1a8z0643hlck2kysyhag9795gzafxzv3"))))
2536 (build-system julia-build-system)
2540 #~(modify-phases %standard-phases
2541 (add-before 'install 'disable-network-tests
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"))))))))
2574 ;; required for tests
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)))
2584 (define-public julia-ifelse
2586 (name "julia-ifelse")
2592 (url "https://github.com/sciml/ifelse.jl")
2593 (commit (string-append "v" version))))
2594 (file-name (git-file-name name version))
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)))
2604 (define-public julia-imageaxes
2606 (name "julia-imageaxes")
2612 (url "https://github.com/JuliaImages/ImageAxes.jl")
2613 (commit (string-append "v" version))))
2614 (file-name (git-file-name name version))
2616 (base32 "15f3y46vcr88fplr7rlibrm3k852p8rzwid5dgmbhc03a8xqd50s"))))
2617 (build-system julia-build-system)
2621 #~(modify-phases %standard-phases
2622 (add-after 'unpack 'adjust-tests
2624 (substitute* "test/runtests.jl"
2625 ;; Skip the constantly failing grayscale test.
2626 (("@test summary") "@test_broken summary")))))))
2628 (list julia-axisarrays
2632 julia-simpletraits))
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)))
2644 (define-public julia-imagebase
2646 (name "julia-imagebase")
2652 (url "https://github.com/JuliaImages/ImageBase.jl")
2653 (commit (string-append "v" version))))
2654 (file-name (git-file-name name version))
2656 (base32 "00gi268jsyhlkadkkbyiffph6c8yb7zw34px76n6hs7dkfzp6jm3"))))
2657 (build-system julia-build-system)
2659 (list #:tests? #f)) ; Cycle with ImageMagick.jl.
2661 (list julia-imagecore
2666 ; julia-imagefiltering
2669 ; julia-offsetarrays
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
2678 (license license:expat)))
2680 (define-public julia-imagecore
2682 (name "julia-imagecore")
2688 (url "https://github.com/JuliaImages/ImageCore.jl")
2689 (commit (string-append "v" version))))
2690 (file-name (git-file-name name version))
2692 (base32 "0a6m3cszgh2bfsgs08i64f1h1pwh6by4267rvwyvdk470z0ayc8q"))))
2693 (build-system julia-build-system)
2695 (list #:tests? #f)) ; Cycle with ImageMagick.jl.
2697 (list julia-abstractffts
2699 julia-colorvectorspace
2700 julia-fixedpointnumbers
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)))
2722 (define-public julia-imageinterminal
2724 (name "julia-imageinterminal")
2730 (url "https://github.com/JuliaImages/ImageInTerminal.jl")
2731 (commit (string-append "v" version))))
2732 (file-name (git-file-name name version))
2734 (base32 "0bbpzi7bv8jdiggq1wmcn67vnf96qagvwg0fk95s125wy5980xsl"))))
2735 (build-system julia-build-system)
2737 (list #:tests? #f)) ; Cycle with ReferenceTests.jl.
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)))
2760 (define-public julia-imagemagick
2762 (name "julia-imagemagick")
2768 (url "https://github.com/JuliaIO/ImageMagick.jl")
2769 (commit (string-append "v" version))))
2770 (file-name (git-file-name name version))
2772 (base32 "05vzv4jsj3l9pv6yrix28hlw7wnag0mqdfjwv8shn4x71hcfxl1p"))))
2773 (build-system julia-build-system)
2777 #~(modify-phases %standard-phases
2778 (add-after 'link-depot 'skip-failing-test
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))))))))
2790 julia-imagemagick-jll))
2793 julia-colorvectorspace
2796 julia-imagetransformations
2797 julia-indirectarrays
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)))
2806 (define-public julia-imagemetadata
2808 (name "julia-imagemetadata")
2814 (url "https://github.com/JuliaImages/ImageMetadata.jl")
2815 (commit (string-append "v" version))))
2816 (file-name (git-file-name name version))
2818 (base32 "0rdzvya5szlkg5ds3fw7lpk47hn16655i6265czwf8fxs3hb1gvf"))))
2819 (build-system julia-build-system)
2823 #~(modify-phases %standard-phases
2824 (add-after 'unpack 'adjust-tests
2826 (substitute* "test/operations.jl"
2827 ;; Skip the constantly failing greyscale test.
2828 (("\\@testset \\\"operations.*" all)
2829 (string-append all " return\n"))))))))
2831 (list julia-axisarrays
2836 (list julia-indirectarrays
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)))
2849 (define-public julia-imageshow
2851 (name "julia-imageshow")
2857 (url "https://github.com/JuliaImages/ImageShow.jl")
2858 (commit (string-append "v" version))))
2859 (file-name (git-file-name name version))
2861 (base32 "00wq3ab8y6nyhxwc5lpz9dnslsmcr1vg3cjdkh7wb7k6a8bw98mh"))))
2862 (build-system julia-build-system)
2864 (list #:tests? #f)) ; cycle with ImageMagick.jl.
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")
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)))
2884 (define-public julia-imagetransformations
2886 (name "julia-imagetransformations")
2892 (url "https://github.com/JuliaImages/ImageTransformations.jl")
2893 (commit (string-append "v" version))))
2894 (file-name (git-file-name name version))
2896 (base32 "1wavfs5chq8s9ma0k8fxfaqam4560w4l2j3lhbd9aqsjlgvi3swc"))))
2897 (build-system julia-build-system)
2899 (list #:tests? #f)) ; Cycle with ImageMagick.jl.
2901 (list julia-axisalgorithms
2902 julia-colorvectorspace
2903 julia-coordinatetransformations
2906 julia-interpolations
2909 julia-staticarrays))
2911 ; (list julia-endpointranges
2914 ; julia-referencetests
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)))
2923 (define-public julia-indexablebitvectors
2925 (name "julia-indexablebitvectors")
2931 (url "https://github.com/BioJulia/IndexableBitVectors.jl")
2932 (commit (string-append "v" version))))
2933 (file-name (git-file-name name version))
2935 (base32 "1khaycydwa31sxwvrrvvlylpzdb77kkxfmb8cax3i22ix0c2nmlc"))))
2936 (build-system julia-build-system)
2937 ;; Package without Project.toml
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:
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}.
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)))
2960 (define-public julia-indexing
2962 (name "julia-indexing")
2968 (url "https://github.com/andyferris/Indexing.jl")
2969 (commit (string-append "v" version))))
2970 (file-name (git-file-name name version))
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)))
2981 (define-public julia-indirectarrays
2983 (name "julia-indirectarrays")
2989 (url "https://github.com/JuliaArrays/IndirectArrays.jl")
2990 (commit (string-append "v" version))))
2991 (file-name (git-file-name name version))
2993 (base32 "0l0jq0jnr9z3k431ni82xycq7mqapgxrbrx4yyk6lycvi41ipm4s"))))
2994 (build-system julia-build-system)
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)))
3008 (define-public julia-infinity
3010 (name "julia-infinity")
3016 (url "https://github.com/cjdoris/Infinity.jl")
3017 (commit (string-append "v" version))))
3018 (file-name (git-file-name name version))
3020 (base32 "1941lwvrdjnrynigzixxin3chpg1ba6xplvcwc89x0f6z658hwmm"))))
3021 (build-system julia-build-system)
3025 #~(modify-phases %standard-phases
3026 (add-after 'link-depot 'remove-timezones.jl
3028 (substitute* "test/runtests.jl"
3029 (("using TimeZones.*") "")
3030 ((".*infextendedtime.*") "")))))))
3032 (list julia-requires))
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)))
3041 (define-public julia-inifile
3043 (name "julia-inifile")
3049 (url "https://github.com/JuliaIO/IniFile.jl")
3050 (commit "8ba59958495fa276d6489d2c3903e765d75e0bc0")))
3051 (file-name (git-file-name name version))
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)))
3061 (define-public julia-inlinestrings
3063 (name "julia-inlinestrings")
3069 (url "https://github.com/JuliaStrings/InlineStrings.jl")
3070 (commit (string-append "v" version))))
3071 (file-name (git-file-name name version))
3073 (base32 "1dcdpxlphjliqlnkcri7mhg9bqqzpsdj80h9gkw8xhzr3ls473zr"))))
3074 (build-system julia-build-system)
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
3085 (license license:expat)))
3087 (define-public julia-interpolations
3089 (name "julia-interpolations")
3095 (url "https://github.com/JuliaMath/Interpolations.jl")
3096 (commit (string-append "v" version))))
3097 (file-name (git-file-name name version))
3099 (base32 "1skzvgd63rhj1zpn45gi3974rbrir9p2y17zyfmkz6c6nird7bkj"))))
3100 (build-system julia-build-system)
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?)))))
3111 (list julia-axisalgorithms
3112 julia-chainrulescore
3117 julia-woodburymatrices))
3119 (list julia-colorvectorspace
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)))
3132 (define-public julia-intervalsets
3134 (name "julia-intervalsets")
3140 (url "https://github.com/JuliaMath/IntervalSets.jl")
3141 (commit (string-append "v" version))))
3142 (file-name (git-file-name name version))
3144 (base32 "0gsz89cd3iygbl5qr389k9vwpg7w1nk0s90g25nsmk34y9hifxag"))))
3145 (build-system julia-build-system)
3149 (if (target-x86-32?)
3150 #~(modify-phases %standard-phases
3151 (add-after 'unpack 'remove-failing-test-i686
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)))
3162 (list julia-ellipsisnotation))
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)))
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")
3179 (name "julia-intervaltrees")
3180 (version (git-version "1.0.0" revision commit))
3185 (url "https://github.com/BioJulia/IntervalTrees.jl")
3187 (file-name (git-file-name name version))
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))))
3198 (define-public julia-inversefunctions
3200 (name "julia-inversefunctions")
3206 (url "https://github.com/JuliaMath/InverseFunctions.jl")
3207 (commit (string-append "v" version))))
3208 (file-name (git-file-name name version))
3210 (base32 "05g9f6i735x7syfr56l4yf4fy71kgdisjc6cfxi4jkf46iq86a69"))))
3211 (build-system julia-build-system)
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)))
3219 (define-public julia-invertedindices
3221 (name "julia-invertedindices")
3227 (url "https://github.com/mbauman/InvertedIndices.jl")
3228 (commit (string-append "v" version))))
3229 (file-name (git-file-name name version))
3231 (base32 "15ym4dzyi4fkz0dznni032w3c84zmfa6mrzj2ljqvlqx1i6agqis"))))
3232 (build-system julia-build-system)
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)))
3242 (define-public julia-iocapture
3244 (name "julia-iocapture")
3250 (url "https://github.com/JuliaDocs/IOCapture.jl")
3251 (commit (string-append "v" version))))
3252 (file-name (git-file-name name version))
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)))
3263 (define-public julia-irrationalconstants
3265 (name "julia-irrationalconstants")
3271 (url "https://github.com/JuliaMath/IrrationalConstants.jl")
3272 (commit (string-append "v" version))))
3273 (file-name (git-file-name name version))
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:
3285 @item quartπ = π / 4
3287 @item twoinvπ = 2 / π
3288 @item fourinvπ = 4 / π
3289 @item inv2π = 1 / (2π)
3290 @item inv4π = 1 / (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)
3304 @item log2π = log(2π)
3305 @item log4π = log(4π)
3307 (license license:expat)))
3309 (define-public julia-irtools
3311 (name "julia-irtools")
3317 (url "https://github.com/FluxML/IRTools.jl")
3318 (commit (string-append "v" version))))
3319 (file-name (git-file-name name version))
3321 (base32 "1faddim4gp9pgyadgxi7zdqpdn6qkh7acqpdy29ixpbnb0wgla5r"))))
3322 (build-system julia-build-system)
3324 (list julia-macrotools))
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
3333 (license license:expat)))
3335 (define-public julia-iteratorinterfaceextensions
3337 (name "julia-iteratorinterfaceextensions")
3343 (url "https://github.com/queryverse/IteratorInterfaceExtensions.jl")
3344 (commit (string-append "v" version))))
3345 (file-name (git-file-name name version))
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)))
3355 (define-public julia-itertools
3357 (name "julia-itertools")
3363 (url "https://github.com/JuliaCollections/IterTools.jl")
3364 (commit (string-append "v" version))))
3365 (file-name (git-file-name name version))
3367 (base32 "0haf974kcqj6arv4if97ahs4w3dmvslh6ab3hl57r9s41ic36xdq"))))
3368 (build-system julia-build-system)
3369 (home-page "https://github.com/JuliaCollections/IterTools.jl")
3370 (synopsis "Common functional iterator patterns")
3372 "Common functional iterator patterns (formerly @code{Iterators.jl}).")
3373 (license license:expat)))
3375 (define-public julia-jive
3383 (url "https://github.com/wookay/Jive.jl")
3384 (commit (string-append "v" version))))
3385 (file-name (git-file-name name version))
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)))
3394 (define-public julia-json
3402 (url "https://github.com/JuliaIO/JSON.jl")
3403 (commit (string-append "v" version))))
3404 (file-name (git-file-name name version))
3406 (base32 "1l2p852sxq6h5fif3dqshvbw17gb06jmq2nkr88spvp7s0n0nslz"))))
3407 (build-system julia-build-system)
3409 (list julia-datastructures
3410 julia-fixedpointnumbers
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)))
3419 (define-public julia-json3
3421 (name "julia-json3")
3427 (url "https://github.com/quinnj/JSON3.jl")
3428 (commit (string-append "v" version))))
3429 (file-name (git-file-name name version))
3431 (base32 "11z5maz7v50wd99id8z7838higza0cllh2amkdkrlskbri3v2f17"))))
3432 (build-system julia-build-system)
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)))
3442 (define-public julia-juno
3450 (url "https://github.com/JunoLab/Juno.jl")
3451 (commit (string-append "v" version))))
3452 (file-name (git-file-name name version))
3454 (base32 "02ryj5blnrmck3jisrpwn1x563i7rsg65d7zms52njsvv499gygk"))))
3455 (build-system julia-build-system)
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.
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)))
3470 (define-public julia-latexstrings
3472 (name "julia-latexstrings")
3478 (url "https://github.com/stevengj/LaTeXStrings.jl")
3479 (commit (string-append "v" version))))
3480 (file-name (git-file-name name version))
3482 (base32 "0iijp96ca9mqg5skr6ps7q0lvqaa374lr2zkbbia5q6qgpq0j5ww"))))
3483 (build-system julia-build-system)
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)))
3492 (define-public julia-lazyarrays
3494 (name "julia-lazyarrays")
3500 (url "https://github.com/JuliaArrays/LazyArrays.jl")
3501 (commit (string-append "v" version))))
3502 (file-name (git-file-name name version))
3504 (base32 "127yld4f26lchw5jwp30g2jkjbm7narfsxwcbggy7dfp43s531c5"))))
3505 (build-system julia-build-system)
3511 #~(modify-phases %standard-phases
3512 (add-after 'unpack 'fix-tests-int32-i686
3514 (substitute* "test/multests.jl"
3515 (("Int64") "Int32"))))))))
3521 julia-matrixfactorizations
3522 julia-staticarrays))
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)))
3533 (define-public julia-linesearches
3535 (name "julia-linesearches")
3541 (url "https://github.com/JuliaNLSolvers/LineSearches.jl")
3542 (commit (string-append "v" version))))
3543 (file-name (git-file-name name version))
3545 (base32 "1qc4la07w6s1xhcyd0hvbnpr31zc1a2ssgyybc8biv5m00g0dnr0"))))
3546 (build-system julia-build-system)
3550 #~(modify-phases %standard-phases
3551 (add-after 'link-depot 'skip-optim-tests
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
3559 (substitute* "test/runtests.jl"
3560 (("using DoubleFloats.*") "")
3561 ((".*arbitrary_precision\\.jl.*") "")))))))
3563 (list julia-nlsolversbase
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)))
3577 (define-public julia-logexpfunctions
3579 (name "julia-logexpfunctions")
3585 (url "https://github.com/JuliaStats/LogExpFunctions.jl")
3586 (commit (string-append "v" version))))
3587 (file-name (git-file-name name version))
3589 (base32 "0272c1256r42y6g4wsjmgpwcl5s7z98b8sfmyycckqf0zp5dzxg4"))))
3590 (build-system julia-build-system)
3592 (list julia-chainrulescore
3593 julia-changesofvariables
3594 julia-docstringextensions
3595 julia-inversefunctions
3596 julia-irrationalconstants))
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)))
3608 (define-public julia-macrotools
3610 (name "julia-macrotools")
3616 (url "https://github.com/FluxML/MacroTools.jl")
3617 (commit (string-append "v" version))))
3618 (file-name (git-file-name name version))
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)))
3629 (define-public julia-mappedarrays
3631 (name "julia-mappedarrays")
3637 (url "https://github.com/JuliaArrays/MappedArrays.jl")
3638 (commit (string-append "v" version))))
3639 (file-name (git-file-name name version))
3641 (base32 "08kb28dv1zzqbbxblhyllgs4sjxyp76dgjqhdizcq4zg4i1kls6p"))
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)
3658 #~(modify-phases %standard-phases
3659 (add-after 'unpack 'adjust-tests
3661 (substitute* "test/runtests.jl"
3662 ((".*@test_throws ErrorException b.*") ""))
3664 (when #$(not (target-64bit?))
3665 (substitute* "test/runtests.jl"
3666 (("Int64") "Int32"))))))))
3668 (list julia-fixedpointnumbers))
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)))
3683 (define-public julia-matrixfactorizations
3685 (name "julia-matrixfactorizations")
3691 (url "https://github.com/JuliaMatrices/MatrixFactorizations.jl")
3692 (commit (string-append "v" version))))
3693 (file-name (git-file-name name version))
3695 (base32 "0sqmig01irmvh617h2rsw44hl39qwv2913nlqjsdz9si5vli2hsl"))))
3696 (build-system julia-build-system)
3700 #~(modify-phases %standard-phases
3701 (add-after 'link-depot 'skip-failing-test
3703 (substitute* "test/test_ul.jl"
3704 ;; Don't warn on the REPL test.
3705 (("test String") "test_nowarn String")))))))
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)))
3716 (define-public julia-mbedtls
3718 (name "julia-mbedtls")
3724 (url "https://github.com/JuliaLang/MbedTLS.jl")
3725 (commit (string-append "v" version))))
3726 (file-name (git-file-name name version))
3728 (base32 "0zjzf2r57l24n3k0gcqkvx3izwn5827iv9ak0lqix0aa5967wvfb"))))
3729 (build-system julia-build-system)
3733 #~(modify-phases %standard-phases
3734 (add-before 'install 'disable-network-tests
3735 ;; Tries to connect to httpbin.org
3737 (substitute* "test/runtests.jl"
3738 (("testhost =") "return #")))))))
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)))
3747 (define-public julia-measurements
3749 (name "julia-measurements")
3755 (url "https://github.com/JuliaPhysics/Measurements.jl")
3756 (commit (string-append "v" version))))
3757 (file-name (git-file-name name version))
3759 (base32 "1rn7qaf2s3l7awm8q5fjxlp1503g9mjgmsnvrbhjjvwyyn1k705r"))))
3760 (build-system julia-build-system)
3762 (list julia-calculus
3768 julia-specialfunctions
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)))
3779 (define-public julia-measures
3781 (name "julia-measures")
3787 (url "https://github.com/JuliaGraphics/Measures.jl")
3788 (commit (string-append "v" version))))
3789 (file-name (git-file-name name version))
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)))
3801 (define-public julia-media
3803 (name "julia-media")
3809 (url "https://github.com/JunoLab/Media.jl")
3810 (commit (string-append "v" version))))
3811 (file-name (git-file-name name version))
3813 (base32 "05jq9j3vs8yfj2lwz3sh1vk5rha06xdcikp9s2q3dn316vryy6di"))))
3814 (build-system julia-build-system)
3815 ;; Package without Project.toml
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"))))
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
3829 (license license:expat)))
3831 (define-public julia-millboard
3833 (name "julia-millboard")
3839 (url "https://github.com/wookay/Millboard.jl")
3840 (commit (string-append "v" version))))
3841 (file-name (git-file-name name version))
3843 (base32 "0k9jqgp285qhckldvvsmfk6s69dcr8s74m2fijgm2vxjj2gqjs1n"))))
3844 (build-system julia-build-system)
3847 (home-page "https://github.com/wookay/Millboard.jl")
3848 (synopsis "Displaying data in tables for Julia")
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)))
3854 (define-public julia-missings
3856 (name "julia-missings")
3862 (url "https://github.com/JuliaData/Missings.jl")
3863 (commit (string-append "v" version))))
3864 (file-name (git-file-name name version))
3866 (base32 "1k481rm5lahmjyh34j177d4n10svgr0wm7ps5m3ar3xx6nr26ad5"))))
3867 (build-system julia-build-system)
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)))
3876 (define-public julia-mlstyle
3878 (name "julia-mlstyle")
3884 (url "https://github.com/thautwarm/MLStyle.jl")
3885 (commit (string-append "v" version))))
3886 (file-name (git-file-name name version))
3888 (base32 "0h1cd7cr4c4cnpqyj3180113gdbvcc047lqphp8a8gq5smp3c059"))))
3889 (build-system julia-build-system)
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)))
3898 (define-public julia-mocking
3900 (name "julia-mocking")
3906 (url "https://github.com/invenia/Mocking.jl")
3907 (commit (string-append "v" version))))
3908 (file-name (git-file-name name version))
3910 (base32 "1cg2is83bjmrchmmxcgx57k8c9b9vlamrw38v4fdhbb6d4six5cg"))))
3911 (build-system julia-build-system)
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)))
3921 (define-public julia-mosaicviews
3923 (name "julia-mosaicviews")
3929 (url "https://github.com/JuliaArrays/MosaicViews.jl")
3930 (commit (string-append "v" version))))
3931 (file-name (git-file-name name version))
3933 (base32 "04fgxghyb7n2ji76xkb1r1fjhzsdbgmp5wsfyyn3yjcsdqbyp8pz"))))
3934 (build-system julia-build-system)
3936 (list #:tests? #f)) ; Cycle with ImageCore.jl
3938 (list julia-mappedarrays
3942 ; `(("julia-colorvectorspace" ,julia-colorvectorspace)
3943 ; ("julia-imagecore" ,julia-imagecore)))
3944 (home-page "https://github.com/JuliaArrays/MosaicViews.jl")
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)))
3953 (define-public julia-msgpack
3955 (name "julia-msgpack")
3961 (url "https://github.com/JuliaIO/MsgPack.jl")
3962 (commit (string-append "v" version))))
3963 (file-name (git-file-name name version))
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)))
3973 (define-public julia-mutablearithmetics
3975 (name "julia-mutablearithmetics")
3981 (url "https://github.com/jump-dev/MutableArithmetics.jl")
3982 (commit (string-append "v" version))))
3983 (file-name (git-file-name name version))
3985 (base32 "1isyj8h4nx96cr6892d154v8pw1nhr7mjyz5bd6ffr2mkzb2bq4f"))))
3986 (build-system julia-build-system)
3990 (if (target-x86-32?)
3991 #~(modify-phases %standard-phases
3992 (add-after 'unpack 'remove-failing-test-i686
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\\(\\)")
4003 #~%standard-phases)))
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:
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
4014 (license license:mpl2.0)))
4016 (define-public julia-nanmath
4018 (name "julia-nanmath")
4024 (url "https://github.com/mlubin/NaNMath.jl")
4025 (commit (string-append "v" version))))
4026 (file-name (git-file-name name version))
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)))
4036 (define-public julia-nlsolversbase
4038 (name "julia-nlsolversbase")
4044 (url "https://github.com/JuliaNLSolvers/NLSolversBase.jl")
4045 (commit (string-append "v" version))))
4046 (file-name (git-file-name name version))
4048 (base32 "0n8qh5a2ghjx1j70zxn0hmh8gzpa46kmjg8di879y9974bfk0f98"))))
4049 (build-system julia-build-system)
4051 (list julia-diffresults
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)))
4065 (define-public julia-nnlib
4067 (name "julia-nnlib")
4073 (url "https://github.com/FluxML/NNlib.jl")
4074 (commit (string-append "v" version))))
4075 (file-name (git-file-name name version))
4077 (base32 "1xzlh7pj6aqmbkrskqgwvifprg9a6xkkdh00ls6f6xnzqfrnhwna"))))
4078 (build-system julia-build-system)
4082 #~(modify-phases %standard-phases
4083 (add-after 'link-depot 'skip-some-tests
4085 (substitute* "test/runtests.jl"
4086 ;; Skip the CUDA tests
4088 (("&& CUDA\\.functional\\(\\)") "")
4090 ;; UnicodePlots is only used for the doctests
4091 (("if VERSION <.*") "if true\n"))
4092 (setenv "NNLIB_TEST_CUDA" "false"))))))
4095 julia-chainrulescore
4099 (list julia-chainrulestestutils
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)))
4109 (define-public julia-optim
4111 (name "julia-optim")
4117 (url "https://github.com/JuliaNLSolvers/Optim.jl")
4118 (commit (string-append "v" version))))
4119 (file-name (git-file-name name version))
4121 (base32 "0pdwa2xm08c3g979qgsmcr343j4kkh4l6x5rdj1blhqh5gw8172b"))))
4122 (build-system julia-build-system)
4126 #~(modify-phases %standard-phases
4127 (add-after 'unpack 'adjust-tests
4129 (substitute* "test/runtests.jl"
4130 ;; Distributions.jl isn't packaged yet.
4131 ((".*newton_trust_region.*") ""))
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")))))))
4145 julia-positivefactorizations
4148 (list julia-linesearches
4151 julia-optimtestproblems
4152 julia-positivefactorizations
4153 julia-recursivearraytools
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)))
4161 (define-public julia-optimisers
4163 (name "julia-optimisers")
4169 (url "https://github.com/FluxML/Optimisers.jl")
4170 (commit (string-append "v" version))))
4171 (file-name (git-file-name name version))
4173 (base32 "1xs51r365l6r56rpm08kba00nfcl5jlglwy8494w06vbi22ysbq7"))))
4174 (build-system julia-build-system)
4176 (list julia-chainrulescore
4180 (list julia-staticarrays
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)))
4188 (define-public julia-optimtestproblems
4190 (name "julia-optimtestproblems")
4196 (url "https://github.com/JuliaNLSolvers/OptimTestProblems.jl")
4197 (commit (string-append "v" version))))
4198 (file-name (git-file-name name version))
4200 (base32 "10h47x5ws42pkqjccimaz0yxfvz41w0yazq6inamfk4lg5g2g3d9"))))
4201 (build-system julia-build-system)
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)))
4216 (define-public julia-orderedcollections
4218 (name "julia-orderedcollections")
4224 (url "https://github.com/JuliaCollections/OrderedCollections.jl")
4225 (commit (string-append "v" version))))
4226 (file-name (git-file-name name version))
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)))
4238 (define-public julia-offsetarrays
4240 (name "julia-offsetarrays")
4246 (url "https://github.com/JuliaArrays/OffsetArrays.jl")
4247 (commit (string-append "v" version))))
4248 (file-name (git-file-name name version))
4250 (base32 "09cidr42q0xwp6wwyaw09hl580vqi85wb5f78pxrxcfm75yg3xki"))))
4251 (build-system julia-build-system)
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)))
4263 (define-public julia-paddedviews
4265 (name "julia-paddedviews")
4271 (url "https://github.com/JuliaArrays/PaddedViews.jl")
4272 (commit (string-append "v" version))))
4273 (file-name (git-file-name name version))
4275 (base32 "1835q06g6ymqh1k7625ssahwm46j08370v2inb61y1lw8vd99f3x"))))
4276 (build-system julia-build-system)
4278 (list julia-offsetarrays))
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)))
4290 (define-public julia-parameters
4292 (name "julia-parameters")
4298 (url "https://github.com/mauro3/Parameters.jl")
4299 (commit (string-append "v" version))))
4300 (file-name (git-file-name name version))
4302 (base32 "0b8lawi7kcws4axfsdf023gyxca15irl648ciyi1kw3wghz3pfi2"))))
4303 (build-system julia-build-system)
4305 (list julia-orderedcollections
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)))
4315 (define-public julia-parsers
4317 (name "julia-parsers")
4323 (url "https://github.com/JuliaData/Parsers.jl")
4324 (commit (string-append "v" version))))
4325 (file-name (git-file-name name version))
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)))
4335 (define-public julia-pdmats
4337 (name "julia-pdmats")
4343 (url "https://github.com/JuliaStats/PDMats.jl")
4344 (commit (string-append "v" version))))
4345 (file-name (git-file-name name version))
4347 (base32 "0bc2gmpd30rkclvxyfnssjllp0pk63h0vvgr8862phm5ia83r8j0"))))
4348 (build-system julia-build-system)
4349 (home-page "https://github.com/JuliaStats/PDMats.jl")
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)))
4359 (define-public julia-plotthemes
4361 (name "julia-plotthemes")
4367 (url "https://github.com/JuliaPlots/PlotThemes.jl")
4368 (commit (string-append "v" version))))
4369 (file-name (git-file-name name version))
4371 (base32 "1fd27w9z1vhz0d1bzrs5vcavpb5r5jviyh27d9c4ka37phz4xvmh"))))
4372 (build-system julia-build-system)
4374 (list julia-plotutils
4376 (home-page "https://github.com/JuliaPlots/PlotThemes.jl")
4377 (synopsis "Themes for the Julia plotting package Plots.jl")
4379 "PlotThemes is a package to spice up the plots made with @code{Plots.jl}.")
4380 (license license:expat)))
4382 (define-public julia-plotutils
4384 (name "julia-plotutils")
4390 (url "https://github.com/JuliaPlots/PlotUtils.jl")
4391 (commit (string-append "v" version))))
4392 (file-name (git-file-name name version))
4394 (base32 "1yml9ayaniqnzx5r8sfjckifcm99ck7qhc19cd8fs0bwzkh7nza7"))))
4395 (build-system julia-build-system)
4399 #~(modify-phases %standard-phases
4400 (add-after 'unpack 'adjust-test-suite
4402 (substitute* "test/runtests.jl"
4403 (("(@test_throws) ErrorException (.*notacolor)" _ @test notacolor)
4404 (string-append @test " ArgumentError " notacolor))))))))
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)))
4417 (define-public julia-pooledarrays
4419 (name "julia-pooledarrays")
4425 (url "https://github.com/JuliaData/PooledArrays.jl")
4426 (commit (string-append "v" version))))
4427 (file-name (git-file-name name version))
4429 (base32 "0g30d46n8cc8vr9icjhfkqz2il2185ijh7xhfy9vhcnmllzpd0yg"))))
4430 (build-system julia-build-system)
4432 (list julia-dataapi))
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)))
4441 (define-public julia-positivefactorizations
4443 (name "julia-positivefactorizations")
4449 (url "https://github.com/timholy/PositiveFactorizations.jl")
4450 (commit (string-append "v" version))))
4451 (file-name (git-file-name name version))
4453 (base32 "1wxy6ak7f3hvibcgc8q88cgkf9zvi649mmjy1zlkx1qk80hgvz23"))))
4454 (build-system julia-build-system)
4456 (list julia-forwarddiff
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
4466 (license license:expat)))
4468 (define-public julia-preferences
4470 (name "julia-preferences")
4476 (url "https://github.com/JuliaPackaging/Preferences.jl")
4477 (commit (string-append "v" version))))
4478 (file-name (git-file-name name version))
4480 (base32 "1cail43iqzbi6m9v6981rhz47zf2lcvhs5ds5gdqvc9nx5frghxq"))))
4481 (build-system julia-build-system)
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)))
4493 (define-public julia-prettytables
4495 (name "julia-prettytables")
4501 (url "https://github.com/ronisbr/PrettyTables.jl")
4502 (commit (string-append "v" version))))
4503 (file-name (git-file-name name version))
4505 (base32 "1d1sd87kkwbar3l608h0adzws42cwdrmp1idxx7an6mfqcsdrijw"))))
4506 (build-system julia-build-system)
4510 #~(modify-phases %standard-phases
4511 (add-after 'link-depot 'skip-color-tests
4513 (substitute* "test/text_backend.jl"
4514 ((".*colors\\.jl.*") "")))))))
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)))
4526 (define-public julia-pycall
4528 (name "julia-pycall")
4534 (url "https://github.com/JuliaPy/PyCall.jl")
4535 (commit (string-append "v" version))))
4536 (file-name (git-file-name name version))
4539 "1fj5d1ihnhnm0pl4hbx6hcd2bpdyhm8jiaqah2axsbd069j70saf"))))
4540 (build-system julia-build-system)
4543 #:imported-modules `((guix build python-build-system)
4544 ,@%julia-build-system-modules)
4545 #:modules '((guix build julia-build-system)
4547 ((guix build python-build-system) #:prefix python:))
4549 #~(modify-phases %standard-phases
4550 (add-after 'link-depot 'remove-conda
4552 (substitute* "Project.toml"
4554 (substitute* (list "src/PyCall.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"
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~%"
4576 (python:python-version python)
4578 #$(package-version python)))))))
4579 (add-before 'check 'pre-check
4581 (setenv "CI" "true")
4582 (setenv "JULIA_PKGEVAL" "true"))))))
4584 (list julia-macrotools
4585 julia-versionparsing))
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)))
4599 (define-public julia-pyplot
4601 (name "julia-pyplot")
4607 (url "https://github.com/JuliaPy/PyPlot.jl")
4608 (commit (string-append "v" version))))
4609 (file-name (git-file-name name version))
4611 (base32 "007zs0imfgs69f30pp2a3rc93kl0qiq7qjx6ig35z4wzkmps4skd"))))
4612 (build-system julia-build-system)
4617 julia-versionparsing
4618 ;; python-matplotlib is expected to be available at runtime.
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)))
4628 (define-public julia-quadgk
4630 (name "julia-quadgk")
4636 (url "https://github.com/JuliaMath/QuadGK.jl")
4637 (commit (string-append "v" version))))
4638 (file-name (git-file-name name version))
4640 (base32 "0f14dhn0f7ln2j96qvmnsyy9ffzqsngd16ikc136snlxv4k4whiv"))))
4641 (build-system julia-build-system)
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)))
4653 (define-public julia-quadmath
4655 (name "julia-quadmath")
4661 (url "https://github.com/JuliaMath/Quadmath.jl")
4662 (commit (string-append "v" version))))
4663 (file-name (git-file-name name version))
4665 (base32 "051biw4b9zni7cmh2f1yzifp1v8wazlfxrdz4p44lyd1wba6379w"))))
4666 (build-system julia-build-system)
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)))))))))
4678 (list julia-requires))
4680 `(("gcc:lib" ,gcc "lib")))
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
4688 (license license:expat)))
4690 (define-public julia-quaternions
4692 (name "julia-quaternions")
4698 (url "https://github.com/JuliaGeometry/Quaternions.jl")
4699 (commit (string-append "v" version))))
4700 (file-name (git-file-name name version))
4702 (base32 "1zhynyvchc50hywws2jznpkwydr3njh8cv84d2ylyabhcwwmil9s"))))
4703 (build-system julia-build-system)
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)))
4713 (define-public julia-queryoperators
4715 (name "julia-queryoperators")
4721 (url "https://github.com/queryverse/QueryOperators.jl")
4722 (commit (string-append "v" version))))
4723 (file-name (git-file-name name version))
4725 (base32 "06zm4cbn3x49lbpgshhdfvvmgz066qkc8q0d57igm5p8bcp6js22"))))
4726 (build-system julia-build-system)
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)))
4737 (define-public julia-rangearrays
4739 (name "julia-rangearrays")
4745 (url "https://github.com/JuliaArrays/RangeArrays.jl")
4746 (commit (string-append "v" version))))
4747 (file-name (git-file-name name version))
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)
4756 (license license:expat)))
4758 (define-public julia-ratios
4760 (name "julia-ratios")
4766 (url "https://github.com/timholy/Ratios.jl")
4767 (commit (string-append "v" version))))
4768 (file-name (git-file-name name version))
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)))
4778 (define-public julia-realdot
4780 (name "julia-realdot")
4786 (url "https://github.com/JuliaMath/RealDot.jl")
4787 (commit (string-append "v" version))))
4788 (file-name (git-file-name name version))
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)))
4801 (define-public julia-recipesbase
4803 (name "julia-recipesbase")
4809 (url "https://github.com/JuliaPlots/RecipesBase.jl")
4810 (commit (string-append "v" version))))
4811 (file-name (git-file-name name version))
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)))
4825 (define-public julia-recipespipeline
4827 (name "julia-recipespipeline")
4833 (url "https://github.com/JuliaPlots/RecipesPipeline.jl")
4834 (commit (string-append "v" version))))
4835 (file-name (git-file-name name version))
4837 (base32 "0zq4bzxvq36zr0va6iip3x97mgq5b4fwza8avszx1ryfqm3lg1f7"))))
4838 (build-system julia-build-system)
4840 (list #:tests? #f)) ; Cycle with Plots.jl.
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)))
4855 (define-public julia-recursivearraytools
4857 (name "julia-recursivearraytools")
4863 (url "https://github.com/SciML/RecursiveArrayTools.jl")
4864 (commit (string-append "v" version))))
4865 (file-name (git-file-name name version))
4867 (base32 "0vx8ndxrii53na7jsc2lki47wfpi77rn3y2r6xhiysx1qwr14msf"))))
4868 (build-system julia-build-system)
4870 (list #:tests? #f)) ; Cycle with OrdinaryDiffEq.jl.
4872 (list julia-arrayinterface
4873 julia-chainrulescore
4874 julia-docstringextensions
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)))
4891 (define-public julia-reexport
4893 (name "julia-reexport")
4899 (url "https://github.com/simonster/Reexport.jl")
4900 (commit (string-append "v" version))))
4901 (file-name (git-file-name name version))
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)))
4910 (define-public julia-referencetests
4912 (name "julia-referencetests")
4918 (url "https://github.com/JuliaTesting/ReferenceTests.jl")
4919 (commit (string-append "v" version))))
4920 (file-name (git-file-name name version))
4922 (base32 "0mm6bjhs8a21pippww6b08b5frmnb9m6k8xrszrwq9zhc879zpc9"))))
4923 (build-system julia-build-system)
4925 (list #:tests? #f)) ; Cycle with ImageCore.jl through ImageMagick.jl.
4927 (list julia-deepdiffs
4931 julia-imageinterminal))
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)))
4948 (define-public julia-requires
4950 (name "julia-requires")
4956 (url "https://github.com/JuliaPackaging/Requires.jl/")
4957 (commit (string-append "v" version))))
4958 (file-name (git-file-name name version))
4960 (base32 "0gmqs7f17aq500lbdff4ibws00f8m0pnzskvf4b3ig520xv3n3nm"))))
4961 (build-system julia-build-system)
4963 (list #:parallel-tests? #f)) ; Test suite has race conditions.
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)
4973 (license license:expat)))
4975 (define-public julia-reversediff
4977 (name "julia-reversediff")
4983 (url "https://github.com/JuliaDiff/ReverseDiff.jl")
4984 (commit (string-append "v" version))))
4985 (file-name (git-file-name name version))
4987 (base32 "0hwsjmr4wiscqa5kaj4mw0i4agyyzdcmq4r1gp2i563nc1ziaylg"))))
4988 (build-system julia-build-system)
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?)))))
4997 (list julia-chainrulescore
5002 julia-functionwrappers
5003 julia-logexpfunctions
5006 julia-specialfunctions
5007 julia-staticarrays))
5009 (list julia-difftests
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)))
5019 (define-public julia-richardson
5021 (name "julia-richardson")
5027 (url "https://github.com/JuliaMath/Richardson.jl")
5028 (commit (string-append "v" version))))
5029 (file-name (git-file-name name version))
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)))
5046 (define-public julia-rotations
5047 ;; This is the first commit with support for julia-1.6.
5048 (let ((commit "b599102535bc3534252c76f3fd4cf521f4741788")
5051 (name "julia-rotations")
5052 (version (git-version "1.0.2" revision commit))
5057 (url "https://github.com/JuliaGeometry/Rotations.jl")
5059 (file-name (git-file-name name version))
5061 (base32 "01wwqbdmj61yiz7rkmams4xg7gb9hbmg325173846ky4b9x1wb19"))))
5062 (build-system julia-build-system)
5064 (list julia-staticarrays))
5066 (list julia-benchmarktools
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))))
5078 (define-public julia-safetestsets
5079 ;; The only release tag is the first commit in the repository.
5080 (let ((commit "e553edc4c753344d38349304b9ff5483c3b8ff21")
5083 (name "julia-safetestsets")
5084 (version (git-version "0.0.1" revision commit))
5089 (url "https://github.com/YingboMa/SafeTestsets.jl")
5091 (file-name (git-file-name name version))
5093 (base32 "1fb1dfdmiw2ggx60hf70954xlps0r48fcb3k3dvxynlz7ylphp96"))))
5094 (build-system julia-build-system)
5097 #:julia-package-name "SafeTestsets"
5098 #:julia-package-uuid "1bc83da4-3b8d-516f-aca4-4fe02f6d838f"
5100 #~(modify-phases %standard-phases
5101 (add-after 'link-depot 'fix-package-toml
5103 (substitute* "Project.toml"
5104 (("version = .*") "version = \"0.0.1\"\n")))))))
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))))
5113 (define-public julia-sass
5121 (url "https://github.com/piever/Sass.jl")
5122 (commit (string-append "v" version))))
5123 (file-name (git-file-name name version))
5125 (base32 "0y7kkkj717h5cj659ssry89i5r64symr6pvhr6vv4qmaxrnjxj92"))))
5126 (build-system julia-build-system)
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)))
5135 (define-public julia-scanbyte
5137 (name "julia-scanbyte")
5143 (url "https://github.com/jakobnissen/ScanByte.jl")
5144 (commit (string-append "v" version))))
5145 (file-name (git-file-name name version))
5147 (base32 "1c18hkcb0h6l437v2s02kijjkyly91mqark84czvh8yzxm19hr7k"))))
5148 (build-system julia-build-system)
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)))
5160 (define-public julia-scratch
5162 (name "julia-scratch")
5168 (url "https://github.com/JuliaPackaging/Scratch.jl")
5169 (commit (string-append "v" version))))
5170 (file-name (git-file-name name version))
5173 "09xni9rrrax17fxjz04j1b48mk9ffww5rcbagh66jklr89mrkqhx"))))
5174 (build-system julia-build-system)
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)))
5188 (define-public julia-sentinelarrays
5190 (name "julia-sentinelarrays")
5196 (url "https://github.com/JuliaData/SentinelArrays.jl")
5197 (commit (string-append "v" version))))
5198 (file-name (git-file-name name version))
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
5207 (license license:expat)))
5209 (define-public julia-shiftedarrays
5211 (name "julia-shiftedarrays")
5217 (url "https://github.com/JuliaArrays/ShiftedArrays.jl")
5218 (commit (string-append "v" version))))
5219 (file-name (git-file-name name version))
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")
5226 "This package provides an implementation of shifted arrays for Julia.")
5227 (license license:expat)))
5229 (define-public julia-showoff
5231 (name "julia-showoff")
5237 (url "https://github.com/JuliaGraphics/Showoff.jl")
5238 (commit (string-append "v" version))))
5239 (file-name (git-file-name name version))
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)))
5250 (define-public julia-simd
5258 (url "https://github.com/eschnett/SIMD.jl")
5259 (commit (string-append "v" version))))
5260 (file-name (git-file-name name version))
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)))
5275 (define-public julia-simpletraits
5277 (name "julia-simpletraits")
5283 (url "https://github.com/mauro3/SimpleTraits.jl")
5284 (commit (string-append "v" version))))
5285 (file-name (git-file-name name version))
5287 (base32 "1qvmkqcvhc2nilvkk36szccxdlcv9ls2i0ksxgl2yfjr3b3qlr05"))))
5288 (build-system julia-build-system)
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)))
5300 (define-public julia-softglobalscope
5302 (name "julia-softglobalscope")
5308 (url "https://github.com/stevengj/SoftGlobalScope.jl")
5309 (commit (string-append "v" version))))
5310 (file-name (git-file-name name version))
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")
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
5321 (license license:expat)))
5323 (define-public julia-sortingalgorithms
5325 (name "julia-sortingalgorithms")
5331 (url "https://github.com/JuliaCollections/SortingAlgorithms.jl")
5332 (commit (string-append "v" version))))
5333 (file-name (git-file-name name version))
5335 (base32 "173x77a80xnh99viqa3r7rgdaksvxaw8xyfqw09gwvp4p2zrxivb"))))
5336 (build-system julia-build-system)
5338 (list #:tests? #f)) ; cycle with StatsBase.jl
5340 (list julia-datastructures))
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)))
5350 (define-public julia-specialfunctions
5352 (name "julia-specialfunctions")
5358 (url "https://github.com/JuliaMath/SpecialFunctions.jl")
5359 (commit (string-append "v" version))))
5360 (file-name (git-file-name name version))
5362 (base32 "0shlgx9lkbjb1awdf5lrbkq06bmkyahc92qay2a049b4lvqrhj7a"))))
5363 (build-system julia-build-system)
5365 (list julia-chainrulestestutils))
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)))
5379 (define-public julia-splitapplycombine
5381 (name "julia-splitapplycombine")
5387 (url "https://github.com/JuliaData/SplitApplyCombine.jl")
5388 (commit (string-append "v" version))))
5389 (file-name (git-file-name name version))
5391 (base32 "1qzaqvk57b0s5krzn8bxkzmr5kz6hi9dm3jbf2sl7z4vznsgbn9x"))))
5392 (build-system julia-build-system)
5394 (list julia-dictionaries
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)))
5405 (define-public julia-stablerngs
5407 (name "julia-stablerngs")
5413 (url "https://github.com/JuliaRandom/StableRNGs.jl")
5414 (commit (string-append "v" version))))
5415 (file-name (git-file-name name version))
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)))
5428 (define-public julia-stackviews
5430 (name "julia-stackviews")
5436 (url "https://github.com/JuliaArrays/StackViews.jl")
5437 (commit (string-append "v" version))))
5438 (file-name (git-file-name name version))
5440 (base32 "1fwiaxdpx1z9dli3jr8kyraych0jbdiny3qklynf0r13px25r6i7"))))
5441 (build-system julia-build-system)
5445 #~(modify-phases %standard-phases
5446 (add-after 'link-depot 'skip-doctest
5448 (substitute* "test/runtests.jl"
5449 ((".*doctest.*") "")))))))
5451 (list julia-offsetarrays))
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}:
5460 @item inverse of @code{eachslice}
5461 @item @code{cat} variant
5463 @item lazy version of @code{repeat} special case
5465 (license license:expat)))
5467 (define-public julia-static
5469 (name "julia-static")
5475 (url "https://github.com/SciML/Static.jl")
5476 (commit (string-append "v" version))))
5477 (file-name (git-file-name name version))
5479 (base32 "1ilmging187w37vjff8ilnz1f0qygyhbwl6nhq91z3b5vxyf13zr"))))
5480 (build-system julia-build-system)
5482 (list julia-ifelse))
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)))
5491 (define-public julia-static-0.6
5493 (inherit julia-static)
5494 (name "julia-static")
5500 (url "https://github.com/SciML/Static.jl")
5501 (commit (string-append "v" version))))
5502 (file-name (git-file-name name version))
5504 (base32 "03ri8nl046cz7l433p0nlr84yywxvjykyymqparm8lxxwkv0rxqd"))))))
5506 (define-public julia-staticarrays
5508 (name "julia-staticarrays")
5514 (url "https://github.com/JuliaArrays/StaticArrays.jl")
5515 (commit (string-append "v" version))))
5516 (file-name (git-file-name name version))
5518 (base32 "041mijzgzm8r61a3gwspr2wcxjikqksvj2rbnl4gmcy41alqmx79"))))
5519 (build-system julia-build-system)
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)))
5531 (define-public julia-statsapi
5533 (name "julia-statsapi")
5539 (url "https://github.com/JuliaStats/StatsAPI.jl")
5540 (commit (string-append "v" version))))
5541 (file-name (git-file-name name version))
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
5552 (license license:expat)))
5554 (define-public julia-statsbase
5556 (name "julia-statsbase")
5562 (url "https://github.com/JuliaStats/StatsBase.jl")
5563 (commit (string-append "v" version))))
5564 (file-name (git-file-name name version))
5566 (base32 "0pjsn531zdz3s34pa418pvyqvrx8nbcc8j0fgwfnadssihqah6g7"))))
5567 (build-system julia-build-system)
5570 julia-datastructures
5572 julia-sortingalgorithms
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)))
5584 (define-public julia-stringdistances
5586 (name "julia-stringdistances")
5592 (url "https://github.com/matthieugomez/StringDistances.jl")
5593 (commit (string-append "v" version))))
5594 (file-name (git-file-name name version))
5596 (base32 "0n5707wplbibzhhv1xmshvc025d7xk6mnikclc3hvq5cdc0gy9f7"))))
5597 (build-system julia-build-system)
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)))
5608 (define-public julia-stringencodings
5610 (name "julia-stringencodings")
5616 (url "https://github.com/JuliaStrings/StringEncodings.jl")
5617 (commit (string-append "v" version))))
5618 (file-name (git-file-name name version))
5620 (base32 "1qwc5ll68ng80b5921ww6fvifxbsmiylakfgsbsjbzg7lzyb5i67"))))
5621 (build-system julia-build-system)
5625 #~(modify-phases %standard-phases
5626 (add-after 'unpack 'skip-failing-test
5628 ;; https://github.com/JuliaStrings/StringEncodings.jl/issues/49
5629 (substitute* "test/runtests.jl"
5630 (("\"SHIFT_JIS\", \"SHIFT_JISX0213\"")
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)))
5641 (define-public julia-structarrays
5643 (name "julia-structarrays")
5649 (url "https://github.com/JuliaArrays/StructArrays.jl")
5650 (commit (string-append "v" version))))
5651 (file-name (git-file-name name version))
5653 (base32 "0rjcpyjwzg70n87q5r9c5i1qzigavncslxssm3rk5a3y549py56v"))))
5654 (build-system julia-build-system)
5660 #~(modify-phases %standard-phases
5661 (add-after 'unpack 'fix-tests-int32-i686
5663 (substitute* '("src/utils.jl"
5665 (("Int64") "Int32"))))))))
5671 (list julia-documenter
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
5684 (license license:expat)))
5686 (define-public julia-structtypes
5688 (name "julia-structtypes")
5694 (url "https://github.com/JuliaData/StructTypes.jl")
5695 (commit (string-append "v" version))))
5696 (file-name (git-file-name name version))
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)))
5708 (define-public julia-suppressor
5710 (name "julia-suppressor")
5716 (url "https://github.com/JuliaIO/Suppressor.jl")
5717 (commit (string-append "v" version))))
5718 (file-name (git-file-name name version))
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)))
5728 (define-public julia-tableiointerface
5730 (name "julia-tableiointerface")
5736 (url "https://github.com/lungben/TableIOInterface.jl")
5737 (commit (string-append "v" version))))
5738 (file-name (git-file-name name version))
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)))
5749 (define-public julia-tables
5751 (name "julia-tables")
5757 (url "https://github.com/JuliaData/Tables.jl")
5758 (commit (string-append "v" version))))
5759 (file-name (git-file-name name version))
5761 (base32 "1sqqagzqvav8b1rv5ywwbgy9ixvlmipq95fkwfwn0m8769i8jwzb"))))
5762 (build-system julia-build-system)
5765 julia-datavalueinterfaces
5766 julia-iteratorinterfaceextensions
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)))
5777 (define-public julia-tableshowutils
5778 ;; The 0.2.5 release is not fully compatable with newer versions of Julia.
5779 (let ((commit "c4e02d8b9bbb31fc81ed6618955e9b1c7cb04460")
5782 (name "julia-tableshowutils")
5788 (url "https://github.com/queryverse/TableShowUtils.jl")
5790 (file-name (git-file-name name version))
5792 (base32 "0gp3hpj3jvzfhkp9r345vfic2j2n2s60729wv38hwn75csp74cg5"))))
5793 (build-system julia-build-system)
5795 (list julia-datavalues
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))))
5804 (define-public julia-tabletraits
5806 (name "julia-tabletraits")
5812 (url "https://github.com/queryverse/TableTraits.jl")
5813 (commit (string-append "v" version))))
5814 (file-name (git-file-name name version))
5816 (base32 "08ssb2630wm6j8f2qa985mn2vfibfm5kjcn4ayl2qkhfcyp8daw4"))))
5817 (build-system julia-build-system)
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)))
5825 (define-public julia-tensorcore
5827 (name "julia-tensorcore")
5833 (url "https://github.com/JuliaMath/TensorCore.jl")
5834 (commit (string-append "v" version))))
5835 (file-name (git-file-name name version))
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
5846 (license license:expat)))
5848 (define-public julia-testimages
5850 (name "julia-testimages")
5856 (url "https://github.com/JuliaImages/TestImages.jl")
5857 (commit (string-append "v" version))))
5858 (file-name (git-file-name name version))
5860 (base32 "1lnfsmx33qspyvxw0cykwh7il8xykjpcw1080sisn95ngz2qhdmy"))))
5861 (build-system julia-build-system)
5863 (list #:tests? #f)) ; cycle with ImageMagick.jl
5865 (list julia-axisarrays
5869 julia-stringdistances))
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}
5883 (license license:expat)))
5885 (define-public julia-tracker
5887 (name "julia-tracker")
5893 (url "https://github.com/FluxML/Tracker.jl")
5894 (commit (string-append "v" version))))
5895 (file-name (git-file-name name version))
5897 (base32 "0sxncn999dc5j15y0h3cw28x41pv5qjaw64drhy1y4rn3na48504"))))
5898 (build-system julia-build-system)
5904 julia-logexpfunctions
5910 julia-specialfunctions))
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)))
5919 (define-public julia-transcodingstreams
5921 (name "julia-transcodingstreams")
5927 (url "https://github.com/JuliaIO/TranscodingStreams.jl")
5928 (commit (string-append "v" version))))
5929 (file-name (git-file-name name version))
5931 (base32 "1w3klii293caqiclfh28jggv7f53xclm9fr6xmw38brwrn1hjb48"))))
5932 (build-system julia-build-system)
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
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
5945 (license license:expat)))
5947 (define-public julia-twiddle
5949 (name "julia-twiddle")
5955 (url "https://github.com/SabrinaJaye/Twiddle.jl")
5956 (commit (string-append "v" version))))
5957 (file-name (git-file-name name version))
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)))
5968 (define-public julia-typedtables
5970 (name "julia-typedtables")
5976 (url "https://github.com/JuliaData/TypedTables.jl")
5977 (commit (string-append "v" version))))
5978 (file-name (git-file-name name version))
5980 (base32 "0nk6zhqvl2r8yhjdhb59kxq0srd3vy4ysg4d8rszj9a43dnn3w3i"))))
5981 (build-system julia-build-system)
5984 julia-splitapplycombine
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)))
5994 (define-public julia-unpack
5996 (name "julia-unpack")
6002 (url "https://github.com/mauro3/UnPack.jl")
6003 (commit (string-append "v" version))))
6004 (file-name (git-file-name name version))
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)))
6014 (define-public julia-uris
6022 (url "https://github.com/JuliaWeb/URIs.jl")
6023 (commit (string-append "v" version))))
6024 (file-name (git-file-name name version))
6026 (base32 "0kp4hg3kknkm2smlcizqfd33l9x4vkahc2714gnbjp39fj285b92"))))
6027 (build-system julia-build-system)
6030 #:julia-package-name "URIs" ;required to run tests
6031 #:julia-package-uuid "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4"
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")))
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
6047 (license license:expat)))
6049 (define-public julia-unitful
6051 (name "julia-unitful")
6057 (url "https://github.com/PainterQubits/Unitful.jl")
6058 (commit (string-append "v" version))))
6059 (file-name (git-file-name name version))
6061 (base32 "1b8w6wqc7azqzg2f8zc3bmc72fb01sx0rqh6dv3k54wj01ph15p7"))))
6062 (build-system julia-build-system)
6064 (list #:parallel-tests? #f))
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
6071 (license license:expat)))
6073 (define-public julia-versionparsing
6075 (name "julia-versionparsing")
6081 (url "https://github.com/JuliaInterop/VersionParsing.jl")
6082 (commit (string-append "v" version))))
6083 (file-name (git-file-name name version))
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)))
6098 (define-public julia-weakrefstrings
6100 (name "julia-weakrefstrings")
6106 (url "https://github.com/JuliaData/WeakRefStrings.jl")
6107 (commit (string-append "v" version))))
6108 (file-name (git-file-name name version))
6110 (base32 "1ca94bpsjqrap2y9wlixspnisfkcms7aax0kpv7yn0v2vs9481wk"))))
6111 (build-system julia-build-system)
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)))
6122 (define-public julia-woodburymatrices
6124 (name "julia-woodburymatrices")
6130 (url "https://github.com/timholy/WoodburyMatrices.jl")
6131 (commit (string-append "v" version))))
6132 (file-name (git-file-name name version))
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)))
6145 (define-public julia-yaml
6153 (url "https://github.com/JuliaData/YAML.jl")
6154 (commit (string-append "v" version))))
6155 (file-name (git-file-name name version))
6157 (base32 "00k8456ffldbf75k2q5yxim7cgz3p0pbshsvmpm1331g8qy6liin"))))
6158 (build-system julia-build-system)
6160 (list julia-stringencodings))
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)))
6170 (define-public julia-zipfile
6172 (name "julia-zipfile")
6178 (url "https://github.com/fhs/ZipFile.jl")
6179 (commit (string-append "v" version))))
6180 (file-name (git-file-name name version))
6183 "15bm3ki5mb9nvqs2byznrryq0bilnjcvsfy3k05hxhk9vapilw7k"))))
6184 (build-system julia-build-system)
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)))
6193 (define-public julia-zygoterules
6195 (name "julia-zygoterules")
6201 (url "https://github.com/FluxML/ZygoteRules.jl")
6202 (commit (string-append "v" version))))
6203 (file-name (git-file-name name version))
6205 (base32 "0h9m9ibxfcw9cqa7p0aylpvibvlxsn5nlfzkz1pk68jy58vkzhca"))))
6206 (build-system julia-build-system)
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)))
6215 (define-public julia-zygote
6217 (name "julia-zygote")
6223 (url "https://github.com/FluxML/Zygote.jl")
6224 (commit (string-append "v" version))))
6225 (file-name (git-file-name name version))
6227 (base32 "02bgj6m1j25sm3pa5sgmds706qpxk1qsbm0s2j3rjlrz9xn7glgk"))))
6228 (build-system julia-build-system)
6230 (list #:tests? #f)) ;require CUDA, not packaged yet
6232 (list julia-abstractffts
6234 julia-chainrulescore
6239 julia-logexpfunctions
6243 julia-specialfunctions
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)))
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.