all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings
@ 2017-01-03 23:35 ng0
  2017-01-03 23:35 ` [PATCH 01/86] gnu: Add rust-libc ng0
                   ` (89 more replies)
  0 siblings, 90 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:35 UTC (permalink / raw)
  To: guix-devel

... and I still am not sure wether the build system works or not (see bottom of this email) because I still have to learn more about this language. Our prototype will soon switch to fluid (it's currently using qml-material but I refrained from adding that as its upstream looks like it moved on to fluid), so apart from the prototype the only "real" application I can check this chain on can only be added later after this has been added. Remember panopticon, the package which got me to poke at the rust/cargo in winter of 2015 and spring of last year? This can be made functional (finally) once I package some more crates in addition to all the ones I send with this.

Please provide constructive critique and review. Read the crate repositories and their own descriptions etc. It was very hard and not intentional to end up with tautological descriptions/synopsis. Remember that we are starting at zero and that some (most?) of the now following crates add very basic functionalities.

[PATCH 01/86] gnu: Add rust-libc.
[PATCH 02/86] gnu: Add rust-spin.
[PATCH 03/86] gnu: Add rust-lazy-static.
[PATCH 04/86] gnu: Add dotherside.
[PATCH 05/86] gnu: Add rust-qml.
[PATCH 06/86] gnu: Add rust-log.
[PATCH 07/86] gnu: Add rust-futures.
[PATCH 08/86] gnu: Add rust-rand.
[PATCH 09/86] gnu: Add rust-nix-test.
[PATCH 10/86] gnu: Add rust-void.
[PATCH 11/86] gnu: Add rust-slab.

[PATCH 12/86] gnu: Add rust-winapi-build.

The packaging of winapi-build happened before I learned more about the platform builds. Might be necessary, might be dropped.

[PATCH 13/86] gnu: Add rust-tempdir.
[PATCH 14/86] gnu: Add rust-glob.
[PATCH 15/86] gnu: Add rust-scoped-tls.
[PATCH 16/86] gnu: Add rust-bitflags.
[PATCH 17/86] gnu: Add rust-unreachable.
[PATCH 18/86] gnu: Add rust-thread-id.
[PATCH 19/86] gnu: Add rust-thread-local.
[PATCH 20/86] gnu: Add rust-cfg-if.
[PATCH 21/86] gnu: Add rust-net2.
[PATCH 22/86] gnu: Add rust-bytes.
[PATCH 23/86] gnu: Add rust-openssl-probe.
[PATCH 24/86] gnu: Add rust-pkg-config.
[PATCH 25/86] gnu: Add rust-num-traits.
[PATCH 26/86] gnu: Add rust-num-integer.
[PATCH 27/86] gnu: Add rust-num-iter.
[PATCH 28/86] gnu: Add rust-openssl-sys.
[PATCH 29/86] gnu: Add rust-matches.
[PATCH 30/86] gnu: Add rust-getopts.
[PATCH 31/86] gnu: Add rust-encoding-index-tests.
[PATCH 32/86] gnu: Add rust-encoding-index-japanese.
[PATCH 33/86] gnu: Add rust-encoding-index-korean.
[PATCH 34/86] gnu: Add rust-encoding-index-simpchinese.
[PATCH 35/86] gnu: Add rust-encoding-index-singlebyte.
[PATCH 36/86] gnu: Add rust-encoding-index-tradchinese.
[PATCH 37/86] gnu: Add rust-encoding.
[PATCH 38/86] gnu: Add rust-deque.
[PATCH 39/86] gnu: Add rust-clippy-mini-macro-test.
[PATCH 40/86] gnu: Add rust-unicode-normalization.
[PATCH 41/86] gnu: Add rust-fnv.
[PATCH 42/86] gnu: Add rust-heapsize.
[PATCH 43/86] gnu: Add rust-unicode-bidi.
[PATCH 44/86] gnu: Add rust-rustc-serialize.
[PATCH 45/86] gnu: Add rust-time.
[PATCH 46/86] gnu: Add rust-term.
[PATCH 47/86] gnu: Add rust-rustc-test.
[PATCH 48/86] gnu: Add rust-idna.
[PATCH 49/86] gnu: Add rust-compiletest-rs.
[PATCH 50/86] gnu: Add rust-strsim.
[PATCH 51/86] gnu: Add rust-quickcheck.
[PATCH 52/86] gnu: Add rust-memchr.
[PATCH 53/86] gnu: Add rust-fs2.
[PATCH 54/86] gnu: Add rust-memmap.
[PATCH 55/86] gnu: Add rust-docopt.
[PATCH 56/86] gnu: Add rust-byteorder.
[PATCH 57/86] gnu: Add rust-csv.
[PATCH 58/86] gnu: Add rust-aho-corasick.
[PATCH 59/86] gnu: Add rust-regex-syntax.
[PATCH 60/86] gnu: Add rust-simd.
[PATCH 61/86] gnu: Add rust-utf8-ranges.
[PATCH 62/86] gnu: Add rust-regex.
[PATCH 63/86] gnu: Add rust-env-logger.
[PATCH 64/86] gnu: Add rust-quine-mc-cluskey.
[PATCH 65/86] gnu: Add rust-toml.
[PATCH 66/86] gnu: Add rust-semver-parser.
[PATCH 67/86] gnu: Add rust-semver.
[PATCH 68/86] gnu: Add rust-rustc-version.
[PATCH 69/86] gnu: Add rust-tempfile.
[PATCH 70/86] gnu: Add rust-nix.
[PATCH 71/86] gnu: Add rust-clippy-lints.
[PATCH 72/86] gnu: Add rust-clippy.
[PATCH 73/86] gnu: Add rust-lazycell.
[PATCH 74/86] gnu: Add rust-mio.
[PATCH 75/86] gnu: Add rust-tokio-core.
[PATCH 76/86] gnu: Add rust-serde.
[PATCH 77/86] gnu: Add rust-serde-test.

[PATCH 78/86] gnu: rust-clippy: Add rust-serde input.
[PATCH 79/86] gnu: rust-toml: Add rust-serde input.
[PATCH 80/86] gnu: rust-csv: Add rust-regex input.
[PATCH 81/86] gnu: rust-docopt: Add rust-regex input.
[PATCH 82/86] gnu: rust-quickcheck: Add rust-env-logger input.

Add those just now because those are dev-inputs or otherwise not needed for functional "build".

[PATCH 83/86] gnu: Add fluid.
[PATCH 84/86] gnu: Add libpsyc-rust.

I would need to run 2 build-systems here in libpsyc. Advice needed in how to achieve that. You can also provide me with good points why (if at all) this is a bad practice (all bindings in one distribution) and we should move rust bindings to its own package.

[PATCH 85/86] gnu: libpsyc: Remove comment.
[PATCH 86/86] gnu: Add font-google-roboto.



I have not run any of the 81 packages through guix lint, I would if I would know a way to mass lint a list of packages.
For those I checked (like rust-openssl-sys) left me in confusion. Does our cargo build-system just build nothing? Are all of these libraries? rust-openssl-sys contained nothing, but rust-openssl-sys:src had all the data. Same goes for the libpsyc-rust

^ permalink raw reply	[flat|nested] 113+ messages in thread

* [PATCH 01/86] gnu: Add rust-libc.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
@ 2017-01-03 23:35 ` ng0
  2017-01-04  0:17   ` Danny Milosavljevic
  2017-01-03 23:35 ` [PATCH 02/86] gnu: Add rust-spin ng0
                   ` (88 subsequent siblings)
  89 siblings, 1 reply; 113+ messages in thread
From: ng0 @ 2017-01-03 23:35 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-libc): New variable.
---
 gnu/packages/rust.scm | 23 ++++++++++++++++++++++-
 1 file changed, 22 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 8aa867317..2137ba601 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1,7 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2016 David Craven <david@craven.ch>
 ;;; Copyright © 2016 Eric Le Bihan <eric.le.bihan.dev@free.fr>
-;;; Copyright © 2016 ng0 <ng0@libertad.pw>
+;;; Copyright © 2016, 2017 ng0 <ng0@libertad.pw>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -31,6 +31,7 @@
   #:use-module (gnu packages version-control)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system trivial)
+  #:use-module (guix build-system cargo)
   #:use-module (guix download)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
@@ -265,3 +266,23 @@ safety and thread safety guarantees.")
     (home-page "https://www.rust-lang.org")
     ;; Dual licensed.
     (license (list license:asl2.0 license:expat))))
+
+(define-public rust-libc
+  (package
+    (name "rust-libc")
+    (version "0.2.18")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "libc" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0w5cghr0wx3hi2sclk8r9iyzlbxsakil87ada40q2ykyhky24655"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/rust-lang/libc")
+    (synopsis "Raw bindings to platform APIs for Rust")
+    (description
+     "Libc provides a library for types and bindings to native
+C functions often found in libc or other common platform libraries.")
+    (license (list license:expat license:asl2.0))))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 02/86] gnu: Add rust-spin.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
  2017-01-03 23:35 ` [PATCH 01/86] gnu: Add rust-libc ng0
@ 2017-01-03 23:35 ` ng0
  2017-01-04  0:21   ` Danny Milosavljevic
  2017-01-03 23:35 ` [PATCH 03/86] gnu: Add rust-lazy-static ng0
                   ` (87 subsequent siblings)
  89 siblings, 1 reply; 113+ messages in thread
From: ng0 @ 2017-01-03 23:35 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-spin): New variable.
---
 gnu/packages/rust.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 2137ba601..b0ac22a78 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -286,3 +286,25 @@ safety and thread safety guarantees.")
      "Libc provides a library for types and bindings to native
 C functions often found in libc or other common platform libraries.")
     (license (list license:expat license:asl2.0))))
+
+(define-public rust-spin
+  (package
+    (name "rust-spin")
+    (version "0.4.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "spin" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0lvyyxg646wl67b41655p2z25s725sw1rsfvpnm8d7vq5dpa45hx"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/mvdnes/spin-rs.git")
+    (synopsis "Spin is a library which implements a simple spinlock")
+    (description
+     "Synchronization primitives based on spinning.  They may contain
+data, they are usable without `std` and static initializers are
+available.")
+    (license license:expat)))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 03/86] gnu: Add rust-lazy-static.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
  2017-01-03 23:35 ` [PATCH 01/86] gnu: Add rust-libc ng0
  2017-01-03 23:35 ` [PATCH 02/86] gnu: Add rust-spin ng0
@ 2017-01-03 23:35 ` ng0
  2017-01-03 23:35 ` [PATCH 04/86] gnu: Add dotherside ng0
                   ` (86 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:35 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-lazy-static): New variable.
---
 gnu/packages/rust.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index b0ac22a78..1d96c3af2 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -308,3 +308,25 @@ C functions often found in libc or other common platform libraries.")
 data, they are usable without `std` and static initializers are
 available.")
     (license license:expat)))
+
+(define-public rust-lazy-static
+  (package
+    (name "rust-lazy-static")
+    (version "0.2.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "lazy_static" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "16z1h7w702sxnscak38jykxlhxq0b5ip4mndlb46pkaqwzi0xgka"))))
+    (build-system cargo-build-system)
+    (inputs `(("rust-spin" ,rust-spin "src")))
+    (home-page "https://github.com/rust-lang-nursery/lazy-static.rs")
+    (synopsis "Macro for declaring lazily evaluated statics")
+    (description
+     "Lazy-static provides a macro for declaring lazily
+evaluated statics in Rust.")
+    (license license:expat)))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 04/86] gnu: Add dotherside.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (2 preceding siblings ...)
  2017-01-03 23:35 ` [PATCH 03/86] gnu: Add rust-lazy-static ng0
@ 2017-01-03 23:35 ` ng0
  2017-01-03 23:35 ` [PATCH 05/86] gnu: Add rust-qml ng0
                   ` (85 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:35 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/qt.scm (dotherside): New variable.
---
 gnu/packages/qt.scm | 36 +++++++++++++++++++++++++++++++++++-
 1 file changed, 35 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 15beb8037..41aa10291 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -3,7 +3,7 @@
 ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
 ;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
+;;; Copyright © 2016, 2017 ng0 <ng0@libertad.pw>
 ;;; Copyright © 2016 Thomas Danckaert <post@thomasdanckaert.be>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -1313,3 +1313,37 @@ embed content from the World Wide Web into your Qt application.  At the same
 time Web content can be enhanced with native controls.")
 
     (license license:lgpl2.1+)))
+
+(define-public dotherside
+  (package
+    (name "dotherside")
+    (version "0.5.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/filcuc/DOtherSide/"
+                           "archive/v" version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0pqlrvy4ajjir80ra79ka3n0rjj0ir0f0m91cq86iz3nnw8w148z"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("qttools" ,qttools)))
+    (inputs
+     `(("qtbase" ,qtbase)
+       ("qtdeclarative" ,qtdeclarative)))
+    (home-page "https://github.com/frankosterfeld/qtkeychain")
+    (synopsis "C language library for creating bindings for the Qt QML language")
+    (description
+     "DOtherSide is a C language library for creating bindings for the
+QT QML language.  The following features are implementable from
+a binding language:
+@itemize
+@item Creating custom QObject
+@item Creating custom QAbstractListModels
+@item Creating custom properties, signals and slots
+@item Creating from QML QObject defined in the binded language
+@item Creating from Singleton QML QObject defined in the binded language
+@end itemize\n")
+    (license license:lgpl3)))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 05/86] gnu: Add rust-qml.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (3 preceding siblings ...)
  2017-01-03 23:35 ` [PATCH 04/86] gnu: Add dotherside ng0
@ 2017-01-03 23:35 ` ng0
  2017-01-03 23:35 ` [PATCH 06/86] gnu: Add rust-log ng0
                   ` (84 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:35 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-qml): New variable.
---
 gnu/packages/rust.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 1d96c3af2..68c22a279 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -28,6 +28,7 @@
   #:use-module (gnu packages jemalloc)
   #:use-module (gnu packages llvm)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages qt)
   #:use-module (gnu packages version-control)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system trivial)
@@ -330,3 +331,32 @@ available.")
      "Lazy-static provides a macro for declaring lazily
 evaluated statics in Rust.")
     (license license:expat)))
+
+(define-public rust-qml
+  (package
+    (name "rust-qml")
+    (version "0.0.9")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "qml" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1inbzzd7rg5fvypl927hmy0qdc899mbjp7x5b0wmk6869ril2nsy"))))
+    (build-system cargo-build-system)
+    (inputs
+     `(("rust-lazy-static" ,rust-lazy-static "src")
+       ("rust-libc" ,rust-libc "src")))
+    (propagated-inputs
+     ;; Rust has no concept for outside packages, but DOtherSide is
+     ;; a dependency according to the github page.
+     `(("dotherside" ,dotherside)))
+    (home-page "https://github.com/White-Oak/qml-rust")
+    (synopsis "QML (Qt Quick) bindings for Rust language")
+    (description
+     "QML-rust provides bindings for Qt Quick.  The bindings are based
+on @code{DOtherSide} C bindings for QML Library.  It is mostly
+feature-compliant with other bindings based on the library.")
+    (license license:expat)))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 06/86] gnu: Add rust-log.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (4 preceding siblings ...)
  2017-01-03 23:35 ` [PATCH 05/86] gnu: Add rust-qml ng0
@ 2017-01-03 23:35 ` ng0
  2017-01-04  0:22   ` Danny Milosavljevic
  2017-01-03 23:35 ` [PATCH 07/86] gnu: Add rust-futures ng0
                   ` (83 subsequent siblings)
  89 siblings, 1 reply; 113+ messages in thread
From: ng0 @ 2017-01-03 23:35 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-log): New variable.
---
 gnu/packages/rust.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 68c22a279..0dc05520b 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -360,3 +360,25 @@ evaluated statics in Rust.")
 on @code{DOtherSide} C bindings for QML Library.  It is mostly
 feature-compliant with other bindings based on the library.")
     (license license:expat)))
+
+(define-public rust-log
+  (package
+    (name "rust-log")
+    (version "0.3.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "log" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0m40hgs3cg57dd5kk1mabfk6gk8z6l1cihar8akx4kmzz1xlk0xb"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/rust-lang/log")
+    (synopsis "Logging implementation for Rust")
+    (description
+     "Log provides a logging facade.  Libraries can use the provided
+logging API, and the consumer of those libraries can choose the logging
+implementation that is most suitable for its use case.")
+    (license (list license:expat license:asl2.0))))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 07/86] gnu: Add rust-futures.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (5 preceding siblings ...)
  2017-01-03 23:35 ` [PATCH 06/86] gnu: Add rust-log ng0
@ 2017-01-03 23:35 ` ng0
  2017-01-03 23:35 ` [PATCH 08/86] gnu: Add rust-rand ng0
                   ` (82 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:35 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-futures): New variable.
---
 gnu/packages/rust.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 0dc05520b..44f4e2a10 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -382,3 +382,25 @@ feature-compliant with other bindings based on the library.")
 logging API, and the consumer of those libraries can choose the logging
 implementation that is most suitable for its use case.")
     (license (list license:expat license:asl2.0))))
+
+(define-public rust-futures
+  (package
+    (name "rust-futures")
+    (version "0.1.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "futures" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "087yvc0baprw507nlr6lwkzd57a99gjj8zz95h12irfp3nk84yhp"))))
+    (build-system cargo-build-system)
+    (inputs `(("rust-log" ,rust-log "src")))
+    (home-page "https://github.com/alexcrichton/futures-rs")
+    (synopsis "Zero-cost futures and streams implementation")
+    (description
+     "Futures is a library implementation of futures and streams
+featuring zero allocations, composability, and iterator-like interfaces.")
+    (license (list license:expat license:asl2.0))))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 08/86] gnu: Add rust-rand.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (6 preceding siblings ...)
  2017-01-03 23:35 ` [PATCH 07/86] gnu: Add rust-futures ng0
@ 2017-01-03 23:35 ` ng0
  2017-01-03 23:35 ` [PATCH 09/86] gnu: Add rust-nix-test ng0
                   ` (81 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:35 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-rand): New variable.
---
 gnu/packages/rust.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 44f4e2a10..1e6bd8672 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -404,3 +404,25 @@ implementation that is most suitable for its use case.")
      "Futures is a library implementation of futures and streams
 featuring zero allocations, composability, and iterator-like interfaces.")
     (license (list license:expat license:asl2.0))))
+
+(define-public rust-rand
+  (package
+    (name "rust-rand")
+    (version "0.3.15")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rand" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "178qgglinqawwsw6l8imgnplxkmxcj404jqm92pds695xhv0cbh2"))))
+    (build-system cargo-build-system)
+    (native-inputs `(("rust-log" ,rust-log "src")))
+    (inputs `(("rust-libc" ,rust-libc "src")))
+    (home-page "https://github.com/rust-lang/rand")
+    (synopsis "Random number generators and other randomness")
+    (description
+     "Library for random number generators and other randomness functionality.")
+    (license (list license:expat license:asl2.0))))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 09/86] gnu: Add rust-nix-test.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (7 preceding siblings ...)
  2017-01-03 23:35 ` [PATCH 08/86] gnu: Add rust-rand ng0
@ 2017-01-03 23:35 ` ng0
  2017-01-03 23:35 ` [PATCH 10/86] gnu: Add rust-void ng0
                   ` (80 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:35 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-nix-test): New variable.
---
 gnu/packages/rust.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 1e6bd8672..674570c7d 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -426,3 +426,30 @@ featuring zero allocations, composability, and iterator-like interfaces.")
     (description
      "Library for random number generators and other randomness functionality.")
     (license (list license:expat license:asl2.0))))
+
+(define-public rust-nix-test
+  (package
+    (name "rust-nix-test")
+    (version "0.0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "nix-test" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1g7i9p3lizipyg99swdmkg0jyxm0i3wm2jkf7hrbrkk3k3rbhp9y"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/carllerche/nix-rust")
+    (synopsis "Bindings to *nix APIs")
+    (description
+     "Nix-test provides the testing helpers for nix.  Nix seeks to
+provide bindings to various *nix platform APIs.
+The goal is to not provide a 100% unified interface, but to
+unify what can be while still providing platform specific APIs.
+
+For many system APIs, Nix provides a safe alternative to the unsafe API
+exposed by the libc crate.  This is done by wrapping the libc
+functionality with types/abstractions that enforce legal/safe usage.")
+    (license license:expat)))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 10/86] gnu: Add rust-void.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (8 preceding siblings ...)
  2017-01-03 23:35 ` [PATCH 09/86] gnu: Add rust-nix-test ng0
@ 2017-01-03 23:35 ` ng0
  2017-01-04  0:24   ` Danny Milosavljevic
  2017-01-03 23:35 ` [PATCH 11/86] gnu: Add rust-slab ng0
                   ` (79 subsequent siblings)
  89 siblings, 1 reply; 113+ messages in thread
From: ng0 @ 2017-01-03 23:35 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-void): New variable.
---
 gnu/packages/rust.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 674570c7d..fe133c084 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -453,3 +453,29 @@ For many system APIs, Nix provides a safe alternative to the unsafe API
 exposed by the libc crate.  This is done by wrapping the libc
 functionality with types/abstractions that enforce legal/safe usage.")
     (license license:expat)))
+
+(define-public rust-void
+  (package
+    (name "rust-void")
+    (version "1.0.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "void" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0zc8f0ksxvmhvgx4fdg0zyn6vdnbxd2xv9hfx4nhzg6kbs4f80ka"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/reem/rust-void.git")
+    (synopsis "Uninhabited void type for use in statically impossible cases")
+    (description
+     "The uninhabited type, @code{enum Void { }} is useful in dealing
+with cases you know to be impossible.  If you are implementing a trait
+which allows for error checking, but your case always succeeds, you can
+mark the error case or type as Void, signaling to the compiler it can
+never happen.
+This crate also comes packed with a few traits offering extension
+methods to @code{Result<T, Void>} and @code{Result<Void, T>}.")
+    (license license:expat)))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 11/86] gnu: Add rust-slab.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (9 preceding siblings ...)
  2017-01-03 23:35 ` [PATCH 10/86] gnu: Add rust-void ng0
@ 2017-01-03 23:35 ` ng0
  2017-01-04  0:25   ` Danny Milosavljevic
  2017-01-03 23:35 ` [PATCH 12/86] gnu: Add rust-winapi-build ng0
                   ` (78 subsequent siblings)
  89 siblings, 1 reply; 113+ messages in thread
From: ng0 @ 2017-01-03 23:35 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-slab): New variable.
---
 gnu/packages/rust.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index fe133c084..ff4901d0a 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -479,3 +479,24 @@ never happen.
 This crate also comes packed with a few traits offering extension
 methods to @code{Result<T, Void>} and @code{Result<Void, T>}.")
     (license license:expat)))
