Re: [PATCH] gnu: libreoffice: Update to 5.1.6.2.

2017-01-03 Thread Leo Famulari
On Wed, Jan 04, 2017 at 12:21:19AM -0600, Alex Griffin wrote:
> On Tue, Jan 3, 2017, at 08:52 PM, Alex Griffin wrote:
> > This patch updates libreoffice to 5.1.6.2, the latest release from their
> > "still" branch (long-term support, stable). Although I think it will be
> > EOL soon, so updating to 5.2.4.2 would be better... if someone else were
> > up to it. The only reason I didn't try moving straight to that version
> > is because my laptop takes ~8 hours to build libreoffice.

I'm currently building libreoffice with your patch :)

> Apologies, this email was poorly worded. Basically, LibreOffice has 2
> supported releases: a "fresh" release (5.2.4.2) and a "still" release
> (5.1.6.2). Since Guix already had the "still" release packaged,
> upgrading to 5.1.6.2 just required a version bump. Upgrading to "fresh"
> requires more work, which I don't really want to do myself because I
> would have to wait way too long to iterate on my changes.

I looked into this recently. I saw that there are many
LibreOffice-specific packages that we should look into updating as well,
especially when we try to update to the "fresh" release. But, as you
mentioned, it's hard to stay motivated to work on the LibreOffice
package because of how long it takes to build.

For now, the "still" release is fine.



Re: [PATCH] gnu: libreoffice: Update to 5.1.6.2.

2017-01-03 Thread John Darrington
On Wed, Jan 04, 2017 at 12:21:19AM -0600, Alex Griffin wrote:
 On Tue, Jan 3, 2017, at 08:52 PM, Alex Griffin wrote:
 > This patch updates libreoffice to 5.1.6.2, the latest release from their
 > "still" branch (long-term support, stable). Although I think it will be
 > EOL soon, so updating to 5.2.4.2 would be better... if someone else were
 > up to it. The only reason I didn't try moving straight to that version
 > is because my laptop takes ~8 hours to build libreoffice.
 
 Apologies, this email was poorly worded. Basically, LibreOffice has 2
 supported releases: a "fresh" release (5.2.4.2) and a "still" release
 (5.1.6.2). Since Guix already had the "still" release packaged,
 upgrading to 5.1.6.2 just required a version bump. Upgrading to "fresh"
 requires more work, which I don't really want to do myself because I
 would have to wait way too long to iterate on my changes.

Perhaps we should keep both releases in Guix as seperate packages?

J'

-- 
Avoid eavesdropping.  Send strong encrypted email.
PGP Public key ID: 1024D/2DE827B3 
fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
See http://sks-keyservers.net or any PGP keyserver for public key.



signature.asc
Description: Digital signature


mcrypt CVE-2012-{4409,4527} [was Re: [PATCH 1/1] gnu: unrtf: Fix CVE-2016-10091.]

2017-01-03 Thread Leo Famulari
On Wed, Jan 04, 2017 at 02:27:57AM -0500, Leo Famulari wrote:
> Of course, the patch I sent on January 1 was completely broken.
> 
> The patch it included from Debian was meant to be applied to the Debian
> package tree, not the UnRTF source code.

I found another instance of this in mcrypt, which I just fixed in
324f4fc559b4cf9f7df0bc334ac8a0a4fa040c22.


signature.asc
Description: PGP signature


Re: [PATCH 1/1] gnu: unrtf: Fix CVE-2016-10091.

2017-01-03 Thread Leo Famulari
On Wed, Jan 04, 2017 at 02:13:25AM -0500, Leo Famulari wrote:
> On Tue, Jan 03, 2017 at 05:49:29PM +0100, Marius Bakke wrote:
> > Leo Famulari  writes:
> > > +diff --git a/debian/patches/series b/debian/patches/series
> > > +new file mode 100644
> > > +index 000..7868249
> > > +--- /dev/null
> > >  b/debian/patches/series
> > > +@@ -0,0 +1 @@
> > > ++0001-Replace-all-instances-of-sprintf-with-snprintf-and-a.patch
> > 
> > This part we surely don't need ;-)
> 
> Oops!

x2

Of course, the patch I sent on January 1 was completely broken.

The patch it included from Debian was meant to be applied to the Debian
package tree, not the UnRTF source code.

I've attached a revision!
From 0799beece00361cbaa2e1d9796532de0f5f55ff9 Mon Sep 17 00:00:00 2001
From: Leo Famulari 
Date: Sun, 1 Jan 2017 15:12:48 -0500
Subject: [PATCH] gnu: unrtf: Fix CVE-2016-10091.

* gnu/packages/patches/unrtf-CVE-2016-10091.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/unrtf.scm (unrtf)[source]: Use it.
---
 gnu/local.mk|   1 +
 gnu/packages/patches/unrtf-CVE-2016-10091.patch | 189 
 gnu/packages/unrtf.scm  |   2 +
 3 files changed, 192 insertions(+)
 create mode 100644 gnu/packages/patches/unrtf-CVE-2016-10091.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index f45030f84..00edacad7 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -878,6 +878,7 @@ dist_patch_DATA =   
\
   %D%/packages/patches/tophat-build-with-later-seqan.patch \
   %D%/packages/patches/totem-debug-format-fix.patch\
   %D%/packages/patches/tuxpaint-stamps-path.patch  \
+  %D%/packages/patches/unrtf-CVE-2016-10091.patch  \
   %D%/packages/patches/unzip-CVE-2014-8139.patch   \
   %D%/packages/patches/unzip-CVE-2014-8140.patch   \
   %D%/packages/patches/unzip-CVE-2014-8141.patch   \
diff --git a/gnu/packages/patches/unrtf-CVE-2016-10091.patch 
b/gnu/packages/patches/unrtf-CVE-2016-10091.patch
new file mode 100644
index 0..badd1b8ed
--- /dev/null
+++ b/gnu/packages/patches/unrtf-CVE-2016-10091.patch
@@ -0,0 +1,189 @@
+Fix CVE-2016-10091 (stack-based buffer overflows in cmd_* functions):
+
+https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10091
+https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=849705
+http://seclists.org/oss-sec/2016/q4/787
+
+Patch adapted from Debian:
+
+https://anonscm.debian.org/cgit/collab-maint/unrtf.git/commit/?h=jessie=7500a48fb0fbad3ab963fb17560b2f90a8a485c8
+
+The Debian patch adapts this upstream commit so that it can be applied
+to the 0.21.9 release tarball:
+
+http://hg.savannah.gnu.org/hgweb/unrtf/rev/3b16893a6406
+
+From 7dd568ed8a6a5acb6c04f2b40f457d63a00435f3 Mon Sep 17 00:00:00 2001
+From: Willi Mann 
+Date: Sat, 31 Dec 2016 20:31:38 +0100
+Subject: [PATCH] Add patch from upstream to fix CVE-2016-10091 (buffer
+ overflow in various cmd_ functions)
+
+diff --git a/src/attr.c b/src/attr.c
+index 02b5c81..e2951ea 100644
+--- a/src/attr.c
 b/src/attr.c
