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