+
+(define-public rust-slab
+  (package
+    (name "rust-slab")
+    (version "0.3.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "slab" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "08xw8w61zdfn1094qkq1d554vh5wmm9bqdys8gqqxc4sv2pgrd0p"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/carllerche/slab")
+    (synopsis "Simple slab allocator")
+    (description
+     "Slab Allocator for Rust.  Preallocate memory for values
+of a given type.")
+    (license license:expat)))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 12/86] gnu: Add rust-winapi-build.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (10 preceding siblings ...)
  2017-01-03 23:35 ` [PATCH 11/86] gnu: Add rust-slab ng0
@ 2017-01-03 23:35 ` ng0
  2017-01-03 23:35 ` [PATCH 13/86] gnu: Add rust-tempdir ng0
                   ` (77 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:35 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-winapi-build): New variable.
---
 gnu/packages/rust.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index ff4901d0a..009cf0325 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -500,3 +500,23 @@ methods to @code{Result<T, Void>} and @code{Result<Void, T>}.")
      "Slab Allocator for Rust.  Preallocate memory for values
 of a given type.")
     (license license:expat)))
+
+(define-public rust-winapi-build
+  (package
+    (name "rust-winapi-build")
+    (version "0.1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "winapi-build" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1g4rqsgjky0a7530qajn2bbfcrl2v0zb39idgdws9b1l7gp5wc9d"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/retep998/winapi-rs")
+    (synopsis "Common code for build.rs in WinAPI -sys crates.")
+    (description
+     "Common code for build.rs in WinAPI -sys crates.")
+    (license license:expat)))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 13/86] gnu: Add rust-tempdir.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (11 preceding siblings ...)
  2017-01-03 23:35 ` [PATCH 12/86] gnu: Add rust-winapi-build ng0
@ 2017-01-03 23:35 ` ng0
  2017-01-03 23:35 ` [PATCH 14/86] gnu: Add rust-glob ng0
                   ` (76 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:35 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-tempdir): New variable.
---
 gnu/packages/rust.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 009cf0325..d97a17258 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -520,3 +520,25 @@ of a given type.")
     (description
      "Common code for build.rs in WinAPI -sys crates.")
     (license license:expat)))
+
+(define-public rust-tempdir
+  (package
+    (name "rust-tempdir")
+    (version "0.3.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "tempdir" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1mij45kgzflkja0h8q9avrik76h5a0b60m9hfd6k9yqxbiplm5w7"))))
+    (build-system cargo-build-system)
+    (inputs `(("rust-rand" ,rust-rand "src")))
+    (home-page "https://github.com/rust-lang/tempdir")
+    (synopsis "Library for managing a temporary directory")
+    (description
+     "Tempdir provides a library for managing a temporary directory and
+deleting all contents when it's dropped.")
+    (license (list license:expat license:asl2.0))))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 14/86] gnu: Add rust-glob.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (12 preceding siblings ...)
  2017-01-03 23:35 ` [PATCH 13/86] gnu: Add rust-tempdir ng0
@ 2017-01-03 23:35 ` ng0
  2017-01-03 23:35 ` [PATCH 15/86] gnu: Add rust-scoped-tls ng0
                   ` (75 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:35 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-glob): New variable.
---
 gnu/packages/rust.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index d97a17258..404184c7b 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -542,3 +542,25 @@ of a given type.")
      "Tempdir provides a library for managing a temporary directory and
 deleting all contents when it's dropped.")
     (license (list license:expat license:asl2.0))))
+
+(define-public rust-glob
+  (package
+    (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"))))
+    (build-system cargo-build-system)
+    (native-inputs
+     `(("rust-tempdir" ,rust-tempdir "src")))
+    (home-page "https://github.com/rust-lang/glob")
+    (synopsis "Match file paths against Unix shell style patterns")
+    (description
+     "Support for matching file paths against Unix shell style patterns.")
+    (license (list license:expat license:asl2.0))))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 15/86] gnu: Add rust-scoped-tls.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (13 preceding siblings ...)
  2017-01-03 23:35 ` [PATCH 14/86] gnu: Add rust-glob ng0
@ 2017-01-03 23:35 ` ng0
  2017-01-03 23:35 ` [PATCH 16/86] gnu: Add rust-bitflags ng0
                   ` (74 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:35 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-scoped-tls): New variable.
---
 gnu/packages/rust.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 404184c7b..f2c4e254e 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -564,3 +564,25 @@ deleting all contents when it's dropped.")
     (description
      "Support for matching file paths against Unix shell style patterns.")
     (license (list license:expat license:asl2.0))))
+
+(define-public rust-scoped-tls
+  (package
+    (name "rust-scoped-tls")
+    (version "0.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "scoped-tls" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0z8lgy007ffc9rdl6rhl7jxx6imxx641fmm7i044bsb3y0nw45zl"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/alexcrichton/scoped-tls")
+    (synopsis "Library implementation of the `scoped_thread_local!` macro")
+    (description
+     "Library implementation of the standard library's old
+@code{scoped_thread_local!} macro for providing scoped access to thread
+local storage (TLS) so any type can be stored into TLS.")
+    (license (list license:expat license:asl2.0))))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 16/86] gnu: Add rust-bitflags.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (14 preceding siblings ...)
  2017-01-03 23:35 ` [PATCH 15/86] gnu: Add rust-scoped-tls ng0
@ 2017-01-03 23:35 ` ng0
  2017-01-03 23:35 ` [PATCH 17/86] gnu: Add rust-unreachable ng0
                   ` (73 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:35 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-bitflags): New variable.
---
 gnu/packages/rust.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index f2c4e254e..22ce59869 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -586,3 +586,24 @@ deleting all contents when it's dropped.")
 @code{scoped_thread_local!} macro for providing scoped access to thread
 local storage (TLS) so any type can be stored into TLS.")
     (license (list license:expat license:asl2.0))))
+
+(define-public rust-bitflags
+  (package
+    (name "rust-bitflags")
+    (version "0.7.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "bitflags" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0v8hh6wdkpk9my8z8442g4hqrqf05h0qj53dsay6mv18lqvqklda"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/rust-lang/bitflags")
+    (synopsis "Macro to generate structures which behave like bitflags")
+    (description
+     "Bitflags provides a macro to generate structures which
+behave like bitflags.")
+    (license (list license:expat license:asl2.0))))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 17/86] gnu: Add rust-unreachable.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (15 preceding siblings ...)
  2017-01-03 23:35 ` [PATCH 16/86] gnu: Add rust-bitflags ng0
@ 2017-01-03 23:35 ` ng0
  2017-01-03 23:35 ` [PATCH 18/86] gnu: Add rust-thread-id ng0
                   ` (72 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:35 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-unreachable): New variable.
---
 gnu/packages/rust.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 22ce59869..9893e5a72 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -607,3 +607,25 @@ local storage (TLS) so any type can be stored into TLS.")
      "Bitflags provides a macro to generate structures which
 behave like bitflags.")
     (license (list license:expat license:asl2.0))))
+
+(define-public rust-unreachable
+  (package
+    (name "rust-unreachable")
+    (version "0.1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "unreachable" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "14gzpm329nrfgjvxf6zh77sp7plxakcnsq8p8xk9474fn7fyaahz"))))
+    (build-system cargo-build-system)
+    (inputs `(("rust-void" ,rust-void "src")))
+    (home-page "https://github.com/reem/rust-unreachable.git")
+    (synopsis "Unreachable code optimization hint stable rust")
+    (description
+     "Unreachable provides an unreachable code optimization hint in
+stable rust, and some useful extension traits for @code{Option} and @code{Result}.")
+    (license license:expat)))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 18/86] gnu: Add rust-thread-id.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (16 preceding siblings ...)
  2017-01-03 23:35 ` [PATCH 17/86] gnu: Add rust-unreachable ng0
@ 2017-01-03 23:35 ` ng0
  2017-01-03 23:35 ` [PATCH 19/86] gnu: Add rust-thread-local ng0
                   ` (71 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:35 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-thread-id): New variable.
---
 gnu/packages/rust.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 9893e5a72..b31b3ee4c 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -629,3 +629,29 @@ behave like bitflags.")
      "Unreachable provides an unreachable code optimization hint in
 stable rust, and some useful extension traits for @code{Option} and @code{Result}.")
     (license license:expat)))
+
+(define-public rust-thread-id
+  (package
+    (name "rust-thread-id")
+    (version "3.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "thread-id" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0jn13q459lz46l9r8qqy62ngzc9zbcw5p6k282g143f7b1swjds4"))))
+    (build-system cargo-build-system)
+    (inputs
+     `(;("rust-kernel32-sys" ,rust-kernel32-sys "src") ; WINAPI
+       ("rust-libc" ,rust-libc "src")))
+    (home-page "https://github.com/ruuda/thread-id")
+    (synopsis "Get a unique thread ID")
+    (description
+     "For diagnostics and debugging it can often be useful to get an ID
+that is different for every thread.  Until Rust version 1.14, the
+standard library did not expose a way to do that, which
+made @code{thread-id} necessary.")
+    (license license:asl2.0)))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 19/86] gnu: Add rust-thread-local.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (17 preceding siblings ...)
  2017-01-03 23:35 ` [PATCH 18/86] gnu: Add rust-thread-id ng0
@ 2017-01-03 23:35 ` ng0
  2017-01-03 23:35 ` [PATCH 20/86] gnu: Add rust-cfg-if ng0
                   ` (70 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:35 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-thread-local): New variable.
---
 gnu/packages/rust.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index b31b3ee4c..910f296b6 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -655,3 +655,30 @@ that is different for every thread.  Until Rust version 1.14, the
 standard library did not expose a way to do that, which
 made @code{thread-id} necessary.")
     (license license:asl2.0)))
+
+(define-public rust-thread-local
+  (package
+    (name "rust-thread-local")
+    (version "0.3.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "thread_local" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0pg07fla8i4z4v2bmzq49pr2z8ww6lbg9b7iwwbffz7py0ibg4vp"))))
+    (build-system cargo-build-system)
+    (inputs
+     `(("rust-thread-id" ,rust-thread-id "src")
+       ("rust-unreachable" ,rust-unreachable "src")))
+    (home-page "https://github.com/Amanieu/thread_local-rs")
+    (synopsis "Per-object thread-local storage")
+    (description
+     "This library provides the ThreadLocal type which allows a
+separate copy of an object to be used for each thread.  This allows for
+per-object thread-local storage, unlike the standard library's
+@code{thread_local!} macro which only allows static thread-local
+storage.")
+    (license (list license:asl2.0 license:expat))))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 20/86] gnu: Add rust-cfg-if.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (18 preceding siblings ...)
  2017-01-03 23:35 ` [PATCH 19/86] gnu: Add rust-thread-local ng0
@ 2017-01-03 23:35 ` ng0
  2017-01-03 23:35 ` [PATCH 21/86] gnu: Add rust-net2 ng0
                   ` (69 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:35 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-cfg-if): New variable.
---
 gnu/packages/rust.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 910f296b6..365ab4ed4 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -682,3 +682,26 @@ per-object thread-local storage, unlike the standard library's
 @code{thread_local!} macro which only allows static thread-local
 storage.")
     (license (list license:asl2.0 license:expat))))
+
+(define-public rust-cfg-if
+  (package
+    (name "rust-cfg-if")
+    (version "0.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "cfg-if" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "137qikjcal4h75frzcn6mknygqk8vy5bva7w851aydb5gc6pc7ny"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/alexcrichton/cfg-if")
+    (synopsis
+     "Ergonomically define an item depending on a large number of @code{#[cfg]} parameters")
+    (description
+     "Cfg-if provides a macro to ergonomically define an item depending
+on a large number of @code{#[cfg]} parameters.  Structured like an
+if-else chain, the first matching branch is the item that gets emitted.")
+    (license (list license:expat license:asl2.0))))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 21/86] gnu: Add rust-net2.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (19 preceding siblings ...)
  2017-01-03 23:35 ` [PATCH 20/86] gnu: Add rust-cfg-if ng0
@ 2017-01-03 23:35 ` ng0
  2017-01-03 23:35 ` [PATCH 22/86] gnu: Add rust-bytes ng0
                   ` (68 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:35 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-net2): New variable.
---
 gnu/packages/rust.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 365ab4ed4..ac5272d32 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -705,3 +705,29 @@ storage.")
 on a large number of @code{#[cfg]} parameters.  Structured like an
 if-else chain, the first matching branch is the item that gets emitted.")
     (license (list license:expat license:asl2.0))))
+
+(define-public rust-net2
+  (package
+    (name "rust-net2")
+    (version "0.2.26")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "net2" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1qp3q6xynb481rsp3ig1nmqb6qlxfba3shfrmqij88cppsv9rpsy"))))
+    (build-system cargo-build-system)
+    (inputs
+     `(("rust-cfg-if" ,rust-cfg-if "src")
+       ("rust-libc" ,rust-libc "src")))
+    (home-page "https://github.com/rust-lang-nursery/net2-rs")
+    (synopsis "Extensions to the standard library's networking types")
+    (description
+     "Extensions to the standard library's networking types
+as proposed in RFC 1158.  They expand the surface area of @code{std::net}
+to bind more low-level interfaces and provide more advanced customization
+and configuration of sockets.")
+    (license (list license:expat license:asl2.0))))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 22/86] gnu: Add rust-bytes.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (20 preceding siblings ...)
  2017-01-03 23:35 ` [PATCH 21/86] gnu: Add rust-net2 ng0
@ 2017-01-03 23:35 ` ng0
  2017-01-03 23:35 ` [PATCH 23/86] gnu: Add rust-openssl-probe ng0
                   ` (67 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:35 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-bytes): New variable.
---
 gnu/packages/rust.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index ac5272d32..2a77ccb7c 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -731,3 +731,24 @@ as proposed in RFC 1158.  They expand the surface area of @code{std::net}
 to bind more low-level interfaces and provide more advanced customization
 and configuration of sockets.")
     (license (list license:expat license:asl2.0))))
+
+(define-public rust-bytes
+  (package
+    (name "rust-bytes")
+    (version "0.3.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "bytes" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "09vcp9kh12pva2xn2ir79k90v1a0id8f4sdv1abn5ifw2bqsyaf1"))))
+    (build-system cargo-build-system)
+    (native-inputs `(("rust-rand" ,rust-rand "src")))
+    (home-page "https://github.com/carllerche/bytes")
+    (synopsis "Types and traits for working with bytes")
+    (description
+     "Bytes provides a utility library for working with bytes.")
+    (license license:expat)))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 23/86] gnu: Add rust-openssl-probe.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (21 preceding siblings ...)
  2017-01-03 23:35 ` [PATCH 22/86] gnu: Add rust-bytes ng0
@ 2017-01-03 23:35 ` ng0
  2017-01-03 23:35 ` [PATCH 24/86] gnu: Add rust-pkg-config ng0
                   ` (66 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:35 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-openssl-probe): New variable.
---
 gnu/packages/rust.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 2a77ccb7c..7c44dd28b 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -752,3 +752,25 @@ and configuration of sockets.")
     (description
      "Bytes provides a utility library for working with bytes.")
     (license license:expat)))
+
+(define-public rust-openssl-probe
+  (package
+    (name "rust-openssl-probe")
+    (version "0.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "openssl-probe" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0689h6rhzy6dypqr90lsxnf108nsnh952wsx7ggs70s48b44jvbm"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/alexcrichton/openssl-probe")
+    (synopsis "Tool for helping to find SSL certificate locations on the system")
+    (description
+     "Openssl-probe probes the system for the directory in which
+CA certificates should likely be found.  This will only search known
+system locations.")
+    (license (list license:expat license:asl2.0))))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 24/86] gnu: Add rust-pkg-config.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (22 preceding siblings ...)
  2017-01-03 23:35 ` [PATCH 23/86] gnu: Add rust-openssl-probe ng0
@ 2017-01-03 23:35 ` ng0
  2017-01-03 23:35 ` [PATCH 25/86] gnu: Add rust-num-traits ng0
                   ` (65 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:35 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-pkg-config): New variable.
---
 gnu/packages/rust.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 7c44dd28b..0dca6a02f 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -774,3 +774,24 @@ and configuration of sockets.")
 CA certificates should likely be found.  This will only search known
 system locations.")
     (license (list license:expat license:asl2.0))))
+
+(define-public rust-pkg-config
+  (package
+    (name "rust-pkg-config")
+    (version "0.3.8")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "pkg-config" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1ypj4nj2z9z27qg06v3g40jyhw685i3l2wi098d21bvyri781vlc"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/alexcrichton/pkg-config-rs")
+    (synopsis "Library to provide pkg-config to be used by Cargo")
+    (description
+     "This package provides a library to run the pkg-config system tool
+at build time in order to be used in Cargo build scripts.")
+    (license (list license:expat license:asl2.0))))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 25/86] gnu: Add rust-num-traits.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (23 preceding siblings ...)
  2017-01-03 23:35 ` [PATCH 24/86] gnu: Add rust-pkg-config ng0
@ 2017-01-03 23:35 ` ng0
  2017-01-03 23:35 ` [PATCH 26/86] gnu: Add rust-num-integer ng0
                   ` (64 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:35 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-num-traits): New variable.
---
 gnu/packages/rust.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 0dca6a02f..95dbb0ba0 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -795,3 +795,23 @@ system locations.")
      "This package provides a library to run the pkg-config system tool
 at build time in order to be used in Cargo build scripts.")
     (license (list license:expat license:asl2.0))))
+
+(define-public rust-num-traits
+  (package
+    (name "rust-num-traits")
+    (version "0.1.36")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "num-traits" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "07688sp4z40p14lh5ywvrpm4zq8kcxzhjks8sg33jsr5da2l4sm1"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/rust-num/num")
+    (synopsis "Numeric traits for generic mathematics")
+    (description
+     "Num-traits provides numeric traits for generic mathematics.")
+    (license (list license:expat license:asl2.0))))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 26/86] gnu: Add rust-num-integer.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (24 preceding siblings ...)
  2017-01-03 23:35 ` [PATCH 25/86] gnu: Add rust-num-traits ng0
@ 2017-01-03 23:35 ` ng0
  2017-01-03 23:35 ` [PATCH 27/86] gnu: Add rust-num-iter ng0
                   ` (63 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:35 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-num-integer): New variable.
---
 gnu/packages/rust.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 95dbb0ba0..1c3de9897 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -815,3 +815,25 @@ at build time in order to be used in Cargo build scripts.")
     (description
      "Num-traits provides numeric traits for generic mathematics.")
     (license (list license:expat license:asl2.0))))
+
+(define-public rust-num-integer
+  (package
+    (name "rust-num-integer")
+    (version "0.1.32")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "num-integer" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "14pvaaawl0pgdcgh4dfdd67lz58yxlfl95bry86h28pjnfzxj97v"))))
+    (build-system cargo-build-system)
+    (inputs
+     `(("rust-num-traits" ,rust-num-traits "src")))
+    (home-page "https://github.com/rust-num/num")
+    (synopsis "Integer traits and functions")
+    (description
+     "Num-integer provides integer traits and functions.")
+    (license (list license:expat license:asl2.0))))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 27/86] gnu: Add rust-num-iter.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (25 preceding siblings ...)
  2017-01-03 23:35 ` [PATCH 26/86] gnu: Add rust-num-integer ng0
@ 2017-01-03 23:35 ` ng0
  2017-01-03 23:35 ` [PATCH 28/86] gnu: Add rust-openssl-sys ng0
                   ` (62 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:35 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-num-iter): New variable.
---
 gnu/packages/rust.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 1c3de9897..e29a502a7 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -837,3 +837,26 @@ at build time in order to be used in Cargo build scripts.")
     (description
      "Num-integer provides integer traits and functions.")
     (license (list license:expat license:asl2.0))))
