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 |
46 | the same underlying @code{fft(x)} and @code{plan_fft(x)} interface. It is |
47 | mainly not intended to be used directly. Instead, developers of packages that |
48 | implement FFTs (such as @code{FFTW.jl} or @code{FastTransforms.jl}) extend the |
49 | types/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 |
69 | acts 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 |
71 | be 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 |
92 | code easy by supplying a framework for writing and running groups of |
93 | benchmarks 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 |
120 | operations. It can wrap any @code{IO} type automatically making incremental |
121 | reading and writing faster.") |
122 | (license license:expat))) |
123 | |
bb1ca1f3 |
124 | (define-public julia-chainrulescore |
125 | (package |
126 | (name "julia-chainrulescore") |
127 | (version "0.9.29") |
128 | (source |
129 | (origin |
130 | (method git-fetch) |
131 | (uri (git-reference |
132 | (url "https://github.com/JuliaDiff/ChainRulesCore.jl") |
133 | (commit (string-append "v" version)))) |
134 | (file-name (git-file-name name version)) |
135 | (sha256 |
136 | (base32 "1k0iayw39n1ikkkhvyi4498vsnzc94skqs41gnd15632gxjfvki4")))) |
137 | (build-system julia-build-system) |
138 | (inputs ;required for tests |
139 | `(("julia-benchmarktools" ,julia-benchmarktools) |
140 | ("julia-staticarrays" ,julia-staticarrays))) |
141 | (propagated-inputs |
142 | `(("julia-compat" ,julia-compat))) |
143 | (home-page "https://github.com/JuliaDiff/ChainRulesCore.jl") |
144 | (synopsis "Common utilities used by downstream automatic differentiation tools") |
145 | (description "The package provides a light-weight dependency for defining |
146 | sensitivities for functions without the need to depend on ChainRules itself.") |
147 | (license license:expat))) |
148 | |
13a8b866 |
149 | (define-public julia-colors |
150 | (package |
151 | (name "julia-colors") |
152 | (version "0.12.6") |
153 | (source |
154 | (origin |
155 | (method git-fetch) |
156 | (uri (git-reference |
157 | (url "https://github.com/JuliaGraphics/Colors.jl") |
158 | (commit (string-append "v" version)))) |
159 | (file-name (git-file-name name version)) |
160 | (sha256 |
161 | (base32 "156zsszgwh6bmznsan0zyha6yvcxw3c5mvc5vr2qfsgxbyh36ln6")))) |
162 | (build-system julia-build-system) |
163 | (propagated-inputs |
164 | `(("julia-colortypes" ,julia-colortypes) |
165 | ("julia-fixedpointnumbers" ,julia-fixedpointnumbers) |
166 | ("julia-reexport" ,julia-reexport))) |
167 | (home-page "https://github.com/JuliaGraphics/Colors.jl") |
168 | (synopsis "Tools for dealing with color") |
169 | (description "This package provides a wide array of functions for dealing |
170 | with color. This includes conversion between colorspaces, measuring distance |
171 | between colors, simulating color blindness, parsing colors, and generating |
172 | color scales for graphics.") |
173 | (license license:expat))) |
174 | |
9b8b132e |
175 | (define-public julia-colortypes |
176 | (package |
177 | (name "julia-colortypes") |
178 | (version "0.10.12") |
179 | (source |
180 | (origin |
181 | (method git-fetch) |
182 | (uri (git-reference |
183 | (url "https://github.com/JuliaGraphics/ColorTypes.jl") |
184 | (commit (string-append "v" version)))) |
185 | (file-name (git-file-name name version)) |
186 | (sha256 |
187 | (base32 "176hr3qbz7lncmykks2qaj3cqisnzim7wi5jwsca9ld26wwyvyqq")))) |
188 | (arguments |
189 | '(#:tests? #f)) ;require Documenter, not packaged yet |
190 | (build-system julia-build-system) |
191 | (propagated-inputs |
192 | `(("julia-fixedpointnumbers" ,julia-fixedpointnumbers))) |
193 | (home-page "https://github.com/JuliaGraphics/ColorTypes.jl") |
194 | (synopsis "Basic color types and constructor") |
195 | (description "This minimalistic package serves as the foundation for |
196 | working with colors in Julia. It defines basic color types and their |
197 | constructors, and sets up traits and show methods to make them easier to work |
198 | with.") |
199 | (license license:expat))) |
200 | |
a1315b7f |
201 | (define-public julia-compat |
202 | (package |
203 | (name "julia-compat") |
f7a98af0 |
204 | (version "3.25.0") |
a1315b7f |
205 | (source |
206 | (origin |
207 | (method git-fetch) |
208 | (uri (git-reference |
209 | (url "https://github.com/JuliaLang/Compat.jl") |
210 | (commit (string-append "v" version)))) |
54721e7e |
211 | (file-name (git-file-name name version)) |
a1315b7f |
212 | (sha256 |
f7a98af0 |
213 | (base32 "1m4r5i8mq29xjp3mllh6047n5a78sdyld57m15anrnsjgaapcgby")))) |
a1315b7f |
214 | (build-system julia-build-system) |
215 | (home-page "https://github.com/JuliaLang/Compat.jl") |
216 | (synopsis "Compatibility across Julia versions") |
217 | (description "The Compat package is designed to ease interoperability |
218 | between older and newer versions of the Julia language. The Compat package |
219 | provides a macro that lets you use the latest syntax in a backwards-compatible |
220 | way.") |
221 | (license license:expat))) |
eccd448c |
222 | |
35044d3e |
223 | (define-public julia-constructionbase |
224 | (let ((commit "de77e2865b554f9b078fd8c35b593cce0554ae02")) |
225 | (package |
226 | (name "julia-constructionbase") |
227 | (version "1.1.0") ;tag not created upstream |
228 | (source |
229 | (origin |
230 | (method git-fetch) |
231 | (uri (git-reference |
232 | (url "https://github.com/JuliaObjects/ConstructionBase.jl") |
233 | (commit commit))) |
234 | (file-name (git-file-name name version)) |
235 | (sha256 |
236 | (base32 "1y79sfj0rds1skl9j16p9161hwa9khm0xc2m4hgjcbh5zzvyr57v")))) |
237 | (build-system julia-build-system) |
238 | (home-page "https://juliaobjects.github.io/ConstructionBase.jl/dev/") |
239 | (synopsis "Primitive functions for construction of objects") |
240 | (description "This very lightweight package provides primitive functions |
241 | for construction of objects.") |
242 | (license license:expat)))) |
243 | |
6545cef5 |
244 | (define-public julia-datastructures |
245 | (package |
246 | (name "julia-datastructures") |
247 | (version "0.18.9") |
248 | (source |
249 | (origin |
250 | (method git-fetch) |
251 | (uri (git-reference |
252 | (url "https://github.com/JuliaCollections/DataStructures.jl") |
253 | (commit (string-append "v" version)))) |
254 | (file-name (git-file-name name version)) |
255 | (sha256 |
256 | (base32 "0hdqp8ipsqdw5bqqkdvz4j6n67x80sj5azr9vzyxwjfsgkfbnk2l")))) |
257 | (propagated-inputs |
258 | `(("julia-compat" ,julia-compat) |
259 | ("julia-orderedcollections" ,julia-orderedcollections))) |
260 | (build-system julia-build-system) |
261 | (home-page "https://github.com/JuliaCollections/DataStructures.jl") |
262 | (synopsis "Julia module providing different data structures") |
263 | (description "This package implements a variety of data structures, |
264 | including, @code{CircularBuffer}, @code{Queue}, @code{Stack}, |
265 | @code{Accumulators}, @code{LinkedLists}, @code{SortedDicts} and many others.") |
266 | (license license:expat))) |
267 | |
fffb1e72 |
268 | (define-public julia-example |
269 | (let ((commit "f968c69dea24f851d0c7e686db23fa55826b5388")) |
270 | (package |
271 | (name "julia-example") |
272 | (version "0.5.4") ;tag not created upstream |
273 | (source |
274 | (origin |
275 | (method git-fetch) |
276 | (uri (git-reference |
277 | (url "https://github.com/JuliaLang/Example.jl") |
278 | (commit commit))) |
279 | (file-name (git-file-name name version)) |
280 | (sha256 |
281 | (base32 "1v3z0d6gh6wfbypffy9m9rhh36px6fm5wjzq0y6rbmc95r0qpqlx")))) |
282 | (build-system julia-build-system) |
283 | (home-page "https://github.com/JuliaLang/Example.jl") |
284 | (synopsis "Module providing examples") |
285 | (description "This package provides various examples.") |
286 | (license license:expat)))) |
287 | |
f6c5a898 |
288 | (define-public julia-finitedifferences |
289 | (package |
290 | (name "julia-finitedifferences") |
291 | (version "0.12.2") |
292 | (source |
293 | (origin |
294 | (method git-fetch) |
295 | (uri (git-reference |
296 | (url "https://github.com/JuliaDiff/FiniteDifferences.jl") |
297 | (commit (string-append "v" version)))) |
298 | (file-name (git-file-name name version)) |
299 | (sha256 |
300 | (base32 "0dcx34026xdpfmbjls3mrknl8ww62kxxfr77kfihbazsfg2gp5b4")))) |
301 | (build-system julia-build-system) |
302 | (inputs |
303 | `(("julia-benchmarktools" ,julia-benchmarktools))) |
304 | (propagated-inputs |
305 | `(("julia-chainrulescore" ,julia-chainrulescore) |
306 | ("julia-richardson" ,julia-richardson) |
307 | ("julia-staticarrays" ,julia-staticarrays))) |
308 | (home-page "https://github.com/JuliaDiff/FiniteDifferences.jl") |
309 | (synopsis "Estimates derivatives with finite differences") |
310 | (description "This package calculates approximate derivatives numerically |
311 | using finite difference.") |
312 | (license license:expat))) |
313 | |
50f99cc5 |
314 | (define-public julia-fixedpointnumbers |
315 | (package |
316 | (name "julia-fixedpointnumbers") |
317 | (version "0.8.4") |
318 | (source |
319 | (origin |
320 | (method git-fetch) |
321 | (uri (git-reference |
322 | (url "https://github.com/JuliaMath/FixedPointNumbers.jl") |
323 | (commit (string-append "v" version)))) |
324 | (file-name (git-file-name name version)) |
325 | (sha256 |
326 | (base32 "0j0n40n04q9sk68wh9jq90m6c67k4ws02k41djjzkrqmpzv4rcdi")))) |
327 | (build-system julia-build-system) |
328 | (arguments |
329 | `(#:phases |
330 | (modify-phases %standard-phases |
331 | (add-after 'unpack 'disable-failing-test |
332 | (lambda* (#:key outputs #:allow-other-keys) |
333 | (substitute* "test/fixed.jl" |
334 | ;; A deprecation warning is not thrown |
335 | (("@test_logs.*:warn" all) (string-append "# " all))) |
336 | #t))))) |
337 | (propagated-inputs `(("julia-compat" ,julia-compat))) |
338 | (home-page "https://github.com/JuliaMath/FixedPointNumbers.jl") |
339 | (synopsis "Fixed point types for Julia") |
340 | (description "@code{FixedPointNumbers.jl} implements fixed-point number |
341 | types for Julia. A fixed-point number represents a fractional, or |
342 | non-integral, number. In contrast with the more widely known floating-point |
343 | numbers, with fixed-point numbers the decimal point doesn't \"float\": |
344 | fixed-point numbers are effectively integers that are interpreted as being |
345 | scaled by a constant factor. Consequently, they have a fixed number of |
346 | digits (bits) after the decimal (radix) point.") |
347 | (license license:expat))) |
d4987a50 |
348 | |
349 | (define-public julia-http |
350 | (package |
351 | (name "julia-http") |
352 | (version "0.9.2") |
353 | (source |
354 | (origin |
355 | (method git-fetch) |
356 | (uri (git-reference |
357 | (url "https://github.com/JuliaWeb/HTTP.jl") |
358 | (commit (string-append "v" version)))) |
359 | (file-name (git-file-name name version)) |
360 | (sha256 |
361 | (base32 "0ij0yci13c46p92m4zywvcs02nn8pm0abyfffiyhxvva6hq48lyl")))) |
362 | (build-system julia-build-system) |
363 | (arguments |
364 | `(#:phases |
365 | (modify-phases %standard-phases |
366 | (add-before 'install 'disable-network-tests |
367 | (lambda _ |
368 | (substitute* "test/runtests.jl" |
369 | (("\"async.jl") "# \"async.jl") |
370 | (("\"client.jl") "# \"client.jl")) |
371 | (substitute* "test/aws4.jl" |
372 | (("@testset.*HTTP.request with AWS authentication.*" all) |
373 | (string-append all "return\n"))) |
374 | (substitute* "test/insert_layers.jl" |
375 | (("@testset.*Inserted final layer runs handler.*" all) |
376 | (string-append all "return\n"))) |
377 | (substitute* "test/multipart.jl" |
378 | (("@testset \"Setting of Content-Type.*" all) |
379 | (string-append all "return\n")) |
380 | (("@testset \"Deprecation of .*" all) |
381 | (string-append all "return\n"))) |
382 | (substitute* "test/websockets.jl" |
383 | (("@testset.*External Host.*" all) |
384 | (string-append all "return\n"))) |
385 | (substitute* "test/messages.jl" |
386 | (("@testset.*Read methods.*" all) |
387 | (string-append all "return\n")) |
388 | (("@testset.*Body - .*" all) |
389 | (string-append all "return\n")) |
390 | (("@testset.*Write to file.*" all) |
391 | (string-append all "return\n"))) |
392 | #t))))) |
393 | (propagated-inputs |
394 | `(("julia-inifile" ,julia-inifile) |
395 | ("julia-mbedtls" ,julia-mbedtls) |
396 | ("julia-uris" ,julia-uris))) |
397 | ;; required for tests |
398 | (inputs |
399 | `(("julia-json" ,julia-json) |
400 | ("julia-bufferedstreams" ,julia-bufferedstreams))) |
401 | (home-page "https://juliaweb.github.io/HTTP.jl/") |
402 | (synopsis "HTTP support for Julia") |
403 | (description "@code{HTTP.jl} is a Julia library for HTTP Messages, |
404 | implementing both a client and a server.") |
405 | (license license:expat))) |
50f99cc5 |
406 | |
fc781578 |
407 | (define-public julia-inifile |
408 | (package |
409 | (name "julia-inifile") |
410 | (version "0.5.0") |
411 | (source |
412 | (origin |
413 | (method git-fetch) |
414 | (uri (git-reference |
415 | (url "https://github.com/JuliaIO/IniFile.jl") |
416 | (commit "8ba59958495fa276d6489d2c3903e765d75e0bc0"))) |
417 | (file-name (git-file-name name version)) |
418 | (sha256 |
419 | (base32 "11h6f99jpbg729lplw841m68jprka7q3n8yw390bndlmcdsjabpd")))) |
420 | (build-system julia-build-system) |
421 | (home-page "https://github.com/JuliaIO/IniFile.jl") |
422 | (synopsis "Reading Windows-style INI files") |
423 | (description "This is a Julia package that defines an IniFile type that |
424 | allows to interface with @file{.ini} files.") |
425 | (license license:expat))) |
426 | |
57653707 |
427 | (define-public julia-irtools |
428 | (package |
429 | (name "julia-irtools") |
430 | (version "0.4.2") |
431 | (source |
432 | (origin |
433 | (method git-fetch) |
434 | (uri (git-reference |
435 | (url "https://github.com/FluxML/IRTools.jl") |
436 | (commit (string-append "v" version)))) |
437 | (file-name (git-file-name name version)) |
438 | (sha256 |
439 | (base32 "0wwzy77jcdnffnd5fr6xan7162g4wydz67igrq82wflwnrhlcx5y")))) |
440 | (arguments |
441 | '(#:tests? #f)) ;require Documenter, not packaged yet |
442 | (build-system julia-build-system) |
443 | (propagated-inputs |
444 | `(("julia-macrotools" ,julia-macrotools))) |
445 | (home-page "https://github.com/FluxML/IRTools.jl") |
446 | (synopsis "Simple and flexible IR format") |
447 | (description "This package provides a simple and flexible IR format, |
448 | expressive enough to work with both lowered and typed Julia code, as well as |
449 | external IRs. It can be used with Julia metaprogramming tools such as |
450 | Cassette.") |
451 | (license license:expat))) |
452 | |
a06db9c1 |
453 | (define-public julia-jllwrappers |
454 | (package |
455 | (name "julia-jllwrappers") |
456 | (version "1.2.0") |
457 | (source |
458 | (origin |
459 | (method git-fetch) |
460 | (uri (git-reference |
461 | (url "https://github.com/JuliaPackaging/JLLWrappers.jl") |
462 | (commit (string-append "v" version)))) |
463 | (file-name (git-file-name name version)) |
464 | (sha256 |
465 | (base32 "1sj3mi2dcc13apqfpy401wic5n0pgbck1p98b2g3zw0mln9s83m4")))) |
466 | (arguments |
467 | ;; Wants to download stuff |
468 | '(#:tests? #f |
469 | #:phases |
470 | (modify-phases %standard-phases |
471 | (add-after 'unpack 'custom-override-path |
472 | (lambda* (#:key inputs #:allow-other-keys) |
473 | ;; Make @generate_wrapper_header take an optional argument that |
474 | ;; guix packagers can pass to override the default "override" |
475 | ;; binary path. This won't be needed when something like |
476 | ;; https://github.com/JuliaPackaging/JLLWrappers.jl/pull/27 |
477 | ;; will be merged. |
478 | (substitute* "src/wrapper_generators.jl" |
479 | (("generate_wrapper_header.*") |
480 | "generate_wrapper_header(src_name, override_path = nothing)\n") |
481 | (("pkg_dir = .*" all) |
482 | (string-append |
483 | all "\n" "override = something(override_path," |
484 | "joinpath(dirname(pkg_dir), \"override\"))\n")) |
485 | (("@static if isdir.*") "@static if isdir($override)\n") |
486 | (("return joinpath.*") "return $override\n")) |
487 | #t))))) |
488 | (build-system julia-build-system) |
489 | (home-page "https://github.com/JuliaPackaging/JLLWrappers.jl") |
490 | (synopsis "Julia macros used by JLL packages") |
491 | (description "This package contains Julia macros that enable JLL packages |
492 | to generate themselves. It is not intended to be used by users, but rather is |
493 | used in autogenerated packages via @code{BinaryBuilder.jl}.") |
494 | (license license:expat))) |
495 | |
dae521a0 |
496 | (define-public julia-json |
497 | (package |
498 | (name "julia-json") |
499 | (version "0.21.1") |
500 | (source |
501 | (origin |
502 | (method git-fetch) |
503 | (uri (git-reference |
504 | (url "https://github.com/JuliaIO/JSON.jl") |
505 | (commit (string-append "v" version)))) |
506 | (file-name (git-file-name name version)) |
507 | (sha256 |
508 | (base32 "1f9k613kbknmp4fgjxvjaw4d5sfbx8a5hmcszmp1w9rqfqngjx9m")))) |
509 | (build-system julia-build-system) |
510 | (propagated-inputs |
511 | `(("julia-datastructures" ,julia-datastructures) |
512 | ("julia-fixedpointnumbers" ,julia-fixedpointnumbers) |
513 | ("julia-parsers" ,julia-parsers) |
514 | ("julia-offsetarrays" ,julia-offsetarrays))) |
515 | (home-page "https://github.com/JuliaIO/JSON.jl") |
516 | (synopsis "JSON parsing and printing library for Julia") |
517 | (description "@code{JSON.jl} is a pure Julia module which supports parsing |
518 | and printing JSON documents.") |
519 | (license license:expat))) |
520 | |
45debc7b |
521 | (define-public julia-macrotools |
522 | (package |
523 | (name "julia-macrotools") |
524 | (version "0.5.6") |
525 | (source |
526 | (origin |
527 | (method git-fetch) |
528 | (uri (git-reference |
529 | (url "https://github.com/FluxML/MacroTools.jl") |
530 | (commit (string-append "v" version)))) |
531 | (file-name (git-file-name name version)) |
532 | (sha256 |
533 | (base32 "0k4z2hyasd9cwxf4l61zk3w4ajs44k69wx6z1ghdn8f5p8xy217f")))) |
534 | (build-system julia-build-system) |
535 | (home-page "https://fluxml.ai/MacroTools.jl") |
536 | (synopsis "Tools for working with Julia code and expressions") |
537 | (description "This library provides tools for working with Julia code and |
538 | expressions. This includes a template-matching system and code-walking tools |
539 | that let you do deep transformations of code.") |
540 | (license license:expat))) |
541 | |
a72d3ca8 |
542 | (define-public julia-mbedtls |
543 | (package |
544 | (name "julia-mbedtls") |
545 | (version "1.0.3") |
546 | (source |
547 | (origin |
548 | (method git-fetch) |
549 | (uri (git-reference |
550 | (url "https://github.com/JuliaLang/MbedTLS.jl") |
551 | (commit (string-append "v" version)))) |
552 | (file-name (git-file-name name version)) |
553 | (sha256 |
554 | (base32 "0zjzf2r57l24n3k0gcqkvx3izwn5827iv9ak0lqix0aa5967wvfb")))) |
555 | (build-system julia-build-system) |
556 | (arguments |
557 | `(#:phases |
558 | (modify-phases %standard-phases |
559 | (add-before 'install 'disable-network-tests |
560 | ;; Tries to connect to httpbin.org |
561 | (lambda _ |
562 | (substitute* "test/runtests.jl" |
563 | (("testhost =") "return #")) |
564 | #t))))) |
565 | (propagated-inputs `(("julia-mbedtls-jll" ,julia-mbedtls-jll))) |
566 | (home-page "https://github.com/JuliaLang/MbedTLS.jl") |
567 | (synopsis "Apache's mbed TLS library wrapper") |
568 | (description "@code{MbedTLS.jl} provides a wrapper around the @code{mbed |
569 | TLS} and cryptography C libary for Julia.") |
570 | (license license:expat))) |
571 | |
3291e4ba |
572 | (define-public julia-mbedtls-jll |
573 | (package |
574 | (name "julia-mbedtls-jll") |
575 | ;; version 2.25.0+0 is not compatible with current mbedtls 2.23.0, |
576 | ;; upgrade this when mbedtls is updated in guix |
577 | (version "2.24.0+1") |
578 | (source |
579 | (origin |
580 | (method git-fetch) |
581 | (uri (git-reference |
582 | (url "https://github.com/JuliaBinaryWrappers/MbedTLS_jll.jl") |
583 | (commit (string-append "MbedTLS-v" version)))) |
584 | (file-name (git-file-name name version)) |
585 | (sha256 |
586 | (base32 "0kk9dlxdh7yms21npgrdfmjbj8q8ng6kdhrzw3jr2d7rp696kp99")))) |
587 | (build-system julia-build-system) |
588 | (arguments |
589 | '(#:tests? #f ; No runtests.jl |
590 | #:phases |
591 | (modify-phases %standard-phases |
592 | (add-after 'unpack 'override-binary-path |
593 | (lambda* (#:key inputs #:allow-other-keys) |
594 | (map |
595 | (lambda (wrapper) |
596 | (substitute* wrapper |
597 | (("generate_wrapper_header.*") |
598 | (string-append |
599 | "generate_wrapper_header(\"MbedTLS\", \"" |
600 | (assoc-ref inputs "mbedtls-apache") "\")\n")))) |
601 | ;; There's a Julia file for each platform, override them all |
602 | (find-files "src/wrappers/" "\\.jl$")) |
603 | #t))))) |
604 | (inputs `(("mbedtls-apache" ,mbedtls-apache))) |
605 | (propagated-inputs `(("julia-jllwrappers" ,julia-jllwrappers))) |
606 | (home-page "https://github.com/JuliaBinaryWrappers/MbedTLS_jll.jl") |
607 | (synopsis "Apache's mbed TLS binary wrappers") |
608 | (description "This Julia module provides @code{mbed TLS} libraries and |
609 | wrappers.") |
610 | (license license:expat))) |
611 | |
a5edd83d |
612 | (define-public julia-nanmath |
613 | (package |
614 | (name "julia-nanmath") |
615 | (version "0.3.5") |
616 | (source |
617 | (origin |
618 | (method git-fetch) |
619 | (uri (git-reference |
620 | (url "https://github.com/mlubin/NaNMath.jl") |
621 | (commit (string-append "v" version)))) |
622 | (file-name (git-file-name name version)) |
623 | (sha256 |
624 | (base32 "1hczhz00qj99w63vp627kwk02l2sr2qmzc2rkwwkdwvzy670p25q")))) |
625 | (build-system julia-build-system) |
626 | (home-page "https://github.com/mlubin/NaNMath.jl") |
627 | (synopsis "Implementations of basic math functions") |
628 | (description "Implementations of basic math functions which return |
629 | @code{NaN} instead of throwing a @code{DomainError}.") |
630 | (license license:expat))) |
631 | |
eccd448c |
632 | (define-public julia-orderedcollections |
633 | (package |
634 | (name "julia-orderedcollections") |
635 | (version "1.3.2") |
636 | (source |
637 | (origin |
638 | (method git-fetch) |
639 | (uri (git-reference |
640 | (url "https://github.com/JuliaCollections/OrderedCollections.jl") |
641 | (commit (string-append "v" version)))) |
642 | (file-name (git-file-name name version)) |
643 | (sha256 |
644 | (base32 "0sfip1ixghsz91q2s7d62rgzw3gppg42fg6bccxlplqa3hfmbycf")))) |
645 | (build-system julia-build-system) |
646 | (home-page "https://github.com/JuliaCollections/OrderedCollections.jl") |
647 | (synopsis "Associative containers that preserve insertion order") |
648 | (description "This package implements @code{OrderedDicts} and |
649 | @code{OrderedSets}, which are similar to containers in base Julia. However, |
650 | during iteration the @code{Ordered*} containers return items in the order in |
651 | which they were added to the collection.") |
652 | (license license:expat))) |
c0c21d77 |
653 | |
fb634a0e |
654 | (define-public julia-offsetarrays |
655 | (package |
656 | (name "julia-offsetarrays") |
657 | (version "1.5.2") |
658 | (source |
659 | (origin |
660 | (method git-fetch) |
661 | (uri (git-reference |
662 | (url "https://github.com/JuliaArrays/OffsetArrays.jl") |
663 | (commit (string-append "v" version)))) |
664 | (file-name (git-file-name name version)) |
665 | (sha256 |
666 | (base32 "1y3fnssw2hzyghrk6jfcxslab0f8sjkjszh482snfq4k6mkrhy77")))) |
667 | (build-system julia-build-system) |
668 | (propagated-inputs |
669 | `(("julia-adapt" ,julia-adapt))) |
670 | ;; CatIndices depends on OffsetArrays, introducing a recursive dependency |
671 | (arguments '(#:tests? #f)) |
672 | (home-page "https://juliaarrays.github.io/OffsetArrays.jl/stable/") |
673 | (synopsis "Fortran-like arrays with arbitrary, zero or negative indices") |
674 | (description "@code{OffsetArrays.jl} provides Julia users with arrays that |
675 | have arbitrary indices, similar to those found in some other programming |
676 | languages like Fortran.") |
677 | (license license:expat))) |
678 | |
c0c21d77 |
679 | (define-public julia-parsers |
680 | (package |
681 | (name "julia-parsers") |
682 | (version "1.0.15") |
683 | (source |
684 | (origin |
685 | (method git-fetch) |
686 | (uri (git-reference |
687 | (url "https://github.com/JuliaData/Parsers.jl") |
688 | (commit (string-append "v" version)))) |
689 | (file-name (git-file-name name version)) |
690 | (sha256 |
691 | (base32 "16iffl6l28kspgqch48mhi1s8qhspr3cpqcwsph3rqi72lbfqygx")))) |
692 | (build-system julia-build-system) |
693 | (home-page "https://github.com/JuliaData/Parsers.jl") |
694 | (synopsis "Fast parsing machinery for basic types in Julia") |
695 | (description "@code{Parsers.jl} is a collection of type parsers and |
696 | utilities for Julia.") |
697 | (license license:expat))) |
8f59a9fb |
698 | |
02543b52 |
699 | (define-public julia-reexport |
700 | (package |
701 | (name "julia-reexport") |
702 | (version "1.0.0") |
703 | (source |
704 | (origin |
705 | (method git-fetch) |
706 | (uri (git-reference |
707 | (url "https://github.com/simonster/Reexport.jl") |
708 | (commit version))) |
709 | (file-name (git-file-name name version)) |
710 | (sha256 |
711 | (base32 "1yhhja1zz6dy5f4fd19bdwd6jwgj7q4w3avzgyg1hjhmdl8jrh0s")))) |
712 | (build-system julia-build-system) |
713 | (home-page "https://github.com/simonster/Reexport.jl") |
714 | (synopsis "Re-export modules and symbols") |
715 | (description "This package provides tools to re-export modules and symbols.") |
716 | (license license:expat))) |
717 | |
658fca53 |
718 | (define-public julia-requires |
719 | (package |
720 | (name "julia-requires") |
721 | (version "1.1.3") |
722 | (source |
723 | (origin |
724 | (method git-fetch) |
725 | (uri (git-reference |
726 | (url "https://github.com/JuliaPackaging/Requires.jl/") |
727 | (commit (string-append "v" version)))) |
728 | (file-name (git-file-name name version)) |
729 | (sha256 |
730 | (base32 "03hyfy7c0ma45b0y756j76awi3az2ii4bz4s8cxm3xw9yy1z7b01")))) |
731 | (build-system julia-build-system) |
732 | (inputs ;required for test |
733 | `(("julia-example" ,julia-example))) |
734 | (propagated-inputs |
735 | `(("julia-colors" ,julia-colors))) |
736 | (home-page "https://github.com/JuliaPackaging/Requires.jl/") |
737 | (synopsis "Faster package loader") |
738 | (description "This package make loading packages faster, maybe. It |
739 | supports specifying glue code in packages which will load automatically when |
740 | another package is loaded, so that explicit dependencies (and long load times) |
741 | can be avoided.") |
742 | (license license:expat))) |
743 | |
dd7a77c3 |
744 | (define-public julia-richardson |
745 | (package |
746 | (name "julia-richardson") |
747 | (version "1.4.0") |
748 | (source |
749 | (origin |
750 | (method git-fetch) |
751 | (uri (git-reference |
752 | (url "https://github.com/JuliaMath/Richardson.jl") |
753 | (commit (string-append "v" version)))) |
754 | (file-name (git-file-name name version)) |
755 | (sha256 |
756 | (base32 "06v9ii3d7hh41fsrfklaa8ap55z5s017f888mrd1c18y4fx9i4nx")))) |
757 | (build-system julia-build-system) |
758 | (home-page "https://juliapackages.com/p/richardson") |
759 | (synopsis "Extrapolate function using Richardson method") |
760 | (description "This package provides a function extrapolate that |
761 | extrapolates a given function @code{f(x)} to @code{f(x0)}, evaluating @code{f} |
762 | only at a geometric sequence of points @code{> x0} (or optionally @code{< |
763 | x0}). The key algorithm is Richardson extrapolation using a Neville–Aitken |
764 | tableau, which adaptively increases the degree of an extrapolation polynomial |
765 | until convergence is achieved to a desired tolerance (or convergence stalls |
766 | due to e.g. floating-point errors). This allows one to obtain @code{f(x0)} to |
767 | high-order accuracy, assuming that @code{f(x0+h)} has a Taylor series or some |
768 | other power series in @code{h}.") |
769 | (license license:expat))) |
770 | |
be802277 |
771 | (define-public julia-staticarrays |
772 | (package |
773 | (name "julia-staticarrays") |
774 | (version "1.0.1") |
775 | (source |
776 | (origin |
777 | (method git-fetch) |
778 | (uri (git-reference |
779 | (url "https://github.com/JuliaArrays/StaticArrays.jl") |
780 | (commit (string-append "v" version)))) |
781 | (file-name (git-file-name name version)) |
782 | (sha256 |
783 | (base32 "01z8bcqwpfkp8p1h1r36pr5cc3798y76zkas7g3206pcsdhvlkz1")))) |
784 | (build-system julia-build-system) |
785 | (inputs |
786 | `(("julia-benchmarktools" ,julia-benchmarktools))) |
787 | (home-page "https://github.com/JuliaArrays/StaticArrays.jl") |
788 | (synopsis "Statically sized arrays") |
789 | (description "This package provides a framework for implementing |
790 | statically sized arrays in Julia, using the abstract type |
791 | @code{StaticArray{Size,T,N} <: AbstractArray{T,N}}. Subtypes of |
792 | @code{StaticArray} will provide fast implementations of common array and |
793 | linear algebra operations.") |
794 | (license license:expat))) |
795 | |
8f59a9fb |
796 | (define-public julia-uris |
797 | (package |
798 | (name "julia-uris") |
799 | (version "1.2.0") |
800 | (source |
801 | (origin |
802 | (method git-fetch) |
803 | (uri (git-reference |
804 | (url "https://github.com/JuliaWeb/URIs.jl") |
805 | (commit (string-append "v" version)))) |
806 | (file-name (git-file-name name version)) |
807 | (sha256 |
808 | (base32 "0fqyagsqks5za7m0czafr34m2xh5501f689k9cn5x3npajdnh2r3")))) |
809 | (build-system julia-build-system) |
810 | (arguments |
811 | '(#:julia-package-name "URIs" ;required to run tests |
812 | #:phases |
813 | (modify-phases %standard-phases |
814 | (add-before 'check 'change-dir |
815 | ;; Tests must be run from the testdir |
816 | (lambda* (#:key source outputs #:allow-other-keys) |
817 | (let ((out (assoc-ref outputs "out"))) |
818 | (chdir |
819 | (string-append out "/share/julia/packages/URIs/test"))) |
820 | #t))))) |
821 | ;; required for tests |
822 | (inputs `(("julia-json" ,julia-json))) |
823 | (home-page "https://github.com/JuliaWeb/URIs.jl") |
824 | (synopsis "URI parsing in Julia") |
825 | (description "@code{URIs.jl} is a Julia package that allows parsing and |
826 | working with @acronym{URIs,Uniform Resource Identifiers}, as defined in RFC |
827 | 3986.") |
828 | (license license:expat))) |
a8e3be6a |
829 | |
830 | (define-public julia-unitful |
831 | (package |
832 | (name "julia-unitful") |
833 | (version "1.6.0") |
834 | (source |
835 | (origin |
836 | (method git-fetch) |
837 | (uri (git-reference |
838 | (url "https://github.com/PainterQubits/Unitful.jl") |
839 | (commit (string-append "v" version)))) |
840 | (file-name (git-file-name name version)) |
841 | (sha256 |
842 | (base32 "0g5bhlvay9yk11c5dqwbzmb3q7lzj0cq5zchyk39d59fkvvmxvq3")))) |
843 | (build-system julia-build-system) |
844 | (propagated-inputs |
845 | `(("julia-constructionbase" ,julia-constructionbase))) |
846 | (home-page "https://painterqubits.github.io/Unitful.jl/stable/") |
847 | (synopsis "Physical units in Julia") |
848 | (description "This package supports SI units and also many other unit |
849 | system.") |
850 | (license license:expat))) |