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 |
44 | acts 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 |
46 | be 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 |
67 | code easy by supplying a framework for writing and running groups of |
68 | benchmarks 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 |
95 | operations. It can wrap any @code{IO} type automatically making incremental |
96 | reading 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 |
116 | between older and newer versions of the Julia language. The Compat package |
117 | provides a macro that lets you use the latest syntax in a backwards-compatible |
118 | way.") |
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 |
139 | for 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, |
162 | including, @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 |
193 | types for Julia. A fixed-point number represents a fractional, or |
194 | non-integral, number. In contrast with the more widely known floating-point |
195 | numbers, with fixed-point numbers the decimal point doesn't \"float\": |
196 | fixed-point numbers are effectively integers that are interpreted as being |
197 | scaled by a constant factor. Consequently, they have a fixed number of |
198 | digits (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, |
256 | implementing 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 |
276 | allows 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, |
300 | expressive enough to work with both lowered and typed Julia code, as well as |
301 | external IRs. It can be used with Julia metaprogramming tools such as |
302 | Cassette.") |
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 |
344 | to generate themselves. It is not intended to be used by users, but rather is |
345 | used 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 |
370 | and 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 |
390 | expressions. This includes a template-matching system and code-walking tools |
391 | that 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 |
421 | TLS} 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 |
461 | wrappers.") |
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, |
502 | during iteration the @code{Ordered*} containers return items in the order in |
503 | which 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 |
527 | have arbitrary indices, similar to those found in some other programming |
528 | languages 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 |
548 | utilities 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 |
589 | statically 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 |
592 | linear 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 |
625 | working with @acronym{URIs,Uniform Resource Identifiers}, as defined in RFC |
626 | 3986.") |
627 | (license license:expat))) |