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