+
+(define-public rust-num-iter
+  (package
+    (name "rust-num-iter")
+    (version "0.1.32")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "num-iter" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0p74nj5c1mc33h9lx4wpmlmggmn5lnkhxv1225g0aix8d6ciqyi8"))))
+    (build-system cargo-build-system)
+    (inputs
+     `(("rust-num-integer" ,rust-num-integer "src")
+       ("rust-num-traits" ,rust-num-traits "src")))
+    (home-page "https://github.com/rust-num/num")
+    (synopsis "External iterators for generic mathematics")
+    (description
+     "Num-iter provides external iterators for generic mathematics.")
+    (license (list license:expat license:asl2.0))))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 28/86] gnu: Add rust-openssl-sys.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (26 preceding siblings ...)
  2017-01-03 23:35 ` [PATCH 27/86] gnu: Add rust-num-iter ng0
@ 2017-01-03 23:35 ` ng0
  2017-01-03 23:35 ` [PATCH 29/86] gnu: Add rust-matches ng0
                   ` (61 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:35 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-openssl-sys): New variable.
---
 gnu/packages/rust.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index e29a502a7..6f147d9ba 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -29,6 +29,7 @@
   #:use-module (gnu packages llvm)
   #:use-module (gnu packages python)
   #:use-module (gnu packages qt)
+  #:use-module (gnu packages tls)
   #:use-module (gnu packages version-control)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system trivial)
@@ -860,3 +861,27 @@ at build time in order to be used in Cargo build scripts.")
     (description
      "Num-iter provides external iterators for generic mathematics.")
     (license (list license:expat license:asl2.0))))
+
+(define-public rust-openssl-sys
+  (package
+    (name "rust-openssl-sys")
+    (version "0.9.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "openssl-sys" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "00fhzblw6l43ykrp3wwz3lwxqzl8sqd6vzrpb5jjn86av963f8sy"))))
+    (build-system cargo-build-system)
+    (native-inputs
+     `(("rust-pkg-config" ,rust-pkg-config "src")))
+    (inputs
+     `(("rust-libc" ,rust-libc "src")
+       ("openssl" ,openssl)))
+    (home-page "https://github.com/sfackler/rust-openssl")
+    (synopsis "OpenSSL bindings for Rust")
+    (description "OpenSSL bindings for Rust")
+    (license license:expat)))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 29/86] gnu: Add rust-matches.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (27 preceding siblings ...)
  2017-01-03 23:35 ` [PATCH 28/86] gnu: Add rust-openssl-sys ng0
@ 2017-01-03 23:35 ` ng0
  2017-01-03 23:35 ` [PATCH 30/86] gnu: Add rust-getopts ng0
                   ` (60 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:35 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-matches): New variable.
---
 gnu/packages/rust.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 6f147d9ba..e68c62dd8 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -885,3 +885,24 @@ at build time in order to be used in Cargo build scripts.")
     (synopsis "OpenSSL bindings for Rust")
     (description "OpenSSL bindings for Rust")
     (license license:expat)))
+
+(define-public rust-matches
+  (package
+    (name "rust-matches")
+    (version "0.1.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "matches" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1c8190j84hbicy8jwscw5icfam12j6lcxi02lvmadq9260p65mzg"))))
+    (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)))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 30/86] gnu: Add rust-getopts.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (28 preceding siblings ...)
  2017-01-03 23:35 ` [PATCH 29/86] gnu: Add rust-matches ng0
@ 2017-01-03 23:35 ` ng0
  2017-01-03 23:35 ` [PATCH 31/86] gnu: Add rust-encoding-index-tests ng0
                   ` (59 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:35 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-getopts): New variable.
---
 gnu/packages/rust.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index e68c62dd8..0151e7b8d 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -906,3 +906,24 @@ at build time in order to be used in Cargo build scripts.")
      "This package provides a macro to evaluate, as a boolean,
 whether an expression matches a pattern.")
     (license license:expat)))
+
+(define-public rust-getopts
+  (package
+    (name "rust-getopts")
+    (version "0.2.14")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "getopts" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "11fnh4awj227c85ax1sixbl5yb25c3qmxlv3nd870hwas3xpq16r"))))
+    (build-system cargo-build-system)
+    (native-inputs `(("rust-log" ,rust-log "src")))
+    (home-page "https://github.com/rust-lang/getopts")
+    (synopsis "Getopts-like option parsing")
+    (description
+     "Getopts provides a Rust library for option parsing for CLI utilities.")
+    (license (list license:expat license:asl2.0))))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 31/86] gnu: Add rust-encoding-index-tests.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (29 preceding siblings ...)
  2017-01-03 23:35 ` [PATCH 30/86] gnu: Add rust-getopts ng0
@ 2017-01-03 23:35 ` ng0
  2017-01-03 23:35 ` [PATCH 32/86] gnu: Add rust-encoding-index-japanese ng0
                   ` (58 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:35 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-encoding-index-tests): New variable.
---
 gnu/packages/rust.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 0151e7b8d..690680c63 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -927,3 +927,25 @@ whether an expression matches a pattern.")
     (description
      "Getopts provides a Rust library for option parsing for CLI utilities.")
     (license (list license:expat license:asl2.0))))
+
+(define-public rust-encoding-index-tests
+  (package
+    (name "rust-encoding-index-tests")
+    (version "0.1.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "encoding_index_tests" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0s85y091gl17ixass49bzaivng7w8p82p6nyvz2r3my9w4mxhim2"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/lifthrasiir/rust-encoding")
+    (synopsis "Helper macros used to test index tables for character encodings")
+    (description
+     "Encoding-index-tests provides helper macros used to test index
+tables for character encodings.  This package is part of the crate \"encoding\",
+which is providing character encoding support for Rust.")
+    (license license:cc0)))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 32/86] gnu: Add rust-encoding-index-japanese.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (30 preceding siblings ...)
  2017-01-03 23:35 ` [PATCH 31/86] gnu: Add rust-encoding-index-tests ng0
@ 2017-01-03 23:35 ` ng0
  2017-01-03 23:35 ` [PATCH 33/86] gnu: Add rust-encoding-index-korean ng0
                   ` (57 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:35 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-encoding-index-japanese): New variable.
---
 gnu/packages/rust.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 690680c63..0163483c9 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -949,3 +949,27 @@ whether an expression matches a pattern.")
 tables for character encodings.  This package is part of the crate \"encoding\",
 which is providing character encoding support for Rust.")
     (license license:cc0)))
+
+(define-public rust-encoding-index-japanese
+  (package
+    (name "rust-encoding-index-japanese")
+    (version "1.20141219.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "encoding-index-japanese" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "148c1lmd640p1d7fzk0nv7892mbyavvwddgqvcsm78798bzv5s04"))))
+    (build-system cargo-build-system)
+    (inputs
+     `(("rust-encoding-index-tests" ,rust-encoding-index-tests "src")))
+    (home-page "https://github.com/lifthrasiir/rust-encoding")
+    (synopsis "Index tables for Japanese character encodings")
+    (description
+     "Encoding-index-japanese provides index tables for Japanese
+character encodings.  This package is part of the crate \"encoding\",
+which is providing character encoding support for Rust.")
+    (license license:cc0)))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 33/86] gnu: Add rust-encoding-index-korean.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (31 preceding siblings ...)
  2017-01-03 23:35 ` [PATCH 32/86] gnu: Add rust-encoding-index-japanese ng0
@ 2017-01-03 23:35 ` ng0
  2017-01-03 23:35 ` [PATCH 34/86] gnu: Add rust-encoding-index-simpchinese ng0
                   ` (56 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:35 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-encoding-index-korean): New variable.
---
 gnu/packages/rust.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 0163483c9..e0b19eee4 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -973,3 +973,27 @@ which is providing character encoding support for Rust.")
 character encodings.  This package is part of the crate \"encoding\",
 which is providing character encoding support for Rust.")
     (license license:cc0)))
+
+(define-public rust-encoding-index-korean
+  (package
+    (name "rust-encoding-index-korean")
+    (version "1.20141219.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "encoding-index-korean" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "10cxabp5ppygbq4y6y680856zl9zjvq7ahpiw8zj3fmwwsw3zhsd"))))
+    (build-system cargo-build-system)
+    (inputs
+     `(("rust-encoding-index-tests" ,rust-encoding-index-tests "src")))
+    (home-page "https://github.com/lifthrasiir/rust-encoding")
+    (synopsis "Index tables for Korean character encodings")
+    (description
+     "Encoding-index-korean provides index tables for Korean character
+encodings.  This package is part of the crate \"encoding\",
+which is providing character encoding support for Rust.")
+    (license license:cc0)))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 34/86] gnu: Add rust-encoding-index-simpchinese.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (32 preceding siblings ...)
  2017-01-03 23:35 ` [PATCH 33/86] gnu: Add rust-encoding-index-korean ng0
@ 2017-01-03 23:35 ` ng0
  2017-01-03 23:35 ` [PATCH 35/86] gnu: Add rust-encoding-index-singlebyte ng0
                   ` (55 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:35 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-encoding-index-simpchinese): New variable.
---
 gnu/packages/rust.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index e0b19eee4..907aac689 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -997,3 +997,27 @@ which is providing character encoding support for Rust.")
 encodings.  This package is part of the crate \"encoding\",
 which is providing character encoding support for Rust.")
     (license license:cc0)))
+
+(define-public rust-encoding-index-simpchinese
+  (package
+    (name "rust-encoding-index-simpchinese")
+    (version "1.20141219.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "encoding-index-simpchinese" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1xria2i7mc5dqdrpqxasdbxv1qx46jjbm53if3y1i4cvj2a72ynq"))))
+    (build-system cargo-build-system)
+    (inputs
+     `(("rust-encoding-index-tests" ,rust-encoding-index-tests "src")))
+    (home-page "https://github.com/lifthrasiir/rust-encoding")
+    (synopsis "Index tables for simplified Chinese character encodings")
+    (description
+     "Encoding-index-simpchinese provides index tables for simplified
+Chinese character encodings.  This package is part of the crate \"encoding\",
+which is providing character encoding support for Rust.")
+    (license license:cc0)))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 35/86] gnu: Add rust-encoding-index-singlebyte.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (33 preceding siblings ...)
  2017-01-03 23:35 ` [PATCH 34/86] gnu: Add rust-encoding-index-simpchinese ng0
@ 2017-01-03 23:35 ` ng0
  2017-01-03 23:35 ` [PATCH 36/86] gnu: Add rust-encoding-index-tradchinese ng0
                   ` (54 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:35 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-encoding-index-singlebyte): New variable.
---
 gnu/packages/rust.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 907aac689..a5b779f93 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1021,3 +1021,27 @@ which is providing character encoding support for Rust.")
 Chinese character encodings.  This package is part of the crate \"encoding\",
 which is providing character encoding support for Rust.")
     (license license:cc0)))
+
+(define-public rust-encoding-index-singlebyte
+  (package
+    (name "rust-encoding-index-singlebyte")
+    (version "1.20141219.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "encoding-index-singlebyte" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0jp85bz2pprzvg9m95w4q0vibh67b6w3bx35lafay95jzyndal9k"))))
+    (build-system cargo-build-system)
+    (inputs
+     `(("rust-encoding-index-tests" ,rust-encoding-index-tests "src")))
+    (home-page "https://github.com/lifthrasiir/rust-encoding")
+    (synopsis "Index tables for various single-byte character encodings")
+    (description
+     "Encoding-index-singlebyte provides index tables for various
+single-byte character encodings.  This package is part of the crate \"encoding\",
+which is providing character encoding support for Rust.")
+    (license license:cc0)))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 36/86] gnu: Add rust-encoding-index-tradchinese.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (34 preceding siblings ...)
  2017-01-03 23:35 ` [PATCH 35/86] gnu: Add rust-encoding-index-singlebyte ng0
@ 2017-01-03 23:35 ` ng0
  2017-01-03 23:35 ` [PATCH 37/86] gnu: Add rust-encoding ng0
                   ` (53 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:35 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-encoding-index-tradchinese): New variable.
---
 gnu/packages/rust.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index a5b779f93..e9b2a84bf 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1045,3 +1045,27 @@ which is providing character encoding support for Rust.")
 single-byte character encodings.  This package is part of the crate \"encoding\",
 which is providing character encoding support for Rust.")
     (license license:cc0)))
+
+(define-public rust-encoding-index-tradchinese
+  (package
+    (name "rust-encoding-index-tradchinese")
+    (version "1.20141219.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "encoding-index-tradchinese" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "060ci4iz6xfvzk38syfbjvs7pix5hch3mvxkksswmqwcd3aj03px"))))
+    (build-system cargo-build-system)
+    (inputs
+     `(("rust-encoding-index-tests" ,rust-encoding-index-tests "src")))
+    (home-page "https://github.com/lifthrasiir/rust-encoding")
+    (synopsis "Index tables for traditional Chinese character encodings")
+    (description
+     "Encoding-index-tradchinese provides index tables for traditional
+Chinese character encodings.  This package is part of the crate \"encoding\",
+which is providing character encoding support for Rust.")
+    (license license:cc0)))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 37/86] gnu: Add rust-encoding.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (35 preceding siblings ...)
  2017-01-03 23:35 ` [PATCH 36/86] gnu: Add rust-encoding-index-tradchinese ng0
@ 2017-01-03 23:35 ` ng0
  2017-01-03 23:35 ` [PATCH 38/86] gnu: Add rust-deque ng0
                   ` (52 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:35 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-encoding): New variable.
---
 gnu/packages/rust.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index e9b2a84bf..f68e1ceb0 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1069,3 +1069,33 @@ which is providing character encoding support for Rust.")
 Chinese character encodings.  This package is part of the crate \"encoding\",
 which is providing character encoding support for Rust.")
     (license license:cc0)))
+
+(define-public rust-encoding
+  (package
+    (name "rust-encoding")
+    (version "0.2.33")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "encoding" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1v1ndmkarh9z3n5hk53da4z56hgk9wa5kcsm7cnx345raqw983bb"))))
+    (build-system cargo-build-system)
+    (native-inputs
+     `(("rust-getopts" ,rust-getopts "src")))
+    (inputs
+     `(("rust-encoding-index-japanese" ,rust-encoding-index-japanese "src")
+       ("rust-encoding-index-korean" ,rust-encoding-index-korean "src")
+       ("rust-encoding-index-simpchinese" ,rust-encoding-index-simpchinese "src")
+       ("rust-encoding-index-singlebyte" ,rust-encoding-index-singlebyte "src")
+       ("rust-encoding-index-tradchinese" ,rust-encoding-index-tradchinese "src")))
+    (home-page "https://github.com/lifthrasiir/rust-encoding")
+    (synopsis "Character encoding support for Rust")
+    (description
+     "@code{encoding} adds character encoding support for Rust.  It is
+based on WHATWG Encoding Standard, and also provides an advanced
+interface for error detection and recovery.")
+    (license license:expat)))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 38/86] gnu: Add rust-deque.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (36 preceding siblings ...)
  2017-01-03 23:35 ` [PATCH 37/86] gnu: Add rust-encoding ng0
@ 2017-01-03 23:35 ` ng0
  2017-01-03 23:35 ` [PATCH 39/86] gnu: Add rust-clippy-mini-macro-test ng0
                   ` (51 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:35 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-deque): New variable.
---
 gnu/packages/rust.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index f68e1ceb0..28a8f72c6 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1099,3 +1099,31 @@ which is providing character encoding support for Rust.")
 based on WHATWG Encoding Standard, and also provides an advanced
 interface for error detection and recovery.")
     (license license:expat)))
+
+(define-public rust-deque
+  (package
+    (name "rust-deque")
+    (version "0.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "deque" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1gz75w8l3l0rjxxa9j1ykxra2kb5828j297av1g7h4g78286a50n"))))
+    (build-system cargo-build-system)
+    (inputs `(("rust-rand" ,rust-rand "src")))
+    (home-page "https://github.com/kinghajj/deque")
+    (synopsis "Mostly lock-free concurrent work-stealing deque")
+    (description
+     "@code{deque} contains an implementation of the Chase-Lev work
+stealing deque described in \"Dynamic Circular Work-Stealing Deque\".
+The implementation is heavily based on the implementation using C11
+atomics in \"Correct and Efficient Work Stealing for Weak Memory Models\".
+
+The only potentially lock-synchronized portion of this deque is the
+occasional call to the memory allocator when growing the deque.
+Otherwise all operations are lock-free.")
+    (license (list license:expat license:asl2.0))))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 39/86] gnu: Add rust-clippy-mini-macro-test.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (37 preceding siblings ...)
  2017-01-03 23:35 ` [PATCH 38/86] gnu: Add rust-deque ng0
@ 2017-01-03 23:35 ` ng0
  2017-01-03 23:35 ` [PATCH 40/86] gnu: Add rust-unicode-normalization ng0
                   ` (50 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:35 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-clippy-mini-macro-test): New variable.
---
 gnu/packages/rust.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 28a8f72c6..8185ddcad 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1127,3 +1127,24 @@ The only potentially lock-synchronized portion of this deque is the
 occasional call to the memory allocator when growing the deque.
 Otherwise all operations are lock-free.")
     (license (list license:expat license:asl2.0))))
+
+(define-public rust-clippy-mini-macro-test
+  (package
+    (name "rust-clippy-mini-macro-test")
+    (version "0.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "clippy-mini-macro-test" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1f1q09az4xk4aqnp8g1m6kf4hif75gr7rwzhh4yw7g1gqk94jsgq"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/Manishearth/rust-clippy")
+    (synopsis "Macro to test clippy's procedural macro checks")
+    (description
+     "Clippy-mini-macro-test provides a macro to test
+clippy's procedural macro checks.")
+    (license license:mpl2.0)))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 40/86] gnu: Add rust-unicode-normalization.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (38 preceding siblings ...)
  2017-01-03 23:35 ` [PATCH 39/86] gnu: Add rust-clippy-mini-macro-test ng0
@ 2017-01-03 23:35 ` ng0
  2017-01-03 23:35 ` [PATCH 41/86] gnu: Add rust-fnv ng0
                   ` (49 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:35 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-unicode-normalization): New variable.
---
 gnu/packages/rust.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 8185ddcad..047f6d21e 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1148,3 +1148,25 @@ Otherwise all operations are lock-free.")
      "Clippy-mini-macro-test provides a macro to test
 clippy's procedural macro checks.")
     (license license:mpl2.0)))
+
+(define-public rust-unicode-normalization
+  (package
+    (name "rust-unicode-normalization")
+    (version "0.1.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "unicode-normalization" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "17k67c2cjqyayirx239cxpb10lryyd79qql0a73zr40hjvvfk52y"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/unicode-rs/unicode-normalization")
+    (synopsis "Functions for normalization of Unicode strings")
+    (description
+     "Unicode-normalization provides functions for normalization of
+Unicode strings, including Canonical and Compatible Decomposition and
+Recomposition, as described in Unicode Standard Annex #15.")
+    (license (list license:expat license:asl2.0))))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 41/86] gnu: Add rust-fnv.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (39 preceding siblings ...)
  2017-01-03 23:35 ` [PATCH 40/86] gnu: Add rust-unicode-normalization ng0
@ 2017-01-03 23:35 ` ng0
  2017-01-04  0:38   ` Danny Milosavljevic
  2017-01-03 23:35 ` [PATCH 42/86] gnu: Add rust-heapsize ng0
                   ` (48 subsequent siblings)
  89 siblings, 1 reply; 113+ messages in thread
From: ng0 @ 2017-01-03 23:35 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-fnv): New variable.
---
 gnu/packages/rust.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 047f6d21e..6f02eb7ca 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1170,3 +1170,29 @@ clippy's procedural macro checks.")
 Unicode strings, including Canonical and Compatible Decomposition and
 Recomposition, as described in Unicode Standard Annex #15.")
     (license (list license:expat license:asl2.0))))
+
+(define-public rust-fnv
+  (package
+    (name "rust-fnv")
+    (version "1.0.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "fnv" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0i73zsc7q1hapamwfv793k3xhan11jb9ylkgypx88a0y5y289i3c"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/servo/rust-fnv")
+    (synopsis "Implementation of the Fowler–Noll–Vo hash function")
+    (description
+     "The FNV hash function is a custom Hasher implementation that is
+more efficient for smaller hash keys.
+
+The Rust FAQ states that while the default Hasher implementation,
+SipHash, is good in many cases, it is notably slower than other
+algorithms with short keys, such as when you have a map of integers to
+other values.  In cases like these, FNV is demonstrably faster.")
+    (license (list license:expat license:asl2.0))))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 42/86] gnu: Add rust-heapsize.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (40 preceding siblings ...)
  2017-01-03 23:35 ` [PATCH 41/86] gnu: Add rust-fnv ng0
@ 2017-01-03 23:35 ` ng0
  2017-01-04  0:39   ` Danny Milosavljevic
  2017-01-03 23:35 ` [PATCH 43/86] gnu: Add rust-unicode-bidi ng0
                   ` (47 subsequent siblings)
  89 siblings, 1 reply; 113+ messages in thread
