diff options
author | Pjotr Prins | 2019-08-01 08:59:33 -0500 |
---|---|---|
committer | Pjotr Prins | 2019-08-01 08:59:33 -0500 |
commit | a5a1e75c1379d9c26c0a0f9dbb9fb069c7bf7f18 (patch) | |
tree | 198824fa4435adb7bc850f129fff600d607eaa22 | |
parent | fd06a7a744cb2368d410e131b4f8c6bc7738cc94 (diff) | |
parent | 25db4463972bc8729436d84d8be003ea7eacad71 (diff) | |
download | guix-bioinformatics-a5a1e75c1379d9c26c0a0f9dbb9fb069c7bf7f18.tar.gz |
Merge branch 'master' of gitlab.com:genenetwork/guix-bioinformatics
-rw-r--r-- | README.md | 28 | ||||
-rw-r--r-- | gn/packages/afnumpy.scm | 83 | ||||
-rw-r--r-- | gn/packages/bnw.scm | 118 | ||||
-rw-r--r-- | gn/packages/crates-io.scm | 8426 | ||||
-rw-r--r-- | gn/packages/genenetwork.scm | 91 | ||||
-rw-r--r-- | gn/packages/graphviz.scm | 45 | ||||
-rw-r--r-- | gn/packages/hyphy.scm | 40 | ||||
-rw-r--r-- | gn/packages/javascript.scm | 656 | ||||
-rw-r--r-- | gn/packages/maths.scm | 132 | ||||
-rw-r--r-- | gn/packages/python.scm | 453 | ||||
-rw-r--r-- | gn/packages/python24.scm | 520 | ||||
-rw-r--r-- | gn/packages/ruby.scm | 4 | ||||
-rw-r--r-- | gn/packages/web.scm | 251 | ||||
-rw-r--r-- | gnulib-gets.patch | 60 | ||||
-rw-r--r-- | octave-nested-class.patch | 39 |
15 files changed, 10479 insertions, 467 deletions
@@ -5,7 +5,21 @@ http://genenetwork.org/. See [Guix Notes](https://github.com/pjotrp/guix-notes/blob/master/HACKING.org) for installing and hacking GNU Guix. -Simply set the GUIX_PACKAGE_PATH to point to the root of this directory +To easily use the packages from this repo, simply add it to your `channels` list: + + (cons* + (channel + (name 'gn-bioinformatics) + (url "https://gitlab.com/genenetwork/guix-bioinformatics") + (branch "master")) + %default-channels) + +and run `guix pull` like normal to update your software. This is the recommended +way to use the software from this repository and the code snippets in this +README assume you have done so. + +If you want to make changes to the packages in this repo then simply set +the GUIX_PACKAGE_PATH to point to the root of this directory before running Guix. E.g. git clone https://github.com/genenetwork/guix-bioinformatics.git @@ -23,8 +37,7 @@ into the GNU Guix repository when tested and stable. Install slurm with - git clone https://github.com/genenetwork/guix-bioinformatics.git - export GUIX_PACKAGE_PATH=$PWD/guix-bioinformatics/ + guix pull guix package -i slurm-llnl ~/.guix-profile/sbin/slurmd -C -D @@ -34,8 +47,7 @@ Install slurm with Install the module environment with - git clone https://github.com/genenetwork/guix-bioinformatics.git - export GUIX_PACKAGE_PATH=$PWD/guix-bioinformatics/ + guix pull guix package -i environment-modules modulecmd --version @@ -46,16 +58,14 @@ Install the module environment with Install python2-numarray package with - git clone https://github.com/genenetwork/guix-bioinformatics.git - export GUIX_PACKAGE_PATH=$PWD/guix-bioinformatics/ + guix pull guix package -i python2-numarray ## Common Workflow Language (CWL) Install the common workflow language tool cwltool with - git clone https://github.com/genenetwork/guix-bioinformatics.git - export GUIX_PACKAGE_PATH=$PWD/guix-bioinformatics/ + guix pull guix package -i python2-cwltool cwtool --version diff --git a/gn/packages/afnumpy.scm b/gn/packages/afnumpy.scm index 850304b..1322aee 100644 --- a/gn/packages/afnumpy.scm +++ b/gn/packages/afnumpy.scm @@ -18,67 +18,34 @@ (define-module (gn packages afnumpy) #:use-module ((guix licenses) #:prefix license:) - #:use-module (gnu packages) - #:use-module (gnu packages attr) - #:use-module (gnu packages base) - #:use-module (gnu packages compression) - #:use-module (gnu packages databases) - #:use-module (gnu packages fontutils) - #:use-module (gnu packages ghostscript) - #:use-module (gnu packages glib) - #:use-module (gnu packages gnupg) - #:use-module (gnu packages gtk) - #:use-module (gnu packages icu4c) - #:use-module (gnu packages image) - #:use-module (gnu packages libffi) - #:use-module (gnu packages linux) - #:use-module (gnu packages maths) - #:use-module (gnu packages multiprecision) - #:use-module (gnu packages networking) - #:use-module (gnu packages ncurses) - #:use-module (gnu packages pcre) - #:use-module (gnu packages perl) - #:use-module (gnu packages python) - #:use-module (gnu packages pkg-config) - #:use-module (gnu packages readline) - #:use-module (gnu packages statistics) - #:use-module (gnu packages tex) - #:use-module (gnu packages texinfo) - #:use-module (gnu packages tls) - #:use-module (gnu packages web) - #:use-module (gnu packages xml) - #:use-module (gnu packages xorg) - #:use-module (gnu packages compression) #:use-module (guix packages) - #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix utils) - #:use-module (guix build-system gnu) #:use-module (guix build-system python) - #:use-module (guix build-system trivial)) + #:use-module (gnu packages python)) (define-public afnumpy -(let ((commit "c5594c1")) -(package - (name "afnumpy") - (version (string-append "rel1-" commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/FilipeMaia/afnumpy.git") - (commit commit))) - (file-name (string-append name "-" commit)) - (sha256 - (base32 - "0n30xn8cz0ww7czb3m6dz5sh87khan7ag3vb192narmxj37l8qy7")))) - (build-system python-build-system) - ;; (native-inputs - ;; `(("python-setuptools" ,python-setuptools))) - (arguments - `(#:python ,python-2 - #:tests? #f)) - (home-page "https://github.com/FilipeMaia/afnumpy") - (synopsis "Numerical library array processing of numbers, strings, records and objects") - (description - "A GPGPU-accelerated drop-in of python's numpy") - (license license:gpl2)))) + (let ((commit "c5594c1")) + (package + (name "afnumpy") + (version (string-append "rel1-" commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/FilipeMaia/afnumpy.git") + (commit commit))) + (file-name (string-append name "-" commit)) + (sha256 + (base32 + "0n30xn8cz0ww7czb3m6dz5sh87khan7ag3vb192narmxj37l8qy7")))) + (build-system python-build-system) + ;; (native-inputs + ;; `(("python-setuptools" ,python-setuptools))) + (arguments + `(#:python ,python-2 + #:tests? #f)) + (home-page "https://github.com/FilipeMaia/afnumpy") + (synopsis "Numerical library array processing of numbers, strings, records and objects") + (description + "A GPGPU-accelerated drop-in of python's numpy") + (license license:gpl2)))) diff --git a/gn/packages/bnw.scm b/gn/packages/bnw.scm new file mode 100644 index 0000000..2c34256 --- /dev/null +++ b/gn/packages/bnw.scm @@ -0,0 +1,118 @@ +(define-module (gn packages bnw) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix git-download) + #:use-module (guix build-system trivial) + #:use-module (gnu packages bash) + #:use-module (gn packages graphviz) + #:use-module (gn packages javascript) + #:use-module (gn packages maths) + #:use-module (gnu packages python) + #:use-module (gn packages web)) + +(define-public bnw + (let ((commit "eb6b002b924694808384f1a8d7c6d1121806ae04") + (revision "1")) + (package + (name "bnw") + (version (git-version "1.22" revision commit)) ; June 28, 2019 + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ziejd2/BNW.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "10qwykp2zcyxih6a52icvy30ps69qk4v3jgirmdpw1l15zi4p2wq")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let* ((out (assoc-ref %outputs "out")) + (source (assoc-ref %build-inputs "source")) + (bash (assoc-ref %build-inputs "bash")) + (graphviz (assoc-ref %build-inputs "graphviz")) + (octave (assoc-ref %build-inputs "octave")) + (python (assoc-ref %build-inputs "python")) + (jquery (assoc-ref %build-inputs "jquery")) + (awesome (assoc-ref %build-inputs "awesome")) + (cyto (assoc-ref %build-inputs "cytoscape")) + (cyto2 (assoc-ref %build-inputs "cytoscape-2")) + (cs-dagre (assoc-ref %build-inputs "cyto-dagre")) + (d3js (assoc-ref %build-inputs "d3js")) + (d3js-multi (assoc-ref %build-inputs "d3js-multi")) + (dagre (assoc-ref %build-inputs "dagre")) + (lodash (assoc-ref %build-inputs "lodash")) + (canvas-toblob (assoc-ref %build-inputs "canvas-toblob")) + (filesaver (assoc-ref %build-inputs "filesaver")) + (panzoom (assoc-ref %build-inputs "panzoom")) + (js-path "/share/genenetwork2/javascript/")) + (copy-recursively source out) + (for-each (lambda (file) + (patch-shebang file + (list (string-append bash "/bin") + (string-append octave "/bin") + (string-append python "/bin")))) + (find-files out ".*")) + (with-directory-excursion out + (substitute* + (append '("home.php") + (find-files "sourcecodes" ".php") + (find-files "sourcecodes/run_scripts" ".*")) + (("/usr/bin/dot") (string-append graphviz "/bin/dot"))) + (substitute* "sourcecodes/layout_cyto.php" + (("https://cdnjs.cloudflare.com/ajax/libs/cytoscape/3.7.1/cytoscape.min.js") + (string-append cyto js-path "cytoscape/cytoscape.min.js")) + (("https://cdnjs.cloudflare.com/ajax/libs/cytoscape/2.7.29/cytoscape.min.js") + (string-append cyto2 js-path "cytoscape/cytoscape.min.js")) + (("http://spades.bioinf.spbau.ru/~alla/graph_viewer/js/cytoscape-dagre.js") + (string-append cs-dagre js-path "cytoscape-dagre/cytoscape-dagre.js")) + (("https://unpkg.com/dagre@0.7.4/dist/dagre.js") + (string-append dagre js-path "dagre/dagre.js")) + (("https://cdnjs.cloudflare.com/ajax/libs/cytoscape-panzoom/2.5.3/cytoscape.js-panzoom.css") + (string-append panzoom js-path "cytoscape-panzoom/cytoscape.js-panzoom.css")) + (("https://cdnjs.cloudflare.com/ajax/libs/cytoscape-panzoom/2.5.3/cytoscape-panzoom.js") + (string-append panzoom js-path "cytoscape-panzoom/cytoscape-panzoom.js")) + (("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.0.3/css/font-awesome.css") + (string-append awesome "/share/web/font-awesome/css/font-awesome.css")) + (("https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js") + (string-append jquery "/share/web/jquery/jquery.min.js")) + (("https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.10/lodash.js") + (string-append lodash js-path "lodash/lodash.js"))) + (substitute* '("sourcecodes/layout_svg_wt.php" + "sourcecodes/layout_svg_no.php") + (("http://d3js.org/d3.v4.min.js") + (string-append d3js js-path "d3js/d3.min.js")) + (("http://d3js.org/d3-selection-multi.v1.js") + (string-append d3js-multi js-path "d3js-multi/d3-selection-multi.js")) + (("https://cdn.rawgit.com/eligrey/canvas-toBlob.js/f1a01896135ab378aa5c0118eadd81da55e698d8/canvas-toBlob.js") + (string-append canvas-toblob js-path "canvas-toBlob/canvas-toBlob.js")) + (("https://cdn.rawgit.com/eligrey/FileSaver.js/e9d941381475b5df8b7d7691013401e171014e89/FileSaver.min.js") + (string-append filesaver js-path "filesaver/filesaver.js")))))))) + (native-inputs `(("source" ,source))) + (inputs + `(("bash" ,bash-minimal) + ("graphviz" ,graphviz-2.26) + ("octave" ,octave-3.4.3) + ("python" ,python-2) + ("jquery" ,web-jquery) + ("awesome" ,web-font-awesome) + ("cytoscape" ,javascript-cytoscape) + ("cytoscape-2" ,javascript-cytoscape-2) + ("d3js" ,javascript-d3js-4) + ("d3js-multi" ,javascript-d3js-multi) + ("dagre" ,javascript-dagre) + ("lodash" ,javascript-lodash) + ("canvas-toblob" ,javascript-canvas-toblob) + ("filesaver" ,javascript-filesaver) + ("cyto-dagre" ,javascript-cytoscape-dagre) + ("panzoom" ,javascript-cytoscape-panzoom))) + (home-page "http://compbio.uthsc.edu/BNW/") + (synopsis "Bayesian Network Webserver") + (description "This contains the code for the @dfn{Bayesian Network Webserver} (BNW).") + (license (list license:gpl2 + license:gpl2+ + license:lgpl2.1+))))) diff --git a/gn/packages/crates-io.scm b/gn/packages/crates-io.scm new file mode 100644 index 0000000..abc69d9 --- /dev/null +++ b/gn/packages/crates-io.scm @@ -0,0 +1,8426 @@ +(define-module (gn packages crates-io) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix utils) + #:use-module (guix build-system cargo) + #:use-module (gnu packages crates-io)) + +;; Please keep these packages sorted alphabetically + +(define-public rust-addr2line + (package + (name "rust-addr2line") + (version "0.10.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "addr2line" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1daaxrzk6fmfzaqi06y704hcw0rjz199l0n9214ybfm3m3jnmc4m")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cpp-demangle" ,rust-cpp-demangle) + ("rust-fallible-iterator" + ,rust-fallible-iterator) + ("rust-gimli" ,rust-gimli) + ("rust-intervaltree" ,rust-intervaltree) + ("rust-lazycell" ,rust-lazycell) + ("rust-object" ,rust-object) + ("rust-rustc-demangle" ,rust-rustc-demangle) + ("rust-smallvec" ,rust-smallvec)) + #:cargo-development-inputs + (("rust-backtrace" ,rust-backtrace) + ("rust-clap" ,rust-clap) + ("rust-findshlibs" ,rust-findshlibs) + ("rust-memmap" ,rust-memmap) + ("rust-rustc-test" ,rust-rustc-test)))) + (home-page "https://github.com/gimli-rs/addr2line") + (synopsis + "A cross-platform symbolication library written in Rust, using `gimli`") + (description + "This package provides a cross-platform symbolication library written in Rust, using `gimli`") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-afl + (package + (name "rust-afl") + (version "0.4.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "afl" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0g2chc18ji7qxi0d03n2ai140qdcww958v5si6rcjnnhmri1vyfb")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cc" ,rust-cc) + ("rust-clap" ,rust-clap) + ("rust-rustc-version" ,rust-rustc-version) + ("rust-xdg" ,rust-xdg)) + #:cargo-development-inputs + (("rust-rustc-version" ,rust-rustc-version) + ("rust-xdg" ,rust-xdg)))) + (home-page "https://github.com/rust-fuzz/afl.rs") + (synopsis + "Fuzzing Rust code with american-fuzzy-lop") + (description + "Fuzzing Rust code with american-fuzzy-lop") + (license license:asl2.0))) + +(define-public rust-aho-corasick + (package + (name "rust-aho-corasick") + (version "0.7.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "aho-corasick" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "10p2yl9fz7a4zwc4kj4zpk0wcz64n4m5l0ng6zsa6zkxrcfamdrn")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-memchr" ,rust-memchr)) + #:cargo-development-inputs + (("rust-doc-comment" ,rust-doc-comment)))) + (home-page "https://github.com/BurntSushi/aho-corasick") + (synopsis "Fast multiple substring searching.") + (description + "Fast multiple substring searching.") + (license (list license:unlicense + license:expat)))) + +(define-public rust-ansi-term + (package + (name "rust-ansi-term") + (version "0.12.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "ansi_term" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0dmvziqx1j06xbv3zx62k7w81dyaqviag1rk5a0iynjqqdk2g9za")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-serde" ,rust-serde) + ("rust-winapi" ,rust-winapi)) + #:cargo-development-inputs + (("rust-doc-comment" ,rust-doc-comment) + ("rust-serde-json" ,rust-serde-json)))) + (home-page "https://github.com/ogham/rust-ansi-term") + (synopsis + "Library for ANSI terminal colours and styles (bold, underline)") + (description + "Library for ANSI terminal colours and styles (bold, underline)") + (license license:expat))) + +(define-public rust-ansi-term-0.11 + (package + (inherit rust-ansi-term) + (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")))) + (arguments + `(#:cargo-inputs + (("rust-winapi" ,rust-winapi)))))) + +(define-public rust-arrayvec + (package + (name "rust-arrayvec") + (version "0.4.11") + (source + (origin + (method url-fetch) + (uri (crate-uri "arrayvec" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1fmhq4ljxr954mdyazaqa9kdxryl5d2ggr5rialylrd6xndkzmxq")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-nodrop" ,rust-nodrop) + ("rust-serde" ,rust-serde)) + #:cargo-development-inputs + (("rust-bencher" ,rust-bencher) + ("rust-matches" ,rust-matches) + ("rust-serde-test" ,rust-serde-test)))) + (home-page "https://github.com/bluss/arrayvec") + (synopsis + "A vector with fixed capacity, backed by an array (it can be stored on the stack too). Implements fixed capacity ArrayVec and ArrayString.") + (description + "This package provides a vector with fixed capacity, backed by an array (it can be stored on the stack too). Implements fixed capacity ArrayVec and ArrayString.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-ascii + (package + (name "rust-ascii") + (version "0.9.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "ascii" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1mn5az4hkxgjhwy157pr1nrfdb3qjpw8jw8v91m2i8wg59b21qwi")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-quickcheck" ,rust-quickcheck) + ("rust-serde" ,rust-serde) + ("rust-serde-test" ,rust-serde-test)))) + (home-page + "https://github.com/tomprogrammer/rust-ascii") + (synopsis + "ASCII-only equivalents to `char`, `str` and `String`.") + (description + "ASCII-only equivalents to `char`, `str` and `String`.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-atlatl + (package + (name "rust-atlatl") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "atlatl" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "18kyvdm56fdb52b1sryi80xgs3nkjdylynsv324aiqnj85l1bfrj")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-fnv" ,rust-fnv) + ("rust-num-traits" ,rust-num-traits) + ("rust-serde" ,rust-serde)) + #:cargo-development-inputs + (("rust-fst" ,rust-fst) + ("rust-lazy-static" ,rust-lazy-static) + ("rust-quickcheck" ,rust-quickcheck) + ("rust-rand" ,rust-rand)))) + (home-page + "https://github.com/tapeinosyne/atlatl") + (synopsis "Double-array tries.") + (description "Double-array tries.") + (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)))) + (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 ; guix upstreamable + (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-automod + (package + (name "rust-automod") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "automod" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0pld582piq2d55z0j96zcs8izw3ml46f8h9y7sdyxg093yfvxl2h")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2) + ("rust-quote" ,rust-quote) + ("rust-syn" ,rust-syn)))) + (home-page "https://github.com/dtolnay/automod") + (synopsis "Pull in every source file in a directory as a module.") + (description + "Pull in every source file in a directory as a module.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-average + (package + (name "rust-average") + (version "0.10.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "average" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "077wbjzn2hwdjnglp8pjvirvsjgfgbgnlirwh5g2hk14xqx7f57l")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-conv" ,rust-conv) + ("rust-float-ord" ,rust-float-ord) + ("rust-num-traits" ,rust-num-traits) + ("rust-serde" ,rust-serde) + ("rust-serde-big-array" ,rust-serde-big-array) + ("rust-serde-derive" ,rust-serde-derive)) + #:cargo-development-inputs + (("rust-bencher" ,rust-bencher) + ("rust-proptest" ,rust-proptest) + ("rust-quantiles" ,rust-quantiles) + ("rust-rand" ,rust-rand) + ("rust-rand-distr" ,rust-rand-distr) + ("rust-rand-xoshiro" ,rust-rand-xoshiro) + ("rust-serde-json" ,rust-serde-json) + ("rust-streaming-stats" ,rust-streaming-stats)))) + (home-page "https://github.com/vks/average") + (synopsis "Calculate statistics iteratively") + (description "Calculate statistics iteratively") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-average-0.9 + (package + (inherit rust-average) + (name "rust-average") + (version "0.9.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "average" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1f8ya00bv6qki9m7b4lb3bn845rj473mx02qpm7wgy5qc1yp75xs")))) + (arguments + `(#:cargo-inputs + (("rust-conv" ,rust-conv) + ("rust-float-ord" ,rust-float-ord) + ("rust-num-integer" ,rust-num-integer) + ("rust-num-traits" ,rust-num-traits) + ("rust-serde" ,rust-serde) + ("rust-serde-big-array" ,rust-serde-big-array) + ("rust-serde-derive" ,rust-serde-derive)) + #:cargo-development-inputs + (("rust-bencher" ,rust-bencher) + ("rust-quantiles" ,rust-quantiles) + ("rust-rand" ,rust-rand-0.6) + ("rust-serde-json" ,rust-serde-json) + ("rust-streaming-stats" ,rust-streaming-stats)))))) + +(define-public rust-backtrace + (package + (name "rust-backtrace") + (version "0.3.33") + (source + (origin + (method url-fetch) + (uri (crate-uri "backtrace" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1iiinw3c494lz8xb823ccl9zwifka9zsg44734wsd3xgr6dngyw8")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-addr2line" ,rust-addr2line) + ("rust-backtrace-sys" ,rust-backtrace-sys) + ("rust-cfg-if" ,rust-cfg-if) + ("rust-compiler-builtins" + ,rust-compiler-builtins) + ("rust-cpp-demangle" ,rust-cpp-demangle) + ("rust-findshlibs" ,rust-findshlibs) + ("rust-goblin" ,rust-goblin) + ("rust-goblin" ,rust-goblin) + ("rust-goblin" ,rust-goblin) + ("rust-goblin" ,rust-goblin) + ("rust-libc" ,rust-libc) + ("rust-memmap" ,rust-memmap) + ("rust-rustc-demangle" ,rust-rustc-demangle) + ("rust-rustc-serialize" ,rust-rustc-serialize) + ("rust-rustc-std-workspace-core" + ,rust-rustc-std-workspace-core) + ("rust-serde" ,rust-serde) + ("rust-winapi" ,rust-winapi)))) + (home-page + "https://github.com/rust-lang/backtrace-rs") + (synopsis + "A library to acquire a stack trace (backtrace) at runtime in a Rust program.") + (description + "This package provides a library to acquire a stack trace (backtrace) at runtime in a Rust program.") + (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/alexcrichton/backtrace-rs") + (synopsis + "Bindings to the libbacktrace gcc library") + (description + "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)))) + (home-page "https://github.com/OrKoN/base-x-rs") + (synopsis "Encode/decode any base") + (description "Encode/decode any base") + (license license:expat))) + +(define-public rust-base64 + (package + (name "rust-base64") + (version "0.10.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "base64" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "13k6bvd3n6dm7jqn9x918w65dd9xhx454bqphbnv0bkd6n9dj98b")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-byteorder" ,rust-byteorder)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion) + ("rust-rand" ,rust-rand)))) + (home-page + "https://github.com/alicemaz/rust-base64") + (synopsis + "encodes and decodes base64 as bytes or utf8") + (description + "encodes and decodes base64 as bytes or utf8") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-bencher ; guix upstreamable + (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-bincode + (package + (name "rust-bincode") + (version "1.1.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "bincode" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1xx6bp39irvsndk6prnmmq8m1l9p6q2qj21j6mfks2y81pjsa14z")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-autocfg" ,rust-autocfg) + ("rust-byteorder" ,rust-byteorder) + ("rust-serde" ,rust-serde)) + #:cargo-development-inputs + (("rust-serde-bytes" ,rust-serde-bytes) + ("rust-serde-derive" ,rust-serde-derive)))) + (home-page "https://github.com/TyOverby/bincode") + (synopsis + "A binary serialization / deserialization strategy that uses Serde for transforming structs into bytes and vice versa!") + (description + "This package provides a binary serialization / deserialization strategy that uses Serde for transforming structs into bytes and vice versa!") + (license license:expat))) + +(define-public rust-bindgen + (package + (name "rust-bindgen") + (version "0.50.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "bindgen" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1k4n1d002vrfn1mlpww3ib7f275yn4rpxfwkqpr9bym27zg17ab5")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags) + ("rust-cexpr" ,rust-cexpr) + ("rust-cfg-if" ,rust-cfg-if) + ("rust-clang-sys" ,rust-clang-sys) + ("rust-clap" ,rust-clap) + ("rust-env-logger" ,rust-env-logger) + ("rust-fxhash" ,rust-fxhash) + ("rust-lazy-static" ,rust-lazy-static) + ("rust-log" ,rust-log) + ("rust-peeking-take-while" + ,rust-peeking-take-while) + ("rust-proc-macro2" ,rust-proc-macro2) + ("rust-quote" ,rust-quote) + ("rust-regex" ,rust-regex) + ("rust-shlex" ,rust-shlex) + ("rust-which" ,rust-which)) + #:cargo-development-inputs + (("rust-clap" ,rust-clap) + ("rust-diff" ,rust-diff) + ("rust-shlex" ,rust-shlex)))) + (home-page + "https://rust-lang.github.io/rust-bindgen/") + (synopsis + "Automatically generates Rust FFI bindings to C and C++ libraries.") + (description + "Automatically generates Rust FFI bindings to C and C++ libraries.") + (license license:bsd-3))) + +(define-public rust-bit-set + (package + (name "rust-bit-set") + (version "0.5.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "bit-set" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "100ac8867bvbx9kv634w4xjk98b71i8nq4wdcvpf3cf4ha4j6k78")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bit-vec" ,rust-bit-vec)) + #:cargo-development-inputs + (("rust-rand" ,rust-rand)))) + (home-page + "https://github.com/contain-rs/bit-set") + (synopsis "A set of bits") + (description + "This package provides a set of bits") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-bitflags ; guix upstreamable + (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-blobby + (package + (name "rust-blobby") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "blobby" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1xicpf3s2mi5xqnx8ps5mdych4ib5nh2nfsbrsg8ar8bjk1girbg")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-byteorder" ,rust-byteorder)) + #:cargo-development-inputs + (("rust-byteorder" ,rust-byteorder) + ("rust-hex" ,rust-hex)))) + (home-page "https://github.com/RustCrypto/utils") + (synopsis + "Iterator over simple binary blob storage") + (description + "Iterator over simple binary blob storage") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-bumpalo + (package + (name "rust-bumpalo") + (version "2.5.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "bumpalo" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "018b5calz3895v04shk9bn7i73r4zf8yf7p1dqg92s3xya13vm1c")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-criterion" ,rust-criterion) + ("rust-quickcheck" ,rust-quickcheck)))) + (home-page "https://github.com/fitzgen/bumpalo") + (synopsis + "A fast bump allocation arena for Rust.") + (description + "This package provides a fast bump allocation arena for Rust.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-byteorder + (package + (name "rust-byteorder") + (version "1.3.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "byteorder" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1xbwjlmq2ziqjmjvkqxdx1yh136xxhilxd40bky1w4d7hn4xvhx7")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-doc-comment" ,rust-doc-comment) + ("rust-quickcheck" ,rust-quickcheck) + ("rust-rand" ,rust-rand)))) + (home-page + "https://github.com/BurntSushi/byteorder") + (synopsis + "Library for reading/writing numbers in big-endian and little-endian.") + (description + "Library for reading/writing numbers in big-endian and little-endian.") + (license (list license:unlicense + license:expat)))) + +(define-public rust-bytes + (package + (name "rust-bytes") + (version "0.4.12") + (source + (origin + (method url-fetch) + (uri (crate-uri "bytes" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0768a55q2fsqdjsvcv98ndg9dq7w2g44dvq1avhwpxrdzbydyvr0")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-byteorder" ,rust-byteorder) + ("rust-either" ,rust-either) + ("rust-iovec" ,rust-iovec) + ("rust-serde" ,rust-serde)) + #:cargo-development-inputs + (("rust-serde-test" ,rust-serde-test)))) + (home-page "https://github.com/carllerche/bytes") + (synopsis + "Types and traits for working with bytes") + (description + "Types and traits for working with bytes") + (license license:expat))) + +(define-public rust-c2-chacha + (package + (name "rust-c2-chacha") + (version "0.2.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "c2-chacha" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "00a11qdc8mg3z0k613rhprkc9p6xz0y7b1681x32ixg0hr3x0r3x")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-byteorder" ,rust-byteorder) + ("rust-lazy-static" ,rust-lazy-static) + ("rust-ppv-lite86" ,rust-ppv-lite86) + ("rust-stream-cipher" ,rust-stream-cipher)) + #:cargo-development-inputs + (("rust-hex-literal" ,rust-hex-literal)))) + (home-page + "https://github.com/cryptocorrosion/cryptocorrosion") + (synopsis "The ChaCha family of stream ciphers") + (description + "The ChaCha family of stream ciphers") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-cc + (package + (name "rust-cc") + (version "1.0.38") + (source + (origin + (method url-fetch) + (uri (crate-uri "cc" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0imzcz53wg7m3gr6657yrikp7icyc2bpkvssnyd0xvj8imihqh6f")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-rayon" ,rust-rayon)) + #:cargo-development-inputs + (("rust-tempdir" ,rust-tempdir)) + #:tests? #f)) ; tests fail + (home-page + "https://github.com/alexcrichton/cc-rs") + (synopsis + "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 Rust + code.") + (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-cexpr + (package + (name "rust-cexpr") + (version "0.3.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "cexpr" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1by64ini3f058pwad3immx5cc12wr0m0kwgaxa8apzym03mj9ym7")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-nom" ,rust-nom)) + #:cargo-development-inputs + (("rust-clang-sys" ,rust-clang-sys)))) + (home-page + "https://github.com/jethrogb/rust-cexpr") + (synopsis "A C expression parser and evaluator") + (description + "This package provides a C expression parser and evaluator") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-cfg-if ; guix upstreamable + (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-chrono + (package + (name "rust-chrono") + (version "0.4.7") + (source + (origin + (method url-fetch) + (uri (crate-uri "chrono" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1glam3iqhshbamzgf0npn7hgghski92r31lm7gg8841hnxc1zn3p")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc) + ("rust-num-integer" ,rust-num-integer) + ("rust-num-traits" ,rust-num-traits) + ("rust-rustc-serialize" ,rust-rustc-serialize) + ("rust-serde" ,rust-serde) + ("rust-time" ,rust-time)) + #:cargo-development-inputs + (("rust-bincode" ,rust-bincode) + ("rust-doc-comment" ,rust-doc-comment) + ("rust-num-iter" ,rust-num-iter) + ("rust-serde-derive" ,rust-serde-derive) + ("rust-serde-json" ,rust-serde-json)))) + (home-page + "https://github.com/chronotope/chrono") + (synopsis "Date and time library for Rust") + (description "Date and time library for Rust") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-ci-info + (package + (name "rust-ci-info") + (version "0.7.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "ci_info" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "01n3gxmwp765m6xg1fl8v1y12wsvbqvlcai27kdr5d2skrijyfb7")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-envmnt" ,rust-envmnt) + ("rust-serde" ,rust-serde) + ("rust-serde-derive" ,rust-serde-derive)))) + (home-page + "http://github.com/sagiegurari/ci_info") + (synopsis + "Provides current CI environment information.") + (description + "Provides current CI environment information.") + (license license:asl2.0))) + +(define-public rust-clang-sys + (package + (name "rust-clang-sys") + (version "0.28.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "clang-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0m8h56yjwv19pbah4lrhmb8js9mhx6hi5gk0y4zzix89xjf2c9s2")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-glob" ,rust-glob-0.2) + ("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" ,(@ (gnu packages llvm) clang)))) + (home-page + "https://github.com/KyleMayes/clang-sys") + (synopsis "Rust bindings for libclang.") + (description "Rust bindings for libclang.") + (license license:asl2.0))) + +(define-public rust-clap + (package + (name "rust-clap") + (version "2.33.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "clap" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1nf6ld3bims1n5vfzhkvcb55pdzh04bbhzf8nil5vvw05nxzarsh")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-ansi-term" ,rust-ansi-term-0.11) + ("rust-atty" ,rust-atty) + ("rust-bitflags" ,rust-bitflags) + ("rust-clippy" ,rust-clippy) + ("rust-strsim" ,rust-strsim-0.8) + ("rust-term-size" ,rust-term-size) + ("rust-textwrap" ,rust-textwrap) + ("rust-unicode-width" ,rust-unicode-width) + ("rust-vec-map" ,rust-vec-map) + ("rust-yaml-rust" ,rust-yaml-rust)) + #:cargo-development-inputs + (("rust-lazy-static" ,rust-lazy-static) + ("rust-regex" ,rust-regex) + ("rust-version-sync" ,rust-version-sync)))) + (home-page "https://clap.rs/") + (synopsis + "A simple to use, efficient, and full-featured Command Line Argument Parser") + (description + "This package provides a simple to use, efficient, and full-featured Command Line Argument Parser") + (license license:expat))) + +(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 + "A 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-clippy + (package + (name "rust-clippy") + (version "0.0.302") + (source + (origin + (method url-fetch) + (uri (crate-uri "clippy" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1562x3sq9mgmc8j39gd34wqm7ybrdvpmj7cc1n450gwsawayw4fr")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-term" ,rust-term)))) + (home-page + "https://github.com/rust-lang-nursery/rust-clippy") + (synopsis + "A bunch of helpful lints to avoid common pitfalls in Rust.") + (description + "This package provides a bunch of helpful lints to avoid common pitfalls in Rust.") + (license (list license:asl2.0 + 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. Contains all syscalls and related types.") + (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.40") + (source + (origin + (method url-fetch) + (uri (crate-uri "cmake" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1w0zgqdbbhl9w6px7avc6d5p43clglrmjfdn2n26mdsli5n3i91c")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-cc" ,rust-cc)))) + (home-page + "https://github.com/alexcrichton/cmake-rs") + (synopsis + "A build dependency for running `cmake` to build a native library") + (description + "This package provides a build dependency for running `cmake` to build a native library") + (license (list license:asl2.0 + license:expat)))) + +(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-rustc-std-workspace-core" + ,rust-rustc-std-workspace-core)) + #:cargo-development-inputs + (("rust-cc" ,rust-cc)))) + (home-page + "https://github.com/rust-lang-nursery/compiler-builtins") + (synopsis + "Compiler intrinsics used by the Rust compiler. Also available for other targets if necessary!") + (description + "Compiler intrinsics used by the Rust compiler. Also available for other targets if necessary!") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-console + (package + (name "rust-console") + (version "0.7.7") + (source + (origin + (method url-fetch) + (uri (crate-uri "console" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0a4n2syzik9lh02v2i4wdazvm05d99bib7dw0lqvz8mq2hn7r9cc")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-atty" ,rust-atty) + ("rust-clicolors-control" + ,rust-clicolors-control) + ("rust-encode-unicode" ,rust-encode-unicode) + ("rust-lazy-static" ,rust-lazy-static) + ("rust-libc" ,rust-libc) + ("rust-parking-lot" ,rust-parking-lot) + ("rust-regex" ,rust-regex) + ("rust-termios" ,rust-termios) + ("rust-unicode-width" ,rust-unicode-width) + ("rust-winapi" ,rust-winapi)))) + (home-page + "https://github.com/mitsuhiko/console") + (synopsis + "A terminal and console abstraction for Rust") + (description + "This package provides a terminal and console abstraction for Rust") + (license license:expat))) + +(define-public rust-conv + (package + (name "rust-conv") + (version "0.3.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "conv" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "168j1npqrif1yqxbgbk0pdrx9shzhs5ylc5a4xw49b6hbxi11zvq")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-custom-derive" ,rust-custom-derive)) + #:cargo-development-inputs + (("rust-quickcheck" ,rust-quickcheck) + ("rust-winapi" ,rust-winapi)))) + (home-page + "https://github.com/DanielKeep/rust-conv") + (synopsis + "This crate provides a number of conversion traits with more specific semantics than those provided by 'as' or 'From'/'Into'.") + (description + "This crate provides a number of conversion traits with more specific semantics than those provided by 'as' or 'From'/'Into'.") + (license license:expat))) + +(define-public rust-core-arch + (package + (name "rust-core-arch") + (version "0.1.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "core_arch" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "04vdvr9vj0f1cv2p54nsszmrrk9w1js4c0z4i0bdlajl1lydslim")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-wasm-bindgen-test" + ,rust-wasm-bindgen-test)))) + (home-page + "https://github.com/rust-lang-nursery/stdsimd") + (synopsis + "`core::arch` - Rust's core library architecture-specific intrinsics.") + (description + "`core::arch` - Rust's core library architecture-specific intrinsics.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-cpp-demangle + (package + (name "rust-cpp-demangle") + (version "0.2.12") + (source + (origin + (method url-fetch) + (uri (crate-uri "cpp_demangle" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0a4hqsfc0sfdwy7pcr0rc1fjp2j47fxbkqfc2lfrbi4zlm5hq36k")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-afl" ,rust-afl) + ("rust-cfg-if" ,rust-cfg-if)) + #:cargo-development-inputs + (("rust-clap" ,rust-clap) + ("rust-diff" ,rust-diff) + ("rust-glob" ,rust-glob)))) + (home-page + "https://github.com/gimli-rs/cpp_demangle") + (synopsis "A crate for demangling C++ symbols") + (description + "This package provides a crate for demangling C++ symbols") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-crates-index + (package + (name "rust-crates-index") + (version "0.13.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "crates-index" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1n7pp6mk59hw3nqlh8irxc9pp0g5ziw7bprqsw2lxvg13cvdp76s")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-error-chain" ,rust-error-chain) + ("rust-git2" ,rust-git2) + ("rust-glob" ,rust-glob) + ("rust-serde" ,rust-serde) + ("rust-serde-derive" ,rust-serde-derive) + ("rust-serde-json" ,rust-serde-json)) + #:cargo-development-inputs + (("rust-tempdir" ,rust-tempdir)))) + (home-page + "https://github.com/frewsxcv/rust-crates-index") + (synopsis + "Library for retrieving and interacting with the crates.io index") + (description + "Library for retrieving and interacting with the crates.io index") + (license license:asl2.0))) + +(define-public rust-criterion + (package + (name "rust-criterion") + (version "0.2.11") + (source + (origin + (method url-fetch) + (uri (crate-uri "criterion" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1543wlpc4p1kz7sqqa7ylr8bkdr8l4f34hy4bxj7krpkahwhaqq3")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-atty" ,rust-atty) + ("rust-cast" ,rust-cast) + ("rust-clap" ,rust-clap) + ("rust-criterion-plot" ,rust-criterion-plot) + ("rust-csv" ,rust-csv) + ("rust-itertools" ,rust-itertools) + ("rust-lazy-static" ,rust-lazy-static) + ("rust-libc" ,rust-libc) + ("rust-num-traits" ,rust-num-traits) + ("rust-rand-core" ,rust-rand-core) + ("rust-rand-os" ,rust-rand-os) + ("rust-rand-xoshiro" ,rust-rand-xoshiro) + ("rust-rayon" ,rust-rayon) + ("rust-rayon-core" ,rust-rayon-core) + ("rust-serde" ,rust-serde) + ("rust-serde-derive" ,rust-serde-derive) + ("rust-serde-json" ,rust-serde-json) + ("rust-tinytemplate" ,rust-tinytemplate) + ("rust-walkdir" ,rust-walkdir)) + #:cargo-development-inputs + (("rust-approx" ,rust-approx) + ("rust-quickcheck" ,rust-quickcheck) + ("rust-rand" ,rust-rand) + ("rust-tempdir" ,rust-tempdir)))) + (home-page + "https://bheisler.github.io/criterion.rs/book/index.html") + (synopsis + "Statistics-driven micro-benchmarking library") + (description + "Statistics-driven micro-benchmarking library") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-crossbeam-deque + (package + (name "rust-crossbeam-deque") + (version "0.7.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "crossbeam-deque" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0was9x71cz5g1y3670cyy6jdmsdfg6k9mbf0ddz2k1mdd7hx535i")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-crossbeam-epoch" ,rust-crossbeam-epoch) + ("rust-crossbeam-utils" ,rust-crossbeam-utils)) + #:cargo-development-inputs + (("rust-rand" ,rust-rand-0.6)))) + (home-page + "https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-deque") + (synopsis "Concurrent work-stealing deque") + (description "Concurrent work-stealing deque") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-crossbeam-deque-0.6 + (package + (inherit rust-crossbeam-deque) + (name "rust-crossbeam-deque") + (version "0.6.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "crossbeam-deque" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "04rcpgjs6ns57vag8a3dzx26190dhbvy2l0p9n22b9p1yf64pr05")))) + (arguments + `(#:cargo-inputs + (("rust-crossbeam-epoch" ,rust-crossbeam-epoch) + ("rust-crossbeam-utils" ,rust-crossbeam-utils)) + #:cargo-development-inputs + (("rust-rand" ,rust-rand-0.6)))))) + +(define-public rust-crossbeam-deque-0.2 + (package + (inherit rust-crossbeam-deque) + (name "rust-crossbeam-deque") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "crossbeam-deque" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1wwwbnvxh0rza38xiws8qc46klzhv19zgvarn37pijis6v2zhfgp")))) + (arguments + `(#:cargo-inputs + (("rust-crossbeam-epoch" ,rust-crossbeam-epoch-0.3) + ("rust-crossbeam-utils" ,rust-crossbeam-utils)) + #:cargo-development-inputs + (("rust-rand" ,rust-rand-0.4)))))) + +(define-public rust-crossbeam-epoch + (package + (name "rust-crossbeam-epoch") + (version "0.7.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "crossbeam-epoch" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1d408b9x82mdbnb405gw58v5mmdbj2rl28a1h7b9rmn25h8f7j84")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-arrayvec" ,rust-arrayvec) + ("rust-cfg-if" ,rust-cfg-if) + ("rust-crossbeam-utils" ,rust-crossbeam-utils) + ("rust-lazy-static" ,rust-lazy-static) + ("rust-memoffset" ,rust-memoffset-0.2) + ("rust-scopeguard" ,rust-scopeguard-0.3)) + #:cargo-development-inputs + (("rust-rand" ,rust-rand-0.6)))) + (home-page + "https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-epoch") + (synopsis "Epoch-based garbage collection") + (description "Epoch-based garbage collection") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-crossbeam-epoch-0.3 + (package + (inherit rust-crossbeam-epoch) + (name "rust-crossbeam-epoch") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "crossbeam-epoch" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0l4igvp2i7b6dgaiq040j8kj8hygwdpr6ppzh1hrbsbx83sj2wcj")))) + (arguments + `(#:cargo-inputs + (("rust-arrayvec" ,rust-arrayvec) + ("rust-cfg-if" ,rust-cfg-if) + ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.2) + ("rust-lazy-static" ,rust-lazy-static) + ("rust-memoffset" ,rust-memoffset-0.2) + ("rust-nodrop" ,rust-nodrop) + ("rust-rand" ,rust-rand-0.3) + ("rust-scopeguard" ,rust-scopeguard-0.3)))))) + +(define-public rust-crossbeam-queue + (package + (name "rust-crossbeam-queue") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "crossbeam-queue" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0jsa9dbxnwqcxfws09vaschf92d4imlbbikmcn4ka8z7rzb9r5vw")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-crossbeam-utils" ,rust-crossbeam-utils)) + #:cargo-development-inputs + (("rust-rand" ,rust-rand-0.6)))) + (home-page + "https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-utils") + (synopsis "Concurrent queues") + (description "Concurrent queues") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-crossbeam-utils + (package + (name "rust-crossbeam-utils") + (version "0.6.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "crossbeam-utils" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0p5aa8k3wpsn17md4rx038ac2azm9354knbxdfvn7dd7yk76yc7q")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cfg-if" ,rust-cfg-if) + ("rust-lazy-static" ,rust-lazy-static)) + #:cargo-development-inputs + (("rust-rand" ,rust-rand-0.6)))) + (home-page + "https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-utils") + (synopsis "Utilities for concurrent programming") + (description + "Utilities for concurrent programming") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-crossbeam-utils-0.2 + (package + (inherit rust-crossbeam-utils) + (name "rust-crossbeam-utils") + (version "0.2.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "crossbeam-utils" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1n8qr52sw9y6yxzyfxi1phh55rsxms7ry4iipdd8vmd16ag8jq17")))) + (arguments + `(#:cargo-inputs + (("rust-cfg-if" ,rust-cfg-if)))))) + +(define-public rust-custom-derive + (package + (name "rust-custom-derive") + (version "0.1.7") + (source + (origin + (method url-fetch) + (uri (crate-uri "custom_derive" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1f81bavw1wnykwh21hh4yyzigs6zl6f6pkk9p3car8kq95yfb2pg")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-rustc-serialize" ,rust-rustc-serialize)))) + (home-page + "https://github.com/DanielKeep/rust-custom-derive/tree/custom_derive-master") + (synopsis + "(Note: superseded by `macro-attr`) This crate provides a macro that enables the use of custom derive attributes.") + (description + "(Note: superseded by `macro-attr`) This crate provides a macro that enables the use of custom derive attributes.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-demo-hack + (package + (name "rust-demo-hack") + (version "0.0.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "demo-hack" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0m0114p1g0zzrdph5bg03i8m8p70vrwn3whs191jrbjcrmh5lmnp")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-demo-hack-impl" ,rust-demo-hack-impl) + ("rust-proc-macro-hack" ,rust-proc-macro-hack)))) + (home-page + "https://github.com/dtolnay/proc-macro-hack") + (synopsis "Demo of proc-macro-hack") + (description "Demo of proc-macro-hack") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-demo-hack-impl + (package + (name "rust-demo-hack-impl") + (version "0.0.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "demo-hack-impl" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1f1fdl60xjas9wlmcl9v6f56vgm3mzwr019kcifav5464rx3w3ld")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro-hack" ,rust-proc-macro-hack) + ("rust-quote" ,rust-quote) + ("rust-syn" ,rust-syn)))) + (home-page + "https://github.com/dtolnay/proc-macro-hack") + (synopsis "Demo of proc-macro-hack") + (description "Demo of proc-macro-hack") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-diff + (package + (name "rust-diff") + (version "0.1.11") + (source + (origin + (method url-fetch) + (uri (crate-uri "diff" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0fhavni46a2rib93ig5fgbqmm48ysms5sxzb3h9bp7vp2bwnjarw")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-quickcheck" ,rust-quickcheck) + ("rust-speculate" ,rust-speculate)))) + (home-page + "https://github.com/utkarshkukreti/diff.rs") + (synopsis + "An LCS based slice and string diffing implementation.") + (description + "An LCS based slice and string diffing implementation.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-difference + (package + (name "rust-difference") + (version "2.0.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "difference" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1621wx4k8h452p6xzmzzvm7mz87kxh4yqz0kzxfjj9xmjxlbyk2j")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-getopts" ,rust-getopts)) + #:cargo-development-inputs + (("rust-quickcheck" ,rust-quickcheck) + ("rust-term" ,rust-term)))) + (home-page + "https://github.com/johannhof/difference.rs") + (synopsis + "A Rust text diffing and assertion library.") + (description + "This package provides a Rust text diffing and assertion library.") + (license license:expat))) + +(define-public rust-dirs + (package + (name "rust-dirs") + (version "2.0.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "dirs" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1qymhyq7w7wlf1dirq6gsnabdyzg6yi2yyxkx6c4ldlkbjdaibhk")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cfg-if" ,rust-cfg-if) + ("rust-dirs-sys" ,rust-dirs-sys)))) + (home-page "https://github.com/soc/dirs-rs") + (synopsis + "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.") + (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 #f))) + +(define-public rust-dirs-sys + (package + (name "rust-dirs-sys") + (version "0.3.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "dirs-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0yyykdcmbc476z1v9m4z5jb8y91dw6kgzpkiqi2ig07xx0yv585g")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cfg-if" ,rust-cfg-if) + ("rust-libc" ,rust-libc) + ("rust-redox-users" ,rust-redox-users) + ("rust-winapi" ,rust-winapi)))) + (home-page "https://github.com/soc/dirs-sys-rs") + (synopsis + "System-level helper functions for the dirs and directories crates.") + (description + "System-level helper functions for the dirs and directories crates.") + (license #f))) + +(define-public rust-discard ; guix upstreamable + (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 ; guix upstreamable + (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-docopt + (package + (name "rust-docopt") + (version "1.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "docopt" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0s9rcpmnnivs502q69lc1h1wrwapkq09ikgbfbgqf31idmc5llkz")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-lazy-static" ,rust-lazy-static) + ("rust-regex" ,rust-regex) + ("rust-serde" ,rust-serde) + ("rust-strsim" ,rust-strsim)))) + (home-page "https://github.com/docopt/docopt.rs") + (synopsis "Command line argument parsing.") + (description "Command line argument parsing.") + (license (list license:unlicense + license:expat)))) + +(define-public rust-dtoa ; guix upstreamable + (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-either + (package + (name "rust-either") + (version "1.5.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "either" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0yyggfd5yq9hyyp0bd5jj0fgz3rwws42d19ri0znxwwqs3hcy9sm")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-serde" ,rust-serde)))) + (home-page "https://github.com/bluss/either") + (synopsis + "The enum `Either` with variants `Left` and `Right` is a general purpose sum type with two cases.") + (description + "The enum `Either` with variants `Left` and `Right` is a general purpose sum type with two cases.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-encode-unicode + (package + (name "rust-encode-unicode") + (version "0.3.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "encode_unicode" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1g8a8pixkxz6r927f4sc4r15qyc0szxdxb1732v8q7h0di4wkclh")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-ascii" ,rust-ascii) + ("rust-clippy" ,rust-clippy)) + #:cargo-development-inputs + (("rust-lazy-static" ,rust-lazy-static)))) + (home-page + "https://github.com/tormol/encode_unicode") + (synopsis + "UTF-8 and UTF-16 character types, iterators and related methods for char, u8 and u16.") + (description + "UTF-8 and UTF-16 character types, iterators and related methods for char, u8 and u16.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-env-logger + (package + (name "rust-env-logger") + (version "0.6.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "env_logger" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1lx2s5nk96xx4i3m4zc4ghqgi8kb07dsnyiv8jk2clhax42dxz5a")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-atty" ,rust-atty) + ("rust-humantime" ,rust-humantime) + ("rust-log" ,rust-log) + ("rust-regex" ,rust-regex) + ("rust-termcolor" ,rust-termcolor)))) + (home-page + "https://github.com/sebasmagri/env_logger/") + (synopsis + "A logging implementation for `log` which is configured via an environment variable.") + (description + "This package provides a logging implementation for `log` which is configured via an environment variable.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-envmnt + (package + (name "rust-envmnt") + (version "0.6.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "envmnt" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "12zkq3p999bypyxmjnpiqw9r3hmifb3bcikd7j3as1fdcbq01fyl")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-indexmap" ,rust-indexmap)))) + (home-page + "http://github.com/sagiegurari/envmnt") + (synopsis + "Environment variables utility functions.") + (description + "Environment variables utility functions.") + (license license:asl2.0))) + +(define-public rust-erased-serde + (package + (name "rust-erased-serde") + (version "0.3.9") + (source + (origin + (method url-fetch) + (uri (crate-uri "erased-serde" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0q7bnxs5zskfq5iillig55g7891dllcxh2p8y8k1p2j72syf9viv")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-serde" ,rust-serde)) + #:cargo-development-inputs + (("rust-serde-cbor" ,rust-serde-cbor) + ("rust-serde-derive" ,rust-serde-derive) + ("rust-serde-json" ,rust-serde-json)))) + (home-page + "https://github.com/dtolnay/erased-serde") + (synopsis + "Type-erased Serialize and Serializer traits") + (description + "Type-erased Serialize and Serializer traits") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-error-chain + (package + (name "rust-error-chain") + (version "0.12.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "error-chain" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ndpw1ny2kxqpw6k1shq8k56z4vfpk4xz9zr8ay988k0rffrxd1s")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-backtrace" ,rust-backtrace)) + #:cargo-development-inputs + (("rust-version-check" ,rust-version-check)))) + (home-page + "https://github.com/rust-lang-nursery/error-chain") + (synopsis + "Yet another error boilerplate library.") + (description + "Yet another error boilerplate library.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-failure + (package + (name "rust-failure") + (version "0.1.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "failure" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1qppmgv4i5jj6vrss91qackqnl0a12h7lnby4l7j5fdy78yxhnvr")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-backtrace" ,rust-backtrace) + ("rust-failure-derive" ,rust-failure-derive)))) + (home-page + "https://rust-lang-nursery.github.io/failure/") + (synopsis + "Experimental error handling abstraction.") + (description + "Experimental error handling abstraction.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-failure-derive + (package + (name "rust-failure-derive") + (version "0.1.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "failure_derive" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1q97n7dp51j5hndzic9ng2fgn6f3z5ya1992w84l7vypby8n647a")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2) + ("rust-quote" ,rust-quote) + ("rust-syn" ,rust-syn) + ("rust-synstructure" ,rust-synstructure)) + #:cargo-development-inputs + (("rust-failure" ,rust-failure)))) + (home-page + "https://rust-lang-nursery.github.io/failure/") + (synopsis "derives for the failure crate") + (description "derives for the failure crate") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-fallible-iterator ; guix upstreamable + (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-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 with a cross platform API") + (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-float-ord + (package + (name "rust-float-ord") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "float-ord" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0kin50365sr3spnbscq43lksymybi99ai9rkqdw90m6vixhlibbv")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-rand" ,rust-rand)))) + (home-page + "https://github.com/notriddle/rust-float-ord") + (synopsis + "A total ordering for floating-point numbers") + (description + "This package provides a total ordering for floating-point numbers") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-fnv ; guix upstreamable + (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-fs-extra ; guix upstreamable + (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-fst + (package + (name "rust-fst") + (version "0.3.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "fst" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1mpby7wa5mkpgjiilam94a2l9mxx9wpgs3nw2nr1a0czzwsb8zwj")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-byteorder" ,rust-byteorder) + ("rust-memmap" ,rust-memmap)) + #:cargo-development-inputs + (("rust-fnv" ,rust-fnv) + ("rust-fst-levenshtein" ,rust-fst-levenshtein) + ("rust-fst-regex" ,rust-fst-regex) + ("rust-lazy-static" ,rust-lazy-static) + ("rust-quickcheck" ,rust-quickcheck) + ("rust-rand" ,rust-rand)))) + (home-page "https://github.com/BurntSushi/fst") + (synopsis + "Use finite state transducers to compactly represents sets or maps of many strings (> 1 billion is possible).") + (description + "Use finite state transducers to compactly represents sets or maps of many strings (> 1 billion is possible). ") + (license (list license:unlicense + license:expat)))) + +(define-public rust-fst-levenshtein + (package + (name "rust-fst-levenshtein") + (version "0.2.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "fst-levenshtein" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1s5ml10442bbnpmilmwjh4pfixsj6837rg68vjzg63i3djd4524y")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-fst" ,rust-fst) + ("rust-utf8-ranges" ,rust-utf8-ranges)))) + (home-page "https://github.com/BurntSushi/fst") + (synopsis + "Search finite state transducers with fuzzy queries using Levenshtein automata.") + (description + "Search finite state transducers with fuzzy queries using Levenshtein automata.") + (license (list license:unlicense + license:expat)))) + +(define-public rust-fst-regex + (package + (name "rust-fst-regex") + (version "0.2.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "fst-regex" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "126xrv3s8mrq8nqsahmpy0nlks6l3wlivqyf6a0i4g7d3vcs3b47")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-fst" ,rust-fst) + ("rust-regex-syntax" ,rust-regex-syntax) + ("rust-utf8-ranges" ,rust-utf8-ranges)))) + (home-page "https://github.com/BurntSushi/fst") + (synopsis + "Search finite state transducers with regular expression.") + (description + "Search finite state transducers with regular expression.") + (license (list license:unlicense + license:expat)))) + +(define-public rust-fuchsia-cprng ; guix upstreamable + (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) + (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-futures ; guix upstreamable + (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-channel-preview + (package + (name "rust-futures-channel-preview") + (version "0.3.0-alpha.17") + (source + (origin + (method url-fetch) + (uri (crate-uri "futures-channel-preview" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1blgpikhw391lzrfqcgg4xsn5xc0dlybni77ka7f0vb08zaixir1")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-futures-core-preview" + ,rust-futures-core-preview) + ("rust-futures-sink-preview" + ,rust-futures-sink-preview)))) + (home-page + "https://rust-lang-nursery.github.io/futures-rs") + (synopsis + "Channels for asynchronous communication using futures-rs.") + (description + "Channels for asynchronous communication using futures-rs.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-futures-core-preview ; guix upstreamable + (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) + (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-executor-preview + (package + (name "rust-futures-executor-preview") + (version "0.3.0-alpha.17") + (source + (origin + (method url-fetch) + (uri (crate-uri "futures-executor-preview" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "053g5kf2qa1xhdkwp3d1grrizzy4683mpbb3y0vvm00hwl7jdfl7")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-futures-channel-preview" + ,rust-futures-channel-preview) + ("rust-futures-core-preview" + ,rust-futures-core-preview) + ("rust-futures-util-preview" + ,rust-futures-util-preview) + ("rust-num-cpus" ,rust-num-cpus)))) + (home-page + "https://rust-lang-nursery.github.io/futures-rs") + (synopsis + "Executors for asynchronous tasks based on the futures-rs library.") + (description + "Executors for asynchronous tasks based on the futures-rs library.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-futures-io-preview ; guix upstreamable + (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-select-macro-preview + (package + (name "rust-futures-select-macro-preview") + (version "0.3.0-alpha.17") + (source + (origin + (method url-fetch) + (uri (crate-uri + "futures-select-macro-preview" + version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1a90ivjzkgz7msiz5si05xzi8xwsk5gar1gkrbmrgqpgkliqd7a6")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro-hack" ,rust-proc-macro-hack) + ("rust-proc-macro2" ,rust-proc-macro2) + ("rust-quote" ,rust-quote) + ("rust-syn" ,rust-syn)))) + (home-page + "https://rust-lang-nursery.github.io/futures-rs") + (synopsis + "The `select!` macro for waiting on multiple different `Future`s at once and handling the first one to complete.") + (description + "The `select!` macro for waiting on multiple different `Future`s at once and handling the first one to complete.") + (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 + "The asynchronous `Sink` trait for the futures-rs library.") + (description + "The asynchronous `Sink` trait for the futures-rs library.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-futures-util-preview + (package + (name "rust-futures-util-preview") + (version "0.3.0-alpha.17") + (source + (origin + (method url-fetch) + (uri (crate-uri "futures-util-preview" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0kizm86wgr5qldyavskfi0r1msg6m4x2pkj0d4r04br2ig29i0dg")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-futures" ,rust-futures) + ("rust-futures-channel-preview" + ,rust-futures-channel-preview) + ("rust-futures-core-preview" + ,rust-futures-core-preview) + ("rust-futures-io-preview" + ,rust-futures-io-preview) + ("rust-futures-select-macro-preview" + ,rust-futures-select-macro-preview) + ("rust-futures-sink-preview" + ,rust-futures-sink-preview) + ("rust-memchr" ,rust-memchr) + ("rust-pin-utils" ,rust-pin-utils) + ("rust-proc-macro-hack" ,rust-proc-macro-hack) + ("rust-proc-macro-nested" + ,rust-proc-macro-nested) + ("rust-rand" ,rust-rand) + ("rust-slab" ,rust-slab) + ("rust-tokio-io" ,rust-tokio-io)))) + (home-page + "https://rust-lang-nursery.github.io/futures-rs") + (synopsis + "Common utilities and extension traits for the futures-rs library.") + (description + "Common utilities and extension traits for the futures-rs library.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-fxhash + (package + (name "rust-fxhash") + (version "0.2.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "fxhash" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "037mb9ichariqi45xm6mz0b11pa92gj38ba0409z3iz239sns6y3")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-byteorder" ,rust-byteorder)) + #:cargo-development-inputs + (("rust-fnv" ,rust-fnv) + ("rust-seahash" ,rust-seahash)))) + (home-page "https://github.com/cbreeden/fxhash") + (synopsis + "A fast, non-secure, hashing algorithm derived from an internal hasher used in FireFox and Rustc.") + (description + "This package provides a fast, non-secure, hashing algorithm derived from an internal hasher used in FireFox and Rustc.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-generic-array + (package + (name "rust-generic-array") + (version "0.13.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "generic-array" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1kddwxpd58y807y1r3lijg7sw3gxm6nczl6wp57gamhv6mhygl8f")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-serde" ,rust-serde) + ("rust-typenum" ,rust-typenum)) + #:cargo-development-inputs + (("rust-bincode" ,rust-bincode) + ("rust-serde-json" ,rust-serde-json)))) + (home-page + "https://github.com/fizyk20/generic-array.git") + (synopsis + "Generic types implementing functionality of arrays") + (description + "Generic types implementing functionality of arrays") + (license license:expat))) + +(define-public rust-getopts + (package + (name "rust-getopts") + (version "0.2.19") + (source + (origin + (method url-fetch) + (uri (crate-uri "getopts" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0l74ldicw6gpkly3jdiq8vq8g597x7akvych2cgy7gr8q8apnckj")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-unicode-width" ,rust-unicode-width)) + #:cargo-development-inputs + (("rust-log" ,rust-log)))) + (home-page + "https://github.com/rust-lang/getopts") + (synopsis "getopts-like option parsing.") + (description "getopts-like option parsing.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-getrandom + (package + (name "rust-getrandom") + (version "0.1.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "getrandom" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0macrjfkgsjn6ikr94agapp4fkxmr8w7y2g7qis4icc4a17cwp76")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-lazy-static" ,rust-lazy-static) + ("rust-libc" ,rust-libc) + ("rust-log" ,rust-log) + ("rust-stdweb" ,rust-stdweb) + ("rust-wasm-bindgen" ,rust-wasm-bindgen)))) + (home-page + "https://github.com/rust-random/getrandom") + (synopsis + "A small cross-platform library for retrieving random data from system source") + (description + "This package provides a small cross-platform library for retrieving random data from system source") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-git2 + (package + (name "rust-git2") + (version "0.9.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "git2" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "09lj6i26yial0drdbmfh36avz6wizaxqb0k41sqn2kca1qv01d4c")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags) + ("rust-libc" ,rust-libc) + ("rust-libgit2-sys" ,rust-libgit2-sys) + ("rust-log" ,rust-log) + ("rust-openssl-probe" ,rust-openssl-probe) + ("rust-openssl-sys" ,rust-openssl-sys) + ("rust-url" ,rust-url)) + #:cargo-development-inputs + (("rust-docopt" ,rust-docopt) + ("rust-serde" ,rust-serde) + ("rust-serde-derive" ,rust-serde-derive) + ("rust-tempdir" ,rust-tempdir) + ("rust-thread-id" ,rust-thread-id) + ("rust-time" ,rust-time)))) + ;(inputs + ; `(("libgit" ,(@ (gnu packages version-control) libgit2)))) + (home-page + "https://github.com/rust-lang/git2-rs") + (synopsis + "Bindings to libgit2 for interoperating with git repositories. This library is + both threadsafe and memory safe and allows both reading and writing git + repositories.") + (description + "Bindings to libgit2 for interoperating with git repositories. This library is + both threadsafe and memory safe and allows both reading and writing git + repositories.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-gimli + (package + (name "rust-gimli") + (version "0.19.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "gimli" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "006dpaa63y01wb58nvs2hhj3qqx52yxg20njjflr0frfbyp1hb8n")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-arrayvec" ,rust-arrayvec) + ("rust-byteorder" ,rust-byteorder) + ("rust-fallible-iterator" + ,rust-fallible-iterator) + ("rust-indexmap" ,rust-indexmap) + ("rust-stable-deref-trait" + ,rust-stable-deref-trait)) + #:cargo-development-inputs + (("rust-crossbeam" ,rust-crossbeam) + ("rust-getopts" ,rust-getopts) + ("rust-memmap" ,rust-memmap) + ("rust-num-cpus" ,rust-num-cpus) + ("rust-object" ,rust-object) + ("rust-rayon" ,rust-rayon) + ("rust-regex" ,rust-regex) + ("rust-test-assembler" ,rust-test-assembler) + ("rust-typed-arena" ,rust-typed-arena)))) + (home-page "https://github.com/gimli-rs/gimli") + (synopsis + "A library for reading and writing the DWARF debugging format.") + (description + "This package provides a library for reading and writing the DWARF debugging format.") + (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)))) + (home-page "https://github.com/rust-lang/glob") + (synopsis + "Support for matching file paths against Unix shell style patterns.") + (description + "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)))))) + +(define-public rust-goblin + (package + (name "rust-goblin") + (version "0.0.24") + (source + (origin + (method url-fetch) + (uri (crate-uri "goblin" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1c31nrraiixy0mnda2227ih3h2g1k4pllg2kwk8yj6lwj4fjdyp3")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-log" ,rust-log) + ("rust-plain" ,rust-plain) + ("rust-scroll" ,rust-scroll)))) + (home-page "https://github.com/m4b/goblin") + (synopsis + "An impish, cross-platform, ELF, Mach-o, and PE binary parsing and loading crate") + (description + "An impish, cross-platform, ELF, Mach-o, and PE binary parsing and loading crate") + (license license:expat))) + +(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)))) + (home-page "https://github.com/servo/heapsize") + (synopsis + "Infrastructure for measuring 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-heck + (package + (name "rust-heck") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "heck" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "01a2v7yvkiqxakdqz4hw3w3g4sm52ivz9cs3qcsv2arxsmw4wmi0")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-unicode-segmentation" + ,rust-unicode-segmentation)))) + (home-page + "https://github.com/withoutboats/heck") + (synopsis "heck is a case conversion library.") + (description + "heck is a case conversion library.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-hex ; guix upstreamable + (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-hex-literal + (package + (name "rust-hex-literal") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "hex-literal" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0ni2nv3di0jpih2xnmlnr6s96zypkdr8xrw2cvk4f8fx5wb6inn3")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-hex-literal-impl" ,rust-hex-literal-impl) + ("rust-proc-macro-hack" ,rust-proc-macro-hack)))) + (home-page "https://github.com/RustCrypto/utils") + (synopsis + "Procedural macro for converting hexadecimal string to byte array at compile time.") + (description + "Procedural macro for converting hexadecimal string to byte array at compile time.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-hex-literal-impl + (package + (name "rust-hex-literal-impl") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "hex-literal-impl" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "04m6d1k57a9h3hhdgn0vq1hkfwjv9hfkw6q73bqn0my0qw45s286")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro-hack" ,rust-proc-macro-hack)))) + (home-page "https://github.com/RustCrypto/utils") + (synopsis + "Internal implementation of the hex-literal crate") + (description + "Internal implementation of the hex-literal crate") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-humantime + (package + (name "rust-humantime") + (version "1.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "humantime" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "057ilhy6vc9iqhhby5ymh45m051pgxwq2z437gwkbnqhw7rfb9rw")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-quick-error" ,rust-quick-error)) + #:cargo-development-inputs + (("rust-chrono" ,rust-chrono) + ("rust-rand" ,rust-rand-0.4) + ("rust-time" ,rust-time)))) + (home-page + "https://github.com/tailhook/humantime") + (synopsis + "A parser and formatter for std::time::{Duration, SystemTime}") + (description + "A parser and formatter for std::time::{Duration, SystemTime}") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-hyphenation + (package + (name "rust-hyphenation") + (version "0.7.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "hyphenation" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0k5msv8calmnfd5kw1rmq4bg5hn1vcd39kbsxl57sdld63xwd4q4")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-atlatl" ,rust-atlatl) + ("rust-bincode" ,rust-bincode) + ("rust-hyphenation-commons" + ,rust-hyphenation-commons) + ("rust-serde" ,rust-serde)) + #:cargo-development-inputs + (("rust-atlatl" ,rust-atlatl) + ("rust-bincode" ,rust-bincode) + ("rust-hyphenation-commons" + ,rust-hyphenation-commons) + ("rust-lazy-static" ,rust-lazy-static) + ("rust-pocket-resources" ,rust-pocket-resources) + ("rust-quickcheck" ,rust-quickcheck) + ("rust-serde" ,rust-serde) + ("rust-unicode-normalization" + ,rust-unicode-normalization) + ("rust-unicode-segmentation" + ,rust-unicode-segmentation)))) + (home-page + "https://github.com/tapeinosyne/hyphenation") + (synopsis + "Knuth-Liang hyphenation for a variety of languages") + (description + "Knuth-Liang hyphenation for a variety of languages") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-hyphenation-commons + (package + (name "rust-hyphenation-commons") + (version "0.7.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "hyphenation_commons" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1pasnbk3rbdgf30jjjh1h24a9pxpdrnn0ihcivmpnzqha6mn2d4y")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-atlatl" ,rust-atlatl) + ("rust-serde" ,rust-serde)))) + (home-page + "https://github.com/tapeinosyne/hyphenation") + (synopsis + "Proemial code for the `hyphenation` library") + (description + "Proemial code for the `hyphenation` library") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-idna + (package + (name "rust-idna") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "idna" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1a9066imqpdrm1aavfasdyb1zahqaz8jmdcwdawvb1pf60y6gqh2")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-matches" ,rust-matches) + ("rust-unicode-bidi" ,rust-unicode-bidi) + ("rust-unicode-normalization" + ,rust-unicode-normalization)) + #:cargo-development-inputs + (("rust-rustc-test" ,rust-rustc-test) + ("rust-serde-json" ,rust-serde-json)))) + (home-page "https://github.com/servo/rust-url/") + (synopsis + "IDNA (Internationalizing Domain Names in Applications) and Punycode.") + (description + "IDNA (Internationalizing Domain Names in Applications) and Punycode.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-indexmap + (package + (name "rust-indexmap") + (version "1.0.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "indexmap" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "13f5k1kl2759y4xfy0vhays35fmrkmhqngbr2ny8smvrbz0ag0by")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-serde" ,rust-serde)) + #:cargo-development-inputs + (("rust-fnv" ,rust-fnv) + ("rust-itertools" ,rust-itertools) + ("rust-lazy-static" ,rust-lazy-static) + ("rust-quickcheck" ,rust-quickcheck) + ("rust-rand" ,rust-rand) + ("rust-serde-test" ,rust-serde-test)))) + (home-page "https://github.com/bluss/indexmap") + (synopsis + "A hash table with consistent order and fast iteration. + + The indexmap is a hash table where the iteration order of the key-value + pairs is independent of the hash values of the keys. It has the usual + hash table functionality, it preserves insertion order except after + removals, and it allows lookup of its elements by either hash table key + or numerical index. A corresponding hash set type is also provided. + + This crate was initially published under the name ordermap, but it was renamed to + indexmap.") + (description + "This package provides a hash table with consistent order and fast iteration. + + The indexmap is a hash table where the iteration order of the key-value + pairs is independent of the hash values of the keys. It has the usual + hash table functionality, it preserves insertion order except after + removals, and it allows lookup of its elements by either hash table key + or numerical index. A corresponding hash set type is also provided. + + This crate was initially published under the name ordermap, but it was renamed to + indexmap.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-insta + (package + (name "rust-insta") + (version "0.8.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "insta" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1jk41bzid509y3s2r3hwh0s8cmcyywd0jzcgbs4ixb6sm2b7d0ll")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-chrono" ,rust-chrono) + ("rust-ci-info" ,rust-ci-info) + ("rust-console" ,rust-console) + ("rust-difference" ,rust-difference) + ("rust-failure" ,rust-failure) + ("rust-lazy-static" ,rust-lazy-static) + ("rust-pest" ,rust-pest) + ("rust-pest-derive" ,rust-pest-derive) + ("rust-ron" ,rust-ron) + ("rust-serde" ,rust-serde) + ("rust-serde-json" ,rust-serde-json) + ("rust-serde-yaml" ,rust-serde-yaml) + ("rust-uuid" ,rust-uuid)))) + (home-page "https://github.com/mitsuhiko/insta") + (synopsis "A snapshot testing library for Rust") + (description + "This package provides a snapshot testing library for Rust") + (license license:asl2.0))) + +(define-public rust-intervaltree + (package + (name "rust-intervaltree") + (version "0.2.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "intervaltree" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "10k40gsv79kwnsqrzwmnmm6psa5fqws8yggavmbggvymv16hffdg")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-smallvec" ,rust-smallvec)))) + (home-page + "https://github.com/main--/rust-intervaltree") + (synopsis + "A simple and generic implementation of an immutable interval tree.") + (description + "This package provides a simple and generic implementation of an immutable interval tree.") + (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)))) + (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-itertools + (package + (name "rust-itertools") + (version "0.8.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "itertools" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0n2k13b6w4x2x6np2lykh9bj3b3z4hwh2r4cn3z2dgnfq7cng12v")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-either" ,rust-either)) + #:cargo-development-inputs + (("rust-permutohedron" ,rust-permutohedron) + ("rust-quickcheck" ,rust-quickcheck) + ("rust-rand" ,rust-rand)))) + (home-page + "https://github.com/bluss/rust-itertools") + (synopsis + "Extra iterator adaptors, iterator methods, free functions, and macros.") + (description + "Extra iterator adaptors, iterator methods, free functions, and macros.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-itoa ; guix upstreamable + (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-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)))) + (inputs + `(("jemalloc" ,(@ (gnu packages jemalloc) jemalloc)) + ("rust-cc" ,rust-cc))) + (home-page + "https://github.com/gnzlbg/jemallocator") + (synopsis "Rust FFI bindings to jemalloc") + (description "Rust FFI bindings to jemalloc") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-jemallocator + (package + (name "rust-jemallocator") + (version "0.3.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "jemallocator" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0sabfa5118b7l4ars5n36s2fjyfn59w4d6mjs6rrmsa5zky67bj3")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-jemalloc-sys" ,rust-jemalloc-sys) + ("rust-libc" ,rust-libc)) + #:cargo-development-inputs + (("rust-paste" ,rust-paste)))) + (home-page "https://github.com/gnzlbg/jemallocator") + (synopsis "A Rust allocator backed by jemalloc") + (description + "This package provides a Rust allocator backed by jemalloc") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-json ; guix upstreamable + (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-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 + "A macro for declaring lazily evaluated statics in Rust.") + (description + "This package provides a macro for declaring lazily evaluated statics in Rust.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-lazycell + (package + (name "rust-lazycell") + (version "1.2.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "lazycell" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0gvqycmpv7parc98i6y64ai7rvxrn1947z2a6maa02g4kvxdd55j")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-clippy" ,rust-clippy)))) + (home-page "https://github.com/indiv0/lazycell") + (synopsis + "A library providing a lazily filled Cell struct") + (description + "This package provides a library providing a lazily filled Cell struct") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-lexical-core + (package + (name "rust-lexical-core") + (version "0.4.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "lexical-core" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1gr5y3ykghd3wjc00l3iizkj1dxylyhwi6fj6yn2qg06nzx771iz")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cfg-if" ,rust-cfg-if) + ("rust-dtoa" ,rust-dtoa) + ("rust-ryu" ,rust-ryu) + ("rust-stackvector" ,rust-stackvector) + ("rust-static-assertions" + ,rust-static-assertions)) + #:cargo-development-inputs + (("rust-approx" ,rust-approx) + ("rust-proptest" ,rust-proptest) + ("rust-quickcheck" ,rust-quickcheck) + ("rust-rustc-version" ,rust-rustc-version)))) + (home-page + "https://github.com/Alexhuszagh/rust-lexical/tree/master/lexical-core") + (synopsis + "Lexical, to- and from-string conversion routines.") + (description + "Lexical, to- and from-string conversion routines.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-libc + (package + (name "rust-libc") + (version "0.2.60") + (source + (origin + (method url-fetch) + (uri (crate-uri "libc" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1sxmlcyb39v8awlq5ndaiiq2vja3mc4vf97nxz3qjy007xiq0knl")))) + (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 + "Raw FFI bindings to platform libraries like libc.") + (license (list license:asl2.0 + license:expat)))) + +(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)))) + ;(inputs + ; `(("libgit" ,(@ (gnu packages version-control) libgit2)))) + (home-page + "https://github.com/rust-lang/git2-rs") + (synopsis + "Native bindings to the libgit2 library") + (description + "Native bindings to the libgit2 library") + (license (list license:asl2.0 + license:expat)))) + +(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 + "A safer binding to platformâ\x80\x99s dynamic library loading utilities") + (description + "This package provides a safer binding to platformâ\x80\x99s dynamic library loading utilities") + (license license:isc))) + +(define-public rust-libssh2-sys + (package + (name "rust-libssh2-sys") + (version "0.2.11") + (source + (origin + (method url-fetch) + (uri (crate-uri "libssh2-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "17dz3xxy5bc73sr52maa6wdqmw1a0ymznrgfzlxid2rng101yshj")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc) + ("rust-libz-sys" ,rust-libz-sys) + ("rust-openssl-sys" ,rust-openssl-sys) + ("rust-vcpkg" ,rust-vcpkg)) + #:cargo-development-inputs + (("rust-cc" ,rust-cc) + ("rust-pkg-config" ,rust-pkg-config)))) + ;(inputs + ; `(("libssh2" ,(@ (gnu packages ssh) libssh2)))) + (home-page + "https://github.com/alexcrichton/ssh2-rs") + (synopsis + "Native bindings to the libssh2 library") + (description + "Native bindings to the libssh2 library") + (license (list license:asl2.0 + license:expat)))) + +;; TODO: Unbundle zlib +(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)) + #:cargo-development-inputs + (("rust-cc" ,rust-cc) + ("rust-pkg-config" ,rust-pkg-config) + ("rust-vcpkg" ,rust-vcpkg)))) + (home-page "https://github.com/alexcrichton/libz-sys") + (synopsis "Bindings to the system libz library (also known as zlib).") + (description + "Bindings to the system libz library (also known as zlib).") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-linked-hash-map + (package + (name "rust-linked-hash-map") + (version "0.5.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "linked-hash-map" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "10qgbvh00q36ql0jh00rxh2jlq6qvl11n6mig0cvkpf4xf5bd4df")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-clippy" ,rust-clippy) + ("rust-heapsize" ,rust-heapsize) + ("rust-serde" ,rust-serde) + ("rust-serde-test" ,rust-serde-test)))) + (home-page + "https://github.com/contain-rs/linked-hash-map") + (synopsis + "A HashMap wrapper that holds key-value pairs in insertion order") + (description + "This package provides a HashMap wrapper that holds key-value pairs in insertion order") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-lipsum + (package + (name "rust-lipsum") + (version "0.6.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "lipsum" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0nlxkz8zjxqmbrxqasr36a5fqn2n33cxy11w0x0a0b6mcx04dr2q")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-rand" ,rust-rand)) + #:cargo-development-inputs + (("rust-rand-xorshift" ,rust-rand-xorshift) + ("rust-version-sync" ,rust-version-sync)))) + (home-page "https://github.com/mgeisler/lipsum/") + (synopsis + "Lipsum is a lorem ipsum text generation library. Use this if you need + some filler text for your application. + + The text is generated using a simple Markov chain, which you can also + instantiate to generate your own pieces of pseudo-random text.") + (description + "Lipsum is a lorem ipsum text generation library. Use this if you need + some filler text for your application. + + The text is generated using a simple Markov chain, which you can also + instantiate to generate your own pieces of pseudo-random text.") + (license license:expat))) + +(define-public rust-lock-api + (package + (name "rust-lock-api") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "lock_api" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1p04271jikw69ja0ap0plrfwm9incf1iny48g0b3ma9k4mw2x4gq")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-owning-ref" ,rust-owning-ref) + ("rust-scopeguard" ,rust-scopeguard) + ("rust-serde" ,rust-serde)))) + (home-page + "https://github.com/Amanieu/parking_lot") + (synopsis + "Wrappers to create fully-featured Mutex and RwLock types. Compatible with no_std.") + (description + "Wrappers to create fully-featured Mutex and RwLock types. Compatible with no_std.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-log + (package + (name "rust-log") + (version "0.4.7") + (source + (origin + (method url-fetch) + (uri (crate-uri "log" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1cx51p86d9s1y2vbyi6jr4wj5cs7nryikygfcpbc42h7ajnvcxf2")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cfg-if" ,rust-cfg-if) + ("rust-serde" ,rust-serde)) + #:cargo-development-inputs + (("rust-serde-test" ,rust-serde-test)))) + (home-page "https://github.com/rust-lang/log") + (synopsis + "A lightweight logging facade for Rust") + (description + "This package provides a lightweight logging facade for Rust") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-maplit ; guix upstreamable + (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 ; guix upstreamable + (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 ; guix upstreamable + (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-memchr + (package + (name "rust-memchr") + (version "2.2.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "memchr" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "13j6ji9x9ydpi9grbss106gqqr3xn3bcfp28aydqfa4751qrfmw8")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc)) + #:cargo-development-inputs + (("rust-quickcheck" ,rust-quickcheck)))) + (home-page + "https://github.com/BurntSushi/rust-memchr") + (synopsis "Safe interface to memchr.") + (description "Safe interface to memchr.") + (license (list license:unlicense + 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 + "Cross-platform Rust API for memory-mapped file IO") + (description + "Cross-platform Rust API for memory-mapped file IO") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-memoffset + (package + (name "rust-memoffset") + (version "0.5.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "memoffset" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0zqpz1apkxvzbi41q07vaxpn3bmvhqqkmg8bbbpbgfrv0gdpaq6f")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-rustc-version" ,rust-rustc-version)))) + (home-page "https://github.com/Gilnaa/memoffset") + (synopsis + "offset_of functionality for Rust structs.") + (description + "offset_of functionality for Rust structs.") + (license license:expat))) + +(define-public rust-memoffset-0.2 + (package + (inherit rust-memoffset) + (name "rust-memoffset") + (version "0.2.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "memoffset" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1cvm2z7dy138s302ii7wlzcxbka5a8yfl5pl5di7lbdnw9hw578g")))))) + +(define-public rust-no-panic + (package + (name "rust-no-panic") + (version "0.1.10") + (source + (origin + (method url-fetch) + (uri (crate-uri "no-panic" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "089gmyxg7kviimqn5nmghm5kngnmi77a0c6fbv0j67jxx7pjhq3r")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2) + ("rust-quote" ,rust-quote) + ("rust-syn" ,rust-syn)) + #:cargo-development-inputs + (("rust-tempfile" ,rust-tempfile)))) + (home-page "https://github.com/dtolnay/no-panic") + (synopsis + "Attribute macro to require that the compiler prove a function can't ever panic.") + (description + "Attribute macro to require that the compiler prove a function can't ever panic.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-nodrop ; guix upstreamable + (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)))) + +(define-public rust-nodrop-union ; guix upstreamable + (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).") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-nom + (package + (name "rust-nom") + (version "5.0.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "nom" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "06snml9wfrvk8k71l4md6gg29jgj4pa8wzsg180q3qr0jf2isxp9")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-lazy-static" ,rust-lazy-static) + ("rust-lexical-core" ,rust-lexical-core) + ("rust-memchr" ,rust-memchr) + ("rust-regex" ,rust-regex)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion) + ("rust-doc-comment" ,rust-doc-comment) + ("rust-jemallocator" ,rust-jemallocator) + ("rust-version-check" ,rust-version-check)))) + (home-page "https://github.com/Geal/nom") + (synopsis + "A byte-oriented, zero-copy, parser combinators library") + (description + "This package provides a byte-oriented, zero-copy, parser combinators library") + (license 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-num-traits" ,rust-num-traits)) + #:cargo-development-inputs + (("rust-autocfg" ,rust-autocfg)))) + (home-page + "https://github.com/rust-num/num-integer") + (synopsis "Integer traits and functions") + (description "Integer traits and functions") + (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 + "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") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-openssl + (package + (name "rust-openssl") + (version "0.10.24") + (source + (origin + (method url-fetch) + (uri (crate-uri "openssl" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "05dg25rmg17rl3ykfl2yf69ghfd5z6zf6di38qw1awjvkddbnll1")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags) + ("rust-cfg-if" ,rust-cfg-if) + ("rust-foreign-types" ,rust-foreign-types) + ("rust-lazy-static" ,rust-lazy-static) + ("rust-libc" ,rust-libc) + ("rust-openssl-sys" ,rust-openssl-sys)) + #:cargo-development-inputs + (("rust-hex" ,rust-hex) + ("rust-tempdir" ,rust-tempdir)))) + (home-page + "https://github.com/sfackler/rust-openssl") + (synopsis "OpenSSL bindings") + (description "OpenSSL bindings") + (license license:asl2.0))) + +(define-public rust-openssl-src + (package + (name "rust-openssl-src") + (version "111.4.0+1.1.1c") + (source + (origin + (method url-fetch) + (uri (crate-uri "openssl-src" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "10s3hvkfk6bi4ba1ssvj914rjs31vs8plssy4kbvsa0w7idkqfkq")))) + (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 and logic to build it.") + (description + "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.48") + (source + (origin + (method url-fetch) + (uri (crate-uri "openssl-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1f05kxx8mai9ac16x1lk0404bymghbbj7vcbqrfwqfr52w131fmm")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("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)))) + (home-page + "https://github.com/sfackler/rust-openssl") + (synopsis "FFI bindings to OpenSSL") + (description "FFI bindings to OpenSSL") + (license license:expat))) + +(define-public rust-rand-os + (package + (name "rust-rand-os") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rand_os" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "06is69f8rfzs620g5b54k6cgy5yaycrsyqg55flyfrsf8g88733f")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-getrandom" ,rust-getrandom) + ("rust-rand-core" ,rust-rand-core)))) + (home-page "https://crates.io/crates/rand_os") + (synopsis "OS backed Random Number Generator") + (description "OS backed Random Number Generator") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-rand-os-0.1 + (package + (inherit rust-rand-os) + (name "rust-rand-os") + (version "0.1.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "rand_os" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0wahppm0s64gkr2vmhcgwc0lij37in1lgfxg5rbgqlz0l5vgcxbv")))) + (arguments + `(#:cargo-inputs + (("rust-cloudabi" ,rust-cloudabi) + ("rust-fuchsia-cprng" ,rust-fuchsia-cprng) + ("rust-getrandom" ,rust-getrandom) + ("rust-libc" ,rust-libc) + ("rust-log" ,rust-log) + ("rust-rand-core" ,rust-rand-core-0.4) + ("rust-rdrand" ,rust-rdrand-0.4) + ("rust-stdweb" ,rust-stdweb) + ("rust-wasm-bindgen" ,rust-wasm-bindgen) + ("rust-winapi" ,rust-winapi)))))) + +(define-public rust-packed-simd + (package + (name "rust-packed-simd") + (version "0.3.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "packed_simd" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0822wqf6kzw4ig9ykndg348w2bxkhs3x64brzsvdxh2a1pyajpm8")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cfg-if" ,rust-cfg-if) + ("rust-core-arch" ,rust-core-arch) + ("rust-sleef-sys" ,rust-sleef-sys)) + #:cargo-development-inputs + (("rust-arrayvec" ,rust-arrayvec) + ("rust-paste" ,rust-paste) + ("rust-wasm-bindgen" ,rust-wasm-bindgen) + ("rust-wasm-bindgen-test" + ,rust-wasm-bindgen-test)))) + (home-page + "https://github.com/rust-lang-nursery/packed_simd") + (synopsis "Portable Packed SIMD vectors") + (description "Portable Packed SIMD vectors") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-parking-lot + (package + (name "rust-parking-lot") + (version "0.9.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "parking_lot" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0lk2vq3hp88ygpgsrypdr3ss71fidnqbykva0csgxhmn5scb2hpq")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-lock-api" ,rust-lock-api) + ("rust-parking-lot-core" ,rust-parking-lot-core)) + #:cargo-development-inputs + (("rust-bincode" ,rust-bincode) + ("rust-lazy-static" ,rust-lazy-static) + ("rust-rand" ,rust-rand) + ("rust-rustc-version" ,rust-rustc-version)))) + (home-page + "https://github.com/Amanieu/parking_lot") + (synopsis + "More compact and efficient implementations of the standard synchronization primitives.") + (description + "More compact and efficient implementations of the standard synchronization primitives.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-parking-lot-core + (package + (name "rust-parking-lot-core") + (version "0.6.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "parking_lot_core" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0ay67dpnrn68ryyvp720m9i8hzp189fd4d6slrs1lvmcwywv2xmq")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-backtrace" ,rust-backtrace) + ("rust-cfg-if" ,rust-cfg-if) + ("rust-cloudabi" ,rust-cloudabi) + ("rust-libc" ,rust-libc) + ("rust-petgraph" ,rust-petgraph) + ("rust-redox-syscall" ,rust-redox-syscall) + ("rust-smallvec" ,rust-smallvec) + ("rust-thread-id" ,rust-thread-id) + ("rust-winapi" ,rust-winapi)) + #:cargo-development-inputs + (("rust-rustc-version" ,rust-rustc-version)))) + (home-page + "https://github.com/Amanieu/parking_lot") + (synopsis + "An advanced API for creating custom synchronization primitives.") + (description + "An advanced API for creating custom synchronization primitives.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-paste + (package + (name "rust-paste") + (version "0.1.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "paste" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0ygs077hlq8qlx5y46sfgrmhlqqgkmvvhn4x3y10arawalf4ljhz")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-paste-impl" ,rust-paste-impl) + ("rust-proc-macro-hack" ,rust-proc-macro-hack)))) + (home-page "https://github.com/dtolnay/paste") + (synopsis + "Macros for all your token pasting needs") + (description + "Macros for all your token pasting needs") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-paste-impl + (package + (name "rust-paste-impl") + (version "0.1.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "paste-impl" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1rkh8nixmb7r1y0mjnsz62p6r1bqah5ciri7bwhmgcmq4gk9drr6")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro-hack" ,rust-proc-macro-hack) + ("rust-proc-macro2" ,rust-proc-macro2) + ("rust-quote" ,rust-quote) + ("rust-syn" ,rust-syn)))) + (home-page "https://github.com/dtolnay/paste") + (synopsis + "Implementation detail of the `paste` crate") + (description + "Implementation detail of the `paste` crate") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-peeking-take-while ; guix upstreamable + (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 ; guix upstreamable + (package + (name "rust-percent-encoding") + (version "2.0.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "percent-encoding" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0m6rkp3iy11la04p6z3492rns6n693pvmx585dvfmzzlzak2hkxs")))) + (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-pest + (package + (name "rust-pest") + (version "2.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "pest" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "134686mwxm73asbiads53zfchqvvcrsrsyax2cghfcizmvg8ac4k")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-serde" ,rust-serde) + ("rust-serde-json" ,rust-serde-json) + ("rust-ucd-trie" ,rust-ucd-trie)))) + (home-page "https://pest-parser.github.io/") + (synopsis "The Elegant Parser") + (description "The Elegant Parser") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-pest-derive + (package + (name "rust-pest-derive") + (version "2.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "pest_derive" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1l5jfa6ril71cw5nsiw0r45br54dd8cj2r1nc2d1wq6wb3jilgc3")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-pest" ,rust-pest) + ("rust-pest-generator" ,rust-pest-generator)))) + (home-page "https://pest-parser.github.io/") + (synopsis "pest's derive macro") + (description "pest's derive macro") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-pest-generator + (package + (name "rust-pest-generator") + (version "2.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "pest_generator" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0ipnv77lqhj4d4fpfxi8m168lcjp482kszaknlardmpgqiv0a4k3")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-pest" ,rust-pest) + ("rust-pest-meta" ,rust-pest-meta) + ("rust-proc-macro2" ,rust-proc-macro2) + ("rust-quote" ,rust-quote) + ("rust-syn" ,rust-syn)))) + (home-page "https://pest-parser.github.io/") + (synopsis "pest code generator") + (description "pest code generator") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-pest-meta + (package + (name "rust-pest-meta") + (version "2.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "pest_meta" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0kaprdz3jis9bjfwhri1zncbsvack5m3gx2g5flspdy7wxnyljgj")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-maplit" ,rust-maplit) + ("rust-pest" ,rust-pest) + ("rust-sha-1" ,rust-sha-1)))) + (home-page "https://pest-parser.github.io/") + (synopsis "pest meta language parser and validator") + (description + "pest meta language parser and validator") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-pin-utils ; guix upstreamable + (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" ,(@ (gnu packages pkg-config) pkg-config)))) + (home-page + "https://github.com/alexcrichton/pkg-config-rs") + (synopsis + "A library to run the pkg-config system tool at build time in order to be used in Cargo build scripts.") + (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 ; guix upstreamable + (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-pocket-resources ; guix upstreamable + (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 ; guix upstreamable + (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-macro-nested ; guix upstreamable + (package + (name "rust-proc-macro-nested") + (version "0.1.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "proc-macro-nested" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0bmlksm8vl44wkwihmwr7jsjznhbg0n7aibcw1cs2jgjcp86x6in")))) + (build-system cargo-build-system) + (home-page "https://github.com/dtolnay/proc-macro-hack") + (synopsis "Support for nested proc-macro-hack invocations") + (description "This crate provides support for nested proc-macro-hack +invocations.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-proptest + (package + (name "rust-proptest") + (version "0.9.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "proptest" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "17sjg8isas4qk85807c4panih9k0lwa4k1mbajhciw5c5q17w56g")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bit-set" ,rust-bit-set) + ("rust-bitflags" ,rust-bitflags) + ("rust-byteorder" ,rust-byteorder) + ("rust-lazy-static" ,rust-lazy-static) + ("rust-num-traits" ,rust-num-traits) + ("rust-quick-error" ,rust-quick-error) + ("rust-rand" ,rust-rand) + ("rust-rand-chacha" ,rust-rand-chacha) + ("rust-rand-xorshift" ,rust-rand-xorshift) + ("rust-regex-syntax" ,rust-regex-syntax) + ("rust-rusty-fork" ,rust-rusty-fork) + ("rust-tempfile" ,rust-tempfile)) + #:cargo-development-inputs + (("rust-regex" ,rust-regex)))) + (home-page + "https://altsysrq.github.io/proptest-book/proptest/index.html") + (synopsis + "Hypothesis-like property-based testing and shrinking.") + (description + "Hypothesis-like property-based testing and shrinking.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-proc-macro-hack + (package + (name "rust-proc-macro-hack") + (version "0.5.8") + (source + (origin + (method url-fetch) + (uri (crate-uri "proc-macro-hack" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0y2ix90qdvsfks4j1g5qnpyzaa6a4j6sdi35klqvm120378kaalq")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2) + ("rust-quote" ,rust-quote) + ("rust-syn" ,rust-syn)) + #:cargo-development-inputs + (("rust-demo-hack" ,rust-demo-hack) + ("rust-demo-hack-impl" ,rust-demo-hack-impl)))) + (home-page + "https://github.com/dtolnay/proc-macro-hack") + (synopsis + "Procedural functionlike!() macros using only Macros 1.1") + (description + "Procedural functionlike!() macros using only Macros 1.1") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-pulldown-cmark + (package + (name "rust-pulldown-cmark") + (version "0.5.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "pulldown-cmark" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0mq3cgjwxlrv0p1svjg93m1jkybzyfrl9p0jwa76hx1352hks13p")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags) + ("rust-getopts" ,rust-getopts) + ("rust-memchr" ,rust-memchr) + ("rust-unicase" ,rust-unicase)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion) + ("rust-html5ever" ,rust-html5ever) + ("rust-lazy-static" ,rust-lazy-static) + ("rust-regex" ,rust-regex) + ("rust-tendril" ,rust-tendril)))) + (home-page + "https://github.com/raphlinus/pulldown-cmark") + (synopsis "A pull parser for CommonMark") + (description + "This package provides a pull parser for CommonMark") + (license license:expat))) + +(define-public rust-quantiles + (package + (name "rust-quantiles") + (version "0.7.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "quantiles" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1wjp16a3d4bmldq9w2wds0q4gjz4mnsqac3g38r6ryr6zc9sh3y1")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-serde" ,rust-serde) + ("rust-serde-derive" ,rust-serde-derive)) + #:cargo-development-inputs + (("rust-quickcheck" ,rust-quickcheck)))) + (home-page + "https://github.com/postmates/quantiles") + (synopsis + "a collection of approximate quantile algorithms") + (description + "a collection of approximate quantile algorithms") + (license license:expat))) + +(define-public rust-quick-error ; guix upstreamable + (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 "http://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-quickcheck + (package + (name "rust-quickcheck") + (version "0.8.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "quickcheck" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0mkl4wnvvjk4m32aq3an4ayfyvnmbxnzcybfm7n3fbsndb1xjdcw")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-env-logger" ,rust-env-logger) + ("rust-log" ,rust-log) + ("rust-rand" ,rust-rand-0.6) + ("rust-rand-core" ,rust-rand-core)))) + (home-page + "https://github.com/BurntSushi/quickcheck") + (synopsis + "Automatic property based testing with shrinking.") + (description + "Automatic property based testing with shrinking.") + (license (list license:unlicense + license:expat)))) + +(define-public rust-rand + (package + (name "rust-rand") + (version "0.7.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rand" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0b05gwx8nnxr9bydyjxd1rszdvqnm946ky15z103ssfrhc7anznl")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-getrandom" ,rust-getrandom) + ("rust-libc" ,rust-libc) + ("rust-log" ,rust-log) + ("rust-packed-simd" ,rust-packed-simd) + ("rust-rand-chacha" ,rust-rand-chacha) + ("rust-rand-core" ,rust-rand-core) + ("rust-rand-hc" ,rust-rand-hc) + ("rust-rand-pcg" ,rust-rand-pcg)) + #:cargo-development-inputs + (("rust-rand-hc" ,rust-rand-hc) + ("rust-rand-isaac" ,rust-rand-isaac) + ("rust-rand-pcg" ,rust-rand-pcg) + ("rust-rand-xorshift" ,rust-rand-xorshift) + ("rust-rand-xoshiro" ,rust-rand-xoshiro)))) + (home-page "https://crates.io/crates/rand") + (synopsis + "Random number generators and other randomness functionality.") + (description + "Random number generators and other randomness functionality.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-rand-0.6 + (package + (inherit rust-rand) + (name "rust-rand") + (version "0.6.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "rand" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1jl4449jcl4wgmzld6ffwqj5gwxrp8zvx8w573g1z368qg6xlwbd")))) + (arguments + `(#:cargo-inputs + (("rust-autocfg" ,rust-autocfg) + ("rust-libc" ,rust-libc) + ("rust-log" ,rust-log) + ("rust-packed-simd" ,rust-packed-simd) + ("rust-rand-chacha" ,rust-rand-chacha-0.1) + ("rust-rand-core" ,rust-rand-core-0.4) + ("rust-rand-hc" ,rust-rand-hc-0.1) + ("rust-rand-isaac" ,rust-rand-isaac-0.1) + ("rust-rand-jitter" ,rust-rand-jitter-0.1) + ("rust-rand-os" ,rust-rand-os-0.1) + ("rust-rand-pcg" ,rust-rand-pcg-0.1) + ("rust-rand-xorshift" ,rust-rand-xorshift-0.1) + ("rust-winapi" ,rust-winapi)) + #:cargo-development-inputs + (("rust-average" ,rust-average-0.9) + ("rust-rand-xoshiro" ,rust-rand-xoshiro-0.1)))))) + +(define-public rust-rand-0.5 + (package + (inherit rust-rand) + (name "rust-rand") + (version "0.5.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "rand" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1fdcgja9167hlzkf4g5daqwp498lwiyq7aqm05whklpbsdyc8666")))) + (arguments + `(#:cargo-inputs + (("rust-cloudabi" ,rust-cloudabi) + ("rust-fuchsia-cprng" ,rust-fuchsia-cprng) + ("rust-libc" ,rust-libc) + ("rust-log" ,rust-log) + ("rust-rand-core" ,rust-rand-core-0.3) + ("rust-serde" ,rust-serde) + ("rust-serde-derive" ,rust-serde-derive) + ("rust-stdweb" ,rust-stdweb) + ("rust-winapi" ,rust-winapi)) + #:cargo-development-inputs + (("rust-bincode" ,rust-bincode)))))) + +(define-public rust-rand-0.4 + (package + (inherit rust-rand) + (name "rust-rand") + (version "0.4.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "rand" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "14qjfv3gggzhnma20k0sc1jf8y6pplsaq7n1j9ls5c8kf2wl0a2m")))) + (arguments + `(#:cargo-inputs + (("rust-fuchsia-cprng" ,rust-fuchsia-cprng) + ("rust-libc" ,rust-libc) + ("rust-rand-core" ,rust-rand-core-0.3) + ("rust-rdrand" ,rust-rdrand-0.4) + ("rust-winapi" ,rust-winapi)))))) + +(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-0.4)))))) + +(define-public rust-rand-chacha + (package + (name "rust-rand-chacha") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rand_chacha" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "178d36jfkc4v95s25scc2vibj2hd2hlk64cs6id4hvzg89whd4z1")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-c2-chacha" ,rust-c2-chacha) + ("rust-rand-core" ,rust-rand-core)) + #:cargo-development-inputs + (("rust-autocfg" ,rust-autocfg)))) + (home-page + "https://crates.io/crates/rand_chacha") + (synopsis "ChaCha random number generator") + (description "ChaCha random number generator") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-rand-chacha-0.1 + (package + (inherit rust-rand-chacha) + (name "rust-rand-chacha") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "rand_chacha" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1vxwyzs4fy1ffjc8l00fsyygpiss135irjf7nyxgq2v0lqf3lvam")))) + (arguments + `(#:cargo-inputs + (("rust-autocfg" ,rust-autocfg) + ("rust-rand-core" ,rust-rand-core-0.3)))))) + +(define-public rust-rand-core + (package + (name "rust-rand-core") + (version "0.5.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rand_core" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1jis94x9ri8xlxki2w2w5k29sjpfwgzkjylg7paganp74hrnhpk1")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-getrandom" ,rust-getrandom) + ("rust-serde" ,rust-serde) + ("rust-serde-derive" ,rust-serde-derive)))) + (home-page "https://crates.io/crates/rand_core") + (synopsis + "Core random number generator traits and tools for implementation.") + (description + "Core random number generator traits and tools for implementation.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-rand-core-0.4 + (package + (inherit rust-rand-core) + (name "rust-rand-core") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rand_core" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1h3dbrhi5qgflqnzzd86s48v1dn1l17bmdssi5q170whsm4sbryh")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-serde" ,rust-serde) + ("rust-serde-derive" ,rust-serde-derive)))))) + +(define-public rust-rand-core-0.3 + (package + (inherit rust-rand-core) + (name "rust-rand-core") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "rand_core" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0jzdgszfa4bliigiy4hi66k7fs3gfwi2qxn8vik84ph77fwdwvvs")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-rand-core" ,rust-rand-core-0.4)))))) + +(define-public rust-rand-distr + (package + (name "rust-rand-distr") + (version "0.2.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "rand_distr" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "08drhcw9k4a79pri3rd1vkv7v9cbm6cf4i342nai39f527c58zn3")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-rand" ,rust-rand)) + #:cargo-development-inputs + (("rust-average" ,rust-average) + ("rust-rand-pcg" ,rust-rand-pcg)))) + (home-page "https://crates.io/crates/rand_distr") + (synopsis + "Sampling from random number distributions") + (description + "Sampling from random number distributions") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-rand-hc + (package + (name "rust-rand-hc") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rand_hc" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0g31sqwpmsirdlwr0svnacr4dbqyz339im4ssl9738cjgfpjjcfa")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-rand-core" ,rust-rand-core)))) + (home-page "https://crates.io/crates/rand_hc") + (synopsis "HC128 random number generator") + (description "HC128 random number generator") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-rand-hc-0.1 + (package + (inherit rust-rand-hc) + (name "rust-rand-hc") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rand_hc" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1i0vl8q5ddvvy0x8hf1zxny393miyzxkwqnw31ifg6p0gdy6fh3v")))) + (arguments + `(#:cargo-inputs + (("rust-rand-core" ,rust-rand-core-0.3)))))) + +(define-public rust-rand-isaac + (package + (name "rust-rand-isaac") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rand_isaac" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0xlb9415x518ffkazxhvk8b04i9i548nva4i5l5s34crvjrv1xld")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-rand-core" ,rust-rand-core) + ("rust-serde" ,rust-serde)) + #:cargo-development-inputs + (("rust-bincode" ,rust-bincode)))) + (home-page "https://crates.io/crates/rand_isaac") + (synopsis "ISAAC random number generator") + (description "ISAAC random number generator") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-rand-isaac-0.1 + (package + (inherit rust-rand-isaac) + (name "rust-rand-isaac") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "rand_isaac" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "027flpjr4znx2csxk7gxb7vrf9c7y5mydmvg5az2afgisp4rgnfy")))) + (arguments + `(#:cargo-inputs + (("rust-rand-core" ,rust-rand-core-0.3) + ("rust-serde" ,rust-serde) + ("rust-serde-derive" ,rust-serde-derive)) + #:cargo-development-inputs + (("rust-bincode" ,rust-bincode)))))) + +(define-public rust-rand-jitter + (package + (name "rust-rand-jitter") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rand_jitter" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1mnjbfzj97g788jslz0k77bpsg6qjhz676cibk82ibbvgqp4sy43")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc) + ("rust-log" ,rust-log) + ("rust-rand-core" ,rust-rand-core) + ("rust-winapi" ,rust-winapi)))) + (home-page "https://github.com/rust-random/rand") + (synopsis + "Random number generator based on timing jitter") + (description + "Random number generator based on timing jitter") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-rand-jitter-0.1 + (package + (inherit rust-rand-jitter) + (name "rust-rand-jitter") + (version "0.1.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "rand_jitter" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "16z387y46bfz3csc42zxbjq89vcr1axqacncvv8qhyy93p4xarhi")))) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc) + ("rust-log" ,rust-log) + ("rust-rand-core" ,rust-rand-core-0.4) + ("rust-winapi" ,rust-winapi)))))) + +(define-public rust-rand-pcg + (package + (name "rust-rand-pcg") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rand_pcg" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1dljwilv3640l1c5vlg4isiq7qz8gqa2cjbvgv3p0p5wrd36669y")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-autocfg" ,rust-autocfg) + ("rust-rand-core" ,rust-rand-core) + ("rust-serde" ,rust-serde)) + #:cargo-development-inputs + (("rust-bincode" ,rust-bincode)))) + (home-page "https://crates.io/crates/rand_pcg") + (synopsis + "Selected PCG random number generators") + (description + "Selected PCG random number generators") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-rand-pcg-0.1 + (package + (inherit rust-rand-pcg) + (name "rust-rand-pcg") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "rand_pcg" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0i0bdla18a8x4jn1w0fxsbs3jg7ajllz6azmch1zw33r06dv1ydb")))) + (arguments + `(#:cargo-inputs + (("rust-autocfg" ,rust-autocfg) + ("rust-rand-core" ,rust-rand-core-0.4) + ("rust-serde" ,rust-serde) + ("rust-serde" ,rust-serde-derive)) + #:cargo-development-inputs + (("rust-bincode" ,rust-bincode)))))) + +(define-public rust-rand-xorshift + (package + (name "rust-rand-xorshift") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rand_xorshift" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1a6wy76lc5fimm1n9n8fzhp4cfjwfwxh4hx63bg3vlh1d2w1dm3p")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-rand-core" ,rust-rand-core) + ("rust-serde" ,rust-serde)) + #:cargo-development-inputs + (("rust-bincode" ,rust-bincode)))) + (home-page + "https://crates.io/crates/rand_xorshift") + (synopsis "Xorshift random number generator") + (description + "Xorshift random number generator") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-rand-xorshift-0.1 + (package + (inherit rust-rand-xorshift) + (name "rust-rand-xorshift") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "rand_xorshift" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0p2x8nr00hricpi2m6ca5vysiha7ybnghz79yqhhx6sl4gkfkxyb")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-rand-core" ,rust-rand-core-0.3) + ("rust-serde" ,rust-serde) + ("rust-serde" ,rust-serde-derive)) + #:cargo-development-inputs + (("rust-bincode" ,rust-bincode)))))) + +(define-public rust-rand-xoshiro + (package + (name "rust-rand-xoshiro") + (version "0.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rand_xoshiro" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "07w3qgrac8r356lz5vqff42rly6yd9vs3g5lx5pbn13rcmb05rqb")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-byteorder" ,rust-byteorder) + ("rust-rand-core" ,rust-rand-core) + ("rust-serde" ,rust-serde)) + #:cargo-development-inputs + (("rust-bincode" ,rust-bincode)))) + (home-page + "https://crates.io/crates/rand_xoshiro") + (synopsis + "Xoshiro, xoroshiro and splitmix64 random number generators") + (description + "Xoshiro, xoroshiro and splitmix64 random number generators") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-rand-xoshiro-0.1 + (package + (inherit rust-rand-xoshiro) + (name "rust-rand-xoshiro") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rand_xoshiro" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0ac9ha6ll8b6l1930bd99k29jrjpsbpddvr6ycrnbi5rkwb1id03")))) + (arguments + `(#:cargo-inputs + (("rust-byteorder" ,rust-byteorder) + ("rust-rand-core" ,rust-rand-core-0.3)) + #:cargo-development-inputs + (("rust-rand" ,rust-rand-0.6)))))) + +(define-public rust-rayon + (package + (name "rust-rayon") + (version "1.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rayon" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "190hkbcdfvcphyyzkdg52zdia2y9d9yanpm072bmnzbn49p1ic54")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-crossbeam-deque" ,rust-crossbeam-deque-0.6) + ("rust-either" ,rust-either) + ("rust-rayon-core" ,rust-rayon-core)) + #:cargo-development-inputs + (("rust-doc-comment" ,rust-doc-comment) + ("rust-docopt" ,rust-docopt) + ("rust-lazy-static" ,rust-lazy-static) + ("rust-rand" ,rust-rand-0.6) + ("rust-rand-xorshift" ,rust-rand-xorshift) + ("rust-serde" ,rust-serde) + ("rust-serde-derive" ,rust-serde-derive)))) + (home-page "https://github.com/rayon-rs/rayon") + (synopsis + "Simple work-stealing parallelism for Rust") + (description + "Simple work-stealing parallelism for Rust") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-rayon-1.0 + (package + (inherit rust-rayon) + (name "rust-rayon") + (version "1.0.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "rayon" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0wq41f15y05nlarijn9c1vxscxj5sazn3lhd6mmnicj5fzr18f1p")))) + (arguments + `(#:cargo-inputs + (("rust-crossbeam-deque" ,rust-crossbeam-deque-0.2) + ("rust-either" ,rust-either) + ("rust-rand" ,rust-rand-0.5) + ("rust-rayon-core" ,rust-rayon-core)) + #:cargo-development-inputs + (("rust-docopt" ,rust-docopt) + ("rust-lazy-static" ,rust-lazy-static) + ("rust-serde" ,rust-serde) + ("rust-serde-derive" ,rust-serde-derive)))))) + +(define-public rust-rayon-core + (package + (name "rust-rayon-core") + (version "1.5.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rayon-core" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ljva6blaf1wmzvg77h1i9pd0hsmsbbcmdk7sjbw7h2s8gw0vgpb")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-crossbeam-deque" ,rust-crossbeam-deque-0.6) + ("rust-crossbeam-queue" ,rust-crossbeam-queue) + ("rust-crossbeam-utils" ,rust-crossbeam-utils) + ("rust-lazy-static" ,rust-lazy-static) + ("rust-num-cpus" ,rust-num-cpus)) + #:cargo-development-inputs + (("rust-libc" ,rust-libc) + ("rust-rand" ,rust-rand) + ("rust-rand-xorshift" ,rust-rand-xorshift) + ("rust-scoped-tls" ,rust-scoped-tls)))) + (home-page "https://github.com/rayon-rs/rayon") + (synopsis "Core APIs for Rayon") + (description "Core APIs for Rayon") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-rdrand + (package + (name "rust-rdrand") + (version "0.5.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "rdrand" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "02dsyibvl1iygkmljr0ld9vjyp525q4mjy5j9yazrrkyvhvw7gvp")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-rand-core" ,rust-rand-core)))) + (home-page + "https://github.com/nagisa/rust_rdrand/") + (synopsis + "An implementation of random number generator based on rdrand and rdseed instructions") + (description + "An implementation of random number generator based on rdrand and rdseed instructions") + (license license:isc))) + +(define-public rust-rdrand-0.4 + (package + (inherit rust-rdrand) + (name "rust-rdrand") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rdrand" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1cjq0kwx1bk7jx3kzyciiish5gqsj7620dm43dc52sr8fzmm9037")))) + (arguments + `(#:cargo-inputs + (("rust-rand-core" ,rust-rand-core-0.3)))))) + +(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.") + (license license:expat))) + +(define-public rust-redox-users + (package + (name "rust-redox-users") + (version "0.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "redox_users" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0a1q5jv76vj1mwmqf2mmhknmkpw5wndx91gjfgg7vs8p79621r9z")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-argon2rs" ,rust-argon2rs) + ("rust-failure" ,rust-failure) + ("rust-rand-os" ,rust-rand-os) + ("rust-redox-syscall" ,rust-redox-syscall)))) + (home-page + "https://gitlab.redox-os.org/redox-os/users") + (synopsis + "A Rust library to access Redox users and groups functionality") + (description + "This package provides a Rust library to access Redox users and groups functionality") + (license #f))) + +(define-public rust-ref-cast + (package + (name "rust-ref-cast") + (version "0.2.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "ref-cast" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0jgj1zxaikqm030flpifbp517fy4z21lly6ysbwyciii39bkzcf1")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-ref-cast-impl" ,rust-ref-cast-impl)))) + (home-page "https://github.com/dtolnay/ref-cast") + (synopsis + "Safely cast &T to &U where the struct U contains a single field of type T.") + (description + "Safely cast &T to &U where the struct U contains a single field of type T.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-ref-cast-impl + (package + (name "rust-ref-cast-impl") + (version "0.2.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "ref-cast-impl" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0hw0frpzna5rf5szix56zyzd0vackcb3svj94ndj629xi75dkb32")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2) + ("rust-quote" ,rust-quote) + ("rust-syn" ,rust-syn)))) + (home-page "https://github.com/dtolnay/ref-cast") + (synopsis + "Derive implementation for ref_cast::RefCast.") + (description + "Derive implementation for ref_cast::RefCast.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-regex + (package + (name "rust-regex") + (version "1.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "regex" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1k6jpx0bqlg6vb8rsdnlmcw2szczbl51j047w3blpa4qzn6xl8vb")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-aho-corasick" ,rust-aho-corasick) + ("rust-memchr" ,rust-memchr) + ("rust-regex-syntax" ,rust-regex-syntax) + ("rust-thread-local" ,rust-thread-local) + ("rust-utf8-ranges" ,rust-utf8-ranges)) + #:cargo-development-inputs + (("rust-doc-comment" ,rust-doc-comment) + ("rust-lazy-static" ,rust-lazy-static) + ("rust-quickcheck" ,rust-quickcheck) + ("rust-rand" ,rust-rand)))) + (home-page "https://github.com/rust-lang/regex") + (synopsis + "An implementation of regular expressions for Rust. This implementation uses + finite automata and guarantees linear time matching on all inputs.") + (description + "An implementation of regular expressions for Rust. This implementation uses + finite automata and guarantees linear time matching on all inputs.") + (license (list license:asl2.0 + 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 "A 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)))) + (home-page + "https://github.com/XAMPPRocky/remove_dir_all.git") + (synopsis + "A safe, reliable implementation of remove_dir_all for Windows") + (description + "This package provides a safe, reliable implementation of remove_dir_all for Windows") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-ron + (package + (name "rust-ron") + (version "0.5.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "ron" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1mb2bavvp8jg5wx0kx9n45anrsbjwhjzddim987bjaa11hg45kif")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-base64" ,rust-base64) + ("rust-bitflags" ,rust-bitflags) + ("rust-serde" ,rust-serde)) + #:cargo-development-inputs + (("rust-serde-bytes" ,rust-serde-bytes) + ("rust-serde-json" ,rust-serde-json)))) + (home-page "https://github.com/ron-rs/ron") + (synopsis "Rusty Object Notation") + (description "Rusty Object Notation") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-rustc-demangle + (package + (name "rust-rustc-demangle") + (version "0.1.15") + (source + (origin + (method url-fetch) + (uri (crate-uri "rustc-demangle" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1brqf2bknkxsdzn3kd3wfifvzfc33bmvdy9r1k6fp4a8dz7xrx57")))) + (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 + "Rust compiler symbol demangling.") + (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/rustc-serialize") + (synopsis + "Generic serialization/deserialization support corresponding to the `derive(RustcEncodable, RustcDecodable)` mode in the compiler. Also includes support for hex, base64, and json encoding and decoding.") + (description + "Generic serialization/deserialization support corresponding to the `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 ; guix upstreamable + (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-rustc-test + (package + (name "rust-rustc-test") + (version "0.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rustc-test" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0a27mlcg0ck0hgsdvwk792x9z1k1qq1wj091f1l5yggbdbcsnx5w")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-getopts" ,rust-getopts) + ("rust-libc" ,rust-libc) + ("rust-rustc-serialize" ,rust-rustc-serialize) + ("rust-term" ,rust-term) + ("rust-time" ,rust-time)) + #:cargo-development-inputs + (("rust-rustc-version" ,rust-rustc-version)))) + (home-page + "https://github.com/SimonSapin/rustc-test") + (synopsis + "A fork of Rustâ\x80\x99s `test` crate that doesnâ\x80\x99t require unstable language features.") + (description + "This package provides a fork of Rustâ\x80\x99s `test` crate that doesnâ\x80\x99t require unstable language features.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-rustc-version + (package + (name "rust-rustc-version") + (version "0.2.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "rustc_version" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "02h3x57lcr8l2pm0a645s9whdh33pn5cnrwvn5cb57vcrc53x3hk")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-semver" ,rust-semver)))) + (home-page + "https://github.com/Kimundi/rustc-version-rs") + (synopsis + "A library for querying the version of a installed rustc compiler") + (description + "This package provides a library for querying the version of a installed rustc compiler") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-ryu + (package + (name "rust-ryu") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "ryu" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "15r9z2wzgbj04pks4jz7y6wif5xqhf1wqkl2nd7qrvn08ys68969")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-no-panic" ,rust-no-panic)) + #:cargo-development-inputs + (("rust-num-cpus" ,rust-num-cpus) + ("rust-rand" ,rust-rand)))) + (home-page "https://github.com/dtolnay/ryu") + (synopsis + "Fast floating point to string conversion") + (description + "Fast floating point to string conversion") + (license (list license:asl2.0 + license:boost1.0)))) + +(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 + "A simple crate for determining 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-scoped-tls ; guix upstreamable + (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-scopeguard ; guix upstreamable + (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-scroll + (package + (name "rust-scroll") + (version "0.9.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "scroll" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "10q3w86bn22xrjlfg1c90dfi9c26qjkzn26nad0i9z8pxwad311g")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-scroll-derive" ,rust-scroll-derive) + ("rust-rustc-version" ,rust-rustc-version)) + #:cargo-development-inputs + (("rust-byteorder" ,rust-byteorder) + ("rust-rayon" ,rust-rayon)))) + (home-page "https://github.com/m4b/scroll") + (synopsis + "A suite of powerful, extensible, generic, endian-aware Read/Write traits for byte buffers") + (description + "This package provides a suite of powerful, extensible, generic, endian-aware Read/Write traits for byte buffers") + (license license:expat))) + +(define-public rust-scroll-derive + (package + (name "rust-scroll-derive") + (version "0.9.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "scroll_derive" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1jqg5mm8nvii6avl1z1rc89agzh2kwkppgpsnwfakxg78mnaj6lg")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2) + ("rust-quote" ,rust-quote) + ("rust-syn" ,rust-syn)) + #:cargo-development-inputs + (("rust-scroll" ,rust-scroll)))) + (home-page + "https://github.com/m4b/scroll_derive") + (synopsis + "A macros 1.1 derive implementation for Pread and Pwrite traits from the scroll crate") + (description + "This package provides a macros 1.1 derive implementation for Pread and Pwrite traits from the scroll crate") + (license license:expat))) + +(define-public rust-seahash ; guix upstreamable + (package + (name "rust-seahash") + (version "3.0.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "seahash" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1pr8ijnxnp68ki4m4740yc5mr01zijf86yx07wbsqzwiyhghdmhq")))) + (build-system cargo-build-system) + (home-page "https://gitlab.redox-os.org/redox-os/seahash") + (synopsis "Hash function with proven statistical guarantees") + (description "This package provides a blazingly fast, portable hash +function with proven statistical guarantees.") + (license license:expat))) + +(define-public rust-select-rustc + (package + (name "rust-select-rustc") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "select-rustc" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0daqd56smi93g59nz43n4mh3d8whr6j5pa8dmwlf8bd76mdy3cpx")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2) + ("rust-quote" ,rust-quote) + ("rust-syn" ,rust-syn)))) + (home-page + "https://github.com/dtolnay/select-rustc") + (synopsis + "Conditional compilation according to rustc compiler version") + (description + "Conditional compilation according to rustc compiler version") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-semver + (package + (name "rust-semver") + (version "0.9.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "semver" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "00q4lkcj0rrgbhviv9sd4p6qmdsipkwkbra7rh11jrhq5kpvjzhx")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-semver-parser" ,rust-semver-parser-0.7) + ("rust-serde" ,rust-serde)) + #:cargo-development-inputs + (("rust-crates-index" ,rust-crates-index) + ("rust-serde-derive" ,rust-serde-derive) + ("rust-serde-json" ,rust-serde-json) + ("rust-tempdir" ,rust-tempdir)))) + (home-page "https://docs.rs/crate/semver/") + (synopsis + "Semantic version parsing and comparison.") + (description + "Semantic version parsing and comparison.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-semver-parser ; guix upstreamable + (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-serde + (package + (name "rust-serde") + (version "1.0.97") + (source + (origin + (method url-fetch) + (uri (crate-uri "serde" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0wlvfs82flb3di86m3nzf1m4vkc78vqcwrk865s0ldhrvgz3ssyl")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-serde-derive" ,rust-serde-derive)) + #:cargo-development-inputs + (("rust-serde-derive" ,rust-serde-derive)))) + (home-page "https://serde.rs") + (synopsis + "A generic serialization/deserialization framework") + (description + "This package provides a generic serialization/deserialization framework") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-serde-big-array + (package + (name "rust-serde-big-array") + (version "0.1.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "serde-big-array" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0gkyqxk760mp1lfcg6lhjk95ajc89nr0qdd0vl4ic0g8pyxcy9mr")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-serde" ,rust-serde) + ("rust-serde-derive" ,rust-serde-derive)) + #:cargo-development-inputs + (("rust-serde-json" ,rust-serde-json)))) + (home-page + "https://github.com/est31/serde-big-array") + (synopsis "Big array helper for serde.") + (description "Big array helper for serde.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-serde-bytes + (package + (name "rust-serde-bytes") + (version "0.11.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "serde_bytes" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0sc5n336i7q4fiij4l8f892zcirgybrbxzl8bp51qxzqdvdlgzxa")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-serde" ,rust-serde)) + #:cargo-development-inputs + (("rust-bincode" ,rust-bincode) + ("rust-serde-derive" ,rust-serde-derive) + ("rust-serde-test" ,rust-serde-test)))) + (home-page "https://github.com/serde-rs/bytes") + (synopsis + "Optimized handling of `&[u8]` and `Vec<u8>` for Serde") + (description + "Optimized handling of `&[u8]` and `Vec<u8>` for Serde") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-serde-cbor + (package + (name "rust-serde-cbor") + (version "0.10.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "serde_cbor" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0jcb4j637vdlqk2z38jixaqmp6f92h36r17kclv5brjay32911ii")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-byteorder" ,rust-byteorder) + ("rust-half" ,rust-half) + ("rust-serde" ,rust-serde)) + #:cargo-development-inputs + (("rust-serde-derive" ,rust-serde-derive)))) + (home-page "https://github.com/pyfisch/cbor") + (synopsis "CBOR support for serde.") + (description "CBOR support for serde.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-serde-derive + (package + (name "rust-serde-derive") + (version "1.0.97") + (source + (origin + (method url-fetch) + (uri (crate-uri "serde_derive" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0zq2qm2gabmpa57wxfxb09jl41nxccsk454715xjabzymlh0han2")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2) + ("rust-quote" ,rust-quote) + ("rust-syn" ,rust-syn)) + #:cargo-development-inputs + (("rust-serde" ,rust-serde)))) + (home-page "https://serde.rs") + (synopsis + "Macros 1.1 implementation of #[derive(Serialize, Deserialize)]") + (description + "Macros 1.1 implementation of #[derive(Serialize, Deserialize)]") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-serde-json + (package + (name "rust-serde-json") + (version "1.0.40") + (source + (origin + (method url-fetch) + (uri (crate-uri "serde_json" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "010pa89zx07aqx1cwgw2a603wcp3q5n2iy0k71ppqbr8kwi4j705")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-indexmap" ,rust-indexmap) + ("rust-itoa" ,rust-itoa) + ("rust-ryu" ,rust-ryu) + ("rust-serde" ,rust-serde)) + #:cargo-development-inputs + (("rust-automod" ,rust-automod) + ("rust-select-rustc" ,rust-select-rustc) + ("rust-serde-bytes" ,rust-serde-bytes) + ("rust-serde-derive" ,rust-serde-derive) + ("rust-serde-stacker" ,rust-serde-stacker) + ("rust-trybuild" ,rust-trybuild)))) + (home-page "https://github.com/serde-rs/json") + (synopsis "A JSON serialization file format") + (description + "This package provides a JSON serialization file format") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-serde-json-1.0.39 + (package + (inherit rust-serde-json) + (name "rust-serde-json") + (version "1.0.39") + (source + (origin + (method url-fetch) + (uri (crate-uri "serde_json" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "03fl9l680gij0hrsr2csfm8nm858igvfy05czbdkzm54siqsl8ss")))))) + +(define-public rust-serde-stacker + (package + (name "rust-serde-stacker") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "serde_stacker" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1jn54i5m1mlc6nm47f96k85fgjs9mhpbbqa4dvd5xjbivkdw55ic")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-serde" ,rust-serde) + ("rust-stacker" ,rust-stacker)) + #:cargo-development-inputs + (("rust-serde-json" ,rust-serde-json)))) + (home-page + "https://github.com/dtolnay/serde-stacker") + (synopsis + "Serde adapter that avoids stack overflow by dynamically growing the stack") + (description + "Serde adapter that avoids stack overflow by dynamically growing the stack") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-serde-test + (package + (name "rust-serde-test") + (version "1.0.97") + (source + (origin + (method url-fetch) + (uri (crate-uri "serde_test" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0i17jdgy18rcp19v6h4shim27l99q3vc7pzr2xaa2g0rjq9p6lr2")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-serde" ,rust-serde)) + #:cargo-development-inputs + (("rust-serde" ,rust-serde) + ("rust-serde-derive" ,rust-serde-derive)))) + (home-page "https://serde.rs") + (synopsis + "Token De/Serializer for testing De/Serialize implementations") + (description + "Token De/Serializer for testing De/Serialize implementations") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-serde-yaml + (package + (name "rust-serde-yaml") + (version "0.8.9") + (source + (origin + (method url-fetch) + (uri (crate-uri "serde_yaml" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "10mmjpnshgrwij01a13679nxy1hnh5yfr0343kh0y9p5j2d8mc1q")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-dtoa" ,rust-dtoa) + ("rust-linked-hash-map" ,rust-linked-hash-map) + ("rust-serde" ,rust-serde) + ("rust-yaml-rust" ,rust-yaml-rust)) + #:cargo-development-inputs + (("rust-serde-derive" ,rust-serde-derive) + ("rust-unindent" ,rust-unindent) + ("rust-version-sync" ,rust-version-sync)))) + (home-page + "https://github.com/dtolnay/serde-yaml") + (synopsis "YAML support for Serde") + (description "YAML support for Serde") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-sha-1 + (package + (name "rust-sha-1") + (version "0.8.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "sha-1" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0s6fdy5wp3x4h2z4fcl2d9vjvrpzr87v4h49r51xcq8nm4qj35i3")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-block-buffer" ,rust-block-buffer) + ("rust-digest" ,rust-digest) + ("rust-fake-simd" ,rust-fake-simd) + ("rust-opaque-debug" ,rust-opaque-debug) + ("rust-sha1-asm" ,rust-sha1-asm)) + #:cargo-development-inputs + (("rust-digest" ,rust-digest) + ("rust-hex-literal" ,rust-hex-literal)))) + (home-page + "https://github.com/RustCrypto/hashes") + (synopsis "SHA-1 hash function") + (description "SHA-1 hash function") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-sha1 + (package + (name "rust-sha1") + (version "0.6.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "sha1" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "03gs2q4m67rn2p8xcdfxhip6mpgahdwm12bnb3vh90ahv9grhy95")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-serde" ,rust-serde)) + #:cargo-development-inputs + (("rust-openssl" ,rust-openssl) + ("rust-rand" ,rust-rand) + ("rust-serde-json" ,rust-serde-json)))) + (home-page + "https://github.com/mitsuhiko/rust-sha1") + (synopsis + "Minimal implementation of SHA1 for Rust.") + (description + "Minimal implementation of SHA1 for Rust.") + (license license:bsd-3))) + +(define-public rust-shlex ; guix upstreamable + (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 ; guix upstreamable + (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-sleef-sys + (package + (name "rust-sleef-sys") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "sleef-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1881q2yc17j2m1yvh01447c93ws1mspnrj3k2nbvwbvcm8z81kkv")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cfg-if" ,rust-cfg-if) + ("rust-libc" ,rust-libc)) + #:cargo-development-inputs + (("rust-bindgen" ,rust-bindgen) + ("rust-cmake" ,rust-cmake) + ("rust-env-logger" ,rust-env-logger)))) + (home-page "https://github.com/gnzlbg/sleef-sys") + (synopsis + "Rust FFI bindings to the SLEEF Vectorized Math Library") + (description + "Rust FFI bindings to the SLEEF Vectorized Math Library") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-slog + (package + (name "rust-slog") + (version "2.5.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "slog" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "16bv6zrdn1sm315vbnia02g31xvsmbjyz5gv3z0vrgxdli0cdj8w")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-erased-serde" ,rust-erased-serde)))) + (home-page "https://github.com/slog-rs/slog") + (synopsis + "Structured, extensible, composable logging for Rust") + (description + "Structured, extensible, composable logging for Rust") + (license (list license:asl2.0 + license:mpl2.0 + license:expat)))) + +(define-public rust-spin ; guix upstreamable + (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.git") + (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-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/alexcrichton/stacker") + (synopsis + "A stack growth library useful when implementing deeply recursive algorithms that + may accidentally blow the stack.") + (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-stdweb + (package + (name "rust-stdweb") + (version "0.4.18") + (source + (origin + (method url-fetch) + (uri (crate-uri "stdweb" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1srsjarj36f57ibr63n70bgy250yb72a73g14b80wh7piki0r356")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-discard" ,rust-discard) + ("rust-futures-channel-preview" + ,rust-futures-channel-preview) + ("rust-futures-core-preview" + ,rust-futures-core-preview) + ("rust-futures-executor-preview" + ,rust-futures-executor-preview) + ("rust-futures-util-preview" + ,rust-futures-util-preview) + ("rust-rustc-version" ,rust-rustc-version) + ("rust-serde" ,rust-serde) + ("rust-serde-json" ,rust-serde-json) + ("rust-stdweb-derive" ,rust-stdweb-derive) + ("rust-stdweb-internal-macros" + ,rust-stdweb-internal-macros) + ("rust-stdweb-internal-runtime" + ,rust-stdweb-internal-runtime) + ("rust-wasm-bindgen" ,rust-wasm-bindgen)) + #:cargo-development-inputs + (("rust-rustc-version" ,rust-rustc-version) + ("rust-serde-derive" ,rust-serde-derive) + ("rust-serde-json" ,rust-serde-json) + ("rust-stdweb-internal-test-macro" + ,rust-stdweb-internal-test-macro) + ("rust-wasm-bindgen-test" + ,rust-wasm-bindgen-test)))) + (home-page "https://github.com/koute/stdweb") + (synopsis + "A standard library for the client-side Web") + (description + "This package provides a standard library for the client-side Web") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-stdweb-derive + (package + (name "rust-stdweb-derive") + (version "0.5.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "stdweb-derive" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0c1rxx6rqcc4iic5hx320ki3vshpi8k58m5600iqzq4x2zcyn88f")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2) + ("rust-quote" ,rust-quote) + ("rust-serde" ,rust-serde) + ("rust-serde-derive" ,rust-serde-derive) + ("rust-syn" ,rust-syn)))) + (home-page "https://github.com/koute/stdweb") + (synopsis "Derive macros for the `stdweb` crate") + (description + "Derive macros for the `stdweb` crate") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-stdweb-internal-macros + (package + (name "rust-stdweb-internal-macros") + (version "0.2.7") + (source + (origin + (method url-fetch) + (uri (crate-uri "stdweb-internal-macros" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1yjrmkc6sb1035avic383pa3avk2s9k3n17yjcza8yb9nw47v3z6")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-base-x" ,rust-base-x) + ("rust-proc-macro2" ,rust-proc-macro2) + ("rust-quote" ,rust-quote) + ("rust-serde" ,rust-serde) + ("rust-serde-derive" ,rust-serde-derive) + ("rust-serde-json" ,rust-serde-json) + ("rust-sha1" ,rust-sha1) + ("rust-syn" ,rust-syn)))) + (home-page "https://github.com/koute/stdweb") + (synopsis + "Internal procedural macros for the `stdweb` crate") + (description + "Internal procedural macros for the `stdweb` crate") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-stdweb-internal-runtime ; guix upstreamable + (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 `stdweb` crate") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-stream-cipher + (package + (name "rust-stream-cipher") + (version "0.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "stream-cipher" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1g1nd8r6pph70rzk5yyvg7a9ji7pkap9ddiqpp4v9xa9ys0bqqc8")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-blobby" ,rust-blobby) + ("rust-generic-array" ,rust-generic-array)))) + (home-page + "https://github.com/RustCrypto/traits") + (synopsis "Stream cipher traits") + (description "Stream cipher traits") + (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 + "Experimental crate for computing basic statistics on streams.") + (description + "Experimental crate for computing basic statistics on streams.") + (license (list license:unlicense + license:expat)))) + +(define-public rust-strsim ; guix upstreamable + (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-structopt + (package + (name "rust-structopt") + (version "0.2.18") + (source + (origin + (method url-fetch) + (uri (crate-uri "structopt" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1mvfv1l8vp3y402fkl2wcl34hi7gmr4bqha13dfz2xf3kjzwvhhn")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-clap" ,rust-clap) + ("rust-structopt-derive" ,rust-structopt-derive)))) + (home-page + "https://github.com/TeXitoi/structopt") + (synopsis + "Parse command line argument by defining a struct.") + (description + "Parse command line argument by defining a struct.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-structopt-derive + (package + (name "rust-structopt-derive") + (version "0.2.18") + (source + (origin + (method url-fetch) + (uri (crate-uri "structopt-derive" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "01sis9z5kqmyhvzbnmlzpdxcry99a0b9blypksgnhdsbm1hh40ak")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-heck" ,rust-heck) + ("rust-proc-macro2" ,rust-proc-macro2) + ("rust-quote" ,rust-quote) + ("rust-syn" ,rust-syn)))) + (home-page + "https://github.com/TeXitoi/structopt") + (synopsis + "Parse command line argument by defining a struct, derive crate.") + (description + "Parse command line argument by defining a struct, derive crate.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-syn + (package + (name "rust-syn") + (version "0.15.42") + (source + (origin + (method url-fetch) + (uri (crate-uri "syn" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0png5pz7jjjj39xy8w7qr65y3s9qam0jpz6nbmal06m5dhq0kp7a")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2) + ("rust-quote" ,rust-quote) + ("rust-unicode-xid" ,rust-unicode-xid)) + #:cargo-development-inputs + (("rust-insta" ,rust-insta) + ("rust-rayon" ,rust-rayon) + ("rust-ref-cast" ,rust-ref-cast) + ("rust-regex" ,rust-regex) + ("rust-termcolor" ,rust-termcolor) + ("rust-walkdir" ,rust-walkdir)))) + (home-page "https://github.com/dtolnay/syn") + (synopsis "Parser for Rust source code") + (description "Parser for Rust source code") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-synstructure + (package + (name "rust-synstructure") + (version "0.11.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "synstructure" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1spqy31qcss57mciklc4nky4v778fvqs9qwdjgvnmf0hr5ichcca")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2) + ("rust-quote" ,rust-quote) + ("rust-syn" ,rust-syn) + ("rust-unicode-xid" ,rust-unicode-xid)) + #:cargo-development-inputs + (("rust-synstructure-test-traits" + ,rust-synstructure-test-traits)))) + (home-page + "https://github.com/mystor/synstructure") + (synopsis + "Helper methods and macros for custom derives") + (description + "Helper methods and macros for custom derives") + (license license:expat))) + +(define-public rust-synstructure-test-traits ; guix upstreamable + (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-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-0.4) + ("rust-remove-dir-all" ,rust-remove-dir-all)))) + (home-page + "https://github.com/rust-lang/tempdir") + (synopsis + "A library for managing a temporary directory and deleting all contents when it's dropped.") + (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.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "tempfile" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1a9cfdqw70n7bcnkx05aih9xdba8lqazmqlkjpkmn2la6gcj8vks")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cfg-if" ,rust-cfg-if) + ("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 + "A 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.5.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "term" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0hkgjrfisj6zjwz525639pmsvzhlc48a0h65nw87qrdp6jihdlgd")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-byteorder" ,rust-byteorder) + ("rust-dirs" ,rust-dirs) + ("rust-winapi" ,rust-winapi)))) + (home-page "https://github.com/Stebalien/term") + (synopsis "A terminal formatting library") + (description + "This package provides a terminal formatting library") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-term-size + (package + (name "rust-term-size") + (version "1.0.0-beta1") + (source + (origin + (method url-fetch) + (uri (crate-uri "term_size" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "13w9cqjhzh3mmx6zami8lxyf42xx53yy866zxhxqcm71k637v8d8")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-clippy" ,rust-clippy) + ;("rust-kernel32-sys" ,rust-kernel32-sys) ; windows + ("rust-libc" ,rust-libc) + ("rust-winapi" ,rust-winapi)))) + (home-page + "https://github.com/kbknapp/term_size-rs.git") + (synopsis + "functions for determining terminal sizes and dimensions") + (description + "functions for determining terminal sizes and dimensions") + (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 + "Safe bindings for the termios library.") + (license license:expat))) + +(define-public rust-textwrap + (package + (name "rust-textwrap") + (version "0.11.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "textwrap" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0q5hky03ik3y50s9sz25r438bc4nwhqc6dqwynv4wylc807n29nk")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-hyphenation" ,rust-hyphenation) + ("rust-term-size" ,rust-term-size) + ("rust-unicode-width" ,rust-unicode-width)) + #:cargo-development-inputs + (("rust-lipsum" ,rust-lipsum) + ("rust-rand" ,rust-rand) + ("rust-rand-xorshift" ,rust-rand-xorshift) + ("rust-version-sync" ,rust-version-sync)))) + (home-page + "https://github.com/mgeisler/textwrap") + (synopsis + "Textwrap is a small library for word wrapping, indenting, and + dedenting strings. + + You can use it to format strings (such as help and error messages) for + display in commandline applications. It is designed to be efficient + and handle Unicode characters correctly.") + (description + "Textwrap is a small library for word wrapping, indenting, and + dedenting strings. + + You can use it to format strings (such as help and error messages) for + display in commandline applications. It is designed to be efficient + and handle Unicode characters correctly.") + (license 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-time + (package + (name "rust-time") + (version "0.1.42") + (source + (origin + (method url-fetch) + (uri (crate-uri "time" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0vsbvsz0ryxb35dy9j4anxvy8zlaplmjmi0a4z4l64bc135cz3fv")))) + (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)))) + (home-page "https://github.com/rust-lang/time") + (synopsis + "Utilities for working with time-related functions in Rust.") + (description + "Utilities for working with time-related functions in Rust.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-tokio + (package + (name "rust-tokio") + (version "0.1.22") + (source + (origin + (method url-fetch) + (uri (crate-uri "tokio" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1xhaadfmm6m37f79xv5020gc3np9wqza3bq95ymp522qpfsw02as")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bytes" ,rust-bytes) + ("rust-futures" ,rust-futures) + ("rust-mio" ,rust-mio) + ("rust-num-cpus" ,rust-num-cpus) + ("rust-tokio-codec" ,rust-tokio-codec) + ("rust-tokio-current-thread" + ,rust-tokio-current-thread) + ("rust-tokio-executor" ,rust-tokio-executor) + ("rust-tokio-fs" ,rust-tokio-fs) + ("rust-tokio-io" ,rust-tokio-io) + ("rust-tokio-reactor" ,rust-tokio-reactor) + ("rust-tokio-sync" ,rust-tokio-sync) + ("rust-tokio-tcp" ,rust-tokio-tcp) + ("rust-tokio-threadpool" ,rust-tokio-threadpool) + ("rust-tokio-timer" ,rust-tokio-timer) + ("rust-tokio-udp" ,rust-tokio-udp) + ("rust-tokio-uds" ,rust-tokio-uds) + ("rust-tracing-core" ,rust-tracing-core)) + #:cargo-development-inputs + (("rust-env-logger" ,rust-env-logger) + ("rust-flate2" ,rust-flate2) + ("rust-futures-cpupool" ,rust-futures-cpupool) + ("rust-http" ,rust-http) + ("rust-httparse" ,rust-httparse) + ("rust-libc" ,rust-libc) + ("rust-num-cpus" ,rust-num-cpus) + ("rust-serde" ,rust-serde) + ("rust-serde-derive" ,rust-serde-derive) + ("rust-serde-json" ,rust-serde-json) + ("rust-time" ,rust-time)))) + (home-page "https://tokio.rs") + (synopsis + "An event-driven, non-blocking I/O platform for writing asynchronous I/O backed applications.") + (description + "An event-driven, non-blocking I/O platform for writing asynchronous I/O backed applications.") + (license license:expat))) + +(define-public rust-tokio-codec + (package + (name "rust-tokio-codec") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "tokio-codec" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "17y3hi3dd0bdfkrzshx9qhwcf49xv9iynszj7iwy3w4nmz71wl2w")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bytes" ,rust-bytes) + ("rust-futures" ,rust-futures) + ("rust-tokio-io" ,rust-tokio-io)))) + (home-page "https://tokio.rs") + (synopsis + "Utilities for encoding and decoding frames.") + (description + "Utilities for encoding and decoding frames.") + (license license:expat))) + +(define-public rust-tokio-current-thread + (package + (name "rust-tokio-current-thread") + (version "0.1.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "tokio-current-thread" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0hx4c8v88kk0ih8x5s564gsgwwf8n11kryvxm72l1f7isz51fqni")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-futures" ,rust-futures) + ("rust-tokio-executor" ,rust-tokio-executor)))) + (home-page "https://github.com/tokio-rs/tokio") + (synopsis + "Single threaded executor which manage many tasks concurrently on the current thread.") + (description + "Single threaded executor which manage many tasks concurrently on the current thread.") + (license license:expat))) + +(define-public rust-tokio-executor + (package + (name "rust-tokio-executor") + (version "0.1.8") + (source + (origin + (method url-fetch) + (uri (crate-uri "tokio-executor" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1b5n6barppmhfyb1m2cvswp7nqvyrr3lb0kk545my75hdl7fw9qg")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-crossbeam-utils" ,rust-crossbeam-utils) + ("rust-futures" ,rust-futures)) + #:cargo-development-inputs + (("rust-tokio" ,rust-tokio)))) + (home-page "https://github.com/tokio-rs/tokio") + (synopsis "Future execution primitives") + (description "Future execution primitives") + (license license:expat))) + +(define-public rust-tokio-fs + (package + (name "rust-tokio-fs") + (version "0.1.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "tokio-fs" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1bxp8585pi4j5g39ci2gkk99qnyilyhhila7cs8r6scdn0idrriz")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-futures" ,rust-futures) + ("rust-tokio-io" ,rust-tokio-io) + ("rust-tokio-threadpool" ,rust-tokio-threadpool)) + #:cargo-development-inputs + (("rust-rand" ,rust-rand) + ("rust-tempdir" ,rust-tempdir) + ("rust-tempfile" ,rust-tempfile) + ("rust-tokio" ,rust-tokio) + ("rust-tokio-codec" ,rust-tokio-codec) + ("rust-tokio-io" ,rust-tokio-io)))) + (home-page "https://tokio.rs") + (synopsis "Filesystem API for Tokio.") + (description "Filesystem API for Tokio.") + (license license:expat))) + +(define-public rust-tokio-io + (package + (name "rust-tokio-io") + (version "0.1.12") + (source + (origin + (method url-fetch) + (uri (crate-uri "tokio-io" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "09jrz1hh4h1vj45qy09y7m7m8jsy1hl6g32clnky25mdim3dp42h")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bytes" ,rust-bytes) + ("rust-futures" ,rust-futures) + ("rust-log" ,rust-log)) + #:cargo-development-inputs + (("rust-tokio-current-thread" + ,rust-tokio-current-thread)))) + (home-page "https://tokio.rs") + (synopsis + "Core I/O primitives for asynchronous I/O in Rust.") + (description + "Core I/O primitives for asynchronous I/O in Rust.") + (license license:expat))) + +(define-public rust-tokio-reactor + (package + (name "rust-tokio-reactor") + (version "0.1.9") + (source + (origin + (method url-fetch) + (uri (crate-uri "tokio-reactor" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1khip64cn63xvayq1db68kxcnhgw3cb449a4n2lbw4p1qzx6pwba")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-crossbeam-utils" ,rust-crossbeam-utils) + ("rust-futures" ,rust-futures) + ("rust-lazy-static" ,rust-lazy-static) + ("rust-log" ,rust-log) + ("rust-mio" ,rust-mio) + ("rust-num-cpus" ,rust-num-cpus) + ("rust-parking-lot" ,rust-parking-lot) + ("rust-slab" ,rust-slab) + ("rust-tokio-executor" ,rust-tokio-executor) + ("rust-tokio-io" ,rust-tokio-io) + ("rust-tokio-sync" ,rust-tokio-sync)) + #:cargo-development-inputs + (("rust-num-cpus" ,rust-num-cpus) + ("rust-tokio" ,rust-tokio) + ("rust-tokio-io-pool" ,rust-tokio-io-pool)))) + (home-page "https://tokio.rs") + (synopsis + "Event loop that drives Tokio I/O resources.") + (description + "Event loop that drives Tokio I/O resources.") + (license 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-tokio-sync + (package + (name "rust-tokio-sync") + (version "0.1.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "tokio-sync" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ryalh7dcmnz46xj1va8aaw3if6vd4mj87r67dqvrqhpyf7j8qi1")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-fnv" ,rust-fnv) + ("rust-futures" ,rust-futures)) + #:cargo-development-inputs + (("rust-env-logger" ,rust-env-logger) + ("rust-loom" ,rust-loom) + ("rust-tokio" ,rust-tokio) + ("rust-tokio-mock-task" ,rust-tokio-mock-task)))) + (home-page "https://tokio.rs") + (synopsis "Synchronization utilities.") + (description "Synchronization utilities.") + (license license:expat))) + +(define-public rust-tokio-tcp + (package + (name "rust-tokio-tcp") + (version "0.1.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "tokio-tcp" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "06a15vg8bcd33ng3h9ldzlq7wl4jsw0p9qpy7v22ls5yah3b250x")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bytes" ,rust-bytes) + ("rust-futures" ,rust-futures) + ("rust-iovec" ,rust-iovec) + ("rust-mio" ,rust-mio) + ("rust-tokio-io" ,rust-tokio-io) + ("rust-tokio-reactor" ,rust-tokio-reactor)) + #:cargo-development-inputs + (("rust-env-logger" ,rust-env-logger) + ("rust-tokio" ,rust-tokio)))) + (home-page "https://tokio.rs") + (synopsis "TCP bindings for tokio.") + (description "TCP bindings for tokio.") + (license license:expat))) + +(define-public rust-tokio-threadpool + (package + (name "rust-tokio-threadpool") + (version "0.1.15") + (source + (origin + (method url-fetch) + (uri (crate-uri "tokio-threadpool" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "06av6vdkgb48v6xaaci5agfydg9fsj9c338y01m3f7paklqh3jlh")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-crossbeam-deque" ,rust-crossbeam-deque) + ("rust-crossbeam-queue" ,rust-crossbeam-queue) + ("rust-crossbeam-utils" ,rust-crossbeam-utils) + ("rust-futures" ,rust-futures) + ("rust-log" ,rust-log) + ("rust-num-cpus" ,rust-num-cpus) + ("rust-rand" ,rust-rand) + ("rust-slab" ,rust-slab) + ("rust-tokio-executor" ,rust-tokio-executor)) + #:cargo-development-inputs + (("rust-env-logger" ,rust-env-logger) + ("rust-futures-cpupool" ,rust-futures-cpupool) + ("rust-threadpool" ,rust-threadpool)))) + (home-page "https://github.com/tokio-rs/tokio") + (synopsis + "A task scheduler backed by a work-stealing thread pool.") + (description + "This package provides a task scheduler backed by a work-stealing thread pool.") + (license license:expat))) + +(define-public rust-tokio-timer + (package + (name "rust-tokio-timer") + (version "0.2.11") + (source + (origin + (method url-fetch) + (uri (crate-uri "tokio-timer" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "03m68ainkdy3b5pf20rjyknhk2ppx35bjdc2yfj2bv80sl96h47j")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-crossbeam-utils" ,rust-crossbeam-utils) + ("rust-futures" ,rust-futures) + ("rust-slab" ,rust-slab) + ("rust-tokio-executor" ,rust-tokio-executor)) + #:cargo-development-inputs + (("rust-rand" ,rust-rand) + ("rust-tokio" ,rust-tokio) + ("rust-tokio-mock-task" ,rust-tokio-mock-task)))) + (home-page "https://github.com/tokio-rs/tokio") + (synopsis "Timer facilities for Tokio") + (description "Timer facilities for Tokio") + (license license:expat))) + +(define-public rust-tokio-udp + (package + (name "rust-tokio-udp") + (version "0.1.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "tokio-udp" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "14kfj35s465czcspayacnzlxrazfvxzhhggq1rqlljhgp1sqa9k6")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bytes" ,rust-bytes) + ("rust-futures" ,rust-futures) + ("rust-log" ,rust-log) + ("rust-mio" ,rust-mio) + ("rust-tokio-codec" ,rust-tokio-codec) + ("rust-tokio-io" ,rust-tokio-io) + ("rust-tokio-reactor" ,rust-tokio-reactor)) + #:cargo-development-inputs + (("rust-env-logger" ,rust-env-logger)))) + (home-page "https://tokio.rs") + (synopsis "UDP bindings for tokio.") + (description "UDP bindings for tokio.") + (license license:expat))) + +(define-public rust-tokio-uds + (package + (name "rust-tokio-uds") + (version "0.2.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "tokio-uds" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0i94kxma6l7iy5hd5k7nvn7v9pnyw0s54bm9mjs0lap1l0xzqzq3")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bytes" ,rust-bytes) + ("rust-futures" ,rust-futures) + ("rust-iovec" ,rust-iovec) + ("rust-libc" ,rust-libc) + ("rust-log" ,rust-log) + ("rust-mio" ,rust-mio) + ("rust-mio-uds" ,rust-mio-uds) + ("rust-tokio-codec" ,rust-tokio-codec) + ("rust-tokio-io" ,rust-tokio-io) + ("rust-tokio-reactor" ,rust-tokio-reactor)) + #:cargo-development-inputs + (("rust-tempfile" ,rust-tempfile) + ("rust-tokio" ,rust-tokio)))) + (home-page "https://github.com/tokio-rs/tokio") + (synopsis "Unix Domain sockets for Tokio") + (description "Unix Domain sockets for Tokio") + (license license:expat))) + +(define-public rust-toml + (package + (name "rust-toml") + (version "0.5.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "toml" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0fdhfyv20qn29cxq1f9j9wav92c3qhxdm71sxfyzhzpsfdw6vjdq")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-linked-hash-map" ,rust-linked-hash-map) + ("rust-serde" ,rust-serde)) + #:cargo-development-inputs + (("rust-serde-derive" ,rust-serde-derive) + ("rust-serde-json" ,rust-serde-json)))) + (home-page + "https://github.com/alexcrichton/toml-rs") + (synopsis + "A native Rust encoder and decoder of TOML-formatted files and streams. Provides implementations of the standard Serialize/Deserialize traits for TOML data to facilitate deserializing and serializing Rust structures.") + (description + "A native Rust encoder and decoder of TOML-formatted files and streams. Provides implementations of the standard Serialize/Deserialize traits for TOML data to facilitate deserializing and serializing Rust structures.") + (license (list license:asl2.0 + 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-trybuild + (package + (name "rust-trybuild") + (version "1.0.9") + (source + (origin + (method url-fetch) + (uri (crate-uri "trybuild" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0df6ipayif05xn61iavdb0dcshm9y6wmcd140pp7dl91mirygs7j")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-glob" ,rust-glob) + ("rust-lazy-static" ,rust-lazy-static) + ("rust-serde" ,rust-serde) + ("rust-serde-json" ,rust-serde-json) + ("rust-termcolor" ,rust-termcolor) + ("rust-toml" ,rust-toml)))) + (home-page "https://github.com/dtolnay/trybuild") + (synopsis + "Test harness for ui tests of compiler diagnostics") + (description + "Test harness for ui tests of compiler diagnostics") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-typenum ; guix upstreamable + (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 + "A 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 ; guix upstreamable + (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-unicode-normalization + (package + (name "rust-unicode-normalization") + (version "0.1.8") + (source + (origin + (method url-fetch) + (uri (crate-uri "unicode-normalization" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "09i49va90rvia1agvgni4gicnqv50y5zy1naw8mr8bcqifh3j4ql")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-smallvec" ,rust-smallvec)))) + (home-page + "https://github.com/unicode-rs/unicode-normalization") + (synopsis + "This crate provides functions for normalization of Unicode strings, including Canonical and Compatible Decomposition and Recomposition, as described in Unicode Standard Annex #15.") + (description + "This crate provides functions for normalization of Unicode strings, including Canonical and Compatible Decomposition and Recomposition, as described in Unicode Standard Annex #15.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-unicode-segmentation + (package + (name "rust-unicode-segmentation") + (version "1.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "unicode-segmentation" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1a9jqg7rb1yq6w2xc9jgxcs111yk5vxm9afjfvykfnrmzk6z8rqr")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-quickcheck" ,rust-quickcheck)))) + (home-page + "https://github.com/unicode-rs/unicode-segmentation") + (synopsis + "This crate provides Grapheme Cluster, Word and Sentence boundaries + according to Unicode Standard Annex #29 rules.") + (description + "This crate provides Grapheme Cluster, Word and Sentence boundaries + according to Unicode Standard Annex #29 rules.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-unicode-width ; guix upstreamable + (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-unindent ; guix upstreamable + (package + (name "rust-unindent") + (version "0.1.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "unindent" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1x21ilf78aqcq9xzb9b7i628wm10rhk0jp0chlv06rkc690l8jw3")))) + (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-url + (package + (name "rust-url") + (version "2.0.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "url" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ij81gib9z2n9r67gin545zr7xvh345pr5bydg2q2sswwr9azpbp")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-idna" ,rust-idna) + ("rust-matches" ,rust-matches) + ("rust-percent-encoding" ,rust-percent-encoding) + ("rust-serde" ,rust-serde)) + #:cargo-development-inputs + (("rust-bencher" ,rust-bencher) + ("rust-rustc-test" ,rust-rustc-test) + ("rust-serde-json" ,rust-serde-json)))) + (home-page "https://github.com/servo/rust-url") + (synopsis + "URL library for Rust, based on the WHATWG URL Standard") + (description + "URL library for Rust, based on the WHATWG URL Standard") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-utf8-ranges + (package + (name "rust-utf8-ranges") + (version "1.0.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "utf8-ranges" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ppzjsxmv1p1xfid8wwn07ciikk84k30frl28bwsny6za1vall4x")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-doc-comment" ,rust-doc-comment) + ("rust-quickcheck" ,rust-quickcheck)))) + (home-page + "https://github.com/BurntSushi/utf8-ranges") + (synopsis + "Convert ranges of Unicode codepoints to UTF-8 byte ranges.") + (description + "Convert ranges of Unicode codepoints to UTF-8 byte ranges.") + (license (list license:unlicense + license:expat)))) + +(define-public rust-uuid + (package + (name "rust-uuid") + (version "0.7.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "uuid" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0ank4xk20x3nrz926w8j9mz53bi3v8bykxmhlq2pffa8xc8wdnwh")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-byteorder" ,rust-byteorder) + ("rust-md5" ,rust-md5) + ("rust-rand" ,rust-rand-0.6) + ("rust-serde" ,rust-serde) + ("rust-sha1" ,rust-sha1) + ("rust-slog" ,rust-slog) + ("rust-winapi" ,rust-winapi)) + #:cargo-development-inputs + (("rust-bincode" ,rust-bincode) + ("rust-serde-derive" ,rust-serde-derive) + ("rust-serde-json" ,rust-serde-json) + ("rust-serde-test" ,rust-serde-test)))) + (home-page "https://github.com/uuid-rs/uuid") + (synopsis + "A library to generate and parse UUIDs.") + (description + "This package provides a library to generate and parse UUIDs.") + (license (list license:asl2.0 + license:expat)))) + +(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)))) + (home-page "https://github.com/mcgoo/vcpkg-rs") + (synopsis + "A library to find native dependencies in a vcpkg tree at build time in order to be used in Cargo build scripts.") + (description + "A library to find native dependencies in a vcpkg tree at build time in order to be used in Cargo build scripts.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-vec-map + (package + (name "rust-vec-map") + (version "0.8.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "vec_map" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "06n8hw4hlbcz328a3gbpvmy0ma46vg1lc0r5wf55900szf3qdiq5")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-serde" ,rust-serde)))) + (home-page + "https://github.com/contain-rs/vec-map") + (synopsis + "A simple map based on a vector for small integer keys") + (description + "This package provides a simple map based on a vector for small integer keys") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-version-sync + (package + (name "rust-version-sync") + (version "0.8.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "version-sync" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "01pq0ia7ak7d69c3chjgdmaaq271yrspgbzmk6wmrwb74hx3skw4")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-itertools" ,rust-itertools) + ("rust-proc-macro2" ,rust-proc-macro2) + ("rust-pulldown-cmark" ,rust-pulldown-cmark) + ("rust-regex" ,rust-regex) + ("rust-semver-parser" ,rust-semver-parser) + ("rust-syn" ,rust-syn) + ("rust-toml" ,rust-toml) + ("rust-url" ,rust-url)))) + (home-page + "https://github.com/mgeisler/version-sync") + (synopsis + "Simple crate for ensuring that version numbers in README files are + updated when the crate version changes.") + (description + "Simple crate for ensuring that version numbers in README files are + updated when the crate version changes.") + (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-wasm-bindgen + (package + (name "rust-wasm-bindgen") + (version "0.2.48") + (source + (origin + (method url-fetch) + (uri (crate-uri "wasm-bindgen" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0m8vq3jkhz04fn3wjvb7ii7xql60w32nlvr10jcskcbbh2hpzsad")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-serde" ,rust-serde) + ("rust-serde-json" ,rust-serde-json) + ("rust-wasm-bindgen-macro" + ,rust-wasm-bindgen-macro)))) + (home-page "https://rustwasm.github.io/") + (synopsis + "Easy support for interacting between JS and Rust.") + (description + "Easy support for interacting between JS and Rust.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-wasm-bindgen-backend + (package + (name "rust-wasm-bindgen-backend") + (version "0.2.48") + (source + (origin + (method url-fetch) + (uri (crate-uri "wasm-bindgen-backend" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1qxqkbjkjg4pphhcr91nk95c0gizx77dyq24mmijqnwzxxqc30jx")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bumpalo" ,rust-bumpalo) + ("rust-lazy-static" ,rust-lazy-static) + ("rust-log" ,rust-log) + ("rust-proc-macro2" ,rust-proc-macro2) + ("rust-quote" ,rust-quote) + ("rust-syn" ,rust-syn) + ("rust-wasm-bindgen-shared" + ,rust-wasm-bindgen-shared)))) + (home-page + "https://rustwasm.github.io/wasm-bindgen/") + (synopsis + "Backend code generation of the wasm-bindgen tool") + (description + "Backend code generation of the wasm-bindgen tool") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-wasm-bindgen-macro + (package + (name "rust-wasm-bindgen-macro") + (version "0.2.48") + (source + (origin + (method url-fetch) + (uri (crate-uri "wasm-bindgen-macro" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "07fqzzlbncccmnxbbkg9v4n53qc1lps5g0bb9wq3i9zp9gvm0zgh")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-quote" ,rust-quote) + ("rust-wasm-bindgen-macro-support" + ,rust-wasm-bindgen-macro-support)) + #:cargo-development-inputs + (("rust-trybuild" ,rust-trybuild) + ("rust-wasm-bindgen" ,rust-wasm-bindgen)))) + (home-page + "https://rustwasm.github.io/wasm-bindgen/") + (synopsis + "Definition of the `#[wasm_bindgen]` attribute, an internal dependency") + (description + "Definition of the `#[wasm_bindgen]` attribute, an internal dependency") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-wasm-bindgen-macro-support + (package + (name "rust-wasm-bindgen-macro-support") + (version "0.2.48") + (source + (origin + (method url-fetch) + (uri (crate-uri "wasm-bindgen-macro-support" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1mxi6rj11k67sks88pfqiqylnijxmb1s0gcgpj8mzfj5gvkqzkwm")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2) + ("rust-quote" ,rust-quote) + ("rust-syn" ,rust-syn) + ("rust-wasm-bindgen-backend" + ,rust-wasm-bindgen-backend) + ("rust-wasm-bindgen-shared" + ,rust-wasm-bindgen-shared)))) + (home-page + "https://rustwasm.github.io/wasm-bindgen/") + (synopsis + "The part of the implementation of the `#[wasm_bindgen]` attribute that is not in the shared backend crate") + (description + "The part of the implementation of the `#[wasm_bindgen]` attribute that is not in the shared backend crate") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-wasm-bindgen-shared ; guix upstreamable + (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 + (package + (name "rust-wasm-bindgen-test") + (version "0.2.48") + (source + (origin + (method url-fetch) + (uri (crate-uri "wasm-bindgen-test" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0gwslc2sfkghzzb3r0gvd8i5rig2nlqgpl1rn43y2w4mr1ci494k")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-console-error-panic-hook" + ,rust-console-error-panic-hook) + ("rust-futures" ,rust-futures) + ("rust-js-sys" ,rust-js-sys) + ("rust-scoped-tls" ,rust-scoped-tls) + ("rust-wasm-bindgen" ,rust-wasm-bindgen) + ("rust-wasm-bindgen-futures" + ,rust-wasm-bindgen-futures) + ("rust-wasm-bindgen-test-macro" + ,rust-wasm-bindgen-test-macro)))) + (home-page + "https://github.com/rustwasm/wasm-bindgen") + (synopsis + "Internal testing crate for wasm-bindgen") + (description + "Internal testing crate for wasm-bindgen") + (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 + "Internal testing macro for wasm-bindgen") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-which + (package + (name "rust-which") + (version "2.0.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "which" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0r7i793sc0xqnd2fxnqbksj7j1kx65bwn81b8z49750v4c8cnymm")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-failure" ,rust-failure) + ("rust-libc" ,rust-libc)) + #:cargo-development-inputs + (("rust-tempdir" ,rust-tempdir)))) + (home-page + "https://github.com/harryfei/which-rs.git") + (synopsis + "A Rust equivalent of Unix command \"which\". Locate installed execuable in cross platforms.") + (description + "This package provides a Rust equivalent of Unix command \"which\". Locate installed execuable in cross platforms.") + (license license:expat))) + +(define-public rust-winapi + (package + (name "rust-winapi") + (version "0.3.7") + (source + (origin + (method url-fetch) + (uri (crate-uri "winapi" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0w7pbhcl087lkggxdflfp2i92rq89ahsfdkjkv44fgmiy9m3h3pi")))) + (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-i686-pc-windows-gnu ; guix upstreamable? + (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 + "A 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 ; guix upstreamable? + (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.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "wincolor" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1fp9sxq63kw3vjjcjrl3f7px082pplzxcr3qza2n2pa6mq0xj7jn")))) + (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 + "A simple Windows specific 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-yaml-rust + (package + (name "rust-yaml-rust") + (version "0.4.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "yaml-rust" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0ka3qhqc5lvk3hz14wmsj32jhmh44blcbfrx5hfxli2gg38kv4k5")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-linked-hash-map" ,rust-linked-hash-map)) + #:cargo-development-inputs + (("rust-quickcheck" ,rust-quickcheck)))) + (home-page + "http://chyh1990.github.io/yaml-rust/") + (synopsis "The missing YAML 1.2 parser for rust") + (description + "The missing YAML 1.2 parser for rust") + (license (list license:asl2.0 + license:expat)))) diff --git a/gn/packages/genenetwork.scm b/gn/packages/genenetwork.scm index 3051dcb..553fbd7 100644 --- a/gn/packages/genenetwork.scm +++ b/gn/packages/genenetwork.scm @@ -7,6 +7,7 @@ #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix build-system gnu) + #:use-module (guix build-system cargo) #:use-module (guix build-system cmake) #:use-module (guix build-system perl) #:use-module (guix build-system python) @@ -20,6 +21,9 @@ #:use-module (gnu packages boost) #:use-module (gnu packages compression) #:use-module (gnu packages check) + #:use-module (gnu packages cran) + #:use-module (gn packages crates-io) + #:use-module (gnu packages crates-io) #:use-module (gnu packages databases) #:use-module (gnu packages cpio) #:use-module (gn packages elixir) @@ -53,6 +57,7 @@ #:use-module (gn packages javascript) #:use-module (gn packages phewas) #:use-module (gn packages python) + #:use-module (gn packages python24) #:use-module (gn packages statistics) #:use-module (srfi srfi-1)) @@ -167,6 +172,41 @@ bootstrap resampling to estimate the confidence region for the location of a putative QTL.") (license license:gpl2+)))) +(define-public python24-qtlreaper + (let ((commit "dd9c7fb2a9d5fa40b4054e1bcb7c57905d98d5f8")) + (package + (name "python24-qtlreaper") + (version (string-append "1.1-gn2-" (string-take commit 7) )) + (source (origin + (method git-fetch) + (uri (git-reference + ;; (url "https://github.com/genenetwork/genenetwork2.git") + (url "https://github.com/pjotrp/QTLreaper.git") + (commit commit))) + (file-name (string-append name "-" (string-take commit 7))) + (sha256 + (base32 + "1ldcvyk8y8w6f4ci04hzx85sknd5a3h424p5bfi4fz32sm2p7fja")))) + (build-system python-build-system) + (arguments + `(#:python ,python-2.4 + #:tests? #f)) ; no 'setup.py test' really! + (native-inputs + `(("python24-setuptools" ,python24-setuptools))) + (home-page "http://qtlreaper.sourceforge.net/") + (synopsis "Scan expression data for QTLs") + (description + "Batch-oriented version of WebQTL. It requires, as input, +expression data from members of a set of recombinant inbred lines and +genotype information for the same lines. It searches for an +association between each expression trait and all genotypes and +evaluates that association by a permutation test. For the permutation +test, it performs only as many permutations as are necessary to define +the empirical P-value to a reasonable precision. It also performs +bootstrap resampling to estimate the confidence region for the +location of a putative QTL.") + (license license:gpl2+)))) + (define-public python-qtlreaper (let ((commit "dd9c7fb2a9d5fa40b4054e1bcb7c57905d98d5f8")) (package @@ -207,6 +247,55 @@ bootstrap resampling to estimate the confidence region for the location of a putative QTL.") (license license:gpl2+)))) +(define-public rust-qtlreaper + (let ((commit "eacf6ff1c3d1cd16084a70a7a425bd77080c15de") + (revision "1")) + (package + (name "rust-qtlreaper") + (version (git-version "0.1.3" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/chfi/rust-qtlreaper.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0gr2z54i11zz94ra4w06fhfnwnmmhl5xyc8qhlk0v2qq18yfi7ji")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-rand" ,rust-rand-0.6) + ("rust-structopt" ,rust-structopt) + ("rust-rayon" ,rust-rayon-1.0) + ("rust-serde" ,rust-serde) + ("rust-serde-json" ,rust-serde-json)) + #:phases + (modify-phases %standard-phases + (add-after 'configure 'regenerate-cargo-lock + (lambda _ + (delete-file "Cargo.lock") + (invoke "cargo" "generate-lockfile"))) + (add-after 'patch-generated-file-shebangs 'patch-cargo-checksums + (lambda _ + (use-modules (guix build cargo-utils)) + (for-each + (lambda (filename) + (use-modules (guix build cargo-utils)) + (delete-file filename) + (let* ((dir (dirname filename))) + (display (string-append + "patch-cargo-checksums: generate-checksums for " + dir "\n")) + (generate-checksums dir))) + (find-files "guix-vendor" ".cargo-checksum.json")) + #t))))) + (home-page "https://github.com/chfi/rust-qtlreaper") + (synopsis "Reimplementation of genenetwork/QTLReaper in Rust") + (description "Reimplementation of genenetwork/QTLReaper in Rust") + (license #f)))) + (define-public genenetwork2 (let ((commit "1538ffd33af19e6ac922b4ee85fe701408968dfd")) (package @@ -247,7 +336,7 @@ location of a putative QTL.") ("python2-pillow" ,python2-pillow) ("python2-cssselect" ,python2-cssselect) ("python2-elasticsearch" ,python2-elasticsearch) - ("python2-htmlgen-gn" ,python2-htmlgen-gn) + ("python2-htmlgen" ,python2-htmlgen) ("python2-jinja2" ,python2-jinja2) ("python2-sqlalchemy" ,python2-sqlalchemy) ("python2-flask-sqlalchemy" ,python2-flask-sqlalchemy) diff --git a/gn/packages/graphviz.scm b/gn/packages/graphviz.scm new file mode 100644 index 0000000..81e745c --- /dev/null +++ b/gn/packages/graphviz.scm @@ -0,0 +1,45 @@ +(define-module (gn packages graphviz) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix utils) + #:use-module (gn packages python24) + #:use-module (gnu packages gl) + #:use-module (gnu packages graphviz) + #:use-module (gnu packages gtk) + #:use-module (srfi srfi-1)) + +(define-public graphviz-2.26 + (package + (inherit graphviz) + (name "graphviz") + (version "2.26.3") + (outputs '("out")) + (source + (origin + (method url-fetch) + (uri (string-append + ;; TODO: Replace with official release + "mirror://debian/pool/main/g/graphviz/" + "graphviz_" version ".orig.tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "18bzyg17ni0lpcd2g5dhan8fjv3vzkjym38jq8vm42did5p9j47l")))) + ;; TODO: unbundle libraries? + (arguments + `(#:configure-flags '("--enable-python24=yes") + ,@(substitute-keyword-arguments (package-arguments graphviz) + ((#:phases phases) + `(modify-phases ,phases + (delete 'move-docs) ; one output + (delete 'move-guile-bindings)))))) + (inputs + ;; TODO: Add(?) perl, guile@1.8, gtk@2, lua5.1, tcl8.[3-6], rsvg + `(("gdk-pixbuf" ,gdk-pixbuf) + ;("ghostscript" ,ghostscript) + ("freeglut" ,freeglut) + ("python2.4" ,python-2.4) + ,@(fold alist-delete (package-inputs graphviz) + '("libjpeg" "guile")))) + (license license:cpl1.0))) diff --git a/gn/packages/hyphy.scm b/gn/packages/hyphy.scm index e5c120a..1a34c98 100644 --- a/gn/packages/hyphy.scm +++ b/gn/packages/hyphy.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Dennis Mungai <dmngaie@gmail.com> +;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; This file is part of GNU Guix. ;;; @@ -19,28 +20,11 @@ (define-module (gn packages hyphy) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix download) - #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) #:use-module (guix packages) #:use-module (gnu packages algebra) - #:use-module (gnu packages autotools) - #:use-module (gnu packages curl) - #:use-module (gnu packages gawk) - #:use-module (gnu packages cmake) - #:use-module (gnu packages boost) - #:use-module (gnu packages glib) - #:use-module (gnu packages image) - #:use-module (gnu packages video) - #:use-module (gnu packages textutils) - #:use-module (gnu packages gl) - #:use-module (gnu packages pkg-config) - #:use-module (gnu packages maths) - #:use-module (gnu packages web) - #:use-module (gnu packages databases) - #:use-module (gnu packages python) - #:use-module (gnu packages xorg) - #:use-module (gnu packages version-control) - #:use-module (gnu packages linux)) + #:use-module (gnu packages mpi) + #:use-module (gnu packages python)) (define-public hyphy ; guix: check (package @@ -48,7 +32,7 @@ (version "2.2.6") (source (origin (method url-fetch) - (uri (string-append "https://github.com/veg/hyphy/archive/" version + (uri (string-append "https://github.com/veg/hyphy/archive/" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz")) (sha256 @@ -56,16 +40,15 @@ "00i3609nywb1xfq50p3kvfbvahql241ciq23jrf67z0yp4y5l5a9")))) (inputs `(("python" ,python-2) + ("openmpi" ,openmpi) ("fftw-openmpi" ,fftw-openmpi))) (build-system cmake-build-system) (arguments - '(#:phases (modify-phases %standard-phases - (add-after 'unpack `bootstrap - (lambda _ - (zero? (system* "make" "MPI"))))))) - (arguments - `(#:configure-flags '("-DCMAKE_BUILD_TYPE=Release") - #:tests? #f)) + '(#:make-flags '("MPI") + #:configure-flags (list "-DCMAKE_BUILD_TYPE=Release" + (string-append "-DINSTALL_PREFIX=" + (assoc-ref %outputs "out"))) + #:tests? #f)) (synopsis "hyphy: an open-source software package for the analysis of genetic sequences using techniques in phylogenetics, molecular evolution, and machine learning.") @@ -79,6 +62,3 @@ interface (MPI)) and it can be compiled as a shared library and called from other programming environments such as Python and R. ") (home-page "http://hyphy.org") (license license:expat))) - - - diff --git a/gn/packages/javascript.scm b/gn/packages/javascript.scm index 40246dd..465259a 100644 --- a/gn/packages/javascript.scm +++ b/gn/packages/javascript.scm @@ -1,203 +1,541 @@ (define-module (gn packages javascript) #:use-module ((guix licenses) #:prefix license:) - #:use-module (gnu packages base) #:use-module (gnu packages compression) - #:use-module (gnu packages) + #:use-module (gn packages web) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) - #:use-module (guix utils) - #:use-module (guix build-system gnu) #:use-module (guix build-system trivial) #:use-module (srfi srfi-1)) ;; see color-make package for great example - also install-file and invoke (define-public javascript-twitter-post-fetcher - (let ((commit "27440ffebd4c1ba7abc9aec92a581155715f2e4e")) + (let ((commit "8f9e667e917b3c581b100bf2ccc7157aadc5ff43") ; April 30, 2019 + (revision "1")) (package - (name "javascript-twitter-post-fetcher") - (version (string-append "17.0.3" "-" (string-take commit 7))) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/jasonmayes/Twitter-Post-Fetcher.git") - (commit commit))) - (file-name (string-append name "-" commit)) - (sha256 - (base32 - "159z8izf510086d8sa79k4mml6sw1gycb1r1r9ri1kyw2k9knmqa")))) - (build-system trivial-build-system) - (native-inputs `(("source" ,source))) - (arguments - `(#:modules ((guix build utils)) - #:builder - (let* ((out (assoc-ref %outputs "out")) - (name "Twitter-Post-Fetcher") - (targetdir (string-append out "/share/genenetwork2/javascript/" name)) - ) - (begin - (use-modules (guix build utils)) - (let ((source (assoc-ref %build-inputs "source")) - ) - (and - ; (mkdir-p targetdir) - (copy-recursively source targetdir) - )))))) - (home-page "http://jasonmayes.com/projects/twitterApi/") - (synopsis "Twitter post fetching") - (description "Twitter post fetching.") - (license license:expat)))) + (name "javascript-twitter-post-fetcher") + (version (git-version "18.0.2" revision commit)) ; April 3, 2018 + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jasonmayes/Twitter-Post-Fetcher.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0n935qmmd9gijkklrps8qimplbskcrijds3076zfd28afxrr96wp")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (let* ((out (assoc-ref %outputs "out")) + (targetdir (string-append out "/share/genenetwork2/javascript/" ,name)) + (source (assoc-ref %build-inputs "source"))) + (begin + (use-modules (guix build utils)) + (copy-recursively source targetdir) + (install-file (string-append source "/License.txt") + (string-append out "/share/doc/" ,name "-" ,version)))))) + (native-inputs `(("source" ,source))) + (home-page "http://jasonmayes.com/projects/twitterApi/") + (synopsis "Twitter post fetching") + (description "Allows you to get your tweets displaying on your website +using JavaScript, without using new Twitter 1.1 API.") + (license license:expat)))) (define-public javascript-cytoscape (package (name "javascript-cytoscape") - (version "2.7.8") ; ancient version + (version "3.8.1") ; July 9, 2019 (source (origin - (method url-fetch) - (uri (string-append "https://github.com/cytoscape/cytoscape.js/archive/v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/cytoscape/cytoscape.js") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 "08ks2nd7ccmdmahn151i180pvhn4vdzgpw99g4g4f2baz9pkz4w3")))) + (base32 + "1dnwvmghwq21g9ag5cj49l0wnyfc54kbsrj0byii5wbwljjg9826")))) (build-system trivial-build-system) - (native-inputs `(("gzip" ,gzip) - ("tar" ,tar) - ("source" ,source))) (arguments `(#:modules ((guix build utils)) #:builder (begin (use-modules (guix build utils)) (let* ((out (assoc-ref %outputs "out")) - (tarcmd (string-append (assoc-ref %build-inputs "tar") "/bin/tar")) (targetdir (string-append out "/share/genenetwork2/javascript/cytoscape")) - (source (assoc-ref %build-inputs "source"))) - (setenv "PATH" (string-append - (assoc-ref %build-inputs "tar") "/bin" ":" - (assoc-ref %build-inputs "gzip") "/bin")) - (invoke "tar" "xvf" (assoc-ref %build-inputs "source") "--strip-components=1") - (mkdir-p targetdir) - (copy-recursively "dist" targetdir) - )))) + (source (assoc-ref %build-inputs "source")) + (dist (string-append source "/dist"))) + (copy-recursively dist targetdir))))) + (native-inputs `(("source" ,source))) + (home-page "https://js.cytoscape.org/") + (synopsis "Graph theory (network) library for visualisation and analysis") + (description "Cytoscape.js is a fully featured graph theory library. Do you +need to model and/or visualise relational data, like biological data or social +networks? If so, Cytoscape.js is just what you need. - (home-page "https://github.com/cytoscape/cytoscape.js") - (synopsis "Cytoscape.js") - (description "Cytoscape.") +Cytoscape.js contains a graph theory model and an optional renderer to display +interactive graphs. This library was designed to make it as easy as possible +for programmers and scientists to use graph theory in their apps, whether it's +for server-side analysis in a Node.js app or for a rich user interface.") (license license:expat))) +(define-public javascript-cytoscape-2 + (package + (inherit javascript-cytoscape) + (name "javascript-cytoscape") + (version "2.7.29") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cytoscape/cytoscape.js") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "00y0h6kdkw2x6lyf9c16fxmg8iagfl77dz8nqb337v3ljifkb4z8")))))) + (define-public javascript-cytoscape-panzoom (package - ;; (inherit javascript-cytoscape) - (name "javascript-cytoscape-panzoom") - (version "2.5.2") ; ancient version - (source - (origin - (method url-fetch) - (uri (string-append "https://github.com/cytoscape/cytoscape.js-panzoom/archive/" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "154xzi693gbv89y221gkpi03k84lccmr55v5z43mn1i1s1fdhm2b")))) - (inputs `(("javascript-cytoscape" ,javascript-cytoscape))) - (build-system trivial-build-system) - (native-inputs `(("gzip" ,gzip) - ("tar" ,tar) - ("source" ,source))) - (arguments - `(#:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils)) - (let* ((out (assoc-ref %outputs "out")) - (tarcmd (string-append (assoc-ref %build-inputs "tar") "/bin/tar")) - (targetdir (string-append out "/share/genenetwork2/javascript/cytoscape-panzoom")) - (source (assoc-ref %build-inputs "source"))) - (setenv "PATH" (string-append - (assoc-ref %build-inputs "tar") "/bin" ":" - (assoc-ref %build-inputs "gzip") "/bin")) - (invoke "tar" "xvf" (assoc-ref %build-inputs "source") "--strip-components=1") - (mkdir-p targetdir) - (install-file "cytoscape-panzoom.js" targetdir) - (install-file "cytoscape.js-panzoom.css" targetdir) - )))) - (home-page "https://github.com/cytoscape/cytoscape.js") - (synopsis "Cytoscape.js") - (description "Cytoscape.") + (name "javascript-cytoscape-panzoom") + (version "2.5.3") ; August 21, 2018 + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cytoscape/cytoscape.js-panzoom") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1lzcsip6q44h14g5l4jciv5sfc7ilvg1yrd14lcji8mnq6akx16n")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let* ((out (assoc-ref %outputs "out")) + (targetdir (string-append out "/share/genenetwork2/javascript/cytoscape-panzoom")) + (source (assoc-ref %build-inputs "source"))) + (install-file (string-append source "/cytoscape-panzoom.js") targetdir) + (install-file (string-append source "/cytoscape.js-panzoom.css") targetdir))))) + (native-inputs `(("source" ,source))) + ;; TODO: Add font-awsome? + (propagated-inputs + `(("javascript-cytoscape" ,javascript-cytoscape) + ("jquery" ,web-jquery))) + (home-page "https://github.com/cytoscape/cytoscape.js-panzoom/") + (synopsis "Panzoom extension for Cytoscape.js") + (description "This extension creates a widget that lets the user pan and +zoom about a Cytoscape.js graph. This complements the built-in gesture support +for panning and zooming in Cytoscape.js by giving less savvy users a more +traditional UI -- similar to controls on map webapps.") + (license license:expat))) + +(define-public javascript-dagre + (package + (name "javascript-dagre") + (version "0.8.4") ; Dec. 9, 2018 + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/dagrejs/dagre.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1svlvd66bnskicqb7kizx57s97z9lkxssh1g5sgymw7ddfdbhy5l")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let* ((out (assoc-ref %outputs "out")) + (targetdir (string-append out "/share/genenetwork2/javascript/dagre")) + (source (assoc-ref %build-inputs "source")) + (dist (string-append source "/dist"))) + (copy-recursively dist targetdir))))) + (native-inputs `(("source" ,source))) + (home-page "https://github.com/dagrejs/dagre") + (synopsis "Directed graph layout for JavaScript") + (description "Dagre is a JavaScript library that makes it easy to lay out +directed graphs on the client-side.") + (license license:expat))) + +(define-public javascript-cytoscape-dagre + (package + (name "javascript-cytoscape-dagre") + (version "2.2.2") ; Sept. 26, 2018 + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cytoscape/cytoscape.js-dagre") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0z0sh5q5cd0iirdyhlln83vmsvwn1sbh4zdmdh8k5hld075g4q64")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let* ((out (assoc-ref %outputs "out")) + (targetdir (string-append out "/share/genenetwork2/javascript/cytoscape-dagre")) + (source (assoc-ref %build-inputs "source"))) + (install-file (string-append source "/cytoscape-dagre.js") targetdir))))) + (native-inputs `(("source" ,source))) + (propagated-inputs + `(("javascript-cytoscape" ,javascript-cytoscape) + ("javascript-dagre" ,javascript-dagre))) + (home-page "https://github.com/cytoscape/cytoscape.js-dagre") + (synopsis "Dagre layout for DAGs and trees for Cytoscape.js") + (description "The dagre layout organises the graph using a @dfn{directed +acyclic graph} (DAG) system, written by Chris Pettitt. It is especially +suitable for DAGs and trees.") (license license:expat))) -;; https://github.com/cytoscape/cytoscape.js-qtip/archive/2.7.1.tar.gz +;; Author recommends using cytoscape-popper with tippy.js since qtip2 is no longer maintained (define-public javascript-cytoscape-qtip (package - ;; (inherit javascript-cytoscape) - (name "javascript-cytoscape-qtip") - (version "2.7.1") ; ancient version - (source - (origin - (method url-fetch) - (uri (string-append "https://github.com/cytoscape/cytoscape.js-qtip/archive/" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0f2qhxi9qx5r3rcmxqgdqnwd9apnjlb4s4hckwhaqgsp6rf8lzlb")))) - (inputs `(("javascript-cytoscape" ,javascript-cytoscape))) - (build-system trivial-build-system) - (native-inputs `(("gzip" ,gzip) - ("tar" ,tar) - ("source" ,source))) - (arguments - `(#:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils)) - (let* ((out (assoc-ref %outputs "out")) - (tarcmd (string-append (assoc-ref %build-inputs "tar") "/bin/tar")) - (targetdir (string-append out "/share/genenetwork2/javascript/cytoscape-qtip")) - (source (assoc-ref %build-inputs "source"))) - (setenv "PATH" (string-append - (assoc-ref %build-inputs "tar") "/bin" ":" - (assoc-ref %build-inputs "gzip") "/bin")) - (invoke "tar" "xvf" (assoc-ref %build-inputs "source") "--strip-components=1") - (mkdir-p targetdir) - (install-file "cytoscape-qtip.js" targetdir) - )))) + (name "javascript-cytoscape-qtip") + (version "2.7.1") ; May 4, 2017 + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cytoscape/cytoscape.js-qtip") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1rdwdkx9j1lqzks8gi8ilkcbryswdx653569av4i74pv4j93v6zx")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let* ((out (assoc-ref %outputs "out")) + (targetdir (string-append out "/share/genenetwork2/javascript/cytoscape-qtip")) + (source (assoc-ref %build-inputs "source"))) + (install-file (string-append source "/cytoscape-qtip.js") targetdir))))) + (native-inputs `(("source" ,source))) + (propagated-inputs ; TODO: Add qtip + `(("javascript-cytoscape" ,javascript-cytoscape) + ("jquery" ,web-jquery))) (home-page "https://github.com/cytoscape/cytoscape.js") - (synopsis "Cytoscape.js") + (synopsis "Cytoscape.js extension that wraps the QTip jQuery library") (description "Cytoscape.") (license license:expat))) -;; https://github.com/DataTables/DataTables/archive/1.10.12.tar.gz +(define-public javascript-cytoscape-popper + (package + (name "javascript-cytoscape-popper") + (version "1.0.4") ; Feb 13, 2019 + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cytoscape/cytoscape.js-popper") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0nb59cimzp6zprk0czrfkc6id70ia2gg8drgmd55nf3yspn4b5rj")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let* ((out (assoc-ref %outputs "out")) + (targetdir (string-append out "/share/genenetwork2/javascript/cytoscape-popper")) + (source (assoc-ref %build-inputs "source"))) + (install-file (string-append source "/cytoscape-popper.js") targetdir))))) + (native-inputs `(("source" ,source))) + (propagated-inputs `(("javascript-cytoscape" ,javascript-cytoscape))) + (home-page "https://github.com/cytoscape/cytoscape.js-popper") + (synopsis "Cytoscape.js extension for integrating Popper.js") + (description "Popper.js allows you to dynamically align a div, e.g. a +tooltip, to another element in the page. This extension allows you to use +Popper.js on Cytoscape elements. This allows you to create DOM elements +positioned on or around Cytoscape elements. It is useful for tooltips and +overlays, for example.") + (license license:expat))) + +(define-public javascript-qtip2 + (package + (name "javascript-qtip2") + (version "3.0.3") ; May 11, 2016 + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/qTip2/qTip2.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "06lmmy6mqbfdgbbyjm0v2bl1ifdv03rh6vqnsmmkn1s56kd2qr62")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let* ((out (assoc-ref %outputs "out")) + (targetdir (string-append out "/share/genenetwork2/javascript/qtip2")) + (source (assoc-ref %build-inputs "source")) + (dist (string-append source "/dist"))) + (copy-recursively dist targetdir))))) + (native-inputs `(("source" ,source))) + (home-page "http://qtip2.com/") + (synopsis "Pretty powerful tooltips") + (description "The second generation of the advanced qTip plugin for the +ever popular jQuery framework.") + (license license:expat))) + (define-public javascript-datatables (package - (name "javascript-datatables") - (version "1.10.12") ; ancient version - (source - (origin - (method url-fetch) - (uri (string-append "https://github.com/DataTables/DataTables/archive/" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0blzsd2zqmvnqi6pl1xq0dr457kjrdaaa86d2cmdakls0j2mj92s")))) - (inputs `(("javascript-cytoscape" ,javascript-cytoscape))) - (build-system trivial-build-system) - (native-inputs `(("gzip" ,gzip) - ("tar" ,tar) - ("source" ,source))) - (arguments - `(#:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils)) - (let* ((out (assoc-ref %outputs "out")) - (tarcmd (string-append (assoc-ref %build-inputs "tar") "/bin/tar")) - (targetdir (string-append out "/share/genenetwork2/javascript/DataTables")) - (source (assoc-ref %build-inputs "source"))) - (setenv "PATH" (string-append - (assoc-ref %build-inputs "tar") "/bin" ":" - (assoc-ref %build-inputs "gzip") "/bin")) - (invoke "tar" "xvf" (assoc-ref %build-inputs "source") "--strip-components=1") - (mkdir-p targetdir) - (copy-recursively "media" targetdir) - )))) - (home-page "https://github.com/DataTables/") - (synopsis "Datatables") - (description "Datatables.") + (name "javascript-datatables") + (version "1.10.19") ; June 22, 2018 + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/DataTables/DataTables.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0p85xzcvfjdrs4nwj7lhnlw2dmyky0hkwy8bzjw2fdabmsrdpwyg")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let* ((out (assoc-ref %outputs "out")) + (targetdir (string-append out "/share/genenetwork2/javascript/DataTables")) + (source (assoc-ref %build-inputs "source")) + (media (string-append source "/media"))) + (copy-recursively media targetdir))))) + (native-inputs `(("source" ,source))) + (propagated-inputs `(("javascript-cytoscape" ,javascript-cytoscape))) + (home-page "https://www.datatables.net/") + (synopsis "Tables plug-in for jQuery") + (description "DataTables is a table enhancing plug-in for the jQuery +Javascript library, adding sorting, paging and filtering abilities to plain HTML +tables with minimal effort.") + (license license:expat))) + +(define-public javascript-lodash + (package + (name "javascript-lodash") + (version "4.17.15") ; July 17, 2019 + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/lodash/lodash") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1hp04cg3b59j3dpnvzixd5p6wpv34mj2pnq8wp60csv3p2s0qk4y")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let* ((out (assoc-ref %outputs "out")) + (targetdir (string-append out "/share/genenetwork2/javascript/lodash")) + (source (assoc-ref %build-inputs "source")) + (dist (string-append source "/dist"))) + (copy-recursively dist targetdir))))) + (native-inputs `(("source" ,source))) + (home-page "https://lodash.com") + (synopsis "JavaScript utility library delivering modularity, performance & extras") + (description "Lodash makes JavaScript easier by taking the hassle out of +working with arrays, numbers, objects, strings, etc. Lodash's modular methods +are great for: +@enumerate +@item Iterating arrays, objects, & strings +@item Manipulating & testing values +@item Creating composite functions +@end enumerate") + (license license:expat))) + +(define-public javascript-d3js + (package + (name "javascript-d3js") + (version "5.9.7") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/d3/d3/releases/download/v" + version "/d3.zip")) + (sha256 + (base32 "0vg1cfgg7p897bg0nhaprgr77kgvi8k38h5w6sl54nxvibvynkhc")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let* ((out (assoc-ref %outputs "out")) + (name "d3js") + (unzip (string-append (assoc-ref %build-inputs "unzip") + "/bin/unzip")) + (targetdir (string-append out "/share/genenetwork/javascript/" name)) + (source (assoc-ref %build-inputs "source"))) + (invoke unzip source) + (install-file "d3.js" targetdir) + (install-file "d3.min.js" targetdir) + (install-file "LICENSE" (string-append out "/share/doc/d3js-" ,version)))))) + (native-inputs + `(("source" ,source) + ("unzip" ,unzip))) + (home-page "https://d3js.org/") + (synopsis "JavaScript library for visualizing data") + (description "D3.js is a JavaScript library for manipulating documents based +on data. D3 helps you bring data to life using HTML, SVG, and CSS. D3's +emphasis on web standards gives you the full capabilities of modern browsers +without tying yourself to a proprietary framework, combining powerful +visualization components and a data-driven approach to DOM manipulation.") + (license license:bsd-3))) + +(define-public javascript-d3js-4 + (package + (inherit javascript-d3js) + (version "4.13.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/d3/d3/releases/download/v" + version "/d3.zip")) + (sha256 + (base32 "06yqgyvkpvh0lg7rsh4hjzq72fylkd8ziqcf7yhgy510x0mqla19")))) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let* ((out (assoc-ref %outputs "out")) + (name "d3js") + (unzip (string-append (assoc-ref %build-inputs "unzip") + "/bin/unzip")) + (targetdir (string-append out "/share/genenetwork/javascript/" name)) + (source (assoc-ref %build-inputs "source"))) + (invoke unzip source) + (install-file "d3.js" targetdir) + (install-file "d3.min.js" targetdir) + (install-file "LICENSE" (string-append out "/share/doc/d3js-" ,version)))))))) + +(define-public javascript-d3js-multi + (package + (name "javascript-d3js-multi") + (version "1.0.1") ; Feb, 21, 2017 + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/d3/d3-selection-multi/releases" + "/download/v" version "/d3-selection-multi.zip")) + (sha256 + (base32 "0k89n15ggpzsvf7qflmsagkrrhigk6nksdyks0ccx3453gizbb4q")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let* ((out (assoc-ref %outputs "out")) + (name "d3js-multi") + (unzip (string-append (assoc-ref %build-inputs "unzip") + "/bin/unzip")) + (targetdir (string-append out "/share/genenetwork/javascript/" name)) + (source (assoc-ref %build-inputs "source"))) + (invoke unzip source) + (install-file "d3-selection-multi.js" targetdir) + (install-file "d3-selection-multi.min.js" targetdir) + (install-file "LICENSE" (string-append out "/share/doc/" ,name "-" ,version)))))) + (native-inputs + `(("source" ,source) + ("unzip" ,unzip))) + (home-page "https://d3js.org/") + (synopsis "Multi-value syntax for d3-selection and d3-transition") + (description "This module adds multi-value syntax to selections and +transitions, allowing you to set multiple attributes, styles or properties +simultaneously with more concise syntax.") + (license license:bsd-3))) + +(define-public javascript-canvas-toblob + (let ((commit "f1a01896135ab378aa5c0118eadd81da55e698d8") ; May 26, 2016 + (revision "1")) + (package + (name "javascript-canvas-toblob") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/eligrey/canvas-toBlob.js") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1ly7qnavf9h26sgynccf00hf2ybdwyn0kvnl7i3milz3big02qdm")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let* ((out (assoc-ref %outputs "out")) + (name "canvas-toblob") + (targetdir (string-append out "/share/genenetwork/javascript/" name)) + (source (assoc-ref %build-inputs "source"))) + (install-file (string-append source "/canvas-toBlob.js") targetdir) + (install-file (string-append source "/LICENSE.md") + (string-append out "/share/doc/" ,name "-" ,version)))))) + (native-inputs + `(("source" ,source))) + (home-page "https://github.com/eligrey/canvas-toBlob.js/") + (synopsis "canvas.toBlob() implementation") + (description "canvas-toBlob.js implements the standard HTML5 +@code{canvas.toBlob()} and @code{canvas.toBlobHD()} methods in browsers that do +not natively support it.") + (license license:expat)))) + +(define-public javascript-filesaver + (package + (name "javascript-filesaver") + (version "2.0.2") ; May 14, 2019 + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/eligrey/FileSaver.js") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0ij3vmv8n2ia9kbyih3g479rj68xrsiq7l9s29vv1bdmmk41lpf3")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let* ((out (assoc-ref %outputs "out")) + (targetdir (string-append out "/share/genenetwork2/javascript/filesaver")) + (source (assoc-ref %build-inputs "source")) + (dist (string-append source "/dist"))) + (copy-recursively dist targetdir))))) + (native-inputs `(("source" ,source))) + (home-page "https://github.com/eligrey/FileSaver.js") + (synopsis "HTML5 saveAs() FileSaver implementation") + (description "FileSaver.js is the solution to saving files on the +client-side, and is perfect for web apps that generates files on the client.") (license license:expat))) diff --git a/gn/packages/maths.scm b/gn/packages/maths.scm new file mode 100644 index 0000000..320d83c --- /dev/null +++ b/gn/packages/maths.scm @@ -0,0 +1,132 @@ +(define-module (gn packages maths) + #:use-module (gnu packages) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix utils) + #:use-module (gnu packages gperf) + #:use-module (gnu packages maths) + #:use-module (gnu packages texinfo) + #:use-module (srfi srfi-1)) + +(define-public octave-3.4.3 + (package + (inherit octave-cli) + (name "octave") + (version "3.4.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://gnu/octave/octave-" + version ".tar.gz")) + (sha256 + (base32 + "04lh3crzwpramvfvxq34n2r29pmfl37rssj853nz9a3pyq7wrrir")) + (patches (search-patches "gnulib-gets.patch" + "octave-nested-class.patch")))) + (arguments + (substitute-keyword-arguments (package-arguments octave-cli) + ((#:configure-flags cf) + `(cons "--enable-docs=no" ; docs fail to build + ,cf)) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'unpack 'patch-configure-script + (lambda _ + (substitute* '("configure" + "src/DLD-FUNCTIONS/__delaunayn__.cc" + "src/DLD-FUNCTIONS/__voronoi__.cc" + "src/DLD-FUNCTIONS/convhulln.cc") + (("qhull/qhull.h") "libqhull/libqhull.h") + (("qhull/qhull_a.h") "libqhull/qhull_a.h")) + (copy-file (assoc-ref %build-inputs "fseeko.c") + "libgnu/fseeko.c") + #t)) + (replace 'configure-makeinfo + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/help.cc" + (("\"makeinfo\"") + (string-append + "\"" (assoc-ref inputs "texinfo") "/bin/makeinfo\""))) + #t)))))) + (native-inputs + `(("fseeko.c" ,(origin + (method url-fetch) + (uri "https://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=blob_plain;f=lib/fseeko.c;hb=d40db5e23197dcd105fa3c0dc6633b51af3c08d9") + (file-name "gnulib-fseeko.c-0.0.0-1-d40db5e23") + (sha256 + (base32 + "1ifa5200pskgdzd6qi4nicwyjjkc415bs403mjrrzv8cdrf6hp3k")))) + ,@(fold alist-delete (package-native-inputs octave-cli) + '("lzip")))) + (inputs + `(("glpk" ,glpk-4.48) + ("gperf" ,gperf) + ,@(fold alist-delete (package-inputs octave-cli) + ;; suitesparse provides cholmod_common_struct, may need older version + '("glpk" "suitesparse")))))) + +;; 4.49 is the last version with _glp_lpx_simplex exported +;; 4.49 is the version where all lpx_ routines were removed +(define-public glpk-4.48 + (package + (inherit glpk) + (version "4.48") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://gnu/glpk/glpk-" + version ".tar.gz")) + (sha256 + (base32 + "1cddqsdcfwavdklg7hsfifppsry81dx3c17wzk6r22mjjpwcihmb")))))) + +(define-public suitesparse-3.5.0 + (package + (inherit suitesparse) + (version "3.5.0") + (source + (origin + (method url-fetch) + (uri (string-append + "http://faculty.cse.tamu.edu/davis/SuiteSparse/SuiteSparse-" + version ".tar.gz")) + (sha256 + (base32 + "0npn7c1j5qag5m2r0cmh3bwc42c1jk8k2yg2cfyxlcrp0h7wn4rc")))) + (arguments + (substitute-keyword-arguments (package-arguments suitesparse) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'unpack 'unpack-metis + (lambda* (#:key inputs #:allow-other-keys) + (let ((metis (assoc-ref inputs "metis-source"))) + (invoke "tar" "xvf" metis) + ;; backported from 4.0.3 + (substitute* (find-files "metis-4.0") + (("log2") "ilog2"))) + #t)) + (add-after 'unpack 'fix-source + (lambda _ + (substitute* "UFconfig/Makefile" + (("Lib/") "")) + ;; octave-3.4.3 expects it to be built with -fPIC + (substitute* "UFconfig/UFconfig.mk" + (("-O3") "-O3 -fPIC")) + #t)) + (add-before 'install 'prepare-directories + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (mkdir-p (string-append out "/lib")) + (mkdir-p (string-append out "/include"))) + #t)))))) + (native-inputs + `(("metis-source" ,(origin + (method url-fetch) + (uri "http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/OLD/metis-4.0.1.tar.gz") + (sha256 + (base32 + "0lnkdfdrmmyy67h356bgdc06acvmcr26av9kdvqlws12znrr5iv0")))) + ,@(package-native-inputs suitesparse))) + (inputs + `(,@(fold alist-delete (package-inputs suitesparse) + '("metis")))))) diff --git a/gn/packages/python.scm b/gn/packages/python.scm index 651a635..ee32a61 100644 --- a/gn/packages/python.scm +++ b/gn/packages/python.scm @@ -30,6 +30,7 @@ #:use-module (gnu packages rdf) #:use-module (gnu packages readline) #:use-module (gnu packages statistics) + #:use-module (gnu packages tcl) #:use-module (gnu packages tex) #:use-module (gnu packages texinfo) #:use-module (gnu packages time) @@ -134,31 +135,75 @@ functions.") (license license:expat)) ) +(define-public python-plotly-3.2.1 + (package + (inherit python-plotly) + (name "python-plotly") + (version "3.2.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "plotly" version)) + (sha256 + (base32 + "1ay1plgsckfi7fddl99kvbcx5nifh48ahvszkqvb4d7r008m8sxk")))) + (build-system python-build-system) + (propagated-inputs + `(("python-decorator" ,python-decorator) + ("python-nbformat" ,python-nbformat) + ("python-pytz" ,python-pytz) + ("python-requests" ,python-requests) + ("python-retrying" ,python-retrying) + ("python-six" ,python-six))))) + +(define-public python-retrying + (package + (name "python-retrying") + (version "1.3.3") + (source + (origin + ;; pypi release doesn't have test library + (method git-fetch) + (uri (git-reference + (url "https://github.com/rholder/retrying") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1kqipkbdaw5s1xg0gi29awm03vp1x8dz24pjidgxagvkvrjpzhi7")))) + (build-system python-build-system) + (propagated-inputs + `(("python-six" ,python-six))) + (home-page "https://github.com/rholder/retrying") + (synopsis "General-purpose retrying library") + (description "Retrying is a general-purpose retrying library, written in +Python, to simplify the task of adding retry behavior to just about anything. +The simplest use case is retrying a flaky function whenever an Exception occurs +until a value is returned.") + (license license:asl2.0))) + (define-public python-bagit; guix candidate -(package - (name "python-bagit") - (version "1.7.0") - (source - (origin - (method url-fetch) - (uri "https://files.pythonhosted.org/packages/ee/11/7a7fa81c0d43fb4d449d418eba57fc6c77959754c5c2259a215152810555/bagit-1.7.0.tar.gz") - (sha256 - (base32 + (package + (name "python-bagit") + (version "1.7.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "bagit" version)) + (sha256 + (base32 "1m6y04qmig0b5hzb35lnaw3d2yfydb7alyr1579yblvgs3da6j7j")))) - (build-system python-build-system) - (inputs + (build-system python-build-system) + (inputs `(("python-setuptools-scm" ,python-setuptools-scm) - ("python-coverage" ,python-coverage) - ("python-mock" ,python-mock) - )) - (arguments `(#:tests? #f)) ;; No tests. - (home-page "https://pypi.python.org/pypi/bagit") - (synopsis - "Python bagit.") - (description - "Python bagit.") - (license license:gpl2)) -) + ("python-coverage" ,python-coverage) + ("python-mock" ,python-mock))) + (arguments `(#:tests? #f)) ;; No tests. + (home-page "https://pypi.python.org/pypi/bagit") + (synopsis "Create and validate BagIt packages") + (description + "Create and validate BagIt packages") + (license license:gpl2))) (define-public python-prov ; guix candidate (package @@ -188,44 +233,43 @@ functions.") (license license:expat))) (define-public python-typing-extensions; guix candidate -(package - (name "python-typing-extensions") - (version "3.6.6") - (source - (origin - (method url-fetch) - (uri "https://files.pythonhosted.org/packages/fc/e6/3d2f306b12f01bde2861d67458d32c673e206d6fcc255537bf452db8f80c/typing_extensions-3.6.6.tar.gz") - (sha256 - (base32 + (package + (name "python-typing-extensions") + (version "3.6.6") + (source + (origin + (method url-fetch) + (uri (pypi-uri "typing_extensions" version)) + (sha256 + (base32 "07vhddjnd3mhdijyc3s0mwi9jgfjp3rr056nxqiavydbvkrvgrsi")))) - (build-system python-build-system) - (home-page "https://pypi.python.org/pypi/typing_extensions") - (synopsis - "Python typing_extensions.") - (description - "Python typing_extensions.") - (license license:gpl2)) + (build-system python-build-system) + (home-page "https://pypi.python.org/pypi/typing_extensions") + (synopsis "Python typing_extensions.") + (description + "Python typing_extensions.") + (license license:gpl2)) ) (define-public python-subprocess32 ; guix candidate -(package - (name "python-subprocess32") - (version "0.2.9") - (source - (origin - (method url-fetch) - (uri "https://files.pythonhosted.org/packages/be/2b/beeba583e9877e64db10b52a96915afc0feabf7144dcbf2a0d0ea68bf73d/subprocess32-3.5.3.tar.gz") - (sha256 - (base32 + (package + (name "python-subprocess32") + (version "3.5.3") + (source + (origin + (method url-fetch) + (uri (pypi-uri "subprocess32" version)) + (sha256 + (base32 "1hr5fan8i719hmlmz73hf8rhq74014w07d8ryg7krvvf6692kj3b")))) - (build-system python-build-system) - (arguments `(#:tests? #f)) ;; No tests. - (home-page "https://pypi.python.org/pypi/subprocess32") - (synopsis - "Python subprocess32.") - (description - "Python subprocess32.") - (license license:gpl2)) + (build-system python-build-system) + (arguments `(#:tests? #f)) ;; No tests. + (home-page "https://pypi.python.org/pypi/subprocess32") + (synopsis + "Python subprocess32.") + (description + "Python subprocess32.") + (license license:gpl2)) ) (define-public python-inotify ; guix candidate @@ -447,30 +491,25 @@ Python 3 support.") (package-with-python2 python-avro)) (define-public python-shellescape ; guix ready -(package - (name "python-shellescape") - (version "3.4.1") - (source - (origin - (method url-fetch) - (uri (string-append - "https://pypi.python.org/packages/source/s/shellescape/shellescape-" - version - ".tar.gz")) - (sha256 - (base32 + (package + (name "python-shellescape") + (version "3.4.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "shellescape" version)) + (sha256 + (base32 "0n5ky1b2vw2y0d4xl3qybyp2rk0gq5frjs8nr8ak6mgj2fyb4676")))) - (build-system python-build-system) - (inputs - `(("python-setuptools" ,python-setuptools))) - (home-page - "https://github.com/chrissimpkins/shellescape") - (synopsis - "Shell escape a string to safely use it as a token in a shell command (backport of Python shlex.quote for Python versions 2.x & < 3.3)") - (description - "Shell escape a string to safely use it as a token in a shell command (backport of Python shlex.quote for Python versions 2.x & < 3.3)") - (license expat)) -) + (build-system python-build-system) + (native-inputs + `(("python-setuptools" ,python-setuptools))) + (home-page "https://github.com/chrissimpkins/shellescape") + (synopsis + "Shell escape a string to safely use it as a token in a shell command (backport of Python shlex.quote for Python versions 2.x & < 3.3)") + (description + "Shell escape a string to safely use it as a token in a shell command (backport of Python shlex.quote for Python versions 2.x & < 3.3)") + (license license:expat))) (define-public python2-shellescape (package-with-python2 python-shellescape)) @@ -533,59 +572,68 @@ project)") (define-public python2-pil1 ; guix obsolete (package (name "python2-pil1") - (version "1.1.6") + (version "1.1.7") (source (origin (method url-fetch) - (uri (string-append - "http://files.genenetwork.org/software/contrib/Imaging-" - version "-gn.tar.gz")) + (uri (string-append "http://effbot.org/downloads/Imaging-" + version ".tar.gz")) (sha256 (base32 - "0jhinbcq2k899c76m1jc5a3z39k6ajghiavpzi6991hbg6xhxdzg")) + "04aj80jhfbmxqzvmq40zfi4z3cw6vi01m3wkk6diz3lc971cfnw9")) (modules '((guix build utils))) (snippet - ;; Adapt to newer freetype. As the package is unmaintained upstream, - ;; there is no use in creating a patch and reporting it. - '(substitute* "_imagingft.c" - (("freetype/") - "freetype2/freetype/"))))) + ;; Adapt to newer freetype and lcms. As the package is unmaintained + ;; upstream, there is no use in creating a patch and reporting it. + '(begin (substitute* "_imagingft.c" + (("freetype/") + "freetype2/freetype/")) + (substitute* '("setup.py" + "_imagingcms.c") + (("lcms.h") "lcms2.h")))))) (build-system python-build-system) (inputs - `(("freetype" ,freetype) - ("libjpeg" ,libjpeg) - ("libtiff" ,libtiff) - ("python2-setuptools" ,python2-setuptools) - ("zlib" ,zlib))) + `(("freetype" ,freetype) + ("lcms" ,lcms) ; not fully supported + ("libjpeg" ,libjpeg) + ("libtiff" ,libtiff) + ("tcl" ,tcl) + ("zlib" ,zlib))) (arguments ;; Only the fork python-pillow works with Python 3. `(#:python ,python-2 #:tests? #f ; no check target + #:use-setuptools? #f #:phases - (alist-cons-before - 'build 'configure - ;; According to README and setup.py, manual configuration is - ;; the preferred way of "searching" for inputs. - ;; lcms is not found, TCL_ROOT refers to the unavailable tkinter. - (lambda* (#:key inputs #:allow-other-keys) - (let ((jpeg (assoc-ref inputs "libjpeg")) - (zlib (assoc-ref inputs "zlib")) - (tiff (assoc-ref inputs "libtiff")) - (freetype (assoc-ref inputs "freetype"))) - (substitute* "setup.py" - (("JPEG_ROOT = None") - (string-append "JPEG_ROOT = libinclude(\"" jpeg "\")")) - (("ZLIB_ROOT = None") - (string-append "ZLIB_ROOT = libinclude(\"" zlib "\")")) - (("TIFF_ROOT = None") - (string-append "TIFF_ROOT = libinclude(\"" tiff "\")")) - (("FREETYPE_ROOT = None") - (string-append "FREETYPE_ROOT = libinclude(\"" - freetype "\")"))))) - %standard-phases))) + (modify-phases %standard-phases + (add-after 'unpack 'link-libraries + (lambda* (#:key inputs #:allow-other-keys) + (let ((freetype (assoc-ref inputs "freetype")) + (jpeg (assoc-ref inputs "libjpeg")) + (lcms (assoc-ref inputs "lcms")) + (tcl (assoc-ref inputs "tcl")) + (tiff (assoc-ref inputs "libtiff")) + (zlib (assoc-ref inputs "zlib"))) + (substitute* "setup.py" + (("FREETYPE_ROOT .*") + (string-append "FREETYPE_ROOT = libinclude(\"" freetype "\")\n")) + (("JPEG_ROOT .*") + (string-append "JPEG_ROOT = libinclude(\"" jpeg "\")\n")) + (("LCMS_ROOT .*") + (string-append "LCMS_ROOT = libinclude(\"" lcms "\")\n")) + (("^TCL_ROOT .*") + (string-append "TCL_ROOT = libinclude(\"" tcl "\")\n")) + (("TIFF_ROOT .*") + (string-append "TIFF_ROOT = libinclude(\"" tiff "\")\n")) + (("ZLIB_ROOT .*") + (string-append "ZLIB_ROOT = libinclude(\"" zlib "\")\n")))) + #t))))) (home-page "http://www.pythonware.com/products/pil/") (synopsis "Python Imaging Library") - (description "The Python Imaging Library (PIL) adds image processing -capabilities to the Python interpreter.") + (description "The @dfn{Python Imaging Library} (PIL) adds image processing +capabilities to your Python interpreter. This library supports many file +formats, and provides powerful image processing and graphics capabilities. + +NOTE: This package is superseded by python-pillow") (license (license:x11-style "file://README" "See 'README' in the distribution.")))) @@ -618,6 +666,34 @@ version ".tgz")) (description #f) (license #f))) +(define-public python2-piddle-1.0.15 + (package + (name "python2-piddle") + (version "1.0.15") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/piddle/piddle/" + version "/piddle-" version ".zip")) + (sha256 + (base32 + "0jaxfsrcgqb5cf2wznxnpdws5khlrdixmg85lrhq2zl9cy6dfdya")))) + (build-system python-build-system) + (arguments + `(#:python ,python-2 + #:use-setuptools? #f + #:tests? #f)) ; tests are interactive + (native-inputs + `(("unzip" ,unzip))) + (propagated-inputs + `(("python2-pil" ,python2-pil1))) + (home-page "http://www.strout.net/info/coding/python/piddle/") + (synopsis "Plug-In Drawing, Does Little Else") + (description "PIDDLE is designed for vector graphics -- i.e., drawing of +primitives such as lines and ellipses, rather than manipulation of individual +pixels.") + (license license:gpl2+))) + (define-public python2-parallel ; guix fix number of things (package (name "python2-parallel") @@ -695,7 +771,7 @@ the older versions.") (define-public python-htmlgen (package (name "python-htmlgen") - (version "1.0.0") + (version "1.2.2") (source (origin (method url-fetch) @@ -704,8 +780,10 @@ the older versions.") version ".tar.gz")) (sha256 (base32 - "1rwgqxhmc93l60wf4ay7ph619710kvyp73s22i0snjpm5i0bhc46")))) + "0w3pcvm68jfdhnsxwwwifwhqqj9kqg3195b52hqd23qza480xilx")))) (build-system python-build-system) + (propagated-inputs + `(("python-typing" ,python-typing))) (arguments `(#:tests? #f)) (synopsis "Python HTML 5 Generator") @@ -713,6 +791,9 @@ the older versions.") (home-page "https://github.com/srittau/python-htmlgen") (license license:expat))) +(define-public python2-htmlgen + (package-with-python2 python-htmlgen)) + (define-public python-version (let ((commit "e5aadc720bb74c535f29e5a2de5cd9697efe8d7c")) (package @@ -730,7 +811,6 @@ the older versions.") (base32 "1rc8kf72v180qlygkh1y0jwv2fxqpx7n97bqfhbwgnn31iwai9g3")))) (build-system python-build-system) - (build-system python-build-system) (propagated-inputs `( ("python-more-itertools" ,python-more-itertools) @@ -784,3 +864,138 @@ the older versions.") "arcp (Archive and Package) URI parser and generator") (license license:asl2.0)) ) + +(define-public python2-pp + (package + (name "python2-pp") + (version "1.6.1") + (source + (origin + (method url-fetch) + (uri (string-append + "http://www.parallelpython.com/downloads/pp/pp-" version ".zip")) + (sha256 + (base32 + "0qkxcyclz3vgwpl6xvsrg76q59dj0wwy8qx15567bafv659ypyb1")))) + (build-system python-build-system) + (arguments + `(#:python ,python-2 + #:use-setuptools? #f + #:tests? #f)) ; no tests + (native-inputs + `(("unzip" ,unzip))) + (home-page "http://www.parallelpython.com") + (synopsis "Parallel and distributed programming for Python") + (description "PP is a python module which provides mechanism for parallel +execution of python code on SMP (systems with multiple processors or cores) and +clusters (computers connected via network).") + (license license:bsd-3))) + +(define GN1-thirdparty-sources + (origin + (method url-fetch/tarbomb) + ;; ipfs get QmTPwYT2pehdxdG1TiHEzVzLgbeuhJ4utXShuz3twA84AB + (uri "file:///gnu/store/p33a2sh3x2nhiiphdw9nly80njg6p8fi-thirdparty.tgz") + (file-name "GN1-thirdparty") + (sha256 + (base32 + "0nnp6g412hjfrcn3k2yrfb14sxv06k0149whc7qmv678nyj5zhfa")))) + +(define-public python2-json-GN1 + (package + (name "python2-json-GN1") + (version "GN1") + (source GN1-thirdparty-sources) + (build-system python-build-system) + (arguments + `(#:python ,python-2 + #:phases + (modify-phases %standard-phases + (delete 'build) + (delete 'check) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (sitedir (string-append out "/lib/python2.7/site-packages/json/"))) + (mkdir-p sitedir) + (copy-recursively "thirdparty/json" sitedir) + #t)))))) + (home-page "") + (synopsis "") + (description "") + (license license:lgpl2.1+))) + +(define-public python2-pyx-GN1 + (package + (name "python2-pyx-GN1") + (version "0.8") + (source GN1-thirdparty-sources) + (build-system python-build-system) + (arguments + `(#:python ,python-2 + #:phases + (modify-phases %standard-phases + (delete 'build) + (delete 'check) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (sitedir (string-append out "/lib/python2.7/site-packages/pyx/"))) + (mkdir-p sitedir) + (copy-recursively "thirdparty/pyx" sitedir) + #t)))))) + (home-page "") + (synopsis "") + (description "") + (license license:gpl2+))) + +(define-public python2-pyxlwriter + (package + (name "python2-pyxlwriter") + (version "0.4a3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/pyxlwriter/pyxlwriter/" + version "/pyXLWriter-" version ".zip")) + (sha256 + (base32 + "1kfsi6la9y53rwayszgayfmkjfknpp650v69a0hwd1fcfk1df735")))) + (build-system python-build-system) + (arguments + `(#:python ,python-2 + #:use-setuptools? #f + #:tests? #f)) ; no tests + (native-inputs + `(("unzip" ,unzip))) + (home-page "https://sourceforge.net/projects/pyxlwriter/") + (synopsis "Python library for generating Excel compatible spreadsheets") + (description "PyXLWriter is a Python library for generating Excel compatible +spreadsheets. It's a port of John McNamara's Perl @code{Spreadsheet::WriteExcel} +module version 1.01 to Python. It allows writing of Excel compatible +spreadsheets without the need for COM objects.") + (license license:lgpl2.1+))) + +(define-public python2-svg-GN1 + (package + (name "python2-svg-GN1") + (version "1.0") + (source GN1-thirdparty-sources) + (build-system python-build-system) + (arguments + `(#:python ,python-2 + #:phases + (modify-phases %standard-phases + (delete 'build) + (delete 'check) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (sitedir (string-append out "/lib/python2.7/site-packages/svg/"))) + (mkdir-p sitedir) + (copy-recursively "thirdparty/svg" sitedir) + #t)))))) + (home-page "") + (synopsis "") + (description "") + (license license:bsd-4))) diff --git a/gn/packages/python24.scm b/gn/packages/python24.scm new file mode 100644 index 0000000..cc5e61c --- /dev/null +++ b/gn/packages/python24.scm @@ -0,0 +1,520 @@ +(define-module (gn packages python24) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix utils) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (guix build-system python) + #:use-module (gn packages python) + #:use-module (gnu packages compression) + #:use-module (gnu packages fontutils) + #:use-module (gnu packages ghostscript) + #:use-module (gnu packages image) + #:use-module (gnu packages maths) + #:use-module (gnu packages python) + #:use-module (gnu packages python-xyz) + #:use-module (gnu packages tcl) + #:use-module (srfi srfi-1)) + +;; TODO: Check against 'guix lint -c cve python2.4' list: +;; CVE-2019-9740, CVE-2019-9947, CVE-2019-9948, CVE-2018-1060, CVE-2018-1061, +;; CVE-2014-9365, CVE-2012-0845, CVE-2012-1150, CVE-2011-1521, CVE-2011-4940, +;; CVE-2010-3492, CVE-2008-5031, CVE-2008-5983 +(define-public python-2.4 + (package + (inherit python-2) + (name "python2.4") + (version "2.4.6") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.python.org/ftp/python/" + version "/Python-" version ".tar.bz2")) + (sha256 + (base32 + "021y88a4ki07dgq19yhg6zfvmncfiz7h5b2255438i9zmlwl246s")))) + (outputs '("out")) + (arguments + (substitute-keyword-arguments (package-arguments python-2) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'unpack 'create-setup-local + (lambda* (#:key inputs #:allow-other-keys) + (let ((zlib (assoc-ref inputs "zlib")) + (tcl (assoc-ref inputs "tcl")) + (tk (assoc-ref inputs "tk")) + (gdbm (assoc-ref inputs "gdbm")) + (read (assoc-ref inputs "readline")) + (ssl (assoc-ref inputs "openssl"))) + (with-output-to-file "Modules/Setup.local" + (lambda _ + (format #t "readline readline.c -I~a/include -L~a/lib -lreadline~@ + _ssl _ssl.c -DUSE_SSL -I$~a/include/openssl -L~a/lib -lssl -lcrypto~@ + _tkinter _tkinter.c tkappinit.c -DWITH_APPINIT -L~a/lib -I~a/include -L~a/lib -I~a/include -ltk~a -ltcl~a~@ + gdbm gdbmmodule.c -I~a/include -L~a/lib -lgdbm~@ + zlib zlibmodule.c -I~a/include -L~a/lib -lz~%" +read read ssl ssl tcl tcl tk tk ,(version-major+minor (package-version tcl)) ,(version-major+minor (package-version tcl)) gdbm gdbm zlib zlib)))) + #t)) + (add-before 'check 'delete-failing-tests + (lambda _ + (for-each + (lambda (file) + (delete-file (string-append "Lib/test/" file))) + '("test_socket.py" "test_anydbm.py" "test_whichdb.py" "test_zlib.py")) + #t)) + (add-after 'check 'find-netinet-in-h + (lambda* (#:key inputs #:allow-other-keys) + (let ((glibc (assoc-ref inputs "libc"))) + (substitute* (find-files "Lib/plat-generic" ".*") + (("/usr/include/netinet/in.h") + (string-append glibc "/include/netinet/in.h"))) + #t))) + (delete 'move-tk-inter))))) + (native-search-paths + (list (search-path-specification + (variable "PYTHONPATH") + (files '("lib/python2.4/site-packages"))))) + (properties '((cpe-name . "python"))))) + +(define (default-python2.4) + "Return the default Python-2.4 package." + ;; Lazily resolve the binding. + (let ((python (resolve-interface '(gn packages python24)))) + (module-ref python 'python-2.4))) + +(define package-with-python24 + ((@@ (guix build-system python) package-with-explicit-python) (delay (default-python2.4)) + "python-" "python24-" + #:variant-property 'python24-variant)) + +(define (strip-python24-variant p) + (package + (inherit p) + (properties (alist-delete 'python24-variant (package-properties p))))) + +(define-public python24-htmlgen + (package + (name "python24-htmlgen") + (version "0.9") + ;(version "0.99") + (source + (origin + (method url-fetch) + (uri (pypi-uri "htmlgen" version)) + (sha256 + (base32 + "14xzjgwdqgs1vs5mq7mg3w48snvgb77yywv64mg8k6qhapmnafdw")))) + ;"1kbn6jcbf2mpb9f8hm5gcsipy7habqrq4794lpdbzm5mqxlclmnl")))) + (build-system python-build-system) + (arguments + `(#:python ,python-2.4)) + (native-inputs + `(("python24-setuptools" ,python24-setuptools))) + (propagated-inputs + `(("python24-asserts" ,python24-asserts))) + (home-page "https://github.com/srittau/python-htmlgen") + (synopsis "Python HTML 5 Generator") + (description "Python-htmlgen is a library to generate HTML from classes.") + (license license:expat))) + +(define-public python24-setuptools + (package + (inherit python-setuptools) + (name "python24-setuptools") + (version "1.4.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "setuptools" version)) + (sha256 + (base32 + "1gfvalhvzcskwj85r3lh9sx190f8k807vz5zln8agaw31ak8cf96")))) + (arguments + `(#:python ,python-2.4 + #:tests? #f)))) ; skip the tests + +(define-public python24-asserts + (package + (name "python24-asserts") + (version "0.6") + (source + (origin + (method url-fetch) + (uri (pypi-uri "asserts" version)) + (sha256 + (base32 + "05ffy111giwv6sqx97vzzsvcra0gxzx2ilv16gyw135v583frxbn")))) + (build-system python-build-system) + (arguments + `(#:python ,python-2.4)) + (native-inputs + `(("python24-setuptools" ,python24-setuptools))) + (home-page "https://github.com/srittau/python-asserts") + (synopsis "Stand-alone Assertions for Python") + (description "Stand-alone Assertions for Python") + (license license:expat))) + +(define-public python24-pyx + (package + (name "python24-pyx") + (version "0.12.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pyx" version)) + (sha256 + (base32 + "13kyhqx19rw7dlv2xapdb68j8l9laq6nrpgkyd6549qwidmb4dz8")))) + (build-system python-build-system) + (arguments + `(#:python ,python-2.4)) + (native-inputs + `(("python24-setuptools" ,python24-setuptools))) + (home-page "http://pyx.sourceforge.net/") + (synopsis "Python package for the generation of PostScript, PDF, and SVG files") + (description "Python package for the generation of PostScript, PDF, and SVG files") + (license license:gpl2+))) + +(define-public python24-pyxlwriter + (package + (name "python24-pyxlwriter") + (version "0.4a3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/pyxlwriter/pyxlwriter/" + version "/pyXLWriter-" version ".zip")) + (sha256 + (base32 + "1kfsi6la9y53rwayszgayfmkjfknpp650v69a0hwd1fcfk1df735")))) + (build-system python-build-system) + (arguments + `(#:python ,python-2.4 + #:use-setuptools? #f + #:tests? #f)) ; no tests + (native-inputs + `(("unzip" ,unzip))) + (home-page "https://sourceforge.net/projects/pyxlwriter/") + (synopsis "Python library for generating Excel compatible spreadsheets") + (description "PyXLWriter is a Python library for generating Excel compatible +spreadsheets. It's a port of John McNamara's Perl @code{Spreadsheet::WriteExcel} +module version 1.01 to Python. It allows writing of Excel compatible +spreadsheets without the need for COM objects.") + (license license:lgpl2.1+))) + +(define-public python24-pil + (package + (inherit python2-pil1) + (name "python24-pil") + (arguments + (substitute-keyword-arguments (package-arguments python2-pil1) + ((#:python _) python-2.4))))) + +(define-public python24-piddle + (package + (inherit python2-piddle-1.0.15) + (name "python24-piddle") + (arguments + (substitute-keyword-arguments (package-arguments python2-piddle-1.0.15) + ((#:python _) python-2.4))) + (propagated-inputs + `(("python24-pil" ,python24-pil))))) + +;; Apparently this is the library which mimics python-2.6+'s json library +(define-public python24-simplejson + (let ((base (package-with-python24 python-simplejson))) + (package + (inherit base) + (version "2.0.9") ; last version to officially support python2.4 + (source + (origin + (method url-fetch) + (uri (pypi-uri "simplejson" version)) + (sha256 + (base32 + "1vlkxibal9ljabybawnqr3jh6f6g21c5pbrzl65z9vwbfxhg9kdb")))) + (native-inputs + `(("python24-setuptools" ,python24-setuptools) + ,@(package-native-inputs base)))))) + +(define-public python24-numarray + (package + (name "python24-numarray") + (version "1.5.2") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://sourceforge/numpy/Old Numarray/" version + "/numarray-" version ".tar.gz")) + (sha256 + (base32 + "0x1i4j7yni7k4p9kjxs1lgln1psdmyrz65wp2yr35yn292iw2vbg")))) + (build-system python-build-system) + (arguments + `(#:python ,python-2.4 + #:use-setuptools? #f + #:phases + (modify-phases %standard-phases + (replace 'build + (lambda _ + (invoke "python" "setup.py" "config" "build" + "--gencode" "--use_lapack"))) + (add-after 'unpack 'find-lapack-and-openblas + (lambda* (#:key inputs #:allow-other-keys) + (let ((lapack (assoc-ref inputs "lapack")) + (blas (assoc-ref inputs "openblas"))) + (substitute* "cfg_packages.py" + (("lapack_libs = .*'m']") + "lapack_libs = ['lapack', 'openblas', 'm']\n") + (("lapack_dirs = .*") + (string-append "lapack_dirs = ['" + lapack "/lib', '" blas "/lib']\n")) + (("lapack_include_dirs = .*") + (string-append "lapack_include_dirs = ['" + lapack "/include', '" blas "/include']\n"))) + #t))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (invoke "python" "setup.py" "config" + "install" "--use_lapack" + (string-append "--prefix=" out)))))) + #:tests? #f)) ; no test target + (inputs + `(("lapack" ,lapack) + ("openblas" ,openblas))) + (home-page "http://www.numpy.org/") + (synopsis "Array processing of numbers, strings, records and objects") + (description "Numarray is an array processing package designed to +efficiently manipulate large multi-dimensional arrays. Numarray is modelled +after Numeric and features c-code generated from python template scripts, the +capacity to operate directly on arrays in files, and improved type promotions. +Numarray provides support for manipulating arrays consisting of numbers, +strings, records, or objects using the same basic infrastructure and syntax.") + (license license:bsd-3))) + +(define-public python24-pp + (package + (name "python24-pp") + (version "1.6.1") + (source + (origin + (method url-fetch) + (uri (string-append + "http://www.parallelpython.com/downloads/pp/pp-" version ".zip")) + (sha256 + (base32 + "0qkxcyclz3vgwpl6xvsrg76q59dj0wwy8qx15567bafv659ypyb1")))) + (build-system python-build-system) + (arguments + `(#:python ,python-2.4 + #:use-setuptools? #f + #:tests? #f)) ; no tests + (native-inputs + `(("unzip" ,unzip))) + (home-page "http://www.parallelpython.com") + (synopsis "Parallel and distributed programming for Python") + (description "PP is a python module which provides mechanism for parallel +execution of python code on SMP (systems with multiple processors or cores) and +clusters (computers connected via network).") + (license license:bsd-3))) + +(define GN1-thirdparty-sources + (origin + (method url-fetch/tarbomb) + ;; ipfs get QmTPwYT2pehdxdG1TiHEzVzLgbeuhJ4utXShuz3twA84AB + (uri "file:///gnu/store/p33a2sh3x2nhiiphdw9nly80njg6p8fi-thirdparty.tgz") + (file-name "GN1-thirdparty") + (sha256 + (base32 + "0nnp6g412hjfrcn3k2yrfb14sxv06k0149whc7qmv678nyj5zhfa")))) + +(define-public python24-json-GN1 + (package + (name "python24-json-GN1") + (version "GN1") + (source GN1-thirdparty-sources) + (build-system python-build-system) + (arguments + `(#:python ,python-2.4 + #:phases + (modify-phases %standard-phases + (delete 'build) + (delete 'check) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (sitedir (string-append out "/lib/python2.4/site-packages/json/"))) + (mkdir-p sitedir) + (copy-recursively "thirdparty/json" sitedir) + #t)))))) + (home-page "") + (synopsis "") + (description "") + (license license:lgpl2.1+))) + +(define-public python24-svg-GN1 + (package + (name "python24-svg-GN1") + (version "1.0") + (source GN1-thirdparty-sources) + (build-system python-build-system) + (arguments + `(#:python ,python-2.4 + #:phases + (modify-phases %standard-phases + (delete 'build) + (delete 'check) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (sitedir (string-append out "/lib/python2.4/site-packages/svg/"))) + (mkdir-p sitedir) + (copy-recursively "thirdparty/svg" sitedir) + #t)))))) + (home-page "") + (synopsis "") + (description "") + (license license:bsd-4))) + +(define-public python24-htmlgen-GN1 + (package + (name "python24-htmlgen-GN1") + (version "2.5") + (source GN1-thirdparty-sources) + (build-system python-build-system) + (arguments + `(#:python ,python-2.4 + #:phases + (modify-phases %standard-phases + (delete 'build) + (delete 'check) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (sitedir (string-append out "/lib/python2.4/site-packages/htmlgen/"))) + (mkdir-p sitedir) + (copy-recursively "thirdparty/htmlgen" sitedir) + #t)))))) + (home-page "") + (synopsis "") + (description "") + (license license:bsd-2))) ; I'm not actually sure, checked HTMLgen.py + +(define-public python24-pyx-GN1 + (package + (name "python24-pyx-GN1") + (version "0.8") + (source GN1-thirdparty-sources) + (build-system python-build-system) + (arguments + `(#:python ,python-2.4 + #:phases + (modify-phases %standard-phases + (delete 'build) + (delete 'check) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (sitedir (string-append out "/lib/python2.4/site-packages/pyx/"))) + (mkdir-p sitedir) + (copy-recursively "thirdparty/pyx" sitedir) + #t)))))) + (home-page "") + (synopsis "") + (description "") + (license license:gpl2+))) + +(define-public python24-pyxlwriter-GN1 + (package + (name "python24-pyxlwriter-GN1") + (version "0.4a3") + (source GN1-thirdparty-sources) + (build-system python-build-system) + (arguments + `(#:python ,python-2.4 + #:phases + (modify-phases %standard-phases + (delete 'build) + (delete 'check) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (sitedir (string-append out "/lib/python2.4/site-packages/pyXLWriter/"))) + (mkdir-p sitedir) + (copy-recursively "thirdparty/pyXLWriter" sitedir) + #t)))))) + (home-page "") + (synopsis "") + (description "") + (license license:lgpl2.1+))) + +(define-public python24-pp-GN1 + (package + (name "python24-pp-GN1") + (version "1.5.7") + (source GN1-thirdparty-sources) + (build-system python-build-system) + (arguments + `(#:python ,python-2.4 + #:use-setuptools? #f + #:tests? #f + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'change-directory + (lambda _ + (chdir "thirdparty/pp-1.5.7") #t))))) + (home-page "") + (synopsis "") + (description "") + (license license:bsd-3))) + +(define-public python24-numarray-GN1 + (package + (name "python24-numarray-GN1") + (version "1.5.2") + (source GN1-thirdparty-sources) + (build-system python-build-system) + (arguments + `(#:python ,python-2.4 + #:use-setuptools? #f + #:phases + (modify-phases %standard-phases + (replace 'build + (lambda _ + (invoke "python" "setup.py" "config" "build" + "--gencode" "--use_lapack"))) + (add-after 'unpack 'find-lapack-and-openblas + (lambda* (#:key inputs #:allow-other-keys) + (let ((lapack (assoc-ref inputs "lapack")) + (blas (assoc-ref inputs "openblas"))) + (substitute* "cfg_packages.py" + (("lapack_libs = .*'m']") + "lapack_libs = ['lapack', 'openblas', 'm']\n") + (("lapack_dirs = .*") + (string-append "lapack_dirs = ['" + lapack "/lib', '" blas "/lib']\n")) + (("lapack_include_dirs = .*") + (string-append "lapack_include_dirs = ['" + lapack "/include', '" blas "/include']\n"))) + #t))) + (add-after 'unpack 'change-directory + (lambda _ + (chdir "thirdparty/numarray-1.5.2") + (for-each make-file-writable (find-files ".")) + #t)) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (invoke "python" "setup.py" "config" + "install" "--use_lapack" + (string-append "--prefix=" out)))))) + #:tests? #f)) ; no test target + (inputs + `(("lapack" ,lapack) + ("openblas" ,openblas))) + (home-page "") + (synopsis "") + (description "") + (license license:bsd-3))) diff --git a/gn/packages/ruby.scm b/gn/packages/ruby.scm index 3838d55..e46616c 100644 --- a/gn/packages/ruby.scm +++ b/gn/packages/ruby.scm @@ -240,7 +240,7 @@ for an example.") (base32 "1f861x62kmggy60krv229s5jl7afq9nblwcfih3kp9bm5c5jn16y")))) (build-system ruby-build-system) - (arguments '(#:gem-flags '("--trace"))) + (arguments '(#:tests? #f)) ; one test fails (inputs `(("ruby" ,ruby))) (propagated-inputs @@ -254,8 +254,6 @@ for an example.") ("ruby-nokogiri" ,ruby-nokogiri) ("ruby-ntlm-http" ,ruby-ntlm-http) ("ruby-webrobots" ,ruby-webrobots))) - (arguments - `(#:tests? #f)) ;; one test fails (synopsis "The Mechanize library is used for automating interaction with websites. Mechanize automatically stores and sends cookies, follows redirects, diff --git a/gn/packages/web.scm b/gn/packages/web.scm index 6c426e1..8b041b4 100644 --- a/gn/packages/web.scm +++ b/gn/packages/web.scm @@ -2,6 +2,8 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages) #:use-module (gnu packages compression) + #:use-module (gnu packages python) + #:use-module (gnu packages web) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) @@ -14,115 +16,188 @@ (define-public web-jquery (package - (name "web-jquery") - (version "3.2.1") - (source - (origin - (method url-fetch) - (uri (string-append "https://github.com/jquery/jquery/archive/" version ".zip")) - (file-name (string-append name "-" version)) - (sha256 - (base32 "0a8sq7a52bh3a4slf03yfclwsv4iadlzmha4v6kqfby5sd66si18")))) - (build-system trivial-build-system) - (native-inputs `(("source" ,source) - ("unzip" ,unzip))) - (arguments - `(#:modules ((guix build utils)) - #:builder - (let* ((out (assoc-ref %outputs "out")) - (name "jquery") - (targetdir (string-append out "/share/web/" name)) - ) - (begin - (use-modules (guix build utils)) - (let ((source (assoc-ref %build-inputs "source")) - (unzip (string-append (assoc-ref %build-inputs "unzip") "/bin/unzip")) - ) - (and - (mkdir-p "source") - (chdir "source") - (zero? (system* unzip source)) - (mkdir-p targetdir) - (copy-recursively "jquery-3.2.1/dist" targetdir) - - ; (copy-recursively source targetdir) - ; (file-copy (string-append out "/dist/jquery.slim.min.j") source) - )))))) - (home-page "http://jquery.com/") - (synopsis "JQuery web framework") - (description "jQuery.") - (license license:expat))) + (name "web-jquery") + (version "3.4.1") ; May 1, 2019 + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jquery/jquery.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "03pasw49xshwvcaa0iailv43jlyhkwhf19fnwmwlhyn4701kpx1d")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (let* ((out (assoc-ref %outputs "out")) + (targetdir (string-append out "/share/web/jquery")) + (source (assoc-ref %build-inputs "source")) + (dist (string-append source "/dist"))) + (begin + (use-modules (guix build utils)) + (copy-recursively dist targetdir))))) + (native-inputs `(("source" ,source))) + (home-page "https://jquery.com/") + (synopsis "JQuery web framework") + (description "jQuery is a fast, small, and feature-rich JavaScript library. +It makes things like HTML document traversal and manipulation, event handling, +animation, and Ajax much simpler with an easy-to-use API that works across a +multitude of browsers. With a combination of versatility and extensibility, +jQuery has changed the way that millions of people write JavaScript.") + (license license:expat))) (define-public web-bootstrap - (let ((commit "betabeta")) (package (name "web-bootstrap") - (version (string-append "4.0.0" "-" (string-take commit 7))) + (version "4.3.1") ; Feb. 13, 2019 (source - (origin - (method url-fetch) - (uri "https://github.com/twbs/bootstrap/releases/download/v4.0.0-beta/bootstrap-4.0.0-beta-dist.zip") - (file-name (string-append name "-" version)) - (sha256 - (base32 "0jzi76gm3vyxld5lz1723al8a8skcn9r1ch51sdgzxx32f273bc9")))) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/twbs/bootstrap.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "18g76r53sa2ahcriy7jk5wvxd3s8qc4as87xwqvfkxibdn5ifrxs")))) (build-system trivial-build-system) - (native-inputs `(("unzip" ,unzip) - ("source" ,source))) (arguments `(#:modules ((guix build utils)) #:builder (let* ((out (assoc-ref %outputs "out")) (name "bootstrap") (targetdir (string-append out "/share/web/" name)) - ) + (source (assoc-ref %build-inputs "source")) + (dist (string-append source "/dist"))) (begin (use-modules (guix build utils)) - (let ((source (assoc-ref %build-inputs "source")) - (unzip (string-append (assoc-ref %build-inputs "unzip") "/bin/unzip")) - ) - (and - (mkdir-p targetdir) - (zero? (system* unzip source "-d" targetdir)) - )))))) - (home-page "http://getbootstrap.com/") + (copy-recursively dist targetdir))))) + (native-inputs `(("source" ,source))) + (home-page "https://getbootstrap.com/") (synopsis "Bootstrap web framework") (description "Bootstrap is an open source toolkit for developing -with HTML, CSS, and JS. Quickly prototype your ideas or build your +with HTML, CSS, and JS. Quickly prototype your ideas or build your entire app with our Sass variables and mixins, responsive grid system, extensive prebuilt components, and powerful plugins built on jQuery.") - (license license:expat)))) + (license license:expat))) (define-public web-bootstrap-native (let ((commit "2e48d7ee29d4063e3bd2024ff83ddc50a550c4dd")) + (package + (name "web-bootstrap-native") + (version (string-append "4.0.0" "-beta-" (string-take commit 7))) ; Sept, 8, 2017 + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/thednp/bootstrap.native.git") + (commit commit))) + (file-name (string-append name "-" commit)) + (sha256 + (base32 + "1hkyibyfby0mnkavr3xbmr20kb88wy6jw28b206pd236xnp2qkx0")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (let* ((out (assoc-ref %outputs "out")) + (name "bootstrap-native") + (targetdir (string-append out "/share/web/" name)) + (source (assoc-ref %build-inputs "source"))) + (begin + (use-modules (guix build utils)) + (copy-recursively source targetdir))))) + (native-inputs `(("source" ,source))) + (home-page "https://github.com/thednp/bootstrap.native") + (synopsis "Bootstrap minimal") + (description "Bootstrap native does not use jquery.") + (license license:expat)))) + +(define-public mod-python + (let ((commit "902bb8700e2c45ffd96b78e2f1146a3c101be7f5") + (revision "1")) + (package + (name "mod-python") + (version (git-version "3.5.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/grisha/mod_python.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0lqlpldw11dml24n05305xzpbjlkay497djjczvgsj5v8djkxcq0")))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f ; tests require a running apache server + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-source + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (substitute* "Makefile.in" + ;; Don't use httpd's prefix + (("LIBEXECDIR=.*") (string-append "LIBEXECDIR=" out "/modules\n"))) + (substitute* "scripts/Makefile.in" + (("BINDIR=.*") (string-append "BINDIR=" out "/bin"))) + (substitute* "dist/setup.py.in" + ;; we want out modules dir, not httpd's + ;; If we want SYSCONFDIR to be the same as httpd's : + ;; (("@SYSCONFDIR@") (string-append (assoc-ref %build-inputs "httpd") "/etc/httpd")) + (("@LIBEXECDIR@") (string-append out "/modules"))) + (substitute* "dist/Makefile.in" + (("\\$\\(DESTDIR\\)") "/") + (("--root") (string-append "--prefix=" out " --root")))) + #t))))) + (inputs + `(("httpd" ,httpd) + ("python" ,python-2))) ; does not seem to build with python3.7+ + (native-inputs `(("flex" ,(@ (gnu packages flex) flex)))) + (home-page "http://modpython.org/") + (synopsis "Apache/Python Integration") + (description "Mod_python is an Apache module that embeds the Python +interpreter within the server. With mod_python you can write web-based +applications in Python that will run many times faster than traditional CGI and +will have access to advanced features such as ability to retain database +connections and other data between hits and access to Apache internals.") + (license license:asl2.0)))) + +(define-public web-font-awesome (package - (name "web-bootstrap-native") - (version (string-append "4.0.0" "-beta-" (string-take commit 7))) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/thednp/bootstrap.native.git") - (commit commit))) - (file-name (string-append name "-" commit)) - (sha256 - (base32 - "1hkyibyfby0mnkavr3xbmr20kb88wy6jw28b206pd236xnp2qkx0")))) + (name "web-font-awesome") + (version "4.7.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://fontawesome.com/v" version + "/assets/font-awesome-" version ".zip")) + (sha256 + (base32 "0jgn26cr5xhqyxfwqmki0564cid4i4l38cwsddcslr3qkzpmhx2j")))) (build-system trivial-build-system) - (native-inputs `(("source" ,source))) (arguments - `(#:modules ((guix build utils)) - #:builder - (let* ((out (assoc-ref %outputs "out")) - (name "bootstrap-native") - (targetdir (string-append out "/share/web/" name)) - ) - (begin - (use-modules (guix build utils)) - (let ((source (assoc-ref %build-inputs "source"))) - (and - ; (mkdir-p targetdir) - (copy-recursively source targetdir) - )))))) - (home-page "https://github.com/thednp/bootstrap.native") - (synopsis "Bootstrap minimal") - (description "Bootstrap native does not use jquery.") - (license license:expat)))) + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let* ((out (assoc-ref %outputs "out")) + (name "font-awesome") + (unzip (string-append (assoc-ref %build-inputs "unzip") + "/bin/unzip")) + (targetdir (string-append out "/share/web/" name)) + (source (assoc-ref %build-inputs "source"))) + (invoke unzip source) + (copy-recursively (string-append "font-awesome-" ,version) + targetdir))))) + (native-inputs + `(("source" ,source) + ("unzip" ,unzip))) + (home-page "https://fontawesome.com/") + (synopsis "iconic font designed for use with Twitter Bootstrap") + (description "This font contains about 249 various icon glyphs. Glyphs are +designed as scalable vector graphics hence display very well at any screen size. +This font was basically designed to be used with the Twitter bootstrap library +but can be used in other places also.") + (license (list license:cc-by4.0 + license:silofl1.1)))) diff --git a/gnulib-gets.patch b/gnulib-gets.patch new file mode 100644 index 0000000..cccb55a --- /dev/null +++ b/gnulib-gets.patch @@ -0,0 +1,60 @@ +Minimally modified from upstream +only first change set from lib/stdio.in.h taken +s@lib/stdio@libgnu/stdio@g run on the 'diff' line. + +From: Eric Blake <eblake@redhat.com> +Date: Thu, 29 Mar 2012 19:30:41 +0000 (-0600) +Subject: stdio: don't assume gets any more +X-Git-Tag: v0.1~799 +X-Git-Url: https://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=commitdiff_plain;h=66712c23388e93e5c518ebc8515140fa0c807348 + +stdio: don't assume gets any more + +Gnulib intentionally does not have a gets module, and now that C11 +and glibc have dropped it, we should be more proactive about warning +any user on a platform that still has a declaration of this dangerous +interface. + +* m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets +support. +* modules/stdio (Makefile.am): Likewise. +* gnu/stdio-read.c (gets): Likewise. +* tests/test-stdio-c++.cc: Likewise. +* m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment. +* gnu/stdio.in.h (gets): Make warning occur in more places. +* doc/posix-functions/gets.texi (gets): Update documentation. +Reported by Christer Solskogen. + +Signed-off-by: Eric Blake <eblake@redhat.com> +--- +diff --git a/libgnu/stdio.in.h b/libgnu/stdio.in.h +index aa7b599..c377b6e 100644 +--- a/libgnu/stdio.in.h ++++ b/libgnu/stdio.in.h +@@ -698,22 +698,11 @@ _GL_WARN_ON_USE (getline, "getline is unportable - " + # endif + #endif + +-#if @GNULIB_GETS@ +-# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@ +-# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +-# undef gets +-# define gets rpl_gets +-# endif +-_GL_FUNCDECL_RPL (gets, char *, (char *s) _GL_ARG_NONNULL ((1))); +-_GL_CXXALIAS_RPL (gets, char *, (char *s)); +-# else +-_GL_CXXALIAS_SYS (gets, char *, (char *s)); +-# undef gets +-# endif +-_GL_CXXALIASWARN (gets); + /* It is very rare that the developer ever has full control of stdin, +- so any use of gets warrants an unconditional warning. Assume it is +- always declared, since it is required by C89. */ ++ so any use of gets warrants an unconditional warning; besides, C11 ++ removed it. */ ++#undef gets ++#if HAVE_RAW_DECL_GETS + _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); + #endif + diff --git a/octave-nested-class.patch b/octave-nested-class.patch new file mode 100644 index 0000000..6d835cb --- /dev/null +++ b/octave-nested-class.patch @@ -0,0 +1,39 @@ +https://hg.savannah.gnu.org/hgweb/octave/raw-rev/7ffd2a0791ef + +# HG changeset patch +# User John W. Eaton <jwe@octave.org> +# Date 1325958274 18000 +# Node ID 7ffd2a0791ef389474bb52228e9b046a3721ab3f +# Parent 906eecd4bf43b0146c50019ee41acac2dc83c935 +fix name lookup problem with static nested class + +* oct-inttypes.h (octave_int_arith_base<T,false>::mul): +Tag truncate_int with octave_int_base<T>::. +(octave_int_arith_base<T,true>::mul): Likewise. + +diff --git a/liboctave/oct-inttypes.h b/liboctave/oct-inttypes.h +--- a/liboctave/oct-inttypes.h ++++ b/liboctave/oct-inttypes.h +@@ -366,8 +366,8 @@ + { + // Promotion type for multiplication (if exists). + typedef typename query_integer_type<2*sizeof (T), false>::type mptype; +- return truncate_int (static_cast<mptype> (x) +- * static_cast<mptype> (y)); ++ return octave_int_base<T>::truncate_int (static_cast<mptype> (x) ++ * static_cast<mptype> (y)); + } + + // Division with rounding to nearest. Note that / and % are probably +@@ -621,8 +621,8 @@ + { + // Promotion type for multiplication (if exists). + typedef typename query_integer_type<2*sizeof (T), true>::type mptype; +- return truncate_int (static_cast<mptype> (x) +- * static_cast<mptype> (y)); ++ return octave_int_base<T>::truncate_int (static_cast<mptype> (x) ++ * static_cast<mptype> (y)); + } + + // Division. + |