a1315b7f |
1 | ;;; GNU Guix --- Functional package management for GNU |
f7a98af0 |
2 | ;;; Copyright © 2020, 2021 Nicolò Balzarotti <nicolo@nixo.xyz> |
a1315b7f |
3 | ;;; |
4 | ;;; This file is part of GNU Guix. |
5 | ;;; |
6 | ;;; GNU Guix is free software; you can redistribute it and/or modify it |
7 | ;;; under the terms of the GNU General Public License as published by |
8 | ;;; the Free Software Foundation; either version 3 of the License, or (at |
9 | ;;; your option) any later version. |
10 | ;;; |
11 | ;;; GNU Guix is distributed in the hope that it will be useful, but |
12 | ;;; WITHOUT ANY WARRANTY; without even the implied warranty of |
13 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
14 | ;;; GNU General Public License for more details. |
15 | ;;; |
16 | ;;; You should have received a copy of the GNU General Public License |
17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
18 | |
19 | (define-module (gnu packages julia-xyz) |
20 | #:use-module ((guix licenses) #:prefix license:) |
21 | #:use-module (guix packages) |
22 | #:use-module (guix git-download) |
23 | #:use-module (guix build-system julia)) |
24 | |
20767b9b |
25 | (define-public julia-adapt |
26 | (package |
27 | (name "julia-adapt") |
28 | (version "3.1.1") |
29 | (source |
30 | (origin |
31 | (method git-fetch) |
32 | (uri (git-reference |
33 | (url "https://github.com/JuliaGPU/Adapt.jl") |
34 | (commit (string-append "v" version)))) |
35 | (file-name "Adapt") |
36 | (sha256 |
37 | (base32 "1lks6k3a1gvwlplld47nh6xfy3nnlpc0vhkzg6zg0qn33qdmavrg")))) |
38 | (build-system julia-build-system) |
39 | (home-page "https://github.com/JuliaGPU/Adapt.jl") |
40 | (synopsis "Package providing the @code{adapt} function, similar to @code{convert}") |
41 | (description "This Julia package provides the @code{adapt(T, x)} function |
42 | acts like @code{convert(T, x)}, but without the restriction of returning a |
43 | @code{T}. This allows you to \"convert\" wrapper types like @code{Adjoint} to |
44 | be GPU compatible without throwing away the wrapper.") |
45 | (license license:expat))) |
46 | |
a1315b7f |
47 | (define-public julia-compat |
48 | (package |
49 | (name "julia-compat") |
f7a98af0 |
50 | (version "3.25.0") |
a1315b7f |
51 | (source |
52 | (origin |
53 | (method git-fetch) |
54 | (uri (git-reference |
55 | (url "https://github.com/JuliaLang/Compat.jl") |
56 | (commit (string-append "v" version)))) |
54721e7e |
57 | (file-name (git-file-name name version)) |
a1315b7f |
58 | (sha256 |
f7a98af0 |
59 | (base32 "1m4r5i8mq29xjp3mllh6047n5a78sdyld57m15anrnsjgaapcgby")))) |
a1315b7f |
60 | (build-system julia-build-system) |
61 | (home-page "https://github.com/JuliaLang/Compat.jl") |
62 | (synopsis "Compatibility across Julia versions") |
63 | (description "The Compat package is designed to ease interoperability |
64 | between older and newer versions of the Julia language. The Compat package |
65 | provides a macro that lets you use the latest syntax in a backwards-compatible |
66 | way.") |
67 | (license license:expat))) |
eccd448c |
68 | |
6545cef5 |
69 | (define-public julia-datastructures |
70 | (package |
71 | (name "julia-datastructures") |
72 | (version "0.18.9") |
73 | (source |
74 | (origin |
75 | (method git-fetch) |
76 | (uri (git-reference |
77 | (url "https://github.com/JuliaCollections/DataStructures.jl") |
78 | (commit (string-append "v" version)))) |
79 | (file-name (git-file-name name version)) |
80 | (sha256 |
81 | (base32 "0hdqp8ipsqdw5bqqkdvz4j6n67x80sj5azr9vzyxwjfsgkfbnk2l")))) |
82 | (propagated-inputs |
83 | `(("julia-compat" ,julia-compat) |
84 | ("julia-orderedcollections" ,julia-orderedcollections))) |
85 | (build-system julia-build-system) |
86 | (home-page "https://github.com/JuliaCollections/DataStructures.jl") |
87 | (synopsis "Julia module providing different data structures") |
88 | (description "This package implements a variety of data structures, |
89 | including, @code{CircularBuffer}, @code{Queue}, @code{Stack}, |
90 | @code{Accumulators}, @code{LinkedLists}, @code{SortedDicts} and many others.") |
91 | (license license:expat))) |
92 | |
50f99cc5 |
93 | (define-public julia-fixedpointnumbers |
94 | (package |
95 | (name "julia-fixedpointnumbers") |
96 | (version "0.8.4") |
97 | (source |
98 | (origin |
99 | (method git-fetch) |
100 | (uri (git-reference |
101 | (url "https://github.com/JuliaMath/FixedPointNumbers.jl") |
102 | (commit (string-append "v" version)))) |
103 | (file-name (git-file-name name version)) |
104 | (sha256 |
105 | (base32 "0j0n40n04q9sk68wh9jq90m6c67k4ws02k41djjzkrqmpzv4rcdi")))) |
106 | (build-system julia-build-system) |
107 | (arguments |
108 | `(#:phases |
109 | (modify-phases %standard-phases |
110 | (add-after 'unpack 'disable-failing-test |
111 | (lambda* (#:key outputs #:allow-other-keys) |
112 | (substitute* "test/fixed.jl" |
113 | ;; A deprecation warning is not thrown |
114 | (("@test_logs.*:warn" all) (string-append "# " all))) |
115 | #t))))) |
116 | (propagated-inputs `(("julia-compat" ,julia-compat))) |
117 | (home-page "https://github.com/JuliaMath/FixedPointNumbers.jl") |
118 | (synopsis "Fixed point types for Julia") |
119 | (description "@code{FixedPointNumbers.jl} implements fixed-point number |
120 | types for Julia. A fixed-point number represents a fractional, or |
121 | non-integral, number. In contrast with the more widely known floating-point |
122 | numbers, with fixed-point numbers the decimal point doesn't \"float\": |
123 | fixed-point numbers are effectively integers that are interpreted as being |
124 | scaled by a constant factor. Consequently, they have a fixed number of |
125 | digits (bits) after the decimal (radix) point.") |
126 | (license license:expat))) |
127 | |
eccd448c |
128 | (define-public julia-orderedcollections |
129 | (package |
130 | (name "julia-orderedcollections") |
131 | (version "1.3.2") |
132 | (source |
133 | (origin |
134 | (method git-fetch) |
135 | (uri (git-reference |
136 | (url "https://github.com/JuliaCollections/OrderedCollections.jl") |
137 | (commit (string-append "v" version)))) |
138 | (file-name (git-file-name name version)) |
139 | (sha256 |
140 | (base32 "0sfip1ixghsz91q2s7d62rgzw3gppg42fg6bccxlplqa3hfmbycf")))) |
141 | (build-system julia-build-system) |
142 | (home-page "https://github.com/JuliaCollections/OrderedCollections.jl") |
143 | (synopsis "Associative containers that preserve insertion order") |
144 | (description "This package implements @code{OrderedDicts} and |
145 | @code{OrderedSets}, which are similar to containers in base Julia. However, |
146 | during iteration the @code{Ordered*} containers return items in the order in |
147 | which they were added to the collection.") |
148 | (license license:expat))) |
c0c21d77 |
149 | |
fb634a0e |
150 | (define-public julia-offsetarrays |
151 | (package |
152 | (name "julia-offsetarrays") |
153 | (version "1.5.2") |
154 | (source |
155 | (origin |
156 | (method git-fetch) |
157 | (uri (git-reference |
158 | (url "https://github.com/JuliaArrays/OffsetArrays.jl") |
159 | (commit (string-append "v" version)))) |
160 | (file-name (git-file-name name version)) |
161 | (sha256 |
162 | (base32 "1y3fnssw2hzyghrk6jfcxslab0f8sjkjszh482snfq4k6mkrhy77")))) |
163 | (build-system julia-build-system) |
164 | (propagated-inputs |
165 | `(("julia-adapt" ,julia-adapt))) |
166 | ;; CatIndices depends on OffsetArrays, introducing a recursive dependency |
167 | (arguments '(#:tests? #f)) |
168 | (home-page "https://juliaarrays.github.io/OffsetArrays.jl/stable/") |
169 | (synopsis "Fortran-like arrays with arbitrary, zero or negative indices") |
170 | (description "@code{OffsetArrays.jl} provides Julia users with arrays that |
171 | have arbitrary indices, similar to those found in some other programming |
172 | languages like Fortran.") |
173 | (license license:expat))) |
174 | |
c0c21d77 |
175 | (define-public julia-parsers |
176 | (package |
177 | (name "julia-parsers") |
178 | (version "1.0.15") |
179 | (source |
180 | (origin |
181 | (method git-fetch) |
182 | (uri (git-reference |
183 | (url "https://github.com/JuliaData/Parsers.jl") |
184 | (commit (string-append "v" version)))) |
185 | (file-name (git-file-name name version)) |
186 | (sha256 |
187 | (base32 "16iffl6l28kspgqch48mhi1s8qhspr3cpqcwsph3rqi72lbfqygx")))) |
188 | (build-system julia-build-system) |
189 | (home-page "https://github.com/JuliaData/Parsers.jl") |
190 | (synopsis "Fast parsing machinery for basic types in Julia") |
191 | (description "@code{Parsers.jl} is a collection of type parsers and |
192 | utilities for Julia.") |
193 | (license license:expat))) |