+@@ -746,7 +746,7 @@ char *
+ assemble_string(char *string, int nr)
+ {
+ 
+-  char *s, tmp[12];/* Number of characters that can be in int type 
(including '\0') - AF */
++  char *s, tmp[20];
+   int i = 0, j = 0;
+ 
+   if (string == NULL)
+@@ -762,7 +762,7 @@ assemble_string(char *string, int nr)
+   }
+ 
+   if (string[i] != '\0') {
+-  sprintf(tmp, "%d", nr);
++  snprintf(tmp, 20, "%d", nr);
+   strcpy([j], tmp);
+   j = j + strlen(tmp);
+   }
+diff --git a/src/convert.c b/src/convert.c
+index c76d7d6..8eacdcb 100644
+--- a/src/convert.c
 b/src/convert.c
+@@ -472,7 +472,7 @@ static const int fcharsetparmtocp(int parm)
+ }
+ 
+ // Translate code page to encoding name hopefully suitable as iconv input
+-static char *cptoencoding(parm)
++static char *cptoencoding(int parm)
+ {
+ // Note that CP0 is supposed to mean current system default, which does
+ // not make any sense as a stored value, we don't handle it.
+@@ -964,7 +964,7 @@ cmd_cf (Word *w, int align, char has_param, int num)
+   }
+   else
+   {
+-  sprintf(str,"#%02x%02x%02x",
++  snprintf(str, 40, "#%02x%02x%02x",
+   color_table[num].r,
+   color_table[num].g,
+   color_table[num].b);
+@@ -993,7 +993,7 @@ cmd_cb (Word *w, int align, char has_param, int num)
+   }
+   else
+   {
+-  sprintf(str,"#%02x%02x%02x",
++  snprintf(str, 40, "#%02x%02x%02x",
+   color_table[num].r,
+   color_table[num].g,
+   color_table[num].b);
+@@ -1018,7 +1018,7 @@ cmd_fs (Word *w, int align, char has_param, int 

Re: [PATCH 1/1] gnu: unrtf: Fix CVE-2016-10091.

2017-01-03 Thread Leo Famulari
On Tue, Jan 03, 2017 at 05:49:29PM +0100, Marius Bakke wrote:
> Leo Famulari  writes:
> > +Patch copied from Debian:
> > +
> > +https://anonscm.debian.org/cgit/collab-maint/unrtf.git/commit/?h=jessie=7500a48fb0fbad3ab963fb17560b2f90a8a485c8
> > +
> > +The Debian patch adapts this upstream commit so that it can be applied
> > +to the 0.21.9 release tarball:
> > +
> > +http://hg.savannah.gnu.org/hgweb/unrtf/rev/3b16893a6406
> 
> Isn't the Debian patch the same as this upstream commit? I can't spot
> the difference with a cursory glance.

The upstream patch mostly fails to apply:

--
can't find file to patch at input line 12
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--
|
|# HG changeset patch
|# User Jean-Francois Dockes 
|# Date 1483180555 -3600
|# Node ID 3b16893a6406b548ff9c3a5966b47e11773eb671
|# Parent  f37dd4dea9c1b97e2563759b1164573d42d679dd
|Replace all instances of sprintf with snprintf and adjust size of integer 
field in some cases
|
|diff --git a/Windows/unrtf_w.c b/Windows/unrtf_w.c
|--- a/Windows/unrtf_w.c
|+++ b/Windows/unrtf_w.c
--
No file to patch.  Skipping patch.
1 out of 1 hunk ignored
patching file src/attr.c
Hunk #1 succeeded at 746 (offset -218 lines).
Hunk #2 FAILED at 986.
1 out of 2 hunks FAILED -- saving rejects to file src/attr.c.rej
patching file src/convert.c
Hunk #1 succeeded at 472 with fuzz 2 (offset -83 lines).
Hunk #2 FAILED at 1383.
Hunk #3 FAILED at 1412.
Hunk #4 FAILED at 1441.
Hunk #5 FAILED at 1630.
Hunk #6 FAILED at 1687.
Hunk #7 FAILED at 1855.
Hunk #8 FAILED at 1882.
Hunk #9 succeeded at 1403 (offset -488 lines).
Hunk #10 FAILED at 1908.
Hunk #11 succeeded at 1976 with fuzz 2 (offset -585 lines).
Hunk #12 FAILED at 2590.
Hunk #13 FAILED at 4214.
10 out of 13 hunks FAILED -- saving rejects to file src/convert.c.rej
patching file src/output.c
Hunk #1 FAILED at 402.
Hunk #2 FAILED at 629.
2 out of 2 hunks FAILED -- saving rejects to file src/output.c.rej
source is under 'unrtf-0.21.9'
--

Based on my comparison of the respective patches from UnRTF and Debian,
I think there have been widespread stylistic changes in the upstream
code. For example, the upstream patch has this hunk in 'src/attr.c',
which fails to apply to the tarball:

@@ -986,7 +986,7 @@

if (string[i] != '\0')
{
-   sprintf(tmp, "%d", nr);
+   snprintf(tmp, 20, "%d", nr);
strcpy([j], tmp);
j = j + strlen(tmp);
}

Whereas Debian's hunk is like this:

@@ -762,7 +762,7 @@ assemble_string(char *string, int nr)
}

if (string[i] != '\0') {
-   sprintf(tmp, "%d", nr);
+   snprintf(tmp, 20, "%d", nr);
strcpy([j], tmp);
j = j + strlen(tmp);
}

The conditional's opening bracket has been moved. There are lots of
these issues in the upstream patch. It's not really a "bugfix patch" but
merely the upstream commit that happens to fix this bug.

> > +diff --git a/debian/patches/series b/debian/patches/series
> > +new file mode 100644
> > +index 000..7868249
> > +--- /dev/null
> >  b/debian/patches/series
> > +@@ -0,0 +1 @@
> > ++0001-Replace-all-instances-of-sprintf-with-snprintf-and-a.patch
> 
> This part we surely don't need ;-)

Oops!

> Unless the Debian patch fixes other issues than upstream revision
> 3b16893a6406 I would just pick and link to that, skipping the Debian
> step. WDYT?

I think we should use Debian's patch.


signature.asc
Description: PGP signature


Re: [PATCH] gnu: Add beep.

2017-01-03 Thread Tobias Geerinckx-Rice
José,

On 02/01/17 20:33, José Miguel Sánchez García wrote:
> Add beep command.

Thanks!

> -;;; Copyright © 2016 José Miguel Sánchez García...
> +;;; Copyright © 2017 José Miguel Sánchez García...

Please keep both years:

  ;;; Copyright © 2016, 2017 José Miguel Sánchez García...

> (base32 "0bgch6jq5cahakk3kbr9549iysf2dik09afixxy5brbxk1xfzb2r"

A bit long, easily solved by moving the hash string to its own line:

  (base32
   "0bgch6jq5cahakk3kbr9549iysf2dik09afixxy5brbxk1xfzb2r"

> ; It doesn't install without this

I'd consider that implied, and just drop this comment.

(Future note: since in-line comments like this one aren't considered
full sentences, they don't start with a capital letter. Full-line
comments beginning with ;; are, and do.)

You're also doing more than patching the makefile here. Consider moving
the ‘mkdir-p’ part to a separate, later phase (add-before 'install).
Sorry to ruin your ‘let’ factoring...

> (synopsis "Command line utility for Linux that beeps the PC speaker.")
> (description "Command line utility for Linux that beeps the PC
>   speaker.")

I'll trust you that this is indeed Linux-specific: the manual mentions
ioctls, and I can't get it to make a sound from within X :-(

s/command line/command-line/ when used as an adjective.

Descriptions should be between 5 and 10 lines where possible, use full
sentences, and not repeat the synopsis ($ info guix "Synopses and
Descriptions").

Luckily, the first paragraph of the man page makes a pretty good
starting point:

  beep allows the user to control the PC speaker with precision,
  allowing different sounds to indicate different events.  While it can
  be run quite happily on the command line, it's intended place of
  residence is within shell/perl scripts, notifying the user when
  something interesting occurs.  Of course, it has  no notion of what's
  interesting, but it's real good at that notifying part.

I'd re-write the synopsis as ‘Linux command-line utility to control the
PC speaker’. It does a tad more than just beep, even if it's the musical
equivalent of burping the alphabet.

> (home-page "http://www.johnath.com/beep;)
  ^^^

Your package is missing a few brackets. Did the patch get truncated?

Kind regards,

T G-R



signature.asc
Description: OpenPGP digital signature


Re: [PATCH] gnu: libreoffice: Update to 5.1.6.2.

2017-01-03 Thread Alex Griffin
On Tue, Jan 3, 2017, at 08:52 PM, Alex Griffin wrote:
> This patch updates libreoffice to 5.1.6.2, the latest release from their
> "still" branch (long-term support, stable). Although I think it will be
> EOL soon, so updating to 5.2.4.2 would be better... if someone else were
> up to it. The only reason I didn't try moving straight to that version
> is because my laptop takes ~8 hours to build libreoffice.

Apologies, this email was poorly worded. Basically, LibreOffice has 2
supported releases: a "fresh" release (5.2.4.2) and a "still" release
(5.1.6.2). Since Guix already had the "still" release packaged,
upgrading to 5.1.6.2 just required a version bump. Upgrading to "fresh"
requires more work, which I don't really want to do myself because I
would have to wait way too long to iterate on my changes.
-- 
Alex Griffin



Re: [PATCH] gnu: Add httpfs2.

2017-01-03 Thread Leo Famulari
On Wed, Jan 04, 2017 at 05:55:22AM +0100, Tobias Geerinckx-Rice wrote:
> Leo & others,
> 
> On 04/01/17 05:37, Tobias Geerinckx-Rice wrote:
> > On 04/01/17 05:20, Leo Famulari wrote:
> >> If you wanted to do extra work, I think it would also fit in a new FUSE
> >> package module.
> > 
> > Eh, why not. It's that or study.
> 
> ...or file-systems.scm?
> 
> I'm ambivalent about implementation choice being the right abstraction
> level.

Fair point. It's up to you. I merely thought that the web module was not
perfect for this package :)


signature.asc
Description: PGP signature


Re: [PATCH] gnu: Add httpfs2.

2017-01-03 Thread Tobias Geerinckx-Rice
On 04/01/17 05:55, Tobias Geerinckx-Rice wrote:
> ...or file-systems.scm?

Thinking about it more, I think that's the right thing to do.

It's not the first time I've expected it to exist, and it would fill out
nicely with packages like btrfs and ntfs-3g which always felt out of
place to me in linux.scm.

I'll start on a patch unless someone objects.

Kind regards,

T G-R



signature.asc
Description: OpenPGP digital signature


Re: [PATCH] gnu: calibre: Update to 2.76.0.

2017-01-03 Thread Leo Famulari
On Tue, Jan 03, 2017 at 08:37:18PM -0600, Alex Griffin wrote:
> This patch updates calibre to 2.76.0, a bugfix release.
> -- 
> Alex Griffin

> From 1030c9fa675467f845ce09d90feb293603c3971b Mon Sep 17 00:00:00 2001
> From: Alex Griffin 
> Date: Tue, 3 Jan 2017 10:36:52 -0600
> Subject: [PATCH 6/9] gnu: calibre: Update to 2.76.0.
> 
> * gnu/packages/ebook.scm (calibre): Update to 2.76.0.

Pushed, thanks!



Re: [PATCH] gnu: Add httpfs2.

2017-01-03 Thread Tobias Geerinckx-Rice
Leo & others,

On 04/01/17 05:37, Tobias Geerinckx-Rice wrote:
> On 04/01/17 05:20, Leo Famulari wrote:
>> If you wanted to do extra work, I think it would also fit in a new FUSE
>> package module.
> 
> Eh, why not. It's that or study.

...or file-systems.scm?

I'm ambivalent about implementation choice being the right abstraction
level.

Kind regards,

T G-R



signature.asc
Description: OpenPGP digital signature


Re: [PATCH] gnu: dwm: Update to 6.1.

2017-01-03 Thread Leo Famulari
On Tue, Jan 03, 2017 at 06:26:31PM -0600, Alex Griffin wrote:
> This patch updates dwm to 6.1, which adds nicer text rendering in the
> same manner as dmenu.
> 
> (Note my slock patch updates the copyright attribution.)
> -- 
> Alex Griffin

> From 29b5e89b62d490583d4febca4f28426ab1d819ca Mon Sep 17 00:00:00 2001
> From: Alex Griffin 
> Date: Tue, 3 Jan 2017 09:43:46 -0600
> Subject: [PATCH 3/9] gnu: dwm: Update to 6.1.
> 
> * gnu/packages/suckless.scm (dwm): Update to 6.1.
> [inputs]: Add libxft and freetype.
> [arguments]: Add make-flags for finding freetype headers.

Thanks, pushed!



Re: [PATCH] gnu: trash-cli: Update to 0.17.1.1.

2017-01-03 Thread Leo Famulari
On Tue, Jan 03, 2017 at 06:26:53PM -0600, Alex Griffin wrote:
> This patch updates trash-cli to 0.17.1.1, which among other things
> includes a new command for restoring files from the trash.
> -- 
> Alex Griffin

> From 0f7cd27badea222ae9f7794629e689e20aaf1456 Mon Sep 17 00:00:00 2001
> From: Alex Griffin 
> Date: Tue, 3 Jan 2017 07:47:57 -0600
> Subject: [PATCH 4/9] gnu: trash-cli: Update to 0.17.1.1.
> 
> * gnu/packages/shellutils.scm (trash-cli): Update to 0.17.1.1.

Thanks, pushed!



Re: [PATCH] gnu: slock: Update to 1.4.

2017-01-03 Thread Leo Famulari
On Tue, Jan 03, 2017 at 06:11:06PM -0600, Alex Griffin wrote:
> After a long absence, I'm back with a string of trivial version bumps!
> This patch updates slock to version 1.4, which also no longer needs the
> patch for CVE-2016-6866.
> -- 
> Alex Griffin

> From b24fc41055a7e345bac348df09f017c138319bd6 Mon Sep 17 00:00:00 2001
> From: Alex Griffin 
> Date: Tue, 3 Jan 2017 08:49:01 -0600
> Subject: [PATCH 1/9] gnu: slock: Update to 1.4.
> 
> * gnu/packages/suckless.scm (slock): Update to 1.4.
> [source] Remove CVE-2016-6866 patch (no longer needed).
> * gnu/packages/patches/slock-CVE-2016-6866.patch: Remove file.
> * gnu/local.mk (dist_patch_DATA): Remove it.

Thanks, pushed!



Re: [PATCH] gnu: Add wimlib.

2017-01-03 Thread Tobias Geerinckx-Rice
Leo,

On 04/01/17 05:07, Leo Famulari wrote:
> On Tue, Jan 03, 2017 at 02:55:10PM +0100, Tobias Geerinckx-Rice wrote:
>> * gnu/packages/backup.scm (wimlib): New variable.
> 
> Thanks, LGTM!

Thank _you_. Pushed.

Kind regards,

T G-R



signature.asc
Description: OpenPGP digital signature


Re: [PATCH] gnu: bs1770gain: Update to 0.4.12.

2017-01-03 Thread Leo Famulari
On Tue, Jan 03, 2017 at 06:26:58PM -0600, Alex Griffin wrote:
> This patch updates bs1770gain to 0.4.12, a bugfix release.
> -- 
> Alex Griffin

> From 1dccb720badece326d94f84b53181d526795afe7 Mon Sep 17 00:00:00 2001
> From: Alex Griffin 
> Date: Tue, 3 Jan 2017 10:46:59 -0600
> Subject: [PATCH 5/9] gnu: bs1770gain: Update to 0.4.12.
> 
> * gnu/packages/audio.scm (bs1770gain): Update to 0.4.12.

Thanks, pushed!



Re: [PATCH] gnu: feh: Update to 2.18.

2017-01-03 Thread Leo Famulari
On Tue, Jan 03, 2017 at 06:27:02PM -0600, Alex Griffin wrote:
> This patch just updates feh from 2.14.1 to 2.18.
> -- 
> Alex Griffin

> From dade6be7d356e589b63b22c784640e55f4ca5528 Mon Sep 17 00:00:00 2001
> From: Alex Griffin 
> Date: Tue, 3 Jan 2017 10:55:26 -0600
> Subject: [PATCH 7/9] gnu: feh: Update to 2.18.
> 
> * gnu/packages/image-viewers.scm (feh): Update to 2.18.

Thanks, pushed!



Re: [PATCH] gnu: dmenu: Update to 4.6.

2017-01-03 Thread Leo Famulari
On Tue, Jan 03, 2017 at 06:26:24PM -0600, Alex Griffin wrote:
> This patch updates dmenu to 4.6, which added nicer text rendering by
> default and couple new dependencies related to that.
> 
> (Note my slock patch updates the copyright attribution.)
> -- 
> Alex Griffin

> From c1360e73ffa4644f90cfd848ac747852cae5f34a Mon Sep 17 00:00:00 2001
> From: Alex Griffin 
> Date: Tue, 3 Jan 2017 09:40:33 -0600
> Subject: [PATCH 2/9] gnu: dmenu: Update to 4.6.
> 
> * gnu/packages/suckless.scm (dmenu): Update to 4.6.
> [inputs]: Add libxft and freetype.
> [arguments]: Add make-flags for finding freetype headers.

Thanks, pushed!



Re: [PATCH] gnu: Add httpfs2.

2017-01-03 Thread Tobias Geerinckx-Rice
Leo,

On 04/01/17 05:20, Leo Famulari wrote:
> If you wanted to do extra work, I think it would also fit in a new FUSE
> package module.

Eh, why not. It's that or study.

I confess to trying ‘gnu/packages/f’ before settling on
web.scm, so that would certainly be more intuitive.

(I was also disappointed to find out that fuse is in linux.scm for a
reason. Oh well.)

Kind regards,

T G-R



signature.asc
Description: OpenPGP digital signature


Re: [PATCH] gnu: Add httpfs2.

2017-01-03 Thread Leo Famulari
On Tue, Jan 03, 2017 at 10:04:41PM +0100, Tobias Geerinckx-Rice wrote:
> * gnu/packages/web.scm (httpfs2): New variable.

LGTM, thanks!

If you wanted to do extra work, I think it would also fit in a new FUSE
package module.



Re: [PATCH] gnu: Add wimlib.

2017-01-03 Thread Leo Famulari
On Tue, Jan 03, 2017 at 02:55:10PM +0100, Tobias Geerinckx-Rice wrote:
> * gnu/packages/backup.scm (wimlib): New variable.

Thanks, LGTM!



Re: [PATCH] gnu: Add emacs-git-gutter

2017-01-03 Thread Leo Famulari
On Fri, Dec 30, 2016 at 08:29:27PM +, Christopher Baines wrote:
> * gnu/packages/emacs.scm (emacs-git-gutter): New variable.

Pushed, thank you!



[PATCH] gnu: libreoffice: Update to 5.1.6.2.

2017-01-03 Thread Alex Griffin
This patch updates libreoffice to 5.1.6.2, the latest release from their
"still" branch (long-term support, stable). Although I think it will be
EOL soon, so updating to 5.2.4.2 would be better... if someone else were
up to it. The only reason I didn't try moving straight to that version
is because my laptop takes ~8 hours to build libreoffice.
-- 
Alex Griffin
From 5d9cc76bac292e215eeaf8188aaeb76dfebed601 Mon Sep 17 00:00:00 2001
From: Alex Griffin 
Date: Tue, 3 Jan 2017 09:58:41 -0600
Subject: [PATCH 1/2] gnu: libreoffice: Update to 5.1.6.2.

* gnu/packages/libreoffice.scm (libreoffice): Update to 5.1.6.2.
---
 gnu/packages/libreoffice.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index 78579bbb0..cad987373 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2014 John Darrington 
 ;;; Copyright © 2015 Andreas Enge 
 ;;; Copyright © 2016 Efraim Flashner 
+;;; Copyright © 2017 Alex Griffin 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -713,7 +714,7 @@ and to return information on pronunciations, meanings and synonyms.")
 (define-public libreoffice
   (package
 (name "libreoffice")
-(version "5.1.5.2")
+(version "5.1.6.2")
 (source
  (origin
   (method url-fetch)
@@ -722,7 +723,7 @@ and to return information on pronunciations, meanings and synonyms.")
   "http://download.documentfoundation.org/libreoffice/src/;
   (version-prefix version 3) "/libreoffice-" version ".tar.xz"))
   (sha256 (base32
-   "1qg0dj0zwh5ifhmvv4k771nmyqddz4ifn75s9mr1p0nyix8zks8x"
+   "150xb76pc3889gfy4jrnq8sidymm1aihkm5pzy8b1fdy51zip804"
 (build-system gnu-build-system)
 (native-inputs
  `(;; autoreconf is run by the LibreOffice build system, since after
-- 
2.11.0



[PATCH] gnu: calibre: Update to 2.76.0.

2017-01-03 Thread Alex Griffin
This patch updates calibre to 2.76.0, a bugfix release.
-- 
Alex Griffin
From 1030c9fa675467f845ce09d90feb293603c3971b Mon Sep 17 00:00:00 2001
From: Alex Griffin 
Date: Tue, 3 Jan 2017 10:36:52 -0600
Subject: [PATCH 6/9] gnu: calibre: Update to 2.76.0.

* gnu/packages/ebook.scm (calibre): Update to 2.76.0.
---
 gnu/packages/ebook.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm
index 1a030ce4e..0a53e6ca9 100644
--- a/gnu/packages/ebook.scm
+++ b/gnu/packages/ebook.scm
@@ -1,7 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015, 2016 Andreas Enge 
 ;;; Copyright © 2016 Efraim Flashner 
-;;; Copyright © 2016 Alex Griffin 
+;;; Copyright © 2016, 2017 Alex Griffin 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -61,7 +61,7 @@
 (define-public calibre
   (package
 (name "calibre")
-(version "2.74.0")
+(version "2.76.0")
 (source
   (origin
 (method url-fetch)
@@ -70,7 +70,7 @@
 version ".tar.xz"))
 (sha256
  (base32
-  "1dpz1682zd8anvgafk2m5m123dxy1bc07ysj0z1my7zqaq1cyrm3"))
+  "1xfm586n6gm44mkyn25mbiyhj6w9ji9yl6fvmnr4zk1q6qcga3v8"))
 ;; Remove non-free or doubtful code, see
 ;; https://lists.gnu.org/archive/html/guix-devel/2015-02/msg00478.html
 (modules '((guix build utils)))
-- 
2.11.0



[PATCH] gnu: feh: Update to 2.18.

2017-01-03 Thread Alex Griffin
This patch just updates feh from 2.14.1 to 2.18.
-- 
Alex Griffin
From dade6be7d356e589b63b22c784640e55f4ca5528 Mon Sep 17 00:00:00 2001
From: Alex Griffin 
Date: Tue, 3 Jan 2017 10:55:26 -0600
Subject: [PATCH 7/9] gnu: feh: Update to 2.18.

* gnu/packages/image-viewers.scm (feh): Update to 2.18.
---
 gnu/packages/image-viewers.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm
index 11cead6b3..bc56041f8 100644
--- a/gnu/packages/image-viewers.scm
+++ b/gnu/packages/image-viewers.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2014 Ian Denhardt 
 ;;; Copyright © 2015, 2016 Alex Kost 
 ;;; Copyright © 2016 Efraim Flashner 
+;;; Copyright © 2017 Alex Griffin 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -39,7 +40,7 @@
 (define-public feh
   (package
 (name "feh")
-(version "2.14.1")
+(version "2.18")
 (home-page "https://feh.finalrewind.org/;)
 (source (origin
   (method url-fetch)
@@ -47,7 +48,7 @@
   name "-" version ".tar.bz2"))
   (sha256
(base32
-"1hlzgr0masgbm1vdn085vz81s9kpnah8kjkb1w1xfsxr1b99x8f0"
+"036lgv81d0vmrnmh1z1x360nr5avb2sk5jb1h3g5n6jijm8vzblx"
 (build-system gnu-build-system)
 (arguments
   '(#:phases (alist-delete 'configure %standard-phases)
-- 
2.11.0



[PATCH] gnu: bs1770gain: Update to 0.4.12.

2017-01-03 Thread Alex Griffin
This patch updates bs1770gain to 0.4.12, a bugfix release.
-- 
Alex Griffin
From 1dccb720badece326d94f84b53181d526795afe7 Mon Sep 17 00:00:00 2001
From: Alex Griffin 
Date: Tue, 3 Jan 2017 10:46:59 -0600
Subject: [PATCH 5/9] gnu: bs1770gain: Update to 0.4.12.

* gnu/packages/audio.scm (bs1770gain): Update to 0.4.12.
---
 gnu/packages/audio.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 641d44cea..d2821244a 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -5,7 +5,7 @@
 ;;; Copyright © 2015 Alex Kost 
 ;;; Copyright © 2015, 2016 Mark H Weaver 
 ;;; Copyright © 2016 Efraim Flashner 
-;;; Copyright © 2016 Alex Griffin 
+;;; Copyright © 2016, 2017 Alex Griffin 
 ;;; Copyright © 2016 ng0 
 ;;; Copyright © 2016 Lukas Gradl 
 ;;; Copyright © 2016 Tobias Geerinckx-Rice 
@@ -2699,7 +2699,7 @@ with support for HD extensions.")
 (define-public bs1770gain
   (package
 (name "bs1770gain")
-(version "0.4.11")
+(version "0.4.12")
 (source
  (origin
(method url-fetch)
@@ -2707,7 +2707,7 @@ with support for HD extensions.")
version "/bs1770gain-" version ".tar.gz"))
(sha256
 (base32
- "0j765drdb7h3y5ipjv9sg1a0if6zh8cksbv3rdk5ppd7kxcrjnlb"
+ "0n9skdap1vnl6w52fx0gsrjlk7w3xgdwi62ycyf96h29rx059z6a"
 (build-system gnu-build-system)
 (inputs `(("ffmpeg" ,ffmpeg)
   ("sox" ,sox)))
-- 
2.11.0



[PATCH] gnu: dwm: Update to 6.1.

2017-01-03 Thread Alex Griffin
This patch updates dwm to 6.1, which adds nicer text rendering in the
same manner as dmenu.

(Note my slock patch updates the copyright attribution.)
-- 
Alex Griffin
From 29b5e89b62d490583d4febca4f28426ab1d819ca Mon Sep 17 00:00:00 2001
From: Alex Griffin 
Date: Tue, 3 Jan 2017 09:43:46 -0600
Subject: [PATCH 3/9] gnu: dwm: Update to 6.1.

* gnu/packages/suckless.scm (dwm): Update to 6.1.
[inputs]: Add libxft and freetype.
[arguments]: Add make-flags for finding freetype headers.
---
 gnu/packages/suckless.scm | 11 ---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/suckless.scm b/gnu/packages/suckless.scm
index 10785ec15..a00420312 100644
--- a/gnu/packages/suckless.scm
+++ b/gnu/packages/suckless.scm
@@ -41,16 +41,19 @@
 (define-public dwm
   (package
 (name "dwm")
-(version "6.0")
+(version "6.1")
 (source (origin
  (method url-fetch)
  (uri (string-append "http://dl.suckless.org/dwm/dwm-;
  version ".tar.gz"))
  (sha256
-  (base32 "0mpbivy9j80l1jqq4bd4g4z8s5c54fxrjj44avmfwncjwqylifdj"
+  (base32 "1zkmwb6df6m254shx06ly90c0q4jl70skk1pvkixpb7hcxhwbxn2"
 (build-system gnu-build-system)
 (arguments
  `(#:tests? #f
+   #:make-flags (list (string-append "FREETYPEINC="
+ (assoc-ref %build-inputs "freetype")
+ "/include/freetype2"))
#:phases
(alist-replace
 'configure
@@ -66,7 +69,9 @@
  (string-append "DESTDIR=" out) "PREFIX="
  %standard-phases
 (inputs
- `(("libx11" ,libx11)
+ `(("freetype" ,freetype)
+   ("libx11" ,libx11)
+   ("libxft" ,libxft)
("libxinerama" ,libxinerama)))
 (home-page "http://dwm.suckless.org/;)
 (synopsis "Dynamic window manager")
-- 
2.11.0



[PATCH] gnu: dmenu: Update to 4.6.

2017-01-03 Thread Alex Griffin
This patch updates dmenu to 4.6, which added nicer text rendering by
default and couple new dependencies related to that.

(Note my slock patch updates the copyright attribution.)
-- 
Alex Griffin
From c1360e73ffa4644f90cfd848ac747852cae5f34a Mon Sep 17 00:00:00 2001
From: Alex Griffin 
Date: Tue, 3 Jan 2017 09:40:33 -0600
Subject: [PATCH 2/9] gnu: dmenu: Update to 4.6.

* gnu/packages/suckless.scm (dmenu): Update to 4.6.
[inputs]: Add libxft and freetype.
[arguments]: Add make-flags for finding freetype headers.
---
 gnu/packages/suckless.scm | 13 +
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/suckless.scm b/gnu/packages/suckless.scm
index a501bb5f2..10785ec15 100644
--- a/gnu/packages/suckless.scm
+++ b/gnu/packages/suckless.scm
@@ -79,23 +79,28 @@ optimising the environment for the application in use and the task performed.")
 (define-public dmenu
   (package
 (name "dmenu")
-(version "4.5")
+(version "4.6")
 (source (origin
   (method url-fetch)
   (uri (string-append "http://dl.suckless.org/tools/dmenu-;
   version ".tar.gz"))
   (sha256
(base32
-"0l58jpxrr80fmyw5pgw5alm5qry49aw6y049745wl991v2cdcb08"
+"1cwnvamqqlgczvd5dv5rsgqbhv8kp0ddjnhmavb3q732i8028yja"
 (build-system gnu-build-system)
 (arguments
  '(#:tests? #f ; no tests
#:make-flags (list "CC=gcc"
-  (string-append "PREFIX=" %output))
+  (string-append "PREFIX=" %output)
+  (string-append "FREETYPEINC="
+ (assoc-ref %build-inputs "freetype")
+ "/include/freetype2"))
#:phases
(alist-delete 'configure %standard-phases)))
 (inputs
- `(("libx11" ,libx11)
+ `(("freetype" ,freetype)
+   ("libxft" ,libxft)
+   ("libx11" ,libx11)
("libxinerama" ,libxinerama)))
 (home-page "http://tools.suckless.org/dmenu/;)
 (synopsis "Dynamic menu")
-- 
2.11.0



[PATCH] gnu: trash-cli: Update to 0.17.1.1.

2017-01-03 Thread Alex Griffin
This patch updates trash-cli to 0.17.1.1, which among other things
includes a new command for restoring files from the trash.
-- 
Alex Griffin
From 0f7cd27badea222ae9f7794629e689e20aaf1456 Mon Sep 17 00:00:00 2001
From: Alex Griffin 
Date: Tue, 3 Jan 2017 07:47:57 -0600
Subject: [PATCH 4/9] gnu: trash-cli: Update to 0.17.1.1.

* gnu/packages/shellutils.scm (trash-cli): Update to 0.17.1.1.
---
 gnu/packages/shellutils.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/shellutils.scm b/gnu/packages/shellutils.scm
index d83219470..c9a35ca3b 100644
--- a/gnu/packages/shellutils.scm
+++ b/gnu/packages/shellutils.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2016 Matthew Jordan 
-;;; Copyright © 2016 Alex Griffin 
+;;; Copyright © 2016, 2017 Alex Griffin 
 ;;; Copyright © 2016 Christopher Baines 
 ;;;
 ;;; This file is part of GNU Guix.
@@ -58,14 +58,14 @@ between various shells or commands.")
 (define-public trash-cli
   (package
 (name "trash-cli")
-(version "0.12.9.14")
+(version "0.17.1.1")
 (source
  (origin
(method url-fetch)
(uri (pypi-uri "trash-cli" version))
(sha256
 (base32
- "1p4v2qx0sy47d9c9axszq04wns63s4b7rrhmsavg948sklqdaf54"
+ "019sjab29jkps8zkf8icihhf3ng4lx9y4p1lxjd3wbnnynphc4is"
 (build-system python-build-system)
 (arguments
  `(#:python ,python-2
-- 
2.11.0



[PATCH] gnu: slock: Update to 1.4.

2017-01-03 Thread Alex Griffin
After a long absence, I'm back with a string of trivial version bumps!
This patch updates slock to version 1.4, which also no longer needs the
patch for CVE-2016-6866.
-- 
Alex Griffin
From b24fc41055a7e345bac348df09f017c138319bd6 Mon Sep 17 00:00:00 2001
From: Alex Griffin 
Date: Tue, 3 Jan 2017 08:49:01 -0600
Subject: [PATCH 1/9] gnu: slock: Update to 1.4.

* gnu/packages/suckless.scm (slock): Update to 1.4.
[source] Remove CVE-2016-6866 patch (no longer needed).
* gnu/packages/patches/slock-CVE-2016-6866.patch: Remove file.
* gnu/local.mk (dist_patch_DATA): Remove it.
---
 gnu/local.mk   |  1 -
 gnu/packages/patches/slock-CVE-2016-6866.patch | 51 --
 gnu/packages/suckless.scm  |  6 +--
 3 files changed, 3 insertions(+), 55 deletions(-)
 delete mode 100644 gnu/packages/patches/slock-CVE-2016-6866.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 0c42f9f44..f45030f84 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -851,7 +851,6 @@ dist_patch_DATA =		\
   %D%/packages/patches/slim-sigusr1.patch			\
   %D%/packages/patches/slim-reset.patch\
   %D%/packages/patches/slim-login.patch\
-  %D%/packages/patches/slock-CVE-2016-6866.patch		\
   %D%/packages/patches/slurm-configure-remove-nonfree-contribs.patch \
   %D%/packages/patches/soprano-find-clucene.patch		\
   %D%/packages/patches/steghide-fixes.patch			\
diff --git a/gnu/packages/patches/slock-CVE-2016-6866.patch b/gnu/packages/patches/slock-CVE-2016-6866.patch
deleted file mode 100644
index 2f94b8c1a..0
--- a/gnu/packages/patches/slock-CVE-2016-6866.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-Fix CVE-2016-6866.
-
-https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6866
-https://security-tracker.debian.org/tracker/CVE-2016-6866
-
-Copied from upstream source repository:
-http://git.suckless.org/slock/commit/?id=d8bec0f6fdc8a246d78cb488a0068954b46fcb29
-
-From d8bec0f6fdc8a246d78cb488a0068954b46fcb29 Mon Sep 17 00:00:00 2001
-From: Markus Teich 
-Date: Tue, 30 Aug 2016 22:59:06 +
-Subject: fix CVE-2016-6866
-

-diff --git a/slock.c b/slock.c
-index 847b328..8ed59ca 100644
 a/slock.c
-+++ b/slock.c
-@@ -123,7 +123,7 @@ readpw(Display *dpy)
- readpw(Display *dpy, const char *pws)
- #endif
- {
--	char buf[32], passwd[256];
-+	char buf[32], passwd[256], *encrypted;
- 	int num, screen;
- 	unsigned int len, color;
- 	KeySym ksym;
-@@ -159,7 +159,11 @@ readpw(Display *dpy, const char *pws)
- #ifdef HAVE_BSD_AUTH
- running = !auth_userokay(getlogin(), NULL, "auth-slock", passwd);
- #else
--running = !!strcmp(crypt(passwd, pws), pws);
-+errno = 0;
-+if (!(encrypted = crypt(passwd, pws)))
-+	fprintf(stderr, "slock: crypt: %s\n", strerror(errno));
-+else
-+	running = !!strcmp(encrypted, pws);
- #endif
- if (running) {
- 	XBell(dpy, 100);
-@@ -312,6 +316,8 @@ main(int argc, char **argv) {
- 
- #ifndef HAVE_BSD_AUTH
- 	pws = getpw();
-+	if (strlen(pws) < 2)
-+		die("slock: failed to get user password hash.\n");
- #endif
- 
- 	if (!(dpy = XOpenDisplay(NULL)))
---
-cgit v0.9.0.3-65-g4555
diff --git a/gnu/packages/suckless.scm b/gnu/packages/suckless.scm
index 820d550d6..a501bb5f2 100644
--- a/gnu/packages/suckless.scm
+++ b/gnu/packages/suckless.scm
@@ -6,6 +6,7 @@
 ;;; Copyright © 2015 Dmitry Bogatov 
 ;;; Copyright © 2015 Leo Famulari 
 ;;; Copyright © 2016 Eric Bavier 
+;;; Copyright © 2017 Alex Griffin 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -106,15 +107,14 @@ numbers of user-defined menu items efficiently.")
 (define-public slock
   (package
 (name "slock")
-(version "1.3")
+(version "1.4")
 (source (origin
   (method url-fetch)
   (uri (string-append "http://dl.suckless.org/tools/slock-;
   version ".tar.gz"))
-  (patches (search-patches "slock-CVE-2016-6866.patch"))
   (sha256
(base32
-"065xa9hl7zn0lv2f7yjxphqsa35rg6dn9hv10gys0sh4ljpa7d5s"
+"0sif752303dg33f14k6pgwq2jp1hjyhqv6x4sy3sj281qvdljf5m"
 (build-system gnu-build-system)
 (arguments
  '(#:tests? #f ; no tests
-- 
2.11.0



Re: [PATCH 01/86] gnu: Add rust-libc.

2017-01-03 Thread Danny Milosavljevic
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 




WIP v2: build-system: cargo: Make lots and lots of rust packages work

2017-01-03 Thread Danny Milosavljevic
With minimal changes (bugfixes) compared to the last version... (see 
attachement)


;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 David Craven 
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix.  If not, see .

(define-module (guix build cargo-build-system)
  #:use-module ((guix build gnu-build-system) #:prefix gnu:)
  #:use-module (guix build utils)
  #:use-module (ice-9 popen)
  #:use-module (ice-9 rdelim)
  #:use-module (ice-9 ftw)
  #:use-module (ice-9 format)
  #:use-module (ice-9 match)
  #:use-module (srfi srfi-1)
  #:use-module (srfi srfi-26)
  #:export (%standard-phases
cargo-build))

;; Commentary:
;;
;; Builder-side code of the standard Rust package build procedure.
;;
;; Code:

;; FIXME: Needs to be parsed from url not package name.
(define (package-name->crate-name name)
  "Return the crate name of NAME."
  (match (string-split name #\-)
(("rust" rest ...)
 (string-join rest "-"))
(_ #f)))

(define* (configure #:key inputs #:allow-other-keys)
  "Replace Cargo.toml [dependencies] section with guix inputs."
  (system* "chmod" "+w" "Cargo.toml")
  (system* "chmod" "+w" ".")
  (if (not (file-exists? "vendor"))
(if (not (file-exists? "Cargo.lock"))
  (begin
  (substitute* "Cargo.toml"
  ((".*32-sys.*") "
")
  ((".*winapi.*") "
")
  ((".*core-foundation.*") "
"))
  (mkdir "vendor")
  (for-each
(match-lambda
  ((name . path)
   (let ((crate (package-name->crate-name name)))
 (when (and crate path)
   (match (string-split (basename path) #\-)
 ((_ ... version)
  (symlink (string-append path "/share/rust-source") (string-append "vendor/" (basename path)
inputs)
  (mkdir-p ".cargo")
  (let ((port (open-file ".cargo/config" "w" #:encoding "utf-8")))
(display "
[source.crates-io]
registry = 'https://github.com/rust-lang/crates.io-index'
replace-with = 'vendored-sources'

[source.vendored-sources]
directory = '" port)
(display (getcwd) port)
(display "/vendor" port)
(display "'
" port)
(close-port port)
(setenv "CC" (string-append (assoc-ref inputs "gcc") "/bin/gcc"))

;(setenv "CARGO_HOME" "/gnu/store")
; (setenv "CMAKE_C_COMPILER" cc)
  #t)

(define* (build #:key (cargo-build-flags '("--release")) #:allow-other-keys)
  "Build a given Cargo package."
  ;if (file-exists? "Cargo.lock")
  (zero? (apply system* `("cargo" "build" ,@cargo-build-flags
  ;  #t

(define* (check #:key tests? #:allow-other-keys)
  "Run tests for a given Cargo package."
  (when tests?
(zero? (system* "cargo" "test"

(define (file-sha256 file-name)
(let ((port (open-pipe* OPEN_READ
"sha256sum"
"--"
file-name)))
  (let ((result (read-delimited " " port)))
(close-pipe port)
result)))

;; Example /gnu/store/hwlr49riz3la33m6in2n898ly045ylld-rust-rand-0.3.15: ; generally not a lot of store items.
(define (generate-checksums dir-name src-name)
  (let* ((file-names (find-files dir-name "."))
 (dir-prefix-name (string-append dir-name "/"))
 (dir-prefix-name-len (string-length dir-prefix-name))
 (checksums-file-name (string-append dir-name "/.cargo-checksum.json")))
(call-with-output-file checksums-file-name
  (lambda (port)
(display "{\"files\":{" port)
(let ((sep ""))
  (for-each (lambda (file-name)
(let ((file-relative-name (string-drop file-name dir-prefix-name-len)))
  (display sep port)
  (set! sep ",")
  (write file-relative-name port)
  (display ":" port)
  (write (file-sha256 file-name) port))) file-names))
(display "},\"package\":" port)
(write (file-sha256 src-name) port)
(display "}" port)

(define* (install #:key inputs outputs #:allow-other-keys)
  "Install a given Cargo package."
  (let* ((out (assoc-ref outputs "out"))
 (src (assoc-ref inputs "source"))
 (rsrc (string-append out
  "/share/rust-source")))
(mkdir-p rsrc)
;; Rust doesn't have a stable ABI yet. Because of this
;; Cargo doesn't have a 

Re: [PATCH 50/86] gnu: Add rust-strsim.

2017-01-03 Thread Danny Milosavljevic
OK!



Re: [PATCH 46/86] gnu: Add rust-term.

2017-01-03 Thread Danny Milosavljevic
> +(license (list license:expat license:asl2.0

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

Otherwise OK!



Re: [PATCH 42/86] gnu: Add rust-heapsize.

2017-01-03 Thread Danny Milosavljevic
OK!



Re: [PATCH 82/86] gnu: rust-quickcheck: Add rust-env-logger input.

2017-01-03 Thread Danny Milosavljevic
On Tue,  3 Jan 2017 23:36:38 +
ng0  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.



Re: [PATCH 11/86] gnu: Add rust-slab.

2017-01-03 Thread Danny Milosavljevic
OK!

Maybe mention Rust in the summary?



Re: [PATCH 10/86] gnu: Add rust-void.

2017-01-03 Thread Danny Milosavljevic
> + "The uninhabited type, @code{enum Void { }} 

Hmm can texinfo actually process that?



Re: [PATCH 06/86] gnu: Add rust-log.

2017-01-03 Thread Danny Milosavljevic
> +(license (list license:expat license:asl2.0

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

Otherwise OK!



Re: [PATCH 02/86] gnu: Add rust-spin.

2017-01-03 Thread Danny Milosavljevic
>+(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!



Re: [PATCH 01/86] gnu: Add rust-libc.

2017-01-03 Thread Danny Milosavljevic
> +(license (list license:expat license:asl2.0

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

Other than that, OK!



[PATCH 74/86] gnu: Add rust-mio.

2017-01-03 Thread ng0
* 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




[PATCH 70/86] gnu: Add rust-nix.

2017-01-03 Thread ng0
* 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




[PATCH 85/86] gnu: libpsyc: Remove comment.

2017-01-03 Thread ng0
* 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




[PATCH 71/86] gnu: Add rust-clippy-lints.

2017-01-03 Thread ng0
* 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




[PATCH 80/86] gnu: rust-csv: Add rust-regex input.

2017-01-03 Thread ng0
* 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




[PATCH 86/86] gnu: Add font-google-roboto.

2017-01-03 Thread ng0
* 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 
 ;;; Copyright © 2015 Ricardo Wurmus 
 ;;; Copyright © 2015, 2016 Leo Famulari 
-;;; Copyright © 2016 ng0 
+;;; Copyright © 2016, 2017 ng0 
 ;;; Copyright © 2016 Jookia <166...@gmail.com>
 ;;; Copyright © 2016 Eric Bavier 
 ;;; Copyright © 2016 Dmitry Nikolaev 
@@ -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




[PATCH 65/86] gnu: Add rust-toml.

2017-01-03 Thread ng0
* 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




[PATCH 77/86] gnu: Add rust-serde-test.

2017-01-03 Thread ng0
* 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




[PATCH 66/86] gnu: Add rust-semver-parser.

2017-01-03 Thread ng0
* 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




[PATCH 73/86] gnu: Add rust-lazycell.

2017-01-03 Thread ng0
* 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




[PATCH 76/86] gnu: Add rust-serde.

2017-01-03 Thread ng0
* 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




[PATCH 60/86] gnu: Add rust-simd.

2017-01-03 Thread ng0
* 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




[PATCH 62/86] gnu: Add rust-regex.

2017-01-03 Thread ng0
* 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




[PATCH 83/86] gnu: Add fluid.

2017-01-03 Thread ng0
* 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




[PATCH 79/86] gnu: rust-toml: Add rust-serde input.

2017-01-03 Thread ng0
* 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




[PATCH 82/86] gnu: rust-quickcheck: Add rust-env-logger input.

2017-01-03 Thread ng0
* 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




[PATCH 75/86] gnu: Add rust-tokio-core.

2017-01-03 Thread ng0
* 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




[PATCH 59/86] gnu: Add rust-regex-syntax.

2017-01-03 Thread ng0
* 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




[PATCH 72/86] gnu: Add rust-clippy.

2017-01-03 Thread ng0
* 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




[PATCH 78/86] gnu: rust-clippy: Add rust-serde input.

2017-01-03 Thread ng0
* 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




[PATCH 63/86] gnu: Add rust-env-logger.

2017-01-03 Thread ng0
* 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




[PATCH 81/86] gnu: rust-docopt: Add rust-regex input.

2017-01-03 Thread ng0
* 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




[PATCH 69/86] gnu: Add rust-tempfile.

2017-01-03 Thread ng0
* 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




[PATCH 42/86] gnu: Add rust-heapsize.

2017-01-03 Thread ng0
* 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




[PATCH 45/86] gnu: Add rust-time.

2017-01-03 Thread ng0
* 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




[PATCH 54/86] gnu: Add rust-memmap.

2017-01-03 Thread ng0
* 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




[PATCH 37/86] gnu: Add rust-encoding.

2017-01-03 Thread ng0
* 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




[PATCH 53/86] gnu: Add rust-fs2.

2017-01-03 Thread ng0
* 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




[PATCH 68/86] gnu: Add rust-rustc-version.

2017-01-03 Thread ng0
* 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




[PATCH 34/86] gnu: Add rust-encoding-index-simpchinese.

2017-01-03 Thread ng0
* 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




[PATCH 58/86] gnu: Add rust-aho-corasick.

2017-01-03 Thread ng0
* 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




[PATCH 51/86] gnu: Add rust-quickcheck.

2017-01-03 Thread ng0
* 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




[PATCH 67/86] gnu: Add rust-semver.

2017-01-03 Thread ng0
* 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




[PATCH 49/86] gnu: Add rust-compiletest-rs.

2017-01-03 Thread ng0
* 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




[PATCH 35/86] gnu: Add rust-encoding-index-singlebyte.

2017-01-03 Thread ng0
* 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




[PATCH 48/86] gnu: Add rust-idna.

2017-01-03 Thread ng0
* 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




[PATCH 61/86] gnu: Add rust-utf8-ranges.

2017-01-03 Thread ng0
* 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




[PATCH 38/86] gnu: Add rust-deque.

2017-01-03 Thread ng0
* 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




[PATCH 46/86] gnu: Add rust-term.

2017-01-03 Thread ng0
* 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




[PATCH 64/86] gnu: Add rust-quine-mc-cluskey.

2017-01-03 Thread ng0
* 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




[PATCH 52/86] gnu: Add rust-memchr.

2017-01-03 Thread ng0
* 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




[PATCH 40/86] gnu: Add rust-unicode-normalization.

2017-01-03 Thread ng0
* 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




[PATCH 36/86] gnu: Add rust-encoding-index-tradchinese.

2017-01-03 Thread ng0
* 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




[PATCH 56/86] gnu: Add rust-byteorder.

2017-01-03 Thread ng0
* 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




[PATCH 33/86] gnu: Add rust-encoding-index-korean.

2017-01-03 Thread ng0
* 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




[PATCH 43/86] gnu: Add rust-unicode-bidi.

2017-01-03 Thread ng0
* 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




[PATCH 22/86] gnu: Add rust-bytes.

2017-01-03 Thread ng0
* 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




[PATCH 47/86] gnu: Add rust-rustc-test.

2017-01-03 Thread ng0
* 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




[PATCH 55/86] gnu: Add rust-docopt.

2017-01-03 Thread ng0
* 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




[PATCH 39/86] gnu: Add rust-clippy-mini-macro-test.

2017-01-03 Thread ng0
* 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




[PATCH 25/86] gnu: Add rust-num-traits.

2017-01-03 Thread ng0
* 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




[PATCH 27/86] gnu: Add rust-num-iter.

2017-01-03 Thread ng0
* 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




[PATCH 30/86] gnu: Add rust-getopts.

2017-01-03 Thread ng0
* 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




[PATCH 32/86] gnu: Add rust-encoding-index-japanese.

2017-01-03 Thread ng0
* 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




[PATCH 41/86] gnu: Add rust-fnv.

2017-01-03 Thread ng0
* 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




[PATCH 31/86] gnu: Add rust-encoding-index-tests.

2017-01-03 Thread ng0
* 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




[PATCH 50/86] gnu: Add rust-strsim.

2017-01-03 Thread ng0
* 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




[PATCH 44/86] gnu: Add rust-rustc-serialize.

2017-01-03 Thread ng0
* 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




[PATCH 28/86] gnu: Add rust-openssl-sys.

2017-01-03 Thread ng0
* 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




  1   2   3   >