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