From: ng0 @ 2017-01-03 23:35 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-heapsize): New variable.
---
 gnu/packages/rust.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 6f02eb7ca..e322fa5e9 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1196,3 +1196,24 @@ SipHash, is good in many cases, it is notably slower than other
 algorithms with short keys, such as when you have a map of integers to
 other values.  In cases like these, FNV is demonstrably faster.")
     (license (list license:expat license:asl2.0))))
+
+(define-public rust-heapsize
+  (package
+    (name "rust-heapsize")
+    (version "0.3.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "heapsize" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0j9m3cw91apd2shfqv3xk0ih9sj2dv04s4v6jl8ak5c4fnaf304c"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/servo/heapsize")
+    (synopsis "Measure the total runtime size of an object on the heap")
+    (description
+     "@code{heapsize} can be used in support of measuring heap
+allocations in Rust programs.")
+    (license license:mpl2.0)))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 43/86] gnu: Add rust-unicode-bidi.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (41 preceding siblings ...)
  2017-01-03 23:35 ` [PATCH 42/86] gnu: Add rust-heapsize ng0
@ 2017-01-03 23:35 ` ng0
  2017-01-03 23:36 ` [PATCH 44/86] gnu: Add rust-rustc-serialize ng0
                   ` (46 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:35 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-unicode-bidi): New variable.
---
 gnu/packages/rust.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index e322fa5e9..c85697173 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1217,3 +1217,26 @@ other values.  In cases like these, FNV is demonstrably faster.")
      "@code{heapsize} can be used in support of measuring heap
 allocations in Rust programs.")
     (license license:mpl2.0)))
+
+(define-public rust-unicode-bidi
+  (package
+    (name "rust-unicode-bidi")
+    (version "0.2.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "unicode-bidi" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0y5prqsb68l5z3l3l8ql68pbq21yjiy7qxhg6wahy3pxwzri865n"))))
+    (build-system cargo-build-system)
+    (inputs `(("rust-matches" ,rust-matches "src")))
+    (home-page "https://github.com/servo/unicode-bidi")
+    (synopsis "Implementation of the Unicode Bidirectional Algorithm")
+    (description
+     "@code{unicode-bidi} implements the Unicode Bidirectional Algorithm for
+display of mixed right-to-left and left-to-right text.  It is
+written in safe Rust, compatible with the current stable release.")
+    (license (list license:expat license:asl2.0))))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 44/86] gnu: Add rust-rustc-serialize.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (42 preceding siblings ...)
  2017-01-03 23:35 ` [PATCH 43/86] gnu: Add rust-unicode-bidi ng0
@ 2017-01-03 23:36 ` ng0
  2017-01-03 23:36 ` [PATCH 45/86] gnu: Add rust-time ng0
                   ` (45 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:36 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-rustc-serialize): New variable.
---
 gnu/packages/rust.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index c85697173..0ddea98f9 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1240,3 +1240,26 @@ allocations in Rust programs.")
 display of mixed right-to-left and left-to-right text.  It is
 written in safe Rust, compatible with the current stable release.")
     (license (list license:expat license:asl2.0))))
+
+(define-public rust-rustc-serialize
+  (package
+    (name "rust-rustc-serialize")
+    (version "0.3.22")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rustc-serialize" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0ywmsdk4l4q68hkw37743cf8kl7dp71p6317h14v82zji734cx93"))))
+    (build-system cargo-build-system)
+    (native-inputs `(("rust-rand" ,rust-rand "src")))
+    (home-page "https://github.com/rust-lang/rustc-serialize")
+    (synopsis "Generic serialization/deserialization support")
+    (description
+     "Generic serialization/deserialization support corresponding to the
+@code{derive(RustcEncodable, RustcDecodable)} mode in the compiler.  It also
+includes support for hex, base64, and json encoding and decoding.")
+    (license (list license:expat license:asl2.0))))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 45/86] gnu: Add rust-time.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (43 preceding siblings ...)
  2017-01-03 23:36 ` [PATCH 44/86] gnu: Add rust-rustc-serialize ng0
@ 2017-01-03 23:36 ` ng0
  2017-01-03 23:36 ` [PATCH 46/86] gnu: Add rust-term ng0
                   ` (44 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:36 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-time): New variable.
---
 gnu/packages/rust.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 0ddea98f9..9255f3fd7 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1263,3 +1263,29 @@ written in safe Rust, compatible with the current stable release.")
 @code{derive(RustcEncodable, RustcDecodable)} mode in the compiler.  It also
 includes support for hex, base64, and json encoding and decoding.")
     (license (list license:expat license:asl2.0))))
+
+(define-public rust-time
+  (package
+    (name "rust-time")
+    (version "0.1.35")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "time" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1bw977mljs38cdajkpl1g55jz5rj76d8pdxkgbh59pr05bbccziw"))))
+    (build-system cargo-build-system)
+    (native-inputs
+     `(("rust-log" ,rust-log "src")))
+    (inputs
+     `(("rust-libc" ,rust-libc "src")
+       ("rust-rustc-serialize" ,rust-rustc-serialize "src")))
+    (home-page "https://github.com/rust-lang/time")
+    (synopsis "Utilities for working with time-related functions")
+    (description
+     "@code{time} provides utilities for working with
+time-related functions in Rust.")
+    (license (list license:expat license:asl2.0))))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 46/86] gnu: Add rust-term.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (44 preceding siblings ...)
  2017-01-03 23:36 ` [PATCH 45/86] gnu: Add rust-time ng0
@ 2017-01-03 23:36 ` ng0
  2017-01-04  0:41   ` Danny Milosavljevic
  2017-01-03 23:36 ` [PATCH 47/86] gnu: Add rust-rustc-test ng0
                   ` (43 subsequent siblings)
  89 siblings, 1 reply; 113+ messages in thread
From: ng0 @ 2017-01-03 23:36 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-term): New variable.
---
 gnu/packages/rust.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 9255f3fd7..d76c9e780 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1289,3 +1289,23 @@ includes support for hex, base64, and json encoding and decoding.")
      "@code{time} provides utilities for working with
 time-related functions in Rust.")
     (license (list license:expat license:asl2.0))))
+
+(define-public rust-term
+  (package
+    (name "rust-term")
+    (version "0.4.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "term" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0jpr7jb1xidadh0arklwr99r8w1k1dfc4an3ginpsq5nnfigivrx"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/Stebalien/term")
+    (synopsis "Terminal formatting library")
+    (description
+     "Term provides a terminal formatting library.")
+    (license (list license:expat license:asl2.0))))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 47/86] gnu: Add rust-rustc-test.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (45 preceding siblings ...)
  2017-01-03 23:36 ` [PATCH 46/86] gnu: Add rust-term ng0
@ 2017-01-03 23:36 ` ng0
  2017-01-03 23:36 ` [PATCH 48/86] gnu: Add rust-idna ng0
                   ` (42 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:36 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-rustc-test): New variable.
---
 gnu/packages/rust.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index d76c9e780..10f4be823 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1309,3 +1309,30 @@ time-related functions in Rust.")
     (description
      "Term provides a terminal formatting library.")
     (license (list license:expat license:asl2.0))))
+
+(define-public rust-rustc-test
+  (package
+    (name "rust-rustc-test")
+    (version "0.1.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rustc-test" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0x9878wxb8lqp97d6414sxl7nk0cnp8qqm4yvbhg8bfdqcmpr2js"))))
+    (build-system cargo-build-system)
+    (inputs
+     `(("rust-getopts" ,rust-getopts "src")
+       ("rust-libc" ,rust-libc "src")
+       ("rust-rustc-serialize" ,rust-rustc-serialize "src")
+       ("rust-term" ,rust-term "src")
+       ("rust-time" ,rust-time "src")))
+    (home-page "https://github.com/SimonSapin/rustc-test")
+    (synopsis "Fork of Rust's `test` crate to use for rust stable")
+    (description
+     "@code{rustc-test} provides a fork of Rust's \"test\" crate that
+does not require unstable language features.")
+    (license (list license:expat license:asl2.0))))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 48/86] gnu: Add rust-idna.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (46 preceding siblings ...)
  2017-01-03 23:36 ` [PATCH 47/86] gnu: Add rust-rustc-test ng0
@ 2017-01-03 23:36 ` ng0
  2017-01-03 23:36 ` [PATCH 49/86] gnu: Add rust-compiletest-rs ng0
                   ` (41 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:36 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-idna): New variable.
---
 gnu/packages/rust.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 10f4be823..9884c371d 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1336,3 +1336,30 @@ time-related functions in Rust.")
      "@code{rustc-test} provides a fork of Rust's \"test\" crate that
 does not require unstable language features.")
     (license (list license:expat license:asl2.0))))
+
+(define-public rust-idna
+  (package
+    (name "rust-idna")
+    (version "0.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "idna" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "049c2rmlydrrrgrxdaq2v21adx9vkfh6k9x4xj56ckyf01p26lqh"))))
+    (build-system cargo-build-system)
+    (native-inputs
+     `(("rust-rustc-serialize" ,rust-rustc-serialize "src")
+       ("rust-rustc-test" ,rust-rustc-test "src")))
+    (inputs
+     `(("rust-matches" ,rust-matches "src")
+       ("rust-unicode-bidi" ,rust-unicode-bidi "src")
+       ("rust-unicode-normalization" ,rust-unicode-normalization "src")))
+    (home-page "https://github.com/servo/rust-url/")
+    (synopsis "IDNA and Punycode")
+    (description
+     "@code{idna} provides IDNA (Internationalizing Domain Names in Applications) and Punycode.  It is part of the \"url\" package.")
+    (license (list license:expat license:asl2.0))))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 49/86] gnu: Add rust-compiletest-rs.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (47 preceding siblings ...)
  2017-01-03 23:36 ` [PATCH 48/86] gnu: Add rust-idna ng0
@ 2017-01-03 23:36 ` ng0
  2017-01-03 23:36 ` [PATCH 50/86] gnu: Add rust-strsim ng0
                   ` (40 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:36 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-compiletest-rs): New variable.
---
 gnu/packages/rust.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 9884c371d..98bbe888a 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1363,3 +1363,27 @@ does not require unstable language features.")
     (description
      "@code{idna} provides IDNA (Internationalizing Domain Names in Applications) and Punycode.  It is part of the \"url\" package.")
     (license (list license:expat license:asl2.0))))
+
+(define-public rust-compiletest-rs
+  (package
+    (name "rust-compiletest-rs")
+    (version "0.2.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "compiletest_rs" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "031q3lsnk4bqmzc5sk0wv1a2ppfnksrw2r3g2vn7pbb5jww49wzk"))))
+    (build-system cargo-build-system)
+    (inputs
+     `(("rust-log" ,rust-log "src")
+       ("rust-rustc-serialize" ,rust-rustc-serialize "src")))
+    (home-page "https://github.com/laumann/compiletest-rs")
+    (synopsis "Compiletest utility as a standalone testing harness")
+    (description
+     "@code{compiletest-rs} provides the compiletest utility from the
+Rust compiler as a standalone testing harness.")
+    (license (list license:asl2.0 license:expat))))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 50/86] gnu: Add rust-strsim.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (48 preceding siblings ...)
  2017-01-03 23:36 ` [PATCH 49/86] gnu: Add rust-compiletest-rs ng0
@ 2017-01-03 23:36 ` ng0
  2017-01-04  0:41   ` Danny Milosavljevic
  2017-01-03 23:36 ` [PATCH 51/86] gnu: Add rust-quickcheck ng0
                   ` (39 subsequent siblings)
  89 siblings, 1 reply; 113+ messages in thread
From: ng0 @ 2017-01-03 23:36 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-strsim): New variable.
---
 gnu/packages/rust.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 98bbe888a..08d168143 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1387,3 +1387,24 @@ does not require unstable language features.")
      "@code{compiletest-rs} provides the compiletest utility from the
 Rust compiler as a standalone testing harness.")
     (license (list license:asl2.0 license:expat))))
+
+(define-public rust-strsim
+  (package
+    (name "rust-strsim")
+    (version "0.6.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "strsim" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "151ngha649cyybr3j50qg331b206zrinxqz7fzw1ra8r0n0mrldl"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/dguo/strsim-rs")
+    (synopsis "Implementations of string similarity metrics")
+    (description
+     "@code{strsim} provides implementations of string similarity metrics.
+Includes Hamming, Levenshtein, Damerau-Levenshtein, Jaro, and Jaro-Winkler.")
+    (license license:expat)))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 51/86] gnu: Add rust-quickcheck.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (49 preceding siblings ...)
  2017-01-03 23:36 ` [PATCH 50/86] gnu: Add rust-strsim ng0
@ 2017-01-03 23:36 ` ng0
  2017-01-03 23:36 ` [PATCH 52/86] gnu: Add rust-memchr ng0
                   ` (38 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:36 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-quickcheck): New variable.
---
 gnu/packages/rust.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 08d168143..5f767212b 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1408,3 +1408,38 @@ Rust compiler as a standalone testing harness.")
      "@code{strsim} provides implementations of string similarity metrics.
 Includes Hamming, Levenshtein, Damerau-Levenshtein, Jaro, and Jaro-Winkler.")
     (license license:expat)))
+
+(define-public rust-quickcheck
+  (package
+    (name "rust-quickcheck")
+    (version "0.4.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "quickcheck" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "01hligcv1h4pvc8ykch65qjzi7jgcq2s462v69j27slc84fl3hh2"))))
+    (build-system cargo-build-system)
+    (inputs
+     `(("rust-log" ,rust-log "src")
+       ;; TODO: ("rust-env-logger" ,rust-env-logger "src")
+       ("rust-rand" ,rust-rand "src")))
+    (home-page "https://github.com/BurntSushi/quickcheck")
+    (synopsis "Automatic property based testing with shrinking")
+    (description
+     "QuickCheck is a way to do property based testing using randomly
+generated input.  This crate comes with the ability to randomly
+generate and shrink integers, floats, tuples, booleans, lists, strings,
+options and results.  All QuickCheck needs is a property function, it
+will then randomly generate inputs to that function and call the
+property for each set of inputs.  If the property fails (whether by a
+runtime error like index out-of-bounds or by not satisfying your
+property), the inputs are \"shrunk\" to find a smaller counter-example.
+
+The shrinking strategies for lists and numbers use a binary search to
+cover the input space quickly.  It should be the same strategy used in
+Koen Claessen's QuickCheck for Haskell.")
+    (license (list license:unlicense license:expat))))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 52/86] gnu: Add rust-memchr.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (50 preceding siblings ...)
  2017-01-03 23:36 ` [PATCH 51/86] gnu: Add rust-quickcheck ng0
@ 2017-01-03 23:36 ` ng0
  2017-01-03 23:36 ` [PATCH 53/86] gnu: Add rust-fs2 ng0
                   ` (37 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:36 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-memchr): New variable.
---
 gnu/packages/rust.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 5f767212b..6ca20dc69 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1443,3 +1443,27 @@ The shrinking strategies for lists and numbers use a binary search to
 cover the input space quickly.  It should be the same strategy used in
 Koen Claessen's QuickCheck for Haskell.")
     (license (list license:unlicense license:expat))))
+
+(define-public rust-memchr
+  (package
+    (name "rust-memchr")
+    (version "1.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "memchr" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0a5fvj7pr422jgdmfw1fmnz00k68lw1wwd0z7cwiqwzhk29894kl"))))
+    (build-system cargo-build-system)
+    (native-inputs
+     `(("rust-quickcheck" ,rust-quickcheck "src")))
+    (inputs
+     `(("rust-libc" ,rust-libc "src")))
+    (home-page "https://github.com/BurntSushi/rust-memchr")
+    (synopsis "Safe interface to memchr")
+    (description
+     "@code{memchr} provides an safe interface to memchr.")
+    (license (list license:unlicense license:expat))))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 53/86] gnu: Add rust-fs2.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (51 preceding siblings ...)
  2017-01-03 23:36 ` [PATCH 52/86] gnu: Add rust-memchr ng0
@ 2017-01-03 23:36 ` ng0
  2017-01-04  1:04   ` Danny Milosavljevic
  2017-01-03 23:36 ` [PATCH 54/86] gnu: Add rust-memmap ng0
                   ` (36 subsequent siblings)
  89 siblings, 1 reply; 113+ messages in thread
From: ng0 @ 2017-01-03 23:36 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-fs2): New variable.
---
 gnu/packages/rust.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 6ca20dc69..951423565 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1467,3 +1467,27 @@ Koen Claessen's QuickCheck for Haskell.")
     (description
      "@code{memchr} provides an safe interface to memchr.")
     (license (list license:unlicense license:expat))))
+
+(define-public rust-fs2
+  (package
+    (name "rust-fs2")
+    (version "0.4.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "fs2" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1bsb3x8mkffsnr4xd5ac6v8b8sv80npfd1x37k0rv1amfphaxv9l"))))
+    (build-system cargo-build-system)
+    (native-inputs
+     `(("rust-tempdir" ,rust-tempdir "src")))
+    (inputs
+     `(("rust-libc" ,rust-libc "src")))
+    (home-page "https://github.com/danburkert/fs2-rs")
+    (synopsis "Cross-platform file locks and file duplication")
+    (description
+     "@code{fs2} provides cross-platform file locks and file duplication.")
+    (license (list license:expat license:asl2.0))))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 54/86] gnu: Add rust-memmap.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (52 preceding siblings ...)
  2017-01-03 23:36 ` [PATCH 53/86] gnu: Add rust-fs2 ng0
@ 2017-01-03 23:36 ` ng0
  2017-01-03 23:36 ` [PATCH 55/86] gnu: Add rust-docopt ng0
                   ` (35 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:36 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-memmap): New variable.
---
 gnu/packages/rust.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 951423565..1b2352b9e 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1491,3 +1491,28 @@ Koen Claessen's QuickCheck for Haskell.")
     (description
      "@code{fs2} provides cross-platform file locks and file duplication.")
     (license (list license:expat license:asl2.0))))
+
+(define-public rust-memmap
+  (package
+    (name "rust-memmap")
+    (version "0.5.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "memmap" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1lmbkx92xlqb5yqh4cj2k4qfrm3x4jkbs04i84nfl60wyfdfap06"))))
+    (build-system cargo-build-system)
+    (native-inputs
+     `(("rust-tempdir" ,rust-tempdir "src")))
+    (inputs
+     `(("rust-fs2" ,rust-fs2 "src")
+       ("rust-libc" ,rust-libc "src")))
+    (home-page "https://github.com/danburkert/memmap-rs")
+    (synopsis "Cross-platform Rust API for memory-mapped file IO")
+    (description
+     "@code{memmap} provides a cross-platform Rust API for memory-mapped file IO.")
+    (license (list license:expat license:asl2.0))))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 55/86] gnu: Add rust-docopt.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (53 preceding siblings ...)
  2017-01-03 23:36 ` [PATCH 54/86] gnu: Add rust-memmap ng0
@ 2017-01-03 23:36 ` ng0
  2017-01-03 23:36 ` [PATCH 56/86] gnu: Add rust-byteorder ng0
                   ` (34 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:36 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-docopt): New variable.
---
 gnu/packages/rust.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 1b2352b9e..36ae31579 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1516,3 +1516,30 @@ Koen Claessen's QuickCheck for Haskell.")
     (description
      "@code{memmap} provides a cross-platform Rust API for memory-mapped file IO.")
     (license (list license:expat license:asl2.0))))
+
+(define-public rust-docopt
+  (package
+    (name "rust-docopt")
+    (version "0.6.86")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "docopt" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1nf4f4zf5yk0d0l4kl7hkii4na22fhn0l2hgfb46yzv08l2g6zja"))))
+    (build-system cargo-build-system)
+    (inputs
+     `(("rust-lazy-static" ,rust-lazy-static "src")
+       ("rust-rustc-serialize" ,rust-rustc-serialize "src")
+       ;; TODO: ("rust-regex" ,rust-regex "src")
+       ("rust-strsim" ,rust-strsim "src")))
+    (home-page "https://github.com/docopt/docopt.rs")
+    (synopsis "Command line argument parsing")
+    (description
+     "Docopt for Rust with automatic type based decoding (in other words:
+data validation).  This implementation conforms to the official
+description of Docopt.")
+    (license (list license:unlicense license:expat))))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 56/86] gnu: Add rust-byteorder.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (54 preceding siblings ...)
  2017-01-03 23:36 ` [PATCH 55/86] gnu: Add rust-docopt ng0
@ 2017-01-03 23:36 ` ng0
  2017-01-03 23:36 ` [PATCH 57/86] gnu: Add rust-csv ng0
                   ` (33 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:36 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-byteorder): New variable.
---
 gnu/packages/rust.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 36ae31579..0f6c385f0 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1543,3 +1543,27 @@ Koen Claessen's QuickCheck for Haskell.")
 data validation).  This implementation conforms to the official
 description of Docopt.")
     (license (list license:unlicense license:expat))))
+
+(define-public rust-byteorder
+  (package
+    (name "rust-byteorder")
+    (version "1.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "byteorder" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1j0qvrvpmk01v5qkmp5l7gmjvlpxxygivm1w074qb63bxsq7f2f4"))))
+    (build-system cargo-build-system)
+    (native-inputs
+     `(("rust-quickcheck" ,rust-quickcheck "src")
+       ("rust-rand" ,rust-rand "src")))
+    (home-page "https://github.com/BurntSushi/byteorder")
+    (synopsis "Library for numbers in big-endian and little-endian")
+    (description
+     "@code{byteorder} is a library for reading/writing numbers in
+big-endian and little-endian.")
+    (license (list license:unlicense license:expat))))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 57/86] gnu: Add rust-csv.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (55 preceding siblings ...)
  2017-01-03 23:36 ` [PATCH 56/86] gnu: Add rust-byteorder ng0
@ 2017-01-03 23:36 ` ng0
  2017-01-03 23:36 ` [PATCH 58/86] gnu: Add rust-aho-corasick ng0
                   ` (32 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:36 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-csv): New variable.
