[PATCH] gnu: nano: Update to 2.7.0.

2016-09-03 Thread rennes

This is a patch to update the version of nano to 2.7.0.
Built, linted and tested on Linux and the Hurd systems.

ThanksFrom 285a74b1de29f4aa97cfbaf95c3d9ab2d9a4b955 Mon Sep 17 00:00:00 2001
From: Rene Saavedra 
Date: Sun, 4 Sep 2016 00:05:11 -0500
Subject: [PATCH] gnu: nano: Update to 2.7.0.

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

diff --git a/gnu/packages/nano.scm b/gnu/packages/nano.scm
index eabfaa5..3c4c699 100644
--- a/gnu/packages/nano.scm
+++ b/gnu/packages/nano.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2012 Nikita Karetnikov 
 ;;; Copyright © 2015, 2016 Efraim Flashner 
+;;; Copyright © 2016 Rene Saavedra 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -28,7 +29,7 @@
 (define-public nano
   (package
 (name "nano")
-(version "2.5.3")
+(version "2.7.0")
 (source
  (origin
   (method url-fetch)
@@ -36,7 +37,7 @@
   version ".tar.gz"))
   (sha256
(base32
-"1vhjrcydcfxqq1719vcsvqqnbjbq2523m00dhzag5vwzkc961c5j"
+"1hzazcrbwjqiw89jjvlj97q0wf385qqkzcm0870pdrixiv7yklax"
 (build-system gnu-build-system)
 (inputs
  `(("gettext" ,gnu-gettext)
-- 
2.6.3



Re: [PATCH 1/1] gnu: Add acme-client.

2016-09-03 Thread Marius Bakke
Leo Famulari  writes:

> On Sat, Sep 03, 2016 at 11:32:20AM +0100, Marius Bakke wrote:
>> Many distros prefix OpenBSD projects with ambigous names with
>> "openbsd-". E.g. "openbsd-netcat", "openbsd-ntpd" etc. We don't appear
>> to have that problem yet, but I think this could be a good precedent.
>
> Is "openbsd-ntpd" the same thing as OpenNTPD? [0]
>
> As for openbsd-netcat, this was discussed on guix-devel recently, and we
> learned that OpenBSD does not provide a portable release of their netcat
> client. I don't think it would be appropriate for us to re-package
> Debian's unmaintained port of this software. [1]
>
> I looked at `apt-cache search openbsd`, which searches my Debian package
> cache for packages related to OpenBSD. I *think* that there isn't
> anything packaged with an "openbsd-" name that OpenBSD offers a portable
> release of, but I'm not sure about openbsd-inetd.
>
> On the other hand, they explicitly provide portable releases of things
> like OpenNTPD, OpenSSH, LibreSSL, and now acme-client.

You are right, of course. I could have sworn there were more. And I even
use OpenNTPD on many systems..

The other acme-client projects seems to be mostly library
implementations with a CLI frontend and are likely to end up as
"ruby-acme-client" or similar in the tree. So "acme-client" should be
perfectly fine. If anything we'll get to have a new bikeshedding round
if another popular client with the same name comes around. :)

~marius



Re: [PATCH] gnu: Add linux-pam.

2016-09-03 Thread rennes

On 2016-08-27 03:00, Ricardo Wurmus wrote:


Would you like to try to get the patch accepted upstream by the
developers of linux-pam?  If I remember correctly, a lot of the patches
for Debian Hurd are in need of being sent upstream, so getting the 
patch

accepted would be the best for all involved projects.



Apologizes for the delay, I request to pam developers team but I still 
don't have answer.




Re: [PATCH 0/1] OpenSSL 1.1.0

2016-09-03 Thread Leo Famulari
On Sat, Sep 03, 2016 at 10:20:49PM -0400, Leo Famulari wrote:
> On Sat, Sep 03, 2016 at 04:34:51PM +0200, Ludovic Courtès wrote:
> > Yes, but as long the ‘openssl’ refers to 1.0.x, it doesn’t really matter
> > than the “openssl” package points to the latest one, no?  Use can still
> > run “guix package -i openssl@1.0” if they want.
> 
> Oh, right :)
> 
> I've attached a patch for review.

By the way, if you run `guix lint`, you will see a warning about
CVE-2016-2183. I think we will be unaffected; this vulnerability will
only manifest if we build with "--enable-weak-ssl-ciphers".

https://www.openssl.org/blog/blog/2016/08/24/sweet32/



Re: [PATCH 1/1] gnu: Add acme-client.

2016-09-03 Thread Leo Famulari
On Sat, Sep 03, 2016 at 11:32:20AM +0100, Marius Bakke wrote:
> Many distros prefix OpenBSD projects with ambigous names with
> "openbsd-". E.g. "openbsd-netcat", "openbsd-ntpd" etc. We don't appear
> to have that problem yet, but I think this could be a good precedent.

Is "openbsd-ntpd" the same thing as OpenNTPD? [0]

As for openbsd-netcat, this was discussed on guix-devel recently, and we
learned that OpenBSD does not provide a portable release of their netcat
client. I don't think it would be appropriate for us to re-package
Debian's unmaintained port of this software. [1]

I looked at `apt-cache search openbsd`, which searches my Debian package
cache for packages related to OpenBSD. I *think* that there isn't
anything packaged with an "openbsd-" name that OpenBSD offers a portable
release of, but I'm not sure about openbsd-inetd.

On the other hand, they explicitly provide portable releases of things
like OpenNTPD, OpenSSH, LibreSSL, and now acme-client.

They really pushed the issue with this "acme-client". Maybe they should
have kept the old name, letskencrypt, for the sake of all the GNU /
Linux distros :)

[0]
http://www.openntpd.org/

[1]
http://lists.gnu.org/archive/html/guix-devel/2016-07/msg00084.html



Re: Tracking package submissions with Debbugs

2016-09-03 Thread Alex Vong
Efraim Flashner  writes:

> On Fri, Sep 02, 2016 at 02:39:12PM +0200, Ludovic Courtès wrote:
>> Hi Alex!
>> 
>> Alex Vong  skribis:
>> 
>> > While it may not be as user-friendly as web-based bug tracker these
>> > days, I think the Debian bug tracking system is still better than our
>> > current approach. In Debian, everything is a package. It is like a
>> > language primitive in the bug tracker system.
>> >
>> >
>> > There is an "intended to package" (ITP) package. When you want to
>> > package something, you simply file a bug against the ITP package. This
>> > has the advantage that, the relevant information stays within the bug
>> > report. So everyone can see the whole process, starting from someone
>> > intending to package, to a fully reviewed package, all in a single bug
>> > report. It is like having "lexical scoping".
>> 
>> And we all like lexical scoping.  :-)
>
> I think it would make sense to have the one bug report for the "target
> package" and then all the packages that get pulled in along the way get
> tacked on also.
>
Hmm, but what if we have 2 target packages (A, B) pulling the same
package (C) in? Then it is not obvious if C should live in A's or B's
bug report. What do you think?

>> 
>> > And the most important argument comes: We already have it now[0]! So,
>> > this could be a working intermediate solution. Currently, we are not
>> > using debbugs to its full potential.
>> >
>> >
>> > My suggestion will be to create a new package called "guix-package", and
>> > all people hoping to introduce a new package to guix should file a bug
>> > report to . If you are new to this type of bug
>> > tracking system, no problem! There is (some) documentation on it[1][2]
>> > and here is my own little example[3].
>> 
>> I think this is a good idea, at least an improvement over the status
>> quo.
>> 
>> I suppose it wouldn’t handle patch series very well though, would it?
>> Or people would have to send the “cover letter” of the series first, and
>> then send the rest to n...@debbugs.gnu.org once a number has been
>> assigned?
>> 
>
> This seems like the best idea, otherwise we'd have to reassign and merge
> all the patches.
>
>> What’s unclear to me is how convenient Debbugs is for non-Emacs users:
>> Emacs has M-x debbugs-gnu, which is a significant UI improvement, but
>> how do non-Emacs users deal with Debbugs?
>> 
>
> This is one of my concerns. There's reportbug (and reportbug-ng) in
> Debian https://reportbug-ng.alioth.debian.org/index.html that we might
> be able to use after forking/patching our info in for Debian's.
>
Perhaps we can have guix reportbug!

>> Thanks,
>> Ludo’.
>> 



Re: [PATCH 1/1] gnu: Add acme-client.

2016-09-03 Thread Leo Famulari
On Sat, Sep 03, 2016 at 12:04:13PM +0200, Andreas Enge wrote:
> Is there other reasonably widely used software with this name? Our package
> guidelines say to use the upstream name.

Here is what I found:

https://github.com/kristapsdz/acme-client
The program I have proposed to package.

https://github.com/unixcharles/acme-client
Written in Ruby. Appears active.

https://github.com/kelunik/acme-client
Written in PHP. Appears active.

https://github.com/zero11it/acme-client
Written in Java. No recent activity and only 8 commits to the Git repo.



Re: Tracking package submissions with Debbugs

2016-09-03 Thread Alex Vong
l...@gnu.org (Ludovic Courtès) writes:

> Alex Vong  skribis:
>
>> Ricardo Wurmus  writes:
>>
>>> Ludovic Courtès  writes:
>>>
 I suppose it wouldn’t handle patch series very well though, would it?
 Or people would have to send the “cover letter” of the series first, and
 then send the rest to n...@debbugs.gnu.org once a number has been
 assigned?
>>>
>>> Or could we have a bug per module?  Then the whole patch series could be
>>> sent to the bug id of the module.  But I guess this would make it harder
>>> to keep track of individual package submissions again, because bug would
>>> rarely ever be closed when there are lots of patches to the same module.
>>>
>> Yes, I think it will make it harder to keep track of individual
>> package. Is there a way to configure git-sendmail to do what we want?
>>
>> Here is a related idea. If we were to send all packaging bug reports to
>> a single package (e.g. guix-package), then it will make it impossible to
>> browse from a web browser. The situation is similar to the slowness of
>> our Packages page[0]. So instead of having a bug per module, should we
>> have a package per module (e.g. guix-package-emacs, guix-package-maths,
>> guix-package-shells ...)?
>
> I think that wouldn’t scale, and would also prevent us to have a global
> view of all the pending submissions (not to mention that debbugs.gnu.org
> is administered by non-Guix people and they’d quickly be annoyed ;-)).
>
> So, let’s ask for guix-pack...@gnu.org (or guix-patc...@gnu.org?) to
> begin with?
>
I see. Right now, emacs has about 3766 non-archived bugs, and it takes
12 - 15 seconds to load the bug page in tor browser / firefox, which is
still acceptable. Guix now has about 3958 packages, so I will guess it
will take similar time to load? 

About scalibility, I also find that the split will make it difficult to
search for a particular package, since the web-based interface only
support for searching up to 2 packages at once. So yes, I think we
should ask for guix-pack...@gnu.org to begin.

 What’s unclear to me is how convenient Debbugs is for non-Emacs users:
 Emacs has M-x debbugs-gnu, which is a significant UI improvement, but
 how do non-Emacs users deal with Debbugs?
>>>
>>> Outside of Emacs I only ever used Debbugs in read-only fashion.  The web
>>> interface is not very pretty but it’s functional and looks better than
>>> the default mailman interface.
>>>
>> Yes, it is still email-based. The web interface is read-only, you can
>> search for bug reports in a package[1]. To reply to it, you send email
>> to . For non-emacs users, this means
>> they have to use email client to communicate and web browser to search /
>> read bugs.
>
> Yeah well, better than the Mailman interface.
>
I forget to mention: This reminds me of the old joke: Emacs is an
operating system that needs a better editor :)

> Thanks,
> Ludo’.



Re: [PATCH 0/1] OpenSSL 1.1.0

2016-09-03 Thread Leo Famulari
On Sat, Sep 03, 2016 at 04:34:51PM +0200, Ludovic Courtès wrote:
> Yes, but as long the ‘openssl’ refers to 1.0.x, it doesn’t really matter
> than the “openssl” package points to the latest one, no?  Use can still
> run “guix package -i openssl@1.0” if they want.

Oh, right :)

I've attached a patch for review.
>From 2e6f500c7876733206e231fd98ebe7419d9b076f Mon Sep 17 00:00:00 2001
From: Leo Famulari 
Date: Fri, 2 Sep 2016 16:07:29 -0400
Subject: [PATCH] gnu: Add openssl-next.

* gnu/packages/tls.scm (openssl-next): New variable.
* gnu/packages/patches/openssl-1.1.0-c-rehash-in.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
---
 gnu/local.mk   |   1 +
 .../patches/openssl-1.1.0-c-rehash-in.patch|  19 
 gnu/packages/tls.scm   | 110 +
 3 files changed, 130 insertions(+)
 create mode 100644 gnu/packages/patches/openssl-1.1.0-c-rehash-in.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index efb00b9..0c2740d 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -699,6 +699,7 @@ dist_patch_DATA =   
\
   %D%/packages/patches/openjpeg-CVE-2015-6581.patch\
   %D%/packages/patches/openjpeg-use-after-free-fix.patch   \
   %D%/packages/patches/openssl-runpath.patch   \
+  %D%/packages/patches/openssl-1.1.0-c-rehash-in.patch \
   %D%/packages/patches/openssl-c-rehash-in.patch   \
   %D%/packages/patches/openssl-CVE-2016-2177.patch \
   %D%/packages/patches/openssl-CVE-2016-2178.patch \
diff --git a/gnu/packages/patches/openssl-1.1.0-c-rehash-in.patch 
b/gnu/packages/patches/openssl-1.1.0-c-rehash-in.patch
new file mode 100644
index 000..e3a982b
--- /dev/null
+++ b/gnu/packages/patches/openssl-1.1.0-c-rehash-in.patch
@@ -0,0 +1,19 @@
+This patch removes the explicit reference to the 'perl' binary,
+such that OpenSSL does not retain a reference to Perl.
+
+The 'c_rehash' program is seldom used, but it is used nonetheless
+to create symbolic links to certificates, for instance in the 'nss-certs'
+package.
+
+diff --git a/tools/c_rehash.in b/tools/c_rehash.in
+index 2fef627..9d40eae 100644
+--- a/tools/c_rehash.in
 b/tools/c_rehash.in
+@@ -1,4 +1,6 @@
+-#!{- $config{hashbangperl} -}
++eval '(exit $?0)' && eval 'exec perl -wS "$0" ${1+"$@"}'
++  & eval 'exec perl -wS "$0" $argv:q'
++if 0;
+ 
+ # {- join("\n# ", @autowarntext) -}
+ # Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved.
diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index 4b87150..040a48a 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -323,6 +323,116 @@ required structures.")
(license license:openssl)
(home-page "http://www.openssl.org/;)))
 
+(define-public openssl-next
+  (package
+(inherit openssl)
+(name "openssl")
+(version "1.1.0")
+(source (origin
+ (method url-fetch)
+ (uri (list (string-append "ftp://ftp.openssl.org/source/;
+   name "-" version ".tar.gz")
+(string-append "ftp://ftp.openssl.org/source/old/;
+   (string-trim-right version 
char-set:letter)
+   "/" name "-" version ".tar.gz")))
+  (patches (search-patches "openssl-1.1.0-c-rehash-in.patch"))
+  (sha256
+   (base32
+"10lcpmnxap9nw8ymdglys93cgkwd1lf1rz4fhq5whwhlmkwrzipm"
+(outputs '("out"
+   "doc";1.3MiB of man3 pages
+   "static"))   ; 5.5MiB of .a files
+(arguments
+ `(#:disallowed-references (,perl)
+   #:parallel-build? #f
+   #:parallel-tests? #f
+   #:test-target "test"
+
+   ;; Changes to OpenSSL sometimes cause Perl to "sneak in" to the closure,
+   ;; so we explicitly disallow it here.
+   #:disallowed-references ,(list (canonical-package perl))
+   #:phases
+   (modify-phases %standard-phases
+ (add-after 'configure 'patch-runpath
+   (lambda* (#:key outputs #:allow-other-keys)
+ (let ((lib (string-append (assoc-ref outputs "out") "/lib")))
+   (substitute* "Makefile.shared"
+ (("\\$\\$\\{SHAREDCMD\\} \\$\\$\\{SHAREDFLAGS\\}")
+  (string-append "$${SHAREDCMD} $${SHAREDFLAGS}"
+ " -Wl,-rpath," lib)))
+   #t)))
+ (replace
+  'configure
+  (lambda* (#:key outputs #:allow-other-keys)
+(let ((out (assoc-ref outputs "out")))
+  (zero?
+   (system* "./config"
+"shared"   ;build shared libraries
+"--libdir=lib"
+
+;; The default for this catch-all directory is
+;; PREFIX/ssl.  Change that to something more

Re: [PATCH] gnu: Add pybitmessage, [PATCH] gnu: Add python2-pyqt-4, [PATCH] gnu: gnu: messaging: Use license: prefix.

2016-09-03 Thread Andreas Enge
On Sat, Sep 03, 2016 at 04:47:52PM +, ng0 wrote:
> Upstream is aware of this and told me they are working on a port towards
> qt5 and also python3. However there is no deadline. It is their
> choice. As I recently read there are people using Guix who are
> interested in using PyBitmessage.
> This package is usable, license fits, I find this block you create a bit
> harsh. I can understand it, but does it mean that you are against adding
> it at all because of qt4?

I am not blocking, it is just a bit frustrating to go backwards! If there
is no other solution and no easy replacement for the package you wish to add,
we could revert my previous commit. I am just feeling uneasy about packages
that are not maintained by upstream and do not receive security updates
any more.

Andreas




Re: [PATCH] gnu: Add libicns

2016-09-03 Thread Brendan Tildesley
On 2016-09-04 04:59, Marius Bakke wrote:
> Brendan Tildesley  writes:
>
>> On 2016-09-03 22:38, Marius Bakke wrote:
>>> Marius Bakke  writes:
>>>
 Additionally this package bundles "m4" even if it doesn't use it. Can
 you remove it with a "origin" snippet? See e.g. "xcb-util-xrm" for how
 that's done.
>>> My mistake, it does appear to use those files, and it's not actually m4.
>>> I think using the generated libtool is probably OK.
>>>
>>> Alternatively it can be re-generated by adding a phase that invokes
>>> "autoreconf -vif". I'm not actually sure if this is desired, so just
>>> leave it for now.
>>>
>>> Thank you,
>>> Marius
>> Ah, well that lost me a bit of time.
> Sorry about that! Now it re-generates libtool and friends, so it doesn't
> hurt, at least. I only have a couple of remarks, and then someone with
> commit access can take a final glance.
>
>> From b04ad5e40ac5befe30832ffbcf3b4283b4ae1d63 Mon Sep 17 00:00:00 2001
>> From: Brendan Tildesley 
>> Date: Sat, 3 Sep 2016 05:53:56 +1000
>> Subject: [PATCH] gnu: Add libicns.
>>
>> * gnu/packages/image.scm (libicns): New variable.
>> ---
>>  gnu/packages/image.scm | 40 
>>  1 file changed, 40 insertions(+)
>>
>> diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
>> index 4fdc4ae..1b21306 100644
>> --- a/gnu/packages/image.scm
>> +++ b/gnu/packages/image.scm
>> @@ -48,6 +48,7 @@
>>#:use-module (guix download)
>>#:use-module (guix build-system gnu)
>>#:use-module (guix build-system cmake)
>> +  #:use-module (guix utils)
> I don't think this is required.
>
>>#:use-module (srfi srfi-1))
>>  
>>  (define-public libpng
>> @@ -147,6 +148,45 @@ maximum quality factor.")
>> (license license:gpl2+)
>> (home-page "http://www.kokkonen.net/tjko/projects.html#jpegoptim;)))
>>  
>> +(define-public libicns
>> +  (package
>> +(name "libicns")
>> +(version "0.8.1")
>> +(source (origin
>> + (method url-fetch)
>> + (uri (string-append
>> +   "mirror://sourceforge/icns/libicns-" version ".tar.gz"))
>> + (sha256 (base32
>> +  
>> "1hjm8lwap7bjyyxsyi94fh5817xzqhk4kb5y0b7mb6675xw10prk"
>> +(build-system gnu-build-system)
>> +(inputs
>> + `(("libpng" ,libpng-1.2)
> It built fine with the latest libpng, is there a specific reason to use
> this version?
>
I just notice the configure script wasn't looking for any newer version.
I was using icns2png to
extract png file, but probably wasn't utilising libpng to do this? as
you can see it is built without
support for larger icons, but I never used that feature. This is old
software that hasn't been
updated since 2012. Perhaps it could be made to work but I wouldn't know
myself. Depends on the
standards of Guix developers.

checking libpng/png.h usability... no
checking libpng/png.h presence... no
checking for libpng/png.h... no
checking libpng10/png.h usability... no
checking libpng10/png.h presence... no
checking for libpng10/png.h... no
checking libpng12/png.h usability... yes
checking libpng12/png.h presence... yes
checking for libpng12/png.h... yes
checking for jas_init in -ljasper... no
checking for opj_setup_decoder in -lopenjpeg2... no
checking for opj_setup_decoder in -lopenjpeg... no
configure: WARNING: libopenjpeg or libjasper jp2000 codec libraries not
found
configure: WARNING: libicns will be built without 256x256 and 512x512
support

>
> The rest of the patch looks good to me.
>
> Thanks again!
> Marius

Thanks. If I posted a fix, I'd just end up making some new mistakes, so
I'll just leave it to be added!




Re: Feedback, ideas, discussion: tracking patches, discussions, bugs.

2016-09-03 Thread Brendan Tildesley
On 2016-09-04 02:55, David Craven wrote:
>> Today was pretty much an E-mail overload on the ML. In itself amazing :)
> I agree. If you aren't a full time guix developer it's hard to keep
> up. The only way I can keep up is by marking the emails I'm not
> interested in quickly as read =P Just reading all emails is a time
> commitment in itself...
>
I was going to post a patch over several files removing redundant
mkdir-p expressions,

but decided against it! If you run something like  `ack '\(install-file'
-B 7| ack  'mkdir-p' -A 7'

You can see them, since install-file already contains a mkdir-p. Also It
seems like

(let ((out  (assoc-ref outputs "out")))...) is set in almost every
package definition,

as if having some symbol for the outputs already might be more efficient??





Re: [PATCH] gnu: Add libicns

2016-09-03 Thread Marius Bakke
Brendan Tildesley  writes:

> On 2016-09-03 22:38, Marius Bakke wrote:
>> Marius Bakke  writes:
>>
>>> Additionally this package bundles "m4" even if it doesn't use it. Can
>>> you remove it with a "origin" snippet? See e.g. "xcb-util-xrm" for how
>>> that's done.
>> My mistake, it does appear to use those files, and it's not actually m4.
>> I think using the generated libtool is probably OK.
>>
>> Alternatively it can be re-generated by adding a phase that invokes
>> "autoreconf -vif". I'm not actually sure if this is desired, so just
>> leave it for now.
>>
>> Thank you,
>> Marius
>
> Ah, well that lost me a bit of time.

Sorry about that! Now it re-generates libtool and friends, so it doesn't
hurt, at least. I only have a couple of remarks, and then someone with
commit access can take a final glance.

> From b04ad5e40ac5befe30832ffbcf3b4283b4ae1d63 Mon Sep 17 00:00:00 2001
> From: Brendan Tildesley 
> Date: Sat, 3 Sep 2016 05:53:56 +1000
> Subject: [PATCH] gnu: Add libicns.
>
> * gnu/packages/image.scm (libicns): New variable.
> ---
>  gnu/packages/image.scm | 40 
>  1 file changed, 40 insertions(+)
>
> diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
> index 4fdc4ae..1b21306 100644
> --- a/gnu/packages/image.scm
> +++ b/gnu/packages/image.scm
> @@ -48,6 +48,7 @@
>#:use-module (guix download)
>#:use-module (guix build-system gnu)
>#:use-module (guix build-system cmake)
> +  #:use-module (guix utils)

I don't think this is required.

>#:use-module (srfi srfi-1))
>  
>  (define-public libpng
> @@ -147,6 +148,45 @@ maximum quality factor.")
> (license license:gpl2+)
> (home-page "http://www.kokkonen.net/tjko/projects.html#jpegoptim;)))
>  
> +(define-public libicns
> +  (package
> +(name "libicns")
> +(version "0.8.1")
> +(source (origin
> + (method url-fetch)
> + (uri (string-append
> +   "mirror://sourceforge/icns/libicns-" version ".tar.gz"))
> + (sha256 (base32
> +  
> "1hjm8lwap7bjyyxsyi94fh5817xzqhk4kb5y0b7mb6675xw10prk"
> +(build-system gnu-build-system)
> +(inputs
> + `(("libpng" ,libpng-1.2)

It built fine with the latest libpng, is there a specific reason to use
this version?

> +   ("jasper" ,jasper)))
> +(native-inputs
> + `(("autoconf" ,autoconf)
> +   ("automake" ,automake)
> +   ("libtool" ,libtool)))
> +(arguments
> + ;; no tests
> + `(#:tests? #f

Typically we add the "no tests" remark at the end of the line, i.e.
`(#:tests? #f ; No tests.

> +   #:phases
> +   (modify-phases %standard-phases
> + (add-before 'configure 'autoconf

I would call this phase "autoreconf", since autoconf is another tool.

> +   (lambda _
> + (zero? (system* "autoreconf" "-vfi")))
> +(home-page "http://icns.sourceforge.net/;)
> +(synopsis "Library for handling Mac OS icns resource files")
> +(description
> + "Libicns is a library for the manipulation of Mac OS IconFamily resource
> +type files (ICNS).  @command{icns2png} and @command{png2icns} are provided to
> +convert between PNG and ICNS. @command{icns2png} will extract image files 
> from
> +ICNS files under names like \"Foo_48x48x32.png\" useful for installing for 
> use
> +with .desktop files.  Additionally, @Command{icontainer2png} is provided for
  ^^^
 This probably should not be capitalized.

> +extracting icontainer icon files.")
> +(license (list license:lgpl2.1+ ; libicns
> +   license:lgpl2.0+ ; src/apidocs.*
> +   license:gpl2+; icns2png, png2icns, icontainer2png

The rest of the patch looks good to me.

Thanks again!
Marius



[PATCH] gnu: dtc: Update to 1.4.2. Remove patches since they are integrated upstream now.

2016-09-03 Thread Danny Milosavljevic
---
 gnu/local.mk   |  1 -
 .../patches/dtc-add-missing-symbols-to-lds.patch   | 59 --
 gnu/packages/u-boot.scm|  6 +--
 3 files changed, 2 insertions(+), 64 deletions(-)
 delete mode 100644 gnu/packages/patches/dtc-add-missing-symbols-to-lds.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index efb00b9..8179920 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -483,7 +483,6 @@ dist_patch_DATA =		\
   %D%/packages/patches/doc++-include-directives.patch		\
   %D%/packages/patches/doc++-segfault-fix.patch			\
   %D%/packages/patches/doxygen-test.patch			\
-  %D%/packages/patches/dtc-add-missing-symbols-to-lds.patch \
   %D%/packages/patches/duplicity-piped-password.patch		\
   %D%/packages/patches/duplicity-test_selection-tmp.patch	\
   %D%/packages/patches/elfutils-tests-ptrace.patch		\
diff --git a/gnu/packages/patches/dtc-add-missing-symbols-to-lds.patch b/gnu/packages/patches/dtc-add-missing-symbols-to-lds.patch
deleted file mode 100644
index ccece0f..000
--- a/gnu/packages/patches/dtc-add-missing-symbols-to-lds.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From a4b093f7366fdb429ca1781144d3985fa50d0fbb Mon Sep 17 00:00:00 2001
-From: Julien Grall 
-Date: Tue, 17 Mar 2015 16:00:34 +
-Subject: [PATCH] libfdt: Add missing functions to shared library
-
-The commit 4e76ec7 "libfdt: Add fdt_next_subnode() to permit easy
-subnode iteration" adds new functions (fdt_{first,next}_subnode) but
-forgot to mark them as 'global' in the shared library.
-
-Signed-off-by: Julien Grall 

- libfdt/version.lds | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/libfdt/version.lds b/libfdt/version.lds
-index 80b322b..941208e 100644
 a/libfdt/version.lds
-+++ b/libfdt/version.lds
-@@ -54,6 +54,8 @@ LIBFDT_1.2 {
- 		fdt_get_property_by_offset;
- 		fdt_getprop_by_offset;
- 		fdt_next_property_offset;
-+		fdt_first_subnode;
-+		fdt_next_subnode;
- 
- 	local:
- 		*;
-From f58799be130e27cc729cb2d45566daa0bb3b8605 Mon Sep 17 00:00:00 2001
-From: David Gibson 
-Date: Tue, 1 Dec 2015 12:55:21 +1100
-Subject: [PATCH] libfdt: Add some missing symbols to version.lds
-
-Several functions in the header file were missing from the version.lds
-script, meaning that they couldn't be used from a libfdt shared library.
-
-Reported by Ken Aaker, via github issue tracker.
-
-Signed-off-by: David Gibson 

- libfdt/version.lds | 4 
- 1 file changed, 4 insertions(+)
-
-diff --git a/libfdt/version.lds b/libfdt/version.lds
-index f19f157..1f4e1ea 100644
 a/libfdt/version.lds
-+++ b/libfdt/version.lds
-@@ -57,6 +57,10 @@ LIBFDT_1.2 {
- 		fdt_next_property_offset;
- 		fdt_first_subnode;
- 		fdt_next_subnode;
-+		fdt_address_cells;
-+		fdt_size_cells;
-+		fdt_stringlist_contains;
-+		fdt_resize;
- 
- 	local:
- 		*;
--- 
-2.8.1
diff --git a/gnu/packages/u-boot.scm b/gnu/packages/u-boot.scm
index 15b24a6..e9a4b90 100644
--- a/gnu/packages/u-boot.scm
+++ b/gnu/packages/u-boot.scm
@@ -32,7 +32,7 @@
 (define-public dtc
   (package
 (name "dtc")
-(version "1.4.1")
+(version "1.4.2")
 (source (origin
   (method url-fetch)
   (uri (string-append
@@ -40,9 +40,7 @@
 "dtc-" version ".tar.xz"))
   (sha256
(base32
-"155v52palf5fwfcnq696s41whjk0a5dqx98b7maqzdn7xbc2m6bp"))
-  (patches
-(search-patches "dtc-add-missing-symbols-to-lds.patch"
+"1b7si8niyca4wxbfah3qw4p4wli81mc1qwfhaswvrfqahklnwi8k"
 (build-system gnu-build-system)
 (native-inputs
  `(("bison" ,bison)


[FIXME] gnu: dtc: Update to 1.4.2. Remove patches since they are integrated upstream now.

2016-09-03 Thread Danny Milosavljevic
---
 gnu/local.mk   |  1 -
 .../patches/dtc-add-missing-symbols-to-lds.patch   | 59 --
 gnu/packages/u-boot.scm|  6 +--
 3 files changed, 2 insertions(+), 64 deletions(-)
 delete mode 100644 gnu/packages/patches/dtc-add-missing-symbols-to-lds.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index efb00b9..8179920 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -483,7 +483,6 @@ dist_patch_DATA =		\
   %D%/packages/patches/doc++-include-directives.patch		\
   %D%/packages/patches/doc++-segfault-fix.patch			\
   %D%/packages/patches/doxygen-test.patch			\
-  %D%/packages/patches/dtc-add-missing-symbols-to-lds.patch \
   %D%/packages/patches/duplicity-piped-password.patch		\
   %D%/packages/patches/duplicity-test_selection-tmp.patch	\
   %D%/packages/patches/elfutils-tests-ptrace.patch		\
diff --git a/gnu/packages/patches/dtc-add-missing-symbols-to-lds.patch b/gnu/packages/patches/dtc-add-missing-symbols-to-lds.patch
deleted file mode 100644
index ccece0f..000
--- a/gnu/packages/patches/dtc-add-missing-symbols-to-lds.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From a4b093f7366fdb429ca1781144d3985fa50d0fbb Mon Sep 17 00:00:00 2001
-From: Julien Grall 
-Date: Tue, 17 Mar 2015 16:00:34 +
-Subject: [PATCH] libfdt: Add missing functions to shared library
-
-The commit 4e76ec7 "libfdt: Add fdt_next_subnode() to permit easy
-subnode iteration" adds new functions (fdt_{first,next}_subnode) but
-forgot to mark them as 'global' in the shared library.
-
-Signed-off-by: Julien Grall 

- libfdt/version.lds | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/libfdt/version.lds b/libfdt/version.lds
-index 80b322b..941208e 100644
 a/libfdt/version.lds
-+++ b/libfdt/version.lds
-@@ -54,6 +54,8 @@ LIBFDT_1.2 {
- 		fdt_get_property_by_offset;
- 		fdt_getprop_by_offset;
- 		fdt_next_property_offset;
-+		fdt_first_subnode;
-+		fdt_next_subnode;
- 
- 	local:
- 		*;
-From f58799be130e27cc729cb2d45566daa0bb3b8605 Mon Sep 17 00:00:00 2001
-From: David Gibson 
-Date: Tue, 1 Dec 2015 12:55:21 +1100
-Subject: [PATCH] libfdt: Add some missing symbols to version.lds
-
-Several functions in the header file were missing from the version.lds
-script, meaning that they couldn't be used from a libfdt shared library.
-
-Reported by Ken Aaker, via github issue tracker.
-
-Signed-off-by: David Gibson 

- libfdt/version.lds | 4 
- 1 file changed, 4 insertions(+)
-
-diff --git a/libfdt/version.lds b/libfdt/version.lds
-index f19f157..1f4e1ea 100644
 a/libfdt/version.lds
-+++ b/libfdt/version.lds
-@@ -57,6 +57,10 @@ LIBFDT_1.2 {
- 		fdt_next_property_offset;
- 		fdt_first_subnode;
- 		fdt_next_subnode;
-+		fdt_address_cells;
-+		fdt_size_cells;
-+		fdt_stringlist_contains;
-+		fdt_resize;
- 
- 	local:
- 		*;
--- 
-2.8.1
diff --git a/gnu/packages/u-boot.scm b/gnu/packages/u-boot.scm
index 15b24a6..e9a4b90 100644
--- a/gnu/packages/u-boot.scm
+++ b/gnu/packages/u-boot.scm
@@ -32,7 +32,7 @@
 (define-public dtc
   (package
 (name "dtc")
-(version "1.4.1")
+(version "1.4.2")
 (source (origin
   (method url-fetch)
   (uri (string-append
@@ -40,9 +40,7 @@
 "dtc-" version ".tar.xz"))
   (sha256
(base32
-"155v52palf5fwfcnq696s41whjk0a5dqx98b7maqzdn7xbc2m6bp"))
-  (patches
-(search-patches "dtc-add-missing-symbols-to-lds.patch"
+"1b7si8niyca4wxbfah3qw4p4wli81mc1qwfhaswvrfqahklnwi8k"
 (build-system gnu-build-system)
 (native-inputs
  `(("bison" ,bison)


Re: [PATCH v2 1/2] gnu: Add dtc.

2016-09-03 Thread Danny Milosavljevic
Hi,

they've integrated these patches into their new dtc release 1.4.2 :)



Re: [PATCH 3/9] services: Export initrc.

2016-09-03 Thread David Craven
Do I have your blessing on this (and the -net user) patch? :)



Re: [PATCH 6/9] gnu: Add greenisland.

2016-09-03 Thread David Craven
It says:

GNU General Public License version 2.0 or (at your option) version 3.0
or any later version approved by the KDE Free Qt Foundation.

This means that it's only gpl3+ if the KDE free qt foundation approve it.



Re: Feedback, ideas, discussion: tracking patches, discussions, bugs.

2016-09-03 Thread David Craven
> Today was pretty much an E-mail overload on the ML. In itself amazing :)

I agree. If you aren't a full time guix developer it's hard to keep
up. The only way I can keep up is by marking the emails I'm not
interested in quickly as read =P Just reading all emails is a time
commitment in itself...



Re: [PATCH] gnu: Add pybitmessage, [PATCH] gnu: Add python2-pyqt-4, [PATCH] gnu: gnu: messaging: Use license: prefix.

2016-09-03 Thread ng0
Andreas Enge  writes:

> Hello,
>
> On Tue, Aug 23, 2016 at 12:03:07PM +, ng0 wrote:
>> These 3 patches enable us to have a functional pybitmessage version
>> 0.6.1, released 2 days ago.
>> 
>> Subject: [PATCH 1/3] gnu: Add python2-pyqt-4.
>> * gnu/packages/qt.scm (python2-pyqt-4): New variable.
>
> if at all possible, we should not add packages that depend on Qt-4.
> This one, in particular, would revert my following commit:
>
> commit 3297deedd1fcfd98641b01b477fad182f70cad61
> Author: Andreas Enge 
> Date:   Mon Feb 22 21:33:29 2016 +0100
>
> gnu: Remove python2-pyqt-4.
> 
> * gnu/packages/qt.scm (python2-pyqt-4): Delete variable. It depends on Qt 
> 4,
>   which does not receive security updates any more.
>
> I had removed the package since I realised that nothing depended on it.
>
> The goal is to get rid of Qt-4 (and also of the monolithic Qt-5).
>
> Andreas
>

Upstream is aware of this and told me they are working on a port towards
qt5 and also python3. However there is no deadline. It is their
choice. As I recently read there are people using Guix who are
interested in using PyBitmessage.
This package is usable, license fits, I find this block you create a bit
harsh. I can understand it, but does it mean that you are against adding
it at all because of qt4?
-- 
ng0
For non-prism friendly talk find me on http://www.psyced.org



Re: Feedback, ideas, discussion: tracking patches, discussions, bugs.

2016-09-03 Thread Pjotr Prins
Today was pretty much an E-mail overload on the ML. In itself amazing
:)

Pj.

On Fri, Sep 02, 2016 at 06:54:47PM +0800, Alex Vong wrote:
> ng0  writes:
> 
> > Alex Vong  writes:
> >
> >> Hi,
> >>
> >>
> >> I think I share the same concern as you do, currently the mailing list
> >> is too crowded and it is difficult to find the relevant bit. Below are
> >> my opinions on it:
> >>
> >>
> >> While it may not be as user-friendly as web-based bug tracker these
> >> days, I think the Debian bug tracking system is still better than our
> >> current approach. In Debian, everything is a package. It is like a
> >> language primitive in the bug tracker system.
> >>
> >>
> >> There is an "intended to package" (ITP) package. When you want to
> >> package something, you simply file a bug against the ITP package. This
> >> has the advantage that, the relevant information stays within the bug
> >> report. So everyone can see the whole process, starting from someone
> >> intending to package, to a fully reviewed package, all in a single bug
> >> report. It is like having "lexical scoping".
> >>
> >>
> >> And the most important argument comes: We already have it now[0]! So,
> >> this could be a working intermediate solution. Currently, we are not
> >> using debbugs to its full potential.
> >>
> >>
> >> My suggestion will be to create a new package called "guix-package", and
> >> all people hoping to introduce a new package to guix should file a bug
> >> report to . If you are new to this type of bug
> >> tracking system, no problem! There is (some) documentation on it[1][2]
> >> and here is my own little example[3].
> >>
> >>
> >> Hope this make sence!
> >>
> >>
> >> Cheers,
> >> Alex
> >>
> >>
> >> [0]: https://debbugs.gnu.org/cgi/pkgreport.cgi?package=guix
> >> [1]: https://debbugs.gnu.org/Reporting.html
> >> [2]: https://debbugs.gnu.org/server-control.html
> >> [3]: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24352
> >
> > Interesting, this is close to the Gentoo system: Everything is a bug.
> > Which means, every update, every bug, every new package, every "our
> > infrastructure server XYZ broke" request, etc.
> >
> > In a recent bug report through debbugs at Guix side I was not able to
> > figure out how to close the bug at all. I think if this isn't covered
> > good enough in upstream docs, we should 1. point it out at our side and
> > then 2. improve upstream documentation as the email sent when you open
> > the bug should state how you close the bug again..
> > I'll report this bug upstream and try to fix it if it's hasn't caught
> > their attention and it still exists - maybe gnu.org version just happens
> > to be outdated.
> >
> Indeed, documentation on the BTS is quite lacking. Looking at the bottom
> of page, the last page is last modified on 31 Dec 2009, which isn't
> update for quite a while. Maybe we can have a wiki page on libreplanet
> like this one[0]. Anyone know how to add a new page on libreplanet wiki?
> (The earlier discussion regarding icecat and tor browser could also have
> its own page.)
> 
> To close a bug, sending email to 
> should work in theory, but I haven't try it yet.
> 
> > I think this could really work out.. It would also establish some kind
> > of work flow, where currently we have one, but you are rather free in
> > how it all works out.
> > This would also help to avoid parallel work. Someone wanted to package
> > pybitmessage while I already had pybitmessage packaged, things like
> > that.
> >
> Please Feel free to discuss. Here is only my initial thought (heavily
> borrowed from debian):
>   1. File bug report to  with the title
>   being "PACKAGENAME@VERSION".(It can be changed later via bug control.)
>   The content of the bug report should mention the license of the
>   software.
>   2. Patch reviewing and responding are done by sending email to
>   .
>   3. Bug report is closed when patch is pushed (we could even automate
>   this one).
>   
> Note that this does not account for patches which does not bump the
> version, maybe we should keep the bug report of version N opened and
> only close it when version N+1 is pushed. What do you and the others
> think?
> 
> > Appending to my previous email, as John did not provide a link this is
> > the Aegis which was meant: http://aegis.sourceforge.net/
> 
> [0]: https://wiki.debian.org/HowtoUseBTS
> 

-- 



Re: [PATCH 29/29] gnu: Add darcs.

2016-09-03 Thread ng0
Solved it, new patches incoming either today or tomorrow.
ng0  writes:

> As you can see by the comments, description and annoations, this patch
> is the last one which is work in progress.
>
> Currently the last dependency missing is shelly(C), which has a dependency
> on some other package(A) which in return depends on shelly and another
> package(B) which depends on package A and itself.
>
> I'm done with work for today, if someone happens to have shelly lying
> around or wants to hack on this it's good otherwise I'll work on this in
> the next days.
>
> ng0  writes:
>
>> * gnu/packages/version-control.scm (darcs): New variable.
>> ---
>>  gnu/packages/version-control.scm | 65 
>> 
>>  1 file changed, 65 insertions(+)
>>
>> diff --git a/gnu/packages/version-control.scm 
>> b/gnu/packages/version-control.scm
>> index 34cfedf..0bbab5d 100644
>> --- a/gnu/packages/version-control.scm
>> +++ b/gnu/packages/version-control.scm
>> @@ -34,6 +34,7 @@
>>#:use-module (guix download)
>>#:use-module (guix git-download)
>>#:use-module (guix build-system cmake)
>> +  #:use-module (guix build-system haskell)
>>#:use-module (guix build-system gnu)
>>#:use-module (guix build-system python)
>>#:use-module (guix build-system trivial)
>> @@ -49,6 +50,7 @@
>>#:use-module (gnu packages file)
>>#:use-module (gnu packages flex)
>>#:use-module (gnu packages gettext)
>> +  #:use-module (gnu packages haskell)
>>#:use-module (gnu packages groff)
>>#:use-module (gnu packages linux)
>>#:use-module (gnu packages nano)
>> @@ -1225,3 +1227,66 @@ a built-in wiki, built-in file browsing, built-in 
>> tickets system, etc.")
>>  (description "Stagit creates static pages for git repositories, the 
>> results can
>>  be served with a HTTP file server of your choice.")
>>  (license license:expat)))
>> +
>> +(define-public darcs
>> +  (package
>> +(name "darcs")
>> +(version "2.12.0")
>> +(source (origin
>> +  (method url-fetch)
>> +  (uri (string-append 
>> "https://hackage.haskell.org/package/darcs/;
>> +  "darcs-" version ".tar.gz"))
>> +  (sha256
>> +   (base32
>> +"139hh9sxg0pkkgnmx5711i2ffj5462mw5zsb1ah1ljya94dqsc8p"
>> +(build-system haskell-build-system)
>> +;; shelly >=1.6.2 && <1.7,
>> +(inputs
>> + `(("ghc-cmdargs" ,ghc-cmdargs) ; cmdargs ==0.10.*,
>> +   ("ghc-split" ,ghc-split) ; split >=0.2.2 && <0.3,
>> +   ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2) ; 
>> ==0.3.*
>> +   ("ghc-test-framework-hunit" ,ghc-test-framework-hunit) ; >=0.2.2 && 
>> <0.4,
>> +   ("ghc-test-framework" ,ghc-test-framework) ; test-framework >=0.4.0 
>> && <0.9,
>> +   ("ghc-quickcheck" ,ghc-quickcheck) ; QuickCheck >=2.6 && <2.9,
>> +   ("ghc-findbin" ,ghc-findbin) ; FindBin ==0.0.*,
>> +   ("ghc-hunit" ,ghc-hunit) ; HUnit >=1.2.5.2 && <1.4,
>> +   ("ghc-array" ,ghc-array) ; (>=0.4.0.1 && <0.6)
>> +   ("ghc-async" ,ghc-async) ; (>=2.0.1.4 && <2.2)
>> +   ("ghc-attoparsec" ,ghc-attoparsec) ; (>=0.11 && <0.14)
>> +   ;; base (>=4.6 && <4.10)
>> +   ("ghc-base16-bytestring" ,ghc-base16-bytestring) ; (==0.1.*)
>> +   ("ghc-binary" ,ghc-binary) ; (>=0.5 && <0.9)
>> +   ("ghc-bytestring" ,ghc-bytestring) ; (>=0.10.0.2 && <0.11)
>> +   ;; containers (==0.5.*)
>> +   ("ghc-cryptohash" ,ghc-cryptohash) ; (>=0.4 && <0.12)
>> +   ("ghc-data-ordlist" ,ghc-data-ordlist) ; (==0.4.*)
>> +   ("ghc-directory" ,ghc-directory) ; (>=1.2.0.1 && <1.3.0.0)
>> +   ("ghc-fgl" ,ghc-fgl) ; (>=5.5.0.1 && <5.6)
>> +   ;; ("ghc-filepath" ,ghc-filepath) ; (>=1.3.0.1 && <1.5.0.0)
>> +   ("ghc-graphviz" ,ghc-graphviz) ; (>=2999.17.0.1 && <2999.19)
>> +   ("ghc-hashable" ,ghc-hashable) ; (>=1.1.2.5 && <1.3)
>> +   ("ghc-haskeline" ,ghc-haskeline) ; (>=0.6.3 && <0.8)
>> +   ("ghc-html" ,ghc-html) ; (>=1.0.1.2 && <1.1)
>> +   ("ghc-mmap" ,ghc-mmap) ; (==0.5.*)
>> +   ("ghc-mtl" ,ghc-mtl) ; (>=2.1.2 && <2.3)
>> +   ("ghc-old-time" ,ghc-old-time) ; (==1.1.*)
>> +   ("ghc-parsec" ,ghc-parsec) ; (==3.1.*)
>> +   ("ghc-process" ,ghc-process) ; (>=1.1.0.2 && <1.5.0.0)
>> +   ("ghc-random" ,ghc-random) ; (>=1.0.1.1 && <1.2)
>> +   ("ghc-regex-applicative" ,ghc-regex-applicative) ; (>=0.2 && <0.4)
>> +   ("ghc-regex-compat-tdfa" ,ghc-regex-compat-tdfa) ; (>=0.95.1 && 
>> <0.96)
>> +   ("ghc-sandi" ,ghc-sandi) ; (>=0.2 && <0.4)
>> +   ("ghc-tar" ,ghc-tar) ; (>=0.4 && <0.6)
>> +   ("ghc-transformers" ,ghc-transformers) ; (>=0.3 && <0.4.0.0 || 
>> >0.4.0.0 && <0.6)
>> +   ("ghc-transformers-compat" ,ghc-transformers-compat) ; (>=0.4 && 
>> <0.6)
>> +   ("ghc-unix-compat" ,ghc-unix-compat) ; (>=0.1.2 && <0.5)
>> +   ("ghc-utf8-string" ,ghc-utf8-string) ; 

Re: [PATCH] gnu: vlc: Add inputs.

2016-09-03 Thread David Craven
Hi Alex,

I'm not sure we need all those dependencies =) Can you explain what
they are for? If you are adding dependencies to vlc why did you leave
libinput-minimal off the list? ;)

> 3. Our vlc was built with fast-math disabled as explained in the
> comment. However, this is actually not necessary, vlc would built with
> '-ffast-math -fno-finite-math-only'.

This should probably be a separate patch, and will probably have a
easier path to master...

Thanks!



Re: [PATCH] gnu: Add pybitmessage, [PATCH] gnu: Add python2-pyqt-4, [PATCH] gnu: gnu: messaging: Use license: prefix.

2016-09-03 Thread Andreas Enge
Hello,

On Tue, Aug 23, 2016 at 12:03:07PM +, ng0 wrote:
> These 3 patches enable us to have a functional pybitmessage version
> 0.6.1, released 2 days ago.
> 
> Subject: [PATCH 1/3] gnu: Add python2-pyqt-4.
> * gnu/packages/qt.scm (python2-pyqt-4): New variable.

if at all possible, we should not add packages that depend on Qt-4.
This one, in particular, would revert my following commit:

commit 3297deedd1fcfd98641b01b477fad182f70cad61
Author: Andreas Enge 
Date:   Mon Feb 22 21:33:29 2016 +0100

gnu: Remove python2-pyqt-4.

* gnu/packages/qt.scm (python2-pyqt-4): Delete variable. It depends on Qt 4,
  which does not receive security updates any more.

I had removed the package since I realised that nothing depended on it.

The goal is to get rid of Qt-4 (and also of the monolithic Qt-5).

Andreas




Re: Graph an operating-system derivation

2016-09-03 Thread David Craven
>  guix graph -t derivation $(guix system build -d config.scm)

Thanks!

> ‘dot’ takes ages to process it and the result is too big to be of any
> use (it might be less bad with use an interactive graph navigation tool
> like Tulip).

Yes, guix graph produces the output for 24032 boxes...

> What info would you like to see on the graph?

Just trying to better understand how guix works. I wanted to find out
where the locale-2.24.drv comes from, but I found it (it's in
gnu/system/locale.scm obviously :)

Maybe guix edit could also work for derivations? It's nice to be able
to find the source that created/caused the derivation.



Re: [PATCH] gnu: Add rpc-daemon service

2016-09-03 Thread John Darrington
On Sat, Sep 03, 2016 at 04:11:53PM +0200, Ludovic Courtès wrote:

will do.
 
 > --- /dev/null
 > +++ b/gnu/services/nfs.scm
 
 Missing license.

ok.

 
 Also, the preferred way now is to expose service-type objects and not
 provide procedures like the one above.  So you can omit this procedure
 and instead make sure to #:export (rpcbind-service-type).

So what do I then put in /etc/config.scm ?
When I make your suggested change, I get this error:

 ./pre-inst-env guix system reconfigure /etc/config.scm
guix system: error: failed to load '/etc/config.scm':
/etc/config.scm:60:24: In procedure #:
/etc/config.scm:60:24: In procedure module-lookup: Unbound variable: 
rpcbind-service

 
 
 If you’re willing to play a bit, it would be nice to have a system test
 that spawns a GuixSD with this service, and then makes sure that, say,
 the ‘rpcinfo’ program is able to connect to the daemon.  But that’s
 bonus.  :-)
 
Are there some examples of existing system tests?

J'
 

-- 
Avoid eavesdropping.  Send strong encryted 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: [PATCH 0/1] OpenSSL 1.1.0

2016-09-03 Thread Ludovic Courtès
Leo Famulari  skribis:

> On Sat, Sep 03, 2016 at 03:50:55PM +0200, Ludovic Courtès wrote:
>> Leo Famulari  skribis:
>> > When I put "openssl" in the 'name' field, as attached, `guix build
>> > openssl` gives me 1.1.0, which is not right. The other *-next packages
>> > all seem to use "name-next" as the name.
>> 
>> Yes, but it’s different.  Guile 2.1, for instance, is the development
>> series, so it makes sense to give it a different name so users don’t end
>> up using the “wrong” series.
>> 
>> Conversely, IIUC, OpenSSL 1.1.0 is the new stable series, no?
>
> 1.1.0 is the new stable series, but I haven't found any software that
> can use the new interface yet. So, I don't want to make 1.1.0 the
> default OpenSSL version in Guix. Does that make sense?

Yes, but as long the ‘openssl’ refers to 1.0.x, it doesn’t really matter
than the “openssl” package points to the latest one, no?  Use can still
run “guix package -i openssl@1.0” if they want.

Ludo’.



Re: Graph an operating-system derivation

2016-09-03 Thread Ludovic Courtès
Howdy!

David Craven  skribis:

> I'm trying to view the graph of an entire operating-system. I don't
> know yet if it's too complicated to actually produce something useful
> :)
>
> This is what I tried:
>
> guix graph -e '((@ (gnu system) operating-system-derivation) ((@ (guix
> scripts system) read-operating-system)
> "gnu/system/examples/bare-bones.tmpl"))'
>
> But it fails with "doesn't evaluate to a package". Is there a simple
> way to do this / a feature that's generally useful?

You can graph the OS derivation like this:

  guix graph -t derivation $(guix system build -d config.scm)

‘dot’ takes ages to process it and the result is too big to be of any
use (it might be less bad with use an interactive graph navigation tool
like Tulip).

Otherwise there’s also ‘guix system {extension,shepherd}-graph’.

What info would you like to see on the graph?

Ludo’.



Re: Offloading to a VM

2016-09-03 Thread David Craven
The other problem I forgot to mention is that many architectures that
qemu supports don't support a "kernel emulation" but only a "system
emulation". In practice the system emulation isn't that much slower
than kernel emulation, because emulating instructions is a lot easier
than emulating syscalls... [needs quote]



Re: [PATCH 1/4] gnu: yelp: Update to 3.21.3

2016-09-03 Thread John Darrington
On Sat, Sep 03, 2016 at 03:57:19PM +0200, Ludovic Court??s wrote:
 John Darrington  skribis:
 
 > On Fri, Sep 02, 2016 at 03:16:25PM +0200, Ludovic Court??s wrote:
 >> John Darrington  skribis:
 >> 
 >> > From: John Darrington 
 >> >
 >> > * gnu/packages/gnome.scm (yelp): Update to 3.21.3
 >> 
 >> My understanding is that odd minor version numbers denote development
 >> releases, no?  In that case we should wait for 3.22.x.
 >> 
 > I didn't know that gnome did and it was downloaded from the canonical 
gnome distribution site.
 > I checked all the READMEs there and I don't see any mention of such a 
policy.
 
 See .  This is why ???guix refresh
 -t gnome??? won???t upgrade to odd minor numbers; see (guix
 gnu-maintenance).
 
 > But feel free to revert if you think appropriate.
 
 I???ll let you do it if you don???t mind.  :-)

Done.

J'

-- 
Avoid eavesdropping.  Send strong encryted 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: Offloading to a VM

2016-09-03 Thread David Craven
> The “build hook” is the mechanism by which the daemon asks an external
> program whether it can build a derivation for some system.

> Our (guix scripts offload) is such a program; it replies positively if
> there’s a machine that matches the target system.

> What I was suggesting is to have another build hook that would reply
> positively as long as the target system can be emulated by QEMU.

So I thought about this some more. guix offload uses guix build to
build a derivation which again uses a different nix-daemon to build
it. I'm not sure that guix offload can help us here. If it is possible
to build a derivation using only qemu-arm instead of qemu-system-arm -
which I'm still not convinced - I think it's the nix-daemon that would
have to support this. In build.cc it sets up a chroot and then
executes the builder. I think it's that builder that needs to be run
with qemu-arm. But I don't think it's going to be as easy as that =)

Does this make sense?



Re: [PATCH] gnu: Add rpc-daemon service

2016-09-03 Thread Ludovic Courtès
John Darrington  skribis:

> * gnu/services/nfs: New file.
   ^^
> * gnu/local.mk (GNU_SYSTEM_MODULES): Add it.

For the final patch, please make sure to mention it in guix.texi.

> --- /dev/null
> +++ b/gnu/services/nfs.scm

Missing license.

> @@ -0,0 +1,25 @@
> +(define-module (gnu services nfs)
> +  #:use-module (gnu)
> +  #:use-module (gnu services shepherd)
> +  #:use-module (gnu packages onc-rpc)
> +  #:use-module (guix)
> +  #:export (rpc-service))
> +
> +(define (rpc-shepherd-service config) ; Config is ignored
> +  (list (shepherd-service
> + (provision '(rpc-daemon))
> + (requirement '(networking))
> + (start #~(make-forkexec-constructor
> +   (list (string-append #$rpcbind "/bin/rpcbind") "-d" 
> "-f")))
> + (stop #~(make-kill-destructor)
> +
> +(define rpc-service-type
> +  (service-type
> +   (name 'rpc)
> +   (extensions (list (service-extension shepherd-root-service-type
> +rpc-shepherd-service)

In this case, you can simply write:

  (define rpcbind-service-type
(shepherd-service-type
 'rpcbind
 (lambda (config)
   (shepherd-service …

I think the service should be called “rpcbind”, and not “rpc” (there are
other ONC RPC and NFS daemons, such as mountd and statd, so we need to
use clear names.)

> +(define* (rpc-service config)
> +  "Run the rpc daemon. Config is ignored."
> +  (service rpc-service-type config))

There’s at least one bit of config needed: the ‘rpcbind’ package to
use.  So I would write it as:

  (service rpcbind-service-type rpcbind)

and then honor this argument.

Also, the preferred way now is to expose service-type objects and not
provide procedures like the one above.  So you can omit this procedure
and instead make sure to #:export (rpcbind-service-type).

Could you send an updated patch?

If you’re willing to play a bit, it would be nice to have a system test
that spawns a GuixSD with this service, and then makes sure that, say,
the ‘rpcinfo’ program is able to connect to the daemon.  But that’s
bonus.  :-)

Thanks!

Ludo’.



Re: [PATCH 0/1] OpenSSL 1.1.0

2016-09-03 Thread Leo Famulari
On Sat, Sep 03, 2016 at 03:50:55PM +0200, Ludovic Courtès wrote:
> Leo Famulari  skribis:
> > When I put "openssl" in the 'name' field, as attached, `guix build
> > openssl` gives me 1.1.0, which is not right. The other *-next packages
> > all seem to use "name-next" as the name.
> 
> Yes, but it’s different.  Guile 2.1, for instance, is the development
> series, so it makes sense to give it a different name so users don’t end
> up using the “wrong” series.
> 
> Conversely, IIUC, OpenSSL 1.1.0 is the new stable series, no?

1.1.0 is the new stable series, but I haven't found any software that
can use the new interface yet. So, I don't want to make 1.1.0 the
default OpenSSL version in Guix. Does that make sense?

> > Also, I wonder if this should inherit from openssl?
> >
> > Presumably there will be more security updates to openssl@1.0.2 before
> > openssl@1.1.0 is ready for general use, and I'd wouldn't like for
> > openssl@1.0.2 updates to be delayed while we wait to see if
> > openssl@1.1.0 still builds with the changes.
> 
> Though OpenSSL builds in 5–10 minutes, so the extra check wouldn’t take
> so long, no?

I guess it will not matter for now, since nothing will be using it. When
it becomes widely used, we can revisit this question.



Re: src.zip, demos and samples in java idk

2016-09-03 Thread Ludovic Courtès
Hi,

Hartmut Goebel  skribis:

> I discovered that the "jdk" of icedtea includes "demos", "samples" and
> even a "src.zip" file. These are as big as 50 MB, where the src.zip
> contributes by 43 MB. Thee 50MB are ca. 12% of the whole jdk.
>
> IMHO, all of these should not be there since they are rarely needed.
> Also it is common security best-practice to *not* include any demo code
> on production systems - which should at least followed by such large
> packages. The reasoning is that demos and examples are often prone to
> errors and offering attack points.
>
> Shall I move these to "doc" or to a new output (e.g. "examples").

It would make sense to move them to “doc”, indeed; we’ve done it in
other packages.

Ludo’.



Re: [PATCH] gnu: git: Update to 2.10.0.

2016-09-03 Thread Leo Famulari
On Sat, Sep 03, 2016 at 12:51:44PM +0200, John Darrington wrote:
> * gnu/packages/version-control.scm (git): Update to 2.10.0.

Looks good, please push.



Re: haskell importer problems?

2016-09-03 Thread Ludovic Courtès
ng0  skribis:

> I'm manually constructing those packages as the importer fails. As not
> only `guix import hackage graphviz' fails but also `guix import hackage
> darcs', I assume it is not due to names..
>
> ng0@shadowwalker ~/src/guix/guix-darcs$ guix import hackage graphviz
> Syntax error: unexpected token : { (at line 6, column -1)
> Syntax error: unexpected end of input
> guix import: error: failed to download cabal file for package 'graphviz'
>
> ng0@shadowwalker ~/src/guix/guix-darcs$ guix import hackage darcs
> Syntax error: unexpected token : (buildable (False)) (at line 513, column 4)
> Syntax error: unexpected end of input
> guix import: error: failed to download cabal file for package 'darcs'
>
> Anyone got a solution for this?

Seems related to  and
.

Ludo’.



Re: [PATCH] gnu: git: Update to 2.10.0.

2016-09-03 Thread Ludovic Courtès
John Darrington  skribis:

> * gnu/packages/version-control.scm (git): Update to 2.10.0.

Please push, thanks!

Ludo’.



Re: [PATCH 1/4] gnu: yelp: Update to 3.21.3

2016-09-03 Thread Ludovic Courtès
John Darrington  skribis:

> On Fri, Sep 02, 2016 at 03:16:25PM +0200, Ludovic Court??s wrote:
>> John Darrington  skribis:
>> 
>> > From: John Darrington 
>> >
>> > * gnu/packages/gnome.scm (yelp): Update to 3.21.3
>> 
>> My understanding is that odd minor version numbers denote development
>> releases, no?  In that case we should wait for 3.22.x.
>> 
> I didn't know that gnome did and it was downloaded from the canonical gnome 
> distribution site.
> I checked all the READMEs there and I don't see any mention of such a policy.

See .  This is why ‘guix refresh
-t gnome’ won’t upgrade to odd minor numbers; see (guix
gnu-maintenance).

> But feel free to revert if you think appropriate.

I’ll let you do it if you don’t mind.  :-)

Thanks,
Ludo’.



Re: [PATCH 0/2] Fix IBus input methods.

2016-09-03 Thread Ludovic Courtès
Ricardo Wurmus  skribis:

> Ludovic Courtès  writes:
>
>> Ricardo Wurmus  skribis:
>>
>>> 宋文武  writes:
>>>
 Ricardo Wurmus  writes:

>   gnu: gtk+-2: Add patch to support GUIX_GTK2_IM_MODULE_FILE.
>   gnu: gtk+: Add patch to support GUIX_GTK3_IM_MODULE_FILE.

 Look good to me!
>>>
>>> Thanks!
>>>
>>> What do you think: should this be a separate branch (e.g. “gtk-rebuild”)
>>> or should it be pushed to “core-updates”?
>>
>> As discussed on IRC, I’ve added a “jobset”:
>>
>>   https://hydra.gnu.org/jobset/gnu/gtk-im-modules
>>
>> There seems to be only 1 new failure compared to ‘master’:
>>
>>   https://hydra.gnu.org/eval/109124?compare=master#tabs-now-fail
>>
>> Could you take a look?
>
> This looks unrelated to me.

OK.

>> We’ll have to merge ‘master’ into it and evaluate it again.
>
> Can “gtk-im-modules” not be merged into the master branch directly?

One benefit of having a separate jobset is that we can wait until
everything is built before merging to master.  The problem here is that
this branch was entirely built several days ago, so it might be somewhat
outdated now.

Thus, could you either (1) merge locally into master and make sure no
important binaries are missing (try “guix build emacs -n” or similar),
and if that is the case, you can push; or (2) merge master into
gtk-im-modules and reevaluate the jobset?

Thanks in advance!  :-)

Ludo’.



Re: [PATCH 29/29] gnu: Add darcs.

2016-09-03 Thread Peter Mikkelsen
Den 3. sep. 2016 2.52 PM skrev "ng0" :
>
> As you can see by the comments, description and annoations, this patch
> is the last one which is work in progress.
>
> Currently the last dependency missing is shelly(C), which has a dependency
> on some other package(A) which in return depends on shelly and another
> package(B) which depends on package A and itself.

I tried to package some Haskell packages some time ago, and i believe i got
this problem too. The way i fixed it was to disable tests for one of the
packages, as it was the tests that made the dependency loop. I just don't
remember which one. Unfortunately, I lost all my work by accident.. but
hope it helps.

> I'm done with work for today, if someone happens to have shelly lying
> around or wants to hack on this it's good otherwise I'll work on this in
> the next days.
>
> ng0  writes:
>
> > * gnu/packages/version-control.scm (darcs): New variable.
> > ---
> >  gnu/packages/version-control.scm | 65

> >  1 file changed, 65 insertions(+)
> >
> > diff --git a/gnu/packages/version-control.scm
b/gnu/packages/version-control.scm
> > index 34cfedf..0bbab5d 100644
> > --- a/gnu/packages/version-control.scm
> > +++ b/gnu/packages/version-control.scm
> > @@ -34,6 +34,7 @@
> >#:use-module (guix download)
> >#:use-module (guix git-download)
> >#:use-module (guix build-system cmake)
> > +  #:use-module (guix build-system haskell)
> >#:use-module (guix build-system gnu)
> >#:use-module (guix build-system python)
> >#:use-module (guix build-system trivial)
> > @@ -49,6 +50,7 @@
> >#:use-module (gnu packages file)
> >#:use-module (gnu packages flex)
> >#:use-module (gnu packages gettext)
> > +  #:use-module (gnu packages haskell)
> >#:use-module (gnu packages groff)
> >#:use-module (gnu packages linux)
> >#:use-module (gnu packages nano)
> > @@ -1225,3 +1227,66 @@ a built-in wiki, built-in file browsing,
built-in tickets system, etc.")
> >  (description "Stagit creates static pages for git repositories,
the results can
> >  be served with a HTTP file server of your choice.")
> >  (license license:expat)))
> > +
> > +(define-public darcs
> > +  (package
> > +(name "darcs")
> > +(version "2.12.0")
> > +(source (origin
> > +  (method url-fetch)
> > +  (uri (string-append "
https://hackage.haskell.org/package/darcs/;
> > +  "darcs-" version ".tar.gz"))
> > +  (sha256
> > +   (base32
> > +
"139hh9sxg0pkkgnmx5711i2ffj5462mw5zsb1ah1ljya94dqsc8p"
> > +(build-system haskell-build-system)
> > +;; shelly >=1.6.2 && <1.7,
> > +(inputs
> > + `(("ghc-cmdargs" ,ghc-cmdargs) ; cmdargs ==0.10.*,
> > +   ("ghc-split" ,ghc-split) ; split >=0.2.2 && <0.3,
> > +   ("ghc-test-framework-quickcheck2"
,ghc-test-framework-quickcheck2) ; ==0.3.*
> > +   ("ghc-test-framework-hunit" ,ghc-test-framework-hunit) ;
>=0.2.2 && <0.4,
> > +   ("ghc-test-framework" ,ghc-test-framework) ; test-framework
>=0.4.0 && <0.9,
> > +   ("ghc-quickcheck" ,ghc-quickcheck) ; QuickCheck >=2.6 && <2.9,
> > +   ("ghc-findbin" ,ghc-findbin) ; FindBin ==0.0.*,
> > +   ("ghc-hunit" ,ghc-hunit) ; HUnit >=1.2.5.2 && <1.4,
> > +   ("ghc-array" ,ghc-array) ; (>=0.4.0.1 && <0.6)
> > +   ("ghc-async" ,ghc-async) ; (>=2.0.1.4 && <2.2)
> > +   ("ghc-attoparsec" ,ghc-attoparsec) ; (>=0.11 && <0.14)
> > +   ;; base (>=4.6 && <4.10)
> > +   ("ghc-base16-bytestring" ,ghc-base16-bytestring) ; (==0.1.*)
> > +   ("ghc-binary" ,ghc-binary) ; (>=0.5 && <0.9)
> > +   ("ghc-bytestring" ,ghc-bytestring) ; (>=0.10.0.2 && <0.11)
> > +   ;; containers (==0.5.*)
> > +   ("ghc-cryptohash" ,ghc-cryptohash) ; (>=0.4 && <0.12)
> > +   ("ghc-data-ordlist" ,ghc-data-ordlist) ; (==0.4.*)
> > +   ("ghc-directory" ,ghc-directory) ; (>=1.2.0.1 && <1.3.0.0)
> > +   ("ghc-fgl" ,ghc-fgl) ; (>=5.5.0.1 && <5.6)
> > +   ;; ("ghc-filepath" ,ghc-filepath) ; (>=1.3.0.1 && <1.5.0.0)
> > +   ("ghc-graphviz" ,ghc-graphviz) ; (>=2999.17.0.1 && <2999.19)
> > +   ("ghc-hashable" ,ghc-hashable) ; (>=1.1.2.5 && <1.3)
> > +   ("ghc-haskeline" ,ghc-haskeline) ; (>=0.6.3 && <0.8)
> > +   ("ghc-html" ,ghc-html) ; (>=1.0.1.2 && <1.1)
> > +   ("ghc-mmap" ,ghc-mmap) ; (==0.5.*)
> > +   ("ghc-mtl" ,ghc-mtl) ; (>=2.1.2 && <2.3)
> > +   ("ghc-old-time" ,ghc-old-time) ; (==1.1.*)
> > +   ("ghc-parsec" ,ghc-parsec) ; (==3.1.*)
> > +   ("ghc-process" ,ghc-process) ; (>=1.1.0.2 && <1.5.0.0)
> > +   ("ghc-random" ,ghc-random) ; (>=1.0.1.1 && <1.2)
> > +   ("ghc-regex-applicative" ,ghc-regex-applicative) ; (>=0.2 &&
<0.4)
> > +   ("ghc-regex-compat-tdfa" ,ghc-regex-compat-tdfa) ; (>=0.95.1 &&
<0.96)
> > +   ("ghc-sandi" ,ghc-sandi) ; (>=0.2 && <0.4)
> > +   ("ghc-tar" ,ghc-tar) ; (>=0.4 && 

Re: [PATCH 0/1] OpenSSL 1.1.0

2016-09-03 Thread Ludovic Courtès
Leo Famulari  skribis:

> On Fri, Sep 02, 2016 at 02:43:58PM +0200, Ludovic Courtès wrote:
>> > I also read about lots of breakage due to the update so I think it’s
>> > okay to add it as “openssl-next” for now.
>> 
>> Agreed (though its fine to use “openssl” in the ‘name’ field IMO.)
>
> When I put "openssl" in the 'name' field, as attached, `guix build
> openssl` gives me 1.1.0, which is not right. The other *-next packages
> all seem to use "name-next" as the name.

Yes, but it’s different.  Guile 2.1, for instance, is the development
series, so it makes sense to give it a different name so users don’t end
up using the “wrong” series.

Conversely, IIUC, OpenSSL 1.1.0 is the new stable series, no?

> On Fri, Sep 02, 2016 at 04:14:22PM -0400, Leo Famulari wrote:
>> +(define-public openssl-next
>> +  (package
>> +(inherit openssl)
>
> Also, I wonder if this should inherit from openssl?
>
> Presumably there will be more security updates to openssl@1.0.2 before
> openssl@1.1.0 is ready for general use, and I'd wouldn't like for
> openssl@1.0.2 updates to be delayed while we wait to see if
> openssl@1.1.0 still builds with the changes.

Though OpenSSL builds in 5–10 minutes, so the extra check wouldn’t take
so long, no?

Anyway, if you think keeping them separate is more convenient, go for it!

Thanks,
Ludo’.



Graph an operating-system derivation

2016-09-03 Thread David Craven
Hi,

I'm trying to view the graph of an entire operating-system. I don't
know yet if it's too complicated to actually produce something useful
:)

This is what I tried:

guix graph -e '((@ (gnu system) operating-system-derivation) ((@ (guix
scripts system) read-operating-system)
"gnu/system/examples/bare-bones.tmpl"))'

But it fails with "doesn't evaluate to a package". Is there a simple
way to do this / a feature that's generally useful?

Thanks,
David



Re: Tracking package submissions with Debbugs

2016-09-03 Thread Ludovic Courtès
Alex Vong  skribis:

> Ricardo Wurmus  writes:
>
>> Ludovic Courtès  writes:
>>
>>> I suppose it wouldn’t handle patch series very well though, would it?
>>> Or people would have to send the “cover letter” of the series first, and
>>> then send the rest to n...@debbugs.gnu.org once a number has been
>>> assigned?
>>
>> Or could we have a bug per module?  Then the whole patch series could be
>> sent to the bug id of the module.  But I guess this would make it harder
>> to keep track of individual package submissions again, because bug would
>> rarely ever be closed when there are lots of patches to the same module.
>>
> Yes, I think it will make it harder to keep track of individual
> package. Is there a way to configure git-sendmail to do what we want?
>
> Here is a related idea. If we were to send all packaging bug reports to
> a single package (e.g. guix-package), then it will make it impossible to
> browse from a web browser. The situation is similar to the slowness of
> our Packages page[0]. So instead of having a bug per module, should we
> have a package per module (e.g. guix-package-emacs, guix-package-maths,
> guix-package-shells ...)?

I think that wouldn’t scale, and would also prevent us to have a global
view of all the pending submissions (not to mention that debbugs.gnu.org
is administered by non-Guix people and they’d quickly be annoyed ;-)).

So, let’s ask for guix-pack...@gnu.org (or guix-patc...@gnu.org?) to
begin with?

>>> What’s unclear to me is how convenient Debbugs is for non-Emacs users:
>>> Emacs has M-x debbugs-gnu, which is a significant UI improvement, but
>>> how do non-Emacs users deal with Debbugs?
>>
>> Outside of Emacs I only ever used Debbugs in read-only fashion.  The web
>> interface is not very pretty but it’s functional and looks better than
>> the default mailman interface.
>>
> Yes, it is still email-based. The web interface is read-only, you can
> search for bug reports in a package[1]. To reply to it, you send email
> to . For non-emacs users, this means
> they have to use email client to communicate and web browser to search /
> read bugs.

Yeah well, better than the Mailman interface.

Thanks,
Ludo’.



Re: [PATCH] Patchseries: perl-www-opensearch and dependencies.

2016-09-03 Thread ng0
Hi,

should I send these patches in separate emails with git send-email for a
simpler review?

ng0  writes:

> Hi,
>
> Eric Bavier  writes:
>
>> On Sun, 14 Aug 2016 17:19:10 +
>> ng0  wrote:
>>
>>> This patch series adds perl-www-opensearch and the 13 patches leading to
>>> it (the dependencies).
>>
>> Thanks for all the patches!  Comments dispersed throughtout:
>>
>>> 
> [...]
>>
>> Otherwise LGTM!
>>
>> `~Eric
>
> Thanks for reviewing. All the problems are addressed, and some
> additional changes to move comments when no test can be run are moved to
> save lines.
>
> From 5f3065a36e27ddafdfd0c56b3b29838e0bf15228 Mon Sep 17 00:00:00 2001
> From: ng0 
> Date: Sun, 14 Aug 2016 12:42:12 +
> Subject: [PATCH 01/14] gnu: Add perl-uri-template.
>
> * gnu/packages/web.scm (perl-uri-template): New variable.
> ---
>  gnu/packages/web.scm | 24 
>  1 file changed, 24 insertions(+)
>
> diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
> index 29055c3..986bfcc 100644
> --- a/gnu/packages/web.scm
> +++ b/gnu/packages/web.scm
> @@ -2964,6 +2964,30 @@ URI::Find::Schemeless.  For a command-line interface, 
> urifind is provided.")
>  methods for WebSocket URIs as it does for HTTP URIs.")
>  (license (package-license perl
>  
> +(define-public perl-uri-template
> +  (package
> +(name "perl-uri-template")
> +(version "0.22")
> +(source (origin
> +  (method url-fetch)
> +  (uri (string-append 
> "mirror://cpan/authors/id/B/BR/BRICAS/URI-Template-"
> +  version ".tar.gz"))
> +  (sha256
> +   (base32
> +"08kjjb4c0v9gqfrfnj1wkivylxl05finn11ra64dj136fhmnyrbg"
> +(build-system perl-build-system)
> +(inputs
> + `(("perl-uri" ,perl-uri)))
> +(native-inputs
> + `(("perl-test-pod-coverage" ,perl-test-pod-coverage)
> +   ("perl-test-pod" ,perl-test-pod)
> +   ("perl-json" ,perl-json)))
> +(home-page "http://search.cpan.org/dist/URI-Template;)
> +(synopsis "Object for handling URI templates")
> +(description "This perl module provides a wrapper around URI templates 
> as described in
> +RFC 6570.")
> +(license (package-license perl
> +
>  (define-public perl-www-curl
>(package
>  (name "perl-www-curl")
> -- 
> 2.9.3
>
> From 97dd97c46ec0d77cab6df66595b60cacab5e4234 Mon Sep 17 00:00:00 2001
> From: ng0 
> Date: Sun, 14 Aug 2016 13:02:00 +
> Subject: [PATCH 02/14] gnu: Add perl-class-errorhandler.
>
> * gnu/packages/perl.scm (perl-class-errorhandler): New variable.
> ---
>  gnu/packages/perl.scm | 21 +
>  1 file changed, 21 insertions(+)
>
> diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
> index aef92f4..4e3d1fa 100644
> --- a/gnu/packages/perl.scm
> +++ b/gnu/packages/perl.scm
> @@ -700,6 +700,27 @@ subclasses and can be overridden.")
>  type for perl.")
>  (license (package-license perl
>  
> +(define-public perl-class-errorhandler
> +  (package
> +(name "perl-class-errorhandler")
> +(version "0.04")
> +(source (origin
> +  (method url-fetch)
> +  (uri (string-append "mirror://cpan/authors/id/T/TO/TOKUHIROM/"
> +  "Class-ErrorHandler-" version ".tar.gz"))
> +  (sha256
> +   (base32
> +"00j5f0z4riyq7i95jww291dpmbn0hmmvkcbrh7p0p8lpqz7jsb9l"
> +(build-system perl-build-system)
> +(home-page "http://search.cpan.org/dist/Class-ErrorHandler;)
> +(synopsis "Base class for error handling")
> +(description
> + "@code{Class::ErrorHandler} provides an error-handling mechanism that 
> is generic
> +enough to be used as the base class for a variety of OO classes.  Subclasses 
> inherit
> +its two error-handling methods, error and errstr, to communicate error 
> messages back
> +to the calling program.")
> +(license (package-license perl
> +
>  (define-public perl-class-factory-util
>(package
>  (name "perl-class-factory-util")
> -- 
> 2.9.3
>
> From c32d61f5ee7be18c9c25bc02f17d1b7d404e4928 Mon Sep 17 00:00:00 2001
> From: ng0 
> Date: Sun, 14 Aug 2016 13:13:18 +
> Subject: [PATCH 03/14] gnu: Add perl-datetime-format-mail.
>
> * gnu/packages/perl.scm (perl-datetime-format-mail): New variable.
> ---
>  gnu/packages/perl.scm | 21 +
>  1 file changed, 21 insertions(+)
>
> diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
> index 4e3d1fa..db941fb 100644
> --- a/gnu/packages/perl.scm
> +++ b/gnu/packages/perl.scm
> @@ -1792,6 +1792,27 @@ to create DateTime objects, with some custom tweaks to 
> smooth out the rough
>  edges (mainly concerning timezone detection and selection).")
>  (license (package-license perl
>  
> +(define-public 

Re: [PATCH 1/9] system: vm: Remove -net user flag.

2016-09-03 Thread David Craven
> I sympathize with this; what problems are you referring to?
>
> The reason for “-net user” is that it allows me to run “dhclient -v
> eth0” in the VM and get access to the network, which is often what I
> want.

I usually have the need to add my own flags most of the time anyway.

This is the script I usually use - the line marked > doesn't take
effect when a -net user flag was already provided:

$($HOME/guix/pre-inst-env guix system vm server-configuration.scm) \
>-net user,hostfwd=tcp::10022-:22 \
-vga virtio \
-device virtio-rng-pci,bus=pci.0,addr=0x10 \
-spice port=5930,disable-ticketing \
-device virtio-serial-pci,id=virtio-serial0,max_ports=16,bus=pci.0,addr=0x5
\
-chardev spicevmc,name=vdagent,id=vdagent \
-device 
virtserialport,nr=1,bus=virtio-serial0.0,chardev=vdagent,name=com.redhat.spice.0>



Re: [PATCH] gnu: Add praat

2016-09-03 Thread Ludovic Courtès
Brendan Tildesley  skribis:

> On 2016-09-02 22:20, Ludovic Courtès wrote:
>> [...]
>>
>>> + (add-after 'unpack 'be-timeless
>>> +   (lambda _
>>> + (substitute* "external/portaudio/pa_front.c"
>>> +   ((" \\(built \" __DATE__  \" \" __TIME__ \"\\)") ""))
>>> + #t))
>> Could you move it to a ‘snippet’ in the ‘origin’ form?  (See the
>> ‘squeak-vm’ package for an example.)
>>
> Sure.
>> As Alex Griffin wrote, we should remove all of external/ in ‘snippet’
>> (see item #9 about “bundling” at
>> ),
>> and instead add GSL, GLPK, FLAC, etc. as ‘inputs’ of the package.
>>
>> Would you like to try it?
>>
>> I think this is the only remaining blocker here.
>>
>> Thank you for your work!
>>
>> Ludo’.
>
> I don't have any issue with this per se, but I haven't the slightest
> clue how to due it.

Roughly:

  (origin
…
(modules '((guix build utils)))
(snippet '(delete-file-recursively "external")))  ;like ‘rm -rf’

The ‘crossmap’ package is one example of that.

> Praat Has no configure script, rather it just has a make file that
> compiles everything into a single binary. is the code in FLAC the same
> as the flac package??

I hope so.

> How would I go about making these external packages?

Most or all of them are already packaged.  So just add:

  (inputs
`(("gsl" ,gsl)
  ("glpk" ,gplk)
  ("flac" ,flac)
  …))

Maybe you’ll also have to tweak the Makefile so it doesn’t try to build
stuff in external/.

Could you give it a try and report back?

> Also I'm wondering how to go about adding an icon and .desktop file
> supporting internationalisation. It seems upstream should do this but
> they haven't so the package is nothing like a standard GNU program. Is
> it possible to do all this without learning C?

Probably, but let’s leave that for a subsequent patch.  :-)

Thank you!

Ludo’.



Re: haskell importer problems?

2016-09-03 Thread ng0
Vincent Legoll  writes:

> On Sat, Sep 3, 2016 at 12:49 PM, ng0  wrote:
>> at line 6, column -1
> -^
> I didn't know you could hide your haskell code off screen ;-)
>
> -- 
> Vincent Legoll

Possibly related to this:
https://lists.gnu.org/archive/html/guix-devel/2016-08/msg01694.html
-- 
ng0
For non-prism friendly talk find me on http://www.psyced.org



Re: [PATCH 1/9] system: vm: Remove -net user flag.

2016-09-03 Thread Ludovic Courtès
Hi,

David Craven  skribis:

> You can add custom qemu flags by running $(guix system vm *.scm) -net
> user. As it is now there is no way to remove it, and I've said
> multiple times that it causes networking difficulties. Adding it isn't
> a problem. I think that the default qemu flags should be the minimum
> common denominator, and not include anything that could cause problems
> in a different setup.

I sympathize with this; what problems are you referring to?

The reason for “-net user” is that it allows me to run “dhclient -v
eth0” in the VM and get access to the network, which is often what I
want.

Now I don’t feel strongly about it, and indeed, I can always add “-net
user” on the command line.

Thanks,
Ludo’.



Re: [PATCH 8/9] services: Add sddm service.

2016-09-03 Thread David Craven
> +  (sddm   sddm-configuration-sddm
> +  (default sddm))

> +  (faces-directorysddm-configuration-faces-directory
> +  (default #~(string-append #$sddm 
> "/share/sddm/faces")))

Is sddm bound to the above sddm?



Re: [PATCH 3/9] services: Export initrc.

2016-09-03 Thread David Craven
Yes, the sddm service uses it.



Re: [PATCH 8/9] services: Add sddm service.

2016-09-03 Thread David Craven
> Could you instead pass the configuration file via a command-line option
> or environment variable?

I already opened a bug report - no it's not currently possible...



Re: [PATCH 3/9] services: Export initrc.

2016-09-03 Thread Ludovic Courtès
David Craven  skribis:

> * gnu/services/xorg.scm (define-module): Export initrc.

Until now this was not exported because it’s a little bit hackish and
inconvenient.  Do you have a use for this outside of xorg.scm proper?

Thanks,
Ludo’.



Re: [PATCH 8/9] services: Add sddm service.

2016-09-03 Thread Ludovic Courtès
Hi!

iyzs...@member.fsf.org (宋文武) skribis:

> [...]
>> +
>> +(define (sddm-activation config)
>> +  "Return the activation gexp for CONFIG."
>> +  #~(begin
>> +  (symlink #$(sddm-configuration-file config) "/etc/sddm.conf")))
>
> I don't know the behavior of activation when reconfigure services,

‘guix system reconfigure’ runs the new system’s activation script.

> but this `symlink' call will fail when the file already exists.

Indeed.

> And to put files to /etc, it's better to extend the `etc-service-type'.

Agreed.

However, it’s even better to avoid populating /etc altogether; ideally
/etc should contain only global configuration files, such as
nsswitch.conf.

Could you instead pass the configuration file via a command-line option
or environment variable?

> Oh, finally we get a modern display manager, thanks!

Seconded.  Thank you!

Ludo’.



Re: [PATCH 9/9] gnu: Add weston.

2016-09-03 Thread Ludovic Courtès
David Craven  skribis:

> * gnu/packages/wayland.scm (weston): New file.
> * gnu/local.mk (GNU_PACKAGE_MODULES): Add it.

[...]

> +(define-public cairo-xcb
> +  (package
> +(inherit cairo)
> +(name "cairo-xcb")
> +(inputs
> + `(("mesa" ,mesa)
> +   ,@(package-inputs cairo)))
> +(arguments
> + `(#:tests? #f
> +   #:configure-flags
> +   '("--enable-xlib-xcb" "--enable-gl" "--enable-egl")

Probably this should be kept next to ‘cairo’, and added as a separate
patch.  Also please change the synopsis to something like “2D graphics
library (with X11 support)”.

> +(define-public xwayland
> +  (package
> +(inherit xorg-server)
> +(name "xwayland")

Should it be “xorg-server-xwayland”, since fundamentally it’s still the
“xorg-server” source?

> +(inputs
> + `(("libepoxy" ,libepoxy)
> +   ("wayland" ,wayland)
> +   ,@(package-inputs xorg-server)))
> +(arguments
> +  (substitute-keyword-arguments (package-arguments xorg-server)
> +((#:configure-flags flags)
> + `(cons* "--enable-xwayland" "--disable-xorg"
> + "--disable-docs""--disable-devel-docs"
> + "--disable-xvfb""--disable-xnest"
> + "--disable-xquartz" "--disable-xwin"
> + ,flags))

Please add a synopsis (as above).

> +(define-public weston
> +  (package
> +(name "weston")
> +(version "1.11.0")

[...]

> +(synopsis "Reference implementation of a Wayland compositor")

What about “Reference Wayland graphical display server”?

> +(description "Weston is the reference implementation of a Wayland
> +compositor, and a useful compositor in its own right.")

Maybe add a sentence about what a Wayland compositor does.

Also I think people will prefer one patch per package.  :-)

Thank you!

Ludo’.



Re: [PATCH 2/9] activation: Allow /var/lib to be a home directory.

2016-09-03 Thread Ludovic Courtès
David Craven  skribis:

> * gnu/build/activation.scm (activate-user): Make sure /var/lib exists.
  ^
AFAICS this is ‘activate-users+groups’.

I initially had the same reaction as 宋文武, but based on your reply, I
agree that it looks like the right place.

> +  ;; allow /var/lib/application to be a home directory

Please capitalize and punctuate.

> +  (mkdir-p "/var/lib")

‘mkdir’ should be enough.

Thanks!

Ludo’.



Re: [PATCH] gnu: Add libicns

2016-09-03 Thread Brendan Tildesley
On 2016-09-03 22:38, Marius Bakke wrote:
> Marius Bakke  writes:
>
>> Additionally this package bundles "m4" even if it doesn't use it. Can
>> you remove it with a "origin" snippet? See e.g. "xcb-util-xrm" for how
>> that's done.
> My mistake, it does appear to use those files, and it's not actually m4.
> I think using the generated libtool is probably OK.
>
> Alternatively it can be re-generated by adding a phase that invokes
> "autoreconf -vif". I'm not actually sure if this is desired, so just
> leave it for now.
>
> Thank you,
> Marius

Ah, well that lost me a bit of time. Anyway, this update should work
just fine. It was reproducible for me too.

>From b04ad5e40ac5befe30832ffbcf3b4283b4ae1d63 Mon Sep 17 00:00:00 2001
From: Brendan Tildesley 
Date: Sat, 3 Sep 2016 05:53:56 +1000
Subject: [PATCH] gnu: Add libicns.

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

diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 4fdc4ae..1b21306 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -48,6 +48,7 @@
   #:use-module (guix download)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system cmake)
+  #:use-module (guix utils)
   #:use-module (srfi srfi-1))
 
 (define-public libpng
@@ -147,6 +148,45 @@ maximum quality factor.")
(license license:gpl2+)
(home-page "http://www.kokkonen.net/tjko/projects.html#jpegoptim;)))
 
+(define-public libicns
+  (package
+(name "libicns")
+(version "0.8.1")
+(source (origin
+ (method url-fetch)
+ (uri (string-append
+   "mirror://sourceforge/icns/libicns-" version ".tar.gz"))
+ (sha256 (base32
+  "1hjm8lwap7bjyyxsyi94fh5817xzqhk4kb5y0b7mb6675xw10prk"
+(build-system gnu-build-system)
+(inputs
+ `(("libpng" ,libpng-1.2)
+   ("jasper" ,jasper)))
+(native-inputs
+ `(("autoconf" ,autoconf)
+   ("automake" ,automake)
+   ("libtool" ,libtool)))
+(arguments
+ ;; no tests
+ `(#:tests? #f
+   #:phases
+   (modify-phases %standard-phases
+ (add-before 'configure 'autoconf
+   (lambda _
+ (zero? (system* "autoreconf" "-vfi")))
+(home-page "http://icns.sourceforge.net/;)
+(synopsis "Library for handling Mac OS icns resource files")
+(description
+ "Libicns is a library for the manipulation of Mac OS IconFamily resource
+type files (ICNS).  @command{icns2png} and @command{png2icns} are provided to
+convert between PNG and ICNS. @command{icns2png} will extract image files from
+ICNS files under names like \"Foo_48x48x32.png\" useful for installing for use
+with .desktop files.  Additionally, @Command{icontainer2png} is provided for
+extracting icontainer icon files.")
+(license (list license:lgpl2.1+ ; libicns
+   license:lgpl2.0+ ; src/apidocs.*
+   license:gpl2+; icns2png, png2icns, icontainer2png
+
 (define-public libtiff
   (package
(name "libtiff")
-- 
2.9.3



Re: Display diffs between generations.

2016-09-03 Thread Vincent Legoll
On Thu, Sep 1, 2016 at 2:12 PM, Ludovic Courtès  wrote:
>   --list-generations=full
>>
>> I think keeping a way to see all generations in one go would be cool
>
> --list-generations would still display all the generations.  Or did you
> mean “a way to see *the content* of each generation”?

I'm not sure to understand what you mean by "the content", what I meant
was to keep what current guix package -l shows us, i.e. do not alter current
UI, only add new things, but do not break existing practices when not mandated.

-- 
Vincent Legoll



Re: [PATCH] system: grub: Use librsvg to convert SVG to PNG

2016-09-03 Thread Vincent Legoll
Hello,

> This is very good, reducing the bare-bones system configuration even if
> keeping the default grub theme.
>
> I'll test it later

I think it works OK, tested it like that:

changed root's .config/guix/latest to point to a current guix git checkout
+ your patch, modified my /etc/config.scm to comment out the grub theme:

  (bootloader (grub-configuration (device "/dev/vda")
;;  (theme (grub-theme))
))

ran guix system reconfigure /etc/config.scm && guix gc

and now I can't see inkscape in /gnu/store any more...

This is probably not the best way to test, but I think it is still conclusive

Thanks

-- 
Vincent Legoll



Re: [PATCH 29/29] gnu: Add darcs.

2016-09-03 Thread ng0
As you can see by the comments, description and annoations, this patch
is the last one which is work in progress.

Currently the last dependency missing is shelly(C), which has a dependency
on some other package(A) which in return depends on shelly and another
package(B) which depends on package A and itself.

I'm done with work for today, if someone happens to have shelly lying
around or wants to hack on this it's good otherwise I'll work on this in
the next days.

ng0  writes:

> * gnu/packages/version-control.scm (darcs): New variable.
> ---
>  gnu/packages/version-control.scm | 65 
> 
>  1 file changed, 65 insertions(+)
>
> diff --git a/gnu/packages/version-control.scm 
> b/gnu/packages/version-control.scm
> index 34cfedf..0bbab5d 100644
> --- a/gnu/packages/version-control.scm
> +++ b/gnu/packages/version-control.scm
> @@ -34,6 +34,7 @@
>#:use-module (guix download)
>#:use-module (guix git-download)
>#:use-module (guix build-system cmake)
> +  #:use-module (guix build-system haskell)
>#:use-module (guix build-system gnu)
>#:use-module (guix build-system python)
>#:use-module (guix build-system trivial)
> @@ -49,6 +50,7 @@
>#:use-module (gnu packages file)
>#:use-module (gnu packages flex)
>#:use-module (gnu packages gettext)
> +  #:use-module (gnu packages haskell)
>#:use-module (gnu packages groff)
>#:use-module (gnu packages linux)
>#:use-module (gnu packages nano)
> @@ -1225,3 +1227,66 @@ a built-in wiki, built-in file browsing, built-in 
> tickets system, etc.")
>  (description "Stagit creates static pages for git repositories, the 
> results can
>  be served with a HTTP file server of your choice.")
>  (license license:expat)))
> +
> +(define-public darcs
> +  (package
> +(name "darcs")
> +(version "2.12.0")
> +(source (origin
> +  (method url-fetch)
> +  (uri (string-append 
> "https://hackage.haskell.org/package/darcs/;
> +  "darcs-" version ".tar.gz"))
> +  (sha256
> +   (base32
> +"139hh9sxg0pkkgnmx5711i2ffj5462mw5zsb1ah1ljya94dqsc8p"
> +(build-system haskell-build-system)
> +;; shelly >=1.6.2 && <1.7,
> +(inputs
> + `(("ghc-cmdargs" ,ghc-cmdargs) ; cmdargs ==0.10.*,
> +   ("ghc-split" ,ghc-split) ; split >=0.2.2 && <0.3,
> +   ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2) ; 
> ==0.3.*
> +   ("ghc-test-framework-hunit" ,ghc-test-framework-hunit) ; >=0.2.2 && 
> <0.4,
> +   ("ghc-test-framework" ,ghc-test-framework) ; test-framework >=0.4.0 
> && <0.9,
> +   ("ghc-quickcheck" ,ghc-quickcheck) ; QuickCheck >=2.6 && <2.9,
> +   ("ghc-findbin" ,ghc-findbin) ; FindBin ==0.0.*,
> +   ("ghc-hunit" ,ghc-hunit) ; HUnit >=1.2.5.2 && <1.4,
> +   ("ghc-array" ,ghc-array) ; (>=0.4.0.1 && <0.6)
> +   ("ghc-async" ,ghc-async) ; (>=2.0.1.4 && <2.2)
> +   ("ghc-attoparsec" ,ghc-attoparsec) ; (>=0.11 && <0.14)
> +   ;; base (>=4.6 && <4.10)
> +   ("ghc-base16-bytestring" ,ghc-base16-bytestring) ; (==0.1.*)
> +   ("ghc-binary" ,ghc-binary) ; (>=0.5 && <0.9)
> +   ("ghc-bytestring" ,ghc-bytestring) ; (>=0.10.0.2 && <0.11)
> +   ;; containers (==0.5.*)
> +   ("ghc-cryptohash" ,ghc-cryptohash) ; (>=0.4 && <0.12)
> +   ("ghc-data-ordlist" ,ghc-data-ordlist) ; (==0.4.*)
> +   ("ghc-directory" ,ghc-directory) ; (>=1.2.0.1 && <1.3.0.0)
> +   ("ghc-fgl" ,ghc-fgl) ; (>=5.5.0.1 && <5.6)
> +   ;; ("ghc-filepath" ,ghc-filepath) ; (>=1.3.0.1 && <1.5.0.0)
> +   ("ghc-graphviz" ,ghc-graphviz) ; (>=2999.17.0.1 && <2999.19)
> +   ("ghc-hashable" ,ghc-hashable) ; (>=1.1.2.5 && <1.3)
> +   ("ghc-haskeline" ,ghc-haskeline) ; (>=0.6.3 && <0.8)
> +   ("ghc-html" ,ghc-html) ; (>=1.0.1.2 && <1.1)
> +   ("ghc-mmap" ,ghc-mmap) ; (==0.5.*)
> +   ("ghc-mtl" ,ghc-mtl) ; (>=2.1.2 && <2.3)
> +   ("ghc-old-time" ,ghc-old-time) ; (==1.1.*)
> +   ("ghc-parsec" ,ghc-parsec) ; (==3.1.*)
> +   ("ghc-process" ,ghc-process) ; (>=1.1.0.2 && <1.5.0.0)
> +   ("ghc-random" ,ghc-random) ; (>=1.0.1.1 && <1.2)
> +   ("ghc-regex-applicative" ,ghc-regex-applicative) ; (>=0.2 && <0.4)
> +   ("ghc-regex-compat-tdfa" ,ghc-regex-compat-tdfa) ; (>=0.95.1 && <0.96)
> +   ("ghc-sandi" ,ghc-sandi) ; (>=0.2 && <0.4)
> +   ("ghc-tar" ,ghc-tar) ; (>=0.4 && <0.6)
> +   ("ghc-transformers" ,ghc-transformers) ; (>=0.3 && <0.4.0.0 || 
> >0.4.0.0 && <0.6)
> +   ("ghc-transformers-compat" ,ghc-transformers-compat) ; (>=0.4 && <0.6)
> +   ("ghc-unix-compat" ,ghc-unix-compat) ; (>=0.1.2 && <0.5)
> +   ("ghc-utf8-string" ,ghc-utf8-string) ; (>=0.3.6 && <1.1)
> +   ("ghc-vector" ,ghc-vector) ; (>=0.10.0.1 && <0.12)
> +   ("ghc-zip-archive" ,ghc-zip-archive) ; (>=0.2.3 && <0.4)
> +   ("ghc-zlib" ,ghc-zlib) ; (>=0.5.4.1 && <0.7.0.0)
> +   ("curl" 

[PATCH 18/29] gnu: Add ghc-monads-tf.

2016-09-03 Thread ng0
* gnu/packages/haskell.scm (ghc-monads-tf): New variable.
---
 gnu/packages/haskell.scm | 23 +++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 1511dbd..65eebbd 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -6841,4 +6841,27 @@ of two versions of a source file.  It provides a good 
balance of performance,
 nice output for humans, and implementation simplicity.")
 (license license:bsd-3)))
 
+(define-public ghc-monads-tf
+  (package
+(name "ghc-monads-tf")
+(version "0.1.0.3")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "https://hackage.haskell.org/package/monads-tf/monads-tf-;
+ version ".tar.gz"))
+   (sha256
+(base32
+ "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"
+(build-system haskell-build-system)
+(home-page "http://hackage.haskell.org/package/monads-tf;)
+(synopsis "Monad classes, using type families")
+(description
+ "Monad classes using type families, with instances for various monad 
transformers,
+inspired by the paper 'Functional Programming with Overloading and Higher-Order
+Polymorphism', by Mark P Jones.  This package is almost a compatible 
replacement for
+the @code{mtl-tf} package.")
+(license license:bsd-3)))
+
 ;;; haskell.scm ends here
-- 
2.9.3




[PATCH 28/29] gnu: Add ghc-findbin.

2016-09-03 Thread ng0
* gnu/packages/haskell.scm (ghc-findbin): New variable.
---
 gnu/packages/haskell.scm | 24 
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 6f842b3..bf5d1d5 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -7081,4 +7081,28 @@ the classes @code{IArray} of immutable arrays and 
@code{MArray} of arrays mutabl
 within appropriate monads, as well as some instances of these classes.")
 (license license:bsd-3)))
 
+(define-public ghc-findbin
+  (package
+(name "ghc-findbin")
+(version "0.0.5")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "https://hackage.haskell.org/package/FindBin-0.0.5/;
+ "FindBin-" version ".tar.gz"))
+   (sha256
+(base32
+ "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"
+(build-system haskell-build-system)
+(home-page
+ "http://hackage.haskell.org/package/FindBin;)
+(synopsis "Locate directory of original program")
+(description
+ "This module locates the full directory to the running program,
+to allow the use of paths relative to it.  FindBin supports invocation
+of Haskell programs via ghci, via runhaskell/runghc, as well as compiled
+as an executable.")
+(license license:bsd-3)))
+
 ;;; haskell.scm ends here
-- 
2.9.3




[PATCH 27/29] gnu: Add ghc-array.

2016-09-03 Thread ng0
* gnu/packages/haskell.scm (ghc-array): New variable.
---
 gnu/packages/haskell.scm | 23 +++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 2841b7a..6f842b3 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -7058,4 +7058,27 @@ and edge labels with positional information, etc.
 @end enumerate\n")
 (license license:bsd-3)))
 
+(define-public ghc-array
+  (package
+(name "ghc-array")
+(version "0.5.1.1")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "https://hackage.haskell.org/package/array/array-;
+ version ".tar.gz"))
+   (sha256
+(base32
+ "08r2rq4blvc737mrg3xhlwiw13jmsz5dlf2fd0ghb9cdaxc6kjc9"
+(build-system haskell-build-system)
+(home-page
+ "http://hackage.haskell.org/package/array;)
+(synopsis "Mutable and immutable arrays")
+(description
+ "In addition to providing the @code{Data.Array} module, this package also 
defines
+the classes @code{IArray} of immutable arrays and @code{MArray} of arrays 
mutable
+within appropriate monads, as well as some instances of these classes.")
+(license license:bsd-3)))
+
 ;;; haskell.scm ends here
-- 
2.9.3




[PATCH 29/29] gnu: Add darcs.

2016-09-03 Thread ng0
* gnu/packages/version-control.scm (darcs): New variable.
---
 gnu/packages/version-control.scm | 65 
 1 file changed, 65 insertions(+)

diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 34cfedf..0bbab5d 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -34,6 +34,7 @@
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix build-system cmake)
+  #:use-module (guix build-system haskell)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system python)
   #:use-module (guix build-system trivial)
@@ -49,6 +50,7 @@
   #:use-module (gnu packages file)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages gettext)
+  #:use-module (gnu packages haskell)
   #:use-module (gnu packages groff)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages nano)
@@ -1225,3 +1227,66 @@ a built-in wiki, built-in file browsing, built-in 
tickets system, etc.")
 (description "Stagit creates static pages for git repositories, the 
results can
 be served with a HTTP file server of your choice.")
 (license license:expat)))
+
+(define-public darcs
+  (package
+(name "darcs")
+(version "2.12.0")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "https://hackage.haskell.org/package/darcs/;
+  "darcs-" version ".tar.gz"))
+  (sha256
+   (base32
+"139hh9sxg0pkkgnmx5711i2ffj5462mw5zsb1ah1ljya94dqsc8p"
+(build-system haskell-build-system)
+;; shelly >=1.6.2 && <1.7,
+(inputs
+ `(("ghc-cmdargs" ,ghc-cmdargs) ; cmdargs ==0.10.*,
+   ("ghc-split" ,ghc-split) ; split >=0.2.2 && <0.3,
+   ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2) ; 
==0.3.*
+   ("ghc-test-framework-hunit" ,ghc-test-framework-hunit) ; >=0.2.2 && 
<0.4,
+   ("ghc-test-framework" ,ghc-test-framework) ; test-framework >=0.4.0 && 
<0.9,
+   ("ghc-quickcheck" ,ghc-quickcheck) ; QuickCheck >=2.6 && <2.9,
+   ("ghc-findbin" ,ghc-findbin) ; FindBin ==0.0.*,
+   ("ghc-hunit" ,ghc-hunit) ; HUnit >=1.2.5.2 && <1.4,
+   ("ghc-array" ,ghc-array) ; (>=0.4.0.1 && <0.6)
+   ("ghc-async" ,ghc-async) ; (>=2.0.1.4 && <2.2)
+   ("ghc-attoparsec" ,ghc-attoparsec) ; (>=0.11 && <0.14)
+   ;; base (>=4.6 && <4.10)
+   ("ghc-base16-bytestring" ,ghc-base16-bytestring) ; (==0.1.*)
+   ("ghc-binary" ,ghc-binary) ; (>=0.5 && <0.9)
+   ("ghc-bytestring" ,ghc-bytestring) ; (>=0.10.0.2 && <0.11)
+   ;; containers (==0.5.*)
+   ("ghc-cryptohash" ,ghc-cryptohash) ; (>=0.4 && <0.12)
+   ("ghc-data-ordlist" ,ghc-data-ordlist) ; (==0.4.*)
+   ("ghc-directory" ,ghc-directory) ; (>=1.2.0.1 && <1.3.0.0)
+   ("ghc-fgl" ,ghc-fgl) ; (>=5.5.0.1 && <5.6)
+   ;; ("ghc-filepath" ,ghc-filepath) ; (>=1.3.0.1 && <1.5.0.0)
+   ("ghc-graphviz" ,ghc-graphviz) ; (>=2999.17.0.1 && <2999.19)
+   ("ghc-hashable" ,ghc-hashable) ; (>=1.1.2.5 && <1.3)
+   ("ghc-haskeline" ,ghc-haskeline) ; (>=0.6.3 && <0.8)
+   ("ghc-html" ,ghc-html) ; (>=1.0.1.2 && <1.1)
+   ("ghc-mmap" ,ghc-mmap) ; (==0.5.*)
+   ("ghc-mtl" ,ghc-mtl) ; (>=2.1.2 && <2.3)
+   ("ghc-old-time" ,ghc-old-time) ; (==1.1.*)
+   ("ghc-parsec" ,ghc-parsec) ; (==3.1.*)
+   ("ghc-process" ,ghc-process) ; (>=1.1.0.2 && <1.5.0.0)
+   ("ghc-random" ,ghc-random) ; (>=1.0.1.1 && <1.2)
+   ("ghc-regex-applicative" ,ghc-regex-applicative) ; (>=0.2 && <0.4)
+   ("ghc-regex-compat-tdfa" ,ghc-regex-compat-tdfa) ; (>=0.95.1 && <0.96)
+   ("ghc-sandi" ,ghc-sandi) ; (>=0.2 && <0.4)
+   ("ghc-tar" ,ghc-tar) ; (>=0.4 && <0.6)
+   ("ghc-transformers" ,ghc-transformers) ; (>=0.3 && <0.4.0.0 || >0.4.0.0 
&& <0.6)
+   ("ghc-transformers-compat" ,ghc-transformers-compat) ; (>=0.4 && <0.6)
+   ("ghc-unix-compat" ,ghc-unix-compat) ; (>=0.1.2 && <0.5)
+   ("ghc-utf8-string" ,ghc-utf8-string) ; (>=0.3.6 && <1.1)
+   ("ghc-vector" ,ghc-vector) ; (>=0.10.0.1 && <0.12)
+   ("ghc-zip-archive" ,ghc-zip-archive) ; (>=0.2.3 && <0.4)
+   ("ghc-zlib" ,ghc-zlib) ; (>=0.5.4.1 && <0.7.0.0)
+   ("curl" ,curl)))
+(home-page "http://darcs.net;)
+(synopsis "Moar pandahats!")
+(description
+ "Vote Cthullu!")
+(license license:gpl2)))
-- 
2.9.3




[PATCH 24/29] gnu: ghc-fgl: Update to 5.5.3.0.

2016-09-03 Thread ng0
* gnu/packages/haskell.scm (ghc-fgl): Update to 5.5.3.0.
---
 gnu/packages/haskell.scm | 9 ++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 9e6d833..08d45f2 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -3032,7 +3032,7 @@ variety of traversals.")
 (define-public ghc-fgl
   (package
 (name "ghc-fgl")
-(version "5.5.1.0")
+(version "5.5.3.0")
 (outputs '("out" "doc"))
 (source
  (origin
@@ -3043,9 +3043,12 @@ variety of traversals.")
  ".tar.gz"))
(sha256
 (base32
- "0rcmz0xlyr1wj490ffja29z1jgl51gz19ka609da6bx39bwx7nga"
+ "0fbyb6jxy9whgrv6dgnkzz70cmy98arx3q2gnkhgl4a3d7idh36p"
 (build-system haskell-build-system)
-(inputs `(("ghc-mtl" ,ghc-mtl)))
+(inputs
+ `(("ghc-mtl" ,ghc-mtl)
+   ("ghc-hspec" ,ghc-hspec)
+   ("ghc-quickcheck" ,ghc-quickcheck)))
 (home-page "http://web.engr.oregonstate.edu/~erwig/fgl/haskell;)
 (synopsis
  "Martin Erwig's Functional Graph Library")
-- 
2.9.3




[PATCH 21/29] gnu: Add ghc-directory.

2016-09-03 Thread ng0
* gnu/packages/haskell.scm (ghc-directory): New variable.
---
 gnu/packages/haskell.scm | 21 +
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 40122d9..ced3626 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -6923,4 +6923,25 @@ Colours can be blended and composed.  Various colour 
spaces are
 supported.  A module of colour names (\"Data.Colour.Names\") is provided.")
   (license license:expat)))
 
+(define-public ghc-directory
+  (package
+(name "ghc-directory")
+(version "1.2.7.0")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "https://hackage.haskell.org/package/directory/directory-;
+ version ".tar.gz"))
+   (sha256
+(base32
+ "0h3hrqskadmbigaxbz2k5xxjjjlmfaq2zdn2g7jh1wv9k6yrxraa"
+(build-system haskell-build-system)
+(home-page "http://hackage.haskell.org/package/directory;)
+(synopsis "Platform-agnostic library for filesystem operations")
+(description
+ "This library provides a basic set of operations for manipulating
+files and directories in a portable way.")
+(license license:bsd-3)))
+
 ;;; haskell.scm ends here
-- 
2.9.3




[PATCH 26/29] gnu: Add ghc-graphviz.

2016-09-03 Thread ng0
* gnu/packages/haskell.scm (ghc-graphviz): New variable.
---
 gnu/packages/haskell.scm | 42 ++
 1 file changed, 42 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 3bb991f..2841b7a 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -7016,4 +7016,46 @@ available to others.  Also available are 
non-fgl-specific functions
 for generating graph-like data structures.")
 (license license:bsd-3)))
 
+(define-public ghc-graphviz
+  (package
+(name "ghc-graphviz")
+(version "2999.18.1.2")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "https://hackage.haskell.org/package/;
+  "graphviz/graphviz-" version ".tar.gz"))
+  (sha256
+   (base32
+"1z453is01v0rnxlv6xx4iyaqv5vrp3bpz829mpv1a341sck2135h"
+(build-system haskell-build-system)
+(inputs
+ `(("ghc-quickcheck" ,ghc-quickcheck)
+   ("ghc-colour" ,ghc-colour)
+   ("ghc-dlist" ,ghc-dlist)
+   ("ghc-fgl" ,ghc-fgl)
+   ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
+   ("ghc-polyparse" ,ghc-polyparse)
+   ("ghc-temporary" ,ghc-temporary)
+   ("ghc-text" ,ghc-text)
+   ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
+(home-page "https://hackage.haskell.org/package/graphviz;)
+(synopsis "Bindings to Graphviz for graph visualisation")
+(description
+ "This library provides bindings for the Dot language used by
+the @uref{http://graphviz.org/, Graphviz} suite of programs for
+visualising graphs, as well as functions to call those programs.
+Main features of the graphviz library include:
+
+@enumerate
+@item Almost complete coverage of all Graphviz attributes and syntax
+@item Support for specifying clusters
+@item The ability to use a custom node type
+@item Functions for running a Graphviz layout tool with all specified output 
types
+@item Generate and parse Dot code with two options: strict and liberal
+@item Functions to convert FGL graphs and other graph-like data structures
+@item Round-trip support for passing an FGL graph through Graphviz to augment 
node
+and edge labels with positional information, etc.
+@end enumerate\n")
+(license license:bsd-3)))
+
 ;;; haskell.scm ends here
-- 
2.9.3




[PATCH 22/29] gnu: Add ghc-process.

2016-09-03 Thread ng0
* gnu/packages/haskell.scm (ghc-process): New variable.
---
 gnu/packages/haskell.scm | 20 
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index ced3626..9aa19d8 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -6944,4 +6944,24 @@ supported.  A module of colour names 
(\"Data.Colour.Names\") is provided.")
 files and directories in a portable way.")
 (license license:bsd-3)))
 
+(define-public ghc-process
+  (package
+(name "ghc-process")
+(version "1.4.2.0")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "https://hackage.haskell.org/package/process/process-;
+ version ".tar.gz"))
+   (sha256
+(base32
+ "1v1bav5isqxq9fc4lw714x94qbfsjbm2nn12kjp69r1ql8jaaaqw"
+(build-system haskell-build-system)
+(home-page "http://hackage.haskell.org/package/process;)
+(synopsis "Process libraries")
+(description
+ "This package contains libraries for dealing with system processes.")
+(license license:bsd-3)))
+
 ;;; haskell.scm ends here
-- 
2.9.3




[PATCH 10/29] gnu: Add ghc-regex-compat-tdfa.

2016-09-03 Thread ng0
* gnu/packages/haskell.scm (ghc-regex-compat-tdfa): New variable.
---
 gnu/packages/haskell.scm | 26 ++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 0b4ad6a..421d3a8 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -6633,4 +6633,30 @@ regular expressions.  Parsers can be built using 
Applicative interface.")
  "A new all Haskell \"tagged\" DFA regex engine, inspired by libtre")
 (license license:bsd-3)))
 
+(define-public ghc-regex-compat-tdfa
+  (package
+(name "ghc-regex-compat-tdfa")
+(version "0.95.1.4")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ 
"https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-;
+ version ".tar.gz"))
+   (sha256
+(base32
+ "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"
+(build-system haskell-build-system)
+(inputs
+ `(("ghc-regex-base" ,ghc-regex-base)
+   ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
+(home-page "http://hub.darcs.net/shelarcy/regex-compat-tdfa;)
+(synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
+(description
+ "One module layer over regex-tdfa to replace Text.Regex.  regex-compat
+can't use Unicode characters correctly because of using regex-posix. This
+is not good for Unicode users.  This modified regex-compat uses regex-tdfa
+to solve this problem.")
+(license license:bsd-3)))
+
 ;;; haskell.scm ends here
-- 
2.9.3




[PATCH 14/29] gnu: Add ghc-tar.

2016-09-03 Thread ng0
* gnu/packages/haskell.scm (ghc-tar): New variable.
---
 gnu/packages/haskell.scm | 31 +++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index b90f53b..6e56fe3 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -6734,4 +6734,35 @@ to solve this problem.")
 (description "ByteString-backed Handles") ; There is no description
 (license license:bsd-3)))
 
+(define-public ghc-tar
+  (package
+(name "ghc-tar")
+(version "0.5.0.3")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "https://hackage.haskell.org/package/tar/tar-;
+ version ".tar.gz"))
+   (sha256
+(base32
+ "18qq94j9bm91iswnxq2dm5dws5c7wm4k01q2rpf8py35cf3svnfq"
+(build-system haskell-build-system)
+(inputs
+ `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
+   ("ghc-quickcheck" ,ghc-quickcheck)
+   ("ghc-tasty" ,ghc-tasty)
+   ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
+(home-page "http://hackage.haskell.org/package/tar;)
+(synopsis "Reading, writing and manipulating \".tar\" archive files.")
+(description
+ "This library is for working with \\\"@.tar@\\\" archive files.
+It can read and write a range of common variations of archive format
+including V7, POSIX USTAR and GNU formats.  It provides support for
+packing and unpacking portable archives.  This makes it suitable for
+distribution but not backup because details like file ownership and exact
+permissions are not preserved.  It also provides features for random access
+to archive content using an index.")
+(license license:bsd-3)))
+
 ;;; haskell.scm ends here
-- 
2.9.3




[PATCH 17/29] gnu: Add ghc-patience.

2016-09-03 Thread ng0
* gnu/packages/haskell.scm (ghc-patience): New variable.
---
 gnu/packages/haskell.scm | 24 
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index e2ae5de..1511dbd 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -6817,4 +6817,28 @@ programs via \"ghci\", via \"runhaskell/runghc\", as 
well as compiled as
 an executable.")
 (license license:bsd-3)))
 
+(define-public ghc-patience
+  (package
+(name "ghc-patience")
+(version "0.1.1")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "https://hackage.haskell.org/package/patience/patience-;
+ version ".tar.gz"))
+   (sha256
+(base32
+ "0qyv20gqy9pb1acy700ahv70lc6vprcwb26cc7fcpcs4scsc7irm"
+(build-system haskell-build-system)
+(home-page "http://hackage.haskell.org/package/patience;)
+(synopsis "Patience diff and longest increasing subsequence")
+(description
+ "This library implements the 'patience diff' algorithm, as well as the
+patience algorithm for the longest increasing subsequence problem.
+Patience diff computes the difference between two lists, for example the lines
+of two versions of a source file.  It provides a good balance of performance,
+nice output for humans, and implementation simplicity.")
+(license license:bsd-3)))
+
 ;;; haskell.scm ends here
-- 
2.9.3




[PATCH 19/29] gnu: Add ghc-bytestring.

2016-09-03 Thread ng0
* gnu/packages/haskell.scm (ghc-bytestring): New variable.
---
 gnu/packages/haskell.scm | 37 +
 1 file changed, 37 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 65eebbd..ca6d59a 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -6864,4 +6864,41 @@ Polymorphism', by Mark P Jones.  This package is almost 
a compatible replacement
 the @code{mtl-tf} package.")
 (license license:bsd-3)))
 
+(define-public ghc-bytestring
+  (package
+(name "ghc-bytestring")
+(version "0.10.8.1")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "https://hackage.haskell.org/package/bytestring/bytestring-;
+ version ".tar.gz"))
+   (sha256
+(base32
+ "16zwb1p83z7vc5wlhvknpy80b5a2jxc5awx67rk52qnp9idmyq9d"
+(build-system haskell-build-system)
+(inputs
+ `(("ghc-random" ,ghc-random)
+   ("ghc-test-framework" ,ghc-test-framework)
+   ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
+   ("ghc-quickcheck" ,ghc-quickcheck)
+   ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
+   ("ghc-hunit" ,ghc-hunit)
+   ("ghc-byteorder" ,ghc-byteorder)
+   ("ghc-dlist" ,ghc-dlist)
+   ("ghc-mtl" ,ghc-mtl)))
+(arguments
+ `(#:tests? #f)) ; Test number two becomes non-responsive for 20+ minutes
+(home-page "https://github.com/haskell/bytestring;)
+(synopsis "Fast, compact, strict and lazy byte strings with a list 
interface")
+(description
+ "An efficient compact, immutable byte string type (both strict and lazy)
+suitable for binary or 8-bit character data.  The 'ByteString' type represents
+sequences of bytes or 8-bit characters.  It is suitable for high performance 
use,
+both in terms of large data quantities, or high speed requirements.  The 
'ByteString'
+functions follow the same style as ordinary lists, so it is easy to convert 
code
+from using 'String' to 'ByteString'.")
+(license license:bsd-3)))
+
 ;;; haskell.scm ends here
-- 
2.9.3




[PATCH 23/29] gnu: Add ghc-wl-pprint-text.

2016-09-03 Thread ng0
* gnu/packages/haskell.scm (ghc-wl-pprint-text): New variable.
---
 gnu/packages/haskell.scm | 22 ++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 9aa19d8..9e6d833 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -6964,4 +6964,26 @@ files and directories in a portable way.")
  "This package contains libraries for dealing with system processes.")
 (license license:bsd-3)))
 
+(define-public ghc-wl-pprint-text
+  (package
+(name "ghc-wl-pprint-text")
+(version "1.1.0.4")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ 
"https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-;
+ version ".tar.gz"))
+   (sha256
+(base32
+ "1xgizzimfw17mpmw2afvmnvyag976j8ggn7k5r564rkw9f0m6bgz"
+(build-system haskell-build-system)
+(inputs
+ `(("ghc-text" ,ghc-text)))
+(home-page "http://hackage.haskell.org/package/wl-pprint-text;)
+(synopsis "Wadler/Leijen Pretty Printer for Text values")
+(description
+ "A clone of wl-pprint for use with the text library.")
+(license license:bsd-3)))
+
 ;;; haskell.scm ends here
-- 
2.9.3




[PATCH 20/29] gnu: Add ghc-colour.

2016-09-03 Thread ng0
* gnu/packages/haskell.scm (ghc-colour): New variable.
---
 gnu/packages/haskell.scm | 22 ++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index ca6d59a..40122d9 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -6901,4 +6901,26 @@ functions follow the same style as ordinary lists, so it 
is easy to convert code
 from using 'String' to 'ByteString'.")
 (license license:bsd-3)))
 
+(define-public ghc-colour
+(package
+  (name "ghc-colour")
+  (version "2.3.3")
+  (source
+   (origin
+ (method url-fetch)
+ (uri (string-append
+   "https://hackage.haskell.org/package/colour/colour-;
+   version ".tar.gz"))
+ (sha256
+  (base32
+   "1qmn1778xzg07jg9nx4k1spdz2llivpblf6wwrps1qpqjhsac5cd"
+  (build-system haskell-build-system)
+  (home-page "http://www.haskell.org/haskellwiki/Colour;)
+  (synopsis "Model for human colour/color perception")
+  (description
+   "This package provides a data type for colours and transparency.
+Colours can be blended and composed.  Various colour spaces are
+supported.  A module of colour names (\"Data.Colour.Names\") is provided.")
+  (license license:expat)))
+
 ;;; haskell.scm ends here
-- 
2.9.3




[PATCH 15/29] gnu: Add ghc-transformers.

2016-09-03 Thread ng0
* gnu/packages/haskell.scm (ghc-transformers): New variable.
---
 gnu/packages/haskell.scm | 29 +
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 6e56fe3..f2b4a5e 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -6765,4 +6765,33 @@ permissions are not preserved.  It also provides 
features for random access
 to archive content using an index.")
 (license license:bsd-3)))
 
+(define-public ghc-transformers
+  (package
+(name "ghc-transformers")
+(version "0.5.2.0")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "https://hackage.haskell.org/package/transformers/transformers-;
+ version ".tar.gz"))
+   (sha256
+(base32
+ "1qkhi8ssf8c4jnmrw9dzym3igqbzq7h48iisaykdfzdsm09qfh3c"
+(build-system haskell-build-system)
+(home-page "http://hackage.haskell.org/package/transformers;)
+(synopsis "Concrete functor and monad transformers")
+(description
+ "A portable library of functor and monad transformers, inspired by the 
paper
+'Functional Programming with Overloading and Higher-Order Polymorphism',
+by Mark P Jones.  This package contains the monad transformer class and IO 
monad class,
+concrete functor and monad transformers, each with associated operations and 
functions
+to lift operations associated with other transformers.  The package can be 
used on
+its own in portable Haskell code, in which case operations need to be manually 
lifted
+through transformer stacks.  Alternatively, it can be used with the
+non-portable monad classes in the @code{mtl} or @code{monads-tf} packages,
+which automatically lift operations introduced by monad transformers through
+other transformers.")
+(license license:bsd-3)))
+
 ;;; haskell.scm ends here
-- 
2.9.3




[PATCH 13/29] gnu: Add ghc-bytestring-handle.

2016-09-03 Thread ng0
* gnu/packages/haskell.scm (ghc-bytestring-handle): New variable.
---
 gnu/packages/haskell.scm | 25 +
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 8f6612d..b90f53b 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -6709,4 +6709,29 @@ to solve this problem.")
 (description "Reasonably fast data encoding library.")
 (license license:bsd-3)))
 
+(define-public ghc-bytestring-handle
+  (package
+(name "ghc-bytestring-handle")
+(version "0.1.0.4")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ 
"https://hackage.haskell.org/package/bytestring-handle/bytestring-handle-;
+ version ".tar.gz"))
+   (sha256
+(base32
+ "0q5yzx90ad9w7qvaix05bynxwlsbqjrgfc4hqb355ibf991wd0rh"
+(build-system haskell-build-system)
+(inputs
+ `(("ghc-quickcheck" ,ghc-quickcheck)
+   ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
+   ("ghc-hunit" ,ghc-hunit)
+   ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
+   ("ghc-test-framework" ,ghc-test-framework)))
+(home-page "http://hub.darcs.net/ganesh/bytestring-handle;)
+(synopsis "ByteString-backed Handles")
+(description "ByteString-backed Handles") ; There is no description
+(license license:bsd-3)))
+
 ;;; haskell.scm ends here
-- 
2.9.3




[PATCH 07/29] gnu: Add ghc-haskeline.

2016-09-03 Thread ng0
* gnu/packages/haskell.scm (ghc-haskeline): New variable.
---
 gnu/packages/haskell.scm | 25 +
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index f3d43c4..8c6aee0 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -6558,4 +6558,29 @@ via bindings to the curses library.  Terminfo allows 
POSIX systems
 to interact with a variety of terminals using a standard set of capabilities.")
 (license license:bsd-3)))
 
+(define-public ghc-haskeline
+  (package
+(name "ghc-haskeline")
+(version "0.7.2.3")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "https://hackage.haskell.org/package/haskeline/haskeline-;
+ version ".tar.gz"))
+   (sha256
+(base32
+ "09wd6sxgn65xxpk7dhy1cg3ywlbk0ccqq7xylycwk4zazy3gjgkd"
+(build-system haskell-build-system)
+(inputs
+ `(("ghc-terminfo" ,ghc-terminfo)))
+(home-page "https://github.com/judah/haskeline;)
+(synopsis "A command-line interface for user input, written in Haskell.")
+(description
+ "Haskeline provides a user interface for line input in command-line
+programs.  This library is similar in purpose to readline, but since it
+is written in Haskell it is (hopefully) more easily used in other Haskell
+programs.")
+(license license:bsd-3)))
+
 ;;; haskell.scm ends here
-- 
2.9.3




[PATCH 08/29] gnu: Add ghc-regex-applicative.

2016-09-03 Thread ng0
* gnu/packages/haskell.scm (ghc-regex-applicative): New variable.
---
 gnu/packages/haskell.scm | 26 ++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 8c6aee0..d65bece 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -6583,4 +6583,30 @@ is written in Haskell it is (hopefully) more easily used 
in other Haskell
 programs.")
 (license license:bsd-3)))
 
+(define-public ghc-regex-applicative
+  (package
+(name "ghc-regex-applicative")
+(version "0.3.3")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "https://hackage.haskell.org/package/regex-applicative/;
+ "regex-applicative-" version ".tar.gz"))
+   (sha256
+(base32
+ "1riv7jqf26lbv4rm54sd6mrx8xdh4dvh4xbzymzdfdw13k6a4nb6"
+(build-system haskell-build-system)
+(inputs
+ `(("ghc-smallcheck" ,ghc-smallcheck)
+   ("ghc-tasty" ,ghc-tasty)
+   ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
+   ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
+(home-page "https://github.com/feuerbach/regex-applicative;)
+(synopsis "Regex-based parsing with applicative interface")
+(description
+ "regex-applicative is a Haskell library for parsing using
+regular expressions.  Parsers can be built using Applicative interface.")
+(license license:expat)))
+
 ;;; haskell.scm ends here
-- 
2.9.3




[PATCH 06/29] gnu: Add ghc-terminfo.

2016-09-03 Thread ng0
* gnu/packages/haskell.scm (ghc-terminfo): New variable.
---
 gnu/packages/haskell.scm | 22 ++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 6700b51..f3d43c4 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -6536,4 +6536,26 @@ that hide the C implementation.")
  "This module provides set and multiset operations on ordered lists.")
 (license license:bsd-3)))
 
+(define-public ghc-terminfo
+  (package
+(name "ghc-terminfo")
+(version "0.4.0.2")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "https://hackage.haskell.org/package/terminfo/terminfo-;
+ version ".tar.gz"))
+   (sha256
+(base32
+ "0mpqv0wn2x03mw8myc4j75hsgh1575dni6bndhqzspiz8hl8pa7y"
+(build-system haskell-build-system)
+(home-page "https://github.com/judah/terminfo;)
+(synopsis "Haskell bindings to the terminfo library.")
+(description
+ "This library provides an interface to the terminfo database
+via bindings to the curses library.  Terminfo allows POSIX systems
+to interact with a variety of terminals using a standard set of capabilities.")
+(license license:bsd-3)))
+
 ;;; haskell.scm ends here
-- 
2.9.3




[PATCH 25/29] gnu: Add ghc-fgl-arbitrary.

2016-09-03 Thread ng0
* gnu/packages/haskell.scm (ghc-fgl-arbitrary): New variable.
---
 gnu/packages/haskell.scm | 27 +++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 08d45f2..3bb991f 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -6989,4 +6989,31 @@ files and directories in a portable way.")
  "A clone of wl-pprint for use with the text library.")
 (license license:bsd-3)))
 
+(define-public ghc-fgl-arbitrary
+  (package
+(name "ghc-fgl-arbitrary")
+(version "0.2.0.2")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "https://hackage.haskell.org/package/fgl-arbitrary/fgl-arbitrary-;
+ version ".tar.gz"))
+   (sha256
+(base32
+ "12qbsla4vivffris6y3gj29vrafkpyazqdbdy2m55nggypqpf7ah"
+(build-system haskell-build-system)
+(inputs
+ `(("ghc-fgl" ,ghc-fgl)
+   ("ghc-quickcheck" ,ghc-quickcheck)
+   ("ghc-hspec" ,ghc-hspec)))
+(home-page "http://hackage.haskell.org/package/fgl-arbitrary;)
+(synopsis "QuickCheck support for fgl")
+(description
+ "Provides Arbitrary instances for fgl graphs to avoid adding a
+QuickCheck dependency for fgl whilst still making the instances
+available to others.  Also available are non-fgl-specific functions
+for generating graph-like data structures.")
+(license license:bsd-3)))
+
 ;;; haskell.scm ends here
-- 
2.9.3




[PATCH 04/29] gnu: Add ghc-cryptohash.

2016-09-03 Thread ng0
* gnu/packages/haskell.scm (ghc-cryptohash): New variable.
---
 gnu/packages/haskell.scm | 32 
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 6fda9d8..1b6e788 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -6484,4 +6484,36 @@ implement a custom format if needed.  Serialisation 
speeds of over 1 G\\/sec hav
 been observed, so this library should be suitable for high performance 
scenarios.")
 (license license:bsd-3)))
 
+(define-public ghc-cryptohash
+  (package
+(name "ghc-cryptohash")
+(version "0.11.9")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "https://hackage.haskell.org/package/cryptohash/cryptohash-;
+ version ".tar.gz"))
+   (sha256
+(base32
+ "1yr2iyb779znj79j3fq4ky8l1y8a600a2x1fx9p5pmpwq5zq93y2"
+(build-system haskell-build-system)
+(inputs
+ `(("ghc-byteable" ,ghc-byteable)
+   ("ghc-cryptonite" ,ghc-cryptonite)
+   ("ghc-memory" ,ghc-memory)
+   ("ghc-hunit" ,ghc-hunit)
+   ("ghc-quickcheck" ,ghc-quickcheck)
+   ("ghc-tasty" ,ghc-tasty)
+   ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
+   ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
+(home-page "http://github.com/vincenthz/hs-cryptohash;)
+(synopsis "collection of crypto hashes, fast, pure and practical")
+(description
+ "A collection of crypto hashes, with a practical incremental and one-pass,
+pure APIs, with performance close to the fastest implementations available in
+other languages.  The implementations are made in C with a haskell FFI wrapper
+that hide the C implementation.")
+(license license:bsd-3)))
+
 ;;; haskell.scm ends here
-- 
2.9.3




[PATCH 05/29] gnu: Add ghc-data-ordlist.

2016-09-03 Thread ng0
* gnu/packages/haskell.scm (ghc-data-ordlist): New variable.
---
 gnu/packages/haskell.scm | 20 
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 1b6e788..6700b51 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -6516,4 +6516,24 @@ other languages.  The implementations are made in C with 
a haskell FFI wrapper
 that hide the C implementation.")
 (license license:bsd-3)))
 
+(define-public ghc-data-ordlist
+  (package
+(name "ghc-data-ordlist")
+(version "0.4.7.0")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "https://hackage.haskell.org/package/data-ordlist/data-ordlist-;
+ version ".tar.gz"))
+   (sha256
+(base32
+ "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g"
+(build-system haskell-build-system)
+(home-page "http://hackage.haskell.org/package/data-ordlist;)
+(synopsis "Set and bag operations on ordered lists")
+(description
+ "This module provides set and multiset operations on ordered lists.")
+(license license:bsd-3)))
+
 ;;; haskell.scm ends here
-- 
2.9.3




[PATCH 09/29] gnu: Add ghc-regex-tdfa.

2016-09-03 Thread ng0
* gnu/packages/haskell.scm (ghc-regex-tdfa): New variable.
---
 gnu/packages/haskell.scm | 24 
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index d65bece..0b4ad6a 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -6609,4 +6609,28 @@ programs.")
 regular expressions.  Parsers can be built using Applicative interface.")
 (license license:expat)))
 
+(define-public ghc-regex-tdfa
+  (package
+(name "ghc-regex-tdfa")
+(version "1.2.2")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-;
+ version ".tar.gz"))
+   (sha256
+(base32
+ "0f8x8wyr6m21g8dnxvnvalz5bsq37l125l6qhs0fscbvprsxc4nb"
+(build-system haskell-build-system)
+(inputs
+ `(("ghc-mtl" ,ghc-mtl)
+   ("ghc-parsec" ,ghc-parsec)
+   ("ghc-regex-base" ,ghc-regex-base)))
+(home-page "https://github.com/ChrisKuklewicz/regex-tdfa;)
+(synopsis "Replaces/Enhances Text.Regex")
+(description
+ "A new all Haskell \"tagged\" DFA regex engine, inspired by libtre")
+(license license:bsd-3)))
+
 ;;; haskell.scm ends here
-- 
2.9.3




[PATCH 11/29] gnu: Add ghc-tasty-th.

2016-09-03 Thread ng0
* gnu/packages/haskell.scm (ghc-tasty-th): New variable.
---
 gnu/packages/haskell.scm | 22 ++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 421d3a8..7208fb4 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -6659,4 +6659,26 @@ is not good for Unicode users.  This modified 
regex-compat uses regex-tdfa
 to solve this problem.")
 (license license:bsd-3)))
 
+(define-public ghc-tasty-th
+  (package
+(name "ghc-tasty-th")
+(version "0.1.4")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "https://hackage.haskell.org/package/tasty-th/tasty-th-;
+ version ".tar.gz"))
+   (sha256
+(base32
+ "0dff9si8i1qp0s7p4hlk0l29vq7wxfglw6mvlgmld43h7rllv88q"
+(build-system haskell-build-system)
+(inputs
+ `(("ghc-tasty" ,ghc-tasty)))
+(home-page "http://github.com/bennofs/tasty-th;)
+(synopsis "Automatic tasty test case discovery using TH")
+(description
+ "Generate tasty TestTrees automatically with TemplateHaskell.")
+(license license:bsd-3)))
+
 ;;; haskell.scm ends here
-- 
2.9.3




[PATCH 12/29] gnu: Add ghc-sandi.

2016-09-03 Thread ng0
* gnu/packages/haskell.scm (ghc-sandi): New variable.
---
 gnu/packages/haskell.scm | 28 
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 7208fb4..8f6612d 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -6681,4 +6681,32 @@ to solve this problem.")
  "Generate tasty TestTrees automatically with TemplateHaskell.")
 (license license:bsd-3)))
 
+(define-public ghc-sandi
+  (package
+(name "ghc-sandi")
+(version "0.4.0")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "https://hackage.haskell.org/package/sandi/sandi-;
+ version ".tar.gz"))
+   (sha256
+(base32
+ "1smf3bq44qni4zbgxpw7cy7b9g95fbrr73j8njjf6139naj9bj20"
+(build-system haskell-build-system)
+(inputs
+ `(("ghc-stringsearch" ,ghc-stringsearch)
+   ("ghc-conduit" ,ghc-conduit)
+   ("ghc-exceptions" ,ghc-exceptions)
+   ("ghc-hunit" ,ghc-hunit)
+   ("ghc-tasty" ,ghc-tasty)
+   ("ghc-tasty-hunit" ,ghc-tasty-hunit)
+   ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
+   ("ghc-tasty-th" ,ghc-tasty-th)))
+(home-page "http://hackage.haskell.org/package/sandi;)
+(synopsis "Data encoding library")
+(description "Reasonably fast data encoding library.")
+(license license:bsd-3)))
+
 ;;; haskell.scm ends here
-- 
2.9.3




[PATCH 03/29] gnu: ghc-cryptonite: Update to 0.19.

2016-09-03 Thread ng0
* gnu/packages/haskell.scm (ghc-cryptonite): Update to 0.19.
---
 gnu/packages/haskell.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 3934c17..6fda9d8 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -5979,7 +5979,7 @@ tasty.")
 (define-public ghc-cryptonite
   (package
 (name "ghc-cryptonite")
-(version "0.9")
+(version "0.19")
 (source (origin
   (method url-fetch)
   (uri (string-append "https://hackage.haskell.org/package/;
@@ -5987,7 +5987,7 @@ tasty.")
   version ".tar.gz"))
   (sha256
(base32
-"1h22x22lq2m8h456v5j50xm0l25bcm3h1pchsk83br909hjxql4z"
+"1rw5k34vpn4134yrzdhf0rsshsrkixfbv9ap18di2n00z2cw1shw"
 (build-system haskell-build-system)
 (propagated-inputs
  `(("ghc-memory" ,ghc-memory)
-- 
2.9.3




[PATCH 16/29] gnu: Add ghc-findbin.

2016-09-03 Thread ng0
* gnu/packages/haskell.scm (ghc-findbin): New variable.
---
 gnu/packages/haskell.scm | 23 +++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index f2b4a5e..e2ae5de 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -6794,4 +6794,27 @@ which automatically lift operations introduced by monad 
transformers through
 other transformers.")
 (license license:bsd-3)))
 
+(define-public ghc-findbin
+  (package
+(name "ghc-findbin")
+(version "0.0.5")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "https://hackage.haskell.org/package/FindBin/FindBin-;
+ version ".tar.gz"))
+   (sha256
+(base32
+ "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"
+(build-system haskell-build-system)
+(home-page "https://github.com/audreyt/findbin;)
+(synopsis "Locate directory of original program")
+(description
+ "This module locates the full directory to the running program, to allow
+the use of paths relative to it.  FindBin supports invocation of Haskell
+programs via \"ghci\", via \"runhaskell/runghc\", as well as compiled as
+an executable.")
+(license license:bsd-3)))
+
 ;;; haskell.scm ends here
-- 
2.9.3




Re: src.zip, demos and samples in java idk

2016-09-03 Thread Vincent Legoll
Hello,

> Shall I move these to "doc" or to a new output (e.g. "examples").

Yes, I think it is common practice in other distros to separate doc,
samples & src
from the jdk itself.

> We should use the same scheme later for all packages where the examples will
> get a package by their own.

Maybe only for packages where this is significant size-wise...

-- 
Vincent Legoll



Re: Hardening

2016-09-03 Thread ng0
Ludovic Courtès  writes:

> Leo Famulari  skribis:
>
>> On Wed, Dec 30, 2015 at 05:06:30PM +0100, Ludovic Courtès wrote:
>>> Alex Vong  skribis:
>>> > Yes, I grep for `fstack-protector-strong' in the guix code base and no
>>> > matches are found. It appears no packages are setting this flag
>>> > currently. I think this flag (perhaps also a couple others) should be
>>> > set by default since they help protect against buffer overflow
>>> > .
>>> 
>>> I definitely agree, that’s something I’ve been wanting to try out.
>>> 
>>> The question is more how.  Do we change the default #:configure-flags
>>> for ‘gnu-build-system’ to something like:
>>> 
>>>   '("CPPFLAGS=-D_FORTIFY_SOURCE=2"
>>> "CFLAGS=-O2 -g -fstack-protector-strong")
>>> 
>>> ?
>>> 
>>> That sounds like a good starting point, but I expect that (1) one third
>>> of the packages will fail to build, and (2) another third of the
>>> packages will not get these flags, for instance because they pass their
>>> own #:configure-flags.
>>> 
>>> IOW, it will take a whole rebuild to find out exactly what’s going on
>>> and to fix any issues.
>>> 
>>> Would you like to start working on it?  Then we could create a branch,
>>> have Hydra build it, and incrementally fix things.
>>
>> We should pick this project back up. I was suprised to find we haven't
>> done anything like this after reading this recent blog post about Nix's
>> hardening effort:
>>
>> https://blog.mayflower.de/5800-Hardening-Compiler-Flags-for-NixOS.html?utm_source=twitterfeed_medium=twitter
>
> Definitely!  As discussed on IRC, an option would be to add a keyword
> parameter to ‘gnu-build-system’:
>
>   #:hardening-flags '(fortify stack-protector)
>
> Then ‘configure’ in (guix build gnu-build-system) would translate that
> into CPPFLAGS and CFLAGS options for ‘configure’, as shown above.
>
> The main difficulty with this is that many packages will break.  Thus,
> if we make it opt-out, we’ll have to fix packages one by one.  It seems
> unavoidable though.

That's how everyone does it, enable per package or globally, test, apply
system-specific patches. Unavoidable but it works. I think we could
create a branch, let's call it 'hardening', globally harden everything
and see how much fails and how, look at how debian, gentoo, *bsd solve
the hardening fails and fix it for every individual packages.

> Thoughts?
>
> Ludo’.
>

-- 
ng0
For non-prism friendly talk find me on http://www.psyced.org



Re: aseprite is now EULA licensed.

2016-09-03 Thread ng0
Nicolas Goaziou  writes:

> Hello,
>
> ng0  writes:
>
>> 2 days ago they changed from gpl-2 to eula. This could theoretically
>> mean we can update to 1.1.7 and freeze it there (hoping that a
>> compatible licensed fork appears or whatever will happen)?
>>
>> http://dev.aseprite.org/post/149797781837/new-source-code-license
>> https://github.com/aseprite/aseprite/commit/5ecc356a41c8e29977f8608d8826489d24f5fa6c
>
> I think the license change is a wrong way to solve the developer
> problem.
>
> Anyway, this raises an interesting question: would it make sense for
> Guix to allow an optional `donate' keyword associated to a list of URLs
> package definitions?
>
> Regards,
>
> -- 
> Nicolas Goaziou0x80A93738
>

Interesting idea.. it would allow metadata for the package listing
webview in the future and if someone wants to donate they don't have to
search the project websites, but could get a direct link to their web
site which lists details if available.

I don't know if we can do that, but I'd be in favor for it as there is
no damage attached for all involved parties.
-- 
ng0
For non-prism friendly talk find me on http://www.psyced.org



Re: [PATCH 1/1] gnu: Add acme-client.

2016-09-03 Thread Marius Bakke
Andreas Enge  writes:

> On Fri, Sep 02, 2016 at 02:50:28PM -0400, Leo Famulari wrote:
>> On Fri, Sep 02, 2016 at 08:01:55PM +0200, Hartmut Goebel wrote:
>> > Am 02.09.2016 um 16:49 schrieb Leo Famulari:
>> > > +(name "acme-client")
>> > I strongly suggest using a different name, as this is *one* of many
>> > implementations and it is not the "official" one.
>> Suggestions?
>
> Is there other reasonably widely used software with this name? Our package
> guidelines say to use the upstream name.

I don't know about widely used, but searching "acme-client" on github
shows four projects with this name, neither of which is this package.

Many distros prefix OpenBSD projects with ambigous names with
"openbsd-". E.g. "openbsd-netcat", "openbsd-ntpd" etc. We don't appear
to have that problem yet, but I think this could be a good precedent.

-marius



[PATCH] gnu: git: Update to 2.10.0.

2016-09-03 Thread John Darrington
* gnu/packages/version-control.scm (git): Update to 2.10.0.
---
 gnu/packages/version-control.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 34cfedf..9ff9801 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -111,14 +111,14 @@ as well as the classic centralized workflow.")
 (define-public git
   (package
(name "git")
-   (version "2.9.3")
+   (version "2.10.0")
(source (origin
 (method url-fetch)
 (uri (string-append "mirror://kernel.org/software/scm/git/git-"
 version ".tar.xz"))
 (sha256
  (base32
-  "0qzs681a64k3shh5p0rg41l1z16fbk5sj0xga45k34hp1hsp654z"
+  "1rr9zyafb6q3wixyjar6cc7z7vdh1dqa4b5irz3gz1df02n68cy7"
(build-system gnu-build-system)
(native-inputs
 `(("native-perl" ,perl)
@@ -131,7 +131,7 @@ as well as the classic centralized workflow.")
 version ".tar.xz"))
   (sha256
(base32
-"0kabsmjfbvq4y1vlwq0yl2y4033a90rnwsq01d7np3cvy55fiq0l"))
+"1y92v1bxk67ilsizqnjba6hqvrsy2zvmipyd9nnz865s21yrj5ry"))
(inputs
 `(("curl" ,curl)
   ("expat" ,expat)
-- 
2.1.4




haskell importer problems?

2016-09-03 Thread ng0
I'm manually constructing those packages as the importer fails. As not
only `guix import hackage graphviz' fails but also `guix import hackage
darcs', I assume it is not due to names..

ng0@shadowwalker ~/src/guix/guix-darcs$ guix import hackage graphviz
Syntax error: unexpected token : { (at line 6, column -1)
Syntax error: unexpected end of input
guix import: error: failed to download cabal file for package 'graphviz'

ng0@shadowwalker ~/src/guix/guix-darcs$ guix import hackage darcs
Syntax error: unexpected token : (buildable (False)) (at line 513, column 4)
Syntax error: unexpected end of input
guix import: error: failed to download cabal file for package 'darcs'

Anyone got a solution for this?
-- 
ng0
For non-prism friendly talk find me on http://www.psyced.org



Re: [PATCH] gnu: Add libicns

2016-09-03 Thread Marius Bakke
Brendan Tildesley  writes:

> From 64ca4155a754a93b26a1002185950f49469197f3 Mon Sep 17 00:00:00 2001
> From: Brendan Tildesley 
> Date: Sat, 3 Sep 2016 05:53:56 +1000
> Subject: [PATCH] gnu: Add libicns
>
> * gnu/packages/image.scm (libicns): New variable

Thanks! Nit-pick: we end commit messages and descriptions with a ".",
but this can be fixed by the committer.
  
> +(define-public libicns
> +  (package
> +(name "libicns")
> +(version "0.8.1")
> +(source (origin
> + (method url-fetch)
> + (uri (string-append
> +   "https://sourceforge.net/projects/icns/files/libicns-;

Could you change this to the mirror://sourceforge system?

> +   version ".tar.gz/download"))
> + (file-name (string-append "libicns-" version ".tar.gz"))

Changing file-name is only necessary if it doesn't already use a
"package-version.ext" style name, which this appears to do. `guix lint`
will tell whether this is needed.

> + (sha256 (base32
> +  
> "1hjm8lwap7bjyyxsyi94fh5817xzqhk4kb5y0b7mb6675xw10prk"
> +(build-system gnu-build-system)
> +(arguments
> + ;; no tests
> + '(#:tests? #f))
> +(inputs `(("libpng" ,libpng)
> +  ("jasper" ,jasper)))

We typically add the inputs on a new line, but I have no strong opinions
on this.

> +(home-page "http://icns.sourceforge.net/;)
> +(synopsis "Library for handling Mac OS icns resource files")
> +(description
> + "libicns is a library for the manipulation of Mac OS IconFamily resource
> +type files (ICNS).  icns2png and png2icns are provided to convert between PNG

When describing command-line tools, it looks prettier in generated
documentation by using `@command(icns2png)`, but this is not always the
case or necessary.

> +and ICNS. icns2png will extract image files from ICNS files under names like
> +\"Foo_48x48x32.png\" useful for installing for use with .desktop files.")
> +(license (list license:lgpl2.1+  ; libicns
> +   license:gpl2+ ; icns2png, png2icns, icontainer2png

A couple of files are "lgpl2+" as well.

Additionally this package bundles "m4" even if it doesn't use it. Can
you remove it with a "origin" snippet? See e.g. "xcb-util-xrm" for how
that's done.

The rest looks fine to me. Can you send an updated patch?

Thanks!
Marius



Re: [PATCH 1/1] gnu: Add acme-client.

2016-09-03 Thread Andreas Enge
On Fri, Sep 02, 2016 at 02:50:28PM -0400, Leo Famulari wrote:
> On Fri, Sep 02, 2016 at 08:01:55PM +0200, Hartmut Goebel wrote:
> > Am 02.09.2016 um 16:49 schrieb Leo Famulari:
> > > +(name "acme-client")
> > I strongly suggest using a different name, as this is *one* of many
> > implementations and it is not the "official" one.
> Suggestions?

Is there other reasonably widely used software with this name? Our package
guidelines say to use the upstream name.

Andreas




Re: aseprite is now EULA licensed.

2016-09-03 Thread Nicolas Goaziou
Hello,

ng0  writes:

> 2 days ago they changed from gpl-2 to eula. This could theoretically
> mean we can update to 1.1.7 and freeze it there (hoping that a
> compatible licensed fork appears or whatever will happen)?
>
> http://dev.aseprite.org/post/149797781837/new-source-code-license
> https://github.com/aseprite/aseprite/commit/5ecc356a41c8e29977f8608d8826489d24f5fa6c

I think the license change is a wrong way to solve the developer
problem.

Anyway, this raises an interesting question: would it make sense for
Guix to allow an optional `donate' keyword associated to a list of URLs
package definitions?

Regards,

-- 
Nicolas Goaziou0x80A93738



Re: [PATCH] guix: ant-build-system: Fix pattern for collecting jar-files.

2016-09-03 Thread Ricardo Wurmus
Thanks!  I pushed this to master as abc4cb57ca6ae015e916d0218a904b250ec23659.

~~ Ricardo




Re: GHM debriefing

2016-09-03 Thread Hartmut Goebel
Am 01.09.2016 um 00:28 schrieb Clément Lassieur:
> The libreboot website [3] explains "what's wrong with Gitlab", I think
> it is worth reading.

Below the line these thoughts are worth to consider. Esp. that the
"Community Edition" will always be on the drip of the vendor. This is
the same problem for all "community edition" projects.

(Beside this the libreboot page holds some un-backed statements like
"the opinions expressed", which makes me take that page with a grain of
salt.)

-- 
Schönen Gruß
Hartmut Goebel
Dipl.-Informatiker (univ), CISSP, CSSLP, ISO 27001 Lead Implementer
Information Security Management, Security Governance, Secure Software
Development

Goebel Consult, Landshut
http://www.goebel-consult.de

Blog:
http://www.goebel-consult.de/blog/bestanden-iso-27001-lead-implementer
Kolumne:
http://www.cissp-gefluester.de/2012-01-in-die-cloud-in-die-cloud-aber-wo-soll-die-sein




Re: [PATCH 1/1] gnu: Add acme-client.

2016-09-03 Thread Hartmut Goebel
Am 02.09.2016 um 20:50 schrieb Leo Famulari:
> On Fri, Sep 02, 2016 at 08:01:55PM +0200, Hartmut Goebel wrote:
>> Am 02.09.2016 um 16:49 schrieb Leo Famulari:
>>> +(name "acme-client")
>>>
> Suggestions?

acme-client-openbsd? But given that this is a stupid name, and given
that
https://www.metachris.com/2015/12/comparison-of-10-acme-lets-encrypt-clients/
does not list a program with this name, may we should stick with the
official name.


>
>> *shiver* Why would one implement this in an language like C, which is
>> prone to buffer overflows, if there are implementations available in
>> more secure languages?
> I wouldn't propose this package if it wasn't part of OpenBSD's base
> system:

I'm sorry, no offence meant! I only wanted do express my doubt about
using C if other implementations are available. (I just had a look at
the source, which did not make me more confident in this piece of
software; as far as can see they implement a  a http-client from stretch
and include a json-parse instead of linking one.) I also know, OpenBSD
delivers good software.

It's not our job to decide what software a sysadmin should install. It's
the sysadmin's responsibility. Our job as distribution-builders is to 
provide software to the sysadmin.

-- 
Schönen Gruß
Hartmut Goebel
Dipl.-Informatiker (univ), CISSP, CSSLP, ISO 27001 Lead Implementer
Information Security Management, Security Governance, Secure Software
Development

Goebel Consult, Landshut
http://www.goebel-consult.de

Blog: http://www.goebel-consult.de/blog/verschlusselte-mailingslisten
Kolumne: http://www.cissp-gefluester.de/2010-07-passwoerter-lieben-lernen



smime.p7s
Description: S/MIME Cryptographic Signature


[PATCH] guix: ant-build-system: Fix pattern for collecting jar-files.

2016-09-03 Thread Hartmut Goebel
The former pattern did include the "jar" binary.

* guix/build/ant-build-system.scm (generate-classpath): Change pattern.

Suggested by: Ricardo Wurmus 
---
 guix/build/ant-build-system.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/guix/build/ant-build-system.scm b/guix/build/ant-build-system.scm
index 6dc19ff..00a4a46 100644
--- a/guix/build/ant-build-system.scm
+++ b/guix/build/ant-build-system.scm
@@ -83,7 +83,7 @@ INPUTS."
   (string-join
(apply append (map (match-lambda
 ((_ . dir)
- (find-files dir "\\.*jar$")))
+ (find-files dir "\\.jar$")))
   inputs)) ":"))
 
 (define* (unpack #:key source #:allow-other-keys)
-- 
2.7.4




src.zip, demos and samples in java idk

2016-09-03 Thread Hartmut Goebel
Hi,

I discovered that the "jdk" of icedtea includes "demos", "samples" and
even a "src.zip" file. These are as big as 50 MB, where the src.zip
contributes by 43 MB. Thee 50MB are ca. 12% of the whole jdk.

IMHO, all of these should not be there since they are rarely needed.
Also it is common security best-practice to *not* include any demo code
on production systems - which should at least followed by such large
packages. The reasoning is that demos and examples are often prone to
errors and offering attack points.

Shall I move these to "doc" or to a new output (e.g. "examples").

We should use the same scheme later for all packages where the examples
will get a package by their own.

-- 
Schönen Gruß
(Please mind Hartmut Goebel
Dipl.-Informatiker (univ), CISSP, CSSLP, ISO 27001 Lead Implementer
Information Security Management, Security Governance, Secure Software
Development

Goebel Consult, Landshut
http://www.goebel-consult.de

Blog:
http://www.goebel-consult.de/blog/bewertung-pgp-verschlusselung-bei-web.de-und-gmx

Kolumne:
http://www.cissp-gefluester.de/2011-09-kommerz-uber-recht-fdp-die-gefaellt-mir-partei




smime.p7s
Description: S/MIME Cryptographic Signature


  1   2   >