diff options
Diffstat (limited to 'gnu/packages/crates-io.scm')
-rw-r--r-- | gnu/packages/crates-io.scm | 4595 |
1 files changed, 4582 insertions, 13 deletions
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index db9665d1aa..51d9363b55 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -1,5 +1,9 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2019 Ivan Petkov <ivanppetkov@gmail.com> +;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org> +;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -20,29 +24,2697 @@ #:use-module (guix build-system cargo) #:use-module (guix download) #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix packages)) + #:use-module (guix packages) + #:use-module (gnu packages compression) + #:use-module (gnu packages curl) + #:use-module (gnu packages gcc) + #:use-module (gnu packages jemalloc) + #:use-module (gnu packages llvm) + #:use-module (gnu packages maths) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages ssh) + #:use-module (gnu packages tls) + #:use-module (gnu packages version-control) + #:use-module (gnu packages web)) -(define-public rust-unicode-xid +;;; +;;; Please: Try to add new module packages in alphabetic order. +;;; + +(define-public rust-adler32 (package - (name "rust-unicode-xid") - (version "0.1.0") + (name "rust-adler32") + (version "1.0.3") (source (origin (method url-fetch) - (uri (crate-uri "unicode-xid" version)) + (uri (crate-uri "adler32" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1z57lqh4s18rr4x0j4fw4fmp9hf9346h0kmdgqsqx0fhjr3k0wpw")))) + "0p7fxlnks9l7p7rwfqi7aqgnk2bps5zc0rjiw00mdw19nnbjjlky")))) (build-system cargo-build-system) - (home-page - "https://github.com/unicode-rs/unicode-xid") - (synopsis "Determine Unicode XID related properties") - (description "Determine whether characters have the XID_Start -or XID_Continue properties according to Unicode Standard Annex #31.") + (arguments + `(#:cargo-development-inputs (("rust-rand" ,rust-rand)))) + (home-page "https://github.com/remram44/adler32-rs") + (synopsis "Implementation of the Adler32 rolling hash algorithm") + (description + "This library is an implementation of the Adler32 rolling hash algorithm in +the Rust programming language.") + (license (list license:bsd-3 + license:zlib)))) + +(define-public rust-ansi-term + (package + (name "rust-ansi-term") + (version "0.11.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "ansi_term" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "16wpvrghvd0353584i1idnsgm0r3vchg8fyrm0x8ayv1rgvbljgf")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-winapi" ,rust-winapi)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-tests + ;; https://github.com/ogham/rust-ansi-term/commit/5ff6af6f38790abcb3aafee1239286c10ef69576.patch + (lambda _ + (substitute* "src/debug.rs" + (("^ *Blue") " Blue,") + (("underline: false") "underline: false,")) + #t))))) + (home-page "https://github.com/ogham/rust-ansi-term") + (synopsis "Library for ANSI terminal colours and styles") + (description + "This is a library for controlling colours and formatting, such as red bold +text or blue underlined text, on ANSI terminals.") + (license license:expat))) + +(define-public rust-antidote + (package + (name "rust-antidote") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "antidote" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "19g2sw2qa2ibnh4x7j1snk46593jgx6y7rnvva496ynq61af5z9l")))) + (build-system cargo-build-system) + (home-page "https://github.com/sfackler/rust-antidote") + (synopsis "Poison-free Mutex and RwLock types") + (description + "These types expose identical APIs to the standard library @code{Mutex} and +@code{RwLock} except that they do not return @code{PoisonError}s.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-atty + (package + (name "rust-atty") + (version "0.2.13") + (source + (origin + (method url-fetch) + (uri (crate-uri "atty" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "140sswp1bwqwc4zk80bxkbnfb3g936hgrb77g9g0k1zcld3wc0qq")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc) + ("rust-winapi" ,rust-winapi)) + #:tests? #f)) ; tests fail in our sandbox + (home-page "https://github.com/softprops/atty") + (synopsis "A simple interface for querying atty") + (description + "This package provides a simple interface for querying atty.") + (license license:expat))) + +(define-public rust-autocfg + (package + (name "rust-autocfg") + (version "0.1.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "autocfg" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0asl6fnc35yk5l2rxwhp25v128jgm45dp754h9z8x51b6n90w4r2")))) + (build-system cargo-build-system) + (home-page "https://github.com/cuviper/autocfg") + (synopsis "Automatic cfg for Rust compiler features") + (description "Rust library for build scripts to automatically configure +code based on compiler support. Code snippets are dynamically tested to see +if the @code{rustc} will accept them, rather than hard-coding specific version +support.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-backtrace-sys + (package + (name "rust-backtrace-sys") + (version "0.1.31") + (source + (origin + (method url-fetch) + (uri (crate-uri "backtrace-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0as2pk77br4br04daywhivpi1ixxb8y2c7f726kj849dxys31a42")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-compiler-builtins" + ,rust-compiler-builtins) + ("rust-libc" ,rust-libc) + ("rust-rustc-std-workspace-core" + ,rust-rustc-std-workspace-core)) + #:cargo-development-inputs + (("rust-cc" ,rust-cc)))) + (home-page "https://github.com/rust-lang/backtrace-rs") + (synopsis "Bindings to the libbacktrace gcc library") + (description + "This package provides bindings to the libbacktrace gcc library.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-base-x + (package + (name "rust-base-x") + (version "0.2.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "base-x" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0hv4y5cdhv6bk0ghk2434clw8v4mmk5cc9lsh6qrpri92zlfmx3n")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-bencher" ,rust-bencher) + ("rust-json" ,rust-json) + ("rust-rand" ,rust-rand-0.3)))) + (home-page "https://github.com/OrKoN/base-x-rs") + (synopsis "Encode/decode any base") + (description "This library provides for encoding and decoding any base.") + (license license:expat))) + +(define-public rust-bencher + (package + (name "rust-bencher") + (version "0.1.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "bencher" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1x8p2xblgqssay8cdykp5pkfc0np0jk5bs5cx4f5av097aav9zbx")))) + (build-system cargo-build-system) + (home-page "https://github.com/bluss/bencher/") + (synopsis "Port of the libtest benchmark runner to Rust stable") + (description "This package provides a port of the libtest (unstable Rust) +benchmark runner to Rust stable releases. Supports running benchmarks and +filtering based on the name. Benchmark execution works exactly the same way +and no more (caveat: black_box is still missing!).") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-bitflags + (package + (name "rust-bitflags") + (version "1.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "bitflags" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1zc1qb1hwsnl2d8rhzicsv9kqd5b2hwbrscrcfw5as4sfr35659x")))) + (build-system cargo-build-system) + (home-page "https://github.com/bitflags/bitflags") + (synopsis "Macro to generate structures which behave like bitflags") + (description "This package provides a macro to generate structures which +behave like a set of bitflags.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-blas-sys + (package + (name "rust-blas-sys") + (version "0.7.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "blas-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0h14zjycwc76v15h8qll9z1xiryvmpvsb5gam97pqpdjrrwv5c8k")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-libc" ,rust-libc)))) + (home-page "https://github.com/blas-lapack-rs/blas-sys") + (synopsis "Bindings to BLAS (Fortran)") + (description + "Ths package provides bindings to BLAS (Fortran).") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-cargon + (package + (name "rust-cargon") + (version "0.0.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "cargon" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1cszlab7jk736p0lb50ag4l9nv72m7j41bwrmygl0lr4iz0350w2")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-gcc" ,rust-gcc)))) + (home-page "https://github.com/bryant/argon2rs") + (synopsis "Thin wrapper around the Argon2 C library") + (description + "This package provides a thin wrapper around the Argon2 C library. It is +used in argon2rs' bench suite.") + (license license:wtfpl2))) + +(define-public rust-cblas-sys + (package + (name "rust-cblas-sys") + (version "0.1.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "cblas-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0rgsn3klhhh09d8qf3b87zl4rwk93l2g0qzh9hhb0lff5kcfrzmn")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-libc" ,rust-libc)))) + (home-page "https://github.com/blas-lapack-rs/cblas-sys") + (synopsis "Bindings to CBLAS (C)") + (description + "The package provides bindings to CBLAS (C).") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-cc + (package + (name "rust-cc") + (version "1.0.41") + (source + (origin + (method url-fetch) + (uri (crate-uri "cc" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1zxzd559dbbf1iwdzmkj7czapzccs17kqqmsj9ayijpdix5rrbld")))) + (build-system cargo-build-system) + (arguments + `(;#:cargo-inputs + ;(("rust-rayon" ,rust-rayon)) + #:cargo-development-inputs + (("rust-tempdir" ,rust-tempdir)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'remove-optional-deps + (lambda _ + (substitute* "Cargo.toml.orig" + ((".*optional.*") "\n") + ((".*features.*") "") + ((".*parallel.*") "")) + (delete-file "Cargo.toml") + (copy-file "Cargo.toml.orig" "Cargo.toml") + #t))) + #:tests? #f)) ; Tests require cc-test from git repo. + (home-page "https://github.com/alexcrichton/cc-rs") + (synopsis "Invoke the native C compiler") + (description + "This package provides a build-time dependency for Cargo build scripts to +assist in invoking the native C compiler to compile native C code into a static +archive to be linked into Rustcode.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-cfg-if + (package + (name "rust-cfg-if") + (version "0.1.9") + (source + (origin + (method url-fetch) + (uri (crate-uri "cfg-if" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0csygklgz3ybpr0670rkip49zh76m43ar3k7xgypkzbzrwycx1ml")))) + (build-system cargo-build-system) + (home-page "https://github.com/alexcrichton/cfg-if") + (synopsis "Define an item depending on parameters") + (description "This package provides a macro to ergonomically define an item +depending on a large number of #[cfg] parameters. Structured like an +@code{if-else} chain, the first matching branch is the item that gets emitted.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-clang-sys + (package + (name "rust-clang-sys") + (version "0.28.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "clang-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0ls8zcqi5bmmrvrk3b6r1ym4wlivinbv590d2dvg2xn9f44mbpl1")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-glob" ,rust-glob) + ("rust-libc" ,rust-libc) + ("rust-libloading" ,rust-libloading)) + #:cargo-development-inputs + (("rust-glob" ,rust-glob)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'set-environmental-variable + (lambda* (#:key inputs #:allow-other-keys) + (let ((clang (assoc-ref inputs "libclang"))) + (setenv "LIBCLANG_PATH" + (string-append clang "/lib"))) + #t))))) + (inputs + `(("libclang" ,clang))) + (home-page "https://github.com/KyleMayes/clang-sys") + (synopsis "Rust bindings for libclang") + (description + "This package provides Rust bindings for @code{libclang}.") + (license license:asl2.0))) + +(define-public rust-clang-sys-0.26 + (package + (inherit rust-clang-sys) + (name "rust-clang-sys") + (version "0.26.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "clang-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1r50dwy5hj5gq07dn0qf8222d07qv0970ymx0j8n9779yayc3w3f")))) + (arguments + `(#:cargo-inputs + (("rust-glob" ,rust-glob-0.2) + ("rust-libc" ,rust-libc) + ("rust-libloading" ,rust-libloading)) + #:cargo-development-inputs + (("rust-glob" ,rust-glob-0.2)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'set-environmental-variable + (lambda* (#:key inputs #:allow-other-keys) + (let ((clang (assoc-ref inputs "libclang"))) + (setenv "LIBCLANG_PATH" + (string-append clang "/lib"))) + #t))))))) + +(define-public rust-clicolors-control + (package + (name "rust-clicolors-control") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "clicolors-control" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1y80cgarxhrd1bz5yjm81r444v6flvy36aaxrrsac0yhfd6gvavk")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-atty" ,rust-atty) + ("rust-lazy-static" ,rust-lazy-static) + ("rust-libc" ,rust-libc) + ("rust-winapi" ,rust-winapi)))) + (home-page "https://github.com/mitsuhiko/clicolors-control") + (synopsis "Common utility library to control CLI colorization") + (description + "This package provides a common utility library to control CLI +colorization.") + (license license:expat))) + +(define-public rust-cloudabi + (package + (name "rust-cloudabi") + (version "0.0.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "cloudabi" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0kxcg83jlihy0phnd2g8c2c303px3l2p3pkjz357ll6llnd5pz6x")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags)))) + (home-page "https://nuxi.nl/cloudabi/") + (synopsis "Low level interface to CloudABI") + (description + "Low level interface to CloudABI. Contains all syscalls and related types.") + (license license:bsd-2))) + +(define-public rust-cmake + (package + (name "rust-cmake") + (version "0.1.42") + (source + (origin + (method url-fetch) + (uri (crate-uri "cmake" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0qkwibkvx5xjazvv9v8gvdlpky2jhjxvcz014nrixgzqfyv2byw1")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-cc" ,rust-cc)))) + (home-page "https://github.com/alexcrichton/cmake-rs") + (synopsis "Rust build dependency for running cmake") + (description + "This package provides a build dependency for running @code{cmake} to build +a native library. The CMake executable is assumed to be @code{cmake} unless the +CMAKE environmental variable is set.") + (license (list license:asl2.0 + license:expat)))) + +;; This package requires features which are unavailable +;; on the stable releases of Rust. +(define-public rust-compiler-builtins + (package + (name "rust-compiler-builtins") + (version "0.1.19") + (source + (origin + (method url-fetch) + (uri (crate-uri "compiler_builtins" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1fpabpmg8paj4r5a37vmidh1jx1b7a6ilxm4s3xsxczx27ybjcjf")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cc" ,rust-cc) + ("rust-rustc-std-workspace-core" + ,rust-rustc-std-workspace-core)))) + (home-page "https://github.com/rust-lang-nursery/compiler-builtins") + (synopsis "Compiler intrinsics used by the Rust compiler") + (description + "This package provides compiler intrinsics used by the Rust compiler. This +package is primarily useful when building the @code{core} crate yourself and you +need compiler-rt intrinsics.") + (properties `((hidden? . #t))) + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-constant-time-eq + (package + (name "rust-constant-time-eq") + (version "0.1.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "constant_time_eq" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "083icpr9xb72rrdxw3p4068dcspn6ai22jy7rhl2a8grfz448nlr")))) + (build-system cargo-build-system) + (home-page "https://github.com/cesarb/constant_time_eq") + (synopsis + "Compares two equal-sized byte strings in constant time") + (description + "This package compares two equal-sized byte strings in constant time. +It is inspired by the Linux kernel's @code{crypto_memneq}.") + (license license:cc0))) + +(define-public rust-core-foundation-sys + (package + (name "rust-core-foundation-sys") + (version "0.6.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "core-foundation-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0fzsw1j9g1x598yhwklg59l15hwzc0pyvs01w9fg2kin4598mjp7")))) + (build-system cargo-build-system) + (home-page "https://github.com/servo/core-foundation-rs") + (synopsis "Bindings to Core Foundation for OS X") + (description + "Bindings to Core Foundation for OS X.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-curl-sys + (package + (name "rust-curl-sys") + (version "0.4.20") + (source + (origin + (method url-fetch) + (uri (crate-uri "curl-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "02542zmvl3fpdqf7ai4cqnamm4albx9j645dkjx5qr1myq8ax42y")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc) + ("rust-libnghttp2-sys" ,rust-libnghttp2-sys) + ("rust-libz-sys" ,rust-libz-sys) + ("rust-openssl-sys" ,rust-openssl-sys) + ("rust-winapi" ,rust-winapi)) + #:cargo-development-inputs + (("rust-cc" ,rust-cc) + ("rust-pkg-config" ,rust-pkg-config) + ("rust-openssl-src" ,rust-openssl-src) + ("rust-vcpkg" ,rust-vcpkg)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'find-openssl + (lambda* (#:key inputs #:allow-other-keys) + (let ((openssl (assoc-ref inputs "openssl"))) + (setenv "OPENSSL_DIR" openssl)) + #t))))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("curl" ,curl) + ("nghttp2" ,nghttp2) + ("openssl" ,openssl) + ("zlib" ,zlib))) + (home-page "https://github.com/alexcrichton/curl-rust") + (synopsis "Native bindings to the libcurl library") + (description + "This package provides native bindings to the @code{libcurl} library.") + (license license:expat))) + +(define-public rust-data-encoding + (package + (name "rust-data-encoding") + (version "2.1.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "data-encoding" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "15xd6afhsjl08285piwczrafmckpp8i29padj8v12xhahshprx7l")))) + (build-system cargo-build-system) + (home-page "https://github.com/ia0/data-encoding") + (synopsis "Efficient and customizable data-encoding functions") + (description + "This library provides encodings for many different common cases, including +hexadecimal, bas32, and base64.") + (license license:expat))) + +(define-public rust-defmac + (package + (name "rust-defmac") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "defmac" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "01ff3jdmcc5waffkwllndnx5hsn414r7x1rq4ib73n7awsyzxkxv")))) + (build-system cargo-build-system) + (home-page "https://github.com/bluss/defmac") + (synopsis "Macro to define lambda-like macros inline") + (description "A macro to define lambda-like macros inline.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-defmac-0.1 + (package + (inherit rust-defmac) + (name "rust-defmac") + (version "0.1.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "defmac" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "17giv0n0n1r64z0dahfvkjy3ys517jxyhs8sd9lmgvcljpjyryxa")))))) + +(define-public rust-dirs + (package + (name "rust-dirs") + (version "1.0.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "dirs" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "02vigc566z5i6n9wr2x8sch39qp4arn89xhhrh18fhpm3jfc0ygn")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc) + ("rust-winapi" ,rust-winapi)))) + (home-page "https://github.com/soc/dirs-rs") + (synopsis "Abstractions for standard locations for various platforms") + (description + "This package provides a tiny low-level library that provides +platform-specific standard locations of directories for config, cache and other +data on Linux, Windows, macOS and Redox by leveraging the mechanisms defined by +the XDG base/user directory specifications on Linux, the Known Folder API on +Windows, and the Standard Directory guidelines on macOS.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-discard + (package + (name "rust-discard") + (version "1.0.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "discard" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1h67ni5bxvg95s91wgicily4ix7lcw7cq0a5gy9njrybaibhyb91")))) + (build-system cargo-build-system) + (home-page "https://github.com/Pauan/rust-discard") + (synopsis "Allow for intentionally leaking memory") + (description "There are situations where you need to intentionally leak some +memory but not other memory. This package provides a discard trait which allows +for intentionally leaking memory") + (license license:expat))) + +(define-public rust-doc-comment + (package + (name "rust-doc-comment") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "doc-comment" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "15rsqxgarfpb1yim9sbp9yfgj7p2dq6v51c6bq1a62paii9ylgcj")))) + (build-system cargo-build-system) + (home-page "https://github.com/GuillaumeGomez/doc-comment") + (synopsis "Macro to generate doc comments") + (description "This package provides a way to generate doc comments +from macros.") + (license license:expat))) + +(define-public rust-dtoa + (package + (name "rust-dtoa") + (version "0.4.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "dtoa" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0phbm7i0dpn44gzi07683zxaicjap5064w62pidci4fhhciv8mza")))) + (build-system cargo-build-system) + (home-page "https://github.com/dtolnay/dtoa") + (synopsis "Fast functions for printing floating-point primitives") + (description "This crate provides fast functions for printing +floating-point primitives to an @code{io::Write}.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-dtoa-0.2 + (package + (inherit rust-dtoa) + (name "rust-dtoa") + (version "0.2.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "dtoa" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0g96cap6si1g6wi62hsdk2fnj3sf5vd4i97zj6163j8hhnsl3n0d")))))) + +(define-public rust-fallible-iterator + (package + (name "rust-fallible-iterator") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "fallible-iterator" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1xq759lsr8gqss7hva42azn3whgrbrs2sd9xpn92c5ickxm1fhs4")))) + (build-system cargo-build-system) + (home-page "https://github.com/sfackler/rust-fallible-iterator") + (synopsis "Fallible iterator traits") + (description "If the @code{std} or @code{alloc} features are enabled, this +crate provides implementations for @code{Box}, @code{Vec}, @code{BTreeMap}, and +@code{BTreeSet}. If the @code{std} feature is enabled, this crate additionally +provides implementations for @code{HashMap} and @code{HashSet}.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-filetime + (package + (name "rust-filetime") + (version "0.2.7") + (source + (origin + (method url-fetch) + (uri (crate-uri "filetime" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0sflihq2l77xjrza7yjalnxsc7dxzg25rhzcfbd9vmyfah5kimvb")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cfg-if" ,rust-cfg-if) + ("rust-libc" ,rust-libc) + ("rust-redox-syscall" ,rust-redox-syscall) + ("rust-winapi" ,rust-winapi)) + #:cargo-development-inputs + (("rust-tempdir" ,rust-tempdir)))) + (home-page "https://github.com/alexcrichton/filetime") + (synopsis "Platform-agnostic accessors of timestamps in File metadata") + (description + "This library contains a helper library for inspecting and setting the +various timestamps of files in Rust. This library takes into account +cross-platform differences in terms of where the timestamps are located, what +they are called, and how to convert them into a platform-independent +representation.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-findshlibs + (package + (name "rust-findshlibs") + (version "0.5.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "findshlibs" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1n2vagn0q5yim32hxkwi1cjgp3yn1dm45p7z8nw6lapywihhs9mi")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-lazy-static" ,rust-lazy-static) + ("rust-libc" ,rust-libc)))) + (home-page "https://github.com/gimli-rs/findshlibs") + (synopsis "Find the set of shared libraries loaded in the current process") + (description + "Find the set of shared libraries loaded in the current process with a +cross platform API.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-fixedbitset + (package + (name "rust-fixedbitset") + (version "0.1.9") + (source + (origin + (method url-fetch) + (uri (crate-uri "fixedbitset" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0czam11mi80dbyhf4rd4lz0ihcf7vkfchrdcrn45wbs0h40dxm46")))) + (build-system cargo-build-system) + (home-page "https://github.com/petgraph/fixedbitset") + (synopsis "FixedBitSet is a simple bitset collection") + (description "FixedBitSet is a simple bitset collection.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-fnv + (package + (name "rust-fnv") + (version "1.0.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "fnv" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ww56bi1r5b8id3ns9j3qxbi7w5h005rzhiryy0zi9h97raqbb9g")))) + (build-system cargo-build-system) + (home-page "https://github.com/servo/rust-fnv") + (synopsis "implementation of the Fowler-Noll-Vo hash function") + (description "The @code{fnv} hash function is a custom @code{Hasher} +implementation that is more efficient for smaller hash keys.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-foreign-types-shared + (package + (name "rust-foreign-types-shared") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "foreign-types-shared" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0kanxlif1vp0ffh2r9l610jqbkmb3183yqykxq1z5w1vay2rn7y6")))) + (build-system cargo-build-system) + (home-page "https://github.com/sfackler/foreign-types") + (synopsis "An internal crate used by foreign-types") + (description + "An internal crate used by foreign-types.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-fs-extra + (package + (name "rust-fs-extra") + (version "1.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "fs_extra" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0x6675wdhsx277k1k1235jwcv38naf20d8kwrk948ds26hh4lajz")))) + (build-system cargo-build-system) + (home-page "https://github.com/webdesus/fs_extra") + (synopsis "Extra filesystem methods") + (description "Expanding opportunities standard library @code{std::fs} and +@code{std::io}. Recursively copy folders with recept information about +process and much more.") + (license license:expat))) + +(define-public rust-fuchsia-cprng + (package + (name "rust-fuchsia-cprng") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "fuchsia-cprng" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1fnkqrbz7ixxzsb04bsz9p0zzazanma8znfdqjvh39n14vapfvx0")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f)) ; tests require zircon + (home-page "https://fuchsia.googlesource.com/fuchsia/+/master/garnet/public/rust/fuchsia-cprng") + (synopsis "Fuchsia cryptographically secure pseudorandom number generator") + (description "Rust crate for the Fuchsia cryptographically secure +pseudorandom number generator") + (license license:bsd-3))) + +(define-public rust-fuchsia-zircon + (package + (name "rust-fuchsia-zircon") + (version "0.3.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "fuchsia-zircon" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "10jxc5ks1x06gpd0xg51kcjrxr35nj6qhx2zlc5n7bmskv3675rf")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags) + ("rust-fuchsia-zircon-sys" ,rust-fuchsia-zircon-sys)) + #:tests? #f)) ; tests require zircon + (home-page "https://fuchsia.googlesource.com/garnet/") + (synopsis "Rust bindings for the Zircon kernel") + (description "Rust bindings for the Zircon kernel.") + (license license:bsd-3))) + +(define-public rust-fuchsia-zircon-sys + (package + (name "rust-fuchsia-zircon-sys") + (version "0.3.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "fuchsia-zircon-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "19zp2085qsyq2bh1gvcxq1lb8w6v6jj9kbdkhpdjrl95fypakjix")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f)) ; tests require zircon + (home-page "https://fuchsia.googlesource.com/garnet/") + (synopsis "Low-level Rust bindings for the Zircon kernel") + (description "Low-level Rust bindings for the Zircon kernel.") + (license license:bsd-3))) + +(define-public rust-futures + (package + (name "rust-futures") + (version "0.1.28") + (source + (origin + (method url-fetch) + (uri (crate-uri "futures" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0saq8ffjw1pwf1pzhw3kq1z7dfq6wpd8x93dnni6vbkc799kkp25")))) + (build-system cargo-build-system) + (home-page "https://github.com/rust-lang-nursery/futures-rs") + (synopsis "Implementation of zero-cost futures in Rust") + (description "An implementation of @code{futures} and @code{streams} +featuring zero allocations, composability, and iterator-like interfaces.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-futures-core-preview + (package + (name "rust-futures-core-preview") + (version "0.3.0-alpha.17") + (source + (origin + (method url-fetch) + (uri (crate-uri "futures-core-preview" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1xaq8m609k6cz8xydwhwp8xxyxigabcw1w9ngycfy0bnkg7iq52b")))) + (build-system cargo-build-system) + (arguments + '(#:tests? #f)) ; The only tests are doc tests, which fail. + (home-page "https://rust-lang-nursery.github.io/futures-rs/") + (synopsis "Core traits and types in for the @code{futures} library.") + (description "This crate provides the core traits and types in for the +@code{futures} library.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-futures-cpupool + (package + (name "rust-futures-cpupool") + (version "0.1.8") + (source + (origin + (method url-fetch) + (uri (crate-uri "futures-cpupool" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1r32456gpblzfvnkf60545v8acqk7gh5zhyhi1jn669k9gicv45b")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-futures" ,rust-futures) + ("rust-num-cpus" ,rust-num-cpus)))) + (home-page "https://github.com/rust-lang-nursery/futures-rs") + (synopsis "Implementation of thread pools which hand out futures") + (description + "An implementation of thread pools which hand out futures to the results of +the computation on the threads themselves.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-futures-io-preview + (package + (name "rust-futures-io-preview") + (version "0.3.0-alpha.17") + (source + (origin + (method url-fetch) + (uri (crate-uri "futures-io-preview" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0fhvwhdb8ywjjbfng0ra1r8yyc9yzpyxg9sv3spb3f7w0lk40bh8")))) + (build-system cargo-build-system) + (home-page "https://rust-lang-nursery.github.io/futures-rs/") + (synopsis "Async read and write traits for the futures library") + (description "This crate provides the @code{AsyncRead} and +@code{AsyncWrite} traits for the @code{futures-rs} library.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-futures-sink-preview + (package + (name "rust-futures-sink-preview") + (version "0.3.0-alpha.17") + (source + (origin + (method url-fetch) + (uri (crate-uri "futures-sink-preview" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1r4d0gy73hdxkh5g1lrhl1kjnwp6mywjgcj70v0z78b921da42a3")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-futures-core-preview" ,rust-futures-core-preview)))) + (home-page "https://rust-lang-nursery.github.io/futures-rs/") + (synopsis "Asynchronous `Sink` trait for the futures-rs library") + (description + "This package provides the asynchronous @code{Sink} trait for the +futures-rs library.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-gcc + (package + (inherit rust-cc) + (name "rust-gcc") + (version "0.3.55") + (source + (origin + (method url-fetch) + (uri (crate-uri "gcc" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1hng1sajn4r67hndvhjysswz8niayjwvcj42zphpxzhbz89kjpwg")))) + (build-system cargo-build-system) + (arguments + `(;#:cargo-inputs + ;(("rust-rayon" ,rust-rayon)) + #:cargo-development-inputs + (("rust-tempdir" ,rust-tempdir)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'remove-optional-deps + (lambda _ + (substitute* "Cargo.toml.orig" + ((".*optional.*") "\n") + ((".*features.*") "") + ((".*parallel.*") "")) + (delete-file "Cargo.toml") + (copy-file "Cargo.toml.orig" "Cargo.toml") + #t))) + #:tests? #f)) + (home-page "https://github.com/alexcrichton/cc-rs") + (synopsis "Library to compile C/C++ code into a Rust library/application") + (description + "This package provides a build-time dependency for Cargo build scripts to +assist in invoking the native C compiler to compile native C code into a static +archive to be linked into Rustcode.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-getopts + (package + (name "rust-getopts") + (version "0.2.17") + (source + (origin + (method url-fetch) + (uri (crate-uri "getopts" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "018yhq97zgcrcxwhj3pxh31h83704sgaiijdnpl0r1ir366c005r")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-log" ,rust-log)))) + (home-page "https://github.com/rust-lang-nursery/getopts") + (synopsis "Rust library for option parsing for CLI utilities") + (description "This library provides getopts-like option parsing.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-glob + (package + (name "rust-glob") + (version "0.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "glob" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0x25wfr7vg3mzxc9x05dcphvd3nwlcmbnxrvwcvrrdwplcrrk4cv")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-tempdir" ,rust-tempdir)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-tests + ;; This test assumes /root exists but is unreadable by the user. + (lambda _ + (substitute* "src/lib.rs" + (("cfg\\(all\\(unix,.*") "cfg(windows)]\n")) + #t))))) + (home-page "https://github.com/rust-lang-nursery/glob") + (synopsis "Match file paths against Unix shell style patterns") + (description + "This package provides support for matching file paths against Unix +shell style patterns.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-glob-0.2 + (package + (inherit rust-glob) + (name "rust-glob") + (version "0.2.11") + (source + (origin + (method url-fetch) + (uri (crate-uri "glob" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ysvi72slkw784fcsymgj4308c3y03gwjjzqxp80xdjnkbh8vqcb")))) + (arguments + `(#:cargo-development-inputs + (("rust-tempdir" ,rust-tempdir)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-tests + ;; This test assumes /root exists but is unreadable by the user. + (lambda _ + (substitute* "src/lib.rs" + (("cfg\\(unix") "cfg(windows")) + #t))))))) + +(define-public rust-heapsize + (package + (name "rust-heapsize") + (version "0.4.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "heapsize" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0q94q9ppqjgrw71swiyia4hgby2cz6dldp7ij57nkvhd6zmfcy8n")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-winapi" ,rust-winapi)) + ;; Tests assume rust is built with jemalloc. + ;; https://github.com/servo/heapsize/issues/74 + #:cargo-test-flags '("--features" "flexible-tests"))) + (home-page "https://github.com/servo/heapsize") + (synopsis "Measure the total runtime size of an object on the heap") + (description + "Infrastructure for measuring the total runtime size of an object on the +heap.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-heapsize-0.3 + (package + (inherit rust-heapsize) + (name "rust-heapsize") + (version "0.3.9") + (source + (origin + (method url-fetch) + (uri (crate-uri "heapsize" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0dmwc37vgsdjzk10443dj4f23439i9gch28jcwzmry3chrwx8v2m")))) + (arguments + `(#:cargo-inputs (("rust-kernel32-sys" ,rust-kernel32-sys)) + #:tests? #f)))) ;; No flexible-tests feature flags on this release. + +;; This package makes use of removed features +(define-public rust-heapsize-plugin + (package + (name "rust-heapsize-plugin") + (version "0.1.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "heapsize_plugin" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1i72isf699q9jl167g2kg4xd6h3cd05rc79zaph58aqjy0g0m9y9")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs (("rust-heapsize" ,rust-heapsize-0.3)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-Cargo-toml + (lambda _ + (substitute* "Cargo.toml" + (("path = \"..\", ") "")) + #t))))) + (home-page "https://github.com/servo/heapsize") + (synopsis "Measure runtime size of an object on the heap") + (description + "This package automatically generates infrastructure for measuring the +total runtime size of an object on the heap") + (properties `((hidden? . #t))) + (license license:mpl2.0))) + +(define-public rust-hex + (package + (name "rust-hex") + (version "0.3.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "hex" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0xsdcjiik5j750j67zk42qdnmm4ahirk3gmkmcqgq7qls2jjcl40")))) + (build-system cargo-build-system) + (home-page "https://github.com/KokaKiwi/rust-hex") + (synopsis "Encode and decode data to/from hexadecimals") + (description "This crate allows for encoding and decoding data into/from +hexadecimal representation.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-hostname + (package + (name "rust-hostname") + (version "0.1.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "hostname" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0kprf862qaa7lwdms6aw7f3275h0j2rwhs9nz5784pm8hdmb9ki1")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc) + ("rust-winutil" ,rust-winutil)))) + (home-page "https://github.com/fengcen/hostname") + (synopsis "Get hostname for Rust") + (description + "Get hostname for Rust.") + (license license:expat))) + +(define-public rust-iovec + (package + (name "rust-iovec") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "iovec" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "025vi072m22299z3fg73qid188z2iip7k41ba6v5v5yhwwby9rnv")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc) + ("rust-winapi" ,rust-winapi-0.2)))) + (home-page "https://github.com/carllerche/iovec") + (synopsis "Portable buffer type for scatter/gather I/O operations") + (description + "Portable buffer type for scatter/gather I/O operations.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-itoa + (package + (name "rust-itoa") + (version "0.4.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "itoa" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0zvg2d9qv3avhf3d8ggglh6fdyw8kkwqg3r4622ly5yhxnvnc4jh")))) + (build-system cargo-build-system) + (home-page "https://github.com/dtolnay/itoa") + (synopsis "Fast functions for printing integer primitives") + (description "This crate provides fast functions for printing integer +primitives to an @code{io::Write}.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-itoa-0.1 + (package + (inherit rust-itoa) + (name "rust-itoa") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "itoa" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "18g7p2hrb3dk84z3frfgmszfc9hjb4ps9vp99qlb1kmf9gm8hc5f")))))) + +(define-public rust-jemalloc-sys + (package + (name "rust-jemalloc-sys") + (version "0.3.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "jemalloc-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0ify9vlql01qhfxlj7d4p9jvcp90mj2h69nkbq7slccvbhzryfqd")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc) + ("rust-cc" ,rust-cc) + ("rust-fs-extra" ,rust-fs-extra)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'override-jemalloc + (lambda* (#:key inputs #:allow-other-keys) + (let ((jemalloc (assoc-ref inputs "jemalloc"))) + (delete-file-recursively "jemalloc") + (setenv "JEMALLOC_OVERRIDE" + (string-append jemalloc "/lib/libjemalloc_pic.a"))) + #t))))) + (inputs + `(("jemalloc" ,jemalloc))) + (home-page "https://github.com/gnzlbg/jemallocator") + (synopsis "Rust FFI bindings to jemalloc") + (description "This package provides Rust FFI bindings to jemalloc.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-json + (package + (name "rust-json") + (version "0.11.14") + (source + (origin + (method url-fetch) + (uri (crate-uri "json" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1hj8c6xj5c2aqqszi8naaflmcdbya1i9byyjrq4iybxjb4q91mq1")))) + (build-system cargo-build-system) + (home-page "https://github.com/maciejhirsz/json-rust") + (synopsis "JSON implementation in Rust") + (description "This crate provides a JSON implementation in Rust, reducing +friction with idiomatic Rust structs to ease interopability.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-kernel32-sys + (package + (name "rust-kernel32-sys") + (version "0.2.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "kernel32-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1389av0601a9yz8dvx5zha9vmkd6ik7ax0idpb032d28555n41vm")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-winapi" ,rust-winapi-0.2) + ("rust-winapi-build" ,rust-winapi-build)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-Cargo-toml + (lambda _ + (substitute* "Cargo.toml" + ((", path =.* }") "}\n")) + #t))))) + (home-page "https://github.com/retep998/winapi-rs") + (synopsis "Function definitions for the Windows API library kernel32") + (description "Contains function definitions for the Windows API library +kernel32.") + (license license:expat))) + +(define-public rust-language-tags + (package + (name "rust-language-tags") + (version "0.2.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "language-tags" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "16hrjdpa827carq5x4b8zhas24d8kg4s16m6nmmn1kb7cr5qh7d9")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-heapsize" ,rust-heapsize-0.3)) + #:cargo-development-inputs + (("rust-heapsize-plugin" ,rust-heapsize-plugin)))) + (home-page "https://github.com/pyfisch/rust-language-tags") + (synopsis "Language tags for Rust") + (description + "Language tags can be used identify human languages, scripts e.g. Latin +script, countries and other regions. They are commonly used in HTML and HTTP +@code{Content-Language} and @code{Accept-Language} header fields. This package +currently supports parsing (fully conformant parser), formatting and comparing +language tags.") + (license license:expat))) + +(define-public rust-lazy-static + (package + (name "rust-lazy-static") + (version "1.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "lazy_static" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "052ac27w189hrf1j3hz7sga46rp84zl2hqnzyihxv78mgzr2jmxw")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-spin" ,rust-spin)))) + (home-page "https://github.com/rust-lang-nursery/lazy-static.rs") + (synopsis "Macro for declaring lazily evaluated statics in Rust") + (description + "This package provides a macro for declaring lazily evaluated statics in +Rust. Using this macro, it is possible to have @code{static}s that require code +to be executed at runtime in order to be initialized. This includes anything +requiring heap allocations, like vectors or hash maps, as well as anything that +requires non-const function calls to be computed.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-libc + (package + (name "rust-libc") + (version "0.2.62") + (source + (origin + (method url-fetch) + (uri (crate-uri "libc" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1fh69kpjg8hqff36kdczx7sax98gk4qs4ws1dwvjz0rgip0d5z1l")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core)))) + (home-page "https://github.com/rust-lang/libc") + (synopsis "Raw FFI bindings to platform libraries like libc") + (description + "libc provides all of the definitions necessary to easily +interoperate with C code (or \"C-like\" code) on each of the platforms +that Rust supports. This includes type definitions (e.g., c_int), +constants (e.g., EINVAL) as well as function headers (e.g., malloc). + +This crate exports all underlying platform types, functions, and +constants under the crate root, so all items are accessible as +@samp{libc::foo}. The types and values of all the exported APIs match +the platform that libc is compiled for.") + (license (list license:expat + license:asl2.0)))) + +(define-public rust-libgit2-sys + (package + (name "rust-libgit2-sys") + (version "0.8.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "libgit2-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0y2mibmx7wy91s2kmb2gfb29mrqlqaxpy5wcwr8s1lwws7b9w5sc")) )) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc) + ("rust-libssh2-sys" ,rust-libssh2-sys) + ("rust-libz-sys" ,rust-libz-sys) + ("rust-openssl-sys" ,rust-openssl-sys)) + #:cargo-development-inputs + (("rust-cc" ,rust-cc) + ("rust-pkg-config" ,rust-pkg-config)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'find-openssl + (lambda* (#:key inputs #:allow-other-keys) + (let ((openssl (assoc-ref inputs "openssl"))) + (setenv "OPENSSL_DIR" openssl)) + (delete-file-recursively "libgit2") + (setenv "LIBGIT2_SYS_USE_PKG_CONFIG" "1") + (setenv "LIBSSH2_SYS_USE_PKG_CONFIG" "1") + #t))))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("libgit2" ,libgit2) + ("openssl" ,openssl) + ("zlib" ,zlib))) + (home-page "https://github.com/rust-lang/git2-rs") + (synopsis "Native bindings to the libgit2 library") + (description + "This package provides native rust bindings to the @code{libgit2} library.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-libgit2-sys-0.7 + (package + (inherit rust-libgit2-sys) + (name "rust-libgit2-sys") + (version "0.7.11") + (source + (origin + (method url-fetch) + (uri (crate-uri "libgit2-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1wcvg2qqra2aviasvqcscl8gb2rnjnd6h998wy5dlmf2bnriqi28")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-curl-sys" ,rust-curl-sys) + ("rust-libc" ,rust-libc) + ("rust-libssh2-sys" ,rust-libssh2-sys) + ("rust-libz-sys" ,rust-libz-sys) + ("rust-openssl-sys" ,rust-openssl-sys)) + #:cargo-development-inputs + (("rust-cc" ,rust-cc) + ("rust-pkg-config" ,rust-pkg-config)))) + (inputs + `(("curl" ,curl) + ,@(package-inputs rust-libgit2-sys))))) + +(define-public rust-libloading + (package + (name "rust-libloading") + (version "0.5.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "libloading" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0lyply8rcqc8agajzxs7bq6ivba9dnn1i68kgb9z2flnfjh13cgj")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cc" ,rust-cc) + ("rust-winapi" ,rust-winapi)))) + (home-page "https://github.com/nagisa/rust_libloading/") + (synopsis "Rust library for loading dynamic libraries") + (description + "A memory-safer wrapper around system dynamic library loading primitives. +The most important safety guarantee by this library is prevention of +dangling-Symbols that may occur after a Library is unloaded. Using this library +allows loading dynamic libraries (also known as shared libraries) as well as use +functions and static variables these libraries contain.") + (license license:isc))) + +(define-public rust-libssh2-sys + (package + (name "rust-libssh2-sys") + (version "0.2.12") + (source + (origin + (method url-fetch) + (uri (crate-uri "libssh2-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1zb6gsw795nq848nk5x2smzpfnn1s15wjlzjnvr8ihlz2l5x2549")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc) + ("rust-libz-sys" ,rust-libz-sys) + ("rust-openssl-sys" ,rust-openssl-sys)) + #:cargo-development-inputs + (("rust-cc" ,rust-cc) + ("rust-openssl-src" ,rust-openssl-src) + ("rust-pkg-config" ,rust-pkg-config) + ("rust-vcpkg" ,rust-vcpkg)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'find-openssl + (lambda* (#:key inputs #:allow-other-keys) + (let ((openssl (assoc-ref inputs "openssl"))) + (setenv "OPENSSL_DIR" openssl)) + (delete-file-recursively "libssh2") + (setenv "LIBSSH2_SYS_USE_PKG_CONFIG" "1") + #t))))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("libssh2" ,libssh2) + ("openssl" ,openssl) + ("zlib" ,zlib))) + (home-page "https://github.com/alexcrichton/ssh2-rs") + (synopsis "Native bindings to the libssh2 library") + (description + "This package provides native rust bindings to the @code{libssh2} library.") + (license (list license:asl2.0 + license:expat)))) + + +(define-public rust-lock-api + (package + (name "rust-lock-api") + (version "0.1.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "lock_api" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0b24q9mh258xa52ap636q1sxz0j5vrnp0hwbbh7ddjka3wwz3sv2")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-owning-ref" ,rust-owning-ref) + ("rust-scopeguard" ,rust-scopeguard-0.3)))) + (home-page "https://github.com/Amanieu/parking_lot") + (synopsis "Wrappers to create fully-featured Mutex and RwLock types") + (description + "This package provides wrappers to create fully-featured @code{Mutex} and +@code{RwLock} types. It is compatible with @code{no_std}.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-log + (package + (name "rust-log") + (version "0.3.8") + (source + (origin + (method url-fetch) + (uri (crate-uri "log" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0nsn28syc49vvjhxcfc8261rd1frhjc0r4bn9v3mqvps3ra7f3w8")))) + (build-system cargo-build-system) + (home-page "https://github.com/rust-lang-nursery/log") + (synopsis "Lightweight logging") + (description + "This package provides a lightweight logging facade for Rust") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-lzma-sys + (package + (name "rust-lzma-sys") + (version "0.1.15") + (source + (origin + (method url-fetch) + (uri (crate-uri "lzma-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "14gyj256yh0wm77jbvmlc39v7lfn0navpfrja4alczarzlc8ir2k")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cc" ,rust-cc) + ("rust-libc" ,rust-libc) + ("rust-pkg-config" ,rust-pkg-config)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'unbundle-xz + (lambda* (#:key inputs #:allow-other-keys) + (let ((xz (assoc-ref inputs "xz"))) + (delete-file-recursively "xz-5.2")) + #t))))) + (inputs + `(("pkg-config" ,pkg-config) + ("xz" ,xz))) + (home-page "https://github.com/alexcrichton/xz2-rs") + (synopsis "Bindings to liblzma for lzma and xz stream encoding/decoding") + (description + "This package contains the raw bindings to liblzma which contains an +implementation of LZMA and xz stream encoding/decoding.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-maplit + (package + (name "rust-maplit") + (version "1.0.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "maplit" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0hsczmvd6zkqgzqdjp5hfyg7f339n68w83n4pxvnsszrzssbdjq8")))) + (build-system cargo-build-system) + (home-page "https://github.com/bluss/maplit") + (synopsis "Collection of Map macros") + (description "This crate provides a collection of @code{literal} macros for +@code{HashMap}, @code{HashSet}, @code{BTreeMap}, and @code{BTreeSet.}") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-matches + (package + (name "rust-matches") + (version "0.1.8") + (source + (origin + (method url-fetch) + (uri (crate-uri "matches" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "020axl4q7rk9vz90phs7f8jas4imxal9y9kxl4z4v7a6719mrz3z")))) + (build-system cargo-build-system) + (home-page "https://github.com/SimonSapin/rust-std-candidates") + (synopsis "Macro to evaluate whether an expression matches a pattern.") + (description "This package provides a macro to evaluate, as a boolean, +whether an expression matches a pattern.") + (license license:expat))) + +(define-public rust-md5 + (package + (name "rust-md5") + (version "0.6.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "md5" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "17b2xm4h4cvxsdjsf3kdrzqv2za60kak961xzi5kmw6g6djcssvy")))) + (build-system cargo-build-system) + (home-page "https://github.com/stainless-steel/md5") + (synopsis "MD5 hash function in Rust") + (description "The package provides the MD5 hash function.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-memmap + (package + (name "rust-memmap") + (version "0.7.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "memmap" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0ns7kkd1h4pijdkwfvw4qlbbmqmlmzwlq3g2676dcl5vwyazv1b5")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc) + ("rust-winapi" ,rust-winapi)) + #:cargo-development-inputs + (("rust-tempdir" ,rust-tempdir)))) + (home-page "https://github.com/danburkert/memmap-rs") + (synopsis "Rust library for cross-platform memory mapped IO") + (description + "This package provides a cross-platform Rust API for memory-mapped +file IO.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-memmap-0.6 + (package + (inherit rust-memmap) + (name "rust-memmap") + (version "0.6.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "memmap" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1zy6s0ni0lx9rjzq3gq2zz9r8zgjmbp02332g3gsj4fyhv4s5zz2")))) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc) + ("rust-winapi" ,rust-winapi)) + #:cargo-development-inputs + (("rust-tempdir" ,rust-tempdir)))))) + +(define-public rust-mime + (package + (name "rust-mime") + (version "0.3.13") + (source + (origin + (method url-fetch) + (uri (crate-uri "mime" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "09clbyvdkwflp8anwjhqdib0sw8191gphcchdp80nc8ayhhwl9ry")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-unicase" ,rust-unicase)))) + (home-page "https://github.com/hyperium/mime") + (synopsis "Strongly Typed Mimes") + (description + "Support MIME (HTTP Media Types) as strong types in Rust.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-miniz-oxide + (package + (name "rust-miniz-oxide") + (version "0.3.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "miniz_oxide" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1bmanbbcdmssfbgik3fs323g7vljc5wkjz7s61jsbbz2kg0nckrh")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-adler32" ,rust-adler32)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-tests + (lambda _ + (substitute* "tests/test.rs" + (("../miniz/miniz.c") "Cargo.toml")) + #t))))) + (home-page "https://github.com/Frommi/miniz_oxide/tree/master/miniz_oxide") + (synopsis "Pure rust replacement for the miniz DEFLATE/zlib encoder/decoder") + (description + "A pure rust replacement for the miniz DEFLATE/zlib encoder/decoder. Using +@code{flate2} with the @code{rust_backend} feature provides an easy to use +streaming API for miniz_oxide.") + (license license:expat))) + +(define-public rust-miniz-sys + (package + (name "rust-miniz-sys") + (version "0.1.12") + (source + (origin + (method url-fetch) + (uri (crate-uri "miniz-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "00l2r4anm8g35x0js2zfdnwfbrih9m43vphdpb77c5ga3kjkm7hy")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cc" ,rust-cc) + ("rust-libc" ,rust-libc)))) + (home-page "https://github.com/alexcrichton/flate2-rs") + (synopsis "Bindings to the miniz.c library") + (description + "This package provides bindings to the @code{miniz.c} library.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-miow + (package + (name "rust-miow") + (version "0.3.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "miow" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "09ljvx6wg30f2xlv7b7hhpkw7k312n3hjgmrbhwzhz9x03ra0sir")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-socket2" ,rust-socket2) + ("rust-winapi" ,rust-winapi)) + #:cargo-development-inputs + (("rust-rand" ,rust-rand)))) + (home-page "https://github.com/alexcrichton/miow") + (synopsis "Rust I/O library for Windows") + (description + "This package provides a zero overhead I/O library for Windows, focusing on +IOCP and Async I/O abstractions.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-miow-0.2 + (package + (inherit rust-miow) + (name "rust-miow") + (version "0.2.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "miow" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "06g9b8sqlh5gxakwqq4rrib07afwanfnxgxajrldwcgk3hxjy7wc")))) + (arguments + `(#:cargo-inputs + (("rust-kernel32-sys" ,rust-kernel32-sys) + ("rust-net2" ,rust-net2) + ("rust-winapi" ,rust-winapi-0.2) + ("rust-ws2-32-sys" ,rust-ws2-32-sys)) + #:cargo-development-inputs + (("rust-rand" ,rust-rand-0.3)))))) + +(define-public rust-modifier + (package + (name "rust-modifier") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "modifier" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0n3fmgli1nsskl0whrfzm1gk0rmwwl6pw1q4nb9sqqmn5h8wkxa1")))) + (build-system cargo-build-system) + (home-page "https://github.com/reem/rust-modifier") + (synopsis + "Chaining APIs for both self -> Self and &mut self methods.") + (description + "Chaining APIs for both self -> Self and &mut self methods.") + (license license:expat))) + +(define-public rust-net2 + (package + (name "rust-net2") + (version "0.2.33") + (source + (origin + (method url-fetch) + (uri (crate-uri "net2" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "126g3fgfxp06zimc1l9iyxnn9cif1hjsg7sd81nlls5nnyghsma2")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cfg-if" ,rust-cfg-if) + ("rust-libc" ,rust-libc) + ("rust-winapi" ,rust-winapi)))) + (home-page "https://github.com/rust-lang-nursery/net2-rs") + (synopsis "Extensions to the standard library's networking types") + (description + "This library contains extensions to the standard library's networking +types as proposed in RFC 1158.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-netlib-src + (package + (name "rust-netlib-src") + (version "0.7.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "netlib-src" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "112hwfw1zzdj10h3j213xxqjrq38iygb3nb3ijay65ycmrg819s4")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-cmake" ,rust-cmake) + ("rust-libc" ,rust-libc)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'use-system-lapack + (lambda _ + (delete-file-recursively "source") + (substitute* "Cargo.toml" + (("default .*") + "default = [\"system\"]\n")) + #t))))) + (inputs + `(("gfortran:lib" ,gfortran "lib") + ("lapack" ,lapack))) + (home-page "https://github.com/blas-lapack-rs/netlib-src") + (synopsis "Source of BLAS and LAPACK via Netlib") + (description + "The package provides a source of BLAS and LAPACK via Netlib.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-libnghttp2-sys + (package + (name "rust-libnghttp2-sys") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "libnghttp2-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0qr4lyh7righx9n22c7amlcpk906rn1jnb2zd6gdfpa3yi24s982")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc)) + #:cargo-development-inputs + (("rust-cc" ,rust-cc)))) + (inputs + `(("nghttp2" ,nghttp2))) + (home-page "https://github.com/alexcrichton/nghttp2-rs") + (synopsis "FFI bindings for libnghttp2 (nghttp2)") + (description + "This package provides FFI bindings for libnghttp2 (nghttp2).") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-libz-sys + (package + (name "rust-libz-sys") + (version "1.0.25") + (source + (origin + (method url-fetch) + (uri (crate-uri "libz-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1gjycyl2283525abks98bhxa4r259m617xfm5z52p3p3c8ry9d9f")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc) + ("rust-cc" ,rust-cc) + ("rust-pkg-config" ,rust-pkg-config) + ("rust-vcpkg" ,rust-vcpkg)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'delete-vendored-zlib + (lambda _ + (delete-file-recursively "src/zlib") + #t))))) + (inputs + `(("pkg-config" ,pkg-config) + ("zlib" ,zlib))) + (home-page "https://github.com/rust-lang/libz-sys") + (synopsis "Bindings to the system libz library") + (description + "This package provides bindings to the system @code{libz} library (also +known as zlib).") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-nodrop + (package + (name "rust-nodrop") + (version "0.1.13") + (source + (origin + (method url-fetch) + (uri (crate-uri "nodrop" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0if9ifn6rvar5jirx4b3qh4sl5kjkmcifycvzhxa9j3crkfng5ig")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-nodrop-union" ,rust-nodrop-union)))) + (home-page "https://github.com/bluss/arrayvec") + (synopsis "Wrapper type to inhibit drop (destructor)") + (description "This package provides a wrapper type to inhibit drop +(destructor). Use @code{std::mem::ManuallyDrop} instead!") + (license (list license:asl2.0 + license:expat)))) + +;; This package requires features which are unavailable +;; on the stable releases of Rust. +(define-public rust-nodrop-union + (package + (name "rust-nodrop-union") + (version "0.1.10") + (source + (origin + (method url-fetch) + (uri (crate-uri "nodrop-union" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0jsnkdn9l8jlmb9h4wssi76sxnyxwnyi00p6y1p2gdq7c1gdw2b7")))) + (build-system cargo-build-system) + (home-page "https://github.com/bluss/arrayvec") + (synopsis "Wrapper type to inhibit drop (destructor)") + (description "This package provides a wrapper type to inhibit drop +(destructor). Implementation crate for nodrop, the untagged unions +implementation (which is unstable / requires nightly).") + (properties '((hidden? . #t))) + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-num-cpus + (package + (name "rust-num-cpus") + (version "1.10.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "num_cpus" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0wrj3zvj6h3q26sqj9zxpd59frjb54n7jhjwf307clq31ic47vxw")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc)) + #:cargo-development-inputs + (("rust-doc-comment" ,rust-doc-comment)))) + (home-page "https://github.com/seanmonstar/num_cpus") + (synopsis "Get the number of CPUs on a machine") + (description + "Get the number of CPUs on a machine.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-num-integer + (package + (name "rust-num-integer") + (version "0.1.41") + (source + (origin + (method url-fetch) + (uri (crate-uri "num-integer" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "02dwjjpfbi16c71fq689s4sw3ih52cvfzr5z5gs6qpr5z0g58pmq")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-autocfg" ,rust-autocfg) + ("rust-num-traits" ,rust-num-traits)))) + (home-page "https://github.com/rust-num/num-integer") + (synopsis "Integer traits and functions") + (description "Integer traits and functions.") ;; Dual licensed. - (license (list license:asl2.0 license:expat)))) + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-num-iter + (package + (name "rust-num-iter") + (version "0.1.39") + (source + (origin + (method url-fetch) + (uri (crate-uri "num-iter" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0bhk2qbr3261r6zvfc58lz4spfqjhvdripxgz5mks5rd85r55gbn")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-num-integer" ,rust-num-integer) + ("rust-num-traits" ,rust-num-traits)) + #:cargo-development-inputs + (("rust-autocfg" ,rust-autocfg)))) + (home-page "https://github.com/rust-num/num-iter") + (synopsis "External iterators for generic mathematics") + (description + "This crate provides external iterators for generic mathematics.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-num-traits + (package + (name "rust-num-traits") + (version "0.2.8") + (source + (origin + (method url-fetch) + (uri (crate-uri "num-traits" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0clvrm34rrqc8p6gq5ps5fcgws3kgq5knh7nlqxf2ayarwks9abb")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-autocfg" ,rust-autocfg)))) + (home-page "https://github.com/rust-num/num-traits") + (synopsis "Numeric traits for generic mathematics") + (description "Numeric traits for generic mathematics.") + ;; Dual licensed. + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-num-traits-0.1 + (package + (inherit rust-num-traits) + (name "rust-num-traits") + (version "0.1.43") + (source + (origin + (method url-fetch) + (uri (crate-uri "num-traits" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0c9whknf2dm74a3cqirafy6gj83a76gl56g4v3g19k6lkwz13rcj")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-num-traits" ,rust-num-traits)))))) + +(define-public rust-openssl-probe + (package + (name "rust-openssl-probe") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "openssl-probe" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1pijrdifgsdwd45b08c2g0dsmnhz7c3kmagb70839ngrd7d29bvp")))) + (build-system cargo-build-system) + (home-page "https://github.com/alexcrichton/openssl-probe") + (synopsis "Find SSL certificate locations") + (description + "This package provides a tool to find SSL certificate locations on the +system for OpenSSL.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-openssl-src + (package + (name "rust-openssl-src") + (version "111.6.0+1.1.1d") + (source + (origin + (method url-fetch) + (uri (crate-uri "openssl-src" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "172xh95hp7aygahah1940kg1dnx60c5m80cwj5hgi8x7x0fxmhmr")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-cc" ,rust-cc)))) + (home-page "https://github.com/alexcrichton/openssl-src-rs") + (synopsis "Source of OpenSSL for rust crates") + (description + "This package contains the source of OpenSSL and logic to build it.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-openssl-sys + (package + (name "rust-openssl-sys") + (version "0.9.50") + (source + (origin + (method url-fetch) + (uri (crate-uri "openssl-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1dn3capgiz77s6rpmc2sf8gadwkmhwgfd6mw4rcnnm9jp36dqhic")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-autocfg" ,rust-autocfg) + ("rust-libc" ,rust-libc)) + #:cargo-development-inputs + (("rust-autocfg" ,rust-autocfg) + ("rust-cc" ,rust-cc) + ("rust-openssl-src" ,rust-openssl-src) + ("rust-pkg-config" ,rust-pkg-config) + ("rust-vcpkg" ,rust-vcpkg)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'find-openssl + (lambda* (#:key inputs #:allow-other-keys) + (let ((openssl (assoc-ref inputs "openssl"))) + (setenv "OPENSSL_DIR" openssl)) + #t))))) + (inputs + `(("openssl" ,openssl) + ("pkg-config" ,pkg-config))) + (home-page "https://github.com/sfackler/rust-openssl") + (synopsis "FFI bindings to OpenSSL") + (description + "This package provides FFI bindings to OpenSSL for use in rust crates.") + (license license:expat))) + +(define-public rust-owning-ref + (package + (name "rust-owning-ref") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "owning_ref" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "04zgwy77lin8qz398s6g44467pd6kjhbrlqifkia5rkr47mbi929")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-stable-deref-trait" ,rust-stable-deref-trait)))) + (home-page "https://github.com/Kimundi/owning-ref-rs") + (synopsis "Create references that carry their owner with them") + (description + "This package provides a library for creating references that carry their +owner with them. This can sometimes be useful because Rust borrowing rules +normally prevent moving a type that has been borrowed from.") + (license license:expat))) + +(define-public rust-parity-wasm + (package + (name "rust-parity-wasm") + (version "0.40.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "parity-wasm" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1p84f0k36q05j18jy66n122lyali794cj78hbxgy9wj6si84plqd")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-time" ,rust-time)) + #:tests? #f)) ; Test files are not included in release. + (home-page "https://github.com/paritytech/parity-wasm") + (synopsis "Low-level WebAssembly format library") + (description + "This package provides a WebAssembly binary format serialization, +deserialization, and interpreter in Rust.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-peeking-take-while + (package + (name "rust-peeking-take-while") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "peeking_take_while" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "16bhqr6rdyrp12zv381cxaaqqd0pwysvm1q8h2ygihvypvfprc8r")))) + (build-system cargo-build-system) + (home-page "https://github.com/fitzgen/peeking_take_while") + (synopsis "Provides the peeking_take_while iterator adaptor method") + (description + "Like @code{Iterator::take_while}, but calls the predicate on a peeked +value. This allows you to use @code{Iterator::by_ref} and +@code{Iterator::take_while} together, and still get the first value for which +the @code{take_while} predicate returned false after dropping the @code{by_ref}.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-percent-encoding + (package + (name "rust-percent-encoding") + (version "2.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "percent-encoding" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0bp3zrsk3kr47fbpipyczidbbx4g54lzxdm77ni1i3qws10mdzfl")))) + (build-system cargo-build-system) + (home-page "https://github.com/servo/rust-url/") + (synopsis "Percent encoding and decoding") + (description "This crate provides percent encoding and decoding.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-percent-encoding-1 + (package + (inherit rust-percent-encoding) + (name "rust-percent-encoding") + (version "1.0.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "percent-encoding" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0cgq08v1fvr6bs5fvy390cz830lq4fak8havdasdacxcw790s09i")))))) + +(define-public rust-permutohedron + (package + (name "rust-permutohedron") + (version "0.2.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "permutohedron" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0b1pzh48j86v46wxngch6k1kx9cdw3jr3lwa86gd6jd4bmxzz1xn")))) + (build-system cargo-build-system) + (home-page "https://github.com/bluss/permutohedron") + (synopsis "Generate permutations of sequences") + (description + "Generate permutations of sequences. Either lexicographical order +permutations, or a minimal swaps permutation sequence implemented using Heap's +algorithm.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-pico-sys + (package + (name "rust-pico-sys") + (version "0.0.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "pico-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1q5pg0ms6szz6b5h26h4k40zb76zbwwjgyigac4wly9qngdj4yl5")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-gcc" ,rust-gcc) + ("rust-libc" ,rust-libc)))) + (home-page "https://github.com/reem/rust-pico-sys") + (synopsis "Bindings to the PicoHTTPParser") + (description + "This package provides bindings to the PicoHTTPParser.") + (license license:expat))) + +(define-public rust-pin-utils + (package + (name "rust-pin-utils") + (version "0.1.0-alpha.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "pin-utils" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "11xmyx00n4m37d546by2rxb8ryxs12v55cc172i3yak1rqccd52q")))) + (build-system cargo-build-system) + (home-page "https://github.com/rust-lang-nursery/pin-utils") + (synopsis "Utilities for pinning") + (description "This crate provides utilities for pinning values on the stack.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-pkg-config + (package + (name "rust-pkg-config") + (version "0.3.14") + (source + (origin + (method url-fetch) + (uri (crate-uri "pkg-config" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "135ia995lqzr0gxpk85h0bjxf82kj6hbxdx924sh9jdln6r8wvk7")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-lazy-static" ,rust-lazy-static)))) + (inputs + `(("pkg-config" ,pkg-config))) + (home-page "https://github.com/rust-lang/pkg-config-rs") + (synopsis "Library to run the pkg-config system tool") + (description + "A library to run the pkg-config system tool at build time in order to be +used in Cargo build scripts.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-plain + (package + (name "rust-plain") + (version "0.2.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "plain" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "19n1xbxb4wa7w891268bzf6cbwq4qvdb86bik1z129qb0xnnnndl")))) + (build-system cargo-build-system) + (home-page "https://github.com/randomites/plain") + (synopsis "Rust library that allows reinterpreting data safely") + (description "This package provides a small Rust library that allows users + to reinterpret data of certain types safely.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-plugin + (package + (name "rust-plugin") + (version "0.2.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "plugin" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1q7nghkpvxxr168y2jnzh3w7qc9vfrby9n7ygy3xpj0bj71hsshs")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-typemap" ,rust-typemap)) + #:cargo-development-inputs + (("rust-void" ,rust-void)))) + (home-page "https://github.com/reem/rust-plugin") + (synopsis "Lazily evaluated, order-independent plugins for extensible types") + (description + "Lazily evaluated, order-independent plugins for extensible types.") + (license license:expat))) + +(define-public rust-pocket-resources + (package + (name "rust-pocket-resources") + (version "0.3.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "pocket-resources" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1n2i5vmi8fdbw89wm5nz1ws1z9f1qax911p6ksg4scmdg23z6df1")))) + (build-system cargo-build-system) + (home-page "https://github.com/tomaka/pocket-resources") + (synopsis "Include resources in your applications") + (description "This crate allows you to include resources in your +applications.") + (license license:expat))) + +(define-public rust-ppv-lite86 + (package + (name "rust-ppv-lite86") + (version "0.2.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "ppv-lite86" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "06snnv338w341nicfqba2jgln5dsla72ndkgrw7h1dfdb3vgkjz3")))) + (build-system cargo-build-system) + (home-page "https://github.com/cryptocorrosion/cryptocorrosion") + (synopsis "Implementation of the crypto-simd API for x86") + (description "This crate provides an implementation of the crypto-simd API +for x86.") + (license (list license:asl2.0 + license:expat)))) (define-public rust-proc-macro2 (package @@ -59,7 +2731,7 @@ or XID_Continue properties according to Unicode Standard Annex #31.") "0nd71fl24sys066jrha6j7i34nfkjv44yzw8yww9742wmc8j0gfg")))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs (("rust-unicode-xid" ,rust-unicode-xid)) + `(#:cargo-inputs (("rust-unicode-xid" ,rust-unicode-xid-0.1)) #:cargo-development-inputs (("rust-quote" ,rust-quote)))) (home-page "https://github.com/alexcrichton/proc-macro2") (synopsis "Stable implementation of the upcoming new `proc_macro` API") @@ -69,6 +2741,26 @@ in terms of the upstream unstable API.") ;; Dual licensed. (license (list license:asl2.0 license:expat)))) +(define-public rust-quick-error + (package + (name "rust-quick-error") + (version "1.2.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "quick-error" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1w6kgwwv7p7zr0yyg5rb315lkk24bimywklwx7fsvsbwi10bjx4j")))) + (build-system cargo-build-system) + (home-page "https://github.com/tailhook/quick-error") + (synopsis "Macro which makes error types pleasant to write") + (description "This crate provides a macro which makes error types pleasant +to write.") + (license (list license:asl2.0 + license:expat)))) + (define-public rust-quote (package (name "rust-quote") @@ -90,3 +2782,1880 @@ in terms of the upstream unstable API.") (description "Quasi-quoting macro quote!(...)") ;; Dual licensed. (license (list license:asl2.0 license:expat)))) + +(define-public rust-rand + (package + (name "rust-rand") + (version "0.4.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "rand" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1gfgnqfj2pyh27dcb720jpawskllwnbvxh816ddyykv269xz8ml3")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-fuchsia-zircon" ,rust-fuchsia-zircon) + ("rust-libc" ,rust-libc) + ("rust-winapi" ,rust-winapi)))) + (home-page "https://crates.io/crates/rand") + (synopsis "Random number generators and other randomness functionality") + (description + "Rand provides utilities to generate random numbers, to convert them to +useful types and distributions, and some randomness-related algorithms.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-rand-0.3 + (package + (inherit rust-rand) + (name "rust-rand") + (version "0.3.23") + (source + (origin + (method url-fetch) + (uri (crate-uri "rand" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0v679h38pjjqj5h4md7v2slsvj6686qgcn7p9fbw3h43iwnk1b34")))) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc) + ("rust-rand" ,rust-rand)))))) + +(define-public rust-rawpointer + (package + (name "rust-rawpointer") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rawpointer" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "06ghpm9y7gacks78s3maakha07kbnwrxif5q37r2l7z1sali3b7b")))) + (build-system cargo-build-system) + (home-page "https://github.com/bluss/rawpointer/") + (synopsis "Extra methods for raw pointers") + (description "Extra methods for raw pointers. For example +@code{.post_inc()} and @code{.pre_dec()} (c.f. @code{ptr++} and @code{--ptr}) +and @code{ptrdistance}.") + (license (list license:asl2.0 + license:expat)))) + +;; This package requires features which are unavailable +;; on the stable releases of Rust. +(define-public rust-redox-syscall ; guix upstreamable + (package + (name "rust-redox-syscall") + (version "0.1.56") + (source + (origin + (method url-fetch) + (uri (crate-uri "redox_syscall" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "110y7dyfm2vci4x5vk7gr0q551dvp31npl99fnsx2fb17wzwcf94")))) + (build-system cargo-build-system) + (home-page "https://gitlab.redox-os.org/redox-os/syscall") + (synopsis "Rust library to access raw Redox system calls") + (description "This package provides a Rust library to access raw Redox +system calls.") + (properties '((hidden? . #t))) + (license license:expat))) + +(define-public rust-regex-syntax + (package + (name "rust-regex-syntax") + (version "0.6.10") + (source + (origin + (method url-fetch) + (uri (crate-uri "regex-syntax" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0p47lf38yj2g2fnmvnraccqlxwk35zr76hlnqi8yva932nzqam6d")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-ucd-util" ,rust-ucd-util)))) + (home-page "https://github.com/rust-lang/regex") + (synopsis "Regular expression parser") + (description + "This package provides a regular expression parser.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-remove-dir-all + (package + (name "rust-remove-dir-all") + (version "0.5.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "remove_dir_all" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0bkrlyg26mgizpiy1yb2hhpgscxcag8r5fnckqsvk25608vzm0sa")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-winapi" ,rust-winapi)) + #:cargo-development-inputs + (("rust-doc-comment" ,rust-doc-comment)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-source + ;; The test phase expects there to be a README.md in the root directory. + (lambda _ + (invoke "touch" "README.md")))))) + (home-page "https://github.com/XAMPPRocky/remove_dir_all") + (synopsis "Implementation of remove_dir_all for Windows") + (description + "This package provides a safe, reliable implementation of +@code{remove_dir_all} for Windows") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-resolv-conf + (package + (name "rust-resolv-conf") + (version "0.6.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "resolv-conf" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1jvdsmksdf6yiipm3aqahyv8n1cjd7wqc8sa0p0gzsax3fmb8qxj")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-quick-error" ,rust-quick-error) + ("rust-hostname" ,rust-hostname)) + #:cargo-test-flags '("--release" "--lib" "--examples"))) ; doc tests fail + (home-page "https://github.com/tailhook/resolv-conf") + (synopsis "/etc/resolv.conf parser") + (description + "An /etc/resolv.conf parser crate for Rust.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-rustc-demangle + (package + (name "rust-rustc-demangle") + (version "0.1.16") + (source + (origin + (method url-fetch) + (uri (crate-uri "rustc-demangle" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "10qp42sl1wrdbgbbh8rnay2grm976z7hqgz32c4y09l1c071qsac")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-compiler-builtins" + ,rust-compiler-builtins) + ("rust-rustc-std-workspace-core" + ,rust-rustc-std-workspace-core)))) + (home-page "https://github.com/alexcrichton/rustc-demangle") + (synopsis "Rust compiler symbol demangling") + (description + "This package demanges the symbols from the Rust compiler.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-rustc-hash + (package + (name "rust-rustc-hash") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rustc-hash" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "114bf72466bl63i5hh8fgqfnhihs0w1m9c9jz505095agfixnvg0")))) + (build-system cargo-build-system) + (home-page "https://github.com/rust-lang-nursery/rustc-hash") + (synopsis "Speedy, non-cryptographic hash used in rustc") + (description + "This package provides a speedy, non-cryptographic hash used in rustc.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-rustc-serialize + (package + (name "rust-rustc-serialize") + (version "0.3.24") + (source + (origin + (method url-fetch) + (uri (crate-uri "rustc-serialize" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1nkg3vasg7nk80ffkazizgiyv3hb1l9g3d8h17cajbkx538jiwfw")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-rand" ,rust-rand-0.3)))) + (home-page "https://github.com/rust-lang-deprecated/rustc-serialize") + (synopsis "Generic serialization/deserialization support") + (description + "This package provides generic serialization/deserialization support +corresponding to the @code{derive(RustcEncodable, RustcDecodable)} mode in the +compiler. Also includes support for hex, base64, and json encoding and +decoding.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-rustc-std-workspace-core + (package + (name "rust-rustc-std-workspace-core") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rustc-std-workspace-core" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1309xhwyai9xpz128xrfjqkmnkvgjwddznmj7brbd8i8f58zamhr")))) + (build-system cargo-build-system) + (home-page "https://crates.io/crates/rustc-std-workspace-core") + (synopsis "Explicitly empty crate for rust-lang/rust integration") + (description "This crate provides an explicitly empty crate for +rust-lang/rust integration.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-safemem + (package + (name "rust-safemem") + (version "0.3.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "safemem" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1l1ljkm4lpyryrv2ndaxi1f7z1f3v9bwy1rzl9f9mbhx04iq9c6j")))) + (build-system cargo-build-system) + (home-page "https://github.com/abonander/safemem") + (synopsis "Safe wrappers for memory-accessing functions") + (description + "Safe wrappers for memory-accessing functions, like @code{std::ptr::copy()}.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-same-file + (package + (name "rust-same-file") + (version "1.0.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "same-file" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "08a4zy10pjindf2rah320s6shgswk13mqw7s61m8i1y1xpf8spjq")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-winapi-util" ,rust-winapi-util)))) + (home-page "https://github.com/BurntSushi/same-file") + (synopsis "Determine whether two file paths point to the same file") + (description + "This package provides a simple crate for determining whether two file +paths point to the same file.") + (license (list license:unlicense + license:expat)))) + +(define-public rust-schannel + (package + (name "rust-schannel") + (version "0.1.15") + (source + (origin + (method url-fetch) + (uri (crate-uri "schannel" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0f9k4pm8yc3z0n1n8hazvnrvg52f0sfxjc91bhf3r76rb3rapxpj")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-lazy-static" ,rust-lazy-static) + ("rust-winapi" ,rust-winapi)))) + (home-page "https://github.com/steffengy/schannel-rs") + (synopsis "Rust bindings to the Windows SChannel APIs") + (description + "Rust bindings to the Windows SChannel APIs providing TLS client and +server functionality.") + (license license:expat))) + +(define-public rust-scoped-threadpool + (package + (name "rust-scoped-threadpool") + (version "0.1.9") + (source + (origin + (method url-fetch) + (uri (crate-uri "scoped_threadpool" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1a26d3lk40s9mrf4imhbik7caahmw2jryhhb6vqv6fplbbgzal8x")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-lazy-static" ,rust-lazy-static)))) + (home-page "https://github.com/Kimundi/scoped-threadpool-rs") + (synopsis "library for scoped and cached threadpools") + (description + "This crate provides a stable, safe and scoped threadpool. It can be used +to execute a number of short-lived jobs in parallel without the need to respawn +the underlying threads. Jobs are runnable by borrowing the pool for a given +scope, during which an arbitrary number of them can be executed. These jobs can +access data of any lifetime outside of the pools scope, which allows working on +non-'static references in parallel.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-scoped-tls + (package + (name "rust-scoped-tls") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "scoped-tls" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1hj8lifzvivdb1z02lfnzkshpvk85nkgzxsy2hc0zky9wf894spa")))) + (build-system cargo-build-system) + (home-page "https://github.com/alexcrichton/scoped-tls") + (synopsis "Rust library providing the old standard library's scoped_thread_local") + (description "This crate provides a library implementation of the standard +library's old @code{scoped_thread_local!} macro for providing scoped access to +@dfn{thread local storage} (TLS) so any type can be stored into TLS.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-scoped-tls-0.1 + (package + (inherit rust-scoped-tls) + (name "rust-scoped-tls") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "scoped-tls" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0a2bn9d2mb07c6l16sadijy4p540g498zddfxyiq4rsqpwrglbrk")))))) + +(define-public rust-scopeguard + (package + (name "rust-scopeguard") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "scopeguard" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "03aay84r1f6w87ckbpj6cc4rnsxkxcfs13n5ynxjia0qkgjiabml")))) + (build-system cargo-build-system) + (home-page "https://github.com/bluss/scopeguard") + (synopsis "Scope guard which will run a closure even out of scope") + (description "This package provides a RAII scope guard that will run a +given closure when it goes out of scope, even if the code between panics +(assuming unwinding panic). Defines the macros @code{defer!}, +@code{defer_on_unwind!}, @code{defer_on_success!} as shorthands for guards +with one of the implemented strategies.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-scopeguard-0.3 + (package + (inherit rust-scopeguard) + (name "rust-scopeguard") + (version "0.3.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "scopeguard" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "09sy9wbqp409pkwmqni40qmwa99ldqpl48pp95m1xw8sc19qy9cl")))))) + +(define-public rust-security-framework-sys + (package + (name "rust-security-framework-sys") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "security-framework-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0mlsakq9kmqyc0fg2hcbgm6rjk55mb0rhjw2wid3hqdzkjcghdln")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-core-foundation-sys" + ,rust-core-foundation-sys)))) + (home-page "https://lib.rs/crates/security-framework-sys") + (synopsis "Apple `Security.framework` low-level FFI bindings") + (description + "Apple `Security.framework` low-level FFI bindings.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-semver-parser + (package + (name "rust-semver-parser") + (version "0.9.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "semver-parser" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ahqhvgpzhcsd28id7xnrjv4419i9yyalhm7d7zi430qx0hi2vml")))) + (build-system cargo-build-system) + (home-page "https://github.com/steveklabnik/semver-parser") + (synopsis "Parsing of the semver spec") + (description "This package provides for parsing of the semver spec.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-semver-parser-0.7 + (package + (inherit rust-semver-parser) + (name "rust-semver-parser") + (version "0.7.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "semver-parser" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "18vhypw6zgccnrlm5ps1pwa0khz7ry927iznpr88b87cagr1v2iq")))))) + +(define-public rust-shlex + (package + (name "rust-shlex") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "shlex" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1lmv6san7g8dv6jdfp14m7bdczq9ss7j7bgsfqyqjc3jnjfippvz")))) + (build-system cargo-build-system) + (home-page "https://github.com/comex/rust-shlex") + (synopsis "Split a string into shell words, like Python's shlex") + (description "This crate provides a method to split a string into shell +words, like Python's shlex.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-slab + (package + (name "rust-slab") + (version "0.4.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "slab" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1y59xsa27jk84sxzswjk60xcjf8b4fm5960jwpznrrcmasyva4f1")))) + (build-system cargo-build-system) + (home-page "https://github.com/carllerche/slab") + (synopsis "Pre-allocated storage for a uniform data type") + (description "This create provides a pre-allocated storage for a uniform +data type.") + (license license:expat))) + +(define-public rust-socket2 + (package + (name "rust-socket2") + (version "0.3.11") + (source + (origin + (method url-fetch) + (uri (crate-uri "socket2" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "11bdcz04i106g4q7swkll0qxrb4287srqd2k3aq2q6i22zjlvdz8")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cfg-if" ,rust-cfg-if) + ("rust-libc" ,rust-libc) + ("rust-redox-syscall" ,rust-redox-syscall) + ("rust-winapi" ,rust-winapi)) + #:cargo-development-inputs + (("rust-tempdir" ,rust-tempdir)) + #:tests? #f)) ; Tests expect network connectivity. + (home-page "https://github.com/alexcrichton/socket2-rs") + (synopsis "Networking sockets in Rust") + (description + "This package provides utilities for handling networking sockets with a +maximal amount of configuration possible intended.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-sourcefile + (package + (name "rust-sourcefile") + (version "0.1.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "sourcefile" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1lwa6973zs4bgj29my7agfjgk4nw9hp6j7dfnr13nid85fw7rxsb")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-tempfile" ,rust-tempfile)))) + (home-page "https://github.com/derekdreery/sourcefile-rs") + (synopsis "Concatenate source from multiple files") + (description + "A library for concatenating source from multiple files, whilst keeping +track of where each new file and line starts.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-spin + (package + (name "rust-spin") + (version "0.5.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "spin" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0m9clchsj0rf13bggsgvbv9haiy0f6rhvnvkpvkk8720a5pkydj4")))) + (build-system cargo-build-system) + (home-page "https://github.com/mvdnes/spin-rs") + (synopsis "Synchronization primitives based on spinning") + (description "This crate provides synchronization primitives based on +spinning. They may contain data, are usable without @code{std},and static +initializers are available.") + (license license:expat))) + +(define-public rust-stable-deref-trait + (package + (name "rust-stable-deref-trait") + (version "1.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "stable_deref_trait" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1j2lkgakksmz4vc5hfawcch2ipiskrhjs1sih0f3br7s7rys58fv")))) + (build-system cargo-build-system) + (home-page "https://github.com/storyyeller/stable_deref_trait0") + (synopsis "Defines an unsafe marker trait, StableDeref") + (description + "This crate defines an unsafe marker trait, StableDeref, for container +types which deref to a fixed address which is valid even when the containing +type is moved. For example, Box, Vec, Rc, Arc and String implement this trait. +Additionally, it defines CloneStableDeref for types like Rc where clones deref +to the same address.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-stacker + (package + (name "rust-stacker") + (version "0.1.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "stacker" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0js0axz5nla1mkr2dm2vrv9rj964ng1lrv4l43sqlnfgawplhygv")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cfg-if" ,rust-cfg-if) + ("rust-libc" ,rust-libc) + ("rust-winapi" ,rust-winapi) + ("rust-cc" ,rust-cc)))) + (home-page "https://github.com/rust-lang/stacker") + (synopsis "Manual segmented stacks for Rust") + (description + "This package provides a stack growth library useful when implementing +deeply recursive algorithms that may accidentally blow the stack.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-static-assertions + (package + (name "rust-static-assertions") + (version "0.3.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "static-assertions" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1lw33i89888yb3x29c6dv4mrkg3534n0rlg3r7qzh4p58xmv6gkz")))) + (build-system cargo-build-system) + (home-page "https://github.com/nvzqz/static-assertions-rs") + (synopsis "Compile-time assertions for rust") + (description + "This package provides compile-time assertions to ensure that invariants +are met.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-stdweb-internal-runtime + (package + (name "rust-stdweb-internal-runtime") + (version "0.1.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "stdweb-internal-runtime" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1nhpyra7glbwcpakhpj5a3d7h7kx1ynif473nzshmk226m91f8ym")))) + (build-system cargo-build-system) + (home-page "https://github.com/koute/stdweb") + (synopsis "Internal runtime for the @code{stdweb} crate") + (description "This crate provides internal runtime for the @code{stdweb} +crate.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-stdweb-internal-test-macro + (package + (name "rust-stdweb-internal-test-macro") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "stdweb-internal-test-macro" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "12rrm7p77xnm3xacgn3rgniiyyjb4gq7902wpbljsvbx045z69l2")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2) + ("rust-quote" ,rust-quote)))) + (home-page "https://github.com/koute/stdweb") + (synopsis "Internal crate of the `stdweb` crate") + (description + "Internal crate of the @code{stdweb} crate.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-streaming-stats + (package + (name "rust-streaming-stats") + (version "0.2.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "streaming-stats" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0l7xz4g6709s80zqpvlhrg0qhgz64r94cwhmfsg8xhabgznbp2px")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-num-traits" ,rust-num-traits)))) + (home-page "https://github.com/BurntSushi/rust-stats") + (synopsis "Compute basic statistics on streams") + (description + "Experimental crate for computing basic statistics on streams.") + (license (list license:unlicense + license:expat)))) + +(define-public rust-strsim + (package + (name "rust-strsim") + (version "0.9.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "strsim" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1xphwhf86yxxmcpvm4mikj8ls41f6nf7gqyjm98b74mfk81h6b03")))) + (build-system cargo-build-system) + (home-page "https://github.com/dguo/strsim-rs") + (synopsis "Rust implementations of string similarity metrics") + (description "This crate includes implementations of string similarity +metrics. It includes Hamming, Levenshtein, OSA, Damerau-Levenshtein, Jaro, +and Jaro-Winkler.") + (license license:expat))) + +(define-public rust-strsim-0.8 + (package + (inherit rust-strsim) + (name "rust-strsim") + (version "0.8.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "strsim" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0sjsm7hrvjdifz661pjxq5w4hf190hx53fra8dfvamacvff139cf")))))) + +(define-public rust-synstructure-test-traits + (package + (name "rust-synstructure-test-traits") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "synstructure_test_traits" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1b3fs2b9kc1gy9dilaxqjbdl4z0mlrbbxjzkprdx953rif1c3q66")))) + (build-system cargo-build-system) + (home-page "https://crates.io/crates/synstructure_test_traits") + (synopsis "Helper test traits for synstructure doctests") + (description + "This package provides helper test traits for synstructure doctests.") + (license license:expat))) + +(define-public rust-tar + (package + (name "rust-tar") + (version "0.4.26") + (source + (origin + (method url-fetch) + (uri (crate-uri "tar" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1lr6v3cpkfxd2lk5ll2jd8wr1xdskwj35smnh5sfb8xvzzxnn6dk")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-filetime" ,rust-filetime) + ("rust-libc" ,rust-libc) + ("rust-redox-syscall" ,rust-redox-syscall) + ("rust-xattr" ,rust-xattr)) + #:cargo-development-inputs + (("rust-tempdir" ,rust-tempdir)) + #:tests? #f)) ; Test archives are not distributed in the crate tarball. + (home-page "https://github.com/alexcrichton/tar-rs") + (synopsis "Tar file reading/writing for Rust") + (description + "This package provides a Rust implementation of a TAR file reader and +writer. This library does not currently handle compression, but it is abstract +over all I/O readers and writers. Additionally, great lengths are taken to +ensure that the entire contents are never required to be entirely resident in +memory all at once.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-tempdir + (package + (name "rust-tempdir") + (version "0.3.7") + (source + (origin + (method url-fetch) + (uri (crate-uri "tempdir" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1n5n86zxpgd85y0mswrp5cfdisizq2rv3la906g6ipyc03xvbwhm")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-rand" ,rust-rand) + ("rust-remove-dir-all" ,rust-remove-dir-all)))) + (home-page "https://github.com/rust-lang-deprecated/tempdir") + (synopsis "Temporary directory management for Rust") + (description + "This package provides a library for managing a temporary directory and +deleting all contents when it's dropped.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-tempfile + (package + (name "rust-tempfile") + (version "3.0.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "tempfile" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0ny1cdbcsrmwjpy4k9366xm6p0jqkrmrvr0cln2djxspp1inyxs7")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc) + ("rust-rand" ,rust-rand) + ("rust-redox-syscall" ,rust-redox-syscall) + ("rust-remove-dir-all" ,rust-remove-dir-all) + ("rust-winapi" ,rust-winapi)))) + (home-page "http://stebalien.com/projects/tempfile-rs") + (synopsis "Library for managing temporary files and directories") + (description + "This package provides a library for managing temporary files and +directories.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-term + (package + (name "rust-term") + (version "0.4.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "term" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1wbh8ngqkqr3f6wz902yplf60bd5yapnckvrkgmzp5nffi7n8qzs")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-kernel32-sys" ,rust-kernel32-sys) + ("rust-winapi" ,rust-winapi)))) + (home-page "https://github.com/Stebalien/term") + (synopsis "Terminal formatting library") + (description + "This package provides a terminal formatting library in rust.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-termcolor + (package + (name "rust-termcolor") + (version "1.0.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "termcolor" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0vjfsn1a8zvqhnrbygrz1id6yckwv1dncw3w4zj65qdx0f00kmln")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-wincolor" ,rust-wincolor)))) + (home-page "https://github.com/BurntSushi/termcolor") + (synopsis "Library for writing colored text to a terminal") + (description "This package provides a simple cross platform library for +writing colored text to a terminal.") + (license (list license:unlicense + license:expat)))) + +(define-public rust-termios + (package + (name "rust-termios") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "termios" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "09any1p4jp4bphvb5ikagnvwjc3xn2djchy96nkpa782xb2j1dkj")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-libc" ,rust-libc)))) + (home-page "https://github.com/dcuddeback/termios-rs") + (synopsis "Safe bindings for the termios library") + (description + "The termios crate provides safe bindings for the Rust programming language +to the terminal I/O interface implemented by Unix operating systems. The safe +bindings are a small wrapper around the raw C functions, which converts integer +return values to @code{std::io::Result} to indicate success or failure.") + (license license:expat))) + +(define-public rust-thread-id + (package + (name "rust-thread-id") + (version "3.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "thread-id" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1h90v19fjz3x9b25ywh68z5yf2zsmm6h5zb4rl302ckbsp4z9yy7")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc) + ("rust-redox-syscall" ,rust-redox-syscall) + ("rust-winapi" ,rust-winapi)))) + (home-page "https://github.com/ruuda/thread-id") + (synopsis "Get a unique ID for the current thread in Rust") + (description + "For diagnostics and debugging it can often be useful to get an ID that is +different for every thread.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-thread-local + (package + (name "rust-thread-local") + (version "0.3.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "thread_local" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "06rzik99p8c5js8238yhc8rk6np543ylb1dy9nrw5v80j0r3xdf6")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-lazy-static" ,rust-lazy-static)))) + (home-page "https://github.com/Amanieu/thread_local-rs") + (synopsis "Per-object thread-local storage") + (description "Per-object thread-local storage") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-threadpool + (package + (name "rust-threadpool") + (version "1.7.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "threadpool" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0rd89n1q7vy47w4c32cnynibffv9kj3jy3dwr0536n9lbw5ckw72")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-num-cpus" ,rust-num-cpus)))) + (home-page "https://github.com/rust-threadpool/rust-threadpool") + (synopsis "Thread pool for running jobs on a fixed set of worker threads") + (description + "This package provides a thread pool for running a number of jobs on a +fixed set of worker threads.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-time + (package + (name "rust-time") + (version "0.1.39") + (source + (origin + (method url-fetch) + (uri (crate-uri "time" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "161hqx0gw722ikydanpahky447vaxqncwmkj66rny282vzqpalx1")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc) + ("rust-redox-syscall" ,rust-redox-syscall) + ("rust-rustc-serialize" ,rust-rustc-serialize) + ("rust-winapi" ,rust-winapi)) + #:cargo-development-inputs + (("rust-log" ,rust-log) + ("rust-winapi" ,rust-winapi)) + #:tests? #f)) ; Tests have difficulty with the timezones. + (home-page "https://github.com/rust-lang-deprecated/time") + (synopsis "Simple time handling in Rust") + (description + "This package provides utilities for working with time-related functions +in Rust.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-tokio-mock-task + (package + (name "rust-tokio-mock-task") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "tokio-mock-task" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1y7q83qfk9ljjfvs82b453pmz9x1v3d6kr4x55j8mal01s6790dw")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-futures" ,rust-futures)))) + (home-page "https://github.com/carllerche/tokio-mock-task") + (synopsis "Mock a Tokio task") + (description "Mock a Tokio task") + (license license:expat))) + +(define-public rust-tracing-core + (package + (name "rust-tracing-core") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "tracing-core" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "01fa73wzw2m5ybi3kkd52dgrw97mgc3i6inmhwys46ab28giwnxi")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-lazy-static" ,rust-lazy-static)))) + (home-page "https://tokio.rs") + (synopsis "Core primitives for application-level tracing") + (description + "Core primitives for application-level tracing.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-traitobject + (package + (name "rust-traitobject") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "traitobject" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0yb0n8822mr59j200fyr2fxgzzgqljyxflx9y8bdy3rlaqngilgg")))) + (build-system cargo-build-system) + (home-page "https://github.com/reem/rust-traitobject") + (synopsis "Unsafe helpers for dealing with raw trait objects") + (description "Unsafe helpers for dealing with raw trait objects.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-try-from + (package + (name "rust-try-from") + (version "0.3.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "try_from" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "12wdd4ja7047sd3rx70hv2056hyc8gcdllcx3a41g1rnw64kng98")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cfg-if" ,rust-cfg-if)))) + (home-page "https://github.com/derekjw/try_from") + (synopsis "TryFrom and TryInto traits for failable conversions") + (description + "TryFrom and TryInto traits for failable conversions that return a Result.") + (license license:expat))) + +(define-public rust-try-lock + (package + (name "rust-try-lock") + (version "0.2.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "try-lock" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "10p36rx6pqi9d0zr876xa8vksx2m66ha45myakl50rn08dxyn176")))) + (build-system cargo-build-system) + (home-page "https://github.com/seanmonstar/try-lock") + (synopsis "Lightweight atomic lock") + (description + "This package provides a lightweight atomic lock.") + (license license:expat))) + +(define-public rust-typeable + (package + (name "rust-typeable") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "typeable" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "11w8dywgnm32hb291izjvh4zjd037ccnkk77ahk63l913zwzc40l")))) + (build-system cargo-build-system) + (home-page "https://github.com/reem/rust-typeable") + (synopsis "Exposes Typeable, for getting TypeIds at runtime") + (description "Exposes Typeable, for getting TypeIds at runtime.") + (license license:expat))) + +(define-public rust-typemap + (package + (name "rust-typemap") + (version "0.3.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "typemap" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1xm1gbvz9qisj1l6d36hrl9pw8imr8ngs6qyanjnsad3h0yfcfv5")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-unsafe-any" ,rust-unsafe-any)))) + (home-page "https://github.com/reem/rust-typemap") + (synopsis "Typesafe store for many value types") + (description + "A typesafe store for many value types.") + (license license:expat))) + +(define-public rust-typenum + (package + (name "rust-typenum") + (version "1.10.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "typenum" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0sc1jirllfhdi52z1xv9yqzxzpk6v7vadd13n7wvs1wnjipn6bb1")))) + (build-system cargo-build-system) + (home-page "https://github.com/paholg/typenum") + (synopsis "Rust library for type-level numbers evaluated at compile time") + (description "Typenum is a Rust library for type-level numbers evaluated at +compile time. It currently supports bits, unsigned integers, and signed +integers. It also provides a type-level array of type-level numbers, but its +implementation is incomplete.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-ucd-trie + (package + (name "rust-ucd-trie") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "ucd-trie" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1hh6kyzh5xygwy96wfmsf8v8czlzhps2lgbcyhj1xzy1w1xys04g")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-lazy-static" ,rust-lazy-static)))) + (home-page "https://github.com/BurntSushi/ucd-generate") + (synopsis "Trie for storing Unicode codepoint sets and maps") + (description + "This package provides a trie for storing Unicode codepoint sets and maps.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-ucd-util + (package + (name "rust-ucd-util") + (version "0.1.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "ucd-util" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0x088q5z0m09a2jqcfgsnq955y8syn1mgn35cl78qinkxm4kp6zs")))) + (build-system cargo-build-system) + (home-page "https://github.com/BurntSushi/ucd-generate") + (synopsis "library for working with the Unicode character database") + (description "This package provides a small utility library for working +with the Unicode character database.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-unicase + (package + (name "rust-unicase") + (version "2.4.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "unicase" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1xmpmkakhhblq7dzab1kwyv925kv7fqjkjsxjspg6ix9n88makm8")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-version-check" ,rust-version-check-0.1)))) + (home-page "https://github.com/seanmonstar/unicase") + (synopsis "Case-insensitive wrapper around strings") + (description + "A case-insensitive wrapper around strings.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-unicode-width + (package + (name "rust-unicode-width") + (version "0.1.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "unicode-width" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "09k5lipygardwy0660jhls08fsgknrazzivmn804gps53hiqc8w8")))) + (build-system cargo-build-system) + (home-page "https://github.com/unicode-rs/unicode-width") + (synopsis "Determine displayed width according to Unicode rules") + (description "This crate allows you to determine displayed width of +@code{char} and @code{str} types according to Unicode Standard Annex #11 rules.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-unicode-xid + (package + (name "rust-unicode-xid") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "unicode-xid" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0z09fn515xm7zyr0mmdyxa9mx2f7azcpv74pqmg611iralwpcvl2")))) + (build-system cargo-build-system) + (home-page + "https://github.com/unicode-rs/unicode-xid") + (synopsis "Determine Unicode XID related properties") + (description "Determine whether characters have the XID_Start +or XID_Continue properties according to Unicode Standard Annex #31.") + ;; Dual licensed. + (license (list license:asl2.0 license:expat)))) + +(define-public rust-unicode-xid-0.1 + (package + (inherit rust-unicode-xid) + (name "rust-unicode-xid") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "unicode-xid" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1z57lqh4s18rr4x0j4fw4fmp9hf9346h0kmdgqsqx0fhjr3k0wpw")))))) + +(define-public rust-unindent + (package + (name "rust-unindent") + (version "0.1.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "unindent" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "14s97blyqgf9hzxk22iazrghj60midajkw2801dfspz3n2iqmwb3")))) + (build-system cargo-build-system) + (home-page "https://github.com/dtolnay/indoc") + (synopsis "Remove a column of leading whitespace from a string") + (description "This crate allows you to remove a column of leading +whitespace from a string.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-unreachable + (package + (name "rust-unreachable") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "unreachable" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0mps2il4xy2mjqc3appas27hhn2xmvixc3bzzhfrjj74gy3i0a1q")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-void" ,rust-void)))) + (home-page "https://github.com/reem/rust-unreachable") + (synopsis "Unreachable code optimization hint in rust") + (description + "This package provides an unreachable code optimization hint in rust.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-unsafe-any + (package + (name "rust-unsafe-any") + (version "0.4.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "unsafe-any" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0zwwphsqkw5qaiqmjwngnfpv9ym85qcsyj7adip9qplzjzbn00zk")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-traitobject" ,rust-traitobject)))) + (home-page "https://tokio.rs") + (synopsis "Traits and implementations for unchecked downcasting") + (description + "Traits and implementations for unchecked downcasting.") + (license license:expat))) + +(define-public rust-untrusted + (package + (name "rust-untrusted") + (version "0.7.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "untrusted" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1kmfykcwif6ashkwg54gcnhxj03kpba2i9vc7z5rpr0xlgvrwdk0")))) + (build-system cargo-build-system) + (home-page "https://github.com/briansmith/untrusted") + (synopsis "Zero-allocation parsing of untrusted inputs in Rust") + (description + "Safe, fast, zero-panic, zero-crashing, zero-allocation parsing of +untrusted inputs in Rust.") + (license license:isc))) + +(define-public rust-vcpkg + (package + (name "rust-vcpkg") + (version "0.2.7") + (source + (origin + (method url-fetch) + (uri (crate-uri "vcpkg" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "15dzk1b96q946v9aisbd1bbhi33n93wvgziwh1shmscn1xflbp9k")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-lazy-static" ,rust-lazy-static) + ("rust-tempdir" ,rust-tempdir)) + #:tests? #f)) ; tests try to link libmysql, graphite2, harfbuzz + (home-page "https://github.com/mcgoo/vcpkg-rs") + (synopsis "Find native dependencies in a vcpkg tree at build time") + (description + "This package provides a library to find native dependencies in a +@code{vcpkg} tree at build time in order to be used in Cargo build scripts.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-version-check + (package + (name "rust-version-check") + (version "0.9.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "version_check" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1kikqlnggii1rvnxrbls55sc46lxvinz5k3giscgncjj4p87b1q7")))) + (build-system cargo-build-system) + (home-page "https://github.com/SergioBenitez/version_check") + (synopsis "Check that the installed rustc meets some version requirements") + (description + "This tiny crate checks that the running or installed rustc meets some +version requirements. The version is queried by calling the Rust compiler with +@code{--version}. The path to the compiler is determined first via the +@code{RUSTC} environment variable. If it is not set, then @code{rustc} is used. +If that fails, no determination is made, and calls return None.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-version-check-0.1 + (package + (inherit rust-version-check) + (name "rust-version-check") + (version "0.1.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "version_check" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1pf91pvj8n6akh7w6j5ypka6aqz08b3qpzgs0ak2kjf4frkiljwi")))))) + +(define-public rust-void + (package + (name "rust-void") + (version "1.0.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "void" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0zc8f0ksxvmhvgx4fdg0zyn6vdnbxd2xv9hfx4nhzg6kbs4f80ka")))) + (build-system cargo-build-system) + (home-page "https://github.com/reem/rust-void") + (synopsis "Void type for use in statically impossible cases") + (description + "The uninhabited void type for use in statically impossible cases.") + (license license:expat))) + +(define-public rust-walkdir + (package + (name "rust-walkdir") + (version "2.2.9") + (source + (origin + (method url-fetch) + (uri (crate-uri "walkdir" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "07ppalpvxkf8cnqr64np422792y4z5bs9m8b4nrflh5rm17wjn4n")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-same-file" ,rust-same-file) + ("rust-winapi" ,rust-winapi) + ("rust-winapi-util" ,rust-winapi-util)) + #:cargo-development-inputs + (("rust-doc-comment" ,rust-doc-comment)))) + (home-page "https://github.com/BurntSushi/walkdir") + (synopsis "Recursively walk a directory") + (description "Recursively walk a directory.") + (license (list license:unlicense + license:expat)))) + +(define-public rust-wasi + (package + (name "rust-wasi") + (version "0.5.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "wasi" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ir3pd4phdfml0cbziw9bqp7mnk0vfp9biy8bh25lln6raml4m7x")))) + (build-system cargo-build-system) + (home-page "https://github.com/CraneStation/rust-wasi") + (synopsis "Experimental WASI API bindings for Rust") + (description "This package contains experimental WASI API bindings +in Rust.") + (license license:asl2.0))) + +(define-public rust-wasm-bindgen-shared + (package + (name "rust-wasm-bindgen-shared") + (version "0.2.48") + (source + (origin + (method url-fetch) + (uri (crate-uri "wasm-bindgen-shared" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "08rnfhjyk0f6liv8n4rdsvhx7r02glkhcbj2lp9lcbkbfpad9hnr")))) + (build-system cargo-build-system) + (home-page "https://rustwasm.github.io/wasm-bindgen/") + (synopsis "Shared support between wasm-bindgen and wasm-bindgen cli") + (description "This package provides shared support between +@code{wasm-bindgen} and @code{wasm-bindgen} cli, an internal dependency.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-wasm-bindgen-test-macro + (package + (name "rust-wasm-bindgen-test-macro") + (version "0.2.48") + (source + (origin + (method url-fetch) + (uri (crate-uri "wasm-bindgen-test-macro" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0n28mr6vncf1k1qr2b5bvfxq4jvqkjdzq0z0ab6w2f5d6v8q3q3l")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2) + ("rust-quote" ,rust-quote)))) + (home-page "https://github.com/rustwasm/wasm-bindgen") + (synopsis "Internal testing macro for wasm-bindgen") + (description + "This library contains the internal testing macro for wasm-bindgen.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-widestring + (package + (name "rust-widestring") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "widestring" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1dhx6dndjsz1y7c9w06922412kdxyrrkqblvggm76mh8z17hxz7g")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-winapi" ,rust-winapi)))) + (home-page "https://github.com/starkat99/widestring-rs") + (synopsis "Wide string Rust FFI library") + (description + "A wide string Rust FFI library for converting to and from wide strings, +such as those often used in Windows API or other FFI libraries. Both UTF-16 and +UTF-32 types are provided, including support for malformed encoding.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-winapi + (package + (name "rust-winapi") + (version "0.3.8") + (source + (origin + (method url-fetch) + (uri (crate-uri "winapi" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ii9j9lzrhwri0902652awifzx9fpayimbp6hfhhc296xcg0k4w0")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-winapi-i686-pc-windows-gnu" + ,rust-winapi-i686-pc-windows-gnu) + ("rust-winapi-x86-64-pc-windows-gnu" + ,rust-winapi-x86-64-pc-windows-gnu)))) + (home-page "https://github.com/retep998/winapi-rs") + (synopsis "Raw FFI bindings for all of Windows API.") + (description + "Raw FFI bindings for all of Windows API.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-winapi-0.2 + (package + (inherit rust-winapi) + (name "rust-winapi") + (version "0.2.8") + (source + (origin + (method url-fetch) + (uri (crate-uri "winapi" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0yh816lh6lf56dpsgxy189c2ai1z3j8mw9si6izqb6wsjkbcjz8n")))) + ;; We do not want to package 48 -sys crates for a package we do not want. + ;; They are all dev dependencies, so we skip building and testing. + (arguments + `(#:tests? #f + #:phases + (modify-phases %standard-phases + (delete 'build)))))) + +(define-public rust-winapi-build + (package + (name "rust-winapi-build") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "winapi-build" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1g4rqsgjky0a7530qajn2bbfcrl2v0zb39idgdws9b1l7gp5wc9d")))) + (build-system cargo-build-system) + (home-page "https://github.com/retep998/winapi-rs") + (synopsis "Common code for build.rs in WinAPI -sys crates") + (description + "Common code for build.rs in WinAPI -sys crates.") + (license license:expat))) + +(define-public rust-winapi-i686-pc-windows-gnu + (package + (name "rust-winapi-i686-pc-windows-gnu") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "winapi-i686-pc-windows-gnu" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1dmpa6mvcvzz16zg6d5vrfy4bxgg541wxrcip7cnshi06v38ffxc")))) + (build-system cargo-build-system) + (home-page "https://github.com/retep998/winapi-rs") + (synopsis "Import libraries for the i686-pc-windows-gnu target") + (description "This crate provides import libraries for the +i686-pc-windows-gnu target. Please don't use this crate directly, depend on +@code{winapi} instead.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-winapi-util + (package + (name "rust-winapi-util") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "winapi-util" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1j839dc6y8vszvrsb7yk0qvs0w6asnahxzbyans37vnsw6vbls3i")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-winapi" ,rust-winapi)))) + (home-page "https://github.com/BurntSushi/winapi-util") + (synopsis "Dumping ground for high level safe wrappers over winapi") + (description + "This package provides a dumping ground for high level safe wrappers over +winapi.") + (license (list license:unlicense + license:expat)))) + +(define-public rust-winapi-x86-64-pc-windows-gnu + (package + (name "rust-winapi-x86-64-pc-windows-gnu") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "winapi-x86_64-pc-windows-gnu" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0gqq64czqb64kskjryj8isp62m2sgvx25yyj3kpc2myh85w24bki")))) + (build-system cargo-build-system) + (home-page "https://github.com/retep998/winapi-rs") + (synopsis "Import libraries for the x86_64-pc-windows-gnu target") + (description "This package provides import libraries for the +x86_64-pc-windows-gnu target. Please don't use this crate directly, depend on +@code{winapi} instead.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-wincolor + (package + (name "rust-wincolor") + (version "1.0.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "wincolor" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1agaf3hcav113i86912ajnw6jxcy4rvkrgyf8gdj8kc031mh3xcn")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-winapi" ,rust-winapi) + ("rust-winapi-util" ,rust-winapi-util)))) + (home-page "https://github.com/BurntSushi/termcolor/tree/master/wincolor") + (synopsis "Windows API for controlling text color in a Windows console") + (description + "This package provides a simple Windows specific API for controlling text +color in a Windows console.") + (license (list license:unlicense + license:expat)))) + +(define-public rust-winutil + (package + (name "rust-winutil") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "winutil" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0vkyl3fbbf05n5ph5yz8sfaccrk9x3qsr25560w6w68ldf5i7bvx")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-winapi" ,rust-winapi)) + ;; This unmaintained crate cannot find winapi when built directly. + #:tests? #f + #:phases + (modify-phases %standard-phases + (delete 'build)))) + (home-page "https://bitbucket.org/DaveLancaster/winutil") + (synopsis "Library wrapping a handful of useful winapi functions") + (description + "A simple library wrapping a handful of useful winapi functions.") + (license license:expat))) + +(define-public rust-ws2-32-sys + (package + (name "rust-ws2-32-sys") + (version "0.2.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "ws2_32-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0ppscg5qfqaw0gzwv2a4nhn5bn01ff9iwn6ysqnzm4n8s3myz76m")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-winapi" ,rust-winapi-0.2) + ("rust-winapi-build" ,rust-winapi-build)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-Cargo-toml + (lambda _ + (substitute* "Cargo.toml" + ((", path =.* }") "}\n")) + #t))))) + (home-page "https://github.com/retep998/winapi-rs") + (synopsis "Function definitions for the Windows API library ws2_32") + (description + "Contains function definitions for the Windows API library ws2_32.") + (license license:expat))) + +(define-public rust-xattr + (package + (name "rust-xattr") + (version "0.2.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "xattr" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0k556fb6f5jc907975j9c8iynl2fqz3rf0w6fiig83i4yi0kfk14")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc)) + #:cargo-development-inputs + (("rust-tempfile" ,rust-tempfile)) + #:tests? #f)) ; Tests assume read access to /var. + (home-page "https://github.com/Stebalien/xattr") + (synopsis "Unix extended filesystem attributes") + (description + "This package provide a small library for setting, getting, and listing +extended attributes.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-xdg + (package + (name "rust-xdg") + (version "2.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "xdg" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0mws8a0fr3cqk5nh7aq9lmkmhzghvasqy4mhw6nnza06l4d6i2fh")))) + (build-system cargo-build-system) + (home-page "https://github.com/whitequark/rust-xdg") + (synopsis "Store and retrieve files according to XDG specification") + (description + "This package provides a library for storing and retrieving files according +to XDG Base Directory specification") + (license (list license:asl2.0 + license:expat)))) |