---
 gnu/packages/rust.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 0f6c385f0..f415c91e4 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1567,3 +1567,30 @@ description of Docopt.")
      "@code{byteorder} is a library for reading/writing numbers in
 big-endian and little-endian.")
     (license (list license:unlicense license:expat))))
+
+(define-public rust-csv
+  (package
+    (name "rust-csv")
+    (version "0.14.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "csv" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1g0qvr9fj25fq1fy0p758glrb30yz7x46h18hsysaqyaswaihv16"))))
+    (build-system cargo-build-system)
+    ;; TODO: package regex
+    ;; (native-inputs
+    ;;  `(("rust-regex" ,rust-regex "src")))
+    (inputs
+     `(("rust-byteorder" ,rust-byteorder "src")
+       ("rust-rustc-serialize" ,rust-rustc-serialize "src")))
+    (home-page "https://github.com/BurntSushi/rust-csv")
+    (synopsis "CSV parsing with automatic type based decoding and encoding")
+    (description
+     "@code{csv} provides CSV parsing with automatic type
+based decoding and encoding.")
+    (license (list license:unlicense license:expat))))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 58/86] gnu: Add rust-aho-corasick.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (56 preceding siblings ...)
  2017-01-03 23:36 ` [PATCH 57/86] gnu: Add rust-csv ng0
@ 2017-01-03 23:36 ` ng0
  2017-01-03 23:36 ` [PATCH 59/86] gnu: Add rust-regex-syntax ng0
                   ` (31 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:36 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-aho-corasick): New variable.
---
 gnu/packages/rust.scm | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index f415c91e4..b6946e825 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1594,3 +1594,42 @@ big-endian and little-endian.")
      "@code{csv} provides CSV parsing with automatic type
 based decoding and encoding.")
     (license (list license:unlicense license:expat))))
+
+(define-public rust-aho-corasick
+  (package
+    (name "rust-aho-corasick")
+    (version "0.5.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "aho-corasick" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0rnvdmlajikq0i4zdy1p3pv699q6apvsxfc7av7byhppllp2r5ya"))))
+    (build-system cargo-build-system)
+    (native-inputs
+     `(("rust-csv" ,rust-csv "src")
+       ("rust-docopt" ,rust-docopt "src")
+       ("rust-memmap" ,rust-memmap "src")
+       ("rust-quickcheck" ,rust-quickcheck "src")
+       ("rust-rand" ,rust-rand "src")
+       ("rust-rustc-serialize" ,rust-rustc-serialize "src")))
+    (inputs
+     `(("rust-memchr" ,rust-memchr "src")))
+    (home-page "https://github.com/BurntSushi/aho-corasick")
+    (synopsis "Fast implementation of Aho-Corasick in Rust")
+    (description
+     "@code{aho-corasick} provides an implementation of the
+Aho-Corasick algorithm.  Its intended use case is for fast substring
+matching, particularly when matching multiple substrings in a search
+text.  This is achieved by compiling the substrings into a finite
+state machine.
+
+This implementation provides optimal algorithmic time complexity.
+Construction of the finite state machine is O(p) where p is the length
+of the substrings concatenated.  Matching against search text is
+O(n + p + m), where n is the length of the search text and m is the
+number of matches.")
+    (license (list license:unlicense license:expat))))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 59/86] gnu: Add rust-regex-syntax.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (57 preceding siblings ...)
  2017-01-03 23:36 ` [PATCH 58/86] gnu: Add rust-aho-corasick ng0
@ 2017-01-03 23:36 ` ng0
  2017-01-03 23:36 ` [PATCH 60/86] gnu: Add rust-simd ng0
                   ` (30 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:36 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-regex-syntax): New variable.
---
 gnu/packages/rust.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index b6946e825..8d7a67550 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1633,3 +1633,26 @@ of the substrings concatenated.  Matching against search text is
 O(n + p + m), where n is the length of the search text and m is the
 number of matches.")
     (license (list license:unlicense license:expat))))
+
+(define-public rust-regex-syntax
+  (package
+    (name "rust-regex-syntax")
+    (version "0.4.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "regex-syntax" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0ms4s2zdr9lr79isjphqqg2wkc8rblvpwcax21ghj0vnynqr349g"))))
+    (build-system cargo-build-system)
+    (native-inputs
+     `(("rust-quickcheck" ,rust-quickcheck "src")
+       ("rust-rand" ,rust-rand "src")))
+    (home-page "https://github.com/rust-lang/regex")
+    (synopsis "Regular expression parser")
+    (description
+     "Regex-syntax provides a regular expression parser.")
+    (license (list license:expat license:asl2.0))))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 60/86] gnu: Add rust-simd.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (58 preceding siblings ...)
  2017-01-03 23:36 ` [PATCH 59/86] gnu: Add rust-regex-syntax ng0
@ 2017-01-03 23:36 ` ng0
  2017-01-03 23:36 ` [PATCH 61/86] gnu: Add rust-utf8-ranges ng0
                   ` (29 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:36 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-simd): New variable.
---
 gnu/packages/rust.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 8d7a67550..95699b682 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1656,3 +1656,30 @@ number of matches.")
     (description
      "Regex-syntax provides a regular expression parser.")
     (license (list license:expat license:asl2.0))))
+
+(define rust-simd
+  (package
+    (name "rust-simd")
+    (version "0.1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "simd" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "08vhhz1w5m7amfp1d9lvfyyzl0jqjm82hrr7fb7afv3n5my89db3"))))
+    (build-system cargo-build-system)
+    (native-inputs
+     `(("rust-cfg-if" ,rust-cfg-if "src")))
+    ;; TODO: package them.
+    ;; (inputs
+    ;;  `(("rust-serde" ,rust-serde "src")
+    ;;    ("rust-serde-macros" ,rust-serde-macros "src")))
+    (home-page "https://github.com/huonw/simd")
+    (synopsis "Limited cross-platform access to SIMD instructions on CPUs")
+    (description
+     "@code{simd} offers limited cross-platform access to SIMD instructions on
+CPUs, as well as raw interfaces to platform-specific instructions.")
+    (license (list license:expat license:asl2.0))))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 61/86] gnu: Add rust-utf8-ranges.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (59 preceding siblings ...)
  2017-01-03 23:36 ` [PATCH 60/86] gnu: Add rust-simd ng0
@ 2017-01-03 23:36 ` ng0
  2017-01-03 23:36 ` [PATCH 62/86] gnu: Add rust-regex ng0
                   ` (28 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:36 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-utf8-ranges): New variable.
---
 gnu/packages/rust.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 95699b682..9b3b62c0a 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1683,3 +1683,28 @@ number of matches.")
      "@code{simd} offers limited cross-platform access to SIMD instructions on
 CPUs, as well as raw interfaces to platform-specific instructions.")
     (license (list license:expat license:asl2.0))))
+
+(define-public rust-utf8-ranges
+  (package
+    (name "rust-utf8-ranges")
+    (version "1.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "utf8-ranges" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "08j129anwcbdwvcx1izb4nsf0nbxksin2zqxjbrfz2x94mjsnbv6"))))
+    (build-system cargo-build-system)
+    (native-inputs
+     `(("rust-quickcheck" ,rust-quickcheck "src")))
+    (home-page "https://github.com/BurntSushi/utf8-ranges")
+    (synopsis "Convert contiguous ranges of Unicode codepoints to UTF-8 byte ranges")
+    (description
+     "@code{utf8-ranges} converts contiguous ranges of Unicode scalar
+values to UTF-8 byte ranges.  This is useful when constructing byte
+based automata from Unicode.  Stated differently, this lets one embed
+UTF-8 decoding as part of one's automaton.")
+    (license (list license:unlicense license:expat))))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 62/86] gnu: Add rust-regex.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (60 preceding siblings ...)
  2017-01-03 23:36 ` [PATCH 61/86] gnu: Add rust-utf8-ranges ng0
@ 2017-01-03 23:36 ` ng0
  2017-01-03 23:36 ` [PATCH 63/86] gnu: Add rust-env-logger ng0
                   ` (27 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:36 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-regex): New variable.
---
 gnu/packages/rust.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 9b3b62c0a..2c3f802d0 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1708,3 +1708,35 @@ values to UTF-8 byte ranges.  This is useful when constructing byte
 based automata from Unicode.  Stated differently, this lets one embed
 UTF-8 decoding as part of one's automaton.")
     (license (list license:unlicense license:expat))))
+
+(define-public rust-regex
+  (package
+    (name "rust-regex")
+    (version "0.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "regex" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "11r5392j9cwisspmjbppdamjybhwc4mjhw62zwj79ldig267ff2k"))))
+    (build-system cargo-build-system)
+    (native-inputs
+     `(("rust-lazy-static" ,rust-lazy-static "src")
+       ("rust-quickcheck" ,rust-quickcheck "src")
+       ("rust-rand" ,rust-rand "src")))
+    (inputs
+     `(("rust-aho-corasick" ,rust-aho-corasick "src")
+       ("rust-memchr" ,rust-memchr "src")
+       ("rust-regex-syntax" ,rust-regex-syntax "src")
+       ("rust-simd" ,rust-simd "src")
+       ("rust-thread-local" ,rust-thread-local "src")
+       ("rust-utf8-ranges" ,rust-utf8-ranges "src")))
+    (home-page "https://github.com/rust-lang/regex")
+    (synopsis "Implementation of regular expressions")
+    (description
+     "Implementation of regular expressions for Rust.  This implementation uses
+finite automata and guarantees linear time matching on all inputs.")
+    (license (list license:expat license:asl2.0))))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 63/86] gnu: Add rust-env-logger.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (61 preceding siblings ...)
  2017-01-03 23:36 ` [PATCH 62/86] gnu: Add rust-regex ng0
@ 2017-01-03 23:36 ` ng0
  2017-01-03 23:36 ` [PATCH 64/86] gnu: Add rust-quine-mc-cluskey ng0
                   ` (26 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:36 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-env-logger): New variable.
---
 gnu/packages/rust.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 2c3f802d0..dbb61cdf0 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1740,3 +1740,28 @@ UTF-8 decoding as part of one's automaton.")
      "Implementation of regular expressions for Rust.  This implementation uses
 finite automata and guarantees linear time matching on all inputs.")
     (license (list license:expat license:asl2.0))))
+
+(define-public rust-env-logger
+  (package
+    (name "rust-env-logger")
+    (version "0.3.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "env_logger" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0bvcjgkw4s3k1rd7glpflgc8s9a393zjd6jfdgvs8gjvwj0dgaqm"))))
+    (build-system cargo-build-system)
+    (inputs
+     `(("rust-log" ,rust-log "src")
+       ("rust-regex" ,rust-regex "src")))
+    (home-page "https://github.com/rust-lang/log")
+    (synopsis
+     "Logging implementation for `log`")
+    (description
+     "Logging implementation for @code{log} which is configured via an
+environment variable.")
+    (license (list license:expat license:asl2.0))))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 64/86] gnu: Add rust-quine-mc-cluskey.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (62 preceding siblings ...)
  2017-01-03 23:36 ` [PATCH 63/86] gnu: Add rust-env-logger ng0
@ 2017-01-03 23:36 ` ng0
  2017-01-03 23:36 ` [PATCH 65/86] gnu: Add rust-toml ng0
                   ` (25 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:36 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-quine-mc-cluskey): New variable.
---
 gnu/packages/rust.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index dbb61cdf0..7c326f3a1 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1765,3 +1765,26 @@ finite automata and guarantees linear time matching on all inputs.")
      "Logging implementation for @code{log} which is configured via an
 environment variable.")
     (license (list license:expat license:asl2.0))))
+
+(define-public rust-quine-mc-cluskey
+  (package
+    (name "rust-quine-mc-cluskey")
+    (version "0.2.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "quine-mc_cluskey" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0iazdlwffhrlksb8yhhs1prgwpa68rwjwqm4v26hr9hrswarcn07"))))
+    (build-system cargo-build-system)
+    (inputs
+     `(("rust-quickcheck" ,rust-quickcheck "src")))
+    (home-page "https://github.com/oli-obk/quine-mc_cluskey")
+    (synopsis "Implementation of the Quine-McCluskey algorithm and Petrick's method")
+    (description
+     "@code{quine-mc-cluskey} is the Rust implementation of the
+Quine-McCluskey algorithm and Petrick's method.")
+    (license license:expat)))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 65/86] gnu: Add rust-toml.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (63 preceding siblings ...)
  2017-01-03 23:36 ` [PATCH 64/86] gnu: Add rust-quine-mc-cluskey ng0
@ 2017-01-03 23:36 ` ng0
  2017-01-03 23:36 ` [PATCH 66/86] gnu: Add rust-semver-parser ng0
                   ` (24 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:36 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-toml): New variable.
---
 gnu/packages/rust.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 7c326f3a1..44eadfdd9 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1788,3 +1788,29 @@ environment variable.")
      "@code{quine-mc-cluskey} is the Rust implementation of the
 Quine-McCluskey algorithm and Petrick's method.")
     (license license:expat)))
+
+(define-public rust-toml
+  (package
+    (name "rust-toml")
+    (version "0.2.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "toml" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1d1cz43bxrx4fd6j2p6myckf81f72bp47akg36y3flxjkhj60svk"))))
+    (build-system cargo-build-system)
+    (inputs
+     `(; TODO: ("rust-serde" ,rust-serde "src")
+       ("rust-rustc-serialize" ,rust-rustc-serialize "src")))
+    (home-page "https://github.com/alexcrichton/toml-rs")
+    (synopsis "Native Rust encoder and decoder of TOML-formatted files and streams")
+    (description
+     "Toml provides a native Rust encoder and decoder of TOML-formatted files
+and streams.  It provides implementations of the standard
+Encodable/Decodable traits for TOML data to facilitate deserializing
+and serializing Rust structures.")
+    (license (list license:expat license:asl2.0))))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 66/86] gnu: Add rust-semver-parser.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (64 preceding siblings ...)
  2017-01-03 23:36 ` [PATCH 65/86] gnu: Add rust-toml ng0
@ 2017-01-03 23:36 ` ng0
  2017-01-03 23:36 ` [PATCH 67/86] gnu: Add rust-semver ng0
                   ` (23 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:36 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-semver-parser): New variable.
---
 gnu/packages/rust.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 44eadfdd9..5ecc157b4 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1814,3 +1814,26 @@ and streams.  It provides implementations of the standard
 Encodable/Decodable traits for TOML data to facilitate deserializing
 and serializing Rust structures.")
     (license (list license:expat license:asl2.0))))
+
+(define-public rust-semver-parser
+  (package
+    (name "rust-semver-parser")
+    (version "0.6.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "semver-parser" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0rrsf0giv2pdvid0pmwcxfqlrq16k4sc3n5cjnmkcim5qp4z7zyq"))))
+    (build-system cargo-build-system)
+    (inputs
+     `(("rust-lazy-static" ,rust-lazy-static "src")
+       ("rust-regex" ,rust-regex "src")))
+    (home-page "https://github.com/steveklabnik/semver-parser")
+    (synopsis "Parsing of the semver spec")
+    (description
+     "@code{semver-parser} enables parsing of the semver spec.")
+    (license (list license:expat license:asl2.0))))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 67/86] gnu: Add rust-semver.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (65 preceding siblings ...)
  2017-01-03 23:36 ` [PATCH 66/86] gnu: Add rust-semver-parser ng0
@ 2017-01-03 23:36 ` ng0
  2017-01-03 23:36 ` [PATCH 68/86] gnu: Add rust-rustc-version ng0
                   ` (22 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:36 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-semver): New variable.
---
 gnu/packages/rust.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 5ecc157b4..ccb299449 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1837,3 +1837,28 @@ and serializing Rust structures.")
     (description
      "@code{semver-parser} enables parsing of the semver spec.")
     (license (list license:expat license:asl2.0))))
+
+(define-public rust-semver
+  (package
+    (name "rust-semver")
+    (version "0.5.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "semver" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1xbiv8l72rmngb3lgbmk3vd4lalcbzxcnrn085c2b75irl7gcbxf"))))
+    (build-system cargo-build-system)
+    (native-inputs
+     `(; TODO: ("rust-crates-index" ,rust-crates-index "src")
+       ("rust-tempdir" ,rust-tempdir "src")))
+    (inputs
+     `(("rust-semver-parser" ,rust-semver-parser "src")))
+    (home-page "https://docs.rs/crate/semver/")
+    (synopsis "Semantic version parsing and comparison")
+    (description
+     "@code{semver} provides semantic version parsing and comparison.")
+    (license (list license:expat license:asl2.0))))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 68/86] gnu: Add rust-rustc-version.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (66 preceding siblings ...)
  2017-01-03 23:36 ` [PATCH 67/86] gnu: Add rust-semver ng0
@ 2017-01-03 23:36 ` ng0
  2017-01-03 23:36 ` [PATCH 69/86] gnu: Add rust-tempfile ng0
                   ` (21 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:36 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-rustc-version): New variable.
---
 gnu/packages/rust.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index ccb299449..51c603dab 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1862,3 +1862,26 @@ and serializing Rust structures.")
     (description
      "@code{semver} provides semantic version parsing and comparison.")
     (license (list license:expat license:asl2.0))))
+
+(define-public rust-rustc-version
+  (package
+    (name "rust-rustc-version")
+    (version "0.1.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rustc_version" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1160jjsqhqr25cvhr48hmpp8v61bjvjcnxzb0cyf4373lmp3gxf5"))))
+    (build-system cargo-build-system)
+    (inputs
+     `(("rust-semver" ,rust-semver "src")))
+    (home-page "https://github.com/Kimundi/rustc-version-rs")
+    (synopsis "Library for querying the version of a installed rustc compiler")
+    (description
+     "Rustc-version provides a library for querying
+the version of a installed rustc compiler.")
+    (license (list license:expat license:asl2.0))))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 69/86] gnu: Add rust-tempfile.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (67 preceding siblings ...)
  2017-01-03 23:36 ` [PATCH 68/86] gnu: Add rust-rustc-version ng0
@ 2017-01-03 23:36 ` ng0
  2017-01-03 23:36 ` [PATCH 70/86] gnu: Add rust-nix ng0
                   ` (20 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:36 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-tempfile): New variable.
---
 gnu/packages/rust.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 51c603dab..b9e93c2d4 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1885,3 +1885,28 @@ and serializing Rust structures.")
      "Rustc-version provides a library for querying
 the version of a installed rustc compiler.")
     (license (list license:expat license:asl2.0))))
+
+(define-public rust-tempfile
+  (package
+    (name "rust-tempfile")
+    (version "2.1.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "tempfile" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1j7h9xcxvzap9xpiy8w6mw9hb5iwddw7xrlgq7db3ldsjdx86w4j"))))
+    (build-system cargo-build-system)
+    (native-inputs
+     `(("rust-rustc-version" ,rust-rustc-version "src")))
+    (inputs
+     `(("rust-libc" ,rust-libc "src")
+       ("rust-rand" ,rust-rand "src")))
+    (home-page "http://stebalien.com/projects/tempfile-rs")
+    (synopsis "Securely create temporary files")
+    (description
+     "Tempfile allows you to securely create temporary files.")
+    (license (list license:expat license:asl2.0))))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 70/86] gnu: Add rust-nix.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (68 preceding siblings ...)
  2017-01-03 23:36 ` [PATCH 69/86] gnu: Add rust-tempfile ng0
@ 2017-01-03 23:36 ` ng0
  2017-01-03 23:36 ` [PATCH 71/86] gnu: Add rust-clippy-lints ng0
                   ` (19 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:36 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-nix): New variable.
---
 gnu/packages/rust.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index b9e93c2d4..825893a2b 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1910,3 +1910,35 @@ the version of a installed rustc compiler.")
     (description
      "Tempfile allows you to securely create temporary files.")
     (license (list license:expat license:asl2.0))))
+
+(define-public rust-nix
+  (package
+    (name "rust-nix")
+    (version "0.7.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "nix" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0ywf2zyxlfk9zkw50lydnn93rymaxda7925qs05c2hdnm1gmrnd0"))))
+    (build-system cargo-build-system)
+    (native-inputs
+     `(("rust-nix-test" ,rust-nix-test "src")
+       ("rust-rand" ,rust-rand "src")
+       ("rust-rustc-version" ,rust-rustc-version "src")
+       ("rust-semver" ,rust-semver "src")
+       ("rust-tempdir" ,rust-tempdir "src")
+       ("rust-tempfile" ,rust-tempfile "src")))
+    (inputs
+     `(("rust-bitflags" ,rust-bitflags "src")
+       ("rust-cfg-if" ,rust-cfg-if "src")
+       ("rust-libc" ,rust-libc "src")
+       ("rust-void" ,rust-void "src")))
+    (home-page "https://github.com/nix-rust/nix")
+    (synopsis "Rust friendly bindings to *nix APIs")
+    (description
+     "Nix provides Rust friendly bindings to *nix APIs.")
+    (license license:expat)))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 71/86] gnu: Add rust-clippy-lints.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (69 preceding siblings ...)
  2017-01-03 23:36 ` [PATCH 70/86] gnu: Add rust-nix ng0
@ 2017-01-03 23:36 ` ng0
  2017-01-03 23:36 ` [PATCH 72/86] gnu: Add rust-clippy ng0
                   ` (18 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:36 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-clippy-lints): New variable.
---
 gnu/packages/rust.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 825893a2b..f6c9c729b 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1942,3 +1942,32 @@ the version of a installed rustc compiler.")
     (description
      "Nix provides Rust friendly bindings to *nix APIs.")
     (license license:expat)))
+
+(define-public rust-clippy-lints
+  (package
+    (name "rust-clippy-lints")
+    (version "0.0.104")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "clippy_lints" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1ixil0j9mlyj59crkszj11sw4ar61377sm95s5vr5pm8q4kj10bh"))))
+    (build-system cargo-build-system)
+    (inputs
+     `(("rust-matches" ,rust-matches "src")
+       ("rust-quine-mc-cluskey" ,rust-quine-mc-cluskey "src")
+       ("rust-regex-syntax" ,rust-regex-syntax "src")
+       ("rust-rustc-serialize" ,rust-rustc-serialize "src")
+       ("rust-semver" ,rust-semver "src")
+       ("rust-toml" ,rust-toml "src")
+       ("rust-unicode-normalization" ,rust-unicode-normalization "src")))
+    (home-page "https://github.com/Manishearth/rust-clippy")
+    (synopsis "Collection of helpful lints to avoid common pitfalls in Rust")
+    (description
+     "Clippy-lints provides a collection of helpful lints to
+avoid common pitfalls in Rust.")
+    (license license:mpl2.0)))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 72/86] gnu: Add rust-clippy.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (70 preceding siblings ...)
  2017-01-03 23:36 ` [PATCH 71/86] gnu: Add rust-clippy-lints ng0
@ 2017-01-03 23:36 ` ng0
  2017-01-03 23:36 ` [PATCH 73/86] gnu: Add rust-lazycell ng0
                   ` (17 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:36 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-clippy): New variable.
---
 gnu/packages/rust.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index f6c9c729b..aed225faa 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1971,3 +1971,33 @@ the version of a installed rustc compiler.")
      "Clippy-lints provides a collection of helpful lints to
 avoid common pitfalls in Rust.")
     (license license:mpl2.0)))
