Re: A postinst equivalent in Guix?

2017-01-19 Thread John Darrington
On Thu, Jan 19, 2017 at 08:30:26PM +0200, Georgi Kirilov wrote:
 Hi,
 
 is there anything in Guix that can do things at install time, like postinst
 scripts in Debian?
 
 A program in a package I created is trying to access /var, but has no
 permissions. (Well, /gnu/store/.../var)
 The 'install' make target was doing 'chgrp' and 'install -g', but I had to
 remove these because there was no such group in the chroot jail. And it
 would be wrong anyway, as the gid in the jail would be different from that
 in the systems where the package will be installed.
 So, I guess /gnu/store/.../var has to be chgrp-ed during installation, on
 the user's system.
 

It's a fast rule that packages in Guix may not mutate the store.  So you will
have to find out exactly what and why your package is trying to do that, and
work out another way to effect it.

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


Re: jquery 3.1.1

2017-01-19 Thread Mike Gerwitz
On Thu, Jan 19, 2017 at 21:48:44 +0100, Catonano wrote:
> Anyway, now I have a COMPLETE graph of the dependencies of jquery 3.1.1
>
> It's made of
> 47311 vertices and
> 324569 edges

lol...

> Anyway, these broken packages pose a challenge to the mission of porting
> Jquery into Guix, in my opinion,

My greater concern is verifying licenses: that'd have to be considered
in the DAG (...I hope it's a DAG; who knows what those node packages
might be doing!) to flag potential problems.  The JS community is pretty
lax on licensing (in both the permissive sense and the I-don't-care
sense); the license might not be correct or might be missing
entirely.  Or might not match what's in the source files.

Verifying that many dependencies is going to be a challenge for an
automated system; we'd want humans to look at many of them too to make
sure things aren't fishy. :x  The problem is that one single dependency
that's mischaracterized as free---even if it's one of the
single-function packages---can destroy an entire project (e.g. jQuery).

For some packages, this task is feasible.

> The code is here
> https://gitlab.com/humanitiesNerd/Culturia

Thanks for all the hard work you've put into this.  I admit that I don't
have the time to read into it much right now, but I'll certainly be
following progress on this list.

> One last fun fact: while I was watching the output flowing in my terminal,
> I saw a package called
>
> "broccoli-funnel"

Ah, they missed a really good logo opportunity!

-- 
Mike Gerwitz
Free Software Hacker+Activist | GNU Maintainer & Volunteer
GPG: D6E9 B930 028A 6C38 F43B  2388 FEF6 3574 5E6F 6D05
Old: 2217 5B02 E626 BC98 D7C0  C2E5 F22B B815 8EE3 0EAB
https://mikegerwitz.com


signature.asc
Description: PGP signature


Re: [PATCH] Update gd and php

2017-01-19 Thread Leo Famulari
On Thu, Jan 19, 2017 at 10:19:19PM +0100, Julien Lepiller wrote:
> A new version of gd and php were released today. Here are patches to
> update them. I could get rid of gd-for-php and use the system one
> instead. Two new tests had to be removed, they are related to already
> failing tests.

> From 502fa6202e8dabed3abdd584f720eb6128fdc127 Mon Sep 17 00:00:00 2001
> From: Julien Lepiller 
> Date: Thu, 19 Jan 2017 22:09:35 +0100
> Subject: [PATCH 1/2] gnu: gd: Update to 2.2.4.
> 
> * gnu/packages/gd.scm (gd): Update to 2.2.4.
> ---
>  gnu/local.mk|  2 --
>  gnu/packages/gd.scm |  8 ++
>  gnu/packages/patches/gd-CVE-2016-7568.patch | 44 
> -
>  gnu/packages/patches/gd-CVE-2016-8670.patch | 38 -
>  4 files changed, 3 insertions(+), 89 deletions(-)
>  delete mode 100644 gnu/packages/patches/gd-CVE-2016-7568.patch
>  delete mode 100644 gnu/packages/patches/gd-CVE-2016-8670.patch

Thank you for this! Usually I prefer to give feedback and ask the
submitter to revise their patch, but there were so many complicating
factors that I just wrote my own:

http://lists.gnu.org/archive/html/guix-devel/2017-01/msg01641.html

Since the new release fixes security issues in a package that
causes many rebuilds when changed, we need to use a graft. [0]

I also noticed a gd-2.2.4 build failure on i686-linux.

And I think that PHP's use of libgd should be updated in the same
commit. Otherwise, after patch 1/2, PHP would require a gd-for-php with
patches that would fail to apply, leaving PHP broken for that commit.

[0] In case you haven't seen it, this is the "rebuilding" strategy:
http://lists.gnu.org/archive/html/guix-devel/2016-10/msg00933.html


signature.asc
Description: PGP signature


Re: Encrypted root partition

2017-01-19 Thread Chris Marusich
l...@gnu.org (Ludovic Courtès) writes:

> Chris Marusich  skribis:
>
>> l...@gnu.org (Ludovic Courtès) writes:
>>
>>> Chris Marusich  skribis:
>>>
 l...@gnu.org (Ludovic Courtès) writes:

> Chris Marusich  skribis:
>
>> Is anyone actively working on documenting the new encrypted root stuff?
>> If not, I'm happy to try my hand at it.  I'm interested in trying to set
>> it up on my laptop, anyway.
>
> I’ve added documentation in 2b5fea5ba3b07999cf198e1132ffcacbfcb7ed72.
>
> Please send a patch if you think of improvements that can be made.

 I'm happy to report that I was successful in setting up an encrypted
 root file system on my Libreboot laptop.  I have to enter the passphrase
 twice, but that's no different from the normal case (without Libreboot).
 It took me multiple days to get it working, though, because each time I
 tried to run "guix system init", it took over 8 hours to finish!
>>>
>>> Woow, was it building stuff, or was downloading super slow?  Was is a
>>> desktop-style install?
>>
>> It was a desktop-style install.  Many packages were built from source,
>> even though some were downloaded via substitutes, also.  It was
>> particularly painful because I didn't know how to save and re-use the
>> result of the first build attempt, so I'm sure I wasted a lot of time
>> starting over and rebuilding the same packages a second time.
>
> There’s currently no option to resume an install unfortunately.
>
> I’m surprised though.  0.12.0 binaries are still available on
> hydra.gnu.org AFAIK, or at least we (i.e., Mark) took the appropriate
> measures to protect them from garbage collection.
>
> I guess I should try a desktop install and see which substitutes are
> missing.

It's probably because I ran 'guix pull' before installing.  Maybe I
shouldn't have done that!

-- 
Chris


signature.asc
Description: PGP signature


Re: [PATCH 1/2] gnu: shadow: Use 'modify-phases'.

2017-01-19 Thread Leo Famulari
On Thu, Jan 19, 2017 at 08:06:35PM +, contact@cryptolab.net wrote:
> From: ng0 
> 
> * gnu/packages/admin.scm (shadow): Use 'modify-phases'.

LGTM.


signature.asc
Description: PGP signature


Re: [PATCH 2/2] gnu: shadow: Update to 4.4.

2017-01-19 Thread Leo Famulari
On Thu, Jan 19, 2017 at 08:06:36PM +, contact@cryptolab.net wrote:
> From: ng0 
> 
> * gnu/packages/admin.scm (shadow): Update to 4.4.
> [source]: Adjust URL.
> * gnu/packages/patches/shadow-4.4-su-snprintf-fix.patch: New file.
> * gnu/local.mk (dist_patch_DATA): Add patch.

I've adjusted this locally to "Delete file" and "Remove it".

>  (source (origin
>(method url-fetch)
>(uri (string-append
> -"http://pkg-shadow.alioth.debian.org/releases/";
> -name "-" version ".tar.xz"))
> +"https://github.com/shadow-maint/shadow/releases/";
> +"download/" version "/shadow-" version ".tar.xz"))

The Debian package has begun using the GitHub repo:

"Update debian/watch to use GitHub releases"
https://anonscm.debian.org/git/pkg-shadow/shadow.git/commit/?id=83e36d1e1b5a7900ad5e8237588fb13cf6926535

Overall, LGTM! Thanks!

I'll wait a day in case anybody else wants to test it.



Re: Shadow -> 4.4

2017-01-19 Thread Leo Famulari
On Thu, Jan 19, 2017 at 08:06:34PM +, contact@cryptolab.net wrote:
> Question: I don't prefer to crash and burn systems, which test is
> enough to show that it works? Reconfiguring one of my own systems?

Yes. If it breaks your system, you can always reboot into an earlier
system generation. Another option is to use a VM. I tested both cases,
and it works for me.

Would anyone else like to test it?



[PATCH 1/1] gnu: gd: Replace with gd-2.2.4 [fixes CVE-2016-{6912, 9317} and others].

2017-01-19 Thread Leo Famulari
'CHANGELOG.md' in the development repository lists several fixed bugs with
potential security implications:

https://github.com/libgd/libgd/blob/gd-2.2.4/CHANGELOG.md

* gnu/packages/gd.scm (gd)[replacement]: New field.
(gd-2.2.4): New variable.
* gnu/packages/php.scm (gd-for-php): Remove variable.
(php)[inputs]: Replace gd-for-php with gd.
* gnu/packages/patches/gd-fix-chunk-size-on-boundaries.patch,
gnu/packages/patches/gd-fix-truecolor-format-correction.patch: Delete files.
* gnu/local.mk (dist_patch_DATA): Remove them.
---
 gnu/local.mk   |   2 -
 gnu/packages/gd.scm|  29 +-
 .../patches/gd-fix-chunk-size-on-boundaries.patch  | 102 -
 .../gd-fix-truecolor-format-correction.patch   |  95 ---
 gnu/packages/php.scm   |  13 +--
 5 files changed, 29 insertions(+), 212 deletions(-)
 delete mode 100644 gnu/packages/patches/gd-fix-chunk-size-on-boundaries.patch
 delete mode 100644 
gnu/packages/patches/gd-fix-truecolor-format-correction.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 2da8b82db..f79f8b9a5 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -570,10 +570,8 @@ dist_patch_DATA =  
\
   %D%/packages/patches/gcj-arm-mode.patch  \
   %D%/packages/patches/gd-CVE-2016-7568.patch  \
   %D%/packages/patches/gd-CVE-2016-8670.patch  \
-  %D%/packages/patches/gd-fix-chunk-size-on-boundaries.patch   \
   %D%/packages/patches/gd-fix-gd2-read-test.patch  \
   %D%/packages/patches/gd-fix-tests-on-i686.patch  \
-  %D%/packages/patches/gd-fix-truecolor-format-correction.patch\
   %D%/packages/patches/gegl-CVE-2012-4433.patch\
   %D%/packages/patches/geoclue-config.patch\
   %D%/packages/patches/ghostscript-CVE-2013-5653.patch \
diff --git a/gnu/packages/gd.scm b/gnu/packages/gd.scm
index 0241a81db..0f4f3e44b 100644
--- a/gnu/packages/gd.scm
+++ b/gnu/packages/gd.scm
@@ -2,7 +2,7 @@
 ;;; Copyright © 2013, 2016 Ludovic Courtès 
 ;;; Copyright © 2015, 2016 Mark H Weaver 
 ;;; Copyright © 2015 Eric Bavier 
