gnu: Add julia-colortypes.
[jackhill/guix/guix.git] / gnu / packages / julia-xyz.scm
CommitLineData
a1315b7f 1;;; GNU Guix --- Functional package management for GNU
f7a98af0 2;;; Copyright © 2020, 2021 Nicolò Balzarotti <nicolo@nixo.xyz>
35044d3e 3;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
a1315b7f 4;;;
5;;; This file is part of GNU Guix.
6;;;
7;;; GNU Guix is free software; you can redistribute it and/or modify it
8;;; under the terms of the GNU General Public License as published by
9;;; the Free Software Foundation; either version 3 of the License, or (at
10;;; your option) any later version.
11;;;
12;;; GNU Guix is distributed in the hope that it will be useful, but
13;;; WITHOUT ANY WARRANTY; without even the implied warranty of
14;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15;;; GNU General Public License for more details.
16;;;
17;;; You should have received a copy of the GNU General Public License
18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19
20(define-module (gnu packages julia-xyz)
21 #:use-module ((guix licenses) #:prefix license:)
22 #:use-module (guix packages)
23 #:use-module (guix git-download)
3291e4ba 24 #:use-module (guix build-system julia)
25 #:use-module (gnu packages tls))
a1315b7f 26
651a5573 27(define-public julia-abstractffts
28 (package
29 (name "julia-abstractffts")
30 (version "1.0.1")
31 (source
32 (origin
33 (method git-fetch)
34 (uri (git-reference
35 (url "https://github.com/JuliaMath/AbstractFFTS.jl")
36 (commit (string-append "v" version))))
37 (file-name (git-file-name name version))
38 (sha256
39 (base32 "0083pwdyxjb04i330ir9pc8kmp4bwk59lx1jgc9qi05y8j7xzbp0"))))
40 (build-system julia-build-system)
41 (inputs ;required for tests
42 `(("julia-unitful" ,julia-unitful)))
43 (home-page "https://github.com/JuliaGPU/Adapt.jl")
44 (synopsis "General framework for fast Fourier transforms (FFTs)")
45 (description "This package allows multiple FFT packages to co-exist with
46the same underlying @code{fft(x)} and @code{plan_fft(x)} interface. It is
47mainly not intended to be used directly. Instead, developers of packages that
48implement FFTs (such as @code{FFTW.jl} or @code{FastTransforms.jl}) extend the
49types/functions defined in AbstractFFTs.")
50 (license license:expat)))
51
20767b9b 52(define-public julia-adapt
53 (package
54 (name "julia-adapt")
55 (version "3.1.1")
56 (source
57 (origin
58 (method git-fetch)
59 (uri (git-reference
60 (url "https://github.com/JuliaGPU/Adapt.jl")
61 (commit (string-append "v" version))))
81d45a66 62 (file-name (git-file-name name version))
20767b9b 63 (sha256
64 (base32 "1lks6k3a1gvwlplld47nh6xfy3nnlpc0vhkzg6zg0qn33qdmavrg"))))
65 (build-system julia-build-system)
66 (home-page "https://github.com/JuliaGPU/Adapt.jl")
67 (synopsis "Package providing the @code{adapt} function, similar to @code{convert}")
68 (description "This Julia package provides the @code{adapt(T, x)} function
69acts like @code{convert(T, x)}, but without the restriction of returning a
70@code{T}. This allows you to \"convert\" wrapper types like @code{Adjoint} to
71be GPU compatible without throwing away the wrapper.")
72 (license license:expat)))
73
03010d5d 74(define-public julia-benchmarktools
75 (package
76 (name "julia-benchmarktools")
77 (version "0.5.0")
78 (source
79 (origin
80 (method git-fetch)
81 (uri (git-reference
82 (url "https://github.com/JuliaCI/BenchmarkTools.jl")
83 (commit (string-append "v" version))))
84 (file-name (git-file-name name version))
85 (sha256
86 (base32 "0nsx21m3i5h22lkgyrmfj6r085va6ag40khwssqs8y7l0wz98lvp"))))
87 (build-system julia-build-system)
88 (propagated-inputs `(("julia-json" ,julia-json)))
89 (home-page "https://github.com/JuliaCI/BenchmarkTools.jl")
90 (synopsis "Benchmarking framework for the Julia language")
91 (description "@code{BenchmarkTools.jl} makes performance tracking of Julia
92code easy by supplying a framework for writing and running groups of
93benchmarks as well as comparing benchmark results.")
94 (license license:expat)))
95
52d09b1f 96(define-public julia-bufferedstreams
97 (package
98 (name "julia-bufferedstreams")
99 (version "1.0.0")
100 (source
101 (origin
102 (method git-fetch)
103 (uri (git-reference
104 (url "https://github.com/BioJulia/BufferedStreams.jl")
105 (commit (string-append "v" version))))
106 (file-name (git-file-name name version))
107 (sha256
108 (base32 "0sf4sxbq55mg2pwxyxf0c839z1lk0yxg8nmb7617bfbvw31cp88z"))))
109 (build-system julia-build-system)
110 ;; The package is old and tests are using undefined functions. They also
111 ;; freeze, see
112 ;; https://travis-ci.org/BioJulia/BufferedStreams.jl/jobs/491050182
113 (arguments
114 '(#:tests? #f
115 #:julia-package-name "BufferedStreams"))
116 (propagated-inputs `(("julia-compat" ,julia-compat)))
117 (home-page "https://github.com/BioJulia/BufferedStreams.jl")
118 (synopsis "Fast composable IO streams")
119 (description "@code{BufferedStreams.jl} provides buffering for IO
120operations. It can wrap any @code{IO} type automatically making incremental
121reading and writing faster.")
122 (license license:expat)))
123
9b8b132e 124(define-public julia-colortypes
125 (package
126 (name "julia-colortypes")
127 (version "0.10.12")
128 (source
129 (origin
130 (method git-fetch)
131 (uri (git-reference
132 (url "https://github.com/JuliaGraphics/ColorTypes.jl")
133 (commit (string-append "v" version))))
134 (file-name (git-file-name name version))
135 (sha256
136 (base32 "176hr3qbz7lncmykks2qaj3cqisnzim7wi5jwsca9ld26wwyvyqq"))))
137 (arguments
138 '(#:tests? #f)) ;require Documenter, not packaged yet
139 (build-system julia-build-system)
140 (propagated-inputs
141 `(("julia-fixedpointnumbers" ,julia-fixedpointnumbers)))
142 (home-page "https://github.com/JuliaGraphics/ColorTypes.jl")
143 (synopsis "Basic color types and constructor")
144 (description "This minimalistic package serves as the foundation for
145working with colors in Julia. It defines basic color types and their
146constructors, and sets up traits and show methods to make them easier to work
147with.")
148 (license license:expat)))
149
a1315b7f 150(define-public julia-compat
151 (package
152 (name "julia-compat")
f7a98af0 153 (version "3.25.0")
a1315b7f 154 (source
155 (origin
156 (method git-fetch)
157 (uri (git-reference
158 (url "https://github.com/JuliaLang/Compat.jl")
159 (commit (string-append "v" version))))
54721e7e 160 (file-name (git-file-name name version))
a1315b7f 161 (sha256
f7a98af0 162 (base32 "1m4r5i8mq29xjp3mllh6047n5a78sdyld57m15anrnsjgaapcgby"))))
a1315b7f 163 (build-system julia-build-system)
164 (home-page "https://github.com/JuliaLang/Compat.jl")
165 (synopsis "Compatibility across Julia versions")
166 (description "The Compat package is designed to ease interoperability
167between older and newer versions of the Julia language. The Compat package
168provides a macro that lets you use the latest syntax in a backwards-compatible
169way.")
170 (license license:expat)))
eccd448c 171
35044d3e 172(define-public julia-constructionbase
173 (let ((commit "de77e2865b554f9b078fd8c35b593cce0554ae02"))
174 (package
175 (name "julia-constructionbase")
176 (version "1.1.0") ;tag not created upstream
177 (source
178 (origin
179 (method git-fetch)
180 (uri (git-reference
181 (url "https://github.com/JuliaObjects/ConstructionBase.jl")
182 (commit commit)))
183 (file-name (git-file-name name version))
184 (sha256
185 (base32 "1y79sfj0rds1skl9j16p9161hwa9khm0xc2m4hgjcbh5zzvyr57v"))))
186 (build-system julia-build-system)
187 (home-page "https://juliaobjects.github.io/ConstructionBase.jl/dev/")
188 (synopsis "Primitive functions for construction of objects")
189 (description "This very lightweight package provides primitive functions
190for construction of objects.")
191 (license license:expat))))
192
6545cef5 193(define-public julia-datastructures
194 (package
195 (name "julia-datastructures")
196 (version "0.18.9")
197 (source
198 (origin
199 (method git-fetch)
200 (uri (git-reference
201 (url "https://github.com/JuliaCollections/DataStructures.jl")
202 (commit (string-append "v" version))))
203 (file-name (git-file-name name version))
204 (sha256
205 (base32 "0hdqp8ipsqdw5bqqkdvz4j6n67x80sj5azr9vzyxwjfsgkfbnk2l"))))
206 (propagated-inputs
207 `(("julia-compat" ,julia-compat)
208 ("julia-orderedcollections" ,julia-orderedcollections)))
209 (build-system julia-build-system)
210 (home-page "https://github.com/JuliaCollections/DataStructures.jl")
211 (synopsis "Julia module providing different data structures")
212 (description "This package implements a variety of data structures,
213including, @code{CircularBuffer}, @code{Queue}, @code{Stack},
214@code{Accumulators}, @code{LinkedLists}, @code{SortedDicts} and many others.")
215 (license license:expat)))
216
50f99cc5 217(define-public julia-fixedpointnumbers
218 (package
219 (name "julia-fixedpointnumbers")
220 (version "0.8.4")
221 (source
222 (origin
223 (method git-fetch)
224 (uri (git-reference
225 (url "https://github.com/JuliaMath/FixedPointNumbers.jl")
226 (commit (string-append "v" version))))
227 (file-name (git-file-name name version))
228 (sha256
229 (base32 "0j0n40n04q9sk68wh9jq90m6c67k4ws02k41djjzkrqmpzv4rcdi"))))
230 (build-system julia-build-system)
231 (arguments
232 `(#:phases
233 (modify-phases %standard-phases
234 (add-after 'unpack 'disable-failing-test
235 (lambda* (#:key outputs #:allow-other-keys)
236 (substitute* "test/fixed.jl"
237 ;; A deprecation warning is not thrown
238 (("@test_logs.*:warn" all) (string-append "# " all)))
239 #t)))))
240 (propagated-inputs `(("julia-compat" ,julia-compat)))
241 (home-page "https://github.com/JuliaMath/FixedPointNumbers.jl")
242 (synopsis "Fixed point types for Julia")
243 (description "@code{FixedPointNumbers.jl} implements fixed-point number
244types for Julia. A fixed-point number represents a fractional, or
245non-integral, number. In contrast with the more widely known floating-point
246numbers, with fixed-point numbers the decimal point doesn't \"float\":
247fixed-point numbers are effectively integers that are interpreted as being
248scaled by a constant factor. Consequently, they have a fixed number of
249digits (bits) after the decimal (radix) point.")
250 (license license:expat)))
d4987a50 251
252(define-public julia-http
253 (package
254 (name "julia-http")
255 (version "0.9.2")
256 (source
257 (origin
258 (method git-fetch)
259 (uri (git-reference
260 (url "https://github.com/JuliaWeb/HTTP.jl")
261 (commit (string-append "v" version))))
262 (file-name (git-file-name name version))
263 (sha256
264 (base32 "0ij0yci13c46p92m4zywvcs02nn8pm0abyfffiyhxvva6hq48lyl"))))
265 (build-system julia-build-system)
266 (arguments
267 `(#:phases
268 (modify-phases %standard-phases
269 (add-before 'install 'disable-network-tests
270 (lambda _
271 (substitute* "test/runtests.jl"
272 (("\"async.jl") "# \"async.jl")
273 (("\"client.jl") "# \"client.jl"))
274 (substitute* "test/aws4.jl"
275 (("@testset.*HTTP.request with AWS authentication.*" all)
276 (string-append all "return\n")))
277 (substitute* "test/insert_layers.jl"
278 (("@testset.*Inserted final layer runs handler.*" all)
279 (string-append all "return\n")))
280 (substitute* "test/multipart.jl"
281 (("@testset \"Setting of Content-Type.*" all)
282 (string-append all "return\n"))
283 (("@testset \"Deprecation of .*" all)
284 (string-append all "return\n")))
285 (substitute* "test/websockets.jl"
286 (("@testset.*External Host.*" all)
287 (string-append all "return\n")))
288 (substitute* "test/messages.jl"
289 (("@testset.*Read methods.*" all)
290 (string-append all "return\n"))
291 (("@testset.*Body - .*" all)
292 (string-append all "return\n"))
293 (("@testset.*Write to file.*" all)
294 (string-append all "return\n")))
295 #t)))))
296 (propagated-inputs
297 `(("julia-inifile" ,julia-inifile)
298 ("julia-mbedtls" ,julia-mbedtls)
299 ("julia-uris" ,julia-uris)))
300 ;; required for tests
301 (inputs
302 `(("julia-json" ,julia-json)
303 ("julia-bufferedstreams" ,julia-bufferedstreams)))
304 (home-page "https://juliaweb.github.io/HTTP.jl/")
305 (synopsis "HTTP support for Julia")
306 (description "@code{HTTP.jl} is a Julia library for HTTP Messages,
307implementing both a client and a server.")
308 (license license:expat)))
50f99cc5 309
fc781578 310(define-public julia-inifile
311 (package
312 (name "julia-inifile")
313 (version "0.5.0")
314 (source
315 (origin
316 (method git-fetch)
317 (uri (git-reference
318 (url "https://github.com/JuliaIO/IniFile.jl")
319 (commit "8ba59958495fa276d6489d2c3903e765d75e0bc0")))
320 (file-name (git-file-name name version))
321 (sha256
322 (base32 "11h6f99jpbg729lplw841m68jprka7q3n8yw390bndlmcdsjabpd"))))
323 (build-system julia-build-system)
324 (home-page "https://github.com/JuliaIO/IniFile.jl")
325 (synopsis "Reading Windows-style INI files")
326 (description "This is a Julia package that defines an IniFile type that
327allows to interface with @file{.ini} files.")
328 (license license:expat)))
329
57653707 330(define-public julia-irtools
331 (package
332 (name "julia-irtools")
333 (version "0.4.2")
334 (source
335 (origin
336 (method git-fetch)
337 (uri (git-reference
338 (url "https://github.com/FluxML/IRTools.jl")
339 (commit (string-append "v" version))))
340 (file-name (git-file-name name version))
341 (sha256
342 (base32 "0wwzy77jcdnffnd5fr6xan7162g4wydz67igrq82wflwnrhlcx5y"))))
343 (arguments
344 '(#:tests? #f)) ;require Documenter, not packaged yet
345 (build-system julia-build-system)
346 (propagated-inputs
347 `(("julia-macrotools" ,julia-macrotools)))
348 (home-page "https://github.com/FluxML/IRTools.jl")
349 (synopsis "Simple and flexible IR format")
350 (description "This package provides a simple and flexible IR format,
351expressive enough to work with both lowered and typed Julia code, as well as
352external IRs. It can be used with Julia metaprogramming tools such as
353Cassette.")
354 (license license:expat)))
355
a06db9c1 356(define-public julia-jllwrappers
357 (package
358 (name "julia-jllwrappers")
359 (version "1.2.0")
360 (source
361 (origin
362 (method git-fetch)
363 (uri (git-reference
364 (url "https://github.com/JuliaPackaging/JLLWrappers.jl")
365 (commit (string-append "v" version))))
366 (file-name (git-file-name name version))
367 (sha256
368 (base32 "1sj3mi2dcc13apqfpy401wic5n0pgbck1p98b2g3zw0mln9s83m4"))))
369 (arguments
370 ;; Wants to download stuff
371 '(#:tests? #f
372 #:phases
373 (modify-phases %standard-phases
374 (add-after 'unpack 'custom-override-path
375 (lambda* (#:key inputs #:allow-other-keys)
376 ;; Make @generate_wrapper_header take an optional argument that
377 ;; guix packagers can pass to override the default "override"
378 ;; binary path. This won't be needed when something like
379 ;; https://github.com/JuliaPackaging/JLLWrappers.jl/pull/27
380 ;; will be merged.
381 (substitute* "src/wrapper_generators.jl"
382 (("generate_wrapper_header.*")
383 "generate_wrapper_header(src_name, override_path = nothing)\n")
384 (("pkg_dir = .*" all)
385 (string-append
386 all "\n" "override = something(override_path,"
387 "joinpath(dirname(pkg_dir), \"override\"))\n"))
388 (("@static if isdir.*") "@static if isdir($override)\n")
389 (("return joinpath.*") "return $override\n"))
390 #t)))))
391 (build-system julia-build-system)
392 (home-page "https://github.com/JuliaPackaging/JLLWrappers.jl")
393 (synopsis "Julia macros used by JLL packages")
394 (description "This package contains Julia macros that enable JLL packages
395to generate themselves. It is not intended to be used by users, but rather is
396used in autogenerated packages via @code{BinaryBuilder.jl}.")
397 (license license:expat)))
398
dae521a0 399(define-public julia-json
400 (package
401 (name "julia-json")
402 (version "0.21.1")
403 (source
404 (origin
405 (method git-fetch)
406 (uri (git-reference
407 (url "https://github.com/JuliaIO/JSON.jl")
408 (commit (string-append "v" version))))
409 (file-name (git-file-name name version))
410 (sha256
411 (base32 "1f9k613kbknmp4fgjxvjaw4d5sfbx8a5hmcszmp1w9rqfqngjx9m"))))
412 (build-system julia-build-system)
413 (propagated-inputs
414 `(("julia-datastructures" ,julia-datastructures)
415 ("julia-fixedpointnumbers" ,julia-fixedpointnumbers)
416 ("julia-parsers" ,julia-parsers)
417 ("julia-offsetarrays" ,julia-offsetarrays)))
418 (home-page "https://github.com/JuliaIO/JSON.jl")
419 (synopsis "JSON parsing and printing library for Julia")
420 (description "@code{JSON.jl} is a pure Julia module which supports parsing
421and printing JSON documents.")
422 (license license:expat)))
423
45debc7b 424(define-public julia-macrotools
425 (package
426 (name "julia-macrotools")
427 (version "0.5.6")
428 (source
429 (origin
430 (method git-fetch)
431 (uri (git-reference
432 (url "https://github.com/FluxML/MacroTools.jl")
433 (commit (string-append "v" version))))
434 (file-name (git-file-name name version))
435 (sha256
436 (base32 "0k4z2hyasd9cwxf4l61zk3w4ajs44k69wx6z1ghdn8f5p8xy217f"))))
437 (build-system julia-build-system)
438 (home-page "https://fluxml.ai/MacroTools.jl")
439 (synopsis "Tools for working with Julia code and expressions")
440 (description "This library provides tools for working with Julia code and
441expressions. This includes a template-matching system and code-walking tools
442that let you do deep transformations of code.")
443 (license license:expat)))
444
a72d3ca8 445(define-public julia-mbedtls
446 (package
447 (name "julia-mbedtls")
448 (version "1.0.3")
449 (source
450 (origin
451 (method git-fetch)
452 (uri (git-reference
453 (url "https://github.com/JuliaLang/MbedTLS.jl")
454 (commit (string-append "v" version))))
455 (file-name (git-file-name name version))
456 (sha256
457 (base32 "0zjzf2r57l24n3k0gcqkvx3izwn5827iv9ak0lqix0aa5967wvfb"))))
458 (build-system julia-build-system)
459 (arguments
460 `(#:phases
461 (modify-phases %standard-phases
462 (add-before 'install 'disable-network-tests
463 ;; Tries to connect to httpbin.org
464 (lambda _
465 (substitute* "test/runtests.jl"
466 (("testhost =") "return #"))
467 #t)))))
468 (propagated-inputs `(("julia-mbedtls-jll" ,julia-mbedtls-jll)))
469 (home-page "https://github.com/JuliaLang/MbedTLS.jl")
470 (synopsis "Apache's mbed TLS library wrapper")
471 (description "@code{MbedTLS.jl} provides a wrapper around the @code{mbed
472TLS} and cryptography C libary for Julia.")
473 (license license:expat)))
474
3291e4ba 475(define-public julia-mbedtls-jll
476 (package
477 (name "julia-mbedtls-jll")
478 ;; version 2.25.0+0 is not compatible with current mbedtls 2.23.0,
479 ;; upgrade this when mbedtls is updated in guix
480 (version "2.24.0+1")
481 (source
482 (origin
483 (method git-fetch)
484 (uri (git-reference
485 (url "https://github.com/JuliaBinaryWrappers/MbedTLS_jll.jl")
486 (commit (string-append "MbedTLS-v" version))))
487 (file-name (git-file-name name version))
488 (sha256
489 (base32 "0kk9dlxdh7yms21npgrdfmjbj8q8ng6kdhrzw3jr2d7rp696kp99"))))
490 (build-system julia-build-system)
491 (arguments
492 '(#:tests? #f ; No runtests.jl
493 #:phases
494 (modify-phases %standard-phases
495 (add-after 'unpack 'override-binary-path
496 (lambda* (#:key inputs #:allow-other-keys)
497 (map
498 (lambda (wrapper)
499 (substitute* wrapper
500 (("generate_wrapper_header.*")
501 (string-append
502 "generate_wrapper_header(\"MbedTLS\", \""
503 (assoc-ref inputs "mbedtls-apache") "\")\n"))))
504 ;; There's a Julia file for each platform, override them all
505 (find-files "src/wrappers/" "\\.jl$"))
506 #t)))))
507 (inputs `(("mbedtls-apache" ,mbedtls-apache)))
508 (propagated-inputs `(("julia-jllwrappers" ,julia-jllwrappers)))
509 (home-page "https://github.com/JuliaBinaryWrappers/MbedTLS_jll.jl")
510 (synopsis "Apache's mbed TLS binary wrappers")
511 (description "This Julia module provides @code{mbed TLS} libraries and
512wrappers.")
513 (license license:expat)))
514
a5edd83d 515(define-public julia-nanmath
516 (package
517 (name "julia-nanmath")
518 (version "0.3.5")
519 (source
520 (origin
521 (method git-fetch)
522 (uri (git-reference
523 (url "https://github.com/mlubin/NaNMath.jl")
524 (commit (string-append "v" version))))
525 (file-name (git-file-name name version))
526 (sha256
527 (base32 "1hczhz00qj99w63vp627kwk02l2sr2qmzc2rkwwkdwvzy670p25q"))))
528 (build-system julia-build-system)
529 (home-page "https://github.com/mlubin/NaNMath.jl")
530 (synopsis "Implementations of basic math functions")
531 (description "Implementations of basic math functions which return
532@code{NaN} instead of throwing a @code{DomainError}.")
533 (license license:expat)))
534
eccd448c 535(define-public julia-orderedcollections
536 (package
537 (name "julia-orderedcollections")
538 (version "1.3.2")
539 (source
540 (origin
541 (method git-fetch)
542 (uri (git-reference
543 (url "https://github.com/JuliaCollections/OrderedCollections.jl")
544 (commit (string-append "v" version))))
545 (file-name (git-file-name name version))
546 (sha256
547 (base32 "0sfip1ixghsz91q2s7d62rgzw3gppg42fg6bccxlplqa3hfmbycf"))))
548 (build-system julia-build-system)
549 (home-page "https://github.com/JuliaCollections/OrderedCollections.jl")
550 (synopsis "Associative containers that preserve insertion order")
551 (description "This package implements @code{OrderedDicts} and
552@code{OrderedSets}, which are similar to containers in base Julia. However,
553during iteration the @code{Ordered*} containers return items in the order in
554which they were added to the collection.")
555 (license license:expat)))
c0c21d77 556
fb634a0e 557(define-public julia-offsetarrays
558 (package
559 (name "julia-offsetarrays")
560 (version "1.5.2")
561 (source
562 (origin
563 (method git-fetch)
564 (uri (git-reference
565 (url "https://github.com/JuliaArrays/OffsetArrays.jl")
566 (commit (string-append "v" version))))
567 (file-name (git-file-name name version))
568 (sha256
569 (base32 "1y3fnssw2hzyghrk6jfcxslab0f8sjkjszh482snfq4k6mkrhy77"))))
570 (build-system julia-build-system)
571 (propagated-inputs
572 `(("julia-adapt" ,julia-adapt)))
573 ;; CatIndices depends on OffsetArrays, introducing a recursive dependency
574 (arguments '(#:tests? #f))
575 (home-page "https://juliaarrays.github.io/OffsetArrays.jl/stable/")
576 (synopsis "Fortran-like arrays with arbitrary, zero or negative indices")
577 (description "@code{OffsetArrays.jl} provides Julia users with arrays that
578have arbitrary indices, similar to those found in some other programming
579languages like Fortran.")
580 (license license:expat)))
581
c0c21d77 582(define-public julia-parsers
583 (package
584 (name "julia-parsers")
585 (version "1.0.15")
586 (source
587 (origin
588 (method git-fetch)
589 (uri (git-reference
590 (url "https://github.com/JuliaData/Parsers.jl")
591 (commit (string-append "v" version))))
592 (file-name (git-file-name name version))
593 (sha256
594 (base32 "16iffl6l28kspgqch48mhi1s8qhspr3cpqcwsph3rqi72lbfqygx"))))
595 (build-system julia-build-system)
596 (home-page "https://github.com/JuliaData/Parsers.jl")
597 (synopsis "Fast parsing machinery for basic types in Julia")
598 (description "@code{Parsers.jl} is a collection of type parsers and
599utilities for Julia.")
600 (license license:expat)))
8f59a9fb 601
02543b52 602(define-public julia-reexport
603 (package
604 (name "julia-reexport")
605 (version "1.0.0")
606 (source
607 (origin
608 (method git-fetch)
609 (uri (git-reference
610 (url "https://github.com/simonster/Reexport.jl")
611 (commit version)))
612 (file-name (git-file-name name version))
613 (sha256
614 (base32 "1yhhja1zz6dy5f4fd19bdwd6jwgj7q4w3avzgyg1hjhmdl8jrh0s"))))
615 (build-system julia-build-system)
616 (home-page "https://github.com/simonster/Reexport.jl")
617 (synopsis "Re-export modules and symbols")
618 (description "This package provides tools to re-export modules and symbols.")
619 (license license:expat)))
620
be802277 621(define-public julia-staticarrays
622 (package
623 (name "julia-staticarrays")
624 (version "1.0.1")
625 (source
626 (origin
627 (method git-fetch)
628 (uri (git-reference
629 (url "https://github.com/JuliaArrays/StaticArrays.jl")
630 (commit (string-append "v" version))))
631 (file-name (git-file-name name version))
632 (sha256
633 (base32 "01z8bcqwpfkp8p1h1r36pr5cc3798y76zkas7g3206pcsdhvlkz1"))))
634 (build-system julia-build-system)
635 (inputs
636 `(("julia-benchmarktools" ,julia-benchmarktools)))
637 (home-page "https://github.com/JuliaArrays/StaticArrays.jl")
638 (synopsis "Statically sized arrays")
639 (description "This package provides a framework for implementing
640statically sized arrays in Julia, using the abstract type
641@code{StaticArray{Size,T,N} <: AbstractArray{T,N}}. Subtypes of
642@code{StaticArray} will provide fast implementations of common array and
643linear algebra operations.")
644 (license license:expat)))
645
8f59a9fb 646(define-public julia-uris
647 (package
648 (name "julia-uris")
649 (version "1.2.0")
650 (source
651 (origin
652 (method git-fetch)
653 (uri (git-reference
654 (url "https://github.com/JuliaWeb/URIs.jl")
655 (commit (string-append "v" version))))
656 (file-name (git-file-name name version))
657 (sha256
658 (base32 "0fqyagsqks5za7m0czafr34m2xh5501f689k9cn5x3npajdnh2r3"))))
659 (build-system julia-build-system)
660 (arguments
661 '(#:julia-package-name "URIs" ;required to run tests
662 #:phases
663 (modify-phases %standard-phases
664 (add-before 'check 'change-dir
665 ;; Tests must be run from the testdir
666 (lambda* (#:key source outputs #:allow-other-keys)
667 (let ((out (assoc-ref outputs "out")))
668 (chdir
669 (string-append out "/share/julia/packages/URIs/test")))
670 #t)))))
671 ;; required for tests
672 (inputs `(("julia-json" ,julia-json)))
673 (home-page "https://github.com/JuliaWeb/URIs.jl")
674 (synopsis "URI parsing in Julia")
675 (description "@code{URIs.jl} is a Julia package that allows parsing and
676working with @acronym{URIs,Uniform Resource Identifiers}, as defined in RFC
6773986.")
678 (license license:expat)))
a8e3be6a 679
680(define-public julia-unitful
681 (package
682 (name "julia-unitful")
683 (version "1.6.0")
684 (source
685 (origin
686 (method git-fetch)
687 (uri (git-reference
688 (url "https://github.com/PainterQubits/Unitful.jl")
689 (commit (string-append "v" version))))
690 (file-name (git-file-name name version))
691 (sha256
692 (base32 "0g5bhlvay9yk11c5dqwbzmb3q7lzj0cq5zchyk39d59fkvvmxvq3"))))
693 (build-system julia-build-system)
694 (propagated-inputs
695 `(("julia-constructionbase" ,julia-constructionbase)))
696 (home-page "https://painterqubits.github.io/Unitful.jl/stable/")
697 (synopsis "Physical units in Julia")
698 (description "This package supports SI units and also many other unit
699system.")
700 (license license:expat)))