+
+(define-public rust-clippy
+  (package
+    (name "rust-clippy")
+    (version "0.0.104")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "clippy" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0d4fbg7j1rw1i2plx67inpafilgjkwclyvblirlqp812x5hv6gxf"))))
+    (build-system cargo-build-system)
+    (native-inputs
+     `(("rust-clippy-mini-macro-test" ,rust-clippy-mini-macro-test "src")
+       ("rust-compiletest-rs" ,rust-compiletest-rs "src")
+       ("rust-lazy-static" ,rust-lazy-static "src")
+       ("rust-regex" ,rust-regex "src")
+       ;; TODO: ("rust-serde" ,rust-serde "src")
+       ("rust-rustc-serialize" ,rust-rustc-serialize "src")))
+    (inputs
+     `(("rust-clippy-lints" ,rust-clippy-lints "src")))
+    (home-page "https://github.com/Manishearth/rust-clippy")
+    (synopsis "Collection of helpful lints to avoid common pitfalls in Rust")
+    (description
+     "Clippy provides a collection of helpful lints to
+avoid common pitfalls in Rust.")
+    (license license:mpl2.0)))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 73/86] gnu: Add rust-lazycell.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (71 preceding siblings ...)
  2017-01-03 23:36 ` [PATCH 72/86] gnu: Add rust-clippy ng0
@ 2017-01-03 23:36 ` ng0
  2017-01-03 23:36 ` [PATCH 74/86] gnu: Add rust-mio ng0
                   ` (16 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:36 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-lazycell): New variable.
---
 gnu/packages/rust.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index aed225faa..030b014a1 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -2001,3 +2001,25 @@ avoid common pitfalls in Rust.")
      "Clippy provides a collection of helpful lints to
 avoid common pitfalls in Rust.")
     (license license:mpl2.0)))
+
+(define-public rust-lazycell
+  (package
+    (name "rust-lazycell")
+    (version "0.5.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "lazycell" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0cb3h771aqnq753krx6f6vpxw3nn41b8gaj24q6y7wqy5z1aaf7c"))))
+    (build-system cargo-build-system)
+    (inputs
+     `(("rust-clippy" ,rust-clippy "src")))
+    (home-page "https://github.com/indiv0/lazycell")
+    (synopsis "Library providing a lazily filled Cell struct")
+    (description
+     "Lacycell provides a library providing a lazily filled Cell struct.")
+    (license (list license:expat license:asl2.0))))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 74/86] gnu: Add rust-mio.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (72 preceding siblings ...)
  2017-01-03 23:36 ` [PATCH 73/86] gnu: Add rust-lazycell ng0
@ 2017-01-03 23:36 ` ng0
  2017-01-03 23:36 ` [PATCH 75/86] gnu: Add rust-tokio-core ng0
                   ` (15 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:36 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-mio): New variable.
---
 gnu/packages/rust.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 030b014a1..6c1e22afe 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -2023,3 +2023,35 @@ avoid common pitfalls in Rust.")
     (description
      "Lacycell provides a library providing a lazily filled Cell struct.")
     (license (list license:expat license:asl2.0))))
+
+(define-public rust-mio
+  (package
+    (name "rust-mio")
+    (version "0.6.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "mio" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "101ybpbfc08403ca8gnsvys5sxmhfa0ifzqiy9vj1gcnzp4ksjav"))))
+    (build-system cargo-build-system)
+    (native-inputs
+     `(("rust-bytes" ,rust-bytes "src")
+       ("rust-env-logger" ,rust-env-logger "src")
+       ("rust-tempdir" ,rust-tempdir "src")))
+    (inputs
+     `(("rust-lazycell" ,rust-lazycell "src")
+       ("rust-libc" ,rust-libc "src")
+       ("rust-log" ,rust-log "src")
+       ("rust-net2" ,rust-net2 "src")
+       ("rust-nix" ,rust-nix "src")
+       ("rust-slab" ,rust-slab "src")))
+    (home-page "https://github.com/carllerche/mio")
+    (synopsis "Metal IO library for Rust")
+    (description
+     "MIO is a lightweight IO library for Rust with a focus on adding
+as little overhead as possible over the OS abstractions.")
+    (license license:expat)))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 75/86] gnu: Add rust-tokio-core.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (73 preceding siblings ...)
  2017-01-03 23:36 ` [PATCH 74/86] gnu: Add rust-mio ng0
@ 2017-01-03 23:36 ` ng0
  2017-01-03 23:36 ` [PATCH 76/86] gnu: Add rust-serde ng0
                   ` (14 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:36 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-tokio-core): New variable.
---
 gnu/packages/rust.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 6c1e22afe..2facc9fd3 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -2055,3 +2055,33 @@ avoid common pitfalls in Rust.")
      "MIO is a lightweight IO library for Rust with a focus on adding
 as little overhead as possible over the OS abstractions.")
     (license license:expat)))
+
+(define-public rust-tokio-core
+  (package
+    (name "rust-tokio-core")
+    (version "0.1.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "tokio-core" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0n3y6j2xy0psj0iv86pz6w0vdzippmk1qzrsahmc5fksjcz6nhaj"))))
+    (build-system cargo-build-system)
+    (native-inputs
+     `(("rust-env-logger" ,rust-env-logger "src")
+       ("rust-libc" ,rust-libc "src")))
+    (inputs
+     `(("rust-futures" ,rust-futures "src")
+       ("rust-log" ,rust-log "src")
+       ("rust-mio" ,rust-mio "src")
+       ("rust-scoped-tls" ,rust-scoped-tls "src")
+       ("rust-slab" ,rust-slab "src")))
+    (home-page "https://github.com/tokio-rs/tokio-core")
+    (synopsis "Core I/O and event loop primitives for asynchronous I/O in Rust")
+    (description
+     "Tokio-core provides Core I/O and event loop primitives for
+asynchronous I/O in Rust.")
+    (license (list license:expat license:asl2.0))))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 76/86] gnu: Add rust-serde.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (74 preceding siblings ...)
  2017-01-03 23:36 ` [PATCH 75/86] gnu: Add rust-tokio-core ng0
@ 2017-01-03 23:36 ` ng0
  2017-01-03 23:36 ` [PATCH 77/86] gnu: Add rust-serde-test ng0
                   ` (13 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:36 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-serde): New variable.
---
 gnu/packages/rust.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 2facc9fd3..2fe5e366a 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -2085,3 +2085,25 @@ as little overhead as possible over the OS abstractions.")
      "Tokio-core provides Core I/O and event loop primitives for
 asynchronous I/O in Rust.")
     (license (list license:expat license:asl2.0))))
+
+(define-public rust-serde
+  (package
+    (name "rust-serde")
+    (version "0.8.21")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "serde" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0rls4w0gc1ngfx0c4bq8a0gz702fpkiv8gnml4z4frpp3kqnnz3v"))))
+    (build-system cargo-build-system)
+    (inputs
+     `(("rust-clippy" ,rust-clippy "src")))
+    (home-page "https://serde.rs")
+    (synopsis "Generic serialization/deserialization framework")
+    (description
+     "Serde provides a generic serialization/deserialization framework.")
+    (license (list license:expat license:asl2.0))))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 77/86] gnu: Add rust-serde-test.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (75 preceding siblings ...)
  2017-01-03 23:36 ` [PATCH 76/86] gnu: Add rust-serde ng0
@ 2017-01-03 23:36 ` ng0
  2017-01-03 23:36 ` [PATCH 78/86] gnu: rust-clippy: Add rust-serde input ng0
                   ` (12 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:36 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-serde-test): New variable.
---
 gnu/packages/rust.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 2fe5e366a..786e83491 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -2107,3 +2107,26 @@ asynchronous I/O in Rust.")
     (description
      "Serde provides a generic serialization/deserialization framework.")
     (license (list license:expat license:asl2.0))))
+
+(define-public rust-serde-test
+  (package
+    (name "rust-serde-test")
+    (version "0.8.21")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "serde_test" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1jjmd48754qgmwpva7zq06jp51irccf3d7aq0zbrzjlaf7ahxd2k"))))
+    (build-system cargo-build-system)
+    (inputs
+     `(("rust-serde" ,rust-serde "src")))
+    (home-page "https://serde.rs")
+    (synopsis "Token De/Serializer for testing De/Serialize implementations")
+    (description
+     "Serde-test is a token De/Serializer for testing
+De/Serialize implementations.")
+    (license (list license:expat license:asl2.0))))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 78/86] gnu: rust-clippy: Add rust-serde input.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (76 preceding siblings ...)
  2017-01-03 23:36 ` [PATCH 77/86] gnu: Add rust-serde-test ng0
@ 2017-01-03 23:36 ` ng0
  2017-01-03 23:36 ` [PATCH 79/86] gnu: rust-toml: " ng0
                   ` (11 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:36 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-clippy)[arguments]: Add rust-serde.
Remove TODO comment.
---
 gnu/packages/rust.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 786e83491..212d3a3e7 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1991,7 +1991,7 @@ avoid common pitfalls in Rust.")
        ("rust-compiletest-rs" ,rust-compiletest-rs "src")
        ("rust-lazy-static" ,rust-lazy-static "src")
        ("rust-regex" ,rust-regex "src")
-       ;; TODO: ("rust-serde" ,rust-serde "src")
+       ("rust-serde" ,rust-serde "src")
        ("rust-rustc-serialize" ,rust-rustc-serialize "src")))
     (inputs
      `(("rust-clippy-lints" ,rust-clippy-lints "src")))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 79/86] gnu: rust-toml: Add rust-serde input.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (77 preceding siblings ...)
  2017-01-03 23:36 ` [PATCH 78/86] gnu: rust-clippy: Add rust-serde input ng0
@ 2017-01-03 23:36 ` ng0
  2017-01-03 23:36 ` [PATCH 80/86] gnu: rust-csv: Add rust-regex input ng0
                   ` (10 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:36 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-toml)[arguments]: Add rust-serde.
Remove TODO comment.
---
 gnu/packages/rust.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 212d3a3e7..07ea3337e 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1804,7 +1804,7 @@ Quine-McCluskey algorithm and Petrick's method.")
          "1d1cz43bxrx4fd6j2p6myckf81f72bp47akg36y3flxjkhj60svk"))))
     (build-system cargo-build-system)
     (inputs
-     `(; TODO: ("rust-serde" ,rust-serde "src")
+     `(("rust-serde" ,rust-serde "src")
        ("rust-rustc-serialize" ,rust-rustc-serialize "src")))
     (home-page "https://github.com/alexcrichton/toml-rs")
     (synopsis "Native Rust encoder and decoder of TOML-formatted files and streams")
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 80/86] gnu: rust-csv: Add rust-regex input.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (78 preceding siblings ...)
  2017-01-03 23:36 ` [PATCH 79/86] gnu: rust-toml: " ng0
@ 2017-01-03 23:36 ` ng0
  2017-01-04  0:36   ` Danny Milosavljevic
  2017-01-03 23:36 ` [PATCH 81/86] gnu: rust-docopt: " ng0
                   ` (9 subsequent siblings)
  89 siblings, 1 reply; 113+ messages in thread
From: ng0 @ 2017-01-03 23:36 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-csv)[arguments]: Add rust-regex.
Remove TODO comment.
---
 gnu/packages/rust.scm | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 07ea3337e..bb614c9d4 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1582,9 +1582,8 @@ big-endian and little-endian.")
         (base32
          "1g0qvr9fj25fq1fy0p758glrb30yz7x46h18hsysaqyaswaihv16"))))
     (build-system cargo-build-system)
-    ;; TODO: package regex
-    ;; (native-inputs
-    ;;  `(("rust-regex" ,rust-regex "src")))
+    (native-inputs
+     `(("rust-regex" ,rust-regex "src")))
     (inputs
      `(("rust-byteorder" ,rust-byteorder "src")
        ("rust-rustc-serialize" ,rust-rustc-serialize "src")))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 81/86] gnu: rust-docopt: Add rust-regex input.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (79 preceding siblings ...)
  2017-01-03 23:36 ` [PATCH 80/86] gnu: rust-csv: Add rust-regex input ng0
@ 2017-01-03 23:36 ` ng0
  2017-01-03 23:36 ` [PATCH 82/86] gnu: rust-quickcheck: Add rust-env-logger input ng0
                   ` (8 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:36 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-docopt)[arguments]: Add rust-regex.
Remove TODO comment.
---
 gnu/packages/rust.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index bb614c9d4..27f729461 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1534,7 +1534,7 @@ Koen Claessen's QuickCheck for Haskell.")
     (inputs
      `(("rust-lazy-static" ,rust-lazy-static "src")
        ("rust-rustc-serialize" ,rust-rustc-serialize "src")
-       ;; TODO: ("rust-regex" ,rust-regex "src")
+       ("rust-regex" ,rust-regex "src")
        ("rust-strsim" ,rust-strsim "src")))
     (home-page "https://github.com/docopt/docopt.rs")
     (synopsis "Command line argument parsing")
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 82/86] gnu: rust-quickcheck: Add rust-env-logger input.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (80 preceding siblings ...)
  2017-01-03 23:36 ` [PATCH 81/86] gnu: rust-docopt: " ng0
@ 2017-01-03 23:36 ` ng0
  2017-01-04  0:31   ` Danny Milosavljevic
  2017-01-03 23:36 ` [PATCH 83/86] gnu: Add fluid ng0
                   ` (7 subsequent siblings)
  89 siblings, 1 reply; 113+ messages in thread
From: ng0 @ 2017-01-03 23:36 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/rust.scm (rust-quickcheck)[arguments]: Add rust-env-logger.
Remove TODO comment.
---
 gnu/packages/rust.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 27f729461..60d761c54 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1425,7 +1425,7 @@ Includes Hamming, Levenshtein, Damerau-Levenshtein, Jaro, and Jaro-Winkler.")
     (build-system cargo-build-system)
     (inputs
      `(("rust-log" ,rust-log "src")
-       ;; TODO: ("rust-env-logger" ,rust-env-logger "src")
+       ("rust-env-logger" ,rust-env-logger "src")
        ("rust-rand" ,rust-rand "src")))
     (home-page "https://github.com/BurntSushi/quickcheck")
     (synopsis "Automatic property based testing with shrinking")
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 83/86] gnu: Add fluid.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (81 preceding siblings ...)
  2017-01-03 23:36 ` [PATCH 82/86] gnu: rust-quickcheck: Add rust-env-logger input ng0
@ 2017-01-03 23:36 ` ng0
  2017-01-03 23:36 ` [PATCH 84/86] gnu: Add libpsyc-rust ng0
                   ` (6 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:36 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/qt.scm (fluid): New variable.
---
 gnu/packages/qt.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 41aa10291..8cd701293 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -46,6 +46,7 @@
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages kde-frameworks)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages pciutils)
@@ -1347,3 +1348,33 @@ a binding language:
 @item Creating from Singleton QML QObject defined in the binded language
 @end itemize\n")
     (license license:lgpl3)))
+
+(define-public fluid
+  (package
+    (name "fluid")
+    (version "0.9.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/lirios/fluid/releases/download/"
+                           "v" version "/" name "-" version ".tar.xz"))
+       (file-name (string-append name "-" version ".tar.xz"))
+       (sha256
+        (base32
+         "0m6mijlnizgvmh0z2wcrmkfl5cdrylxz3d7bqii8dasmm0q8f68y"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f)) ; 3 tests want a connection to the display.
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)))
+    (inputs
+     `(("qtbase" ,qtbase)
+       ("qtdeclarative" ,qtdeclarative)
+       ("qtsvg" ,qtsvg)
+       ("qtquickcontrols2" ,qtquickcontrols2)))
+    (home-page "https://github.com/lirios/fluid")
+    (synopsis "Library for QtQuick applications")
+    (description
+     "Fluid is a collection of cross-platform QtQuick components for
+building fluid and dynamic applications.")
+    (license license:mpl2.0)))
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 84/86] gnu: Add libpsyc-rust.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (82 preceding siblings ...)
  2017-01-03 23:36 ` [PATCH 83/86] gnu: Add fluid ng0
@ 2017-01-03 23:36 ` ng0
  2017-01-03 23:36 ` [PATCH 85/86] gnu: libpsyc: Remove comment ng0
                   ` (5 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:36 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/messaging.scm (libpsyc-rust): New variable.
---
 gnu/packages/messaging.scm | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 95c265b98..70dcd5d67 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -5,7 +5,7 @@
 ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2016 ng0 <ng0@libertad.pw>
+;;; Copyright © 2016, 2017 ng0 <ng0@libertad.pw>
 ;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca>
 ;;; Copyright © 2016 Clément Lassieur <clement@lassieur.org>
 ;;;
@@ -35,6 +35,7 @@
   #:use-module (guix build-system python)
   #:use-module (guix build-system perl)
   #:use-module (guix build-system cmake)
+  #:use-module (guix build-system cargo)
   #:use-module (gnu packages)
   #:use-module (gnu packages aidc)
   #:use-module (gnu packages autotools)
@@ -63,6 +64,7 @@
   #:use-module (gnu packages python)
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages perl)
+  #:use-module (gnu packages rust)
   #:use-module (gnu packages tcl)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages check)
@@ -1030,6 +1032,21 @@ including psyced.")
     (synopsis "PSYC library in C")
     (license license:agpl3+)))
 