-;;; Copyright © 2016 Leo Famulari 
+;;; Copyright © 2016, 2017 Leo Famulari 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -36,6 +36,7 @@
 (define-public gd
   (package
 (name "gd")
+(replacement gd-2.2.4)
 
 ;; Note: With libgd.org now pointing to github.com, genuine old
 ;; tarballs are no longer available.  Notably, versions 2.0.x are
@@ -77,6 +78,32 @@ most common applications of GD involve website development.")
"See COPYING file in the distribution."))
 (properties '((cpe-name . "libgd")
 
+(define gd-2.2.4
+  (package
+(inherit gd)
+(version "2.2.4")
+(source
+  (origin
+(method url-fetch)
+(uri (string-append "https://github.com/libgd/libgd/releases/download/";
+"gd" version "/libgd-" version ".tar.xz"))
+(patches (search-patches "gd-fix-gd2-read-test.patch"
+ "gd-fix-tests-on-i686.patch"))
+(sha256
+ (base32
+  "1rp4v7n1dq38b92kl7gkvpvqqkw7nvdfnz6d5kip5klkxfki6zqk"
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ ;; This test is known to fail on i686-linux:
+ ;; https://github.com/libgd/libgd/issues/359
+ ;; TODO Replace this substitution with an upstream bug fix.
+ (add-after 'unpack 'disable-failing-test
+   (lambda _
+ (substitute* "tests/gdimagegrayscale/basic.c"
+   (("return gdNumFailures\\(\\)")
+ "return 0")
+
 (define-public perl-gd
   (package
 (name "perl-gd")
diff --git a/gnu/packages/patches/gd-fix-chunk-size-on-boundaries.patch 
b/gnu/packages/patches/gd-fix-chunk-size-on-boundaries.patch
deleted file mode 100644
index e395c66d8..0
--- a/gnu/packages/patches/gd-fix-chunk-size-on-boundaries.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-This fixes PHP bug #73155: https://bugs.php.net/bug.php?id=73155
-
-Patch adapted from upstream source repository:
-
-https://github.com/libgd/libgd/commit/8067a8ac336dfe0acbe96ec2eb24572209a7f279
-
-(.gitignore change removed)
-
-From 8067a8ac336dfe0acbe96ec2eb24572209a7f279 Mon Sep 17 00:00:00 2001
-From: "Christoph M. Becker" 
-Date: Fri, 23 Sep 2016 18:29:52 +0200
-Subject: [PATCH] Fix #309: gdImageGd2() writes wrong chunk sizes on boundaries
-
-(cherry picked from commit bb1998a16e30d542ab22eba5501911a9aa066edb)

- src/gd_gd2.c |  4 ++--
- tests/gd2/CMakeLists.txt |  1 +
- tests/gd2/Makemodule.am  |  1 +
- tests/gd2/bug00309.c | 37 +
- 4 files changed, 41 insertions(+), 2 deletions(-)
- create mode 100644 tests/gd2/bug00309.c
-
-diff --git a/src/gd_gd2.c b/src/gd_gd2.c
-index 75e5e1f..b9b2f93 1

[PATCH] services: prosody: Fix activation script.

2017-01-19 Thread Clément Lassieur
* gnu/services/messaging.scm (prosody-activation): Import (guix build utils)
  for 'mkdir-p'.
---
 gnu/services/messaging.scm | 1 +
 1 file changed, 1 insertion(+)

diff --git a/gnu/services/messaging.scm b/gnu/services/messaging.scm
index 0b5aa1fae..aa398970b 100644
--- a/gnu/services/messaging.scm
+++ b/gnu/services/messaging.scm
@@ -621,6 +621,7 @@ See also @url{http://prosody.im/doc/modules/mod_muc}.";
   (serialize-prosody-configuration config)
  (config-file (plain-file "prosody.cfg.lua" config-str)))
 #~(begin
+(use-modules (guix build utils))
 (define %user (getpw "prosody"))
 
 (mkdir-p #$config-dir)
-- 
2.11.0




Re: jquery 3.1.1

2017-01-19 Thread Catonano
One last note

I pasted the wrong url for the packages with no dependencies

The right one is this
http://catonano.altervista.org/no-deps.txt

I noticed now that this list contains ALSO the broken ones. They have no
dependencies, but they shold be excluded from this list

Because I screwed up the data format, the queries are not exactly
immediate, they need honing :-/

I will fix this in the future


Re: jquery 3.1.1

2017-01-19 Thread Catonano
2017-01-19 23:44 GMT+01:00 Catonano :

> 2017-01-19 22:07 GMT+01:00 Jelle Licht :
>
>> Hello Catonano,
>>
>>
>>
>
>
>
>
>> These pictures are very informative indeed. I will try to be brief, but I
>> quickly wanted to share
>> that I find your efforts (and results!) amazing.
>>
>
> Thanks :-)
>
>>
>
> Something of note: a big chunk of the packages you classified as being
>> 'broken' are
>> making me recall some (unpleasant) memories; From my own crawling
>> experiments,
>> which were not nearly as complete as this one, I also ran into a lot of
>> the same
>> show-stoppers. In a very real sense, resolving node dependencies quickly
>> devolves into
>> resolving dependencies for most of the popular build systems as well as
>> plugins like
>> broccoli-funnel. What I am trying to get at here is that fixing and
>> packaging these 448 packages
>> will likely contribute a lot towards making an npm-enriched guix possible.
>>
>
> Yes. They're important. Some of them require you to be logged in in order
> to be downloaded. Or anyway the download fails with an error message in the
> response (the body is empty in those cases).
>
> These are those with "nope" in the value
>
> Others return error messages. I'm affraid I overlapped some error
> conditions, though :-/
> The errors I recorded are not completely accurate.
>
> The errors. But the fact that they can't be downloaded stands.
>
> They are still a bit too many but I'm afraid thhey have to be explored
> manually
>
>
>>
>>>
>>> There are 1314 packages with NO dependencies that could be used as
>>> starting points in porting Jquery into Guix.
>>> Here's the list
>>> http://catonano.altervista.org/broken_packages.txt
>>>
>>
>> These could probably make use of the npm importer I worked on earlier. Do
>> you make use of your own? Otherwase I'll get to
>> rebasing my version on the current guix master branch.
>>
>
> I used some code that I wrote on purpose.
> This is the repo
> https://gitlab.com/humanitiesNerd/Culturia
>
> The file you want to consider is "npmjs.scm", the function is
> "populate-store" on line 178
>
> The other files were there when I forked amz3's repository. They're theirs
>
>
>
>>
>>
>>>
>>>
>>> If there's anyone interested, I can give you the data folder so you can
>>> try all the queries you want on these data without having to to run this
>>> thing for a bunch of hours
>>>
>>
>> If possible, yes please. What would be the most convenient way you to
>> share this data?
>>
>
> Yes, here it is
> http://catonano.altervista.org/npmjsdata.tar.gz
>
> decompress it somewhere, then read amz3's instructions about their Culturia
> http://hyperdev.fr/notes/a-graph-based-movie-recommender-
> engine-using-guile-scheme.html
> http://hyperdev.fr/notes/somewhat-relational-database-
> library-using-wiredtiger.html
> https://github.com/amirouche/Culturia
>
>
>>
>>
>>>
>>> In the future, I'd like to run this thing on some other package and
>>> merge the graphs so I will be able to investigate which are the common
>>> fundamental dependencies for SEVERAL important packages in Nodejs.
>>>
>>> So if someone wants to dedicate time to porting Nodejs stuff in Guix
>>> they will be able to select most urgent packages to start from.
>>>
>>> The same could be said of broken packages taht affect several important
>>> packages.
>>>
>>> The porting of Nodejs in Guix cannot be done with brute strength. A data
>>> oriented approach can help, in my opinion.
>>>
>>> Indeed.
>>
>>
>>> The ideal would be to have something that, like bitcoin, coordinates a
>>> swarm in such a way that every node can contribute a tiniy bit of data to a
>>> common data structure, so all the nodes would have a complete copy of the
>>> database.
>>>
>>> Collecting a mantaining of datasets should be freed of the client server
>>> model too. Not only the social media.
>>>
>>> I have no idea what you are referring to. Could you please elaborate a
>> bit at a later point in time?
>>
>
> Briefly, bitcoin keeps a ledger among a swarm of peers. They cooperate to
> keep a common datastructure, mantaining consense about the order of the
> transactions, in a distributed way.
>
> In my idea, some software (based on gnunet ?) could be made such that
> every node would download a piece of the graph and contribute it to te
> common data structure.
>
> Because how will we deal with the fact that you could merge this graph
> with the one off CoffeeScript and in the same time I could merge it with
> the one of some other package ?
>
> And what about other people tha would like to collaborate ?
>
> Coordination will be needed.
>
> The most immediate way would be with a central server
>
> But I'm a nobody in the middle of nowhere, I don't want to set up a server
> and keep it on line
>
> Something similar to bitcoin would allow us to coordinate without the
> hurdles of a pesky server
>
> And this argument could be generalized. An alternative to the client
> server model for collecting and mantaining datasets in general shoul

Re: jquery 3.1.1

2017-01-19 Thread Catonano
2017-01-19 22:07 GMT+01:00 Jelle Licht :

> Hello Catonano,
>
>
>




> These pictures are very informative indeed. I will try to be brief, but I
> quickly wanted to share
> that I find your efforts (and results!) amazing.
>

Thanks :-)

>

Something of note: a big chunk of the packages you classified as being
> 'broken' are
> making me recall some (unpleasant) memories; From my own crawling
> experiments,
> which were not nearly as complete as this one, I also ran into a lot of
> the same
> show-stoppers. In a very real sense, resolving node dependencies quickly
> devolves into
> resolving dependencies for most of the popular build systems as well as
> plugins like
> broccoli-funnel. What I am trying to get at here is that fixing and
> packaging these 448 packages
> will likely contribute a lot towards making an npm-enriched guix possible.
>

Yes. They're important. Some of them require you to be logged in in order
to be downloaded. Or anyway the download fails with an error message in the
response (the body is empty in those cases).

These are those with "nope" in the value

Others return error messages. I'm affraid I overlapped some error
conditions, though :-/
The errors I recorded are not completely accurate.

The errors. But the fact that they can't be downloaded stands.

They are still a bit too many but I'm afraid thhey have to be explored
manually


>
>>
>> There are 1314 packages with NO dependencies that could be used as
>> starting points in porting Jquery into Guix.
>> Here's the list
>> http://catonano.altervista.org/broken_packages.txt
>>
>
> These could probably make use of the npm importer I worked on earlier. Do
> you make use of your own? Otherwase I'll get to
> rebasing my version on the current guix master branch.
>

I used some code that I wrote on purpose.
This is the repo
https://gitlab.com/humanitiesNerd/Culturia

The file you want to consider is "npmjs.scm", the function is
"populate-store" on line 178

The other files were there when I forked amz3's repository. They're theirs



>
>
>>
>>
>> If there's anyone interested, I can give you the data folder so you can
>> try all the queries you want on these data without having to to run this
>> thing for a bunch of hours
>>
>
> If possible, yes please. What would be the most convenient way you to
> share this data?
>

Yes, here it is
http://catonano.altervista.org/npmjsdata.tar.gz

decompress it somewhere, then read amz3's instructions about their Culturia
http://hyperdev.fr/notes/a-graph-based-movie-recommender-engine-using-guile-scheme.html
http://hyperdev.fr/notes/somewhat-relational-database-library-using-wiredtiger.html
https://github.com/amirouche/Culturia


>
>
>>
>> In the future, I'd like to run this thing on some other package and merge
>> the graphs so I will be able to investigate which are the common
>> fundamental dependencies for SEVERAL important packages in Nodejs.
>>
>> So if someone wants to dedicate time to porting Nodejs stuff in Guix they
>> will be able to select most urgent packages to start from.
>>
>> The same could be said of broken packages taht affect several important
>> packages.
>>
>> The porting of Nodejs in Guix cannot be done with brute strength. A data
>> oriented approach can help, in my opinion.
>>
>> Indeed.
>
>
>> The ideal would be to have something that, like bitcoin, coordinates a
>> swarm in such a way that every node can contribute a tiniy bit of data to a
>> common data structure, so all the nodes would have a complete copy of the
>> database.
>>
>> Collecting a mantaining of datasets should be freed of the client server
>> model too. Not only the social media.
>>
>> I have no idea what you are referring to. Could you please elaborate a
> bit at a later point in time?
>

Briefly, bitcoin keeps a ledger among a swarm of peers. They cooperate to
keep a common datastructure, mantaining consense about the order of the
transactions, in a distributed way.

In my idea, some software (based on gnunet ?) could be made such that every
node would download a piece of the graph and contribute it to te common
data structure.

Because how will we deal with the fact that you could merge this graph with
the one off CoffeeScript and in the same time I could merge it with the one
of some other package ?

And what about other people tha would like to collaborate ?

Coordination will be needed.

The most immediate way would be with a central server

But I'm a nobody in the middle of nowhere, I don't want to set up a server
and keep it on line

Something similar to bitcoin would allow us to coordinate without the
hurdles of a pesky server

And this argument could be generalized. An alternative to the client server
model for collecting and mantaining datasets in general should be
envisioned.

I see proects for federating the social networks. But what about federating
the backend machinery ?


I will elaborate in the future, though


> But that's more than I can handle, anyway.
>>
>
> I am already thankful
>
>>
>

Re: [PATCH] gnu: Add unetbootin.

2017-01-19 Thread ng0
Adonay Felipe Nogueira  writes:

> We can take on the example of this fork instead: 
> .
> -- 
> * pt-BR: Brasileiro | en: Brazilian
> * pt-BR: Ativista do software livre | en: Free/libre software activist
> * https://libreplanet.org/wiki/User:Adfeno
> * pt-BR: Palestrante, consultor e avaliador | en: Speaker, consultant and 
> evaluator
>

Looks as if is semi-active/fallen-asleep aswell:
https://devel.trisquel.info/tomlukeywood/unetbootin_libre_edition

https://notabug.org/tomlukeywood/Unetbootin_Libre_Edition
disappeared aswell, but it went here:
https://notabug.org/tomlukeywood/FreeNetBootin

Maybe there's a patch/substitute way to do this and keep in sync
with upstream.
Last conversation on the  thread is from 2015-06-30, can one
of you people involved in trying to get unetbootin into Guix
contact the fork developer?
-- 
♥Ⓐ  ng0 -- https://www.inventati.org/patternsinthechaos/



Re: Encrypted root partition

2017-01-19 Thread dian_cecht
On Wed, Jan 18, 2017 at 11:08:22PM -0500, Mike Gerwitz wrote:
> Using an ephemeral key for swap (that is: a temporary key that is
> randomly generated and never stored) is preferred: when you unmount it,
> the data won't be recoverable.
> 

I just wanted to say that this can break suspend-to-disk, and so if someone is
going to make a note of something in the manual, said breakage should also be
mentioned, but if suspend-to-disk isn't needed, this is the ideal option.

I also want to mention that I seem to recall there is a way to get the kernel to
store suspend-to-disk info somewhere other than root, but I don't recall the
method, but I do recall it being a bit annoying to setup.




[PATCH] Update gd and php

2017-01-19 Thread Julien Lepiller
A new version of gd and php were released today. Here are patches to
update them. I could get rid of gd-for-php and use the system one
instead. Two new tests had to be removed, they are related to already
failing tests.>From 502fa6202e8dabed3abdd584f720eb6128fdc127 Mon Sep 17 00:00:00 2001
From: Julien Lepiller 
Date: Thu, 19 Jan 2017 22:09:35 +0100
Subject: [PATCH 1/2] gnu: gd: Update to 2.2.4.

* gnu/packages/gd.scm (gd): Update to 2.2.4.
---
 gnu/local.mk|  2 --
 gnu/packages/gd.scm |  8 ++
 gnu/packages/patches/gd-CVE-2016-7568.patch | 44 -
 gnu/packages/patches/gd-CVE-2016-8670.patch | 38 -
 4 files changed, 3 insertions(+), 89 deletions(-)
 delete mode 100644 gnu/packages/patches/gd-CVE-2016-7568.patch
 delete mode 100644 gnu/packages/patches/gd-CVE-2016-8670.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 2da8b82db..616e476a1 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -568,8 +568,6 @@ dist_patch_DATA =		\
   %D%/packages/patches/gcc-6-arm-none-eabi-multilib.patch	\
   %D%/packages/patches/gcc-6-cross-environment-variables.patch	\
   %D%/packages/patches/gcj-arm-mode.patch			\
-  %D%/packages/patches/gd-CVE-2016-7568.patch			\
-  %D%/packages/patches/gd-CVE-2016-8670.patch			\
   %D%/packages/patches/gd-fix-chunk-size-on-boundaries.patch	\
   %D%/packages/patches/gd-fix-gd2-read-test.patch		\
   %D%/packages/patches/gd-fix-tests-on-i686.patch		\
diff --git a/gnu/packages/gd.scm b/gnu/packages/gd.scm
index 0241a81db..d564955d4 100644
--- a/gnu/packages/gd.scm
+++ b/gnu/packages/gd.scm
@@ -40,7 +40,7 @@
 ;; Note: With libgd.org now pointing to github.com, genuine old
 ;; tarballs are no longer available.  Notably, versions 2.0.x are
 ;; missing.
-(version "2.2.3")
+(version "2.2.4")
 
 (source (origin
  (method url-fetch)
@@ -49,10 +49,8 @@
version "/libgd-" version ".tar.xz"))
  (sha256
   (base32
-   "0g3xz8jpz1pl2zzmssglrpa9nxiaa7rmcmvgpbrjz8k9cyynqsvl"))
- (patches (search-patches "gd-CVE-2016-7568.patch"
-  "gd-CVE-2016-8670.patch"
-  "gd-fix-gd2-read-test.patch"
+   "1rp4v7n1dq38b92kl7gkvpvqqkw7nvdfnz6d5kip5klkxfki6zqk"))
+ (patches (search-patches "gd-fix-gd2-read-test.patch"
   "gd-fix-tests-on-i686.patch"
 (build-system gnu-build-system)
 (native-inputs
diff --git a/gnu/packages/patches/gd-CVE-2016-7568.patch b/gnu/packages/patches/gd-CVE-2016-7568.patch
deleted file mode 100644
index 6a1a63296..0
--- a/gnu/packages/patches/gd-CVE-2016-7568.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-Fix CVE-2016-7568 (integer overflow in gdImageWebpCtx()):
-
-https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-7568
-
-Patch copied from upstream source repository:
-
-https://github.com/libgd/libgd/commit/2806adfdc27a94d333199345394d7c302952b95f
-
-From 2806adfdc27a94d333199345394d7c302952b95f Mon Sep 17 00:00:00 2001
-From: trylab 
-Date: Tue, 6 Sep 2016 18:35:32 +0800
-Subject: [PATCH] Fix integer overflow in gdImageWebpCtx
-
-Integer overflow can be happened in expression gdImageSX(im) * 4 *
-gdImageSY(im). It could lead to heap buffer overflow in the following
-code. This issue has been reported to the PHP Bug Tracking System. The
-proof-of-concept file will be supplied some days later. This issue was
-discovered by Ke Liu of Tencent's Xuanwu LAB.

- src/gd_webp.c | 8 
- 1 file changed, 8 insertions(+)
-
-diff --git a/src/gd_webp.c b/src/gd_webp.c
-index 8eb4dee..9886399 100644
 a/src/gd_webp.c
-+++ b/src/gd_webp.c
-@@ -199,6 +199,14 @@ BGD_DECLARE(void) gdImageWebpCtx (gdImagePtr im, gdIOCtx * outfile, int quality)
- 		quality = 80;
- 	}
- 
-+	if (overflow2(gdImageSX(im), 4)) {
-+		return;
-+	}
-+
-+	if (overflow2(gdImageSX(im) * 4, gdImageSY(im))) {
-+		return;
-+	}
-+
- 	argb = (uint8_t *)gdMalloc(gdImageSX(im) * 4 * gdImageSY(im));
- 	if (!argb) {
- 		return;
--- 
-2.10.0
-
diff --git a/gnu/packages/patches/gd-CVE-2016-8670.patch b/gnu/packages/patches/gd-CVE-2016-8670.patch
deleted file mode 100644
index 39ee99ac3..0
--- a/gnu/packages/patches/gd-CVE-2016-8670.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-Fix CVE-2016-8670 (buffer overflow in dynamicGetbuf()):
-
-https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8670
-http://seclists.org/oss-sec/2016/q4/138
-
-Patch copied from upstream source repository:
-
-https://github.com/libgd/libgd/commit/53110871935244816bbb9d131da0bccff734bfe9
-
-From 53110871935244816bbb9d131da0bccff734bfe9 Mon Sep 17 00:00:00 2001
-From: "Christoph M. Becker" 
-Date: Wed, 12 Oct 2016 11:15:32 +0200
-Subject: [PATCH] Avoid potentially dangerous signed to unsigned conversion
-
-We make sure to never pass a negative `rlen` as size to memcpy(). See
-also 

Re: [PATCH] gnu: Add unetbootin.

2017-01-19 Thread Adonay Felipe Nogueira
We can take on the example of this fork instead: 
.
-- 
* pt-BR: Brasileiro | en: Brazilian
* pt-BR: Ativista do software livre | en: Free/libre software activist
* https://libreplanet.org/wiki/User:Adfeno
* pt-BR: Palestrante, consultor e avaliador | en: Speaker, consultant and 
evaluator



Re: jquery 3.1.1

2017-01-19 Thread Jelle Licht
Hello Catonano,

2017-01-19 21:48 GMT+01:00 Catonano :

> I made a crawler and I let it loose on the jquery 3.1.1 dependencies on
> registry.npmjs.com
> It recursevely fetched the dependencies of jquery 3.1.1, then the
> dependencies of the dependencies, then the dependencies of the dependencies
> of the dependencies... and so on
>
> Until there were no more dependencies to fetch.
>
> It stored all such dependencies in a graph database made by the amazing
> amz3 for their project, Culturia. They wrote about such project several
> times on the guile-users mailing list.
>
> It took days to download. And it took me months to produce a working
> version of this code. Because I don't know Guile very well and maybe I'm
> not that smart overall.
>
> Anyway, now I have a COMPLETE graph of the dependencies of jquery 3.1.1
>

These pictures are very informative indeed. I will try to be brief, but I
quickly wanted to share
that I find your efforts (and results!) amazing.


>
> It's made of
> 47311 vertices and
> 324569 edges
>
> I made a graph of a subset (graphviz chocked a bit on this ;-) )
> It's here
> http://catonano.altervista.org/grafo.svg
>
> There are 448 "broken" packages. Probably I should explain how I
> classified packages as "broken". Maybe not in this email.
>
> Anyway, these broken packages pose a challenge to the mission of porting
> Jquery into Guix, in my opinion, and they should be considered with some
> attention.
> Here's the list
> http://catonano.altervista.org/broken_packages.txt
>

Something of note: a big chunk of the packages you classified as being
'broken' are
making me recall some (unpleasant) memories; From my own crawling
experiments,
which were not nearly as complete as this one, I also ran into a lot of the
same
show-stoppers. In a very real sense, resolving node dependencies quickly
devolves into
resolving dependencies for most of the popular build systems as well as
plugins like
broccoli-funnel. What I am trying to get at here is that fixing and
packaging these 448 packages
will likely contribute a lot towards making an npm-enriched guix possible.


>
>
> There are 1314 packages with NO dependencies that could be used as
> starting points in porting Jquery into Guix.
> Here's the list
> http://catonano.altervista.org/broken_packages.txt
>

These could probably make use of the npm importer I worked on earlier. Do
you make use of your own? Otherwase I'll get to
rebasing my version on the current guix master branch.


>
>
> If there's anyone interested, I can give you the data folder so you can
> try all the queries you want on these data without having to to run this
> thing for a bunch of hours
>

If possible, yes please. What would be the most convenient way you to share
this data?


>
> In the future, I'd like to run this thing on some other package and merge
> the graphs so I will be able to investigate which are the common
> fundamental dependencies for SEVERAL important packages in Nodejs.
>
> So if someone wants to dedicate time to porting Nodejs stuff in Guix they
> will be able to select most urgent packages to start from.
>
> The same could be said of broken packages taht affect several important
> packages.
>
> The porting of Nodejs in Guix cannot be done with brute strength. A data
> oriented approach can help, in my opinion.
>
> Indeed.


> The ideal would be to have something that, like bitcoin, coordinates a
> swarm in such a way that every node can contribute a tiniy bit of data to a
> common data structure, so all the nodes would have a complete copy of the
> database.
>
> Collecting a mantaining of datasets should be freed of the client server
> model too. Not only the social media.
>
> I have no idea what you are referring to. Could you please elaborate a bit
at a later point in time?


> But that's more than I can handle, anyway.
>

I am already thankful

>
> I'd like to talk about the stumbling blocks I run into to discuss Guile
> and my knowledge of it.
>
> For example, I can't use that thing in the autotools that processes
> configure.am files so I just forked amz3's project and added my files in
> there. As guests. Thanks amz3 !
>
> I'd also like to describe te screw ups in the format I put the data into.
> I realized my mistakes when hours of crunching had already been done.
>
> They can be migrated to a better format though
>
> If you don't mind, I will discuss these issue in the future, not now.
>
> The code is here
> https://gitlab.com/humanitiesNerd/Culturia
>
> One last fun fact: while I was watching the output flowing in my terminal,
> I saw a package called
>
> "broccoli-funnel"
>
> No, really. It's here
> https://registry.npmjs.org/broccoli-funnel
>
> Ok, that's all for now.
>

Thanks again for your efforts on this. I am looking forward to working with
your data.

Regards,
Jelle Licht


Re: [PATCH] gnu: Add unetbootin.

2017-01-19 Thread Jan Nieuwenhuizen
Ludovic Courtès writes:

> I’d suggest these minor cosmetic changes:

Thanks, these are all fine...

> In addition, there’s one thing we need to fix from an FSDG perspective,
> which is described here:
> .

Ouch, sorry.

> Could you check whether the package can be adjusted to use this FUSBi
> fork mentioned there, and send an updated patch?

I checked...FUSBi has been discontinued.  :-(

Possibly we can learn from other distros?  I checked if I could use
Debian (which I'm familiar with) but they do not have FUSBi and they
sadly also do not strip unetbootin; so this needs a little more
attention.

Greetings,
Jan

-- 
Jan Nieuwenhuizen  | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar®  http://AvatarAcademy.nl  



jquery 3.1.1

2017-01-19 Thread Catonano
I made a crawler and I let it loose on the jquery 3.1.1 dependencies on
registry.npmjs.com

It recursevely fetched the dependencies of jquery 3.1.1, then the
dependencies of the dependencies, then the dependencies of the dependencies
of the dependencies... and so on

Until there were no more dependencies to fetch.

It stored all such dependencies in a graph database made by the amazing
amz3 for their project, Culturia. They wrote about such project several
times on the guile-users mailing list.

It took days to download. And it took me months to produce a working
version of this code. Because I don't know Guile very well and maybe I'm
not that smart overall.

Anyway, now I have a COMPLETE graph of the dependencies of jquery 3.1.1

It's made of
47311 vertices and
324569 edges

I made a graph of a subset (graphviz chocked a bit on this ;-) )
It's here
http://catonano.altervista.org/grafo.svg

There are 448 "broken" packages. Probably I should explain how I classified
packages as "broken". Maybe not in this email.

Anyway, these broken packages pose a challenge to the mission of porting
Jquery into Guix, in my opinion, and they should be considered with some
attention.
Here's the list
http://catonano.altervista.org/broken_packages.txt

There are 1314 packages with NO dependencies that could be used as starting
points in porting Jquery into Guix.
Here's the list
http://catonano.altervista.org/broken_packages.txt

If there's anyone interested, I can give you the data folder so you can try
all the queries you want on these data without having to to run this thing
for a bunch of hours

In the future, I'd like to run this thing on some other package and merge
the graphs so I will be able to investigate which are the common
fundamental dependencies for SEVERAL important packages in Nodejs.

So if someone wants to dedicate time to porting Nodejs stuff in Guix they
will be able to select most urgent packages to start from.

The same could be said of broken packages taht affect several important
packages.

The porting of Nodejs in Guix cannot be done with brute strength. A data
oriented approach can help, in my opinion.

The ideal would be to have something that, like bitcoin, coordinates a
swarm in such a way that every node can contribute a tiniy bit of data to a
common data structure, so all the nodes would have a complete copy of the
database.

Collecting a mantaining of datasets should be freed of the client server
model too. Not only the social media.

But that's more than I can handle, anyway.

I'd like to talk about the stumbling blocks I run into to discuss Guile and
my knowledge of it.

For example, I can't use that thing in the autotools that processes
configure.am files so I just forked amz3's project and added my files in
there. As guests. Thanks amz3 !

I'd also like to describe te screw ups in the format I put the data into. I
realized my mistakes when hours of crunching had already been done.

They can be migrated to a better format though

If you don't mind, I will discuss these issue in the future, not now.

The code is here
https://gitlab.com/humanitiesNerd/Culturia

One last fun fact: while I was watching the output flowing in my terminal,
I saw a package called

"broccoli-funnel"

No, really. It's here
https://registry.npmjs.org/broccoli-funnel

Ok, that's all for now.


Re: python2-traceback2, python2-linecache2

2017-01-19 Thread Hartmut Goebel
Am 19.01.2017 um 16:01 schrieb Marius Bakke:
> Me neither :-) but it's obviously something we need to tackle
> eventually. Copied in Hartmut, maybe he's got some insight?

Sorry. I posted my answer in a follow up to another mail of this thread.

For the records: I'm afraid we need to package the modules for the next
time. I filed some bug reports there.

-- 
Regards
Hartmut Goebel

| Hartmut Goebel  | h.goe...@crazy-compilers.com   |
| www.crazy-compilers.com | compilers which you thought are impossible |




Re: python2-traceback2, python2-linecache2

2017-01-19 Thread Hartmut Goebel
Am 19.01.2017 um 15:34 schrieb Danny Milosavljevic:
> Maybe it works. However, I think it's silly to package a "traceback" module 
> for Python 3.5 which is a backport of the "traceback" module included in the 
> CPython 3.5 interpreter when we use the CPython 3.5 interpreter in the first 
> place.

Well, the root cause are badly written packages. We ought address this,
but it's not the primary packages job.

I'm in favour of keeping traceback2 and linecache2, since I'm afraid
there might be more package requiring them.

I already files some bug-reports to these projects:

https://github.com/testing-cabal/testtools/issues/246
https://github.com/testing-cabal/testtools/issues/247
https://github.com/testing-cabal/traceback2/issues/10
https://github.com/testing-cabal/linecache2/issues/13

-- 
Regards
Hartmut Goebel

| Hartmut Goebel  | h.goe...@crazy-compilers.com   |
| www.crazy-compilers.com | compilers which you thought are impossible |




Re: [PATCH 1/2] gnu: services: web: Add support for NGinx upstream module

2017-01-19 Thread Christopher Baines
On 19/01/17 13:08, Ludovic Courtès wrote:
> Christopher Baines  skribis:
> 
>> * gnu/services/web.scm (): New record type.
>> (): Add new field upstream-blocks.
>> (nginx-upstream): New function.
>> (default-nginx-config): Add upstream-list parameter.
>> (nginx-service): Add optional upstream list keyword argument.
>> * doc/guix.text (Web Services): Document the new nginx-upstream-configuration
>> data type and changes to the nginx function.
> 
> Applied with minor changes: no “gnu:” in the subject line, and…
> 
>> +Data type representing the configuration of an nginx upstream block.
> 
> @code{upstream}, to make it clear that this is an nginx config term.
> 
>> +prefix @samp{unix:}. For addresses using an IP address or domain name,
>^
> Two spaces.
> 
>> "  index " (config-index-strings (nginx-server-configuration-index 
>> server)) ";\n"
>> "  server_tokens " (if (nginx-server-configuration-server-tokens? 
>> server)
>>"on" "off") ";\n"
>> +(define (nginx-upstream-config upstream)
>> +  (string-append
>> +   "upstream " (nginx-upstream-configuration-name upstream) " {\n"
>> +   (apply
>> +string-append
>> +(map (lambda (server)
>> +   (simple-format #f "  server ~A;\n" server))
>> + (nginx-upstream-configuration-servers upstream)))
>> "}\n"))
> 
> Here there was a syntax error: the last line must also be kept in the
> procedure just above the hunk.  I guess that was introduced while
> rebasing patches or something.
> 
> Thanks!

Great, thanks for applying this. As you say, I think the error in the
first patch was a result in splitting the changes in to two patches.




signature.asc
Description: OpenPGP digital signature


Re: Shadow -> 4.4

2017-01-19 Thread contact . ng0
contact@cryptolab.net writes:

> Question: I don't prefer to crash and burn systems, which test is enough to 
> show that it works? Reconfiguring one of my own systems?

And because the previous git send-email aborted in the middle:

The new source on github is referenced on the debian page. I
compared releases on debian and github and they use github now.

-- 
♥Ⓐ  ng0 -- https://www.inventati.org/patternsinthechaos/



[PATCH 1/2] gnu: shadow: Use 'modify-phases'.

2017-01-19 Thread contact . ng0
From: ng0 

* gnu/packages/admin.scm (shadow): Use 'modify-phases'.
---
 gnu/packages/admin.scm | 42 +-
 1 file changed, 21 insertions(+), 21 deletions(-)

diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index a785ddb0d..ed02258ed 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -12,7 +12,7 @@
 ;;; Copyright © 2016, 2017 Efraim Flashner 
 ;;; Copyright © 2016 Peter Feigl 
 ;;; Copyright © 2016 John J. Foerch 
-;;; Coypright © 2016 ng0 
+;;; Coypright © 2016, 2017 ng0 
 ;;; Coypright © 2016 Tobias Geerinckx-Rice 
 ;;; Coypright © 2016 John Darrington 
 ;;;
@@ -283,27 +283,27 @@ client and server, a telnet client and server, and an rsh 
client and server.")
 (arguments
  '(;; Assume System V `setpgrp (void)', which is the default on GNU
;; variants (`AC_FUNC_SETPGRP' is not cross-compilation capable.)
-   #:configure-flags '("--with-libpam" "ac_cv_func_setpgrp_void=yes")
+   #:configure-flags
+   '("--with-libpam" "ac_cv_func_setpgrp_void=yes")
 
-   #:phases (alist-cons-before
- 'build 'set-nscd-file-name
- (lambda* (#:key inputs #:allow-other-keys)
-   ;; Use the right file name for nscd.
-   (let ((libc (assoc-ref inputs "libc")))
- (substitute* "lib/nscd.c"
-   (("/usr/sbin/nscd")
-(string-append libc "/sbin/nscd")
- (alist-cons-after
-  'install 'remove-groups
-  (lambda* (#:key outputs #:allow-other-keys)
-;; Remove `groups', which is already provided by Coreutils.
-(let* ((out (assoc-ref outputs "out"))
-   (bin (string-append out "/bin"))
-   (man (string-append out "/share/man")))
-  (delete-file (string-append bin "/groups"))
-  (for-each delete-file (find-files man "^groups\\."))
-  #t))
-  %standard-phases
+   #:phases
+   (modify-phases %standard-phases
+ (add-before 'build 'set-nscd-file-name
+   (lambda* (#:key inputs #:allow-other-keys)
+ ;; Use the right file name for nscd.
+ (let ((libc (assoc-ref inputs "libc")))
+   (substitute* "lib/nscd.c"
+ (("/usr/sbin/nscd")
+  (string-append libc "/sbin/nscd"))
+ (add-after 'install 'remove-groups
+   (lambda* (#:key outputs #:allow-other-keys)
+ ;; Remove `groups', which is already provided by Coreutils.
+ (let* ((out (assoc-ref outputs "out"))
+(bin (string-append out "/bin"))
+(man (string-append out "/share/man")))
+   (delete-file (string-append bin "/groups"))
+   (for-each delete-file (find-files man "^groups\\."))
+   #t))
 
 (inputs (if (string-suffix? "-linux"
 (or (%current-target-system)
-- 
2.11.0




Shadow -> 4.4

2017-01-19 Thread contact . ng0

Question: I don't prefer to crash and burn systems, which test is enough to 
show that it works? Reconfiguring one of my own systems?



[PATCH 2/2] gnu: shadow: Update to 4.4.

2017-01-19 Thread contact . ng0
From: ng0 

* gnu/packages/admin.scm (shadow): Update to 4.4.
[source]: Adjust URL.
* gnu/packages/patches/shadow-4.4-su-snprintf-fix.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add patch.
---
 gnu/local.mk   |  1 +
 gnu/packages/admin.scm |  9 ---
 .../patches/shadow-4.4-su-snprintf-fix.patch   | 29 ++
 3 files changed, 35 insertions(+), 4 deletions(-)
 create mode 100644 gnu/packages/patches/shadow-4.4-su-snprintf-fix.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 2da8b82db..4446519b0 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -875,6 +875,7 @@ dist_patch_DATA =   
\
   %D%/packages/patches/seq24-rename-mutex.patch\
   %D%/packages/patches/serf-comment-style-fix.patch\
   %D%/packages/patches/serf-deflate-buckets-test-fix.patch \
+  %D%/packages/patches/shadow-4.4-su-snprintf-fix.patch \
   %D%/packages/patches/slim-session.patch  \
   %D%/packages/patches/slim-config.patch   \
   %D%/packages/patches/slim-sigusr1.patch  \
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index ed02258ed..48f3328b1 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -270,15 +270,16 @@ client and server, a telnet client and server, and an rsh 
client and server.")
 (define-public shadow
   (package
 (name "shadow")
-(version "4.2.1")
+(version "4.4")
 (source (origin
   (method url-fetch)
   (uri (string-append
-"http://pkg-shadow.alioth.debian.org/releases/";
-name "-" version ".tar.xz"))
+"https://github.com/shadow-maint/shadow/releases/";
+"download/" version "/shadow-" version ".tar.xz"))
+  (patches (search-patches "shadow-4.4-su-snprintf-fix.patch"))
   (sha256
(base32
-"0h9x1zdbq0pqmygmc1x459jraiqw4gqz8849v268crk78z8r621v"
+"0g7hf55ar2pafg5g3ldx0fwzjk36wf4xb21p4ndanbjm3c2a9ab1"
 (build-system gnu-build-system)
 (arguments
  '(;; Assume System V `setpgrp (void)', which is the default on GNU
diff --git a/gnu/packages/patches/shadow-4.4-su-snprintf-fix.patch 
b/gnu/packages/patches/shadow-4.4-su-snprintf-fix.patch
new file mode 100644
index 0..45667c8e4
--- /dev/null
+++ b/gnu/packages/patches/shadow-4.4-su-snprintf-fix.patch
@@ -0,0 +1,29 @@
+fix from upstream
+
+From 67d2bb6e0a5ac124ce1f026dd5723217b1493194 Mon Sep 17 00:00:00 2001
+From: Serge Hallyn 
+Date: Sun, 18 Sep 2016 21:31:18 -0500
+Subject: [PATCH] su.c: fix missing length argument to snprintf
+
+---
+ src/su.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/su.c b/src/su.c
+index 0c50a9456afd..93ffd2fbe2b4 100644
+--- a/src/su.c
 b/src/su.c
+@@ -373,8 +373,8 @@ static void prepare_pam_close_session (void)
+ stderr);
+   (void) kill (-pid_child, caught);
+ 
+-  snprintf (kill_msg, _(" ...killed.\n"));
+-  snprintf (wait_msg, _(" ...waiting for child to terminate.\n"));
++  snprintf (kill_msg, 256, _(" ...killed.\n"));
++  snprintf (wait_msg, 256, _(" ...waiting for child to 
terminate.\n"));
+ 
+   (void) signal (SIGALRM, kill_child);
+   (void) alarm (2);
+-- 
+2.11.0.rc2
+
-- 
2.11.0




[PATCH 1/2] gnu: shadow: Use 'modify-phases'.

2017-01-19 Thread contact . ng0
From: ng0 

* gnu/packages/admin.scm (shadow): Use 'modify-phases'.
---
 gnu/packages/admin.scm | 42 +-
 1 file changed, 21 insertions(+), 21 deletions(-)

diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index a785ddb0d..ed02258ed 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -12,7 +12,7 @@
 ;;; Copyright © 2016, 2017 Efraim Flashner 
 ;;; Copyright © 2016 Peter Feigl 
 ;;; Copyright © 2016 John J. Foerch 
-;;; Coypright © 2016 ng0 
+;;; Coypright © 2016, 2017 ng0 
 ;;; Coypright © 2016 Tobias Geerinckx-Rice 
 ;;; Coypright © 2016 John Darrington 
 ;;;
@@ -283,27 +283,27 @@ client and server, a telnet client and server, and an rsh 
client and server.")
 (arguments
  '(;; Assume System V `setpgrp (void)', which is the default on GNU
;; variants (`AC_FUNC_SETPGRP' is not cross-compilation capable.)
-   #:configure-flags '("--with-libpam" "ac_cv_func_setpgrp_void=yes")
+   #:configure-flags
+   '("--with-libpam" "ac_cv_func_setpgrp_void=yes")
 
-   #:phases (alist-cons-before
- 'build 'set-nscd-file-name
- (lambda* (#:key inputs #:allow-other-keys)
-   ;; Use the right file name for nscd.
-   (let ((libc (assoc-ref inputs "libc")))
- (substitute* "lib/nscd.c"
-   (("/usr/sbin/nscd")
-(string-append libc "/sbin/nscd")
- (alist-cons-after
-  'install 'remove-groups
-  (lambda* (#:key outputs #:allow-other-keys)
-;; Remove `groups', which is already provided by Coreutils.
-(let* ((out (assoc-ref outputs "out"))
-   (bin (string-append out "/bin"))
-   (man (string-append out "/share/man")))
-  (delete-file (string-append bin "/groups"))
-  (for-each delete-file (find-files man "^groups\\."))
-  #t))
-  %standard-phases
+   #:phases
+   (modify-phases %standard-phases
+ (add-before 'build 'set-nscd-file-name
+   (lambda* (#:key inputs #:allow-other-keys)
+ ;; Use the right file name for nscd.
+ (let ((libc (assoc-ref inputs "libc")))
+   (substitute* "lib/nscd.c"
+ (("/usr/sbin/nscd")
+  (string-append libc "/sbin/nscd"))
+ (add-after 'install 'remove-groups
+   (lambda* (#:key outputs #:allow-other-keys)
+ ;; Remove `groups', which is already provided by Coreutils.
+ (let* ((out (assoc-ref outputs "out"))
+(bin (string-append out "/bin"))
+(man (string-append out "/share/man")))
+   (delete-file (string-append bin "/groups"))
+   (for-each delete-file (find-files man "^groups\\."))
+   #t))
 
 (inputs (if (string-suffix? "-linux"
 (or (%current-target-system)
-- 
2.11.0




Shadow: Update to 4.4.

2017-01-19 Thread contact . ng0
[PATCH 1/2] gnu: shadow: Use 'modify-phases'.

[PATCH 2/2] gnu: shadow: Update to 4.4.

Update to 4.4. According to their home page, the new releases seem to happen on 
github.
I had to add a fix (patch) for su.c, which is in upstream already.
Now... Before I crash and burn all your systems, which test is enough for 
functionality? To reconfigure another system I have and still being able to log 
in and all of that?



gnu: abbaye: Update to 2.0.1 from new repository.

2017-01-19 Thread Adonay Felipe Nogueira
After so much wait, we got L'Abbaye des Morts game out of Google
Code. :)

I had to remove the bundled fonts because they no longer use these
directly in the game. It seems to be in their repository just because
they don't want to lose the rare text font they found.

I'm not a player myself, but I hope the players of this game enjoy
it. :)


Respectfully, Adonay.
-- 
* pt-BR: Brasileiro | en: Brazilian
* pt-BR: Ativista do software livre | en: Free/libre software activist
* https://libreplanet.org/wiki/User:Adfeno
* pt-BR: Palestrante, consultor e avaliador | en: Speaker, consultant and 
evaluator
> From 1991208b15a9a304224091c09dd80d01862d3e36 Mon Sep 17 00:00:00 2001
From: Adonay Felipe Nogueira 
Date: Sat, 14 Jan 2017 16:42:05 -0200
Subject: [PATCH] gnu: abbaye: Update to 2.0.1 from new repository.

* gnu/packages/games.scm: (abbaye): Update to 2.0.1.
---
 gnu/packages/games.scm | 39 ---
 1 file changed, 20 insertions(+), 19 deletions(-)

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index c449f59..272fa0f 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -24,6 +24,7 @@
 ;;; Copyright © 2016 Efraim Flashner 
 ;;; Copyright © 2016 Jan Nieuwenhuizen 
 ;;; Copyright © 2016 Steve Webber 
+;;; Copyright © 2017 Adonay "adfeno" Felipe Nogueira  
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -176,22 +177,24 @@ scriptable with Guile.")
 (define-public abbaye
   (package
 (name "abbaye")
-(version "1.13")
+(version "2.0.1")
 (source
  (origin
-   (method url-fetch)
-   (uri (string-append "https://storage.googleapis.com/";
-   "google-code-archive-downloads/v2/code.google.com/"
-   "abbaye-for-linux/abbaye-for-linux-src-"
-   version ".tar.gz"))
+   (method git-fetch)
+   (uri (git-reference
+	 (url "git://github.com/nevat/abbayedesmorts-gpl.git")
+	 (commit (string-append "v" version
(sha256
 (base32
- "1wgvckgqa2084rbskxif58wbb83xbas8s1i8s7d57xbj08ryq8rk"
+ "1pwqf7r9bqb2p3xrw9i7y8pgr1401fy3mnnqpb1qkhmdl3gqi9hb"))
+   (modules '((guix build utils)))
+   (snippet
+	'(begin
+	   ;; Unbundle fonts.
+	   (delete-file-recursively "fonts")
 (build-system gnu-build-system)
 (arguments
- '(#:modules ((ice-9 match)
-  (guix build gnu-build-system)
-  (guix build utils))
+ '(#:make-flags '("CC=gcc")
#:phases (modify-phases %standard-phases
   (add-after 'set-paths 'set-sdl-paths
 (lambda* (#:key inputs #:allow-other-keys)
@@ -199,12 +202,10 @@ scriptable with Guile.")
   (string-append (assoc-ref inputs "sdl-union")
  "/include/SDL"
   (add-after 'patch-source-shebangs 'patch-makefile
-(lambda* (#:key outputs #:allow-other-keys)
-  ;; Replace /usr with package output directory.
-  (for-each (lambda (file)
-  (substitute* file
-(("/usr") (assoc-ref outputs "out"
-'("makefile" "src/pantallas.c" "src/comun.h"
+			 (lambda* (#:key outputs #:allow-other-keys)
+  ;; Replace /usr with package output directory
+  (substitute* "Makefile"
+		   (("/usr") (assoc-ref outputs "out")
   (add-before 'install 'make-install-dirs
 (lambda* (#:key outputs #:allow-other-keys)
   (let ((prefix (assoc-ref outputs "out")))
@@ -216,15 +217,15 @@ scriptable with Guile.")
   (delete 'configure))
#:tests? #f)) ;; No check target.
 (native-inputs `(("pkg-config" ,pkg-config)))
-(inputs `(("sdl-union" ,(sdl-union
-(home-page "http://code.google.com/p/abbaye-for-linux/";)
+(inputs `(("sdl-union" ,(sdl-union (list sdl2 sdl2-image sdl2-mixer)
+(home-page "https://github.com/nevat/abbayedesmorts-gpl";)
 (synopsis "GNU/Linux port of the indie game \"l'Abbaye des Morts\"")
 (description "L'Abbaye des Morts is a 2D platform game set in 13th century
 France.  The Cathars, who preach about good Christian beliefs, were being
 expelled by the Catholic Church out of the Languedoc region in France.  One of
 them, called Jean Raymond, found an old church in which to hide, not knowing
 that beneath its ruins lay buried an ancient evil.")
-(license license:gpl3+)))
+(license license:gpl3)))
 
 (define-public pingus
   (package
-- 
1.9.1



A postinst equivalent in Guix?

2017-01-19 Thread Georgi Kirilov
Hi,

is there anything in Guix that can do things at install time, like postinst
scripts in Debian?

A program in a package I created is trying to access /var, but has no
permissions. (Well, /gnu/store/.../var)
The 'install' make target was doing 'chgrp' and 'install -g', but I had to
remove these because there was no such group in the chroot jail. And it
would be wrong anyway, as the gid in the jail would be different from that
in the systems where the package will be installed.
So, I guess /gnu/store/.../var has to be chgrp-ed during installation, on
the user's system.

Any hints?

-- 
Regards,
Georgi Kirilov


Re: Ada compiler

2017-01-19 Thread Efraim Flashner
On Thu, Jan 19, 2017 at 03:23:47PM +0100, Danny Milosavljevic wrote:
> Hi,
> 
> would it be possible to provide the GCC Ada compiler?
> 
> I would do it myself - however, it seems that GNAT requires GNAT which is a 
> bootstrapping problem.
> 
> diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
> index cfd33f85a..ef4136fa4 100644
> --- a/gnu/packages/gcc.scm
> +++ b/gnu/packages/gcc.scm
> @@ -861,3 +861,18 @@ to be a tutorial of the language.  Rather, it outlines 
> all of the constructs
>  of the language.  Library functions are not included.")
>  (home-page "http://www.gnu.org/software/gnu-c-manual";)
>  (license fdl1.3+)))
> +
> +(define-public gnat-4.9
> +  (custom-gcc gcc-4.9 "gnat" '("gnat")
> +  %generic-search-paths))
> +
> +(define-public gnat-6
> +  (custom-gcc gcc-6 "gnat" '("gnat")
> +  %generic-search-paths))
> +
> +(define-public gnat
> +  ;; Note: Update this when GCC changes!  We cannot use
> +  ;; (custom-gcc gcc "gnat" …) because that would lead to a package object
> +  ;; that is not 'eq?' with gnat-4.9, and thus 'fold-packages' would
> +  ;; report two gnat@4.9 that are in fact identical.
> +  gnat-4.9)
> 

Sometimes I have to wonder, to me that just sounds like a fun
bootstrapping problem that involves diving into the annals of computing
history.

I found https://people.debian.org/~lbrenta/debian-ada-policy.html this,
not sure if it helps any.

-- 
Efraim Flashner  אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted


signature.asc
Description: PGP signature


[PATCH 06/35] gnu: Add r-diptest.

2017-01-19 Thread Raoul Bonnal
From: Raoul Jean Pierre Bonnal 

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

diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 8051e57..99c2b12 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -4161,3 +4161,23 @@ Independent Component Analysis ICA and projection 
pursuit.")
  "This package provides a pure R implementation of the t-SNE algorithm.")
 (license (list license:gpl2+
license:gpl3+
+
+(define-public r-diptest
+  (package
+(name "r-diptest")
+(version "0.75-7")
+(source
+ (origin
+   (method url-fetch)
+   (uri (cran-uri "diptest" version))
+   (sha256
+(base32
+ "06xnc5gv1284ll0addxnxb6ljz6fn8dbyrp5vchyz6551h800aa6"
+(build-system r-build-system)
+(home-page "http://cran.r-project.org/web/packages/diptest";)
+(synopsis "Hartigan's dip test statistic for unimodality - corrected")
+(description
+ "This package computes Hartigan's dip test statistic for unimodality,
+ multimodality and provides a test with simulation based p-values, where 
+the original public code has been corrected.")
+(license license:gpl2+)))
-- 
1.9.1




Re: [PATCH 2/2] gnu: Add openvpn service.

2017-01-19 Thread Alex Kost
Ludovic Courtès (2017-01-19 12:51 +0100) wrote:

> Alex Kost  skribis:
>
>> Ludovic Courtès (2017-01-15 23:11 +0100) wrote:
>>
[...]
>>> I see.  So maybe we should just add a rule for ‘match’ in
>>> .dir-locals.el; any downside to that?
>>
>> I'm against it, as I think ".dir-locals.el" should contain only elisp
>> stuff *specific* to a project.  So I would rather do an opposite, i.e. I
>> would remove 'lambda*', 'eval-when', 'call-with-prompt',
>> 'call-with-input-string' and 'test-*' from the .dir-locals (all of these
>> keywords are handled by Geiser but not by scheme-mode).
>
> Yeah.
>
>> But if you consider to add it, then also add 'when', 'unless',
>> 'match-lambda', 'case-lambda', 'and-let*', 'with-output-to-string',
>> 'with-input-from-string' 'call-with-output-string'.  All these are not
>> handled by scheme-mode (but handled by Geiser).
>
> I don’t know, do you think we should put these in a different file?  How
> would that work?

As I said, my opinion is that ".dir-locals.el" shouldn't contain any
keyword that is not specific to Guix, so...

> The problem is that people using indent-code.el typically have raw Emacs
> with scheme-mode, but most likely without Geiser and Emacs-Guix.  So we
> need a mechanism that works in that case.

... I see 2 ways:

- either using "guix environment emacs-guix" as Ricardo proposed
  initially,

- or simply by adding the required indentation rules for all the missing
  keywords directly into "indent-code.el".

I prefer the latter as it seems simple and clean.

-- 
Alex



[PATCH 35/35] gnu: Add r-seurat.

2017-01-19 Thread Raoul Bonnal
From: Raoul Jean Pierre Bonnal 

* gnu/packages/bioinformatics.scm (r-seurat): New variable.
---
 gnu/packages/bioinformatics.scm | 56 +
 1 file changed, 56 insertions(+)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 0a77ccf..ea64002 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -8504,3 +8504,59 @@ a specified false discovery rate.  It also contains a 
number of utilities to
 explore the MS/MS results and assess missed and irregular enzymatic cleavages,
 mass measurement accuracy, etc.")
 (license license:artistic2.0)))
+
+(define-public r-seurat
+  (let ((commit "e1eae2da82ada2211e84fbc471615e8d3921b539"))
+(package
+  (name "r-seurat")
+  (version (string-append "1.4." (string-take commit 7)))
+  (source (origin
+(method git-fetch)
+(uri (git-reference
+  (url "https://github.com/satijalab/seurat";)
+  (commit commit)))
+(file-name (string-append name "-" version "-checkout"))
+(sha256
+ (base32
+  "03g1bhmlyd8ajsp54n2k3ly6hfrz936cy0ql49l7invaqsv8b130"
+  (build-system r-build-system)
+  (propagated-inputs
+   `(("r-ggplot2" ,r-ggplot2)
+ ("r-rocr" ,r-rocr)
+ ("r-stringr" ,r-stringr)
+ ("r-rtsne" ,r-rtsne)
+ ("r-reshape2" ,r-reshape2)
+ ("r-igraph" ,r-igraph)
+ ("r-plyr" ,r-plyr)
+ ("r-dplyr" ,r-dplyr)
+ ("r-rcolorbrewer" ,r-rcolorbrewer)
+ ("r-irlba" ,r-irlba)
+ ("r-gridextra" ,r-gridextra)
+ ("r-gplots" ,r-gplots)
+ ("r-gdata" ,r-gdata)
+ ("r-rcpp" ,r-rcpp)
+ ("r-cowplot" ,r-cowplot)
+ ("r-mixtools" ,r-mixtools)
+ ("r-lars" ,r-lars)
+ ("r-fastica" ,r-fastica)
+ ("r-tsne" ,r-tsne)
+ ("r-fpc" ,r-fpc)
+ ("r-ape" ,r-ape)
+ ("r-vgam" ,r-vgam)
+ ("r-pbapply" ,r-pbapply)
+ ("r-fnn" ,r-fnn)
+ ("r-caret" ,r-caret)
+ ("r-rcppeigen" ,r-rcppeigen)
+ ("r-rcppprogress" ,r-rcppprogress)
+ ("r-tclust" ,r-tclust)
+ ("r-ranger" ,r-ranger)))
+  (home-page "http://www.satijalab.org/seurat";)
+  (synopsis "Seurat is an R toolkit for single cell genomics")
+  (description
+   "This package is an R package designed for QC, analysis, and exploration
+of single cell RNA-seq data.  It easily enables widely-used analytical 
techniques,
+including the identification of highly variable genes, dimensionality 
reduction;
+PCA, ICA, t-SNE, standard unsupervised clustering algorithms; density 
clustering,
+hierarchical clustering, k-means, and the discovery of differentially expressed
+genes and markers.")
+  (license license:gpl3
-- 
1.9.1




[PATCH 34/35] gnu: Add r-ranger.

2017-01-19 Thread Raoul Bonnal
From: Raoul Jean Pierre Bonnal 

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

diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 4306226..57c07fb 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -4800,3 +4800,25 @@ multivariate case.")
 (description
  "This package provides a robust trimmed clustering.")
 (license license:gpl3)))
+
+(define-public r-ranger
+  (package
+(name "r-ranger")
+(version "0.6.0")
+(source
+ (origin
+   (method url-fetch)
+   (uri (cran-uri "ranger" version))
+   (sha256
+(base32
+ "1fwqwbi0dnla16x6zj14rf95qr5gmilfmlrwnv7s960h4yiw4n97"
+(build-system r-build-system)
+(propagated-inputs `(("r-rcpp" ,r-rcpp)))
+(home-page "https://github.com/imbs-hl/ranger";)
+(synopsis "A fast implementation of random forests")
+(description
+ "This package provides a fast implementation of Random Forests,
+particularly suited for high dimensional data.  Ensembles of classification,
+regression, survival and probability prediction trees are supported.  Data from
+genome-wide association studies can be analyzed efficiently.")
+(license license:gpl3)))
-- 
1.9.1




[PATCH 30/35] gnu: Add r-mnormt.

2017-01-19 Thread Raoul Bonnal
From: Raoul Jean Pierre Bonnal 

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

diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index c4ee40e..4459bf3 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -4708,3 +4708,27 @@ numerical linear algebra and RcppEigen glue.")
 computations taking place in C++ code, and support for interrupting those 
computations
 even in multithreaded code, typically using OpenMP.")
 (license license:gpl3+)))
+
+(define-public r-mnormt
+  (package
+(name "r-mnormt")
+(version "1.5-5")
+(source
+ (origin
+   (method url-fetch)
+(uri (cran-uri "mnormt" version))
+(sha256
+  (base32
+   "1b34xxrnf35khsx82mhvmk96sgfr2flyasaah7qkb2976pwxay7z"
+(build-system r-build-system)
+(inputs
+ `(("gfortran" ,gfortran)))
+(home-page "http://azzalini.stat.unipd.it/SW/Pkg-mnormt";)
+(synopsis "The multivariate normal and t distributions")
+(description
+ "This package provides functions for computing the density and the
+distribution function of multivariate normal and t random variables, and
+for generating random vectors sampled from these distributions.  Probabilities
+are computed via non-Monte Carlo methods.")
+(license (list license:gpl2
+   license:gpl3
-- 
1.9.1




[PATCH 32/35] gnu: Add r-sn.

2017-01-19 Thread Raoul Bonnal
From: Raoul Jean Pierre Bonnal 

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

diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index ca199bf..52a9ad2 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -4752,3 +4752,29 @@ are computed via non-Monte Carlo methods.")
  "This package provides methods for calculating accurate numerical
 first and second order derivatives.")
 (license license:gpl2)))
+
+(define-public r-sn
+  (package
+(name "r-sn")
+(version "1.4-0")
+(source
+ (origin
+   (method url-fetch)
+   (uri (cran-uri "sn" version))
+   (sha256
+(base32
+ "1h7gb8rbwpdk9m28f2bnrkbd7lm93y82bjcq3d4mwxmwc8bawqyk"
+(build-system r-build-system)
+(propagated-inputs
+ `(("r-mnormt" ,r-mnormt)
+   ("r-numderiv" ,r-numderiv)))
+(home-page "http://azzalini.stat.unipd.it/SN";)
+(synopsis "The skew-normal and skew-t distributions")
+(description
+ "This packages provides functionalities to build and manipulate
+probability distributions of the skew-normal family and some related
+ones, notably the skew-t family, and provides related statistical
+methods for data fitting and diagnostics, in the univariate and the
+multivariate case.")
+(license (list license:gpl2
+   license:gpl3
-- 
1.9.1




[PATCH 31/35] gnu: Add r-numderiv.

2017-01-19 Thread Raoul Bonnal
From: Raoul Jean Pierre Bonnal 

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

diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 4459bf3..ca199bf 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -4732,3 +4732,23 @@ for generating random vectors sampled from these 
distributions.  Probabilities
 are computed via non-Monte Carlo methods.")
 (license (list license:gpl2
license:gpl3
+
+(define-public r-numderiv
+  (package
+(name "r-numderiv")
+(version "2016.8-1")
+(source
+ (origin
+   (method url-fetch)
+   (uri (cran-uri "numDeriv" version))
+   (sha256
+(base32
+ "07ni52rwiap4wilfz94w5mrqaxr59axxmgn57857ip4p6qkiss0v"
+(properties `((upstream-name . "numDeriv")))
+(build-system r-build-system)
+(home-page "http://optimizer.r-forge.r-project.org/";)
+(synopsis "Accurate numerical derivatives")
+(description
+ "This package provides methods for calculating accurate numerical
+first and second order derivatives.")
+(license license:gpl2)))
-- 
1.9.1




[PATCH 27/35] gnu: Add r-caret.

2017-01-19 Thread Raoul Bonnal
From: Raoul Jean Pierre Bonnal 

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

diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 300a57a..969b557 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -4633,3 +4633,29 @@ based on an interface to Fortran implementations by M. 
J. D. Powell.")
 (description
  "This package is interface to NLopt, a library for nonlinear 
optimization")
 (license license:lgpl3)))
+
+(define-public r-caret
+  (package
+(name "r-caret")
+(version "6.0-73")
+(source
+ (origin
+   (method url-fetch)
+   (uri (cran-uri "caret" version))
+   (sha256
+(base32
+ "1jzaqwv4glyqqnfbpalgajd0ag866247vvdh5i83ffqs1yhs984h"
+(build-system r-build-system)
+(propagated-inputs
+ `(("r-car" ,r-car)
+   ("r-foreach" ,r-foreach)
+   ("r-ggplot2" ,r-ggplot2)
+   ("r-modelmetrics" ,r-modelmetrics)
+   ("r-plyr" ,r-plyr)
+   ("r-reshape2" ,r-reshape2)))
+(home-page "https://github.com/topepo/caret/";)
+(synopsis "Classification and regression training")
+(description
+ "This package provides misc functions for training and plotting
+classification and regression models.")
+(license license:gpl2+)))
-- 
1.9.1




[PATCH 29/35] gnu: Add r-rcppprogress.

2017-01-19 Thread Raoul Bonnal
From: Raoul Jean Pierre Bonnal 

* gnu/packages/statistics.scm (r-rcppprogress): New variable.
---
 gnu/packages/statistics.scm | 23 +++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 7afce82..c4ee40e 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -4685,3 +4685,26 @@ The models and their components are represented using S4 
classes and methods.
 The core computational algorithms are implemented using the Eigen C++ library 
for
 numerical linear algebra and RcppEigen glue.")
 (license license:gpl2+)))
+
+(define-public r-rcppprogress
+  (package
+(name "r-rcppprogress")
+(version "0.3")
+(source
+ (origin
+   (method url-fetch)
+   (uri (cran-uri "RcppProgress" version))
+   (sha256
+(base32
+ "0796g11w7iv3ix1wfm3fh09qq7jki4r4cp1mjagq77igri3xrr9x"
+(properties `((upstream-name . "RcppProgress")))
+(build-system r-build-system)
+(propagated-inputs
+ `(("r-rcpp" ,r-rcpp)))
+(home-page "https://github.com/kforner/rcpp_progress";)
+(synopsis "An interruptible progress bar with OpenMP support for C++ in R 
packages")
+(description
+ "This package allows to display a progress bar in the R console for long 
running
+computations taking place in C++ code, and support for interrupting those 
computations
+even in multithreaded code, typically using OpenMP.")
+(license license:gpl3+)))
-- 
1.9.1




[PATCH 23/35] gnu: Add r-car.

2017-01-19 Thread Raoul Bonnal
From: Raoul Jean Pierre Bonnal 

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

diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index fc4f6f2..9193bfb 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -4541,3 +4541,25 @@ models for conditional quantiles of a univariate 
response and several methods
 for handling censored survival data.  Portfolio selection methods based on
 expected shortfall risk are also included.")
 (license license:gpl2+)))
+
+(define-public r-car
+  (package
+(name "r-car")
+(version "2.1-4")
+(source
+ (origin
+   (method url-fetch)
+   (uri (cran-uri "car" version))
+   (sha256
+(base32
+ "0a6v7rsd1xsdyapnfqy37m7c4kx9wslkzsizc9k0lmnba0bwyfgx"
+(build-system r-build-system)
+(propagated-inputs
+ `(("r-pbkrtest" ,r-pbkrtest)
+   ("r-quantreg" ,r-quantreg)))
+(home-page "https://r-forge.r-project.org/projects/car/";)
+(synopsis "Companion to applied regression")
+(description
+  "This package provides functions and datasets from book Companion
+to Applied regression, Second Edition, Sage, 2011.")
+(license license:gpl2+)))
-- 
1.9.1




[PATCH 22/35] gnu: Add r-quantreg.

2017-01-19 Thread Raoul Bonnal
From: Raoul Jean Pierre Bonnal 

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

diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 9f8f53d..fc4f6f2 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -4514,3 +4514,30 @@ models written in C++ using Rcpp.")
  "This package models with sparse and dense matrix matrices,
 using modular prediction and response module classes.")
 (license license:gpl2+)))
+
+(define-public r-quantreg
+  (package
+(name "r-quantreg")
+(version "5.29")
+(source
+ (origin
+   (method url-fetch)
+   (uri (cran-uri "quantreg" version))
+   (sha256
+(base32
+ "098gy8xv9kcl5y0cm93b8chr5sm6crrdxi20bkx9lmwmybl3himv"
+(build-system r-build-system)
+(inputs
+ `(("gfortran" ,gfortran)))
+(propagated-inputs
+ `(("r-matrixmodels" ,r-matrixmodels)
+   ("r-sparsem" ,r-sparsem)))
+(home-page "http://www.r-project.org";)
+(synopsis "Quantile regression")
+(description
+ "This package provides an estimation and inference methods for models
+of conditional quantiles: linear and nonlinear parametric and non-parametric
+models for conditional quantiles of a univariate response and several methods
+for handling censored survival data.  Portfolio selection methods based on
+expected shortfall risk are also included.")
+(license license:gpl2+)))
-- 
1.9.1




[PATCH 19/35] gnu: Add r-pbkrtest.

2017-01-19 Thread Raoul Bonnal
From: Raoul Jean Pierre Bonnal 

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

diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 9a26114..3a69f49 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -4451,3 +4451,24 @@ to functions where showing the progress is useful e.g. 
bootstrap.")
 search algorithms and related applications including KNN classification,
 regression and information measures.")
 (license license:gpl2+)))
+
+(define-public r-pbkrtest
+  (package
+(name "r-pbkrtest")
+(version "0.4-6")
+(source
+ (origin
+   (method url-fetch)
+   (uri (cran-uri "pbkrtest" version))
+   (sha256
+(base32
+ "00cw18q7wvddzjrbxz917wkix6r7672vi2wmsp4gwgzady8vha4x"
+(build-system r-build-system)
+(propagated-inputs `(("r-lme4" ,r-lme4)))
+(home-page "http://people.math.aau.dk/~sorenh/software/pbkrtest/";)
+(synopsis "Parametric bootstrap and Kenward Roger based methods for mixed 
model comparison")
+(description
+ "This package implements a parametric bootstrap test and a Kenward Roger
+modification of F-tests for linear mixed effects models and a parametric
+bootstrap test for generalized linear mixed models.")
+(license license:gpl2+)))
-- 
1.9.1




[PATCH 26/35] gnu: Add r-nloptr.

2017-01-19 Thread Raoul Bonnal
From: Raoul Jean Pierre Bonnal 

* gnu/packages/statistics.scm (r-nloptr): New variable.
---
 gnu/packages/statistics.scm | 23 +++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index e602e55..300a57a 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -4610,3 +4610,26 @@ decompositions of such matrices, and solutions of linear 
systems.")
   "This package provides a derivative-free optimization by quadratic 
approximation
 based on an interface to Fortran implementations by M. J. D. Powell.")
 (license license:gpl2)))
+
+(define-public r-nloptr
+  (package
+(name "r-nloptr")
+(version "1.0.4")
+(source
+ (origin
+   (method url-fetch)
+   (uri (cran-uri "nloptr" version))
+   (sha256
+(base32
+ "1cypz91z28vhvwq2rzqjrbdc6a2lvfr2g16vid2sax618q6ai089"
+(build-system r-build-system)
+(native-inputs
+ `(("nlopt", nlopt)
+   ("pkg-config" ,pkg-config)))
+(propagated-inputs
+ `(("nlopt" ,nlopt)))
+(home-page "http://cran.r-project.org/web/packages/nloptr";)
+(synopsis "R interface to NLopt")
+(description
+ "This package is interface to NLopt, a library for nonlinear 
optimization")
+(license license:lgpl3)))
-- 
1.9.1




[PATCH 33/35] gnu: Add r-tclust.

2017-01-19 Thread Raoul Bonnal
From: Raoul Jean Pierre Bonnal 

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

diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 52a9ad2..4306226 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -4778,3 +4778,25 @@ methods for data fitting and diagnostics, in the 
univariate and the
 multivariate case.")
 (license (list license:gpl2
license:gpl3
+
+(define-public r-tclust
+  (package
+(name "r-tclust")
+(version "1.2-3")
+(source
+ (origin
+   (method url-fetch)
+   (uri (cran-uri "tclust" version))
+   (sha256
+(base32
+ "0a1b7yp4l9wf6ic5czizyl2cnxrc1virj0icr8i6m1vv23jd8jfp"
+(build-system r-build-system)
+(propagated-inputs
+ `(("r-mclust" ,r-mclust)
+   ("r-mvtnorm" ,r-mvtnorm)
+   ("r-sn" ,r-sn)))
+(home-page "http://cran.r-project.org/web/packages/tclust";)
+(synopsis "Robust trimmed clustering")
+(description
+ "This package provides a robust trimmed clustering.")
+(license license:gpl3)))
-- 
1.9.1




[PATCH 25/35] gnu: Add r-minqa.

2017-01-19 Thread Raoul Bonnal
From: Raoul Jean Pierre Bonnal 

* gnu/packages/statistics.scm (r-minqa): New variable.
---
 gnu/packages/statistics.scm | 23 +++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 398e79f..e602e55 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -4587,3 +4587,26 @@ It supports dense and sparse matrices on integer, 
floating point and complex num
 decompositions of such matrices, and solutions of linear systems.")
 (license (list license:gpl2
license:gpl3
+
+(define-public r-minqa
+  (package
+(name "r-minqa")
+(version "1.2.4")
+(source
+ (origin
+   (method url-fetch)
+   (uri (cran-uri "minqa" version))
+   (sha256
+(base32
+ "036drja6xz7awja9iwb76x91415p26fb0jmg7y7v0p65m6j978fg"
+(build-system r-build-system)
+(propagated-inputs
+ `(("r-rcpp" ,r-rcpp)))
+(inputs
+ `(("gfortran" ,gfortran)))
+(home-page "http://optimizer.r-forge.r-project.org";)
+(synopsis "Derivative-free optimization algorithms by quadratic 
approximation")
+(description
+  "This package provides a derivative-free optimization by quadratic 
approximation
+based on an interface to Fortran implementations by M. J. D. Powell.")
+(license license:gpl2)))
-- 
1.9.1




[PATCH 28/35] gnu: Add r-lme4.

2017-01-19 Thread Raoul Bonnal
From: Raoul Jean Pierre Bonnal 

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

diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 969b557..7afce82 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -4659,3 +4659,29 @@ based on an interface to Fortran implementations by M. 
J. D. Powell.")
  "This package provides misc functions for training and plotting
 classification and regression models.")
 (license license:gpl2+)))
+
+(define-public r-lme4
+  (package
+(name "r-lme4")
+(version "1.1-12")
+(source
+ (origin
+   (method url-fetch)
+   (uri (cran-uri "lme4" version))
+   (sha256
+(base32
+ "0j60l5kgx1wvw2wm3jwfqwi63hammaq8gfcxzwa4h552likvaxi9"
+(build-system r-build-system)
+(propagated-inputs
+ `(("r-minqa" ,r-minqa)
+   ("r-nloptr" ,r-nloptr)
+   ("r-rcpp" ,r-rcpp)
+   ("r-rcppeigen" ,r-rcppeigen)))
+(home-page "http://cran.r-project.org/web/packages/lme4";)
+(synopsis "Linear mixed-effects models using eigen and S4")
+(description
+  "This package provides fit linear and generalized linear mixed-effects 
models.  
+The models and their components are represented using S4 classes and methods.  
+The core computational algorithms are implemented using the Eigen C++ library 
for
+numerical linear algebra and RcppEigen glue.")
+(license license:gpl2+)))
-- 
1.9.1




[PATCH 21/35] gnu: Add r-matrixmodels.

2017-01-19 Thread Raoul Bonnal
From: Raoul Jean Pierre Bonnal 

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

diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 5955cea..9f8f53d 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -4494,3 +4494,23 @@ bootstrap test for generalized linear mixed models.")
   "This package provides a collection of metrics for evaluating
 models written in C++ using Rcpp.")
 (license license:gpl2+)))
+
+(define-public r-matrixmodels
+  (package
+(name "r-matrixmodels")
+(version "0.4-1")
+(source
+ (origin
+   (method url-fetch)
+   (uri (cran-uri "MatrixModels" version))
+   (sha256
+(base32
+ "0cyfvhci2p1vr2x52ymkyqqs63x1qchn856dh2j94yb93r08x1zy"
+(properties `((upstream-name . "MatrixModels")))
+(build-system r-build-system)
+(home-page "http://Matrix.R-forge.R-project.org/";)
+(synopsis "Modelling with sparse and dense matrices")
+(description
+ "This package models with sparse and dense matrix matrices,
+using modular prediction and response module classes.")
+(license license:gpl2+)))
-- 
1.9.1




[PATCH 17/35] gnu: Add r-pbapply.

2017-01-19 Thread Raoul Bonnal
From: Raoul Jean Pierre Bonnal 

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

diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 9a64248..862292f 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -4410,3 +4410,23 @@ by maximum likelihood estimation (MLE) or penalized MLE, 
using Fisher scoring.
 VGLMs can be loosely thought of as multivariate GLMs.")
 (license (list license:gpl2
license:gpl3
+
+(define-public r-pbapply
+  (package
+(name "r-pbapply")
+(version "1.3-1")
+(source
+ (origin
+   (method url-fetch)
+   (uri (cran-uri "pbapply" version))
+   (sha256
+(base32
+ "053i92j0ch3msywapdia08mmk1w8bhcs6x7cl0han2r9sfliwkzw"
+(build-system r-build-system)
+(home-page "https://github.com/psolymos/pbapply";)
+(synopsis "Adding progress bar to apply functions")
+(description
+ "This package provides a lightweight package that adds progress bar
+to vectorized R functions apply.  The implementation can easily be added
+to functions where showing the progress is useful e.g. bootstrap.")
+(license license:gpl2)))
-- 
1.9.1




[PATCH 24/35] gnu: Add r-rcppeigen.

2017-01-19 Thread Raoul Bonnal
From: Raoul Jean Pierre Bonnal 

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

diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 9193bfb..398e79f 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -4563,3 +4563,27 @@ expected shortfall risk are also included.")
   "This package provides functions and datasets from book Companion
 to Applied regression, Second Edition, Sage, 2011.")
 (license license:gpl2+)))
+
+(define-public r-rcppeigen
+  (package
+(name "r-rcppeigen")
+(version "0.3.2.9.0")
+(source
+ (origin
+   (method url-fetch)
+   (uri (cran-uri "RcppEigen" version))
+   (sha256
+(base32
+ "0fy9kr03160f1ywzff3p380s8a59jz7d2d0rggb14g2y0slzpbr5"
+(properties `((upstream-name . "RcppEigen")))
+(build-system r-build-system)
+(propagated-inputs `(("r-rcpp" ,r-rcpp)))
+(home-page "http://eigen.tuxfamily.org";)
+(synopsis "Rcpp integration for the Eigen templated linear algebra 
library")
+(description
+  "This package provides an integration of Eigen in R using a C++ template
+library for linear algebra: matrices, vectors, numerical solvers and related 
algorithms.
+It supports dense and sparse matrices on integer, floating point and complex 
numbers,
+decompositions of such matrices, and solutions of linear systems.")
+(license (list license:gpl2
+   license:gpl3
-- 
1.9.1




[PATCH 18/35] gnu: Add r-fnn.

2017-01-19 Thread Raoul Bonnal
From: Raoul Jean Pierre Bonnal 

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

diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 862292f..9a26114 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -4430,3 +4430,24 @@ VGLMs can be loosely thought of as multivariate GLMs.")
 to vectorized R functions apply.  The implementation can easily be added
 to functions where showing the progress is useful e.g. bootstrap.")
 (license license:gpl2)))
+
+(define-public r-fnn
+  (package
+(name "r-fnn")
+(version "1.1")
+(source
+ (origin
+   (method url-fetch)
+   (uri (cran-uri "FNN" version))
+   (sha256
+(base32
+ "1kncmiaraq1mrykb9fj3fsxswabk3l71fnp1vks0x9aay5xfk8mj"
+(properties `((upstream-name . "FNN")))
+(build-system r-build-system)
+(home-page "http://cran.r-project.org/web/packages/FNN";)
+(synopsis "Fast nearest neighbor search algorithms and applications")
+(description
+ "This package provides cover-tree and kd-tree fast k-nearest neighbor
+search algorithms and related applications including KNN classification,
+regression and information measures.")
+(license license:gpl2+)))
-- 
1.9.1




[PATCH 20/35] gnu: Add r-modelmetrics.

2017-01-19 Thread Raoul Bonnal
From: Raoul Jean Pierre Bonnal 

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

diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 3a69f49..5955cea 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -4472,3 +4472,25 @@ regression and information measures.")
 modification of F-tests for linear mixed effects models and a parametric
 bootstrap test for generalized linear mixed models.")
 (license license:gpl2+)))
+
+(define-public r-modelmetrics
+  (package
+(name "r-modelmetrics")
+(version "1.1.0")
+(source
+ (origin
+   (method url-fetch)
+(uri (cran-uri "ModelMetrics" version))
+(sha256
+ (base32
+  "119xxmzb5biq7k1yxqsf0jmmarmfn6lds9x9hfgv593xlpym6za8"
+(properties `((upstream-name . "ModelMetrics")))
+(build-system r-build-system)
+(propagated-inputs
+ `(("r-rcpp" ,r-rcpp)))
+(home-page "http://cran.r-project.org/web/packages/ModelMetrics";)
+(synopsis "Rapid calculation of model metrics")
+(description
+  "This package provides a collection of metrics for evaluating
+models written in C++ using Rcpp.")
+(license license:gpl2+)))
-- 
1.9.1




[PATCH 15/35] gnu: Add r-ape.

2017-01-19 Thread Raoul Bonnal
From: Raoul Jean Pierre Bonnal 

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

diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 336b7c0..9defb9f 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -4362,3 +4362,25 @@ regression methodology including model selections and 
multivariate statistics.")
 Fixed point clustering.")
   (license (list license:gpl2+
  license:gpl3+
+
+(define-public r-ape
+  (package
+(name "r-ape")
+  (version "4.0")
+  (source
+   (origin
+ (method url-fetch)
+ (uri (cran-uri "ape" version))
+ (sha256
+  (base32
+   "017jzwnknwxggpv9lkj9yyc66qv3mcl5psvbbszfivpmj26k79f9"
+  (build-system r-build-system)
+  (home-page "http://ape-package.ird.fr/";)
+  (synopsis "Analyses of phylogenetics and evolution")
+  (description
+   "This package provides functions for reading, writing, plotting, and
+manipulating phylogenetic trees, analyses of comparative data in a
+phylogenetic framework, ancestral character analyses, analyses of
+diversification and macroevolution, computing distances from DNA sequences,
+and several other tools.")
+  (license license:gpl2+)))
-- 
1.9.1




[PATCH 07/35] gnu: Add r-modeltools.

2017-01-19 Thread Raoul Bonnal
From: Raoul Jean Pierre Bonnal 

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

diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 99c2b12..3f3f4a7 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -4181,3 +4181,23 @@ Independent Component Analysis ICA and projection 
pursuit.")
  multimodality and provides a test with simulation based p-values, where 
 the original public code has been corrected.")
 (license license:gpl2+)))
+
+(define-public r-modeltools
+  (package
+(name "r-modeltools")
+(version "0.2-21")
+(source
+ (origin
+   (method url-fetch)
+   (uri (cran-uri "modeltools" version))
+   (sha256
+(base32
+ "0ynds453xprxv0jqqzi3blnv5w6vrdww9pvd1sq4lrr5ar3k3cq7"
+(build-system r-build-system)
+(home-page "http://cran.r-project.org/web/packages/modeltools";)
+(synopsis "Tools and classes for statistical models")
+(description
+ "This package provides a collection of tools to deal with statistical
+models.  The functionality is experimental and the user interface is likely
+to change in the future.")
+(license license:gpl2)))
-- 
1.9.1




[PATCH 13/35] gnu: Add r-trimcluster.

2017-01-19 Thread Raoul Bonnal
From: Raoul Jean Pierre Bonnal 

* gnu/packages/statistics.scm (r-trimcluster): New variable.
---
 gnu/packages/statistics.scm | 18 ++
 1 file changed, 18 insertions(+)

diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index c99963f..d729e6d 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -4315,3 +4315,21 @@ for global optimization of problems with and without 
constraints.")
 regression methodology including model selections and multivariate 
statistics.")
 (license license:gpl2+)))
 
+(define-public r-trimcluster
+  (package
+(name "r-trimcluster")
+(version "0.1-2")
+(source
+ (origin
+   (method url-fetch)
+   (uri (cran-uri "trimcluster" version))
+   (sha256
+(base32
+ "0lsgbg93hm0w1rdb813ry0ks2l0jfpyqzqkf3h3bj6fch0avcbv2"
+(build-system r-build-system)
+(home-page "http://www.www.homepages.ucl.ac.uk/~ucakche/";)
+(synopsis "Cluster analysis with trimming")
+(description
+ "Trimmed k-means clustering.")
+(license (list license:gpl2+
+   license:gpl3+
-- 
1.9.1




[PATCH 14/35] gnu: Add r-fpc.

2017-01-19 Thread Raoul Bonnal
From: Raoul Jean Pierre Bonnal 

* gnu/packages/statistics.scm (r-fpc): New variable.
---
 gnu/packages/statistics.scm | 29 +
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index d729e6d..336b7c0 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -4333,3 +4333,32 @@ regression methodology including model selections and 
multivariate statistics.")
  "Trimmed k-means clustering.")
 (license (list license:gpl2+
license:gpl3+
+
+(define-public r-fpc
+  (package
+(name "r-fpc")
+(version "2.1-10")
+(source
+ (origin
+   (method url-fetch)
+   (uri (cran-uri "fpc" version))
+   (sha256
+(base32
+ "15m0p9l9w2v7sl0cnzyg81i2fmx3hrhvr3371544mwn3fpsca5sx"
+(build-system r-build-system)
+(propagated-inputs
+ `(("r-diptest" ,r-diptest)
+   ("r-flexmix" ,r-flexmix)
+   ("r-kernlab" ,r-kernlab)
+   ("r-mclust" ,r-mclust)
+   ("r-mvtnorm" ,r-mvtnorm)
+   ("r-prabclus" ,r-prabclus)
+   ("r-robustbase" ,r-robustbase)
+   ("r-trimcluster" ,r-trimcluster)))
+(home-page "http://www.homepages.ucl.ac.uk/~ucakche/";)
+(synopsis "Flexible procedures for clustering")
+(description
+ "This package provides various methods for clustering and cluster 
validation.
+Fixed point clustering.")
+  (license (list license:gpl2+
+ license:gpl3+
-- 
1.9.1




[PATCH 11/35] gnu: Add r-deoptimr.

2017-01-19 Thread Raoul Bonnal
From: Raoul Jean Pierre Bonnal 

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

diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 2bf38a7..29c8cf2 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -4271,3 +4271,23 @@ clustering of presence-absence, abundance and multilocus 
genetical data for
 species delimitation, nearest neighbor based noise detection.")
 (license (list license:gpl2+
license:gpl3+
+
+(define-public r-deoptimr
+  (package
+(name "r-deoptimr")
+(version "1.0-8")
+(source
+ (origin
+   (method url-fetch)
+   (uri (cran-uri "DEoptimR" version))
+   (sha256
+(base32
+ "1vz546hyjyhly70z62h5n3mn62b8llhhmim8ffp9y6jnnb0i2sc4"
+(properties `((upstream-name . "DEoptimR")))
+(build-system r-build-system)
+(home-page "http://cran.r-project.org/web/packages/DEoptimR";)
+(synopsis "Differential evolution optimization in pure R")
+(description
+ "This package provides a differential evolution stochastic algorithms
+for global optimization of problems with and without constraints.")
+(license license:gpl2+)))
-- 
1.9.1




[PATCH 16/35] gnu: Add r-vgam.

2017-01-19 Thread Raoul Bonnal
From: Raoul Jean Pierre Bonnal 

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

diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 9defb9f..9a64248 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -4384,3 +4384,29 @@ phylogenetic framework, ancestral character analyses, 
analyses of
 diversification and macroevolution, computing distances from DNA sequences,
 and several other tools.")
   (license license:gpl2+)))
+
+(define-public r-vgam
+  (package
+(name "r-vgam")
+(version "1.0-3")
+(source
+ (origin
+   (method url-fetch)
+   (uri (cran-uri "VGAM" version))
+   (sha256
+(base32
+ "0wr6szcpj8r4a1rlzgd6iym7khin69fmvxcf37iyvs8mms86dfr3"
+(properties `((upstream-name . "VGAM")))
+(build-system r-build-system)
+(inputs
+ `(("gfortran" ,gfortran)))
+(home-page "https://www.stat.auckland.ac.nz/~yee/VGAM";)
+(synopsis "Vector generalized linear and additive models")
+(description
+"This package is an implementation of about 6 major classes of statistical
+regression models.  Currently only fixed-effects models are implemented, i.e.,
+no random-effects models.  Many (150+) models and distributions are estimated
+by maximum likelihood estimation (MLE) or penalized MLE, using Fisher scoring.
+VGLMs can be loosely thought of as multivariate GLMs.")
+(license (list license:gpl2
+   license:gpl3
-- 
1.9.1




[PATCH 08/35] gnu: Add r-flexmix.

2017-01-19 Thread Raoul Bonnal
From: Raoul Jean Pierre Bonnal 

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

diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 3f3f4a7..22b5b24 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -4201,3 +4201,27 @@ the original public code has been corrected.")
 models.  The functionality is experimental and the user interface is likely
 to change in the future.")
 (license license:gpl2)))
+
+(define-public r-flexmix
+  (package
+(name "r-flexmix")
+(version "2.3-13")
+(source
+ (origin
+   (method url-fetch)
+   (uri (cran-uri "flexmix" version))
+   (sha256
+(base32
+ "1i205yw3kkxs27gqcs6zx0c2mh16p332a2p06wq6fdzb20bazg3z"
+(build-system r-build-system)
+(propagated-inputs
+ `(("r-modeltools" ,r-modeltools)))
+(home-page "http://cran.r-project.org/web/packages/flexmix";)
+(synopsis "Flexible mixture modeling")
+(description
+ "This package implements a general framework for finite mixtures of
+regression models using the EM algorithm.  FlexMix provides the E-step and
+all data handling, while the M-step can be supplied by the user to easily
+define new models.  Existing drivers implement mixtures of standard linear
+models, generalized linear models and model-based clustering.")
+(license license:gpl2+)))
-- 
1.9.1




[PATCH 10/35] gnu: Add r-prabclus.

2017-01-19 Thread Raoul Bonnal
From: Raoul Jean Pierre Bonnal 

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

diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 6ce05a3..2bf38a7 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -4249,3 +4249,25 @@ including Bayesian regularization, dimension reduction 
for visualisation,
 and resampling-based inference.")
 (license license:gpl2+)))
 
+(define-public r-prabclus
+  (package
+(name "r-prabclus")
+(version "2.2-6")
+(source
+ (origin
+   (method url-fetch)
+   (uri (cran-uri "prabclus" version))
+   (sha256
+(base32
+ "0qjsxrx6yv338bxm4ki0w9h8hind1l98abdrz828588bwj02jya1"
+(build-system r-build-system)
+(propagated-inputs `(("r-mclust" ,r-mclust)))
+(home-page "http://www.homepages.ucl.ac.uk/~ucakche";)
+(synopsis "Functions for clustering of presence-absence, abundance and 
multilocus genetic data")
+(description
+ "This package provides a distance-based parametric bootstrap tests
+for clustering with spatial neighborhood information.  Some distance measures,
+clustering of presence-absence, abundance and multilocus genetical data for
+species delimitation, nearest neighbor based noise detection.")
+(license (list license:gpl2+
+   license:gpl3+
-- 
1.9.1




[PATCH 12/35] gnu: Add r-robustbase.

2017-01-19 Thread Raoul Bonnal
From: Raoul Jean Pierre Bonnal 

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

diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 29c8cf2..c99963f 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -4291,3 +4291,27 @@ species delimitation, nearest neighbor based noise 
detection.")
  "This package provides a differential evolution stochastic algorithms
 for global optimization of problems with and without constraints.")
 (license license:gpl2+)))
+
+(define-public r-robustbase
+  (package
+(name "r-robustbase")
+(version "0.92-7")
+(source
+ (origin
+   (method url-fetch)
+   (uri (cran-uri "robustbase" version))
+   (sha256
+(base32
+ "13xz4am7y0s0kl5bmbcw3dlhl7ji8h9sjx56wsgmj6r9n35nrggw"
+(build-system r-build-system)
+(inputs
+ `(("gfortran" ,gfortran)))
+(propagated-inputs
+ `(("r-deoptimr" ,r-deoptimr)))
+(home-page "http://robustbase.r-forge.r-project.org/";)
+(synopsis "Basic robust statistics")
+(description
+ "This packages allows to analyze data with robust methods such as
+regression methodology including model selections and multivariate 
statistics.")
+(license license:gpl2+)))
+
-- 
1.9.1




[PATCH 09/35] gnu: Add r-mclust.

2017-01-19 Thread Raoul Bonnal
From: Raoul Jean Pierre Bonnal 

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

diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 22b5b24..6ce05a3 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -4225,3 +4225,27 @@ all data handling, while the M-step can be supplied by 
the user to easily
 define new models.  Existing drivers implement mixtures of standard linear
 models, generalized linear models and model-based clustering.")
 (license license:gpl2+)))
+
+(define-public r-mclust
+  (package
+(name "r-mclust")
+(version "5.2.1")
+(source
+ (origin
+   (method url-fetch)
+   (uri (cran-uri "mclust" version))
+   (sha256
+(base32
+ "08swza5zg6dxlgwfl30nwh7170mxb5fhsrq5b42fffawsc86v8k5"
+(build-system r-build-system)
+(native-inputs
+ `(("gfortran" ,gfortran)))
+(home-page "http://www.stat.washington.edu/mclust/";)
+(synopsis "Gaussian mixture modelling for model-based clustering, 
classification, and density estimation")
+(description
+ "This package provides Gaussian finite mixture models fitted via EM
+algorithm for model-based clustering, classification, and density estimation,
+including Bayesian regularization, dimension reduction for visualisation,
+and resampling-based inference.")
+(license license:gpl2+)))
+
-- 
1.9.1




[PATCH 04/35] gnu: Add r-fastica.

2017-01-19 Thread Raoul Bonnal
From: Raoul Jean Pierre Bonnal 

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

diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index d9b494f..4686212 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -4121,3 +4121,24 @@ regression and infinitesimal forward stagewise 
regression are related to
 the lasso, as described in the paper below.")
 (license license:gpl2)))
 
+(define-public r-fastica
+  (package
+(name "r-fastica")
+(version "1.2-0")
+(source
+ (origin
+   (method url-fetch)
+   (uri (cran-uri "fastICA" version))
+   (sha256
+(base32
+ "0ykk78fsk5da2g16i4wji85bvji7nayjvkfp07hyaxq9d15jmf0r"
+(properties `((upstream-name . "fastICA")))
+(build-system r-build-system)
+(home-page "http://cran.r-project.org/web/packages/fastICA";)
+(synopsis "FastICA algorithms to perform ICA and projection pursuit")
+(description
+ "This package provides an implementation of FastICA algorithm to perform
+Independent Component Analysis ICA and projection pursuit.")
+(license (list license:gpl2
+   license:gpl3
+
-- 
1.9.1




[PATCH 02/35] gnu: Add r-mixtools.

2017-01-19 Thread Raoul Bonnal
From: Raoul Jean Pierre Bonnal 

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

diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 1d68636..1a9ace9 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -4076,3 +4076,25 @@ Farebrother's algorithm or Liu et al.'s algorithm.")
 ggplot2 package to combine multiple ggplot2 plots into one and label them 
 with letters, as is often required for scientific publications.")
 (license license:gpl2)))
+
+(define-public r-mixtools
+  (package
+(name "r-mixtools")
+(version "1.0.4")
+(source
+ (origin
+   (method url-fetch)
+   (uri (cran-uri "mixtools" version))
+   (sha256
+(base32
+ "133rr17ywmlhsc6457hs8qxi8ng443ql9ashxpwc8875gjhv1x32"
+(build-system r-build-system)
+(propagated-inputs
+ `(("r-segmented" ,r-segmented)))
+(home-page "http://cran.r-project.org/web/packages/mixtools";)
+(synopsis "Tools for analyzing finite mixture models")
+(description
+ "This package provides a collection of R functions for analyzing finite
+mixture models.")
+(license license:gpl2+)))
+
-- 
1.9.1




[PATCH 03/35] gnu: Add r-lars.

2017-01-19 Thread Raoul Bonnal
From: Raoul Jean Pierre Bonnal 

* gnu/packages/statistics.scm (r-lars): New variable.
---
 gnu/packages/statistics.scm | 23 +++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 1a9ace9..d9b494f 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -4098,3 +4098,26 @@ with letters, as is often required for scientific 
publications.")
 mixture models.")
 (license license:gpl2+)))
 
+(define-public r-lars
+  (package
+(name "r-lars")
+(version "1.2")
+(source
+ (origin
+   (method url-fetch)
+   (uri (cran-uri "lars" version))
+   (sha256
+(base32
+ "0blj44wqrx6lmym1m9v6wkz8zxzbjax2zl6swgdczci0ixb5nx34"
+(build-system r-build-system)
+(inputs
+ `(("gfortran" ,gfortran)))
+(home-page "http://www-stat.stanford.edu/~hastie/Papers/#LARS";)
+(synopsis "Least angle regression, lasso and forward stagewise")
+(description
+ "This package provides an efficient procedures for fitting an entire
+lasso sequence with the cost of a single least squares fit.  Least angle
+regression and infinitesimal forward stagewise regression are related to
+the lasso, as described in the paper below.")
+(license license:gpl2)))
+
-- 
1.9.1




[PATCH 01/35] gnu: Add r-cowplot.

2017-01-19 Thread Raoul Bonnal
From: Raoul Jean Pierre Bonnal 

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

diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 8f72117..1d68636 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -4052,3 +4052,27 @@ published by the statistics blog FiveThirtyEight.")
 quadratic forms in normal variables using Imhof's method, Davies's algorithm,
 Farebrother's algorithm or Liu et al.'s algorithm.")
 (license license:gpl2+)))
+
+(define-public r-cowplot
+  (package
+(name "r-cowplot")
+(version "0.7.0")
+(source
+ (origin
+   (method url-fetch)
+   (uri (cran-uri "cowplot" version))
+   (sha256
+(base32
+ "03iimcsh1pk7iqzjdlfcj43b8khijdk4hg00j4jdllv19xsfb0hx"
+(build-system r-build-system)
+(propagated-inputs
+ `(("r-ggplot2" ,r-ggplot2)
+   ("r-gtable" ,r-gtable)
+   ("r-plyr" ,r-plyr)))
+(home-page "https://github.com/wilkelab/cowplot";)
+(synopsis "Streamlined plot theme and plot annotations for ggplot2")
+(description
+ "This package provides some helpful extensions and modifications to the
+ggplot2 package to combine multiple ggplot2 plots into one and label them 
+with letters, as is often required for scientific publications.")
+(license license:gpl2)))
-- 
1.9.1




[PATCH 05/35] gnu: Add r-tsne.

2017-01-19 Thread Raoul Bonnal
From: Raoul Jean Pierre Bonnal 

* gnu/packages/statistics.scm (r-tsne): New variable.
---
 gnu/packages/statistics.scm | 19 +++
 1 file changed, 19 insertions(+)

diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 4686212..8051e57 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -4142,3 +4142,22 @@ Independent Component Analysis ICA and projection 
pursuit.")
 (license (list license:gpl2
license:gpl3
 
+(define-public r-tsne
+  (package
+(name "r-tsne")
+(version "0.1-3")
+(source
+ (origin
+   (method url-fetch)
+   (uri (cran-uri "tsne" version))
+   (sha256
+(base32
+ "0s8cv2pndkddq62rzlgzgfdjp1vjv5hz5i5957sllnb97vbzbzb6"
+(build-system r-build-system)
+(home-page
+ "https://github.com/jdonaldson/rtsne/";)
+(synopsis "t-Distributed Stochastic Neighbor Embedding for R t-SNE")
+(description
+ "This package provides a pure R implementation of the t-SNE algorithm.")
+(license (list license:gpl2+
+   license:gpl3+
-- 
1.9.1




Re: python2-traceback2, python2-linecache2

2017-01-19 Thread Marius Bakke
Marius Bakke  writes:

> I wonder if we should update scipy and numpy while at it. Thoughts?

Ugh. I tried this out (plus matplotlib), but the latest matplotlib
(2.0.0) has a circular dependency on ipython. Great.

The motivation is that the scipy failure stems from the Sphinx update.
I think I'll add an older Sphinx for now to get the ball rolling again;
we should start a new 'python-updates' branch as soon as this is merged.


signature.asc
Description: PGP signature


[PATCH] gnu: Add imgcat.

2017-01-19 Thread contact . ng0
From: ng0 

* gnu/packages/image-viewers.scm (imgcat): New variable.
---
 gnu/packages/image-viewers.scm | 54 ++
 1 file changed, 54 insertions(+)

diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm
index bc56041f8..1559e6668 100644
--- a/gnu/packages/image-viewers.scm
+++ b/gnu/packages/image-viewers.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2015, 2016 Alex Kost 
 ;;; Copyright © 2016 Efraim Flashner 
 ;;; Copyright © 2017 Alex Griffin 
+;;; Copyright © 2017 ng0 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -25,6 +26,7 @@
   #:use-module (guix download)
   #:use-module (guix packages)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system cmake)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages base)
   #:use-module (gnu packages curl)
@@ -33,6 +35,7 @@
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages imagemagick)
   #:use-module (gnu packages photo)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages xorg))
@@ -205,3 +208,54 @@ your images.  Among its features are:
 @item Configurable mouse actions
 @end enumerate\n")
 (license license:gpl3+)))
+
+(define-public catimg
+  (package
+(name "catimg")
+(version "2.2.1")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append "https://github.com/posva/catimg/archive";
+   "/v" version ".tar.gz"))
+   (file-name (string-append name "-" version ".tar.gz"))
+   (sha256
+(base32
+ "14g90zwh2d3s13hgyxypx2vc0rj1g58l6zcxhgc84wsyxfxd6xpb"
+(build-system cmake-build-system)
+(arguments
+ `(#:tests? #f  ; no check target
+   #:phases
+   (modify-phases %standard-phases
+ (replace 'configure
+   (lambda* (#:key inputs #:allow-other-keys)
+ (let* ((magic (assoc-ref %build-inputs "imagemagick"))
+(convert (string-append magic "/bin/convert")))
+   (substitute* "catimg"
+ ;; FIME: The message 'The version of convert'(…)
+ ;; gets substituted too, we should revert this.
+ (("convert") convert))
+   #t)))
+ (replace 'build
+   (lambda _
+ (zero? (system* "cmake" "-D"
+ (string-append "CMAKE_INSTALL_PREFIX="
+(assoc-ref %outputs "out"))
+ " " "."))
+ (zero? (system* "make"
+ (add-before 'install 'install-script
+   (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+(bin (string-append out "/bin")))
+   (install-file "catimg" bin)
+   (rename-file (string-append bin "/catimg")
+(string-append bin "/catimg.sh"))
+   #t))
+(inputs
+ `(("imagemagick" ,imagemagick))) ; For the script version
+(home-page "https://github.com/posva/catimg";)
+(synopsis "Render images in the terminal")
+(description
+ "Catimg is a little program that prints images in the terminal.
+It supports JPEG, PNG and GIF formats.")
+(license license:expat)))
-- 
2.11.0




Add: imgcat

2017-01-19 Thread contact . ng0
This adds imgcat, basically "cat for imagefiles".



Re: [PATCH 3/4] gnu: Add kdev-python.

2017-01-19 Thread Thomas Danckaert

From: Danny Milosavljevic 
Subject: Re: [PATCH 3/4] gnu: Add kdev-python.
Date: Mon, 16 Jan 2017 23:39:19 +0100


On Mon, 16 Jan 2017 22:10:42 +0100
l...@gnu.org (Ludovic Courtès) wrote:


+(arguments
+ `(#:tests? #f)) ; tests fail, require display


Could you check if running Xvfb is enough to run the tests?


To add to that, maybe even (setenv "QT_QPA_PLATFORM" "offscreen")
would be enough.


Hi,

setting QT_QPA_PLATFORM doesn't seem to help (looks like the process 
hangs indefinitely on the first test).  Running Xvfb seems to get the 
tests started, but I get a warning



_XSERVTransmkdir: ERROR: euid != 0,directory /tmp/.X11-unix will not
be created.


and all 5 tests immediately fail with a dbus-related error like the 
following:



process 1051: D-Bus library appears to be incorrectly set up; failed
to read machine uuid: Failed to open "/etc/machine-id": No such file
or directory See the manual page for dbus-uuidgen to correct this
issue.

  D-Bus not built with -rdynamic so unable to print a backtrace


Any ideas on how to continue?

cheers,

Thomas


Re: running a shell script in a snippet

2017-01-19 Thread Ludovic Courtès
Hello!

Ricardo Wurmus  skribis:

> Shogun comes with a script to remove all non-free source files and
> sections.  Previously we removed the non-free code in a snippet with
> some Guile code.  It would be better to use the upstream script, because
> it’s hard to keep the Guile code in sync with upstream changes.
>
> So I thought I could just run the script in the snippet, but there is no
> shell at the time when the snippet is executed.

That makes sense, assuming the script really does what we want.

> Patching and snippet application happens in an environment where the
> result of “%standard-patch-inputs” (a procedure in “(guix packages)”)
> is available.  If a package defines “patch-inputs” those inputs would be
> available instead.
>
> I tried to specify “patch-inputs” for shogun, but I cannot get this to
> work.  This is the naive way:
>
>(patch-inputs
> `(("bash" ,bash)
>   ("tar" ,tar)
>   ("bzip2" ,bzip2)
>   ("patch" ,patch)))
>(snippet
> `(zero? (system* "bash" "scripts/light-scrubber.sh")))

In fact, I think you can leave ‘patch-inputs’ as is and write:

  (snippet
#~(zero? (system* #+(file-append bash "/bin/sh") …)))

A little-known feature.  ;-)

(That doesn’t solve the circular dependency problem though.)

> I changed the field to be thunked and changed “origin->derivation” to
> unthunk the inputs before passing them to “patch-and-repack”, but here’s
> the next problem: “patch-and-repack” doesn’t set the PATH to include all
> patch-inputs.  This means that overriding “patch-inputs” gets me
> nowhere.
>
> So here’s a patch that triggers a rebuild of everything, which – I guess
> — does the right thing.  Since it causes a rebuild of the world I
> couldn’t actually confirm that it helps.
>
> From b2647c307165a995aa68dc9b83c533c6c05fabf2 Mon Sep 17 00:00:00 2001
> From: Ricardo Wurmus 
> Date: Thu, 19 Jan 2017 14:11:05 +0100
> Subject: [PATCH] WIP: thunk patch-inputs.
>
> * guix/packages.scm (): Mark "patch-inputs" as thunked.
> (patch-and-repack): Add "bin" directories of all inputs to the PATH.
> (origin->derivation): Unthunk patch inputs when necessary.

Could you separate the PATH thing and commit it to ‘core-updates’?

The rest of the patch LGTM, and is OK for master.

Another approach would be to make ‘snippet’ thunked, so you could use
the gexp shown above.

Yet another one (probably better) would be to introduce a 
type with its own “gexp compiler”, so that one could write

  #~(system* #+(file-append (gexp-delay bash) …) …)

and the promise would be forced only when the gexp is compiled.

Ludo’.



Re: [PATCH v2 4/6] gnu: Add python-reno.

2017-01-19 Thread Danny Milosavljevic
> * gnu/packages/openstack.scm (python-reno, python-reno2): New variables.
   ^^^ typo here. 

I committed and pushed it already. Sorry.




Re: [PATCH] import: github: Catch HTTP 403 error during fetch.

2017-01-19 Thread Ludovic Courtès
Mathieu OTHACEHE  skribis:

> * guix/import/github.scm (json-fetch*): Catch 403 HTTP error that may be
>   raised if a github token has not been set.
>
> Signed-off-by: Mathieu OTHACEHE 
> ---
>
> Hi,
>
> If too many github requests are made during a guix refresh (> 60/h),
> github will reject all further requests with a 403 error.
>
> The 403 error is not catch in json-fetch* guard, so guix refresh
> will exit at that point. The user never gets to error message
> informing that setting a GUIX_GITHUB_TOKEN may fix the problem.

Looks like the right to do indeed.  Applied, thanks!

Ludo’.



Re: [PATCH v2 1/6] gnu: python-testtools: Update to 1.4.0.

2017-01-19 Thread Danny Milosavljevic
Committed to python-tests as 7adb90311f8ce5e44c5bd1ecba28dcb26bfabebe .



Re: [PATCH v2 3/6] gnu: Add python-dulwich.

2017-01-19 Thread Danny Milosavljevic
Committed as d83d87225980cec4926aec03280ad3533b778281 to python-tests.



Re: [PATCH v2 4/6] gnu: Add python-reno.

2017-01-19 Thread Danny Milosavljevic
Committed to python-tests as c8d7e063d0b576615fb481e0abc55c0aeab609b8



Re: python2-traceback2, python2-linecache2

2017-01-19 Thread Marius Bakke
Danny Milosavljevic  writes:

> Hi,
>
>> The traceback2 module works on python3 as well. I don't think patching
>> imports will be necessary?
>
> Maybe it works. However, I think it's silly to package a "traceback"
> module for Python 3.5 which is a backport of the "traceback" module
> included in the CPython 3.5 interpreter when we use the CPython 3.5
> interpreter in the first place.

There are other modules extracted from python3 and packaged for
python2+3. "enum34", "contextlib2", etc. AFAICT traceback was added
already in 3.0: https://docs.python.org/3.0/library/traceback.html

> Same for python-linecache2.
>
> Therefore, I would have another patchset which adds them for Python 2
> only and patches them out otherwise (s/traceback2/traceback/g).

If a module written for python3 imports "traceback2", that won't work
anyway with the standard library since it's called just "traceback". I
would much rather package a "superfluous" module, instead of
conditionally patching packages to use the built-in for python3 only.

> Adding them for Python 3.5 would just be asking for them to become
> outdated for no reason (they are part of Python 3.5 and will update
> with it - their origin is Python 3.5).
>
> That said, I'm happy that this is being discussed - I'm not sure what
> the right way to go forward is.

Me neither :-) but it's obviously something we need to tackle
eventually. Copied in Hartmut, maybe he's got some insight?

>>But I see we don't currently have traceback2, so I'm fine with 1.4.0
>>for now just to avoid packaging it. The rest LGTM, let's get this
>>[python-testtools] in!
>
> OK!

...and the rest of this series ;-)

I wonder if we should update scipy and numpy while at it. Thoughts?


signature.asc
Description: PGP signature


Re: [PATCH] gnu: Add unetbootin.

2017-01-19 Thread Marius Bakke

> Could you check whether the package can be adjusted to use this FUSBi
> fork mentioned there, and send an updated patch?

Also note that the unetbootin distribution bundles a *lot* of
executables. I'm not sure if it's usable without them, or if FUSBi has
the same problem.


signature.asc
Description: PGP signature


python2-traceback2, python2-linecache2

2017-01-19 Thread Danny Milosavljevic
Hi,

> The traceback2 module works on python3 as well. I don't think patching
> imports will be necessary?

Maybe it works. However, I think it's silly to package a "traceback" module for 
Python 3.5 which is a backport of the "traceback" module included in the 
CPython 3.5 interpreter when we use the CPython 3.5 interpreter in the first 
place.

Same for python-linecache2.

Therefore, I would have another patchset which adds them for Python 2 only and 
patches them out otherwise (s/traceback2/traceback/g).

Adding them for Python 3.5 would just be asking for them to become outdated for 
no reason (they are part of Python 3.5 and will update with it - their origin 
is Python 3.5).

That said, I'm happy that this is being discussed - I'm not sure what the right 
way to go forward is.

>But I see we don't currently have traceback2, so I'm fine with 1.4.0 for now 
>just to avoid packaging it. The rest LGTM, let's get this [python-testtools] 
>in!

OK!



Ada compiler

2017-01-19 Thread Danny Milosavljevic
Hi,

would it be possible to provide the GCC Ada compiler?

I would do it myself - however, it seems that GNAT requires GNAT which is a 
bootstrapping problem.

diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index cfd33f85a..ef4136fa4 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -861,3 +861,18 @@ to be a tutorial of the language.  Rather, it outlines all 
of the constructs
 of the language.  Library functions are not included.")
 (home-page "http://www.gnu.org/software/gnu-c-manual";)
 (license fdl1.3+)))
+
+(define-public gnat-4.9
+  (custom-gcc gcc-4.9 "gnat" '("gnat")
+  %generic-search-paths))
+
+(define-public gnat-6
+  (custom-gcc gcc-6 "gnat" '("gnat")
+  %generic-search-paths))
+
+(define-public gnat
+  ;; Note: Update this when GCC changes!  We cannot use
+  ;; (custom-gcc gcc "gnat" …) because that would lead to a package object
+  ;; that is not 'eq?' with gnat-4.9, and thus 'fold-packages' would
+  ;; report two gnat@4.9 that are in fact identical.
+  gnat-4.9)



New nginx test!

2017-01-19 Thread Ludovic Courtès
To give you an incentive ;-), I’ve added a basic nginx test in commit
11f3885bb59cbdeec08a929996b4fc39b1746a3e.  It would be nice to extend it
to check support for upstream and location blocks, for instance.

Another thing that would be nice is documenting 
and undocumenting ‘nginx-service’ (the rationale being that we should
invite users to use ‘service’ forms directly instead of using procedures
like ‘nginx-service’ that hide the underlying data types.)

Ludo’.



Re: [PATCH 2/2] gnu: services: web: Add support for NGinx location blocks

2017-01-19 Thread Ludovic Courtès
Christopher Baines  skribis:

> * gnu/services/web.scm (): Add field locations.
> (): New record type.
> (): New record type.
> (nginx-location-config): New function.
> (default-nginx-server-config): Inlcude locations.
> * doc/guix.text (Web Services): Document the new nginx-location-configuration
> and nginx-named-location-configuration data types, as well as the changes to
> the nginx-server-configuration.

Applied, thanks!



Re: Installing guix packages without root permissions (in HPC environments)

2017-01-19 Thread Pjotr Prins
On Thu, Jan 19, 2017 at 12:55:30PM +0100, Ludovic Courtès wrote:
> For these “guix archive -f docker” may also be handy (and safer)?

I am known to dislike docker.

Pj.



running a shell script in a snippet

2017-01-19 Thread Ricardo Wurmus
Hi Guix,

Shogun comes with a script to remove all non-free source files and
sections.  Previously we removed the non-free code in a snippet with
some Guile code.  It would be better to use the upstream script, because
it’s hard to keep the Guile code in sync with upstream changes.

So I thought I could just run the script in the snippet, but there is no
shell at the time when the snippet is executed.

Patching and snippet application happens in an environment where the
result of “%standard-patch-inputs” (a procedure in “(guix packages)”)
is available.  If a package defines “patch-inputs” those inputs would be
available instead.

I tried to specify “patch-inputs” for shogun, but I cannot get this to
work.  This is the naive way:

--8<---cut here---start->8---
   (patch-inputs
`(("bash" ,bash)
  ("tar" ,tar)
  ("bzip2" ,bzip2)
  ("patch" ,patch)))
   (snippet
`(zero? (system* "bash" "scripts/light-scrubber.sh")))
--8<---cut here---end--->8---

It fails when trying to run “guix build -S shogun”:

--8<---cut here---start->8---
guix build: warning: failed to load '(gnu packages abiword)':
ERROR: Unbound variable: bash
guix build: warning: failed to load '(gnu packages avr)':
ERROR: In procedure module-lookup: Unbound variable: gcc
guix build: warning: failed to load '(gnu packages bioinformatics)':
ERROR: In procedure module-lookup: Unbound variable: perl-libwww
guix build: warning: failed to load '(gnu packages commencement)':
ERROR: In procedure module-lookup: Unbound variable: gnu-make
guix build: warning: failed to load '(gnu packages debug)':
ERROR: In procedure module-lookup: Unbound variable: gnu-make
guix build: warning: failed to load '(gnu packages embedded)':
ERROR: In procedure #: Unbound variable: cross-gcc
guix build: warning: failed to load '(gnu packages make-bootstrap)':
ERROR: In procedure module-lookup: Unbound variable: coreutils
guix build: warning: failed to load '(gnu packages mate)':
ERROR: In procedure module-lookup: Unbound variable: gtk+
guix build: warning: failed to load '(gnu packages u-boot)':
ERROR: no binding `bc' in module (gnu packages algebra)
guix build: warning: failed to load '(gnu packages unrtf)':
ERROR: In procedure module-lookup: Unbound variable: coreutils
guix build: error: shogun: unknown package
--8<---cut here---end--->8---

This looks like a dependency cycle, so lets try using “module-ref”.

--8<---cut here---start->8---
   (patch-inputs
`(("bash" ,(module-ref (resolve-interface '(gnu packages bash)) 'bash))
  ("tar" ...)
  ("bzip2" ...)
  ("patch" ...)))
--8<---cut here---end--->8---

No luck:

--8<---cut here---start->8---
guix build: warning: failed to load '(gnu packages abiword)':
ERROR: No variable named bash in #
...
--8<---cut here---end--->8---

Maybe the patch-inputs field must be thunked like “inputs”,
“native-inputs”, and “propagated-inputs” in the package record?

I changed the field to be thunked and changed “origin->derivation” to
unthunk the inputs before passing them to “patch-and-repack”, but here’s
the next problem: “patch-and-repack” doesn’t set the PATH to include all
patch-inputs.  This means that overriding “patch-inputs” gets me
nowhere.

So here’s a patch that triggers a rebuild of everything, which – I guess
— does the right thing.  Since it causes a rebuild of the world I
couldn’t actually confirm that it helps.

>From b2647c307165a995aa68dc9b83c533c6c05fabf2 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus 
Date: Thu, 19 Jan 2017 14:11:05 +0100
Subject: [PATCH] WIP: thunk patch-inputs.

* guix/packages.scm (): Mark "patch-inputs" as thunked.
(patch-and-repack): Add "bin" directories of all inputs to the PATH.
(origin->derivation): Unthunk patch inputs when necessary.
---
 guix/packages.scm | 12 
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/guix/packages.scm b/guix/packages.scm
index beb958f15..860b02849 100644
--- a/guix/packages.scm
+++ b/guix/packages.scm
@@ -166,7 +166,7 @@
   ;; Patching requires Guile, GNU Patch, and a few more.  These two fields are
   ;; used to specify these dependencies when needed.
   (patch-inputs origin-patch-inputs   ; input list or #f
-(default #f))
+(default #f) (thunked))
   (modules  origin-modules; list of module names
 (default '()))
 
@@ -518,8 +518,11 @@ specifies modules in scope when evaluating SNIPPET."
 (package-version locales
   (setlocale LC_ALL "en_US.utf8"))
 
-(setenv "PATH" (string-append #+xz "/bin" ":"
- 

Re: [PATCH 1/2] gnu: services: web: Add support for NGinx upstream module

2017-01-19 Thread Ludovic Courtès
Christopher Baines  skribis:

> * gnu/services/web.scm (): New record type.
> (): Add new field upstream-blocks.
> (nginx-upstream): New function.
> (default-nginx-config): Add upstream-list parameter.
> (nginx-service): Add optional upstream list keyword argument.
> * doc/guix.text (Web Services): Document the new nginx-upstream-configuration
> data type and changes to the nginx function.

Applied with minor changes: no “gnu:” in the subject line, and…

> +Data type representing the configuration of an nginx upstream block.

@code{upstream}, to make it clear that this is an nginx config term.

> +prefix @samp{unix:}. For addresses using an IP address or domain name,
   ^
Two spaces.

> "  index " (config-index-strings (nginx-server-configuration-index 
> server)) ";\n"
> "  server_tokens " (if (nginx-server-configuration-server-tokens? 
> server)
>"on" "off") ";\n"
> +(define (nginx-upstream-config upstream)
> +  (string-append
> +   "upstream " (nginx-upstream-configuration-name upstream) " {\n"
> +   (apply
> +string-append
> +(map (lambda (server)
> +   (simple-format #f "  server ~A;\n" server))
> + (nginx-upstream-configuration-servers upstream)))
> "}\n"))

Here there was a syntax error: the last line must also be kept in the
procedure just above the hunk.  I guess that was introduced while
rebasing patches or something.

Thanks!

Ludo’.



Re: [PATCH 2/2] gnu: Add libvterm.

2017-01-19 Thread Ludovic Courtès
Ricardo Wurmus  skribis:

> * gnu/packages/terminals.scm (libvterm): New variable.

[...]

> +it to draw on its behalf.  It avoids calling @code{malloc()} during

@code{malloc} without parens.  :-)

Otherwise LGTM!

Ludo’.



Re: [PATCH 1/2] gnu: Add unibilium.

2017-01-19 Thread Ludovic Courtès
Ricardo Wurmus  skribis:

> * gnu/packages/terminals.scm (unibilium): New variable.

[...]

> +(native-inputs
> + `(("libtool" ,libtool)))

Weird that it needs Libtool without also needing Autoconf and/or
Automake.

> +(home-page "https://github.com/mauke/unibilium";)
> +(synopsis "Terminfo parsing library")
> +(description "Unibilium is a very basic terminfo library.  It

s/very basic terminfo library/basic C terminfo library/

Otherise LGTM, thanks!

Ludo’.



Re: [PATCH v2 1/6] gnu: python-testtools: Update to 1.4.0.

2017-01-19 Thread Marius Bakke
Danny Milosavljevic  writes:

> On Wed, 18 Jan 2017 18:39:24 +0100
> Marius Bakke  wrote:
>
>> Danny Milosavljevic  writes:
>> 
>> > * gnu/packages/python.scm (python-testtools): Update to 1.4.0.  
>> 
>> Why not go with the latest version 2.2.0?
>
> It depends on traceback2 backports etc which means for our Python3
> version I have to patch out the traceback2 imports for Python3
> packages only - it's more complicated than 1.4.0.

The traceback2 module works on python3 as well. I don't think patching
imports will be necessary?

> If it's OK let's update to 1.4.0 now and update to 2.2.0 later?
> Otherwise I have the feeling I'd have to update and patch all Python
> packages before anything works :)

There is a moderate chance testtools-1.4.0, requests-2.12.4 and
sphinx-1.5.1 requires updating a bunch of python packages anyway :)

But I see we don't currently have traceback2, so I'm fine with 1.4.0
for now just to avoid packaging it. The rest LGTM, let's get this in!


signature.asc
Description: PGP signature


Re: [PATCH] gnu: Add ldc-1.1.0-beta6

2017-01-19 Thread Frederick Muriithi
On 19 Jan 2017 3:47 p.m., "Ludovic Courtès"  wrote:

... However, on my x86_64 machine, the build fails with:
--8<---cut here---start->8---
99% tests passed, 1 tests failed out of 751

Total Test time (real) = 2134.61 sec

The following tests FAILED:
235 - std.datetime (Failed)
Errors while running CTest
make: *** [Makefile:76: test] Error 8
--8<---cut here---end--->8---

Any idea what’s amiss?


If you have the time , look in builild/Testing/Temporary/Last test.log file
in the debug folder created by guix with the --keep-failed flag: If you
can't, I'll look at it when I get back to my computer.

Thanks.


Re: [PATCH] gnu: Add ldc-1.1.0-beta6

2017-01-19 Thread Ludovic Courtès
Hi Frederick,

Frederick Muriithi  skribis:

> On Thu, Jan 12, 2017 at 5:09 PM, Ludovic Courtès  wrote:
>> ...
>> The one last thing that’s missing as discussed at
>>  is
>> the comment at the top of .patch files (description and upstream
>> status).
>>
>> Could you do that?  I’ll happily commit for you afterwards.
>
> Apologies for the delay. Here is the updated patch. Added some
> comments in the patches.
> I hope those are good enough. Thank you for your patience with me as I
> learn, so far.

I made cosmetic adjustments to your patch (added the patches to
gnu/local.mk and a copyright line, changed file names to match our
convention, added missing punctuation), leading to the attached patch.

However, on my x86_64 machine, the build fails with:

--8<---cut here---start->8---
99% tests passed, 1 tests failed out of 751

Total Test time (real) = 2134.61 sec

The following tests FAILED:
235 - std.datetime (Failed)
Errors while running CTest
make: *** [Makefile:76: test] Error 8
--8<---cut here---end--->8---

Any idea what’s amiss?

Thanks,
Ludo’.

>From 38ca5e5158653ad75b73fd0ab62285e4d9f48519 Mon Sep 17 00:00:00 2001
From: Muriithi Frederick Muriuki 
Date: Fri, 6 Jan 2017 17:51:18 +0300
Subject: [PATCH 1/2] gnu: Add ldc@1.1.0-beta6.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* gnu/packages/ldc.scm (ldc-1.1.0-beta6, ldc-beta): New variables.
* gnu/packages/patches/ldc-1.1.0-disable-dmd-tests.patch: New file.
* gnu/packages/patches/ldc-1.1.0-disable-phobos-tests.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add them.

Signed-off-by: Ludovic Courtès 
---
 gnu/local.mk   |   2 +
 gnu/packages/ldc.scm   | 103 +
 .../patches/ldc-1.1.0-disable-dmd-tests.patch  |  35 ++
 .../patches/ldc-1.1.0-disable-phobos-tests.patch   | 414 +
 4 files changed, 554 insertions(+)
 create mode 100644 gnu/packages/patches/ldc-1.1.0-disable-dmd-tests.patch
 create mode 100644 gnu/packages/patches/ldc-1.1.0-disable-phobos-tests.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 217d31712..76be233e9 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -656,6 +656,8 @@ dist_patch_DATA =		\
   %D%/packages/patches/kobodeluxe-graphics-window-signed-char.patch	\
   %D%/packages/patches/laby-make-install.patch			\
   %D%/packages/patches/ldc-disable-tests.patch			\
+  %D%/packages/patches/ldc-1.1.0-disable-dmd-tests.patch	\
+  %D%/packages/patches/ldc-1.1.0-disable-phobos-tests.patch	\
   %D%/packages/patches/liba52-enable-pic.patch			\
   %D%/packages/patches/liba52-link-with-libm.patch		\
   %D%/packages/patches/liba52-set-soname.patch			\
diff --git a/gnu/packages/ldc.scm b/gnu/packages/ldc.scm
index 6ea7f664b..a1bdc586d 100644
--- a/gnu/packages/ldc.scm
+++ b/gnu/packages/ldc.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015, 2016 Roel Janssen 
 ;;; Copyright © 2015 Pjotr Prins 
+;;; Copyright © 2017 Frederick Muriithi 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -27,6 +28,7 @@
   #:use-module (gnu packages)
   #:use-module (gnu packages base)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages gdb)
   #:use-module (gnu packages libedit)
   #:use-module (gnu packages llvm)
   #:use-module (gnu packages python)
@@ -171,3 +173,104 @@ latest DMD frontend and uses LLVM as backend.")
 (license (list license:bsd-3
license:gpl2+
license:boost1.0
+
+
+(define-public ldc-1.1.0-beta6
+  ;; The phobos, druntime and dmd-testsuite dependencies do not have a newer
+  ;; release than 1.1.0-beta4, hence the need to make use of the older-version
+  ;; variable to hold this variable.
+  (let ((older-version "1.1.0-beta4"))
+(package
+  (inherit ldc)
+  (name "ldc")
+  (version "1.1.0-beta6")
+  ;; Beta version needed to compile various scientific tools that require
+  ;; the newer beta versions, and won't compile successfully with the
+  ;; older stable version.
+  (source (origin
+(method url-fetch)
+(uri (string-append
+  "https://github.com/ldc-developers/ldc/archive/v";
+  version ".tar.gz"))
+(file-name (string-append name "-" version ".tar.gz"))
+(sha256
+ (base32
+  "0n53brlkm86jjkppy9xmzx7nyxykzj68kcxgv8q7d10s5hfscxs8"
+  (arguments
+   `(#:phases
+ (modify-phases %standard-phases
+   (add-after 'unpack 'unpack-submodule-sources
+ (lambda* (#:key inputs #:allow-other-keys)
+   (let ((unpack (lambda (source target)
+   (with-directory-excursion target
+ (zero? 

Re: [PATCH] gnu: Add unetbootin.

2017-01-19 Thread Ludovic Courtès
Hi Jan!

I’d suggest these minor cosmetic changes:

diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index 71595bf3c..d922914e9 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -337,7 +337,8 @@ permit managing file systems not included in libparted.")
 (version "625")
 (source (origin
   (method url-fetch)
-  (uri (string-append "https://github.com/unetbootin/unetbootin/archive/";
+  (uri (string-append
+"https://github.com/unetbootin/unetbootin/archive/";
 version ".tar.gz"))
   (file-name (string-append name "-" version ".tar.gz"))
   (sha256
@@ -353,18 +354,19 @@ permit managing file systems not included in libparted.")
  (chdir "src/unetbootin")
  (system* "lupdate" "unetbootin.pro")
  (system* "lrelease" "unetbootin.pro")
- (system* "qmake")))
+ (zero? (system* "qmake"
  (replace 'install
(lambda* (#:key outputs #:allow-other-keys)
  (let* ((out (assoc-ref outputs "out"))
 (bin (string-append out "/bin")))
(mkdir-p bin)
-  (copy-file "unetbootin"
- (string-append bin "/unetbootin"
+   (install-file "unetbootin" bin)
+   #t))
 (inputs
  `(("qt-4" ,qt-4)))
 (home-page "https://unetbootin.github.io/";)
 (synopsis "Create bootable live USB images")
 (description
- "UNetbootin creates bootable Live USB images.")
+ "UNetbootin allows you to create bootable USB images from ISO-9660 CD/DVD
+images.")
 (license license:gpl2+)))

In addition, there’s one thing we need to fix from an FSDG perspective,
which is described here:
.

Could you check whether the package can be adjusted to use this FUSBi
fork mentioned there, and send an updated patch?

TIA!

Ludo’.



Re: [PATCH 1/2] gnu: dnsmasq: Enable dbus support

2017-01-19 Thread 宋文武
Christopher Baines  writes:

> * gnu/pacakges/dns.scm (dnsmasq): Enable dbus support to allow for
> NetworkManager to use dnsmasq.
> [native-inputs]: Add pkg-config.
> [inputs]: Add dbus.
> [arguments]: Add COPTS="-DHAVE_DBUS" to make-flags.
> ---
>  gnu/packages/dns.scm | 8 +++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
>

Applied, thanks!



Re: Encrypted root partition

2017-01-19 Thread Ludovic Courtès
Chris Marusich  skribis:

> l...@gnu.org (Ludovic Courtès) writes:
>
>> Chris Marusich  skribis:
>>
>>> l...@gnu.org (Ludovic Courtès) writes:
>>>
 Chris Marusich  skribis:

> Is anyone actively working on documenting the new encrypted root stuff?
> If not, I'm happy to try my hand at it.  I'm interested in trying to set
> it up on my laptop, anyway.

 I’ve added documentation in 2b5fea5ba3b07999cf198e1132ffcacbfcb7ed72.

 Please send a patch if you think of improvements that can be made.
>>>
>>> I'm happy to report that I was successful in setting up an encrypted
>>> root file system on my Libreboot laptop.  I have to enter the passphrase
>>> twice, but that's no different from the normal case (without Libreboot).
>>> It took me multiple days to get it working, though, because each time I
>>> tried to run "guix system init", it took over 8 hours to finish!
>>
>> Woow, was it building stuff, or was downloading super slow?  Was is a
>> desktop-style install?
>
> It was a desktop-style install.  Many packages were built from source,
> even though some were downloaded via substitutes, also.  It was
> particularly painful because I didn't know how to save and re-use the
> result of the first build attempt, so I'm sure I wasted a lot of time
> starting over and rebuilding the same packages a second time.

There’s currently no option to resume an install unfortunately.

I’m surprised though.  0.12.0 binaries are still available on
hydra.gnu.org AFAIK, or at least we (i.e., Mark) took the appropriate
measures to protect them from garbage collection.

I guess I should try a desktop install and see which substitutes are
missing.

Ludo’.



Re: [PATCH] gnu: Add opencascade-oce

2017-01-19 Thread Paul Garlick
Hello Marius,
Thank you for your review.
> I wonder if this could fit in "engineering.scm". Or maybe
> "geometry.scm"
> or "3d.scm". We try to avoid "single program" modules. What do you
> think?
Perhaps maths.scm is the best place, in order to avoid creating a new
module.  The Gmsh package is already there.  To check; am I right in
saying that a library in one module can be used as an input for a
package in another module?  For example, if FreeCAD were to be
packaged, and placed in engineering.scm, could it use opencascade-oce
as an input from maths.scm?
> > 
> > +(define-public opencascade-oce
> > +  (package
> > +(name "opencascade-oce")
> > +(version "0.17.2")
> > 

> 
> 
> Version 0.18 was released a few days ago!
> 

It would be useful to package both versions.  There is a difference in
the OpenGL graphics card requirements in going from version 0.17.2 to
0.18.
> > 
> > +(license license:lgpl2.1))) ; plus header files exception
> > 

> 
> 
> Please expand on the exception comment and mention
> OCCT_LGPL_EXCEPTION.txt. There are also some public domain files, and
> the bundled "gtest" is bsd-3. src/OpenGl/OpenGl_glext.h is distributed
> under the expat license. Some files generated by "bison" has GPL3+.
> 

I have added the information about the expat and BSD-3 licenses.  Can
you elaborate on the public domain files and Bison?
Best,
Paul.

Re: Installing guix packages without root permissions (in HPC environments)

2017-01-19 Thread Ludovic Courtès
Hi!

Pjotr Prins  skribis:

> On Wed, Jan 18, 2017 at 10:42:09PM +0100, Ludovic Courtès wrote:

[...]

>> Also, if we look at the big picture of non-root usage, this solution
>> addresses the most hostile environments: no user namespaces, no
>> container-spawning facility, no root guix-daemon, etc.  Granted, these
>> hostile environments are still commonplace in HPC, so that’s good.  :-)
>
> Yes, if this works it will be rather good and create awareness for
> Guix. Another use-case may be firefox plugins - or other software that
> wants to install binaries.  Maybe they'll wake up to guix too. From a
> developers point of view Guix is awesome because it creates
> reproducible environments that we can develop against. What more do we
> need ;). We are now using it for a bug hunt on sambamba which only
> segfaults on particular HPC setups. The guix relocatable installer is
> going to help.

Indeed.

> I'll take the installer to the level that we can do one-step installs
> and provide a few packages for download to reach out to certain
> communities (dlang and elixir come to mind).

For these “guix archive -f docker” may also be handy (and safer)?

Cheers,
Ludo’.



Add reducelcs.

2017-01-19 Thread contact . ng0
This adds reducelcs, rebased the patch since it has aparently been ignored 
since semptember.
The home-page links to a list of applications which provides a link to the 
source code on github, should be switched to the repository url if this is 
wrong.




[PATCH] gnu: Add reducelcs.

2017-01-19 Thread contact . ng0
From: ng0 

* gnu/packages/lcs.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add lcs.scm.
---
 gnu/local.mk |  1 +
 gnu/packages/lcs.scm | 67 
 2 files changed, 68 insertions(+)
 create mode 100644 gnu/packages/lcs.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index 217d31712..0e915cb32 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -203,6 +203,7 @@ GNU_SYSTEM_MODULES =\
   %D%/packages/key-mon.scm \
   %D%/packages/kodi.scm\
   %D%/packages/language.scm\
+  %D%/packages/lcs.scm  \
   %D%/packages/ldc.scm \
   %D%/packages/lego.scm\
   %D%/packages/less.scm\
diff --git a/gnu/packages/lcs.scm b/gnu/packages/lcs.scm
new file mode 100644
index 0..6b00098ae
--- /dev/null
+++ b/gnu/packages/lcs.scm
@@ -0,0 +1,67 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2017 ng0 
+;;;
+;;; 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 (gnu packages lcs)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages maths)
+  #:use-module (guix git-download)
+  #:use-module (guix build-system gnu))
+
+(define-public reducelcs
+  ;; This is the last commit which is available upstream, no
+  ;; tarball release happened since 2010.
+  (let ((commit "474f88deb968061abe8cf11c959e02319b8ae5c0")
+(revision "1"))
+(package
+  (name "reducelcs")
+  (version (string-append "0.0.0-" revision "." (string-take commit 7)))
+  (source
+   (origin
+ (method git-fetch)
+ (uri (git-reference
+   (url "https://github.com/gdv/Reduce-Expand-for-LCS";)
+   (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+  (base32
+   "1rllzcfwc042c336mhq262a8ha90x6afq30kvk60r7i4761j4yjm"
+  (build-system gnu-build-system)
+  (inputs
+   `(("openlibm" ,openlibm)))
+  (arguments
+   `(#:tests? #f ; no tests
+ #:phases
+ (modify-phases %standard-phases
+   (delete 'configure) ; no configure script
+   (replace 'install ; no install phase either
+ (lambda* (#:key outputs #:allow-other-keys)
+   (let* ((out (assoc-ref outputs "out"))
+  (bin (string-append out "/bin")))
+ (install-file "Approximation" bin)
+ (install-file "CollectResults" bin)
+ (install-file "GenerateInstances" bin)
+ #t))
+  (synopsis "Approximate Longest Commons Subsequence computation tool")
+  (description
+   "@code{reduceLCS} is an implementation of the Reduce-Expand
+algorithm for LCS.  It is a fast program to compute the approximate
+Longest Commons Subsequence of a set of strings.")
+  (home-page "http://gianluca.dellavedova.org/software/";)
+  (license license:gpl2
-- 
2.11.0




Re: [PATCH 2/2] gnu: Add openvpn service.

2017-01-19 Thread Ludovic Courtès
Alex Kost  skribis:

> Ludovic Courtès (2017-01-15 23:11 +0100) wrote:
>
>> Alex Kost  skribis:
>>
>>> Ludovic Courtès (2017-01-14 22:16 +0100) wrote:
>>>
> +(define (uglify-field-name name)
> +  (match name
> + ('verbosity "verb")
> + (_ (let ((str (symbol->string name)))
> +  (if (string-suffix? "?" str)
> +  (substring str 0 (1- (string-length str)))
> +  str)

 Not sure why but indent-code.el got ‘match’ indentation wrong, although
 it works for me.  Alex, any ideas?
>>>
>>> Because 'scheme-mode' does not provide indentation rules for 'match'
>>> (and many other keywords).  Geiser indents 'match' properly for you.
>>
>> I see.  So maybe we should just add a rule for ‘match’ in
>> .dir-locals.el; any downside to that?
>
> I'm against it, as I think ".dir-locals.el" should contain only elisp
> stuff *specific* to a project.  So I would rather do an opposite, i.e. I
> would remove 'lambda*', 'eval-when', 'call-with-prompt',
> 'call-with-input-string' and 'test-*' from the .dir-locals (all of these
> keywords are handled by Geiser but not by scheme-mode).

Yeah.

> But if you consider to add it, then also add 'when', 'unless',
> 'match-lambda', 'case-lambda', 'and-let*', 'with-output-to-string',
> 'with-input-from-string' 'call-with-output-string'.  All these are not
> handled by scheme-mode (but handled by Geiser).

I don’t know, do you think we should put these in a different file?  How
would that work?

The problem is that people using indent-code.el typically have raw Emacs
with scheme-mode, but most likely without Geiser and Emacs-Guix.  So we
need a mechanism that works in that case.

Thanks for your feedback!

Ludo’.



Re: Anomalies in Python search-path

2017-01-19 Thread Ludovic Courtès
Hartmut Goebel  skribis:

> Am 15.01.2017 um 23:10 schrieb Ludovic Courtès:
>>> > My last reporting that pip was working correctly in non-environment was
>>> > wrong because I had failed to logout/login after installing the python
>>> > package; after doing so, the behavior is the same as in an environment:
>>> > the user site location (~/.local/...) comes after site-packages rather
>>> > than before, as would normally be the case. Apparently this is due to
>>> > setting a site-packages location with the environment variable
>>> > PYTHONPATH, which has precedence over the user site location.
>> ~/.guix-profile/etc/profile prepends things to the search paths, but
>> it’s up to the user whether to source it before or after other
>> definitions have been provided (in .bash_profile or similar).
>
> Maxim is talking about how python is processing the paths.
>
> The "normal" order is:
> - $PYTHONPATH  (which normaly does not include site-packages)
> - Python Standard library (not including site-packages)
> - user's site-packages (~/.local/lib/python3.4/site-packages)
> - global site-packages (/usr/lib/python3.4/site-packages)
>
> The user's site-packages take precedence over the global ones.
>
> In Guix we currently use PYTHONPATH to add global site-packages. Since
> PYTHONPATH parts are put in front of the search list, they take
> precedence over the user's site-packages. And this behaviour is wrong.

Oh, I see.

I’m not sure what can be done on our side.  PYTHONPATH is the only thing
we can influence.

It looks like the notion of “global site-packages” only applies to FHS
systems and makes little sense for us.  If there were, say, a
PYTHONSITEPATH in lieu of this “global site-packages” thing, we could
use that.

Ludo’.



  1   2   >