gnu: Add rust-tempdir.
[jackhill/guix/guix.git] / gnu / packages / crates-io.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2019 Ivan Petkov <ivanppetkov@gmail.com>
3 ;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
4 ;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
5 ;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
6 ;;;
7 ;;; This file is part of GNU Guix.
8 ;;;
9 ;;; GNU Guix is free software; you can redistribute it and/or modify it
10 ;;; under the terms of the GNU General Public License as published by
11 ;;; the Free Software Foundation; either version 3 of the License, or (at
12 ;;; your option) any later version.
13 ;;;
14 ;;; GNU Guix is distributed in the hope that it will be useful, but
15 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
16 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 ;;; GNU General Public License for more details.
18 ;;;
19 ;;; You should have received a copy of the GNU General Public License
20 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
21
22 (define-module (gnu packages crates-io)
23 #:use-module (guix build-system cargo)
24 #:use-module (guix download)
25 #:use-module ((guix licenses) #:prefix license:)
26 #:use-module (guix packages)
27 #:use-module (gnu packages pkg-config))
28
29 ;;;
30 ;;; Please: Try to add new module packages in alphabetic order.
31 ;;;
32
33 (define-public rust-antidote
34 (package
35 (name "rust-antidote")
36 (version "1.0.0")
37 (source
38 (origin
39 (method url-fetch)
40 (uri (crate-uri "antidote" version))
41 (file-name (string-append name "-" version ".tar.gz"))
42 (sha256
43 (base32
44 "19g2sw2qa2ibnh4x7j1snk46593jgx6y7rnvva496ynq61af5z9l"))))
45 (build-system cargo-build-system)
46 (home-page "https://github.com/sfackler/rust-antidote")
47 (synopsis "Poison-free Mutex and RwLock types")
48 (description
49 "These types expose identical APIs to the standard library @code{Mutex} and
50 @code{RwLock} except that they do not return @code{PoisonError}s.")
51 (license (list license:asl2.0
52 license:expat))))
53
54 (define-public rust-atty
55 (package
56 (name "rust-atty")
57 (version "0.2.13")
58 (source
59 (origin
60 (method url-fetch)
61 (uri (crate-uri "atty" version))
62 (file-name (string-append name "-" version ".tar.gz"))
63 (sha256
64 (base32
65 "140sswp1bwqwc4zk80bxkbnfb3g936hgrb77g9g0k1zcld3wc0qq"))))
66 (build-system cargo-build-system)
67 (arguments
68 `(#:cargo-inputs
69 (("rust-libc" ,rust-libc)
70 ("rust-winapi" ,rust-winapi))
71 #:tests? #f)) ; tests fail in our sandbox
72 (home-page "https://github.com/softprops/atty")
73 (synopsis "A simple interface for querying atty")
74 (description
75 "This package provides a simple interface for querying atty.")
76 (license license:expat)))
77
78 (define-public rust-autocfg
79 (package
80 (name "rust-autocfg")
81 (version "0.1.5")
82 (source
83 (origin
84 (method url-fetch)
85 (uri (crate-uri "autocfg" version))
86 (file-name (string-append name "-" version ".tar.gz"))
87 (sha256
88 (base32
89 "0asl6fnc35yk5l2rxwhp25v128jgm45dp754h9z8x51b6n90w4r2"))))
90 (build-system cargo-build-system)
91 (home-page "https://github.com/cuviper/autocfg")
92 (synopsis "Automatic cfg for Rust compiler features")
93 (description "Rust library for build scripts to automatically configure
94 code based on compiler support. Code snippets are dynamically tested to see
95 if the @code{rustc} will accept them, rather than hard-coding specific version
96 support.")
97 (license (list license:asl2.0
98 license:expat))))
99
100 (define-public rust-bencher
101 (package
102 (name "rust-bencher")
103 (version "0.1.5")
104 (source
105 (origin
106 (method url-fetch)
107 (uri (crate-uri "bencher" version))
108 (file-name (string-append name "-" version ".tar.gz"))
109 (sha256
110 (base32
111 "1x8p2xblgqssay8cdykp5pkfc0np0jk5bs5cx4f5av097aav9zbx"))))
112 (build-system cargo-build-system)
113 (home-page "https://github.com/bluss/bencher/")
114 (synopsis "Port of the libtest benchmark runner to Rust stable")
115 (description "This package provides a port of the libtest (unstable Rust)
116 benchmark runner to Rust stable releases. Supports running benchmarks and
117 filtering based on the name. Benchmark execution works exactly the same way
118 and no more (caveat: black_box is still missing!).")
119 (license (list license:asl2.0
120 license:expat))))
121
122 (define-public rust-bitflags
123 (package
124 (name "rust-bitflags")
125 (version "1.1.0")
126 (source
127 (origin
128 (method url-fetch)
129 (uri (crate-uri "bitflags" version))
130 (file-name (string-append name "-" version ".tar.gz"))
131 (sha256
132 (base32
133 "1zc1qb1hwsnl2d8rhzicsv9kqd5b2hwbrscrcfw5as4sfr35659x"))))
134 (build-system cargo-build-system)
135 (home-page "https://github.com/bitflags/bitflags")
136 (synopsis "Macro to generate structures which behave like bitflags")
137 (description "This package provides a macro to generate structures which
138 behave like a set of bitflags.")
139 (license (list license:asl2.0
140 license:expat))))
141
142 (define-public rust-blas-sys
143 (package
144 (name "rust-blas-sys")
145 (version "0.7.1")
146 (source
147 (origin
148 (method url-fetch)
149 (uri (crate-uri "blas-sys" version))
150 (file-name (string-append name "-" version ".tar.gz"))
151 (sha256
152 (base32
153 "0h14zjycwc76v15h8qll9z1xiryvmpvsb5gam97pqpdjrrwv5c8k"))))
154 (build-system cargo-build-system)
155 (arguments
156 `(#:cargo-inputs (("rust-libc" ,rust-libc))))
157 (home-page "https://github.com/blas-lapack-rs/blas-sys")
158 (synopsis "Bindings to BLAS (Fortran)")
159 (description
160 "Ths package provides bindings to BLAS (Fortran).")
161 (license (list license:asl2.0
162 license:expat))))
163
164 (define-public rust-cblas-sys
165 (package
166 (name "rust-cblas-sys")
167 (version "0.1.4")
168 (source
169 (origin
170 (method url-fetch)
171 (uri (crate-uri "cblas-sys" version))
172 (file-name (string-append name "-" version ".tar.gz"))
173 (sha256
174 (base32
175 "0rgsn3klhhh09d8qf3b87zl4rwk93l2g0qzh9hhb0lff5kcfrzmn"))))
176 (build-system cargo-build-system)
177 (arguments
178 `(#:cargo-inputs (("rust-libc" ,rust-libc))))
179 (home-page "https://github.com/blas-lapack-rs/cblas-sys")
180 (synopsis "Bindings to CBLAS (C)")
181 (description
182 "The package provides bindings to CBLAS (C).")
183 (license (list license:asl2.0
184 license:expat))))
185
186 (define-public rust-cfg-if
187 (package
188 (name "rust-cfg-if")
189 (version "0.1.9")
190 (source
191 (origin
192 (method url-fetch)
193 (uri (crate-uri "cfg-if" version))
194 (file-name (string-append name "-" version ".tar.gz"))
195 (sha256
196 (base32
197 "0csygklgz3ybpr0670rkip49zh76m43ar3k7xgypkzbzrwycx1ml"))))
198 (build-system cargo-build-system)
199 (home-page "https://github.com/alexcrichton/cfg-if")
200 (synopsis "Define an item depending on parameters")
201 (description "This package provides a macro to ergonomically define an item
202 depending on a large number of #[cfg] parameters. Structured like an
203 @code{if-else} chain, the first matching branch is the item that gets emitted.")
204 (license (list license:asl2.0
205 license:expat))))
206
207 (define-public rust-clicolors-control
208 (package
209 (name "rust-clicolors-control")
210 (version "1.0.0")
211 (source
212 (origin
213 (method url-fetch)
214 (uri (crate-uri "clicolors-control" version))
215 (file-name (string-append name "-" version ".tar.gz"))
216 (sha256
217 (base32
218 "1y80cgarxhrd1bz5yjm81r444v6flvy36aaxrrsac0yhfd6gvavk"))))
219 (build-system cargo-build-system)
220 (arguments
221 `(#:cargo-inputs
222 (("rust-atty" ,rust-atty)
223 ("rust-lazy-static" ,rust-lazy-static)
224 ("rust-libc" ,rust-libc)
225 ("rust-winapi" ,rust-winapi))))
226 (home-page "https://github.com/mitsuhiko/clicolors-control")
227 (synopsis "Common utility library to control CLI colorization")
228 (description
229 "This package provides a common utility library to control CLI
230 colorization.")
231 (license license:expat)))
232
233 (define-public rust-cloudabi
234 (package
235 (name "rust-cloudabi")
236 (version "0.0.3")
237 (source
238 (origin
239 (method url-fetch)
240 (uri (crate-uri "cloudabi" version))
241 (file-name (string-append name "-" version ".tar.gz"))
242 (sha256
243 (base32
244 "0kxcg83jlihy0phnd2g8c2c303px3l2p3pkjz357ll6llnd5pz6x"))))
245 (build-system cargo-build-system)
246 (arguments
247 `(#:cargo-inputs
248 (("rust-bitflags" ,rust-bitflags))))
249 (home-page "https://nuxi.nl/cloudabi/")
250 (synopsis "Low level interface to CloudABI")
251 (description
252 "Low level interface to CloudABI. Contains all syscalls and related types.")
253 (license license:bsd-2)))
254
255 (define-public rust-constant-time-eq
256 (package
257 (name "rust-constant-time-eq")
258 (version "0.1.4")
259 (source
260 (origin
261 (method url-fetch)
262 (uri (crate-uri "constant_time_eq" version))
263 (file-name (string-append name "-" version ".tar.gz"))
264 (sha256
265 (base32
266 "083icpr9xb72rrdxw3p4068dcspn6ai22jy7rhl2a8grfz448nlr"))))
267 (build-system cargo-build-system)
268 (home-page "https://crates.io/crates/constant_time_eq")
269 (synopsis
270 "Compares two equal-sized byte strings in constant time")
271 (description
272 "This package compares two equal-sized byte strings in constant time.
273 It is inspired by the Linux kernel's @code{crypto_memneq}.")
274 (license license:cc0)))
275
276 (define-public rust-core-foundation-sys
277 (package
278 (name "rust-core-foundation-sys")
279 (version "0.6.2")
280 (source
281 (origin
282 (method url-fetch)
283 (uri (crate-uri "core-foundation-sys" version))
284 (file-name (string-append name "-" version ".tar.gz"))
285 (sha256
286 (base32
287 "0fzsw1j9g1x598yhwklg59l15hwzc0pyvs01w9fg2kin4598mjp7"))))
288 (build-system cargo-build-system)
289 (home-page "https://github.com/servo/core-foundation-rs")
290 (synopsis "Bindings to Core Foundation for OS X")
291 (description
292 "Bindings to Core Foundation for OS X.")
293 (license (list license:asl2.0
294 license:expat))))
295
296 (define-public rust-data-encoding
297 (package
298 (name "rust-data-encoding")
299 (version "2.1.2")
300 (source
301 (origin
302 (method url-fetch)
303 (uri (crate-uri "data-encoding" version))
304 (file-name (string-append name "-" version ".tar.gz"))
305 (sha256
306 (base32
307 "15xd6afhsjl08285piwczrafmckpp8i29padj8v12xhahshprx7l"))))
308 (build-system cargo-build-system)
309 (home-page "https://github.com/ia0/data-encoding")
310 (synopsis "Efficient and customizable data-encoding functions")
311 (description
312 "This library provides encodings for many different common cases, including
313 hexadecimal, bas32, and base64.")
314 (license license:expat)))
315
316 (define-public rust-defmac
317 (package
318 (name "rust-defmac")
319 (version "0.2.0")
320 (source
321 (origin
322 (method url-fetch)
323 (uri (crate-uri "defmac" version))
324 (file-name (string-append name "-" version ".tar.gz"))
325 (sha256
326 (base32
327 "01ff3jdmcc5waffkwllndnx5hsn414r7x1rq4ib73n7awsyzxkxv"))))
328 (build-system cargo-build-system)
329 (home-page "https://github.com/bluss/defmac")
330 (synopsis "Macro to define lambda-like macros inline")
331 (description "A macro to define lambda-like macros inline.")
332 (license (list license:asl2.0
333 license:expat))))
334
335 (define-public rust-defmac-0.1
336 (package
337 (inherit rust-defmac)
338 (name "rust-defmac")
339 (version "0.1.3")
340 (source
341 (origin
342 (method url-fetch)
343 (uri (crate-uri "defmac" version))
344 (file-name (string-append name "-" version ".tar.gz"))
345 (sha256
346 (base32
347 "17giv0n0n1r64z0dahfvkjy3ys517jxyhs8sd9lmgvcljpjyryxa"))))))
348
349 (define-public rust-discard
350 (package
351 (name "rust-discard")
352 (version "1.0.4")
353 (source
354 (origin
355 (method url-fetch)
356 (uri (crate-uri "discard" version))
357 (file-name (string-append name "-" version ".tar.gz"))
358 (sha256
359 (base32
360 "1h67ni5bxvg95s91wgicily4ix7lcw7cq0a5gy9njrybaibhyb91"))))
361 (build-system cargo-build-system)
362 (home-page "https://github.com/Pauan/rust-discard")
363 (synopsis "Allow for intentionally leaking memory")
364 (description "There are situations where you need to intentionally leak some
365 memory but not other memory. This package provides a discard trait which allows
366 for intentionally leaking memory")
367 (license license:expat)))
368
369 (define-public rust-doc-comment
370 (package
371 (name "rust-doc-comment")
372 (version "0.3.1")
373 (source
374 (origin
375 (method url-fetch)
376 (uri (crate-uri "doc-comment" version))
377 (file-name (string-append name "-" version ".tar.gz"))
378 (sha256
379 (base32
380 "15rsqxgarfpb1yim9sbp9yfgj7p2dq6v51c6bq1a62paii9ylgcj"))))
381 (build-system cargo-build-system)
382 (home-page "https://github.com/GuillaumeGomez/doc-comment")
383 (synopsis "Macro to generate doc comments")
384 (description "This package provides a way to generate doc comments
385 from macros.")
386 (license license:expat)))
387
388 (define-public rust-dtoa
389 (package
390 (name "rust-dtoa")
391 (version "0.4.4")
392 (source
393 (origin
394 (method url-fetch)
395 (uri (crate-uri "dtoa" version))
396 (file-name (string-append name "-" version ".tar.gz"))
397 (sha256
398 (base32
399 "0phbm7i0dpn44gzi07683zxaicjap5064w62pidci4fhhciv8mza"))))
400 (build-system cargo-build-system)
401 (home-page "https://github.com/dtolnay/dtoa")
402 (synopsis "Fast functions for printing floating-point primitives")
403 (description "This crate provides fast functions for printing
404 floating-point primitives to an @code{io::Write}.")
405 (license (list license:asl2.0
406 license:expat))))
407
408 (define-public rust-fallible-iterator
409 (package
410 (name "rust-fallible-iterator")
411 (version "0.2.0")
412 (source
413 (origin
414 (method url-fetch)
415 (uri (crate-uri "fallible-iterator" version))
416 (file-name (string-append name "-" version ".tar.gz"))
417 (sha256
418 (base32
419 "1xq759lsr8gqss7hva42azn3whgrbrs2sd9xpn92c5ickxm1fhs4"))))
420 (build-system cargo-build-system)
421 (home-page "https://github.com/sfackler/rust-fallible-iterator")
422 (synopsis "Fallible iterator traits")
423 (description "If the @code{std} or @code{alloc} features are enabled, this
424 crate provides implementations for @code{Box}, @code{Vec}, @code{BTreeMap}, and
425 @code{BTreeSet}. If the @code{std} feature is enabled, this crate additionally
426 provides implementations for @code{HashMap} and @code{HashSet}.")
427 (license (list license:asl2.0
428 license:expat))))
429
430 (define-public rust-findshlibs
431 (package
432 (name "rust-findshlibs")
433 (version "0.5.0")
434 (source
435 (origin
436 (method url-fetch)
437 (uri (crate-uri "findshlibs" version))
438 (file-name (string-append name "-" version ".tar.gz"))
439 (sha256
440 (base32
441 "1n2vagn0q5yim32hxkwi1cjgp3yn1dm45p7z8nw6lapywihhs9mi"))))
442 (build-system cargo-build-system)
443 (arguments
444 `(#:cargo-inputs
445 (("rust-lazy-static" ,rust-lazy-static)
446 ("rust-libc" ,rust-libc))))
447 (home-page "https://github.com/gimli-rs/findshlibs")
448 (synopsis "Find the set of shared libraries loaded in the current process")
449 (description
450 "Find the set of shared libraries loaded in the current process with a
451 cross platform API.")
452 (license (list license:asl2.0
453 license:expat))))
454
455 (define-public rust-fixedbitset
456 (package
457 (name "rust-fixedbitset")
458 (version "0.1.9")
459 (source
460 (origin
461 (method url-fetch)
462 (uri (crate-uri "fixedbitset" version))
463 (file-name (string-append name "-" version ".tar.gz"))
464 (sha256
465 (base32
466 "0czam11mi80dbyhf4rd4lz0ihcf7vkfchrdcrn45wbs0h40dxm46"))))
467 (build-system cargo-build-system)
468 (home-page "https://github.com/bluss/fixedbitset")
469 (synopsis "FixedBitSet is a simple bitset collection")
470 (description "FixedBitSet is a simple bitset collection.")
471 (license (list license:asl2.0
472 license:expat))))
473
474 (define-public rust-fnv
475 (package
476 (name "rust-fnv")
477 (version "1.0.6")
478 (source
479 (origin
480 (method url-fetch)
481 (uri (crate-uri "fnv" version))
482 (file-name (string-append name "-" version ".tar.gz"))
483 (sha256
484 (base32
485 "1ww56bi1r5b8id3ns9j3qxbi7w5h005rzhiryy0zi9h97raqbb9g"))))
486 (build-system cargo-build-system)
487 (home-page "https://github.com/servo/rust-fnv")
488 (synopsis "implementation of the Fowler-Noll-Vo hash function")
489 (description "The @code{fnv} hash function is a custom @code{Hasher}
490 implementation that is more efficient for smaller hash keys.")
491 (license (list license:asl2.0
492 license:expat))))
493
494 (define-public rust-foreign-types-shared
495 (package
496 (name "rust-foreign-types-shared")
497 (version "0.2.0")
498 (source
499 (origin
500 (method url-fetch)
501 (uri (crate-uri "foreign-types-shared" version))
502 (file-name (string-append name "-" version ".tar.gz"))
503 (sha256
504 (base32
505 "0kanxlif1vp0ffh2r9l610jqbkmb3183yqykxq1z5w1vay2rn7y6"))))
506 (build-system cargo-build-system)
507 (home-page "https://github.com/sfackler/foreign-types")
508 (synopsis "An internal crate used by foreign-types")
509 (description
510 "An internal crate used by foreign-types.")
511 (license (list license:asl2.0
512 license:expat))))
513
514 (define-public rust-fs-extra
515 (package
516 (name "rust-fs-extra")
517 (version "1.1.0")
518 (source
519 (origin
520 (method url-fetch)
521 (uri (crate-uri "fs_extra" version))
522 (file-name (string-append name "-" version ".tar.gz"))
523 (sha256
524 (base32
525 "0x6675wdhsx277k1k1235jwcv38naf20d8kwrk948ds26hh4lajz"))))
526 (build-system cargo-build-system)
527 (home-page "https://github.com/webdesus/fs_extra")
528 (synopsis "Extra filesystem methods")
529 (description "Expanding opportunities standard library @code{std::fs} and
530 @code{std::io}. Recursively copy folders with recept information about
531 process and much more.")
532 (license license:expat)))
533
534 (define-public rust-fuchsia-cprng
535 (package
536 (name "rust-fuchsia-cprng")
537 (version "0.1.1")
538 (source
539 (origin
540 (method url-fetch)
541 (uri (crate-uri "fuchsia-cprng" version))
542 (file-name (string-append name "-" version ".tar.gz"))
543 (sha256
544 (base32
545 "1fnkqrbz7ixxzsb04bsz9p0zzazanma8znfdqjvh39n14vapfvx0"))))
546 (build-system cargo-build-system)
547 (arguments
548 `(#:tests? #f)) ; tests require zircon
549 (home-page "https://fuchsia.googlesource.com/fuchsia/+/master/garnet/public/rust/fuchsia-cprng")
550 (synopsis "Fuchsia cryptographically secure pseudorandom number generator")
551 (description "Rust crate for the Fuchsia cryptographically secure
552 pseudorandom number generator")
553 (license license:bsd-3)))
554
555 (define-public rust-fuchsia-zircon
556 (package
557 (name "rust-fuchsia-zircon")
558 (version "0.3.3")
559 (source
560 (origin
561 (method url-fetch)
562 (uri (crate-uri "fuchsia-zircon" version))
563 (file-name (string-append name "-" version ".tar.gz"))
564 (sha256
565 (base32
566 "10jxc5ks1x06gpd0xg51kcjrxr35nj6qhx2zlc5n7bmskv3675rf"))))
567 (build-system cargo-build-system)
568 (arguments
569 `(#:cargo-inputs
570 (("rust-bitflags" ,rust-bitflags)
571 ("rust-fuchsia-zircon-sys" ,rust-fuchsia-zircon-sys))
572 #:tests? #f)) ; tests require zircon
573 (home-page "https://fuchsia.googlesource.com/garnet/")
574 (synopsis "Rust bindings for the Zircon kernel")
575 (description "Rust bindings for the Zircon kernel.")
576 (license license:bsd-3)))
577
578 (define-public rust-fuchsia-zircon-sys
579 (package
580 (name "rust-fuchsia-zircon-sys")
581 (version "0.3.3")
582 (source
583 (origin
584 (method url-fetch)
585 (uri (crate-uri "fuchsia-zircon-sys" version))
586 (file-name (string-append name "-" version ".tar.gz"))
587 (sha256
588 (base32
589 "19zp2085qsyq2bh1gvcxq1lb8w6v6jj9kbdkhpdjrl95fypakjix"))))
590 (build-system cargo-build-system)
591 (arguments
592 `(#:tests? #f)) ; tests require zircon
593 (home-page "https://fuchsia.googlesource.com/garnet/")
594 (synopsis "Low-level Rust bindings for the Zircon kernel")
595 (description "Low-level Rust bindings for the Zircon kernel.")
596 (license license:bsd-3)))
597
598 (define-public rust-futures
599 (package
600 (name "rust-futures")
601 (version "0.1.28")
602 (source
603 (origin
604 (method url-fetch)
605 (uri (crate-uri "futures" version))
606 (file-name (string-append name "-" version ".tar.gz"))
607 (sha256
608 (base32
609 "0saq8ffjw1pwf1pzhw3kq1z7dfq6wpd8x93dnni6vbkc799kkp25"))))
610 (build-system cargo-build-system)
611 (home-page "https://github.com/rust-lang-nursery/futures-rs")
612 (synopsis "Implementation of zero-cost futures in Rust")
613 (description "An implementation of @code{futures} and @code{streams}
614 featuring zero allocations, composability, and iterator-like interfaces.")
615 (license (list license:asl2.0
616 license:expat))))
617
618 (define-public rust-futures-cpupool
619 (package
620 (name "rust-futures-cpupool")
621 (version "0.1.8")
622 (source
623 (origin
624 (method url-fetch)
625 (uri (crate-uri "futures-cpupool" version))
626 (file-name (string-append name "-" version ".tar.gz"))
627 (sha256
628 (base32
629 "1r32456gpblzfvnkf60545v8acqk7gh5zhyhi1jn669k9gicv45b"))))
630 (build-system cargo-build-system)
631 (arguments
632 `(#:cargo-inputs
633 (("rust-futures" ,rust-futures)
634 ("rust-num-cpus" ,rust-num-cpus))))
635 (home-page "https://github.com/alexcrichton/futures-rs")
636 (synopsis "Implementation of thread pools which hand out futures")
637 (description
638 "An implementation of thread pools which hand out futures to the results of
639 the computation on the threads themselves.")
640 (license (list license:asl2.0
641 license:expat))))
642
643 (define-public rust-futures-io-preview
644 (package
645 (name "rust-futures-io-preview")
646 (version "0.3.0-alpha.17")
647 (source
648 (origin
649 (method url-fetch)
650 (uri (crate-uri "futures-io-preview" version))
651 (file-name (string-append name "-" version ".tar.gz"))
652 (sha256
653 (base32
654 "0fhvwhdb8ywjjbfng0ra1r8yyc9yzpyxg9sv3spb3f7w0lk40bh8"))))
655 (build-system cargo-build-system)
656 (home-page "https://rust-lang-nursery.github.io/futures-rs/")
657 (synopsis "Async read and write traits for the futures library")
658 (description "This crate provides the @code{AsyncRead} and
659 @code{AsyncWrite} traits for the @code{futures-rs} library.")
660 (license (list license:asl2.0
661 license:expat))))
662
663 (define-public rust-heapsize
664 (package
665 (name "rust-heapsize")
666 (version "0.4.2")
667 (source
668 (origin
669 (method url-fetch)
670 (uri (crate-uri "heapsize" version))
671 (file-name (string-append name "-" version ".tar.gz"))
672 (sha256
673 (base32
674 "0q94q9ppqjgrw71swiyia4hgby2cz6dldp7ij57nkvhd6zmfcy8n"))))
675 (build-system cargo-build-system)
676 (arguments
677 `(#:cargo-inputs (("rust-winapi" ,rust-winapi))
678 ;; Tests assume rust is built with jemalloc.
679 ;; https://github.com/servo/heapsize/issues/74
680 #:cargo-test-flags '("--features" "flexible-tests")))
681 (home-page "https://github.com/servo/heapsize")
682 (synopsis "Measure the total runtime size of an object on the heap")
683 (description
684 "Infrastructure for measuring the total runtime size of an object on the
685 heap.")
686 (license (list license:asl2.0
687 license:expat))))
688
689 (define-public rust-heapsize-0.3
690 (package
691 (inherit rust-heapsize)
692 (name "rust-heapsize")
693 (version "0.3.9")
694 (source
695 (origin
696 (method url-fetch)
697 (uri (crate-uri "heapsize" version))
698 (file-name (string-append name "-" version ".tar.gz"))
699 (sha256
700 (base32
701 "0dmwc37vgsdjzk10443dj4f23439i9gch28jcwzmry3chrwx8v2m"))))
702 (arguments
703 `(#:cargo-inputs (("rust-kernel32-sys" ,rust-kernel32-sys))
704 #:tests? #f)))) ;; No flexible-tests feature flags on this release.
705
706 ;; This package makes use of removed features
707 (define-public rust-heapsize-plugin
708 (package
709 (name "rust-heapsize-plugin")
710 (version "0.1.6")
711 (source
712 (origin
713 (method url-fetch)
714 (uri (crate-uri "heapsize_plugin" version))
715 (file-name (string-append name "-" version ".tar.gz"))
716 (sha256
717 (base32
718 "1i72isf699q9jl167g2kg4xd6h3cd05rc79zaph58aqjy0g0m9y9"))))
719 (build-system cargo-build-system)
720 (arguments
721 `(#:cargo-development-inputs (("rust-heapsize" ,rust-heapsize-0.3))
722 #:phases
723 (modify-phases %standard-phases
724 (add-after 'unpack 'fix-Cargo-toml
725 (lambda _
726 (substitute* "Cargo.toml"
727 (("path = \"..\", ") ""))
728 #t)))))
729 (home-page "https://github.com/servo/heapsize")
730 (synopsis "Measure runtime size of an object on the heap")
731 (description
732 "This package automatically generates infrastructure for measuring the
733 total runtime size of an object on the heap")
734 (properties `((hidden? . #t)))
735 (license license:mpl2.0)))
736
737 (define-public rust-hex
738 (package
739 (name "rust-hex")
740 (version "0.3.2")
741 (source
742 (origin
743 (method url-fetch)
744 (uri (crate-uri "hex" version))
745 (file-name (string-append name "-" version ".tar.gz"))
746 (sha256
747 (base32
748 "0xsdcjiik5j750j67zk42qdnmm4ahirk3gmkmcqgq7qls2jjcl40"))))
749 (build-system cargo-build-system)
750 (home-page "https://github.com/KokaKiwi/rust-hex")
751 (synopsis "Encode and decode data to/from hexadecimals")
752 (description "This crate allows for encoding and decoding data into/from
753 hexadecimal representation.")
754 (license (list license:asl2.0
755 license:expat))))
756
757 (define-public rust-hostname
758 (package
759 (name "rust-hostname")
760 (version "0.1.5")
761 (source
762 (origin
763 (method url-fetch)
764 (uri (crate-uri "hostname" version))
765 (file-name (string-append name "-" version ".tar.gz"))
766 (sha256
767 (base32
768 "0kprf862qaa7lwdms6aw7f3275h0j2rwhs9nz5784pm8hdmb9ki1"))))
769 (build-system cargo-build-system)
770 (arguments
771 `(#:cargo-inputs
772 (("rust-libc" ,rust-libc)
773 ("rust-winutil" ,rust-winutil))))
774 (home-page "https://github.com/fengcen/hostname")
775 (synopsis "Get hostname for Rust")
776 (description
777 "Get hostname for Rust.")
778 (license license:expat)))
779
780 (define-public rust-iovec
781 (package
782 (name "rust-iovec")
783 (version "0.1.2")
784 (source
785 (origin
786 (method url-fetch)
787 (uri (crate-uri "iovec" version))
788 (file-name (string-append name "-" version ".tar.gz"))
789 (sha256
790 (base32
791 "025vi072m22299z3fg73qid188z2iip7k41ba6v5v5yhwwby9rnv"))))
792 (build-system cargo-build-system)
793 (arguments
794 `(#:cargo-inputs
795 (("rust-libc" ,rust-libc)
796 ("rust-winapi" ,rust-winapi-0.2))))
797 (home-page "https://github.com/carllerche/iovec")
798 (synopsis "Portable buffer type for scatter/gather I/O operations")
799 (description
800 "Portable buffer type for scatter/gather I/O operations.")
801 (license (list license:asl2.0
802 license:expat))))
803
804 (define-public rust-itoa
805 (package
806 (name "rust-itoa")
807 (version "0.4.4")
808 (source
809 (origin
810 (method url-fetch)
811 (uri (crate-uri "itoa" version))
812 (file-name (string-append name "-" version ".tar.gz"))
813 (sha256
814 (base32
815 "0zvg2d9qv3avhf3d8ggglh6fdyw8kkwqg3r4622ly5yhxnvnc4jh"))))
816 (build-system cargo-build-system)
817 (home-page "https://github.com/dtolnay/itoa")
818 (synopsis "Fast functions for printing integer primitives")
819 (description "This crate provides fast functions for printing integer
820 primitives to an @code{io::Write}.")
821 (license (list license:asl2.0
822 license:expat))))
823
824 (define-public rust-json
825 (package
826 (name "rust-json")
827 (version "0.11.14")
828 (source
829 (origin
830 (method url-fetch)
831 (uri (crate-uri "json" version))
832 (file-name (string-append name "-" version ".tar.gz"))
833 (sha256
834 (base32
835 "1hj8c6xj5c2aqqszi8naaflmcdbya1i9byyjrq4iybxjb4q91mq1"))))
836 (build-system cargo-build-system)
837 (home-page "https://github.com/maciejhirsz/json-rust")
838 (synopsis "JSON implementation in Rust")
839 (description "This crate provides a JSON implementation in Rust, reducing
840 friction with idiomatic Rust structs to ease interopability.")
841 (license (list license:asl2.0
842 license:expat))))
843
844 (define-public rust-kernel32-sys
845 (package
846 (name "rust-kernel32-sys")
847 (version "0.2.2")
848 (source
849 (origin
850 (method url-fetch)
851 (uri (crate-uri "kernel32-sys" version))
852 (file-name (string-append name "-" version ".tar.gz"))
853 (sha256
854 (base32
855 "1389av0601a9yz8dvx5zha9vmkd6ik7ax0idpb032d28555n41vm"))))
856 (build-system cargo-build-system)
857 (arguments
858 `(#:cargo-inputs
859 (("rust-winapi" ,rust-winapi-0.2)
860 ("rust-winapi-build" ,rust-winapi-build))
861 #:phases
862 (modify-phases %standard-phases
863 (add-after 'unpack 'fix-Cargo-toml
864 (lambda _
865 (substitute* "Cargo.toml"
866 ((", path =.* }") "}\n"))
867 #t)))))
868 (home-page "https://github.com/retep998/winapi-rs")
869 (synopsis "Function definitions for the Windows API library kernel32")
870 (description "Contains function definitions for the Windows API library
871 kernel32.")
872 (license license:expat)))
873
874 (define-public rust-language-tags
875 (package
876 (name "rust-language-tags")
877 (version "0.2.2")
878 (source
879 (origin
880 (method url-fetch)
881 (uri (crate-uri "language-tags" version))
882 (file-name (string-append name "-" version ".tar.gz"))
883 (sha256
884 (base32
885 "16hrjdpa827carq5x4b8zhas24d8kg4s16m6nmmn1kb7cr5qh7d9"))))
886 (build-system cargo-build-system)
887 (arguments
888 `(#:cargo-inputs
889 (("rust-heapsize" ,rust-heapsize-0.3))
890 #:cargo-development-inputs
891 (("rust-heapsize-plugin" ,rust-heapsize-plugin))))
892 (home-page "https://github.com/pyfisch/rust-language-tags")
893 (synopsis "Language tags for Rust")
894 (description
895 "Language tags can be used identify human languages, scripts e.g. Latin
896 script, countries and other regions. They are commonly used in HTML and HTTP
897 @code{Content-Language} and @code{Accept-Language} header fields. This package
898 currently supports parsing (fully conformant parser), formatting and comparing
899 language tags.")
900 (license license:expat)))
901
902 (define-public rust-lazy-static
903 (package
904 (name "rust-lazy-static")
905 (version "1.3.0")
906 (source
907 (origin
908 (method url-fetch)
909 (uri (crate-uri "lazy_static" version))
910 (file-name (string-append name "-" version ".tar.gz"))
911 (sha256
912 (base32
913 "052ac27w189hrf1j3hz7sga46rp84zl2hqnzyihxv78mgzr2jmxw"))))
914 (build-system cargo-build-system)
915 (arguments
916 `(#:cargo-inputs (("rust-spin" ,rust-spin))))
917 (home-page "https://github.com/rust-lang-nursery/lazy-static.rs")
918 (synopsis "Macro for declaring lazily evaluated statics in Rust")
919 (description
920 "This package provides a macro for declaring lazily evaluated statics in
921 Rust. Using this macro, it is possible to have @code{static}s that require code
922 to be executed at runtime in order to be initialized. This includes anything
923 requiring heap allocations, like vectors or hash maps, as well as anything that
924 requires non-const function calls to be computed.")
925 (license (list license:asl2.0
926 license:expat))))
927
928 (define-public rust-libc
929 (package
930 (name "rust-libc")
931 (version "0.2.62")
932 (source
933 (origin
934 (method url-fetch)
935 (uri (crate-uri "libc" version))
936 (file-name
937 (string-append name "-" version ".tar.gz"))
938 (sha256
939 (base32
940 "1fh69kpjg8hqff36kdczx7sax98gk4qs4ws1dwvjz0rgip0d5z1l"))))
941 (build-system cargo-build-system)
942 (arguments
943 `(#:cargo-inputs
944 (("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core))))
945 (home-page "https://github.com/rust-lang/libc")
946 (synopsis "Raw FFI bindings to platform libraries like libc")
947 (description
948 "libc provides all of the definitions necessary to easily
949 interoperate with C code (or \"C-like\" code) on each of the platforms
950 that Rust supports. This includes type definitions (e.g., c_int),
951 constants (e.g., EINVAL) as well as function headers (e.g., malloc).
952
953 This crate exports all underlying platform types, functions, and
954 constants under the crate root, so all items are accessible as
955 @samp{libc::foo}. The types and values of all the exported APIs match
956 the platform that libc is compiled for.")
957 (license (list license:expat
958 license:asl2.0))))
959
960 (define-public rust-maplit
961 (package
962 (name "rust-maplit")
963 (version "1.0.1")
964 (source
965 (origin
966 (method url-fetch)
967 (uri (crate-uri "maplit" version))
968 (file-name (string-append name "-" version ".tar.gz"))
969 (sha256
970 (base32
971 "0hsczmvd6zkqgzqdjp5hfyg7f339n68w83n4pxvnsszrzssbdjq8"))))
972 (build-system cargo-build-system)
973 (home-page "https://github.com/bluss/maplit")
974 (synopsis "Collection of Map macros")
975 (description "This crate provides a collection of @code{literal} macros for
976 @code{HashMap}, @code{HashSet}, @code{BTreeMap}, and @code{BTreeSet.}")
977 (license (list license:asl2.0
978 license:expat))))
979
980 (define-public rust-matches
981 (package
982 (name "rust-matches")
983 (version "0.1.8")
984 (source
985 (origin
986 (method url-fetch)
987 (uri (crate-uri "matches" version))
988 (file-name (string-append name "-" version ".tar.gz"))
989 (sha256
990 (base32
991 "020axl4q7rk9vz90phs7f8jas4imxal9y9kxl4z4v7a6719mrz3z"))))
992 (build-system cargo-build-system)
993 (home-page "https://github.com/SimonSapin/rust-std-candidates")
994 (synopsis "Macro to evaluate whether an expression matches a pattern.")
995 (description "This package provides a macro to evaluate, as a boolean,
996 whether an expression matches a pattern.")
997 (license license:expat)))
998
999 (define-public rust-md5
1000 (package
1001 (name "rust-md5")
1002 (version "0.6.1")
1003 (source
1004 (origin
1005 (method url-fetch)
1006 (uri (crate-uri "md5" version))
1007 (file-name (string-append name "-" version ".tar.gz"))
1008 (sha256
1009 (base32
1010 "17b2xm4h4cvxsdjsf3kdrzqv2za60kak961xzi5kmw6g6djcssvy"))))
1011 (build-system cargo-build-system)
1012 (home-page "https://github.com/stainless-steel/md5")
1013 (synopsis "MD5 hash function in Rust")
1014 (description "The package provides the MD5 hash function.")
1015 (license (list license:asl2.0
1016 license:expat))))
1017
1018 (define-public rust-mime
1019 (package
1020 (name "rust-mime")
1021 (version "0.3.13")
1022 (source
1023 (origin
1024 (method url-fetch)
1025 (uri (crate-uri "mime" version))
1026 (file-name (string-append name "-" version ".tar.gz"))
1027 (sha256
1028 (base32
1029 "09clbyvdkwflp8anwjhqdib0sw8191gphcchdp80nc8ayhhwl9ry"))))
1030 (build-system cargo-build-system)
1031 (arguments
1032 `(#:cargo-inputs
1033 (("rust-unicase" ,rust-unicase))))
1034 (home-page "https://github.com/hyperium/mime")
1035 (synopsis "Strongly Typed Mimes")
1036 (description
1037 "Support MIME (HTTP Media Types) as strong types in Rust.")
1038 (license (list license:asl2.0
1039 license:expat))))
1040
1041 (define-public rust-modifier
1042 (package
1043 (name "rust-modifier")
1044 (version "0.1.0")
1045 (source
1046 (origin
1047 (method url-fetch)
1048 (uri (crate-uri "modifier" version))
1049 (file-name (string-append name "-" version ".tar.gz"))
1050 (sha256
1051 (base32
1052 "0n3fmgli1nsskl0whrfzm1gk0rmwwl6pw1q4nb9sqqmn5h8wkxa1"))))
1053 (build-system cargo-build-system)
1054 (home-page "https://github.com/reem/rust-modifier")
1055 (synopsis
1056 "Chaining APIs for both self -> Self and &mut self methods.")
1057 (description
1058 "Chaining APIs for both self -> Self and &mut self methods.")
1059 (license license:expat)))
1060
1061 (define-public rust-net2
1062 (package
1063 (name "rust-net2")
1064 (version "0.2.33")
1065 (source
1066 (origin
1067 (method url-fetch)
1068 (uri (crate-uri "net2" version))
1069 (file-name (string-append name "-" version ".tar.gz"))
1070 (sha256
1071 (base32
1072 "126g3fgfxp06zimc1l9iyxnn9cif1hjsg7sd81nlls5nnyghsma2"))))
1073 (build-system cargo-build-system)
1074 (arguments
1075 `(#:cargo-inputs
1076 (("rust-cfg-if" ,rust-cfg-if)
1077 ("rust-libc" ,rust-libc)
1078 ("rust-winapi" ,rust-winapi))))
1079 (home-page "https://github.com/rust-lang-nursery/net2-rs")
1080 (synopsis "Extensions to the standard library's networking types")
1081 (description
1082 "This library contains extensions to the standard library's networking
1083 types as proposed in RFC 1158.")
1084 (license (list license:asl2.0
1085 license:expat))))
1086
1087 (define-public rust-nodrop
1088 (package
1089 (name "rust-nodrop")
1090 (version "0.1.13")
1091 (source
1092 (origin
1093 (method url-fetch)
1094 (uri (crate-uri "nodrop" version))
1095 (file-name (string-append name "-" version ".tar.gz"))
1096 (sha256
1097 (base32
1098 "0if9ifn6rvar5jirx4b3qh4sl5kjkmcifycvzhxa9j3crkfng5ig"))))
1099 (build-system cargo-build-system)
1100 (arguments
1101 `(#:cargo-inputs
1102 (("rust-nodrop-union" ,rust-nodrop-union))))
1103 (home-page "https://github.com/bluss/arrayvec")
1104 (synopsis "Wrapper type to inhibit drop (destructor)")
1105 (description "This package provides a wrapper type to inhibit drop
1106 (destructor). Use @code{std::mem::ManuallyDrop} instead!")
1107 (license (list license:asl2.0
1108 license:expat))))
1109
1110 ;; This package requires features which are unavailable
1111 ;; on the stable releases of Rust.
1112 (define-public rust-nodrop-union
1113 (package
1114 (name "rust-nodrop-union")
1115 (version "0.1.10")
1116 (source
1117 (origin
1118 (method url-fetch)
1119 (uri (crate-uri "nodrop-union" version))
1120 (file-name (string-append name "-" version ".tar.gz"))
1121 (sha256
1122 (base32
1123 "0jsnkdn9l8jlmb9h4wssi76sxnyxwnyi00p6y1p2gdq7c1gdw2b7"))))
1124 (build-system cargo-build-system)
1125 (home-page "https://github.com/bluss/arrayvec")
1126 (synopsis "Wrapper type to inhibit drop (destructor)")
1127 (description "This package provides a wrapper type to inhibit drop
1128 (destructor). Implementation crate for nodrop, the untagged unions
1129 implementation (which is unstable / requires nightly).")
1130 (properties '((hidden? . #t)))
1131 (license (list license:asl2.0
1132 license:expat))))
1133
1134 (define-public rust-num-cpus
1135 (package
1136 (name "rust-num-cpus")
1137 (version "1.10.1")
1138 (source
1139 (origin
1140 (method url-fetch)
1141 (uri (crate-uri "num_cpus" version))
1142 (file-name (string-append name "-" version ".tar.gz"))
1143 (sha256
1144 (base32
1145 "0wrj3zvj6h3q26sqj9zxpd59frjb54n7jhjwf307clq31ic47vxw"))))
1146 (build-system cargo-build-system)
1147 (arguments
1148 `(#:cargo-inputs
1149 (("rust-libc" ,rust-libc))
1150 #:cargo-development-inputs
1151 (("rust-doc-comment" ,rust-doc-comment))))
1152 (home-page "https://github.com/seanmonstar/num_cpus")
1153 (synopsis "Get the number of CPUs on a machine")
1154 (description
1155 "Get the number of CPUs on a machine.")
1156 (license (list license:asl2.0
1157 license:expat))))
1158
1159 (define-public rust-num-integer
1160 (package
1161 (name "rust-num-integer")
1162 (version "0.1.41")
1163 (source
1164 (origin
1165 (method url-fetch)
1166 (uri (crate-uri "num-integer" version))
1167 (file-name
1168 (string-append name "-" version ".tar.gz"))
1169 (sha256
1170 (base32
1171 "02dwjjpfbi16c71fq689s4sw3ih52cvfzr5z5gs6qpr5z0g58pmq"))))
1172 (build-system cargo-build-system)
1173 (arguments
1174 `(#:cargo-inputs
1175 (("rust-autocfg" ,rust-autocfg)
1176 ("rust-num-traits" ,rust-num-traits))))
1177 (home-page "https://github.com/rust-num/num-integer")
1178 (synopsis "Integer traits and functions")
1179 (description "Integer traits and functions.")
1180 ;; Dual licensed.
1181 (license (list license:asl2.0
1182 license:expat))))
1183
1184 (define-public rust-num-iter
1185 (package
1186 (name "rust-num-iter")
1187 (version "0.1.39")
1188 (source
1189 (origin
1190 (method url-fetch)
1191 (uri (crate-uri "num-iter" version))
1192 (file-name (string-append name "-" version ".tar.gz"))
1193 (sha256
1194 (base32
1195 "0bhk2qbr3261r6zvfc58lz4spfqjhvdripxgz5mks5rd85r55gbn"))))
1196 (build-system cargo-build-system)
1197 (arguments
1198 `(#:cargo-inputs
1199 (("rust-num-integer" ,rust-num-integer)
1200 ("rust-num-traits" ,rust-num-traits))
1201 #:cargo-development-inputs
1202 (("rust-autocfg" ,rust-autocfg))))
1203 (home-page "https://github.com/rust-num/num-iter")
1204 (synopsis "External iterators for generic mathematics")
1205 (description
1206 "This crate provides external iterators for generic mathematics.")
1207 (license (list license:asl2.0
1208 license:expat))))
1209
1210 (define-public rust-num-traits
1211 (package
1212 (name "rust-num-traits")
1213 (version "0.2.8")
1214 (source
1215 (origin
1216 (method url-fetch)
1217 (uri (crate-uri "num-traits" version))
1218 (file-name
1219 (string-append name "-" version ".tar.gz"))
1220 (sha256
1221 (base32
1222 "0clvrm34rrqc8p6gq5ps5fcgws3kgq5knh7nlqxf2ayarwks9abb"))))
1223 (build-system cargo-build-system)
1224 (arguments
1225 `(#:cargo-inputs
1226 (("rust-autocfg" ,rust-autocfg))))
1227 (home-page "https://github.com/rust-num/num-traits")
1228 (synopsis "Numeric traits for generic mathematics")
1229 (description "Numeric traits for generic mathematics.")
1230 ;; Dual licensed.
1231 (license (list license:asl2.0
1232 license:expat))))
1233
1234 (define-public rust-owning-ref
1235 (package
1236 (name "rust-owning-ref")
1237 (version "0.4.0")
1238 (source
1239 (origin
1240 (method url-fetch)
1241 (uri (crate-uri "owning_ref" version))
1242 (file-name (string-append name "-" version ".tar.gz"))
1243 (sha256
1244 (base32
1245 "04zgwy77lin8qz398s6g44467pd6kjhbrlqifkia5rkr47mbi929"))))
1246 (build-system cargo-build-system)
1247 (arguments
1248 `(#:cargo-inputs
1249 (("rust-stable-deref-trait" ,rust-stable-deref-trait))))
1250 (home-page "https://github.com/Kimundi/owning-ref-rs")
1251 (synopsis "Create references that carry their owner with them")
1252 (description
1253 "This package provides a library for creating references that carry their
1254 owner with them. This can sometimes be useful because Rust borrowing rules
1255 normally prevent moving a type that has been borrowed from.")
1256 (license license:expat)))
1257
1258 (define-public rust-peeking-take-while
1259 (package
1260 (name "rust-peeking-take-while")
1261 (version "0.1.2")
1262 (source
1263 (origin
1264 (method url-fetch)
1265 (uri (crate-uri "peeking_take_while" version))
1266 (file-name (string-append name "-" version ".tar.gz"))
1267 (sha256
1268 (base32
1269 "16bhqr6rdyrp12zv381cxaaqqd0pwysvm1q8h2ygihvypvfprc8r"))))
1270 (build-system cargo-build-system)
1271 (home-page "https://github.com/fitzgen/peeking_take_while")
1272 (synopsis "Provides the peeking_take_while iterator adaptor method")
1273 (description
1274 "Like @code{Iterator::take_while}, but calls the predicate on a peeked
1275 value. This allows you to use @code{Iterator::by_ref} and
1276 @code{Iterator::take_while} together, and still get the first value for which
1277 the @code{take_while} predicate returned false after dropping the @code{by_ref}.")
1278 (license (list license:asl2.0
1279 license:expat))))
1280
1281 (define-public rust-percent-encoding
1282 (package
1283 (name "rust-percent-encoding")
1284 (version "2.0.0")
1285 (source
1286 (origin
1287 (method url-fetch)
1288 (uri (crate-uri "percent-encoding" version))
1289 (file-name (string-append name "-" version ".tar.gz"))
1290 (sha256
1291 (base32
1292 "0m6rkp3iy11la04p6z3492rns6n693pvmx585dvfmzzlzak2hkxs"))))
1293 (build-system cargo-build-system)
1294 (home-page "https://github.com/servo/rust-url/")
1295 (synopsis "Percent encoding and decoding")
1296 (description "This crate provides percent encoding and decoding.")
1297 (license (list license:asl2.0
1298 license:expat))))
1299
1300 (define-public rust-permutohedron
1301 (package
1302 (name "rust-permutohedron")
1303 (version "0.2.4")
1304 (source
1305 (origin
1306 (method url-fetch)
1307 (uri (crate-uri "permutohedron" version))
1308 (file-name (string-append name "-" version ".tar.gz"))
1309 (sha256
1310 (base32
1311 "0b1pzh48j86v46wxngch6k1kx9cdw3jr3lwa86gd6jd4bmxzz1xn"))))
1312 (build-system cargo-build-system)
1313 (home-page "https://github.com/bluss/permutohedron")
1314 (synopsis "Generate permutations of sequences")
1315 (description
1316 "Generate permutations of sequences. Either lexicographical order
1317 permutations, or a minimal swaps permutation sequence implemented using Heap's
1318 algorithm.")
1319 (license (list license:asl2.0
1320 license:expat))))
1321
1322 (define-public rust-pin-utils
1323 (package
1324 (name "rust-pin-utils")
1325 (version "0.1.0-alpha.4")
1326 (source
1327 (origin
1328 (method url-fetch)
1329 (uri (crate-uri "pin-utils" version))
1330 (file-name (string-append name "-" version ".tar.gz"))
1331 (sha256
1332 (base32
1333 "11xmyx00n4m37d546by2rxb8ryxs12v55cc172i3yak1rqccd52q"))))
1334 (build-system cargo-build-system)
1335 (home-page "https://github.com/rust-lang-nursery/pin-utils")
1336 (synopsis "Utilities for pinning")
1337 (description "This crate provides utilities for pinning values on the stack.")
1338 (license (list license:asl2.0
1339 license:expat))))
1340
1341 (define-public rust-pkg-config
1342 (package
1343 (name "rust-pkg-config")
1344 (version "0.3.14")
1345 (source
1346 (origin
1347 (method url-fetch)
1348 (uri (crate-uri "pkg-config" version))
1349 (file-name (string-append name "-" version ".tar.gz"))
1350 (sha256
1351 (base32
1352 "135ia995lqzr0gxpk85h0bjxf82kj6hbxdx924sh9jdln6r8wvk7"))))
1353 (build-system cargo-build-system)
1354 (arguments
1355 `(#:cargo-development-inputs
1356 (("rust-lazy-static" ,rust-lazy-static))))
1357 (inputs
1358 `(("pkg-config" ,pkg-config)))
1359 (home-page "https://github.com/alexcrichton/pkg-config-rs")
1360 (synopsis "Library to run the pkg-config system tool")
1361 (description
1362 "A library to run the pkg-config system tool at build time in order to be
1363 used in Cargo build scripts.")
1364 (license (list license:asl2.0
1365 license:expat))))
1366
1367 (define-public rust-plain
1368 (package
1369 (name "rust-plain")
1370 (version "0.2.3")
1371 (source
1372 (origin
1373 (method url-fetch)
1374 (uri (crate-uri "plain" version))
1375 (file-name (string-append name "-" version ".tar.gz"))
1376 (sha256
1377 (base32
1378 "19n1xbxb4wa7w891268bzf6cbwq4qvdb86bik1z129qb0xnnnndl"))))
1379 (build-system cargo-build-system)
1380 (home-page "https://github.com/randomites/plain")
1381 (synopsis "Rust library that allows reinterpreting data safely")
1382 (description "This package provides a small Rust library that allows users
1383 to reinterpret data of certain types safely.")
1384 (license (list license:asl2.0
1385 license:expat))))
1386
1387 (define-public rust-plugin
1388 (package
1389 (name "rust-plugin")
1390 (version "0.2.6")
1391 (source
1392 (origin
1393 (method url-fetch)
1394 (uri (crate-uri "plugin" version))
1395 (file-name (string-append name "-" version ".tar.gz"))
1396 (sha256
1397 (base32
1398 "1q7nghkpvxxr168y2jnzh3w7qc9vfrby9n7ygy3xpj0bj71hsshs"))))
1399 (build-system cargo-build-system)
1400 (arguments
1401 `(#:cargo-inputs
1402 (("rust-typemap" ,rust-typemap))
1403 #:cargo-development-inputs
1404 (("rust-void" ,rust-void))))
1405 (home-page "https://github.com/reem/rust-plugin")
1406 (synopsis "Lazily evaluated, order-independent plugins for extensible types")
1407 (description
1408 "Lazily evaluated, order-independent plugins for extensible types.")
1409 (license license:expat)))
1410
1411 (define-public rust-pocket-resources
1412 (package
1413 (name "rust-pocket-resources")
1414 (version "0.3.2")
1415 (source
1416 (origin
1417 (method url-fetch)
1418 (uri (crate-uri "pocket-resources" version))
1419 (file-name (string-append name "-" version ".tar.gz"))
1420 (sha256
1421 (base32
1422 "1n2i5vmi8fdbw89wm5nz1ws1z9f1qax911p6ksg4scmdg23z6df1"))))
1423 (build-system cargo-build-system)
1424 (home-page "https://github.com/tomaka/pocket-resources")
1425 (synopsis "Include resources in your applications")
1426 (description "This crate allows you to include resources in your
1427 applications.")
1428 (license license:expat)))
1429
1430 (define-public rust-ppv-lite86
1431 (package
1432 (name "rust-ppv-lite86")
1433 (version "0.2.5")
1434 (source
1435 (origin
1436 (method url-fetch)
1437 (uri (crate-uri "ppv-lite86" version))
1438 (file-name (string-append name "-" version ".tar.gz"))
1439 (sha256
1440 (base32
1441 "06snnv338w341nicfqba2jgln5dsla72ndkgrw7h1dfdb3vgkjz3"))))
1442 (build-system cargo-build-system)
1443 (home-page "https://github.com/cryptocorrosion/cryptocorrosion")
1444 (synopsis "Implementation of the crypto-simd API for x86")
1445 (description "This crate provides an implementation of the crypto-simd API
1446 for x86.")
1447 (license (list license:asl2.0
1448 license:expat))))
1449
1450 (define-public rust-proc-macro2
1451 (package
1452 (name "rust-proc-macro2")
1453 (version "0.4.30")
1454 (source
1455 (origin
1456 (method url-fetch)
1457 (uri (crate-uri "proc-macro2" version))
1458 (file-name
1459 (string-append name "-" version ".tar.gz"))
1460 (sha256
1461 (base32
1462 "0nd71fl24sys066jrha6j7i34nfkjv44yzw8yww9742wmc8j0gfg"))))
1463 (build-system cargo-build-system)
1464 (arguments
1465 `(#:cargo-inputs (("rust-unicode-xid" ,rust-unicode-xid-0.1))
1466 #:cargo-development-inputs (("rust-quote" ,rust-quote))))
1467 (home-page "https://github.com/alexcrichton/proc-macro2")
1468 (synopsis "Stable implementation of the upcoming new `proc_macro` API")
1469 (description "This package provides a stable implementation of the upcoming new
1470 `proc_macro` API. Comes with an option, off by default, to also reimplement itself
1471 in terms of the upstream unstable API.")
1472 ;; Dual licensed.
1473 (license (list license:asl2.0 license:expat))))
1474
1475 (define-public rust-quick-error
1476 (package
1477 (name "rust-quick-error")
1478 (version "1.2.2")
1479 (source
1480 (origin
1481 (method url-fetch)
1482 (uri (crate-uri "quick-error" version))
1483 (file-name (string-append name "-" version ".tar.gz"))
1484 (sha256
1485 (base32
1486 "1w6kgwwv7p7zr0yyg5rb315lkk24bimywklwx7fsvsbwi10bjx4j"))))
1487 (build-system cargo-build-system)
1488 (home-page "http://github.com/tailhook/quick-error")
1489 (synopsis "Macro which makes error types pleasant to write")
1490 (description "This crate provides a macro which makes error types pleasant
1491 to write.")
1492 (license (list license:asl2.0
1493 license:expat))))
1494
1495 (define-public rust-quote
1496 (package
1497 (name "rust-quote")
1498 (version "0.6.12")
1499 (source
1500 (origin
1501 (method url-fetch)
1502 (uri (crate-uri "quote" version))
1503 (file-name
1504 (string-append name "-" version ".tar.gz"))
1505 (sha256
1506 (base32
1507 "1nw0klza45hf127kfyrpxsxd5jw2l6h21qxalil3hkr7bnf7kx7s"))))
1508 (build-system cargo-build-system)
1509 (arguments
1510 `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2))))
1511 (home-page "https://github.com/dtolnay/quote")
1512 (synopsis "Quasi-quoting macro quote!(...)")
1513 (description "Quasi-quoting macro quote!(...)")
1514 ;; Dual licensed.
1515 (license (list license:asl2.0 license:expat))))
1516
1517 (define-public rust-rand
1518 (package
1519 (name "rust-rand")
1520 (version "0.4.3")
1521 (source
1522 (origin
1523 (method url-fetch)
1524 (uri (crate-uri "rand" version))
1525 (file-name (string-append name "-" version ".tar.gz"))
1526 (sha256
1527 (base32
1528 "1gfgnqfj2pyh27dcb720jpawskllwnbvxh816ddyykv269xz8ml3"))))
1529 (build-system cargo-build-system)
1530 (arguments
1531 `(#:cargo-inputs
1532 (("rust-fuchsia-zircon" ,rust-fuchsia-zircon)
1533 ("rust-libc" ,rust-libc)
1534 ("rust-winapi" ,rust-winapi))))
1535 (home-page "https://crates.io/crates/rand")
1536 (synopsis "Random number generators and other randomness functionality")
1537 (description
1538 "Rand provides utilities to generate random numbers, to convert them to
1539 useful types and distributions, and some randomness-related algorithms.")
1540 (license (list license:asl2.0
1541 license:expat))))
1542
1543 (define-public rust-rand-0.3
1544 (package
1545 (inherit rust-rand)
1546 (name "rust-rand")
1547 (version "0.3.23")
1548 (source
1549 (origin
1550 (method url-fetch)
1551 (uri (crate-uri "rand" version))
1552 (file-name (string-append name "-" version ".tar.gz"))
1553 (sha256
1554 (base32
1555 "0v679h38pjjqj5h4md7v2slsvj6686qgcn7p9fbw3h43iwnk1b34"))))
1556 (arguments
1557 `(#:cargo-inputs
1558 (("rust-libc" ,rust-libc)
1559 ("rust-rand" ,rust-rand))))))
1560
1561 (define-public rust-rawpointer
1562 (package
1563 (name "rust-rawpointer")
1564 (version "0.1.0")
1565 (source
1566 (origin
1567 (method url-fetch)
1568 (uri (crate-uri "rawpointer" version))
1569 (file-name (string-append name "-" version ".tar.gz"))
1570 (sha256
1571 (base32
1572 "06ghpm9y7gacks78s3maakha07kbnwrxif5q37r2l7z1sali3b7b"))))
1573 (build-system cargo-build-system)
1574 (home-page "https://github.com/bluss/rawpointer/")
1575 (synopsis "Extra methods for raw pointers")
1576 (description "Extra methods for raw pointers. For example
1577 @code{.post_inc()} and @code{.pre_dec()} (c.f. @code{ptr++} and @code{--ptr})
1578 and @code{ptrdistance}.")
1579 (license (list license:asl2.0
1580 license:expat))))
1581
1582 ;; This package requires features which are unavailable
1583 ;; on the stable releases of Rust.
1584 (define-public rust-redox-syscall ; guix upstreamable
1585 (package
1586 (name "rust-redox-syscall")
1587 (version "0.1.56")
1588 (source
1589 (origin
1590 (method url-fetch)
1591 (uri (crate-uri "redox_syscall" version))
1592 (file-name (string-append name "-" version ".tar.gz"))
1593 (sha256
1594 (base32
1595 "110y7dyfm2vci4x5vk7gr0q551dvp31npl99fnsx2fb17wzwcf94"))))
1596 (build-system cargo-build-system)
1597 (home-page "https://gitlab.redox-os.org/redox-os/syscall")
1598 (synopsis "Rust library to access raw Redox system calls")
1599 (description "This package provides a Rust library to access raw Redox
1600 system calls.")
1601 (properties '((hidden? . #t)))
1602 (license license:expat)))
1603
1604 (define-public rust-regex-syntax
1605 (package
1606 (name "rust-regex-syntax")
1607 (version "0.6.10")
1608 (source
1609 (origin
1610 (method url-fetch)
1611 (uri (crate-uri "regex-syntax" version))
1612 (file-name (string-append name "-" version ".tar.gz"))
1613 (sha256
1614 (base32
1615 "0p47lf38yj2g2fnmvnraccqlxwk35zr76hlnqi8yva932nzqam6d"))))
1616 (build-system cargo-build-system)
1617 (arguments
1618 `(#:cargo-inputs
1619 (("rust-ucd-util" ,rust-ucd-util))))
1620 (home-page "https://github.com/rust-lang/regex")
1621 (synopsis "Regular expression parser")
1622 (description
1623 "This package provides a regular expression parser.")
1624 (license (list license:asl2.0
1625 license:expat))))
1626
1627 (define-public rust-remove-dir-all
1628 (package
1629 (name "rust-remove-dir-all")
1630 (version "0.5.2")
1631 (source
1632 (origin
1633 (method url-fetch)
1634 (uri (crate-uri "remove_dir_all" version))
1635 (file-name (string-append name "-" version ".tar.gz"))
1636 (sha256
1637 (base32
1638 "0bkrlyg26mgizpiy1yb2hhpgscxcag8r5fnckqsvk25608vzm0sa"))))
1639 (build-system cargo-build-system)
1640 (arguments
1641 `(#:cargo-inputs
1642 (("rust-winapi" ,rust-winapi))
1643 #:cargo-development-inputs
1644 (("rust-doc-comment" ,rust-doc-comment))
1645 #:phases
1646 (modify-phases %standard-phases
1647 (add-after 'unpack 'fix-source
1648 ;; The test phase expects there to be a README.md in the root directory.
1649 (lambda _
1650 (invoke "touch" "README.md"))))))
1651 (home-page "https://github.com/XAMPPRocky/remove_dir_all.git")
1652 (synopsis "Implementation of remove_dir_all for Windows")
1653 (description
1654 "This package provides a safe, reliable implementation of
1655 @code{remove_dir_all} for Windows")
1656 (license (list license:asl2.0
1657 license:expat))))
1658
1659 (define-public rust-resolv-conf
1660 (package
1661 (name "rust-resolv-conf")
1662 (version "0.6.2")
1663 (source
1664 (origin
1665 (method url-fetch)
1666 (uri (crate-uri "resolv-conf" version))
1667 (file-name (string-append name "-" version ".tar.gz"))
1668 (sha256
1669 (base32
1670 "1jvdsmksdf6yiipm3aqahyv8n1cjd7wqc8sa0p0gzsax3fmb8qxj"))))
1671 (build-system cargo-build-system)
1672 (arguments
1673 `(#:cargo-inputs
1674 (("rust-quick-error" ,rust-quick-error)
1675 ("rust-hostname" ,rust-hostname))
1676 #:cargo-test-flags '("--release" "--lib" "--examples"))) ; doc tests fail
1677 (home-page "https://github.com/tailhook/resolv-conf")
1678 (synopsis "/etc/resolv.conf parser")
1679 (description
1680 "An /etc/resolv.conf parser crate for Rust.")
1681 (license (list license:asl2.0
1682 license:expat))))
1683
1684 (define-public rust-rustc-std-workspace-core
1685 (package
1686 (name "rust-rustc-std-workspace-core")
1687 (version "1.0.0")
1688 (source
1689 (origin
1690 (method url-fetch)
1691 (uri (crate-uri "rustc-std-workspace-core" version))
1692 (file-name (string-append name "-" version ".tar.gz"))
1693 (sha256
1694 (base32
1695 "1309xhwyai9xpz128xrfjqkmnkvgjwddznmj7brbd8i8f58zamhr"))))
1696 (build-system cargo-build-system)
1697 (home-page "https://crates.io/crates/rustc-std-workspace-core")
1698 (synopsis "Explicitly empty crate for rust-lang/rust integration")
1699 (description "This crate provides an explicitly empty crate for
1700 rust-lang/rust integration.")
1701 (license (list license:asl2.0
1702 license:expat))))
1703
1704 (define-public rust-safemem
1705 (package
1706 (name "rust-safemem")
1707 (version "0.3.2")
1708 (source
1709 (origin
1710 (method url-fetch)
1711 (uri (crate-uri "safemem" version))
1712 (file-name (string-append name "-" version ".tar.gz"))
1713 (sha256
1714 (base32
1715 "1l1ljkm4lpyryrv2ndaxi1f7z1f3v9bwy1rzl9f9mbhx04iq9c6j"))))
1716 (build-system cargo-build-system)
1717 (home-page "https://github.com/abonander/safemem")
1718 (synopsis "Safe wrappers for memory-accessing functions")
1719 (description
1720 "Safe wrappers for memory-accessing functions, like @code{std::ptr::copy()}.")
1721 (license (list license:asl2.0
1722 license:expat))))
1723
1724 (define-public rust-same-file
1725 (package
1726 (name "rust-same-file")
1727 (version "1.0.5")
1728 (source
1729 (origin
1730 (method url-fetch)
1731 (uri (crate-uri "same-file" version))
1732 (file-name (string-append name "-" version ".tar.gz"))
1733 (sha256
1734 (base32
1735 "08a4zy10pjindf2rah320s6shgswk13mqw7s61m8i1y1xpf8spjq"))))
1736 (build-system cargo-build-system)
1737 (arguments
1738 `(#:cargo-inputs
1739 (("rust-winapi-util" ,rust-winapi-util))))
1740 (home-page "https://github.com/BurntSushi/same-file")
1741 (synopsis "Determine whether two file paths point to the same file")
1742 (description
1743 "This package provides a simple crate for determining whether two file
1744 paths point to the same file.")
1745 (license (list license:unlicense
1746 license:expat))))
1747
1748 (define-public rust-schannel
1749 (package
1750 (name "rust-schannel")
1751 (version "0.1.15")
1752 (source
1753 (origin
1754 (method url-fetch)
1755 (uri (crate-uri "schannel" version))
1756 (file-name (string-append name "-" version ".tar.gz"))
1757 (sha256
1758 (base32
1759 "0f9k4pm8yc3z0n1n8hazvnrvg52f0sfxjc91bhf3r76rb3rapxpj"))))
1760 (build-system cargo-build-system)
1761 (arguments
1762 `(#:cargo-inputs
1763 (("rust-lazy-static" ,rust-lazy-static)
1764 ("rust-winapi" ,rust-winapi))))
1765 (home-page "https://github.com/steffengy/schannel-rs")
1766 (synopsis "Rust bindings to the Windows SChannel APIs")
1767 (description
1768 "Rust bindings to the Windows SChannel APIs providing TLS client and
1769 server functionality.")
1770 (license license:expat)))
1771
1772 (define-public rust-scoped-threadpool
1773 (package
1774 (name "rust-scoped-threadpool")
1775 (version "0.1.9")
1776 (source
1777 (origin
1778 (method url-fetch)
1779 (uri (crate-uri "scoped_threadpool" version))
1780 (file-name (string-append name "-" version ".tar.gz"))
1781 (sha256
1782 (base32
1783 "1a26d3lk40s9mrf4imhbik7caahmw2jryhhb6vqv6fplbbgzal8x"))))
1784 (build-system cargo-build-system)
1785 (arguments
1786 `(#:cargo-development-inputs
1787 (("rust-lazy-static" ,rust-lazy-static))))
1788 (home-page "https://github.com/Kimundi/scoped-threadpool-rs")
1789 (synopsis "library for scoped and cached threadpools")
1790 (description
1791 "This crate provides a stable, safe and scoped threadpool. It can be used
1792 to execute a number of short-lived jobs in parallel without the need to respawn
1793 the underlying threads. Jobs are runnable by borrowing the pool for a given
1794 scope, during which an arbitrary number of them can be executed. These jobs can
1795 access data of any lifetime outside of the pools scope, which allows working on
1796 non-'static references in parallel.")
1797 (license (list license:asl2.0
1798 license:expat))))
1799
1800 (define-public rust-scoped-tls
1801 (package
1802 (name "rust-scoped-tls")
1803 (version "1.0.0")
1804 (source
1805 (origin
1806 (method url-fetch)
1807 (uri (crate-uri "scoped-tls" version))
1808 (file-name (string-append name "-" version ".tar.gz"))
1809 (sha256
1810 (base32
1811 "1hj8lifzvivdb1z02lfnzkshpvk85nkgzxsy2hc0zky9wf894spa"))))
1812 (build-system cargo-build-system)
1813 (home-page "https://github.com/alexcrichton/scoped-tls")
1814 (synopsis "Rust library providing the old standard library's scoped_thread_local")
1815 (description "This crate provides a library implementation of the standard
1816 library's old @code{scoped_thread_local!} macro for providing scoped access to
1817 @dfn{thread local storage} (TLS) so any type can be stored into TLS.")
1818 (license (list license:asl2.0
1819 license:expat))))
1820
1821 (define-public rust-scoped-tls-0.1
1822 (package
1823 (inherit rust-scoped-tls)
1824 (name "rust-scoped-tls")
1825 (version "0.1.2")
1826 (source
1827 (origin
1828 (method url-fetch)
1829 (uri (crate-uri "scoped-tls" version))
1830 (file-name (string-append name "-" version ".tar.gz"))
1831 (sha256
1832 (base32
1833 "0a2bn9d2mb07c6l16sadijy4p540g498zddfxyiq4rsqpwrglbrk"))))))
1834
1835 (define-public rust-scopeguard
1836 (package
1837 (name "rust-scopeguard")
1838 (version "1.0.0")
1839 (source
1840 (origin
1841 (method url-fetch)
1842 (uri (crate-uri "scopeguard" version))
1843 (file-name (string-append name "-" version ".tar.gz"))
1844 (sha256
1845 (base32
1846 "03aay84r1f6w87ckbpj6cc4rnsxkxcfs13n5ynxjia0qkgjiabml"))))
1847 (build-system cargo-build-system)
1848 (home-page "https://github.com/bluss/scopeguard")
1849 (synopsis "Scope guard which will run a closure even out of scope")
1850 (description "This package provides a RAII scope guard that will run a
1851 given closure when it goes out of scope, even if the code between panics
1852 (assuming unwinding panic). Defines the macros @code{defer!},
1853 @code{defer_on_unwind!}, @code{defer_on_success!} as shorthands for guards
1854 with one of the implemented strategies.")
1855 (license (list license:asl2.0
1856 license:expat))))
1857
1858 (define-public rust-scopeguard-0.3
1859 (package
1860 (inherit rust-scopeguard)
1861 (name "rust-scopeguard")
1862 (version "0.3.3")
1863 (source
1864 (origin
1865 (method url-fetch)
1866 (uri (crate-uri "scopeguard" version))
1867 (file-name
1868 (string-append name "-" version ".tar.gz"))
1869 (sha256
1870 (base32
1871 "09sy9wbqp409pkwmqni40qmwa99ldqpl48pp95m1xw8sc19qy9cl"))))))
1872
1873 (define-public rust-security-framework-sys
1874 (package
1875 (name "rust-security-framework-sys")
1876 (version "0.3.1")
1877 (source
1878 (origin
1879 (method url-fetch)
1880 (uri (crate-uri "security-framework-sys" version))
1881 (file-name (string-append name "-" version ".tar.gz"))
1882 (sha256
1883 (base32
1884 "0mlsakq9kmqyc0fg2hcbgm6rjk55mb0rhjw2wid3hqdzkjcghdln"))))
1885 (build-system cargo-build-system)
1886 (arguments
1887 `(#:cargo-inputs
1888 (("rust-core-foundation-sys"
1889 ,rust-core-foundation-sys))))
1890 (home-page "https://lib.rs/crates/security-framework-sys")
1891 (synopsis "Apple `Security.framework` low-level FFI bindings")
1892 (description
1893 "Apple `Security.framework` low-level FFI bindings.")
1894 (license (list license:asl2.0
1895 license:expat))))
1896
1897 (define-public rust-semver-parser
1898 (package
1899 (name "rust-semver-parser")
1900 (version "0.9.0")
1901 (source
1902 (origin
1903 (method url-fetch)
1904 (uri (crate-uri "semver-parser" version))
1905 (file-name (string-append name "-" version ".tar.gz"))
1906 (sha256
1907 (base32
1908 "1ahqhvgpzhcsd28id7xnrjv4419i9yyalhm7d7zi430qx0hi2vml"))))
1909 (build-system cargo-build-system)
1910 (home-page "https://github.com/steveklabnik/semver-parser")
1911 (synopsis "Parsing of the semver spec")
1912 (description "This package provides for parsing of the semver spec.")
1913 (license (list license:asl2.0
1914 license:expat))))
1915
1916 (define-public rust-shlex
1917 (package
1918 (name "rust-shlex")
1919 (version "0.1.1")
1920 (source
1921 (origin
1922 (method url-fetch)
1923 (uri (crate-uri "shlex" version))
1924 (file-name (string-append name "-" version ".tar.gz"))
1925 (sha256
1926 (base32
1927 "1lmv6san7g8dv6jdfp14m7bdczq9ss7j7bgsfqyqjc3jnjfippvz"))))
1928 (build-system cargo-build-system)
1929 (home-page "https://github.com/comex/rust-shlex")
1930 (synopsis "Split a string into shell words, like Python's shlex")
1931 (description "This crate provides a method to split a string into shell
1932 words, like Python's shlex.")
1933 (license (list license:asl2.0
1934 license:expat))))
1935
1936 (define-public rust-slab
1937 (package
1938 (name "rust-slab")
1939 (version "0.4.2")
1940 (source
1941 (origin
1942 (method url-fetch)
1943 (uri (crate-uri "slab" version))
1944 (file-name (string-append name "-" version ".tar.gz"))
1945 (sha256
1946 (base32
1947 "1y59xsa27jk84sxzswjk60xcjf8b4fm5960jwpznrrcmasyva4f1"))))
1948 (build-system cargo-build-system)
1949 (home-page "https://github.com/carllerche/slab")
1950 (synopsis "Pre-allocated storage for a uniform data type")
1951 (description "This create provides a pre-allocated storage for a uniform
1952 data type.")
1953 (license license:expat)))
1954
1955 (define-public rust-spin
1956 (package
1957 (name "rust-spin")
1958 (version "0.5.0")
1959 (source
1960 (origin
1961 (method url-fetch)
1962 (uri (crate-uri "spin" version))
1963 (file-name (string-append name "-" version ".tar.gz"))
1964 (sha256
1965 (base32
1966 "0m9clchsj0rf13bggsgvbv9haiy0f6rhvnvkpvkk8720a5pkydj4"))))
1967 (build-system cargo-build-system)
1968 (home-page "https://github.com/mvdnes/spin-rs.git")
1969 (synopsis "Synchronization primitives based on spinning")
1970 (description "This crate provides synchronization primitives based on
1971 spinning. They may contain data, are usable without @code{std},and static
1972 initializers are available.")
1973 (license license:expat)))
1974
1975 (define-public rust-stable-deref-trait
1976 (package
1977 (name "rust-stable-deref-trait")
1978 (version "1.1.1")
1979 (source
1980 (origin
1981 (method url-fetch)
1982 (uri (crate-uri "stable_deref_trait" version))
1983 (file-name (string-append name "-" version ".tar.gz"))
1984 (sha256
1985 (base32
1986 "1j2lkgakksmz4vc5hfawcch2ipiskrhjs1sih0f3br7s7rys58fv"))))
1987 (build-system cargo-build-system)
1988 (home-page "https://github.com/storyyeller/stable_deref_trait0")
1989 (synopsis "Defines an unsafe marker trait, StableDeref")
1990 (description
1991 "This crate defines an unsafe marker trait, StableDeref, for container
1992 types which deref to a fixed address which is valid even when the containing
1993 type is moved. For example, Box, Vec, Rc, Arc and String implement this trait.
1994 Additionally, it defines CloneStableDeref for types like Rc where clones deref
1995 to the same address.")
1996 (license (list license:asl2.0
1997 license:expat))))
1998
1999 (define-public rust-stdweb-internal-runtime
2000 (package
2001 (name "rust-stdweb-internal-runtime")
2002 (version "0.1.4")
2003 (source
2004 (origin
2005 (method url-fetch)
2006 (uri (crate-uri "stdweb-internal-runtime" version))
2007 (file-name (string-append name "-" version ".tar.gz"))
2008 (sha256
2009 (base32
2010 "1nhpyra7glbwcpakhpj5a3d7h7kx1ynif473nzshmk226m91f8ym"))))
2011 (build-system cargo-build-system)
2012 (home-page "https://github.com/koute/stdweb")
2013 (synopsis "Internal runtime for the @code{stdweb} crate")
2014 (description "This crate provides internal runtime for the @code{stdweb}
2015 crate.")
2016 (license (list license:asl2.0
2017 license:expat))))
2018
2019 (define-public rust-stdweb-internal-test-macro
2020 (package
2021 (name "rust-stdweb-internal-test-macro")
2022 (version "0.1.0")
2023 (source
2024 (origin
2025 (method url-fetch)
2026 (uri (crate-uri "stdweb-internal-test-macro" version))
2027 (file-name (string-append name "-" version ".tar.gz"))
2028 (sha256
2029 (base32
2030 "12rrm7p77xnm3xacgn3rgniiyyjb4gq7902wpbljsvbx045z69l2"))))
2031 (build-system cargo-build-system)
2032 (arguments
2033 `(#:cargo-inputs
2034 (("rust-proc-macro2" ,rust-proc-macro2)
2035 ("rust-quote" ,rust-quote))))
2036 (home-page "https://github.com/koute/stdweb")
2037 (synopsis "Internal crate of the `stdweb` crate")
2038 (description
2039 "Internal crate of the @code{stdweb} crate.")
2040 (license (list license:asl2.0
2041 license:expat))))
2042
2043 (define-public rust-streaming-stats
2044 (package
2045 (name "rust-streaming-stats")
2046 (version "0.2.2")
2047 (source
2048 (origin
2049 (method url-fetch)
2050 (uri (crate-uri "streaming-stats" version))
2051 (file-name (string-append name "-" version ".tar.gz"))
2052 (sha256
2053 (base32
2054 "0l7xz4g6709s80zqpvlhrg0qhgz64r94cwhmfsg8xhabgznbp2px"))))
2055 (build-system cargo-build-system)
2056 (arguments
2057 `(#:cargo-inputs
2058 (("rust-num-traits" ,rust-num-traits))))
2059 (home-page "https://github.com/BurntSushi/rust-stats")
2060 (synopsis "Compute basic statistics on streams")
2061 (description
2062 "Experimental crate for computing basic statistics on streams.")
2063 (license (list license:unlicense
2064 license:expat))))
2065
2066 (define-public rust-strsim
2067 (package
2068 (name "rust-strsim")
2069 (version "0.9.2")
2070 (source
2071 (origin
2072 (method url-fetch)
2073 (uri (crate-uri "strsim" version))
2074 (file-name (string-append name "-" version ".tar.gz"))
2075 (sha256
2076 (base32
2077 "1xphwhf86yxxmcpvm4mikj8ls41f6nf7gqyjm98b74mfk81h6b03"))))
2078 (build-system cargo-build-system)
2079 (home-page "https://github.com/dguo/strsim-rs")
2080 (synopsis "Rust implementations of string similarity metrics")
2081 (description "This crate includes implementations of string similarity
2082 metrics. It includes Hamming, Levenshtein, OSA, Damerau-Levenshtein, Jaro,
2083 and Jaro-Winkler.")
2084 (license license:expat)))
2085
2086 (define-public rust-synstructure-test-traits
2087 (package
2088 (name "rust-synstructure-test-traits")
2089 (version "0.1.0")
2090 (source
2091 (origin
2092 (method url-fetch)
2093 (uri (crate-uri "synstructure_test_traits" version))
2094 (file-name (string-append name "-" version ".tar.gz"))
2095 (sha256
2096 (base32
2097 "1b3fs2b9kc1gy9dilaxqjbdl4z0mlrbbxjzkprdx953rif1c3q66"))))
2098 (build-system cargo-build-system)
2099 (home-page "https://crates.io/crates/synstructure_test_traits")
2100 (synopsis "Helper test traits for synstructure doctests")
2101 (description
2102 "This package provides helper test traits for synstructure doctests.")
2103 (license license:expat)))
2104
2105 (define-public rust-tempdir
2106 (package
2107 (name "rust-tempdir")
2108 (version "0.3.7")
2109 (source
2110 (origin
2111 (method url-fetch)
2112 (uri (crate-uri "tempdir" version))
2113 (file-name (string-append name "-" version ".tar.gz"))
2114 (sha256
2115 (base32
2116 "1n5n86zxpgd85y0mswrp5cfdisizq2rv3la906g6ipyc03xvbwhm"))))
2117 (build-system cargo-build-system)
2118 (arguments
2119 `(#:cargo-inputs
2120 (("rust-rand" ,rust-rand)
2121 ("rust-remove-dir-all" ,rust-remove-dir-all))))
2122 (home-page
2123 "https://github.com/rust-lang/tempdir")
2124 (synopsis "Temporary directory management for Rust")
2125 (description
2126 "This package provides a library for managing a temporary directory and
2127 deleting all contents when it's dropped.")
2128 (license (list license:asl2.0
2129 license:expat))))
2130
2131 (define-public rust-termcolor
2132 (package
2133 (name "rust-termcolor")
2134 (version "1.0.5")
2135 (source
2136 (origin
2137 (method url-fetch)
2138 (uri (crate-uri "termcolor" version))
2139 (file-name (string-append name "-" version ".tar.gz"))
2140 (sha256
2141 (base32
2142 "0vjfsn1a8zvqhnrbygrz1id6yckwv1dncw3w4zj65qdx0f00kmln"))))
2143 (build-system cargo-build-system)
2144 (arguments
2145 `(#:cargo-inputs
2146 (("rust-wincolor" ,rust-wincolor))))
2147 (home-page "https://github.com/BurntSushi/termcolor")
2148 (synopsis "Library for writing colored text to a terminal")
2149 (description "This package provides a simple cross platform library for
2150 writing colored text to a terminal.")
2151 (license (list license:unlicense
2152 license:expat))))
2153
2154 (define-public rust-termios
2155 (package
2156 (name "rust-termios")
2157 (version "0.3.1")
2158 (source
2159 (origin
2160 (method url-fetch)
2161 (uri (crate-uri "termios" version))
2162 (file-name (string-append name "-" version ".tar.gz"))
2163 (sha256
2164 (base32
2165 "09any1p4jp4bphvb5ikagnvwjc3xn2djchy96nkpa782xb2j1dkj"))))
2166 (build-system cargo-build-system)
2167 (arguments
2168 `(#:cargo-inputs (("rust-libc" ,rust-libc))))
2169 (home-page "https://github.com/dcuddeback/termios-rs")
2170 (synopsis "Safe bindings for the termios library")
2171 (description
2172 "The termios crate provides safe bindings for the Rust programming language
2173 to the terminal I/O interface implemented by Unix operating systems. The safe
2174 bindings are a small wrapper around the raw C functions, which converts integer
2175 return values to @code{std::io::Result} to indicate success or failure.")
2176 (license license:expat)))
2177
2178 (define-public rust-thread-id
2179 (package
2180 (name "rust-thread-id")
2181 (version "3.3.0")
2182 (source
2183 (origin
2184 (method url-fetch)
2185 (uri (crate-uri "thread-id" version))
2186 (file-name (string-append name "-" version ".tar.gz"))
2187 (sha256
2188 (base32
2189 "1h90v19fjz3x9b25ywh68z5yf2zsmm6h5zb4rl302ckbsp4z9yy7"))))
2190 (build-system cargo-build-system)
2191 (arguments
2192 `(#:cargo-inputs
2193 (("rust-libc" ,rust-libc)
2194 ("rust-redox-syscall" ,rust-redox-syscall)
2195 ("rust-winapi" ,rust-winapi))))
2196 (home-page "https://github.com/ruuda/thread-id")
2197 (synopsis "Get a unique ID for the current thread in Rust")
2198 (description
2199 "For diagnostics and debugging it can often be useful to get an ID that is
2200 different for every thread.")
2201 (license (list license:asl2.0
2202 license:expat))))
2203
2204 (define-public rust-thread-local
2205 (package
2206 (name "rust-thread-local")
2207 (version "0.3.6")
2208 (source
2209 (origin
2210 (method url-fetch)
2211 (uri (crate-uri "thread_local" version))
2212 (file-name (string-append name "-" version ".tar.gz"))
2213 (sha256
2214 (base32
2215 "06rzik99p8c5js8238yhc8rk6np543ylb1dy9nrw5v80j0r3xdf6"))))
2216 (build-system cargo-build-system)
2217 (arguments
2218 `(#:cargo-inputs
2219 (("rust-lazy-static" ,rust-lazy-static))))
2220 (home-page "https://github.com/Amanieu/thread_local-rs")
2221 (synopsis "Per-object thread-local storage")
2222 (description "Per-object thread-local storage")
2223 (license (list license:asl2.0
2224 license:expat))))
2225
2226 (define-public rust-threadpool
2227 (package
2228 (name "rust-threadpool")
2229 (version "1.7.1")
2230 (source
2231 (origin
2232 (method url-fetch)
2233 (uri (crate-uri "threadpool" version))
2234 (file-name (string-append name "-" version ".tar.gz"))
2235 (sha256
2236 (base32
2237 "0rd89n1q7vy47w4c32cnynibffv9kj3jy3dwr0536n9lbw5ckw72"))))
2238 (build-system cargo-build-system)
2239 (arguments
2240 `(#:cargo-inputs
2241 (("rust-num-cpus" ,rust-num-cpus))))
2242 (home-page "https://github.com/rust-threadpool/rust-threadpool")
2243 (synopsis "Thread pool for running jobs on a fixed set of worker threads")
2244 (description
2245 "This package provides a thread pool for running a number of jobs on a
2246 fixed set of worker threads.")
2247 (license (list license:asl2.0
2248 license:expat))))
2249
2250 (define-public rust-tokio-mock-task
2251 (package
2252 (name "rust-tokio-mock-task")
2253 (version "0.1.1")
2254 (source
2255 (origin
2256 (method url-fetch)
2257 (uri (crate-uri "tokio-mock-task" version))
2258 (file-name (string-append name "-" version ".tar.gz"))
2259 (sha256
2260 (base32
2261 "1y7q83qfk9ljjfvs82b453pmz9x1v3d6kr4x55j8mal01s6790dw"))))
2262 (build-system cargo-build-system)
2263 (arguments
2264 `(#:cargo-inputs (("rust-futures" ,rust-futures))))
2265 (home-page "https://github.com/carllerche/tokio-mock-task")
2266 (synopsis "Mock a Tokio task")
2267 (description "Mock a Tokio task")
2268 (license license:expat)))
2269
2270 (define-public rust-tracing-core
2271 (package
2272 (name "rust-tracing-core")
2273 (version "0.1.2")
2274 (source
2275 (origin
2276 (method url-fetch)
2277 (uri (crate-uri "tracing-core" version))
2278 (file-name (string-append name "-" version ".tar.gz"))
2279 (sha256
2280 (base32
2281 "01fa73wzw2m5ybi3kkd52dgrw97mgc3i6inmhwys46ab28giwnxi"))))
2282 (build-system cargo-build-system)
2283 (arguments
2284 `(#:cargo-inputs
2285 (("rust-lazy-static" ,rust-lazy-static))))
2286 (home-page "https://tokio.rs")
2287 (synopsis "Core primitives for application-level tracing")
2288 (description
2289 "Core primitives for application-level tracing.")
2290 (license (list license:asl2.0
2291 license:expat))))
2292
2293 (define-public rust-traitobject
2294 (package
2295 (name "rust-traitobject")
2296 (version "0.1.0")
2297 (source
2298 (origin
2299 (method url-fetch)
2300 (uri (crate-uri "traitobject" version))
2301 (file-name (string-append name "-" version ".tar.gz"))
2302 (sha256
2303 (base32
2304 "0yb0n8822mr59j200fyr2fxgzzgqljyxflx9y8bdy3rlaqngilgg"))))
2305 (build-system cargo-build-system)
2306 (home-page "https://github.com/reem/rust-traitobject.git")
2307 (synopsis "Unsafe helpers for dealing with raw trait objects")
2308 (description "Unsafe helpers for dealing with raw trait objects.")
2309 (license (list license:asl2.0
2310 license:expat))))
2311
2312 (define-public rust-try-from
2313 (package
2314 (name "rust-try-from")
2315 (version "0.3.2")
2316 (source
2317 (origin
2318 (method url-fetch)
2319 (uri (crate-uri "try_from" version))
2320 (file-name (string-append name "-" version ".tar.gz"))
2321 (sha256
2322 (base32
2323 "12wdd4ja7047sd3rx70hv2056hyc8gcdllcx3a41g1rnw64kng98"))))
2324 (build-system cargo-build-system)
2325 (arguments
2326 `(#:cargo-inputs
2327 (("rust-cfg-if" ,rust-cfg-if))))
2328 (home-page "https://github.com/derekjw/try_from")
2329 (synopsis "TryFrom and TryInto traits for failable conversions")
2330 (description
2331 "TryFrom and TryInto traits for failable conversions that return a Result.")
2332 (license license:expat)))
2333
2334 (define-public rust-try-lock
2335 (package
2336 (name "rust-try-lock")
2337 (version "0.2.2")
2338 (source
2339 (origin
2340 (method url-fetch)
2341 (uri (crate-uri "try-lock" version))
2342 (file-name (string-append name "-" version ".tar.gz"))
2343 (sha256
2344 (base32
2345 "10p36rx6pqi9d0zr876xa8vksx2m66ha45myakl50rn08dxyn176"))))
2346 (build-system cargo-build-system)
2347 (home-page "https://github.com/seanmonstar/try-lock")
2348 (synopsis "Lightweight atomic lock")
2349 (description
2350 "This package provides a lightweight atomic lock.")
2351 (license license:expat)))
2352
2353 (define-public rust-typeable
2354 (package
2355 (name "rust-typeable")
2356 (version "0.1.2")
2357 (source
2358 (origin
2359 (method url-fetch)
2360 (uri (crate-uri "typeable" version))
2361 (file-name (string-append name "-" version ".tar.gz"))
2362 (sha256
2363 (base32
2364 "11w8dywgnm32hb291izjvh4zjd037ccnkk77ahk63l913zwzc40l"))))
2365 (build-system cargo-build-system)
2366 (home-page "https://github.com/reem/rust-typeable")
2367 (synopsis "Exposes Typeable, for getting TypeIds at runtime")
2368 (description "Exposes Typeable, for getting TypeIds at runtime.")
2369 (license license:expat)))
2370
2371 (define-public rust-typemap
2372 (package
2373 (name "rust-typemap")
2374 (version "0.3.3")
2375 (source
2376 (origin
2377 (method url-fetch)
2378 (uri (crate-uri "typemap" version))
2379 (file-name (string-append name "-" version ".tar.gz"))
2380 (sha256
2381 (base32
2382 "1xm1gbvz9qisj1l6d36hrl9pw8imr8ngs6qyanjnsad3h0yfcfv5"))))
2383 (build-system cargo-build-system)
2384 (arguments
2385 `(#:cargo-inputs
2386 (("rust-unsafe-any" ,rust-unsafe-any))))
2387 (home-page "https://github.com/reem/rust-typemap")
2388 (synopsis "Typesafe store for many value types")
2389 (description
2390 "A typesafe store for many value types.")
2391 (license license:expat)))
2392
2393 (define-public rust-typenum
2394 (package
2395 (name "rust-typenum")
2396 (version "1.10.0")
2397 (source
2398 (origin
2399 (method url-fetch)
2400 (uri (crate-uri "typenum" version))
2401 (file-name (string-append name "-" version ".tar.gz"))
2402 (sha256
2403 (base32
2404 "0sc1jirllfhdi52z1xv9yqzxzpk6v7vadd13n7wvs1wnjipn6bb1"))))
2405 (build-system cargo-build-system)
2406 (home-page "https://github.com/paholg/typenum")
2407 (synopsis "Rust library for type-level numbers evaluated at compile time")
2408 (description "Typenum is a Rust library for type-level numbers evaluated at
2409 compile time. It currently supports bits, unsigned integers, and signed
2410 integers. It also provides a type-level array of type-level numbers, but its
2411 implementation is incomplete.")
2412 (license (list license:asl2.0
2413 license:expat))))
2414
2415 (define-public rust-ucd-trie
2416 (package
2417 (name "rust-ucd-trie")
2418 (version "0.1.2")
2419 (source
2420 (origin
2421 (method url-fetch)
2422 (uri (crate-uri "ucd-trie" version))
2423 (file-name (string-append name "-" version ".tar.gz"))
2424 (sha256
2425 (base32
2426 "1hh6kyzh5xygwy96wfmsf8v8czlzhps2lgbcyhj1xzy1w1xys04g"))))
2427 (build-system cargo-build-system)
2428 (arguments
2429 `(#:cargo-development-inputs
2430 (("rust-lazy-static" ,rust-lazy-static))))
2431 (home-page "https://github.com/BurntSushi/ucd-generate")
2432 (synopsis "Trie for storing Unicode codepoint sets and maps")
2433 (description
2434 "This package provides a trie for storing Unicode codepoint sets and maps.")
2435 (license (list license:asl2.0
2436 license:expat))))
2437
2438 (define-public rust-ucd-util
2439 (package
2440 (name "rust-ucd-util")
2441 (version "0.1.5")
2442 (source
2443 (origin
2444 (method url-fetch)
2445 (uri (crate-uri "ucd-util" version))
2446 (file-name (string-append name "-" version ".tar.gz"))
2447 (sha256
2448 (base32
2449 "0x088q5z0m09a2jqcfgsnq955y8syn1mgn35cl78qinkxm4kp6zs"))))
2450 (build-system cargo-build-system)
2451 (home-page "https://github.com/BurntSushi/ucd-generate")
2452 (synopsis "library for working with the Unicode character database")
2453 (description "This package provides a small utility library for working
2454 with the Unicode character database.")
2455 (license (list license:asl2.0
2456 license:expat))))
2457
2458 (define-public rust-unicase
2459 (package
2460 (name "rust-unicase")
2461 (version "2.4.0")
2462 (source
2463 (origin
2464 (method url-fetch)
2465 (uri (crate-uri "unicase" version))
2466 (file-name (string-append name "-" version ".tar.gz"))
2467 (sha256
2468 (base32
2469 "1xmpmkakhhblq7dzab1kwyv925kv7fqjkjsxjspg6ix9n88makm8"))))
2470 (build-system cargo-build-system)
2471 (arguments
2472 `(#:cargo-inputs (("rust-version-check" ,rust-version-check-0.1))))
2473 (home-page "https://github.com/seanmonstar/unicase")
2474 (synopsis "Case-insensitive wrapper around strings")
2475 (description
2476 "A case-insensitive wrapper around strings.")
2477 (license (list license:asl2.0
2478 license:expat))))
2479
2480 (define-public rust-unicode-width
2481 (package
2482 (name "rust-unicode-width")
2483 (version "0.1.5")
2484 (source
2485 (origin
2486 (method url-fetch)
2487 (uri (crate-uri "unicode-width" version))
2488 (file-name (string-append name "-" version ".tar.gz"))
2489 (sha256
2490 (base32
2491 "09k5lipygardwy0660jhls08fsgknrazzivmn804gps53hiqc8w8"))))
2492 (build-system cargo-build-system)
2493 (home-page "https://github.com/unicode-rs/unicode-width")
2494 (synopsis "Determine displayed width according to Unicode rules")
2495 (description "This crate allows you to determine displayed width of
2496 @code{char} and @code{str} types according to Unicode Standard Annex #11 rules.")
2497 (license (list license:asl2.0
2498 license:expat))))
2499
2500 (define-public rust-unicode-xid
2501 (package
2502 (name "rust-unicode-xid")
2503 (version "0.2.0")
2504 (source
2505 (origin
2506 (method url-fetch)
2507 (uri (crate-uri "unicode-xid" version))
2508 (file-name
2509 (string-append name "-" version ".tar.gz"))
2510 (sha256
2511 (base32
2512 "0z09fn515xm7zyr0mmdyxa9mx2f7azcpv74pqmg611iralwpcvl2"))))
2513 (build-system cargo-build-system)
2514 (home-page
2515 "https://github.com/unicode-rs/unicode-xid")
2516 (synopsis "Determine Unicode XID related properties")
2517 (description "Determine whether characters have the XID_Start
2518 or XID_Continue properties according to Unicode Standard Annex #31.")
2519 ;; Dual licensed.
2520 (license (list license:asl2.0 license:expat))))
2521
2522 (define-public rust-unicode-xid-0.1
2523 (package
2524 (inherit rust-unicode-xid)
2525 (name "rust-unicode-xid")
2526 (version "0.1.0")
2527 (source
2528 (origin
2529 (method url-fetch)
2530 (uri (crate-uri "unicode-xid" version))
2531 (file-name (string-append name "-" version ".tar.gz"))
2532 (sha256
2533 (base32
2534 "1z57lqh4s18rr4x0j4fw4fmp9hf9346h0kmdgqsqx0fhjr3k0wpw"))))))
2535
2536 (define-public rust-unindent
2537 (package
2538 (name "rust-unindent")
2539 (version "0.1.3")
2540 (source
2541 (origin
2542 (method url-fetch)
2543 (uri (crate-uri "unindent" version))
2544 (file-name (string-append name "-" version ".tar.gz"))
2545 (sha256
2546 (base32
2547 "1x21ilf78aqcq9xzb9b7i628wm10rhk0jp0chlv06rkc690l8jw3"))))
2548 (build-system cargo-build-system)
2549 (home-page "https://github.com/dtolnay/indoc")
2550 (synopsis "Remove a column of leading whitespace from a string")
2551 (description "This crate allows you to remove a column of leading
2552 whitespace from a string.")
2553 (license (list license:asl2.0
2554 license:expat))))
2555
2556 (define-public rust-unsafe-any
2557 (package
2558 (name "rust-unsafe-any")
2559 (version "0.4.2")
2560 (source
2561 (origin
2562 (method url-fetch)
2563 (uri (crate-uri "unsafe-any" version))
2564 (file-name (string-append name "-" version ".tar.gz"))
2565 (sha256
2566 (base32
2567 "0zwwphsqkw5qaiqmjwngnfpv9ym85qcsyj7adip9qplzjzbn00zk"))))
2568 (build-system cargo-build-system)
2569 (arguments
2570 `(#:cargo-inputs
2571 (("rust-traitobject" ,rust-traitobject))))
2572 (home-page "https://tokio.rs")
2573 (synopsis "Traits and implementations for unchecked downcasting")
2574 (description
2575 "Traits and implementations for unchecked downcasting.")
2576 (license license:expat)))
2577
2578 (define-public rust-untrusted
2579 (package
2580 (name "rust-untrusted")
2581 (version "0.7.0")
2582 (source
2583 (origin
2584 (method url-fetch)
2585 (uri (crate-uri "untrusted" version))
2586 (file-name (string-append name "-" version ".tar.gz"))
2587 (sha256
2588 (base32
2589 "1kmfykcwif6ashkwg54gcnhxj03kpba2i9vc7z5rpr0xlgvrwdk0"))))
2590 (build-system cargo-build-system)
2591 (home-page "https://github.com/briansmith/untrusted")
2592 (synopsis "Zero-allocation parsing of untrusted inputs in Rust")
2593 (description
2594 "Safe, fast, zero-panic, zero-crashing, zero-allocation parsing of
2595 untrusted inputs in Rust.")
2596 (license license:isc)))
2597
2598 (define-public rust-version-check
2599 (package
2600 (name "rust-version-check")
2601 (version "0.9.1")
2602 (source
2603 (origin
2604 (method url-fetch)
2605 (uri (crate-uri "version_check" version))
2606 (file-name (string-append name "-" version ".tar.gz"))
2607 (sha256
2608 (base32
2609 "1kikqlnggii1rvnxrbls55sc46lxvinz5k3giscgncjj4p87b1q7"))))
2610 (build-system cargo-build-system)
2611 (home-page "https://github.com/SergioBenitez/version_check")
2612 (synopsis "Check that the installed rustc meets some version requirements")
2613 (description
2614 "This tiny crate checks that the running or installed rustc meets some
2615 version requirements. The version is queried by calling the Rust compiler with
2616 @code{--version}. The path to the compiler is determined first via the
2617 @code{RUSTC} environment variable. If it is not set, then @code{rustc} is used.
2618 If that fails, no determination is made, and calls return None.")
2619 (license (list license:asl2.0
2620 license:expat))))
2621
2622 (define-public rust-version-check-0.1
2623 (package
2624 (inherit rust-version-check)
2625 (name "rust-version-check")
2626 (version "0.1.5")
2627 (source
2628 (origin
2629 (method url-fetch)
2630 (uri (crate-uri "version_check" version))
2631 (file-name (string-append name "-" version ".tar.gz"))
2632 (sha256
2633 (base32
2634 "1pf91pvj8n6akh7w6j5ypka6aqz08b3qpzgs0ak2kjf4frkiljwi"))))))
2635
2636 (define-public rust-void
2637 (package
2638 (name "rust-void")
2639 (version "1.0.2")
2640 (source
2641 (origin
2642 (method url-fetch)
2643 (uri (crate-uri "void" version))
2644 (file-name (string-append name "-" version ".tar.gz"))
2645 (sha256
2646 (base32
2647 "0zc8f0ksxvmhvgx4fdg0zyn6vdnbxd2xv9hfx4nhzg6kbs4f80ka"))))
2648 (build-system cargo-build-system)
2649 (home-page "https://github.com/reem/rust-void.git")
2650 (synopsis "Void type for use in statically impossible cases")
2651 (description
2652 "The uninhabited void type for use in statically impossible cases.")
2653 (license license:expat)))
2654
2655 (define-public rust-walkdir
2656 (package
2657 (name "rust-walkdir")
2658 (version "2.2.9")
2659 (source
2660 (origin
2661 (method url-fetch)
2662 (uri (crate-uri "walkdir" version))
2663 (file-name (string-append name "-" version ".tar.gz"))
2664 (sha256
2665 (base32
2666 "07ppalpvxkf8cnqr64np422792y4z5bs9m8b4nrflh5rm17wjn4n"))))
2667 (build-system cargo-build-system)
2668 (arguments
2669 `(#:cargo-inputs
2670 (("rust-same-file" ,rust-same-file)
2671 ("rust-winapi" ,rust-winapi)
2672 ("rust-winapi-util" ,rust-winapi-util))
2673 #:cargo-development-inputs
2674 (("rust-doc-comment" ,rust-doc-comment))))
2675 (home-page "https://github.com/BurntSushi/walkdir")
2676 (synopsis "Recursively walk a directory")
2677 (description "Recursively walk a directory.")
2678 (license (list license:unlicense
2679 license:expat))))
2680
2681 (define-public rust-wasi
2682 (package
2683 (name "rust-wasi")
2684 (version "0.5.0")
2685 (source
2686 (origin
2687 (method url-fetch)
2688 (uri (crate-uri "wasi" version))
2689 (file-name
2690 (string-append name "-" version ".tar.gz"))
2691 (sha256
2692 (base32
2693 "1ir3pd4phdfml0cbziw9bqp7mnk0vfp9biy8bh25lln6raml4m7x"))))
2694 (build-system cargo-build-system)
2695 (home-page "https://github.com/CraneStation/rust-wasi")
2696 (synopsis "Experimental WASI API bindings for Rust")
2697 (description "This package contains experimental WASI API bindings
2698 in Rust.")
2699 (license license:asl2.0)))
2700
2701 (define-public rust-wasm-bindgen-shared
2702 (package
2703 (name "rust-wasm-bindgen-shared")
2704 (version "0.2.48")
2705 (source
2706 (origin
2707 (method url-fetch)
2708 (uri (crate-uri "wasm-bindgen-shared" version))
2709 (file-name (string-append name "-" version ".tar.gz"))
2710 (sha256
2711 (base32
2712 "08rnfhjyk0f6liv8n4rdsvhx7r02glkhcbj2lp9lcbkbfpad9hnr"))))
2713 (build-system cargo-build-system)
2714 (home-page "https://rustwasm.github.io/wasm-bindgen/")
2715 (synopsis "Shared support between wasm-bindgen and wasm-bindgen cli")
2716 (description "This package provides shared support between
2717 @code{wasm-bindgen} and @code{wasm-bindgen} cli, an internal dependency.")
2718 (license (list license:asl2.0
2719 license:expat))))
2720
2721 (define-public rust-wasm-bindgen-test-macro
2722 (package
2723 (name "rust-wasm-bindgen-test-macro")
2724 (version "0.2.48")
2725 (source
2726 (origin
2727 (method url-fetch)
2728 (uri (crate-uri "wasm-bindgen-test-macro" version))
2729 (file-name (string-append name "-" version ".tar.gz"))
2730 (sha256
2731 (base32
2732 "0n28mr6vncf1k1qr2b5bvfxq4jvqkjdzq0z0ab6w2f5d6v8q3q3l"))))
2733 (build-system cargo-build-system)
2734 (arguments
2735 `(#:cargo-inputs
2736 (("rust-proc-macro2" ,rust-proc-macro2)
2737 ("rust-quote" ,rust-quote))))
2738 (home-page "https://github.com/rustwasm/wasm-bindgen")
2739 (synopsis "Internal testing macro for wasm-bindgen")
2740 (description
2741 "This library contains the internal testing macro for wasm-bindgen.")
2742 (license (list license:asl2.0
2743 license:expat))))
2744
2745 (define-public rust-widestring
2746 (package
2747 (name "rust-widestring")
2748 (version "0.4.0")
2749 (source
2750 (origin
2751 (method url-fetch)
2752 (uri (crate-uri "widestring" version))
2753 (file-name (string-append name "-" version ".tar.gz"))
2754 (sha256
2755 (base32
2756 "1dhx6dndjsz1y7c9w06922412kdxyrrkqblvggm76mh8z17hxz7g"))))
2757 (build-system cargo-build-system)
2758 (arguments
2759 `(#:cargo-development-inputs
2760 (("rust-winapi" ,rust-winapi))))
2761 (home-page "https://github.com/starkat99/widestring-rs")
2762 (synopsis "Wide string Rust FFI library")
2763 (description
2764 "A wide string Rust FFI library for converting to and from wide strings,
2765 such as those often used in Windows API or other FFI libaries. Both UTF-16 and
2766 UTF-32 types are provided, including support for malformed encoding.")
2767 (license (list license:asl2.0
2768 license:expat))))
2769
2770 (define-public rust-winapi
2771 (package
2772 (name "rust-winapi")
2773 (version "0.3.8")
2774 (source
2775 (origin
2776 (method url-fetch)
2777 (uri (crate-uri "winapi" version))
2778 (file-name (string-append name "-" version ".tar.gz"))
2779 (sha256
2780 (base32
2781 "1ii9j9lzrhwri0902652awifzx9fpayimbp6hfhhc296xcg0k4w0"))))
2782 (build-system cargo-build-system)
2783 (arguments
2784 `(#:cargo-inputs
2785 (("rust-winapi-i686-pc-windows-gnu"
2786 ,rust-winapi-i686-pc-windows-gnu)
2787 ("rust-winapi-x86-64-pc-windows-gnu"
2788 ,rust-winapi-x86-64-pc-windows-gnu))))
2789 (home-page "https://github.com/retep998/winapi-rs")
2790 (synopsis "Raw FFI bindings for all of Windows API.")
2791 (description
2792 "Raw FFI bindings for all of Windows API.")
2793 (license (list license:asl2.0
2794 license:expat))))
2795
2796 (define-public rust-winapi-0.2
2797 (package
2798 (inherit rust-winapi)
2799 (name "rust-winapi")
2800 (version "0.2.8")
2801 (source
2802 (origin
2803 (method url-fetch)
2804 (uri (crate-uri "winapi" version))
2805 (file-name (string-append name "-" version ".tar.gz"))
2806 (sha256
2807 (base32
2808 "0yh816lh6lf56dpsgxy189c2ai1z3j8mw9si6izqb6wsjkbcjz8n"))))
2809 ;; We do not want to package 48 -sys crates for a package we do not want.
2810 ;; They are all dev dependencies, so we skip building and testing.
2811 (arguments
2812 `(#:tests? #f
2813 #:phases
2814 (modify-phases %standard-phases
2815 (delete 'build))))))
2816
2817 (define-public rust-winapi-build
2818 (package
2819 (name "rust-winapi-build")
2820 (version "0.1.1")
2821 (source
2822 (origin
2823 (method url-fetch)
2824 (uri (crate-uri "winapi-build" version))
2825 (file-name (string-append name "-" version ".tar.gz"))
2826 (sha256
2827 (base32
2828 "1g4rqsgjky0a7530qajn2bbfcrl2v0zb39idgdws9b1l7gp5wc9d"))))
2829 (build-system cargo-build-system)
2830 (home-page "https://github.com/retep998/winapi-rs")
2831 (synopsis "Common code for build.rs in WinAPI -sys crates")
2832 (description
2833 "Common code for build.rs in WinAPI -sys crates.")
2834 (license license:expat)))
2835
2836 (define-public rust-winapi-i686-pc-windows-gnu
2837 (package
2838 (name "rust-winapi-i686-pc-windows-gnu")
2839 (version "0.4.0")
2840 (source
2841 (origin
2842 (method url-fetch)
2843 (uri (crate-uri "winapi-i686-pc-windows-gnu" version))
2844 (file-name (string-append name "-" version ".tar.gz"))
2845 (sha256
2846 (base32
2847 "1dmpa6mvcvzz16zg6d5vrfy4bxgg541wxrcip7cnshi06v38ffxc"))))
2848 (build-system cargo-build-system)
2849 (home-page "https://github.com/retep998/winapi-rs")
2850 (synopsis "Import libraries for the i686-pc-windows-gnu target")
2851 (description "This crate provides import libraries for the
2852 i686-pc-windows-gnu target. Please don't use this crate directly, depend on
2853 @code{winapi} instead.")
2854 (license (list license:asl2.0
2855 license:expat))))
2856
2857 (define-public rust-winapi-util
2858 (package
2859 (name "rust-winapi-util")
2860 (version "0.1.2")
2861 (source
2862 (origin
2863 (method url-fetch)
2864 (uri (crate-uri "winapi-util" version))
2865 (file-name (string-append name "-" version ".tar.gz"))
2866 (sha256
2867 (base32
2868 "1j839dc6y8vszvrsb7yk0qvs0w6asnahxzbyans37vnsw6vbls3i"))))
2869 (build-system cargo-build-system)
2870 (arguments
2871 `(#:cargo-inputs (("rust-winapi" ,rust-winapi))))
2872 (home-page "https://github.com/BurntSushi/winapi-util")
2873 (synopsis "Dumping ground for high level safe wrappers over winapi")
2874 (description
2875 "This package provides a dumping ground for high level safe wrappers over
2876 winapi.")
2877 (license (list license:unlicense
2878 license:expat))))
2879
2880 (define-public rust-winapi-x86-64-pc-windows-gnu
2881 (package
2882 (name "rust-winapi-x86-64-pc-windows-gnu")
2883 (version "0.4.0")
2884 (source
2885 (origin
2886 (method url-fetch)
2887 (uri (crate-uri "winapi-x86_64-pc-windows-gnu" version))
2888 (file-name (string-append name "-" version ".tar.gz"))
2889 (sha256
2890 (base32
2891 "0gqq64czqb64kskjryj8isp62m2sgvx25yyj3kpc2myh85w24bki"))))
2892 (build-system cargo-build-system)
2893 (home-page "https://github.com/retep998/winapi-rs")
2894 (synopsis "Import libraries for the x86_64-pc-windows-gnu target")
2895 (description "This package provides import libraries for the
2896 x86_64-pc-windows-gnu target. Please don't use this crate directly, depend on
2897 @code{winapi} instead.")
2898 (license (list license:asl2.0
2899 license:expat))))
2900
2901 (define-public rust-wincolor
2902 (package
2903 (name "rust-wincolor")
2904 (version "1.0.2")
2905 (source
2906 (origin
2907 (method url-fetch)
2908 (uri (crate-uri "wincolor" version))
2909 (file-name (string-append name "-" version ".tar.gz"))
2910 (sha256
2911 (base32
2912 "1agaf3hcav113i86912ajnw6jxcy4rvkrgyf8gdj8kc031mh3xcn"))))
2913 (build-system cargo-build-system)
2914 (arguments
2915 `(#:cargo-inputs
2916 (("rust-winapi" ,rust-winapi)
2917 ("rust-winapi-util" ,rust-winapi-util))))
2918 (home-page "https://github.com/BurntSushi/termcolor/tree/master/wincolor")
2919 (synopsis "Windows API for controlling text color in a Windows console")
2920 (description
2921 "This package provides a simple Windows specific API for controlling text
2922 color in a Windows console.")
2923 (license (list license:unlicense
2924 license:expat))))
2925
2926 (define-public rust-winutil
2927 (package
2928 (name "rust-winutil")
2929 (version "0.1.1")
2930 (source
2931 (origin
2932 (method url-fetch)
2933 (uri (crate-uri "winutil" version))
2934 (file-name (string-append name "-" version ".tar.gz"))
2935 (sha256
2936 (base32
2937 "0vkyl3fbbf05n5ph5yz8sfaccrk9x3qsr25560w6w68ldf5i7bvx"))))
2938 (build-system cargo-build-system)
2939 (arguments
2940 `(#:cargo-inputs
2941 (("rust-winapi" ,rust-winapi))
2942 ;; This unmaintained crate cannot find winapi when built directly.
2943 #:tests? #f
2944 #:phases
2945 (modify-phases %standard-phases
2946 (delete 'build))))
2947 (home-page "https://bitbucket.org/DaveLancaster/winutil")
2948 (synopsis "Library wrapping a handful of useful winapi functions")
2949 (description
2950 "A simple library wrapping a handful of useful winapi functions.")
2951 (license license:expat)))
2952
2953 (define-public rust-ws2-32-sys
2954 (package
2955 (name "rust-ws2-32-sys")
2956 (version "0.2.1")
2957 (source
2958 (origin
2959 (method url-fetch)
2960 (uri (crate-uri "ws2_32-sys" version))
2961 (file-name (string-append name "-" version ".tar.gz"))
2962 (sha256
2963 (base32
2964 "0ppscg5qfqaw0gzwv2a4nhn5bn01ff9iwn6ysqnzm4n8s3myz76m"))))
2965 (build-system cargo-build-system)
2966 (arguments
2967 `(#:cargo-inputs
2968 (("rust-winapi" ,rust-winapi-0.2)
2969 ("rust-winapi-build" ,rust-winapi-build))
2970 #:phases
2971 (modify-phases %standard-phases
2972 (add-after 'unpack 'fix-Cargo-toml
2973 (lambda _
2974 (substitute* "Cargo.toml"
2975 ((", path =.* }") "}\n"))
2976 #t)))))
2977 (home-page "https://github.com/retep998/winapi-rs")
2978 (synopsis "Function definitions for the Windows API library ws2_32")
2979 (description
2980 "Contains function definitions for the Windows API library ws2_32.")
2981 (license license:expat)))
2982
2983 (define-public rust-xdg
2984 (package
2985 (name "rust-xdg")
2986 (version "2.2.0")
2987 (source
2988 (origin
2989 (method url-fetch)
2990 (uri (crate-uri "xdg" version))
2991 (file-name (string-append name "-" version ".tar.gz"))
2992 (sha256
2993 (base32
2994 "0mws8a0fr3cqk5nh7aq9lmkmhzghvasqy4mhw6nnza06l4d6i2fh"))))
2995 (build-system cargo-build-system)
2996 (home-page "https://github.com/whitequark/rust-xdg")
2997 (synopsis "Store and retrieve files according to XDG specification")
2998 (description
2999 "This package provides a library for storing and retrieving files according
3000 to XDG Base Directory specification")
3001 (license (list license:asl2.0
3002 license:expat))))