+(define-public libpsyc-rust
+  (package
+    (inherit libpsyc)
+    (name "libpsyc-rust")
+    (inputs
+     `(("rust-bitflags" ,rust-bitflags)))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after
+          'unpack 'chdir
+          (lambda _
+            (chdir "rust"))))))))
+
 ;; This commit removes the historic bundled pcre and makes psyclpc reproducible.
 (define-public psyclpc
   (let* ((commit "61cf9aa81297085e5c40170fd01221c752f8deba")
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 85/86] gnu: libpsyc: Remove comment.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (83 preceding siblings ...)
  2017-01-03 23:36 ` [PATCH 84/86] gnu: Add libpsyc-rust ng0
@ 2017-01-03 23:36 ` ng0
  2017-01-03 23:36 ` [PATCH 86/86] gnu: Add font-google-roboto ng0
                   ` (4 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:36 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/messaging.scm (libpsyc)[arguments]: Remove comment.
---
 gnu/packages/messaging.scm | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 70dcd5d67..934e38feb 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -1018,11 +1018,6 @@ for @uref{https://torproject.org,tor} router) and many more.")
              (string-append "PREFIX=" (assoc-ref %outputs "out")))
        #:phases
        (modify-phases %standard-phases
-         ;; The rust bindings are the only ones in use, the lpc bindings
-         ;; are in psyclpc.  The other bindings are not used by anything,
-         ;; the chances are high that the bindings do not even work,
-         ;; therefore we do not include them.
-         ;; TODO: Get a cargo build system in Guix.
          (delete 'configure)))) ; no configure script
     (home-page "http://about.psyc.eu/libpsyc")
     (description
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* [PATCH 86/86] gnu: Add font-google-roboto.
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (84 preceding siblings ...)
  2017-01-03 23:36 ` [PATCH 85/86] gnu: libpsyc: Remove comment ng0
@ 2017-01-03 23:36 ` ng0
  2017-01-03 23:51 ` 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings Ben Woodcroft
                   ` (3 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-03 23:36 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/fonts.scm (font-google-roboto): New variable.
---
 gnu/packages/fonts.scm | 45 ++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 44 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index f01b83155..d2832218a 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -7,7 +7,7 @@
 ;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
 ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2015, 2016 Leo Famulari <leo@famulari.name>
-;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
+;;; Copyright © 2016, 2017 ng0 <ng0@libertad.pw>
 ;;; Copyright © 2016 Jookia <166291@gmail.com>
 ;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2016 Dmitry Nikolaev <cameltheman@gmail.com>
@@ -703,6 +703,49 @@ languages with a consistent look and aesthetic.  It's goal is to have no Unicode
 symbols unable to be displayed properly.")
     (license license:silofl1.1)))
 
+(define-public font-google-roboto
+  (package
+    (name "font-google-roboto")
+    (version "2.136")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/google/roboto/releases/download/"
+                           "v" version "/roboto-hinted.zip"))
+       (file-name (string-append name "-" version ".zip"))
+       (sha256
+        (base32
+         "0spscx08fad7i8qs7icns96iwcapniq8lwwqqvbf7bamvs8qfln4"))))
+    (native-inputs `(("unzip" ,unzip)))
+    (build-system trivial-build-system)
+    (arguments
+     `(#:modules ((guix build utils))
+       #:builder (begin
+                   (use-modules (guix build utils)
+                                (srfi srfi-26))
+
+                   (let ((PATH (string-append (assoc-ref %build-inputs
+                                                         "unzip")
+                                              "/bin"))
+                         (font-dir (string-append %output
+                                                  "/share/fonts/truetype")))
+                     (setenv "PATH" PATH)
+                     (system* "unzip" (assoc-ref %build-inputs "source"))
+
+                     (mkdir-p font-dir)
+                     (chdir "roboto-hinted")
+                     (for-each (lambda (ttf)
+                                 (copy-file ttf
+                                            (string-append font-dir "/" ttf)))
+                               (find-files "." "\\.ttf$"))))))
+    (home-page "https://github.com/google/roboto")
+    (synopsis "The Roboto family of fonts")
+    (description
+     "Roboto is Google’s signature family of fonts, the default font on Android
+and Chrome OS, and the recommended font for the
+visual language \"Material Design\".")
+    (license license:asl2.0)))
+
 (define-public font-un
   (package
     (name "font-un")
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 113+ messages in thread

* Re: 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (85 preceding siblings ...)
  2017-01-03 23:36 ` [PATCH 86/86] gnu: Add font-google-roboto ng0
@ 2017-01-03 23:51 ` Ben Woodcroft
  2017-01-04 10:14 ` Ricardo Wurmus
                   ` (2 subsequent siblings)
  89 siblings, 0 replies; 113+ messages in thread
From: Ben Woodcroft @ 2017-01-03 23:51 UTC (permalink / raw)
  To: ng0, guix-devel

Lotsa packages, nice.


On 04/01/17 09:35, ng0 wrote:
[...]
> I have not run any of the 81 packages through guix lint, I would if I would know a way to mass lint a list of packages.

How about using parallel?

$ cat list_of_packages |parallel -j1 guix lint

ben

^ permalink raw reply	[flat|nested] 113+ messages in thread

* Re: [PATCH 01/86] gnu: Add rust-libc.
  2017-01-03 23:35 ` [PATCH 01/86] gnu: Add rust-libc ng0
@ 2017-01-04  0:17   ` Danny Milosavljevic
  2017-01-04  1:34     ` Danny Milosavljevic
  0 siblings, 1 reply; 113+ messages in thread
From: Danny Milosavljevic @ 2017-01-04  0:17 UTC (permalink / raw)
  To: ng0; +Cc: guix-devel

> +    (license (list license:expat license:asl2.0))))

Please clarify whether that means AND or OR in a comment.

Other than that, OK!

^ permalink raw reply	[flat|nested] 113+ messages in thread

* Re: [PATCH 02/86] gnu: Add rust-spin.
  2017-01-03 23:35 ` [PATCH 02/86] gnu: Add rust-spin ng0
@ 2017-01-04  0:21   ` Danny Milosavljevic
  0 siblings, 0 replies; 113+ messages in thread
From: Danny Milosavljevic @ 2017-01-04  0:21 UTC (permalink / raw)
  To: ng0; +Cc: guix-devel

>+    (synopsis "Spin is a library which implements a simple spinlock")

Just (synopsis "Simple spinlock") is enough. Maybe mention Rust? What do you think?

> +     "Synchronization primitives based on spinning.  They may contain
> +data, they are usable without `std` and static initializers are
> +available.")

What does the weird quote (`) mean here? I'd write @code{std}

Otherwise OK!

^ permalink raw reply	[flat|nested] 113+ messages in thread

* Re: [PATCH 06/86] gnu: Add rust-log.
  2017-01-03 23:35 ` [PATCH 06/86] gnu: Add rust-log ng0
@ 2017-01-04  0:22   ` Danny Milosavljevic
  0 siblings, 0 replies; 113+ messages in thread
From: Danny Milosavljevic @ 2017-01-04  0:22 UTC (permalink / raw)
  To: ng0; +Cc: guix-devel

> +    (license (list license:expat license:asl2.0))))

Please clarify whether that means AND or OR in a comment.

Otherwise OK!

^ permalink raw reply	[flat|nested] 113+ messages in thread

* Re: [PATCH 10/86] gnu: Add rust-void.
  2017-01-03 23:35 ` [PATCH 10/86] gnu: Add rust-void ng0
@ 2017-01-04  0:24   ` Danny Milosavljevic
  0 siblings, 0 replies; 113+ messages in thread
From: Danny Milosavljevic @ 2017-01-04  0:24 UTC (permalink / raw)
  To: ng0; +Cc: guix-devel

> +     "The uninhabited type, @code{enum Void { }} 

Hmm can texinfo actually process that?

^ permalink raw reply	[flat|nested] 113+ messages in thread

* Re: [PATCH 11/86] gnu: Add rust-slab.
  2017-01-03 23:35 ` [PATCH 11/86] gnu: Add rust-slab ng0
@ 2017-01-04  0:25   ` Danny Milosavljevic
  0 siblings, 0 replies; 113+ messages in thread
From: Danny Milosavljevic @ 2017-01-04  0:25 UTC (permalink / raw)
  To: ng0; +Cc: guix-devel

OK!

Maybe mention Rust in the summary?

^ permalink raw reply	[flat|nested] 113+ messages in thread

* Re: [PATCH 82/86] gnu: rust-quickcheck: Add rust-env-logger input.
  2017-01-03 23:36 ` [PATCH 82/86] gnu: rust-quickcheck: Add rust-env-logger input ng0
@ 2017-01-04  0:31   ` Danny Milosavljevic
  2017-01-04 11:30     ` ng0
  0 siblings, 1 reply; 113+ messages in thread
From: Danny Milosavljevic @ 2017-01-04  0:31 UTC (permalink / raw)
  To: ng0; +Cc: guix-devel

On Tue,  3 Jan 2017 23:36:38 +0000
ng0 <ng0@libertad.pw> wrote:

> * gnu/packages/rust.scm (rust-quickcheck)[arguments]: Add rust-env-logger.
> -       ;; TODO: ("rust-env-logger" ,rust-env-logger "src")
> +       ("rust-env-logger" ,rust-env-logger "src")

That causes a cycle rust-quickcheck - rust-env-logger - rust-regex - rust-quickcheck. I should know because it took hours until I tracked it down in my copy :)

If you try to do "guix package -i rust-env-logger" or any of these packages mentioned, it'll crash with a Guile VM stack overflow.

Please think of a way to fix that.

^ permalink raw reply	[flat|nested] 113+ messages in thread

* Re: [PATCH 80/86] gnu: rust-csv: Add rust-regex input.
  2017-01-03 23:36 ` [PATCH 80/86] gnu: rust-csv: Add rust-regex input ng0
@ 2017-01-04  0:36   ` Danny Milosavljevic
  2017-01-04 11:26     ` ng0
  0 siblings, 1 reply; 113+ messages in thread
From: Danny Milosavljevic @ 2017-01-04  0:36 UTC (permalink / raw)
  To: ng0; +Cc: guix-devel

Cycle rust-csv - rust-regex - rust-aho-corasick - rust-csv.

^ permalink raw reply	[flat|nested] 113+ messages in thread

* Re: [PATCH 41/86] gnu: Add rust-fnv.
  2017-01-03 23:35 ` [PATCH 41/86] gnu: Add rust-fnv ng0
@ 2017-01-04  0:38   ` Danny Milosavljevic
  0 siblings, 0 replies; 113+ messages in thread
From: Danny Milosavljevic @ 2017-01-04  0:38 UTC (permalink / raw)
  To: ng0; +Cc: guix-devel

> +    (license (list license:expat license:asl2.0))))

Please mention in a comment whether that means AND or OR.

^ permalink raw reply	[flat|nested] 113+ messages in thread

* Re: [PATCH 42/86] gnu: Add rust-heapsize.
  2017-01-03 23:35 ` [PATCH 42/86] gnu: Add rust-heapsize ng0
@ 2017-01-04  0:39   ` Danny Milosavljevic
  0 siblings, 0 replies; 113+ messages in thread
From: Danny Milosavljevic @ 2017-01-04  0:39 UTC (permalink / raw)
  To: ng0; +Cc: guix-devel

OK!

^ permalink raw reply	[flat|nested] 113+ messages in thread

* Re: [PATCH 46/86] gnu: Add rust-term.
  2017-01-03 23:36 ` [PATCH 46/86] gnu: Add rust-term ng0
@ 2017-01-04  0:41   ` Danny Milosavljevic
  0 siblings, 0 replies; 113+ messages in thread
From: Danny Milosavljevic @ 2017-01-04  0:41 UTC (permalink / raw)
  To: ng0; +Cc: guix-devel

> +    (license (list license:expat license:asl2.0))))

Please mention in a comment whether that means AND or OR.

Otherwise OK!

^ permalink raw reply	[flat|nested] 113+ messages in thread

* Re: [PATCH 50/86] gnu: Add rust-strsim.
  2017-01-03 23:36 ` [PATCH 50/86] gnu: Add rust-strsim ng0
@ 2017-01-04  0:41   ` Danny Milosavljevic
  0 siblings, 0 replies; 113+ messages in thread
From: Danny Milosavljevic @ 2017-01-04  0:41 UTC (permalink / raw)
  To: ng0; +Cc: guix-devel

OK!

^ permalink raw reply	[flat|nested] 113+ messages in thread

* Re: [PATCH 53/86] gnu: Add rust-fs2.
  2017-01-03 23:36 ` [PATCH 53/86] gnu: Add rust-fs2 ng0
@ 2017-01-04  1:04   ` Danny Milosavljevic
  0 siblings, 0 replies; 113+ messages in thread
From: Danny Milosavljevic @ 2017-01-04  1:04 UTC (permalink / raw)
  To: ng0; +Cc: guix-devel

When I compile it I get

error[E0554]: #[feature] may not be used on the stable release channel
 --> src/lib.rs:1:19
  |
1 | #![cfg_attr(test, feature(test))]
  |                   ^^^^^^^^^^^^^

error: aborting due to previous error

error: Could not compile `fs2`.

To learn more, run the command again with --verbose.

^ permalink raw reply	[flat|nested] 113+ messages in thread

* Re: [PATCH 01/86] gnu: Add rust-libc.
  2017-01-04  0:17   ` Danny Milosavljevic
@ 2017-01-04  1:34     ` Danny Milosavljevic
  0 siblings, 0 replies; 113+ messages in thread
From: Danny Milosavljevic @ 2017-01-04  1:34 UTC (permalink / raw)
  To: ng0; +Cc: guix-devel

Also, there are tests in https://github.com/rust-lang/libc/archive/0.2.18.tar.gz but not in the 0.2.18 crate. I haven't managed to run them successfully yet.

It's supposed to work like this:

$ cd libc-test
$ cargo run

I get

Unknown error
Permission denied.

See also <https://github.com/rust-lang/libc/issues/486>

^ permalink raw reply	[flat|nested] 113+ messages in thread

* Re: 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (86 preceding siblings ...)
  2017-01-03 23:51 ` 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings Ben Woodcroft
@ 2017-01-04 10:14 ` Ricardo Wurmus
  2017-01-04 11:16 ` ng0
  2017-01-04 20:52 ` Ludovic Courtès
  89 siblings, 0 replies; 113+ messages in thread
From: Ricardo Wurmus @ 2017-01-04 10:14 UTC (permalink / raw)
  To: ng0; +Cc: guix-devel


ng0 <ng0@libertad.pw> writes:

> I have not run any of the 81 packages through guix lint, I would if I
> would know a way to mass lint a list of packages.

“guix lint” accepts more than one argument so you can lint all of the
packages with one command.  I do the same for R packages.

Using Emacs or some other editor with macro features (or even just the
shell) you can also easily condense your recent commit messages into a
list of package names to be passed to “guix lint”.

I think running “guix lint” is essential before submitting patches to
the mailing list, because it avoids wasted effort for a lot of common
mistakes.

^ permalink raw reply	[flat|nested] 113+ messages in thread

* Re: 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (87 preceding siblings ...)
  2017-01-04 10:14 ` Ricardo Wurmus
@ 2017-01-04 11:16 ` ng0
  2017-01-04 11:20   ` David Craven
  2017-01-04 11:39   ` Danny Milosavljevic
  2017-01-04 20:52 ` Ludovic Courtès
  89 siblings, 2 replies; 113+ messages in thread
From: ng0 @ 2017-01-04 11:16 UTC (permalink / raw)
  To: guix-devel

ng0 <ng0@libertad.pw> writes:

> ... and I still am not sure wether the build system works or not (see bottom of this email) because I still have to learn more about this language. Our prototype will soon switch to fluid (it's currently using qml-material but I refrained from adding that as its upstream looks like it moved on to fluid), so apart from the prototype the only "real" application I can check this chain on can only be added later after this has been added. Remember panopticon, the package which got me to poke at the rust/cargo in winter of 2015 and spring of last year? This can be made functional (finally) once I package some more crates in addition to all the ones I send with this.
>
> Please provide constructive critique and review. Read the crate repositories and their own descriptions etc. It was very hard and not intentional to end up with tautological descriptions/synopsis. Remember that we are starting at zero and that some (most?) of the now following crates add very basic functionalities.
>
>
>
>
> I have not run any of the 81 packages through guix lint, I would if I would know a way to mass lint a list of packages.
> For those I checked (like rust-openssl-sys) left me in confusion. Does our cargo build-system just build nothing? Are all of these libraries? rust-openssl-sys contained nothing, but rust-openssl-sys:src had all the data. Same goes for the libpsyc-rust
>
>

One more addition: I will only send a rebased patch series after
all patches have been reviewed.
As a proof of concept I can go on and add more dependencies and
package panopticon (https://panopticon.re) if that's what's
needed for acceptance? As written above, I will do it anyway
after the patches are in. it would just add 12 - 40 (depending on
how much dependencies of dependencies I'd need) more patches, so
this current patch series is more friendly.

-- 
♥Ⓐ  ng0
PGP keys and more: https://n0is.noblogs.org/ http://ng0.chaosnet.org

^ permalink raw reply	[flat|nested] 113+ messages in thread

* Re: 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings
  2017-01-04 11:16 ` ng0
@ 2017-01-04 11:20   ` David Craven
  2017-01-04 11:54     ` ng0
  2017-01-04 11:39   ` Danny Milosavljevic
  1 sibling, 1 reply; 113+ messages in thread
From: David Craven @ 2017-01-04 11:20 UTC (permalink / raw)
  To: ng0; +Cc: guix-devel

> One more addition: I will only send a rebased patch series after
> all patches have been reviewed.

> I think running “guix lint” is essential before submitting patches to
> the mailing list, because it avoids wasted effort for a lot of common
> mistakes.

It is my opinion that it is to early to be merging hundreds of rust
packages, and that the cargo-build-system has some "deep" issues that
need fixing first.

^ permalink raw reply	[flat|nested] 113+ messages in thread

* Re: [PATCH 80/86] gnu: rust-csv: Add rust-regex input.
  2017-01-04  0:36   ` Danny Milosavljevic
@ 2017-01-04 11:26     ` ng0
  0 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-04 11:26 UTC (permalink / raw)
  To: Danny Milosavljevic; +Cc: guix-devel

Danny Milosavljevic <dannym@scratchpost.org> writes:

> Cycle rust-csv - rust-regex - rust-aho-corasick - rust-csv.
>

What does this mean?

If you mean by cycle dependency-cycle I'd suggest that you look
more closely at the dependency groups. I was stuck in an infinite
dependency cycle until I solved it by leaving out certain dev
dependencies.
-- 
♥Ⓐ  ng0
PGP keys and more: https://n0is.noblogs.org/ http://ng0.chaosnet.org

^ permalink raw reply	[flat|nested] 113+ messages in thread

* Re: [PATCH 82/86] gnu: rust-quickcheck: Add rust-env-logger input.
  2017-01-04  0:31   ` Danny Milosavljevic
@ 2017-01-04 11:30     ` ng0
  0 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-04 11:30 UTC (permalink / raw)
  To: Danny Milosavljevic; +Cc: guix-devel

Danny Milosavljevic <dannym@scratchpost.org> writes:

> On Tue,  3 Jan 2017 23:36:38 +0000
> ng0 <ng0@libertad.pw> wrote:
>
>> * gnu/packages/rust.scm (rust-quickcheck)[arguments]: Add rust-env-logger.
>> -       ;; TODO: ("rust-env-logger" ,rust-env-logger "src")
>> +       ("rust-env-logger" ,rust-env-logger "src")
>
> That causes a cycle rust-quickcheck - rust-env-logger - rust-regex - rust-quickcheck. I should know because it took hours until I tracked it down in my copy :)
>
> If you try to do "guix package -i rust-env-logger" or any of these packages mentioned, it'll crash with a Guile VM stack overflow.
>
> Please think of a way to fix that.
>

Really? Damn......

I thought I fixed the infinite dependency loop I was in with
this.
I'm out of ideas for now, as on paper I've always ran into
keeping at least one -bootstrap of a package around forever.

Ideas welcome!
-- 
♥Ⓐ  ng0
PGP keys and more: https://n0is.noblogs.org/ http://ng0.chaosnet.org

^ permalink raw reply	[flat|nested] 113+ messages in thread

* Re: 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings
  2017-01-04 11:16 ` ng0
  2017-01-04 11:20   ` David Craven
@ 2017-01-04 11:39   ` Danny Milosavljevic
  2017-01-04 12:24     ` ng0
  1 sibling, 1 reply; 113+ messages in thread
From: Danny Milosavljevic @ 2017-01-04 11:39 UTC (permalink / raw)
  To: ng0; +Cc: guix-devel

Hi ng0,

> > For those I checked (like rust-openssl-sys) left me in confusion. Does our cargo build-system just build nothing?

Most Rust libraries are installed as source code (similar to C++ templates which are also installed as source code).

The current Guix master cargo build system doesn't build anything.

On the other hand, my WIP v2 build system does build the libraries. But that's not because it installs the stuff it built (it shouldn't - it should install the source code), it's just to make it easily possible to find out what dependencies are missing and whether it's the correct version of the library (e.g. working in Rust stable). Is builds in the "build" phase AND in the "check" phase in order to find out which dependencies are required for the library and which are required for the tests only.

> Are all of these libraries? rust-openssl-sys contained nothing, but rust-openssl-sys:src had all the data.

Yeah, David added a "src" output that contains the source code.

My WIP v2 build system doesn't do that yet since I have ~5000 lines of existing rust package recipes I'd have to update - and I'd rather get everything to work first and then drop all my Rust packages and recreate them. Keep in mind that if you want to use my WIP v2 build system you also have to either (1) patch guix/build-system/cargo.scm not to do the src output or (2) patch guix/build/cargo-build-system.scm to do the src output. 
Please be advised that it's not finished yet - that's why it's marked WIP and not merged :)

This is all very much work-in-progress. But your Rust package recipes without dependencies probably won't change later. So those are fine. The others - ehhh don't know yet. For example it's not clear yet to me whether we need propagated-inputs for source libs. I think we do.

Right now I'm working on untangling circular dependencies manually - probably have to talk to upstream some more.

(Sigh... why do people so often create circular dependencies? Don't they feel icky about it?)

^ permalink raw reply	[flat|nested] 113+ messages in thread

* Re: 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings
  2017-01-04 11:20   ` David Craven
@ 2017-01-04 11:54     ` ng0
  2017-01-04 12:00       ` David Craven
  0 siblings, 1 reply; 113+ messages in thread
From: ng0 @ 2017-01-04 11:54 UTC (permalink / raw)
  To: David Craven; +Cc: guix-devel

David Craven <david@craven.ch> writes:

>> One more addition: I will only send a rebased patch series after
>> all patches have been reviewed.
>
>> I think running “guix lint” is essential before submitting patches to
>> the mailing list, because it avoids wasted effort for a lot of common
>> mistakes.
>
> It is my opinion that it is to early to be merging hundreds of rust
> packages, and that the cargo-build-system has some "deep" issues that
> need fixing first.

Both can happen at the same time and help each other. I/we need
these patches, and I think keeping this branch around on our (my)
side will help finding bugs in the cargo build-system. I just
hope it won't be another year until it all works well enough.

I see that new rust related patches landed now, so I have to
rebase now. I'm waiting for more reviews and will send a rebased
version then.
-- 
♥Ⓐ  ng0
PGP keys and more: https://n0is.noblogs.org/ http://ng0.chaosnet.org

^ permalink raw reply	[flat|nested] 113+ messages in thread

* Re: 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings
  2017-01-04 11:54     ` ng0
@ 2017-01-04 12:00       ` David Craven
  0 siblings, 0 replies; 113+ messages in thread
From: David Craven @ 2017-01-04 12:00 UTC (permalink / raw)
  To: ng0; +Cc: guix-devel

> Both can happen at the same time and help each other. I/we need
> these patches, and I think keeping this branch around on our (my)
> side will help finding bugs in the cargo build-system. I just
> hope it won't be another year until it all works well enough.

Well if you'd like to help there, I think that finding and packaging a
simple package that contains a Cargo.lock file and a dependency tree
<= 10 crates would be a more useful test scenario. A test base this
large would be useful at a later stage. I'm having difficulties
finding a crate that fits those requirements, maybe I'll package some
old rust project of mine...

^ permalink raw reply	[flat|nested] 113+ messages in thread

* Re: 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings
  2017-01-04 11:39   ` Danny Milosavljevic
@ 2017-01-04 12:24     ` ng0
  0 siblings, 0 replies; 113+ messages in thread
From: ng0 @ 2017-01-04 12:24 UTC (permalink / raw)
  To: Danny Milosavljevic; +Cc: guix-devel

Danny Milosavljevic <dannym@scratchpost.org> writes:

> Hi ng0,
>
>> > For those I checked (like rust-openssl-sys) left me in confusion. Does our cargo build-system just build nothing?
>
> Most Rust libraries are installed as source code (similar to C++ templates which are also installed as source code).

Okay, I'm totally new to Rust, the developers at my side might've
told me before but I forgot about it I guess.

> The current Guix master cargo build system doesn't build anything.

Ah!

> On the other hand, my WIP v2 build system does build the libraries. But that's not because it installs the stuff it built (it shouldn't - it should install the source code), it's just to make it easily possible to find out what dependencies are missing and whether it's the correct version of the library (e.g. working in Rust stable). Is builds in the "build" phase AND in the "check" phase in order to find out which dependencies are required for the library and which are required for the tests only.
>
>> Are all of these libraries? rust-openssl-sys contained nothing, but rust-openssl-sys:src had all the data.
>
> Yeah, David added a "src" output that contains the source code.

The openssl-sys (or rather, the openssl crate) was one of these
crates which required an external, non-rust dependency to be
present. I was wondering how rust dealt with this, as I was just
following upstream description and saw that something must be
missing/broken at our end (or somewhere down my graph).

> My WIP v2 build system doesn't do that yet since I have ~5000 lines of existing rust package recipes I'd have to update - and I'd rather get everything to work first and then drop all my Rust packages and recreate them. Keep in mind that if you want to use my WIP v2 build system you also have to either (1) patch guix/build-system/cargo.scm not to do the src output or (2) patch guix/build/cargo-build-system.scm to do the src output. 
> Please be advised that it's not finished yet - that's why it's marked WIP and not merged :)
>
> This is all very much work-in-progress. But your Rust package recipes without dependencies probably won't change later. So those are fine. The others - ehhh don't know yet. For example it's not clear yet to me whether we need propagated-inputs for source libs. I think we do.

I could create a branch with just those 0 dependency crates (see
below for a list including but not limited to them) and send them
to be merged? That's a base which can't be (very) wrong.

In addition I could also split off the fluid and roboto patch to
be merged.

> Right now I'm working on untangling circular dependencies manually - probably have to talk to upstream some more.
>
> (Sigh... why do people so often create circular dependencies? Don't they feel icky about it?)
>

I have rebased with the latest master since David just pushed the
cargo updates. Building rust-serde gave me the VM error you
mentioned earlier.


    David Craven wrote:
    
    > > Both can happen at the same time and help each other. I/we need
    > > these patches, and I think keeping this branch around on our
    > > (my)
    > > side will help finding bugs in the cargo build-system. I just
    > > hope it won't be another year until it all works well enough.

    > Well if you'd like to help there, I think that finding and
    > packaging a
    > simple package that contains a Cargo.lock file and a dependency
    > tree
    > <= 10 crates would be a more useful test scenario. A test base
    > this
    > large would be useful at a later stage. I'm having difficulties
    > finding a crate that fits those requirements, maybe I'll package
    > some
    > old rust project of mine...

    I have most dependency trees listed in our gitlab. I can
    paste the ones where I found less than 10 dependencies.
    Keep in mind I could be wrong about some as later I started
    to add not all dependencies for those I already packaged
    before. No names except the name itself means that it has 0
    dependencies, and "~" was a visual guideline for myself when
    I still used gitlab's limited markdown to track what I
    already packaged:

     futures
     log
     bitflags
     cfg-if
     void
     scoped-tls
     slab
     tempdir
     openssl-probe
     pkg-config
     rustc-serialize
     tempdir
     time -> needs: (advapi32-sys), ~log~, (kernel32-sys), ~libc~, rustc-serialize, (winapi)
     bitflags
     libc
     glob
     rand
     nix-test
     bytes -> needs: rand
     spin
     lazy-static
     qml (will require DOtherSide and crates: lazy-static, libc

-- 
♥Ⓐ  ng0
PGP keys and more: https://n0is.noblogs.org/ http://ng0.chaosnet.org

^ permalink raw reply	[flat|nested] 113+ messages in thread

* Re: 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings
  2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
                   ` (88 preceding siblings ...)
  2017-01-04 11:16 ` ng0
@ 2017-01-04 20:52 ` Ludovic Courtès
  2017-01-04 22:30   ` ng0
  89 siblings, 1 reply; 113+ messages in thread
From: Ludovic Courtès @ 2017-01-04 20:52 UTC (permalink / raw)
  To: ng0; +Cc: guix-devel

Hi!

Thanks for all the work!

I second Ricardo’s comment about systematically running ‘guix lint’
before submitting, especially for a patch series that is this large.

If you think the review might take several round trips, it might be more
convenient to publish it as a branch somewhere, to avoid resending 86
messages.

I understand the concerns of David Craven regarding
‘cargo-build-system’, though OTOH I’m tempted to think
‘cargo-build-system’ is probably not so bad if it managed to build all
this.  ;-)  But anyway, I’ll David and you figure out what the best
approach is!

Ludo’.

^ permalink raw reply	[flat|nested] 113+ messages in thread

* Re: 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings
  2017-01-04 20:52 ` Ludovic Courtès
@ 2017-01-04 22:30   ` ng0
  2017-01-05 20:34     ` David Craven
  0 siblings, 1 reply; 113+ messages in thread
From: ng0 @ 2017-01-04 22:30 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

Ludovic Courtès <ludo@gnu.org> writes:

> Hi!
>
> Thanks for all the work!
>
> I second Ricardo’s comment about systematically running ‘guix lint’
> before submitting, especially for a patch series that is this large.
>
> If you think the review might take several round trips, it might be more
> convenient to publish it as a branch somewhere, to avoid resending 86
> messages.

It is published, but I can move it to my pagure.io account as
long as our (secushare) git+issue instance hasn't moved to the
new server. Right now it's .onion and invite-only, which as we
already discussed and voted on is suboptimal, resulting in the
move to a new server which shall be more open.
If that's really desired. I really dislike using email, so if you
would really make use of just using the remote branch or checking
it out in some way I'm all for it.
Should I just sent a short notive with the new branch and its
location once it is done?

> I understand the concerns of David Craven regarding
> ‘cargo-build-system’, though OTOH I’m tempted to think
> ‘cargo-build-system’ is probably not so bad if it managed to build all
> this.  ;-)  But anyway, I’ll David and you figure out what the best
> approach is!

I'm confused though. Before the latest patch it managed to build
it all, but it starts to break at the circular dependencies where
I did not check my solution and if it still builds. So up until
the point where the patches just change an input to become
available, it's alright, or seems so.
The circular dependencies were confusing, I ended up moving from
gitlab+markdown to my board and to paper to figure out the
correct way to bootstrap over several levels but it ended up
being circular. Then I saw that some where just devel-inputs or
what they are called in rust again, so I thought it'd work out to
first leave them out and add them once the right inputs are
available.

> Ludo’.
>

-- 
♥Ⓐ  ng0
PGP keys and more: https://n0is.noblogs.org/ http://ng0.chaosnet.org

^ permalink raw reply	[flat|nested] 113+ messages in thread

* Re: 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings
  2017-01-04 22:30   ` ng0
@ 2017-01-05 20:34     ` David Craven
  0 siblings, 0 replies; 113+ messages in thread
From: David Craven @ 2017-01-05 20:34 UTC (permalink / raw)
  To: ng0; +Cc: guix-devel

> I understand the concerns of David Craven regarding
> ‘cargo-build-system’, though OTOH I’m tempted to think
> ‘cargo-build-system’ is probably not so bad if it managed to build all
> this.  ;-)  But anyway, I’ll David and you figure out what the best
> approach is!

I haven't inspected all the patches, but I don't think it's possible
that any package was actually built (unless danny's patch was
applied). All the build-system does with these packages is recursively
download the rust-psych dependency tree without building anything.
This would not show any problems with some crates requiring a nightly
rustc, or circular dependencies, or version mismatches (like requiring
an older semver major version or multiple versions of the same
package).

The downside of doing it like this is that we can't run tests on the
dependencies. But I think that building binaries like cargo that have
locked dependencies side steps all the problems mentioned above, and
would be a big milestone. It would allow us to do cool things like
patch crates with security fixes; and c wrapper crates like
rust-pkg-config, rust-cmake, rust-openssl, etc. could
declare/propagate/retain their c dependencies directly.


Danny has been exploring a different (or complementary) approach that
would allow running the tests on the crates and solves the above
issues manually. I currently think that doing this manually would make
packaging and much more important updating packages a large amount of
manual work, but I am open to reconsider if someone shows this to be a
surmountable task.

Another issue with Danny's approach is that as it is now, I don't see
an immediate advantage of running tests on dependencies of a package
before we have managed to build the package. The reason being that
trying to use the latest versions of all packages recursively might
yield big issues when trying to build the final thing even if all
tests passed on the individual crates. This results in false
confidence in the taken path and I don't think it can be considered a
reliable intermediate step to packaging a rust package, as it would be
in other build-systems. At least not until someone has provided
evidence by showing at least one counter example.

^ permalink raw reply	[flat|nested] 113+ messages in thread

end of thread, other threads:[~2017-01-05 20:34 UTC | newest]

Thread overview: 113+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
2017-01-03 23:35 ` [PATCH 01/86] gnu: Add rust-libc ng0
2017-01-04  0:17   ` Danny Milosavljevic
2017-01-04  1:34     ` Danny Milosavljevic
2017-01-03 23:35 ` [PATCH 02/86] gnu: Add rust-spin ng0
2017-01-04  0:21   ` Danny Milosavljevic
2017-01-03 23:35 ` [PATCH 03/86] gnu: Add rust-lazy-static ng0
2017-01-03 23:35 ` [PATCH 04/86] gnu: Add dotherside ng0
2017-01-03 23:35 ` [PATCH 05/86] gnu: Add rust-qml ng0
2017-01-03 23:35 ` [PATCH 06/86] gnu: Add rust-log ng0
2017-01-04  0:22   ` Danny Milosavljevic
2017-01-03 23:35 ` [PATCH 07/86] gnu: Add rust-futures ng0
2017-01-03 23:35 ` [PATCH 08/86] gnu: Add rust-rand ng0
2017-01-03 23:35 ` [PATCH 09/86] gnu: Add rust-nix-test ng0
2017-01-03 23:35 ` [PATCH 10/86] gnu: Add rust-void ng0
2017-01-04  0:24   ` Danny Milosavljevic
2017-01-03 23:35 ` [PATCH 11/86] gnu: Add rust-slab ng0
2017-01-04  0:25   ` Danny Milosavljevic
2017-01-03 23:35 ` [PATCH 12/86] gnu: Add rust-winapi-build ng0
2017-01-03 23:35 ` [PATCH 13/86] gnu: Add rust-tempdir ng0
2017-01-03 23:35 ` [PATCH 14/86] gnu: Add rust-glob ng0
2017-01-03 23:35 ` [PATCH 15/86] gnu: Add rust-scoped-tls ng0
2017-01-03 23:35 ` [PATCH 16/86] gnu: Add rust-bitflags ng0
2017-01-03 23:35 ` [PATCH 17/86] gnu: Add rust-unreachable ng0
2017-01-03 23:35 ` [PATCH 18/86] gnu: Add rust-thread-id ng0
2017-01-03 23:35 ` [PATCH 19/86] gnu: Add rust-thread-local ng0
2017-01-03 23:35 ` [PATCH 20/86] gnu: Add rust-cfg-if ng0
2017-01-03 23:35 ` [PATCH 21/86] gnu: Add rust-net2 ng0
2017-01-03 23:35 ` [PATCH 22/86] gnu: Add rust-bytes ng0
2017-01-03 23:35 ` [PATCH 23/86] gnu: Add rust-openssl-probe ng0
2017-01-03 23:35 ` [PATCH 24/86] gnu: Add rust-pkg-config ng0
2017-01-03 23:35 ` [PATCH 25/86] gnu: Add rust-num-traits ng0
2017-01-03 23:35 ` [PATCH 26/86] gnu: Add rust-num-integer ng0
2017-01-03 23:35 ` [PATCH 27/86] gnu: Add rust-num-iter ng0
2017-01-03 23:35 ` [PATCH 28/86] gnu: Add rust-openssl-sys ng0
2017-01-03 23:35 ` [PATCH 29/86] gnu: Add rust-matches ng0
2017-01-03 23:35 ` [PATCH 30/86] gnu: Add rust-getopts ng0
2017-01-03 23:35 ` [PATCH 31/86] gnu: Add rust-encoding-index-tests ng0
2017-01-03 23:35 ` [PATCH 32/86] gnu: Add rust-encoding-index-japanese ng0
2017-01-03 23:35 ` [PATCH 33/86] gnu: Add rust-encoding-index-korean ng0
2017-01-03 23:35 ` [PATCH 34/86] gnu: Add rust-encoding-index-simpchinese ng0
2017-01-03 23:35 ` [PATCH 35/86] gnu: Add rust-encoding-index-singlebyte ng0
2017-01-03 23:35 ` [PATCH 36/86] gnu: Add rust-encoding-index-tradchinese ng0
2017-01-03 23:35 ` [PATCH 37/86] gnu: Add rust-encoding ng0
2017-01-03 23:35 ` [PATCH 38/86] gnu: Add rust-deque ng0
2017-01-03 23:35 ` [PATCH 39/86] gnu: Add rust-clippy-mini-macro-test ng0
2017-01-03 23:35 ` [PATCH 40/86] gnu: Add rust-unicode-normalization ng0
2017-01-03 23:35 ` [PATCH 41/86] gnu: Add rust-fnv ng0
2017-01-04  0:38   ` Danny Milosavljevic
2017-01-03 23:35 ` [PATCH 42/86] gnu: Add rust-heapsize ng0
2017-01-04  0:39   ` Danny Milosavljevic
2017-01-03 23:35 ` [PATCH 43/86] gnu: Add rust-unicode-bidi ng0
2017-01-03 23:36 ` [PATCH 44/86] gnu: Add rust-rustc-serialize ng0
2017-01-03 23:36 ` [PATCH 45/86] gnu: Add rust-time ng0
2017-01-03 23:36 ` [PATCH 46/86] gnu: Add rust-term ng0
2017-01-04  0:41   ` Danny Milosavljevic
2017-01-03 23:36 ` [PATCH 47/86] gnu: Add rust-rustc-test ng0
2017-01-03 23:36 ` [PATCH 48/86] gnu: Add rust-idna ng0
2017-01-03 23:36 ` [PATCH 49/86] gnu: Add rust-compiletest-rs ng0
2017-01-03 23:36 ` [PATCH 50/86] gnu: Add rust-strsim ng0
2017-01-04  0:41   ` Danny Milosavljevic
2017-01-03 23:36 ` [PATCH 51/86] gnu: Add rust-quickcheck ng0
2017-01-03 23:36 ` [PATCH 52/86] gnu: Add rust-memchr ng0
2017-01-03 23:36 ` [PATCH 53/86] gnu: Add rust-fs2 ng0
2017-01-04  1:04   ` Danny Milosavljevic
2017-01-03 23:36 ` [PATCH 54/86] gnu: Add rust-memmap ng0
2017-01-03 23:36 ` [PATCH 55/86] gnu: Add rust-docopt ng0
2017-01-03 23:36 ` [PATCH 56/86] gnu: Add rust-byteorder ng0
2017-01-03 23:36 ` [PATCH 57/86] gnu: Add rust-csv ng0
2017-01-03 23:36 ` [PATCH 58/86] gnu: Add rust-aho-corasick ng0
2017-01-03 23:36 ` [PATCH 59/86] gnu: Add rust-regex-syntax ng0
2017-01-03 23:36 ` [PATCH 60/86] gnu: Add rust-simd ng0
2017-01-03 23:36 ` [PATCH 61/86] gnu: Add rust-utf8-ranges ng0
2017-01-03 23:36 ` [PATCH 62/86] gnu: Add rust-regex ng0
2017-01-03 23:36 ` [PATCH 63/86] gnu: Add rust-env-logger ng0
2017-01-03 23:36 ` [PATCH 64/86] gnu: Add rust-quine-mc-cluskey ng0
2017-01-03 23:36 ` [PATCH 65/86] gnu: Add rust-toml ng0
2017-01-03 23:36 ` [PATCH 66/86] gnu: Add rust-semver-parser ng0
2017-01-03 23:36 ` [PATCH 67/86] gnu: Add rust-semver ng0
2017-01-03 23:36 ` [PATCH 68/86] gnu: Add rust-rustc-version ng0
2017-01-03 23:36 ` [PATCH 69/86] gnu: Add rust-tempfile ng0
2017-01-03 23:36 ` [PATCH 70/86] gnu: Add rust-nix ng0
2017-01-03 23:36 ` [PATCH 71/86] gnu: Add rust-clippy-lints ng0
2017-01-03 23:36 ` [PATCH 72/86] gnu: Add rust-clippy ng0
2017-01-03 23:36 ` [PATCH 73/86] gnu: Add rust-lazycell ng0
2017-01-03 23:36 ` [PATCH 74/86] gnu: Add rust-mio ng0
2017-01-03 23:36 ` [PATCH 75/86] gnu: Add rust-tokio-core ng0
2017-01-03 23:36 ` [PATCH 76/86] gnu: Add rust-serde ng0
2017-01-03 23:36 ` [PATCH 77/86] gnu: Add rust-serde-test ng0
2017-01-03 23:36 ` [PATCH 78/86] gnu: rust-clippy: Add rust-serde input ng0
2017-01-03 23:36 ` [PATCH 79/86] gnu: rust-toml: " ng0
2017-01-03 23:36 ` [PATCH 80/86] gnu: rust-csv: Add rust-regex input ng0
2017-01-04  0:36   ` Danny Milosavljevic
2017-01-04 11:26     ` ng0
2017-01-03 23:36 ` [PATCH 81/86] gnu: rust-docopt: " ng0
2017-01-03 23:36 ` [PATCH 82/86] gnu: rust-quickcheck: Add rust-env-logger input ng0
2017-01-04  0:31   ` Danny Milosavljevic
2017-01-04 11:30     ` ng0
2017-01-03 23:36 ` [PATCH 83/86] gnu: Add fluid ng0
2017-01-03 23:36 ` [PATCH 84/86] gnu: Add libpsyc-rust ng0
2017-01-03 23:36 ` [PATCH 85/86] gnu: libpsyc: Remove comment ng0
2017-01-03 23:36 ` [PATCH 86/86] gnu: Add font-google-roboto ng0
2017-01-03 23:51 ` 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings Ben Woodcroft
2017-01-04 10:14 ` Ricardo Wurmus
2017-01-04 11:16 ` ng0
2017-01-04 11:20   ` David Craven
2017-01-04 11:54     ` ng0
2017-01-04 12:00       ` David Craven
2017-01-04 11:39   ` Danny Milosavljevic
2017-01-04 12:24     ` ng0
2017-01-04 20:52 ` Ludovic Courtès
2017-01-04 22:30   ` ng0
2017-01-05 20:34     ` David Craven

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.