Re: Tracking package submissions with Debbugs

2016-09-04 Thread Andreas Enge
Hello,

using debbugs corresponds to a suggestion I made a while ago, so I am
obviously in favour of it...

On Sun, Sep 04, 2016 at 10:37:02AM +0800, Alex Vong wrote:
> > 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?

I do not quite understand the problem with relating bug reports to packages.
The discussion sounds as if we considered one constantly open bug report per
package, which is maybe a misunderstanding on my part. I would say that bug
reports should correspond roughly to our current discussion threads on
guix-devel: Someone sends in a patch or patch series, which opens a new bug
(there seems to be the problem of git-sendmail still); there are replies back
and forth; in the end the patch is applied (or, from time to time, retracted),
and the bug is closed. In this way, we have an overview of pending patches
and are less likely to forget one.

As for the non-emacs users, I intend to work as before: Subscribe to all the
bugs and have them end up in my mailbox, reply, and potentially close them
by mail.

Andreas




Re: [PATCH] gnu: gtk: Add clipit.

2016-09-04 Thread 宋文武
doncatnip  writes:

> Hey Guix,
>
> This patch adds ClipIt (clipit) to the repository. Tested with lint,
> build rounds=2 and actual usability.

Thanks for the patch!  I applied it with modifications of:

- use a release tarball and remove the autogen phase.
- adjust the description to include the subject and remove the last
  sentence for changes.



Re: [PATCH] gnu: awesome: Shorten the description.

2016-09-04 Thread Alex Kost
ng0 (2016-08-21 00:02 +0300) wrote:

> awesome has 11 or 12 lines description where the same problem applies
> dwm had.  Please do not try to explain the concepts of twm etc in the
> description, this can be done by visiting (home-page) or other sources.
>
> From 26b9e2e6e4d61928d9067540f7785a2aa595ef33 Mon Sep 17 00:00:00 2001
> From: ng0 
> Date: Sat, 20 Aug 2016 20:56:46 +
> Subject: [PATCH] gnu: awesome: Shorten the description.

Applied as c4dd0de.

-- 
Alex



Re: [PATCH v2] gnu: Add python-odfpy.

2016-09-04 Thread Alex Kost
Marius Bakke (2016-09-02 14:55 +0300) wrote:

> From 99216a79ddd817ce7be9da451c0a1b5d9ef73f46 Mon Sep 17 00:00:00 2001
> From: Marius Bakke 
> Date: Wed, 17 Aug 2016 17:45:24 +0100
> Subject: [PATCH] gnu: Add python-odfpy.

Applied as dddcb25, thanks!

-- 
Alex



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

2016-09-04 Thread David Craven
Thanks! Pushed as 8cfdd64c3797bd014ad742bd4bd994d647ced985.

P.S. Can you create your patches with git format-patch in the future?
That saves reviewers some time, so that they don't have to retype the
commit message and find your author line and change the author of the
commit ;)



Re: [PATCH] gnu: Add libicns

2016-09-04 Thread David Craven
Thanks Marius and Brendan!

I removed the autotools inputs and build-phase, since the release
tarball already contains a configure script and fixed some
indentation.

Pushed as f5e4229a075e7aca255ab54d4e98526409520c62.



Re: [PATCH] gnu: gzochi: Update to 0.10.

2016-09-04 Thread David Craven
Thanks! Pushed as 7b39b7eb91112616a26a7b5de1d0d4782c83add9.



Re: Using a function as build-step?

2016-09-04 Thread Hartmut Goebel
Hi David,
> So you'll have to do  (add-after
> 'install 'install-javadocs ,install-javadocs) to make it available.

I has tried this already. For some reason this did not work for me. :-(

-- 
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/feiertagsarbeit-bei-teletrust
Kolumne: http://www.cissp-gefluester.de/2010-06-adobe-und-der-maiszunsler



Shepherd redirect stdout/stderr to syslog

2016-09-04 Thread David Craven
Hi,

I'm having difficulties debugging a service that logs it's output to
tty1. I can't scroll the output - so the debug messages aren't very
useful. Is redirecting stdout/stderr to syslog something that
make-forkexec-constructor could/should do? Or is there already a way
to get the output I'm not aware of?

Thanks!
David



Re: Using a function as build-step?

2016-09-04 Thread David Craven
> I have tried this already. For some reason this did not work for me. :-(

Mmh. Maybe you could post a patch so that we can test it? Or maybe
someone more knowledgeable has an answer...



Re: Using a function as build-step?

2016-09-04 Thread Hartmut Goebel
Am 04.09.2016 um 13:29 schrieb David Craven:(
> Mmh. Maybe you could post a patch so that we can test it? Or maybe
> someone more knowledgeable has an answer...
>

Enclosed. I assume for someone knowledgeable in guile this is a no-brainer.

-- 
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/get-current-locale-with-ansible
Kolumne: http://www.cissp-gefluester.de/2010-08-scheingefechte-um-rim



Re: Using a function as build-step? (w/ attachement)

2016-09-04 Thread Hartmut Goebel
Am 04.09.2016 um 13:29 schrieb David Craven:(
> Mmh. Maybe you could post a patch so that we can test it? Or maybe
> someone more knowledgeable has an answer...
>

Enclosed. I assume for someone knowledgeable in guile this is a no-brainer.

-- 
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/get-current-locale-with-ansible
Kolumne: http://www.cissp-gefluester.de/2010-08-scheingefechte-um-rim

(use-modules (guix)
 (guix build-system ant)
 (guix licenses)
(gnu packages base)
(gnu packages java)
(gnu packages zip)
)

(define* (apache-commons-url projname version 
 #:optional (basename 
 (string-append "commons-" projname)))
  (string-append
   "https://archive.apache.org/dist/commons/"; projname "/source/"
   basename "-" version "-src.tar.gz"))

; todo: how to use these as a phase, like
;  (replace 'install install-jars)
;  (add-after 'build build-javadoc)

(define* (symlink-junit-jar #:key outputs #:allow-other-keys)
; Put a symlink to the acutal junit.jar into lib/jsunit-VERSION.jar
  (let ((junit (assoc-ref inputs "java-junit"))
(junit-version "4.12")) ; from build.xml
(mkdir-p "lib")
(symlink (string-append junit "/share/java/junit.jar")
 (string-append "lib/junit-" junit-version ".jar"


(define* (install-jars #:key outputs #:allow-other-keys)
  (let ((share (string-append (assoc-ref outputs "out")
  "/share/java")))
(for-each (λ (f) (install-file f share))
  (find-files "." "\\.jar2$"

(define* (build-javadoc #:key (make-flags '()) #:allow-other-keys)
; build command for calling the ant task "javadoc"
  (zero? (apply system* `("ant" "javadoc" ,@make-flags

(define* (install-javadoc #:key outputs #:allow-other-keys)
; build command for installing the javs docs into
; DOC/share/doc/NAME-VERSION
  (let ((docs (string-append (assoc-ref outputs "doc")
 "/share/doc/" name "-" version "/")))
(mkdir-p docs)
(copy-recursively "target/apidocs" docs)))


(define-public java-commons-io
  (package
(name "java-commons-io")
(version "2.5")
(source (origin
  (method url-fetch)
  (uri (apache-commons-url "io" version))
  (sha256 (base32 "0q5y41jrcjvx9hzs47x5kdhnasdy6rm4bzqd2jxl02w717m7a7v3"
(build-system ant-build-system)
(outputs '("out" "doc"))
(arguments
 `(#:test-target "test"
   #:phases
   (modify-phases %standard-phases
 (add-after 'unpack 'symlink-junit.jar ;symlink-junit-jar)
   (lambda* (#:key inputs #:allow-other-keys)
 (let ((junit (assoc-ref inputs "java-junit"))
   (junit-version "4.12")) ; from build.xml
   (mkdir-p "lib")
	   (symlink (string-append junit "/share/java/junit.jar")
			(string-append "lib/junit-" junit-version ".jar")))
 ))
 (add-after 'build 'build-javadoc ;`build-javadoc)
   (lambda* (#:key (make-flags '()) #:allow-other-keys)
 (zero? (apply system* `("ant" "javadoc" ,@make-flags)
 (replace 'install ;`install-jars)
   (lambda* (#:key outputs #:allow-other-keys)
 (let ((share (string-append (assoc-ref outputs "out") 
 "/share/java")))
   (for-each (λ (f) (install-file f share))
 (find-files "target" "\\.jar$")
 (add-after 'install 'install-doc ;install-javadoc)
   (lambda* (#:key outputs #:allow-other-keys)
; (`install-javadoc outputs ,name ,version)
 (let ((docs (string-append (assoc-ref outputs "doc")
"/share/doc/" ,name "-" ,version "/")))
   (mkdir-p docs)
   (copy-recursively "target/apidocs" docs)
   )))

)))
(native-inputs
 `(("java-junit" ,java-junit)
   ("(java-hamcrest-core" ,java-hamcrest-core)))
(home-page "http://commons.apache.org/io/";)
(synopsis "Common useful IO related classes")
(description "Commons-IO contains utility classes, stream implementations,
file filters and endian classes.")
(license asl2.0)
))

java-commons-io


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

2016-09-04 Thread ng0
Andreas Enge  writes:

> 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
>

Okay, I just wanted to ask. It felt a bit frustrating at first to get
such a comment on something I worked on for more than just a few
minutes. Thanks for clearing this up.

There is no other solution than to contribute to upstream to work
towards qt5 port. There's not much difference between pyqt5 and pyqt4,
but I don't have the time to investigate and invest into this at the
moment. My bugreport was a 1on1 message exchange with one of the
developers of PyBitmessage, I'll open official bugreports now because
this is not effective (I had a 50% finished setup.py passed along to
this developer several months ago as a patch, nothing happened... github
reaction was much faster).
I know because a repository of it exists, that python2 -> python3 is
being worked on.
I want to drop qt4, but this application currently leaves me no other
choice than to rely on qt4 and pyqt4.
-- 
ng0
For non-prism friendly talk find me on http://www.psyced.org



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

2016-09-04 Thread ng0
Upstream Bugreport:
https://github.com/Bitmessage/PyBitmessage/issues/897
-- 
ng0
For non-prism friendly talk find me on http://www.psyced.org



Re: [PATCH] gnu: awesome: Update to 3.5.9.

2016-09-04 Thread ng0
Hi,

you possibly need to rebase the patch which adds awesome, I shortened
the description of the package in master:
https://lists.gnu.org/archive/html/guix-devel/2016-09/msg00317.html

I have not tested your patch after this, just a reminder that this was
changed recently.

ng0  writes:

> gno  writes:
>
>> On 9/2/2016 2:53 PM, ng0 wrote:
>>
>>> For some reason xrandr started to kill awesome (X11) session when I
>>> apply my layout now. I checked with arandr and also with --dryrun if my
>>> layout is the problem, but there's nothing faulty.
>>> Maybe there are changes which can't just be installed in my user profile
>>> and need to in system.
>>
>> Hmm, that's not good. No errors or other logs ?
>
> Could be unrelated. Could be because I did not launch it in a vm but in
> my actual live system. This is not a criteria to reject patches, if
> anything this is a bug on my end, and if it's a bug in the package, it
> is unlikely you introduced it (I would even say impossible, looking at
> the patches), there's nothing which could cause this.
>
>> Also, since I yet again didn't include the list in my previous response:
>>
>> On 9/2/2016 12:43 PM, ng0 wrote:
>>
>>> Hi,
>>> Thanks for your patches.
>>> It works, I'm currently using this patchset.
>>> Some minor improvements can be made (comments style) which in my opinion
>>> the person commiting your patch can apply.
>>
>> Please, I'd appreciate any hints as to how I could improve my comment
>> style. Don't hold back
>>
>> Thanks for testing.
>>
>
> -- 
> ng0
> For non-prism friendly talk find me on http://www.psyced.org
>

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



Re: Removing the attic package

2016-09-04 Thread ng0
Leo Famulari  writes:

> The Attic backup program [0] has a serious problem, and I think we
> should consider removing our package of it.
>
> The problem is that Attic appears to be unmaintained since it was forked
> as "Borg". For almost 11 months, there has been no response from the
> Attic maintainer to a bug that unrecoverably corrupts the backup
> repository when the disk becomes full [1]. Of course, this situation is
> not acceptable for "backup" software.
>
> Debian has stopped packaging Attic in response [2].
>
> At the very least, I think we should add a strong warning to the package
> description and synopsis.
>
> [0]
> https://attic-backup.org/
>
> [1]
> https://github.com/jborg/attic/issues/356
>
> [2]
> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=802619
>

There has been no update since 2015. Can the current status of the bug
(solved? unsolved? wontfix? work in progress?) be requested from the
upstream developer(s)?
Otherwise the bug reads like we should include it in our package
description, pointing out that it is currently limited to 15GB backup
(if that's what this was about, I did not read all of it).
-- 
ng0
For non-prism friendly talk find me on http://www.psyced.org



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

2016-09-04 Thread ng0
Status update: I need to figure out some darcs issues now, I'll post an
updated patch later today. Dependency graph got some additions,
bootstraping solved.

ng0  writes:

> 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 || 
>>>

[PATCH] gnu: Add tcp-wrappers.

2016-09-04 Thread John Darrington
* gnu/packages/networking.scm (tcp-wrappers): New variable.
* gnu/packages/messaging.scm (ngircd) [inputs]: Add tcp-wrappers.
---
 gnu/packages/messaging.scm  |  6 ++--
 gnu/packages/networking.scm | 79 +
 2 files changed, 83 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index fa4515c..b557b2f 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -44,6 +44,7 @@
   #:use-module (gnu packages xorg)
   #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages libcanberra)
+  #:use-module (gnu packages networking)
   #:use-module (gnu packages libidn)
   #:use-module (gnu packages lua)
   #:use-module (gnu packages xml)
@@ -208,8 +209,9 @@ dictionaries.  HexChat can be extended with multiple 
addons.")
 (native-inputs `(("procps" ,procps)
  ("expect" ,expect)
  ("inetutils" ,inetutils)))
-;; XXX Add libident, libwrap.
+;; XXX Add libident.
 (inputs `(("zlib" ,zlib)
+  ("libwrap" ,tcp-wrappers)
   ("gnutls" ,gnutls)
   ,@(if (string-suffix? "-linux"
 (or (%current-target-system)
@@ -218,7 +220,7 @@ dictionaries.  HexChat can be extended with multiple 
addons.")
 '(
 (arguments
  `(#:configure-flags
-   '("--with-gnutls" "--with-iconv" "--enable-ipv6"
+   '("--with-gnutls" "--with-iconv" "--enable-ipv6" "--with-tcp-wrappers"
  ,@(if (string-suffix? "-linux"
(or (%current-target-system)
(%current-system)))
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 07f0b9d..9a562ba 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -135,6 +135,85 @@ establish a relatively secure environment (su and chroot) 
for running client
 or server shell scripts with network connections.")
 (license license:gpl2)))
 
+
+(define-public tcp-wrappers
+  (package
+(name "tcp-wrappers")
+(version "7.6")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"ftp://ftp.porcupine.org/pub/security/tcp_wrappers_";
+version ".tar.gz"))
+  (sha256
+   (base32
+"0p9ilj4v96q32klavx0phw9va21fjp8vpk11nbh6v2ppxnnxfhwm"
+(build-system gnu-build-system)
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (delete 'configure)  ; there is no configure script
+ (delete 'check)  ; there are no tests
+ (replace 'build
+   (lambda _
+ (chmod "." #o755)
+ ;; Upstream doesn't generate a shared library.  So we have to do 
it.
+ (setenv "CC" "gcc -fno-builtin -fPIC")
+ (substitute* "Makefile"
+   (("^(all[^\n]*)" line) (string-append line " libwrap.so\n
+libwrap.so: $(LIB_OBJ)\n
+\tgcc -shared $^ -o $@\n")))
+ ;; Deal with some gcc breakage.
+ (substitute* "percent_m.c"
+   (("extern char .sys_errlist.*;") ""))
+ (substitute* "scaffold.c"
+   (("extern char .malloc.*;") ""))
+ ;; This, believe it or not, is the recommended way to build!
+ (zero? (system* "make" "REAL_DAEMON_DIR=/etc" "linux"
+ ;; There is no make install stage, so we have to do it ourselves.
+ (replace 'install
+   (lambda _
+ (let ((out (assoc-ref %outputs "out"))
+   (man-pages `("hosts_access.3"
+   "hosts_access.5"
+   "hosts_options.5"
+   "tcpd.8"
+   "tcpdchk.8"
+   "tcpdmatch.8"))
+   (libs  `("libwrap.a"
+"libwrap.so"))
+   (headers `("tcpd.h"))
+   (bins `("safe_finger"
+  "tcpd"
+  "tcpdchk"
+  "tcpdmatch"
+  "try-from")))
+   (map (lambda (x)
+  (install-file x (string-append
+(assoc-ref %outputs "out")
+   "/include"))) headers)
+   (map (lambda (x)
+  (install-file x (string-append
+(assoc-ref %outputs "out")
+   "/share/man/man"
+   (string-take-right x 1 man-pages)
+   (map (lambda (x)
+  (install-file x (string-append
+(assoc-ref %outputs "out")
+   "/lib/"))) libs)
+   (map (lambda (x)
+  (install-file x (s

ghc 8

2016-09-04 Thread ng0
Hi,

should we package ghc 8 in core-updates? It was released in May:
https://ghc.haskell.org/trac/ghc/blog/ghc-8.0.1-released

I'm currently packaging darcs, but I can do the version bump
afterwards.
-- 
ng0
For non-prism friendly talk find me on http://www.psyced.org



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

2016-09-04 Thread David Craven
Is this ok as a description? I don't think the term display server is
commonly used for wayland compositors, so I left the synopsis.

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

A Wayland compositor allows applications to render to a shared offscreen
buffer using opengles.  The compositor then culls the hidden parts and
composes the final output.  A Wayland compositor is essentially a
multiplexer to the KMS/DRM kernel devices.")

I renamed xwayland to xorg-server-xwayland and added cairo-xcb to
gtk.scm, xorg-server-xwayland to xorg.scm and weston to
freedesktop.scm.



Re: GSoC NPM

2016-09-04 Thread Jan Nieuwenhuizen
Jelle Licht writes:

Hi Jelle!

Here's a new patch replacing the previous one, summary

   * add --binary option to importer, sets (arguments (#:binary? #t))
   * use `npm build' for non-binary packages as fallback (WAS: skip)
   * use `npm install -g' for non-binary packages; fixes e.g. loadash
   * fallback for packages dist tarball/binary-only: e.g.: http
   * handle packages without any tags in git, e.g.: cjson
   * handle packages with version mismatch, e.g.: xmldom

With these small additions to your work I'm able to automagically fetch
the full list of 318 (binary) packages that I need for my client's
project (which has 40 toplevel dependencies such as bunyan, express,
jison, jquery, nodemailer, pg, q, socket.io, underscore, xmldom).

> The short of it is that the dist tarball does not always contain the
> actual source code.  Examples of this include generated code, minified
> code etc.

Yes, I see that now.  David remarked that the dist tarball should be
considered to be a binary package.

> The devDependencies are, in these cases, the things we need to be able
> to actually build the package. Examples of this include gulp, grunt,
> and several testing frameworks.

Yes...and here is where it starts getting interesting.

I made several attempts to build packages from source, but except for
packages that imho should not be allowed to exist such as `array-equal',
that seemed next to impossible.  Maybe I was unlucky, or maybe I am
missing something?

As a first attempt, I tried to recursively import `q', a fairly basic
package from my possibly ignorant perspective: can you write anything
non-trivial in node without using q?.  When that resulted in over 6004
dependencies (using build systems grunt, gulp and node-gyp, listing 582
errors), I was pretty sure there was a problem with your importer.
Using the --binary option, q has no dependencies.  None.  Single
package.  Hmm.

The `babel' package, a prerequisite for the the `gulp' build system
which is needed to build the `har-validator' library needed to run the
`node-gyp' build system, has a list of over 6000 dependencies.

Build systems building build systems...

> For simple packages, the difference between a npm tarball and a GH
> tarball/repo are non-existent. I made the choice to skip the npm
> tarball because I'd rather err on the side of caution, and not let
> people download and run these non-source packages by accident ;-).

Yes, that makes sense.  I found that the `http' package has this binary
form only so I added it as a fallback for now.

> I will have more time to see this through next week.

That's great, thanks.

Greetings,
Jan

See https://gitlab.com/janneke/guix.git -- branch npm-binary

>From c60e72504a8ba4bb6a90c07bef7844d461a12467 Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen 
Date: Fri, 2 Sep 2016 16:16:35 +0200
Subject: [PATCH] npm importer: support --binary and fixes for e.g.: cjson,
 http, xmldom.

* gnu/nmp.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* guix/scripts/import/npm.scm: Add --binary option.
* guix/import/npm.scm (gh-fuzzy-tag-match): Add two fallbacks: missing /TAGS
and VERSION mismatch.
(strip-.git-if-needed project): New function.
(github-user-slash-repository, github-repository): Use it.
(source-uri): Fallback to use `binary' (dist . tarball).  Add optional binary?
parameter to prefer binary fallback.
(spdx-string->license): Add LGPL, fix LGPL-3.0.
(make-npm-sexp): Add optional binary? parameter to set #:binary? argument.
(npm->guix-package): Add optional binary? parameter to set #:binary? argument
to ignore devDependencies.
(recursive-import): Add optional binary? parameter.
* guix/build-system/node.scm (node-build): Add binary? and make-flags keys.
* guix/build/node-build-system (build): Also check for `Gulpfile.js', fallback
to generic `npm build'.  Skip build if #:binary?.
(binary-install): Rename from install.
(npm-install): New function.
(install): Have #:binary? switch between binary-install, and npm-install.
(package-origin): Handle registry.npmjs.org url.
(npm->guix-package)[npm-binary?]: Discard devDependencies.
---
 gnu/local.mk |   1 +
 gnu/packages/npm.scm |  34 +
 guix/build-system/node.scm   |   4 +
 guix/build/node-build-system.scm |  30 ++--
 guix/import/npm.scm  | 161 +++
 guix/scripts/import/npm.scm  |  13 +++-
 6 files changed, 186 insertions(+), 57 deletions(-)
 create mode 100644 gnu/packages/npm.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index b9d2a11..4fa94c7 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -255,6 +255,7 @@ GNU_SYSTEM_MODULES =\
   %D%/packages/nettle.scm			\
   %D%/packages/networking.scm			\
   %D%/packages/ninja.scm			\
+  %D%/packages/npm.scm\
   %D%/packages/node.scm\
   %D%/packages/noweb.scm			\
   %D%/packages/ntp.scm\
diff --git a/gnu/packages/npm.scm b/gnu/packages/npm.scm
new file mode 100644
index 000..43b7774
--- /dev/null

Re: [PATCH] gnu: Add p7zip.

2016-09-04 Thread Ricardo Wurmus

Hi Kei,

> Ricardo Wurmus  writes:
>
>> Kei Kebreau  writes:
>>
>>> Ricardo Wurmus  writes:
>>>
 Kei Kebreau  writes:

> Whoops, last patch was a bit messy and stacked on the previous one. This
> patch should be better!

 I just wanted to push a slightly modified version of this (attached) but
 I cannot actually build the package.  The patch to remove unused code
 does not apply due to different line endings.

 Could you please take a look at this again and make sure that the patch
 to the sources applies?

 ~~ Ricardo

>>> I just tried it on my machine, and everything applied and built
>>> correctly from a clean Guix tree. I don't exactly know how to proceed
>>> From here. Perhaps a third party can try to build from the patch?
>>
>> The problem might be with the inline patch in the email.  Don’t know.
>>
>> ~~ Ricardo
>
> I'll try sending it again, for lack of a better plan. If all else fails
> I can post it on paste.lisp.org.

I fetched the unpatched sources, initialised a fresh git repo, then
partially applied the patch, then fixed the errors, then regenerated the
patch and compared it to your patch.  Turns out that all of the lines in
the two failed hunks end on 0x0d0a, but in your patch this doesn’t
happen, hence the error messages.

I pushed the amended commit to master as
adbd7faf412297e48931ba4f7ad9a062d852ab8a.

~~ Ricardo




Re: Rust

2016-09-04 Thread David Craven
> IIUC, to provide a Guix package for Cargo, the following should be done:

> 1. write a crate importer.
> 2. list all the crates needed by Cargo to build itself.
> 3. package each crate with the importer.
> 4. add a Cargo package which depends on the newly-imported crates and
> uses a binary version of Cargo to bootstrap itself (though this is not
> the best option in terms of auditing/reproducibility).

Have you made any progress on this? =)

FYI I also think that that's the best course of action. I remember
dealing with non gnu-build-system packages in nixos was a bit of a
pain, so I was biased against the importer thing. I think guix does a
better job at it...

To build the crates needed to build cargo a good idea is probably to
have rust-build-system take a #:cargo and a #:rustc package. Then you
can pass the binary versions for bootstrapping cargo.



Re: calendar: Add remind

2016-09-04 Thread Ricardo Wurmus

Hi Stefan,

thank you for this patch!  I’ve done the following things:

- checked the license (it is indeed GPLv2 only)
- checked the GPG signature
- adjusted the indentation
- added a padding procedure to automatically derive the tarball location
  from the version string
- reformatted the description
- changed the commit message

Your contribution has been pushed to master as commit
696cb41be78e514797c26d9c416c15c66f548364.

Thanks again and welcome back :)

~~ Ricardo






Re: Using a function as build-step? (w/ attachement)

2016-09-04 Thread David Craven
I'd put those functions in guix build java-utils.scm, that will work,
and you'll have to do that anyway...



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

2016-09-04 Thread Mark H Weaver
John Darrington  writes:
> * gnu/packages/version-control.scm (git): Update to 2.10.0.

This update seems to have broken 'cgit' and maybe also 'ruby-puma'.

  https://hydra.gnu.org/eval/109142#tabs-now-fail

Would you be willing to take a look?

 Mark



[PATCH 01/43] gnu: Add ghc-base16-bytestring.

2016-09-04 Thread ng0
* gnu/packages/haskell.scm (ghc-base16-bytestring): 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 87628b5..edb098a 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -6432,4 +6432,25 @@ can be specified precisely in the type.  The language is 
closely related to
 Epigram and Agda.")
 (license license:bsd-3)))
 
+(define-public ghc-base16-bytestring
+  (package
+(name "ghc-base16-bytestring")
+(version "0.1.1.6")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "https://hackage.haskell.org/package/base16-bytestring/";
+ "base16-bytestring-" version ".tar.gz"))
+   (sha256
+(base32
+ "0jf40m3yijqw6wd1rwwvviww46fasphaay9m9rgqyhf5aahnbzjs"
+(build-system haskell-build-system)
+(home-page "http://github.com/bos/base16-bytestring";)
+(synopsis "Fast base16 (hex) encoding and decoding for ByteStrings")
+(description
+ "This package provides a Haskell library for working with base16-encoded
+data quickly and efficiently, using the ByteString type.")
+(license license:bsd-3)))
+
 ;;; haskell.scm ends here
-- 
2.9.3




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

2016-09-04 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 04/43] gnu: Add ghc-cryptohash.

2016-09-04 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 13/43] gnu: Add ghc-bytestring-handle.

2016-09-04 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 815af32..0940dd5 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/43] gnu: Add ghc-haskeline.

2016-09-04 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 02/43] gnu: Add ghc-binary.

2016-09-04 Thread ng0
* gnu/packages/haskell.scm (ghc-binary): 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 edb098a..3934c17 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -6453,4 +6453,35 @@ Epigram and Agda.")
 data quickly and efficiently, using the ByteString type.")
 (license license:bsd-3)))
 
+(define-public ghc-binary
+  (package
+(name "ghc-binary")
+(version "0.8.4.1")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "https://hackage.haskell.org/package/binary/binary-";
+ version ".tar.gz"))
+   (sha256
+(base32
+ "1fp7wxnf57cjzhbb7rgqs6fgws4690zh0dxgl924dj4nzq0cf4wd"
+(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-hunit" ,ghc-hunit)))
+(home-page "https://github.com/kolmodin/binary";)
+(synopsis
+ "Binary serialisation for Haskell values using lazy ByteStrings")
+(description
+ "Efficient, pure binary serialisation using lazy ByteStrings.  Haskell 
values
+may be encoded to and from binary formats, written to disk as binary, or sent 
over
+the network.  The format used can be automatically generated, or you can 
choose to
+implement a custom format if needed.  Serialisation speeds of over 1 G\\/sec 
have
+been observed, so this library should be suitable for high performance 
scenarios.")
+(license license:bsd-3)))
+
 ;;; haskell.scm ends here
-- 
2.9.3




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

2016-09-04 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 10/43] gnu: Add ghc-regex-compat-tdfa.

2016-09-04 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 05/43] gnu: Add ghc-data-ordlist.

2016-09-04 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/43] gnu: Add ghc-regex-tdfa.

2016-09-04 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 12/43] gnu: Add ghc-sandi.

2016-09-04 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..815af32 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.3.6") ; darcs-2.12.0 needs version < 0.4.0
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "https://hackage.haskell.org/package/sandi/sandi-";
+ version ".tar.gz"))
+   (sha256
+(base32
+ "1112pxbp41bnvn8yy90404rrl7q5qdifyfa2wj6j65wa3d8b7z7s"
+(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 06/43] gnu: Add ghc-terminfo.

2016-09-04 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 17/43] gnu: Add ghc-patience.

2016-09-04 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 ae4ef0d..bdbd70b 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -6818,4 +6818,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 14/43] gnu: Add ghc-tar.

2016-09-04 Thread ng0
* gnu/packages/haskell.scm (ghc-tar): 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 0940dd5..8236ddb 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -6734,4 +6734,36 @@ 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)
+   ("ghc-array" ,ghc-array)))
+(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 15/43] gnu: Add ghc-transformers.

2016-09-04 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 8236ddb..7e65b52 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -6766,4 +6766,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 18/43] gnu: Add ghc-monads-tf.

2016-09-04 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 bdbd70b..6171e06 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -6842,4 +6842,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 23/43] gnu: Add ghc-wl-pprint-text.

2016-09-04 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 486dbb2..3e2b315 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -6965,4 +6965,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 16/43] gnu: Add ghc-findbin.

2016-09-04 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 7e65b52..ae4ef0d 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -6795,4 +6795,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




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

2016-09-04 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 33/43] gnu: Add ghc-shelly.

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

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 0599947..7e9cb51 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -7227,4 +7227,40 @@ In particular, this library supports working with POSIX 
files that have paths
 which can't be decoded in the current locale encoding.")
 (license license:expat)))
 
+(define-public ghc-shelly
+  (package
+(name "ghc-shelly")
+(version "1.6.8")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "https://hackage.haskell.org/package/shelly/shelly-";
+ version ".tar.gz"))
+   (sha256
+(base32
+ "0bg1pj5bhswfgwfgz66xr82i8cmjgrnx5ljvjy37052zxb82imnk"
+(build-system haskell-build-system)
+(inputs
+ `(("ghc-mtl" ,ghc-mtl)
+   ("ghc-unix-compat" ,ghc-unix-compat)
+   ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
+   ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
+   ("ghc-monad-control" ,ghc-monad-control)
+   ("ghc-lifted-base" ,ghc-lifted-base)
+   ("ghc-lifted-async" ,ghc-lifted-async)
+   ("ghc-exceptions" ,ghc-exceptions)
+   ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
+   ("ghc-text" ,ghc-text)
+   ("ghc-async" ,ghc-async)
+   ("ghc-transformers-base" ,ghc-transformers-base)
+   ("ghc-hunit" ,ghc-hunit)
+   ("ghc-hspec" ,ghc-hspec)))
+(home-page "https://github.com/yesodweb/Shelly.hs";)
+(synopsis "Shell-like (systems) programming in Haskell")
+(description
+ "Shelly provides convenient systems programming in Haskell, similar in
+spirit to POSIX shells.  Shelly is originally forked  from the Shellish 
package.")
+(license license:bsd-3)))
+
 ;;; haskell.scm ends here
-- 
2.9.3




[PATCH 36/43] gnu: Add ghc-chell-quickcheck-bootstrap.

2016-09-04 Thread ng0
* gnu/packages/haskell.scm (ghc-chell-quickcheck-bootstrap): 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 96c2f70..2cea761 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -7318,4 +7318,29 @@ libraries such as @code{chell-quickcheck} to support 
more complex
 testing strategies.")
 (license license:expat)))
 
+(define ghc-chell-quickcheck-bootstrap
+  (package
+(name "ghc-chell-quickcheck-bootstrap")
+(version "0.2.5")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ 
"https://hackage.haskell.org/package/chell-quickcheck/chell-quickcheck-";
+ version ".tar.gz"))
+   (sha256
+(base32
+ "02bkcnx5k6r5csdnnkvk4wfd0l36nxb87i1463ynw17n7ym9s4cs"
+(build-system haskell-build-system)
+(inputs
+ `(("ghc-chell" ,ghc-chell)
+   ("ghc-random" ,ghc-random)
+   ("ghc-quickcheck" ,ghc-quickcheck)))
+(arguments
+ `(#:tests? #f))
+(home-page "https://john-millikin.com/software/chell/";)
+(synopsis "QuickCheck support for the Chell testing library")
+(description "More complex tests for @code{chell}.")
+(license license:expat)))
+
 ;;; haskell.scm ends here
-- 
2.9.3




[PATCH 31/43] gnu: Add ghc-system-filepath-bootstrap.

2016-09-04 Thread ng0
* gnu/packages/haskell.scm (ghc-system-filepath-bootstrap): 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 39c9667..d7b40fb 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -7164,4 +7164,35 @@ a vocabulary for working with them.")
 instance of @code{MonadBase} or @code{MonadBaseControl}.")
 (license license:bsd-3)))
 
+;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in 
turn depend on
+;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on 
ghc-options
+;; which depends on ghc-chell and ghc-chell-quickcheck.
+;; Therefore we bootstrap it with tests disabled.
+(define ghc-system-filepath-bootstrap
+  (package
+(name "ghc-system-filepath-bootstrap")
+(version "0.4.13.4")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ 
"https://hackage.haskell.org/package/system-filepath/system-filepath-";
+ version ".tar.gz"))
+   (sha256
+(base32
+ "1yy5zsmmimhg6iaw9fmpwrxvxrgi5s6bfyqfihdsnx4bjvn7sp9l"
+(build-system haskell-build-system)
+(arguments
+ `(#:tests? #f))
+(inputs
+ `(("ghc-text" ,ghc-text)
+   ("ghc-quickcheck" ,ghc-quickcheck)))
+(home-page "https://github.com/fpco/haskell-filesystem";)
+(synopsis "High-level, byte-based file and directory path manipulations")
+(description
+ "Provides a FilePath datatype and utility functions for operating on it.
+Unlike the filepath package, this package does not simply reuse String,
+increasing type safety.")
+(license license:expat)))
+
 ;;; haskell.scm ends here
-- 
2.9.3




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

2016-09-04 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 c7b36e0..486dbb2 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -6945,4 +6945,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 41/43] gnu: Add ghc-transformers@0.4.2.0.

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

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 7994c79..6212fee 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -6798,6 +6798,19 @@ which automatically lift operations introduced by monad 
transformers through
 other transformers.")
 (license license:bsd-3)))
 
+;; darcs-2.12.0 requires transformers-0.4.2.0
+(define-public ghc-transformers-0.4.2.0
+  (package
+(inherit ghc-transformers)
+(version "0.4.2.0")
+(source (origin
+  (method url-fetch)
+  (uri (string-append 
"https://hackage.haskell.org/package/transformers/";
+  "transformers-" version ".tar.gz"))
+  (sha256
+   (base32
+"0a364zfcm17mhpy0c4ms2j88sys4yvgd6071qsgk93la2wjm8mkr"))
+
 (define-public ghc-findbin
   (package
 (name "ghc-findbin")
-- 
2.9.3




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

2016-09-04 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 a1bb501..c7b36e0 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -6924,4 +6924,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 39/43] gnu: Add ghc-system-filepath.

2016-09-04 Thread ng0
* gnu/packages/haskell.scm (ghc-system-filepath): 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 3cb36ee..730f616 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -7392,4 +7392,31 @@ testing strategies.")
 easily work with command-line options.")
 (license license:expat)))
 
+(define-public ghc-system-filepath
+  (package
+(name "ghc-system-filepath")
+(version "0.4.13.4")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ 
"https://hackage.haskell.org/package/system-filepath/system-filepath-";
+ version ".tar.gz"))
+   (sha256
+(base32
+ "1yy5zsmmimhg6iaw9fmpwrxvxrgi5s6bfyqfihdsnx4bjvn7sp9l"
+(build-system haskell-build-system)
+(inputs
+ `(("ghc-text" ,ghc-text)
+   ("ghc-chell" ,ghc-chell)
+   ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
+   ("ghc-quickcheck" ,ghc-quickcheck)))
+(home-page "https://github.com/fpco/haskell-filesystem";)
+(synopsis "High-level, byte-based file and directory path manipulations")
+(description
+ "Provides a FilePath datatype and utility functions for operating on it.
+Unlike the filepath package, this package does not simply reuse String,
+increasing type safety.")
+(license license:expat)))
+
 ;;; haskell.scm ends here
-- 
2.9.3




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

2016-09-04 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 6171e06..e77446c 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -6865,4 +6865,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 20/43] gnu: Add ghc-colour.

2016-09-04 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 e77446c..a1bb501 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -6902,4 +6902,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 27/43] gnu: Add ghc-array.

2016-09-04 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 40ce46b..1b4e10d 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -7059,4 +7059,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 42/43] gnu: Add ghc-directory@1.2.2.0.

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

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 6212fee..f68108e 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -7460,4 +7460,19 @@ versions of these packages distributed with different 
versions of GHC.
 In particular, this library supports working with POSIX files that have paths
 which can't be decoded in the current locale encoding.")
 (license license:expat)))
+
+(define-public ghc-directory-1.2.2.0
+  (package
+(inherit ghc-directory)
+(version "1.2.2.0")
+(source (origin
+  (method url-fetch)
+  (uri (string-append 
"https://hackage.haskell.org/package/directory/";
+  "directory-" version ".tar.gz"))
+  (sha256
+   (base32
+"1dbn6d48gdqh0n2rkh02asxv94ikd8849659ndc7p3h93kgj1dy4"
+(arguments
+ `(#:tests? #f ; test wants to run git
+
 ;;; haskell.scm ends here
-- 
2.9.3




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

2016-09-04 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 3e2b315..db983df 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 25/43] gnu: Add ghc-fgl-arbitrary.

2016-09-04 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 db983df..cd02060 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -6990,4 +6990,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 28/43] gnu: Add ghc-findbin.

2016-09-04 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 1b4e10d..6d22964 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -7082,4 +7082,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 26/43] gnu: Add ghc-graphviz.

2016-09-04 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 cd02060..40ce46b 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -7017,4 +7017,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 35/43] gnu: Add ghc-chell.

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

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index aa46e20..96c2f70 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -7289,4 +7289,33 @@ spirit to POSIX shells.  Shelly is originally forked  
from the Shellish package.
 easily work with command-line options.")
 (license license:expat)))
 
+(define-public ghc-chell
+  (package
+(name "ghc-chell")
+(version "0.4.0.1")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "https://hackage.haskell.org/package/chell/chell-";
+ version ".tar.gz"))
+   (sha256
+(base32
+ "0lb95abzxl4a87nfqxsxpb3a39pd52cci43hcvj8615hyhqvs2jz"
+(build-system haskell-build-system)
+(inputs
+ `(("ghc-options-bootstrap" ,ghc-options-bootstrap)
+   ("ghc-patience" ,ghc-patience)
+   ("ghc-random" ,ghc-random)
+   ("ghc-text" ,ghc-text)
+   ("ghc-ansi-terminal" ,ghc-ansi-terminal)))
+(home-page "https://john-millikin.com/software/chell/";)
+(synopsis "Simple and intuitive library for automated testing")
+(description
+ "Chell is a simple and intuitive library for automated testing.
+It natively supports assertion-based testing, and can use companion
+libraries such as @code{chell-quickcheck} to support more complex
+testing strategies.")
+(license license:expat)))
+
 ;;; haskell.scm ends here
-- 
2.9.3




[PATCH 40/43] gnu: Add ghc-system-fileio.

2016-09-04 Thread ng0
* gnu/packages/haskell.scm (ghc-system-fileio): 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 730f616..7994c79 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -7419,4 +7419,32 @@ Unlike the filepath package, this package does not 
simply reuse String,
 increasing type safety.")
 (license license:expat)))
 
+(define-public ghc-system-fileio
+  (package
+(name "ghc-system-fileio")
+(version "0.3.16.3")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "https://hackage.haskell.org/package/system-fileio/system-fileio-";
+ version ".tar.gz"))
+   (sha256
+(base32
+ "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"
+(build-system haskell-build-system)
+(inputs
+ `(("ghc-system-filepath" ,ghc-system-filepath)
+   ("ghc-text" ,ghc-text)
+   ("ghc-chell" ,ghc-chell)
+   ("ghc-temporary" ,ghc-temporary)))
+(home-page "https://github.com/fpco/haskell-filesystem";)
+(synopsis "Consistent filesystem interaction across GHC versions")
+(description
+ "This is a small wrapper around the directory, unix, and Win32 packages,
+for use with system-filepath.  It provides a consistent API to the various
+versions of these packages distributed with different versions of GHC.
+In particular, this library supports working with POSIX files that have paths
+which can't be decoded in the current locale encoding.")
+(license license:expat)))
 ;;; haskell.scm ends here
-- 
2.9.3




[PATCH 32/43] gnu: Add ghc-system-fileio-bootstrap.

2016-09-04 Thread ng0
* gnu/packages/haskell.scm (ghc-system-fileio-bootstrap): 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 d7b40fb..0599947 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -7195,4 +7195,36 @@ Unlike the filepath package, this package does not 
simply reuse String,
 increasing type safety.")
 (license license:expat)))
 
+;; See ghc-system-filepath-bootstrap. In addition this package depends on
+;; ghc-system-filepath.
+(define ghc-system-fileio-bootstrap
+  (package
+(name "ghc-system-fileio-bootstrap")
+(version "0.3.16.3")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "https://hackage.haskell.org/package/system-fileio/system-fileio-";
+ version ".tar.gz"))
+   (sha256
+(base32
+ "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"
+(build-system haskell-build-system)
+(arguments
+ `(#:tests? #f))
+(inputs
+ `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
+   ("ghc-text" ,ghc-text)
+   ("ghc-temporary" ,ghc-temporary)))
+(home-page "https://github.com/fpco/haskell-filesystem";)
+(synopsis "Consistent filesystem interaction across GHC versions")
+(description
+ "This is a small wrapper around the directory, unix, and Win32 packages,
+for use with system-filepath.  It provides a consistent API to the various
+versions of these packages distributed with different versions of GHC.
+In particular, this library supports working with POSIX files that have paths
+which can't be decoded in the current locale encoding.")
+(license license:expat)))
+
 ;;; haskell.scm ends here
-- 
2.9.3




[PATCH 30/43] gnu: Add ghc-lifted-async.

2016-09-04 Thread ng0
* gnu/packages/haskell.scm (ghc-lifted-async): 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 08f9dd2..39c9667 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -7132,4 +7132,36 @@ They stopped crashing the compiler in GHC 7.6.  This 
package provides
 a vocabulary for working with them.")
 (license license:bsd-3)))
 
+(define-public ghc-lifted-async
+  (package
+(name "ghc-lifted-async")
+(version "0.9.0")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "https://hackage.haskell.org/package/lifted-async/lifted-async-";
+ version ".tar.gz"))
+   (sha256
+(base32
+ "00fnwfcnc6niq9jbbb9rap9rkdgv5qhcglwanzc5fi8834j94c1r"
+(build-system haskell-build-system)
+(inputs
+ `(("ghc-async" ,ghc-async)
+   ("ghc-lifted-base" ,ghc-lifted-base)
+   ("ghc-transformers-base" ,ghc-transformers-base)
+   ("ghc-monad-control" ,ghc-monad-control)
+   ("ghc-constraints" ,ghc-constraints)
+   ("ghc-hunit" ,ghc-hunit)
+   ("ghc-mtl" ,ghc-mtl)
+   ("ghc-tasty" ,ghc-tasty)
+   ("ghc-tasty-hunit" ,ghc-tasty-hunit)
+   ("ghc-tasty-th" ,ghc-tasty-th)))
+(home-page "https://github.com/maoe/lifted-async";)
+(synopsis "Run lifted IO operations asynchronously and wait for their 
results")
+(description
+ "This package provides IO operations from @code{async} package lifted to 
any
+instance of @code{MonadBase} or @code{MonadBaseControl}.")
+(license license:bsd-3)))
+
 ;;; haskell.scm ends here
-- 
2.9.3




[PATCH 38/43] gnu: Add ghc-options.

2016-09-04 Thread ng0
* gnu/packages/haskell.scm (ghc-options): 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 7263a94..3cb36ee 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -7367,4 +7367,29 @@ testing strategies.")
 (description "More complex tests for @code{chell}.")
 (license license:expat)))
 
+(define-public ghc-options
+  (package
+(name "ghc-options")
+(version "1.2.1.1")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "https://hackage.haskell.org/package/options/options-";
+ version ".tar.gz"))
+   (sha256
+(base32
+ "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"
+(build-system haskell-build-system)
+(inputs
+ `(("ghc-monads-tf" ,ghc-monads-tf)
+   ("ghc-chell" ,ghc-chell)
+   ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
+(home-page "https://john-millikin.com/software/haskell-options/";)
+(synopsis "Powerful and easy-to-use command-line option parser")
+(description
+ "The @code{options} package lets library and application developers
+easily work with command-line options.")
+(license license:expat)))
+
 ;;; haskell.scm ends here
-- 
2.9.3




[PATCH 43/43] gnu: Add darcs.

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

diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 9ff9801..caca52c 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -35,6 +35,7 @@
   #:use-module (guix git-download)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system haskell)
   #:use-module (guix build-system python)
   #:use-module (guix build-system trivial)
   #:use-module (gnu packages apr)
@@ -50,6 +51,7 @@
   #:use-module (gnu packages flex)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages groff)
+  #:use-module (gnu packages haskell)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages nano)
   #:use-module (gnu packages ncurses)
@@ -1225,3 +1227,74 @@ 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)
+(arguments
+ `(#:configure-flags '("-fpkgconfig" "-flibiconv")))
+(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-builder" ,ghc-bytestring-builder) ; (>=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-system-filepath" ,ghc-system-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-shelly" ,ghc-shelly) ; shelly >=1.6.2 && <1.7,
+   ("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)
+   ("ghc" ,ghc) ; 7.10.2
+   ("perl" ,perl)
+   ("pkg-config" ,pkg-config)
+   ("libiconv" ,libiconv)
+   ("ghc-network" ,ghc-network)
+   ("ghc-network-uri" ,ghc-network-uri)))
+(home-page "http://darcs.net";)
+(synopsis "Moar pandahats!")
+(description
+ "Vote Cthulhu!")
+(license license:gpl2)))
-- 
2.9.3




[PATCH 29/43] gnu: Add ghc-constraints.

2016-09-04 Thread ng0
* gnu/packages/haskell.scm (ghc-constraints): 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 6d22964..08f9dd2 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -7106,4 +7106,30 @@ of Haskell programs via ghci, via runhaskell/runghc, as 
well as compiled
 as an executable.")
 (license license:bsd-3)))
 
+(define-public ghc-constraints
+  (package
+(name "ghc-constraints")
+(version "0.8")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "https://hackage.haskell.org/package/constraints/constraints-";
+ version ".tar.gz"))
+   (sha256
+(base32
+ "120mmv9rwbahslisc1z8zx9lw7v6hl5fzid4l0hiy5as6ijqgl2c"
+(build-system haskell-build-system)
+(inputs
+ `(("ghc-hashable" ,ghc-hashable)
+   ("ghc-mtl" ,ghc-mtl)
+   ("ghc-transformers-compat" ,ghc-transformers-compat)))
+(home-page "http://github.com/ekmett/constraints/";)
+(synopsis "Constraint manipulation")
+(description
+ "GHC 7.4 gave us the ability to talk about @code{ConstraintKinds}.
+They stopped crashing the compiler in GHC 7.6.  This package provides
+a vocabulary for working with them.")
+(license license:bsd-3)))
+
 ;;; haskell.scm ends here
-- 
2.9.3




[PATCH 34/43] gnu: Add ghc-options-bootstrap.

2016-09-04 Thread ng0
* gnu/packages/haskell.scm (ghc-options-bootstrap): 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 7e9cb51..aa46e20 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -7263,4 +7263,30 @@ which can't be decoded in the current locale encoding.")
 spirit to POSIX shells.  Shelly is originally forked  from the Shellish 
package.")
 (license license:bsd-3)))
 
+;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required 
for tests.
+(define ghc-options-bootstrap
+  (package
+(name "ghc-options-bootstrap")
+(version "1.2.1.1")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "https://hackage.haskell.org/package/options/options-";
+ version ".tar.gz"))
+   (sha256
+(base32
+ "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"
+(build-system haskell-build-system)
+(arguments
+ `(#:tests? #f))
+(inputs
+ `(("ghc-monads-tf" ,ghc-monads-tf)))
+(home-page "https://john-millikin.com/software/haskell-options/";)
+(synopsis "Powerful and easy-to-use command-line option parser")
+(description
+ "The @code{options} package lets library and application developers
+easily work with command-line options.")
+(license license:expat)))
+
 ;;; haskell.scm ends here
-- 
2.9.3




[PATCH 37/43] gnu: Add ghc-chell-quickcheck.

2016-09-04 Thread ng0
* gnu/packages/haskell.scm (ghc-chell-quickcheck): 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 2cea761..7263a94 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -7343,4 +7343,28 @@ testing strategies.")
 (description "More complex tests for @code{chell}.")
 (license license:expat)))
 
+(define-public ghc-chell-quickcheck
+  (package
+(name "ghc-chell-quickcheck")
+(version "0.2.5")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ 
"https://hackage.haskell.org/package/chell-quickcheck/chell-quickcheck-";
+ version ".tar.gz"))
+   (sha256
+(base32
+ "02bkcnx5k6r5csdnnkvk4wfd0l36nxb87i1463ynw17n7ym9s4cs"
+(build-system haskell-build-system)
+(inputs
+ `(("ghc-chell" ,ghc-chell)
+   ("ghc-chell-quickcheck-bootstrap" ,ghc-chell-quickcheck-bootstrap)
+   ("ghc-random" ,ghc-random)
+   ("ghc-quickcheck" ,ghc-quickcheck)))
+(home-page "https://john-millikin.com/software/chell/";)
+(synopsis "QuickCheck support for the Chell testing library")
+(description "More complex tests for @code{chell}.")
+(license license:expat)))
+
 ;;; haskell.scm ends here
-- 
2.9.3




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

2016-09-04 Thread ng0
Build environment and log file can be found at
https://dl.n0.is/debug/darcs/ , see https://tor.n0.is for tor access.

I require help of people with more experience in haskell debugging, this
is my first haskell package (series).

ng0  writes:

> * gnu/packages/version-control.scm (darcs): New variable.
> ---
>  gnu/packages/version-control.scm | 73 
> 
>  1 file changed, 73 insertions(+)
>
> diff --git a/gnu/packages/version-control.scm 
> b/gnu/packages/version-control.scm
> index 9ff9801..caca52c 100644
> --- a/gnu/packages/version-control.scm
> +++ b/gnu/packages/version-control.scm
> @@ -35,6 +35,7 @@
>#:use-module (guix git-download)
>#:use-module (guix build-system cmake)
>#:use-module (guix build-system gnu)
> +  #:use-module (guix build-system haskell)
>#:use-module (guix build-system python)
>#:use-module (guix build-system trivial)
>#:use-module (gnu packages apr)
> @@ -50,6 +51,7 @@
>#:use-module (gnu packages flex)
>#:use-module (gnu packages gettext)
>#:use-module (gnu packages groff)
> +  #:use-module (gnu packages haskell)
>#:use-module (gnu packages linux)
>#:use-module (gnu packages nano)
>#:use-module (gnu packages ncurses)
> @@ -1225,3 +1227,74 @@ 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)
> +(arguments
> + `(#:configure-flags '("-fpkgconfig" "-flibiconv")))
> +(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-builder" ,ghc-bytestring-builder) ; (>=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-system-filepath" ,ghc-system-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-shelly" ,ghc-shelly) ; shelly >=1.6.2 && <1.7,
> +   ("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)
> +   ("ghc" ,ghc) ; 7.10.2
> +   ("perl" ,perl)
> +   ("pkg-config" ,pkg-config)
> +   ("libiconv" ,li

Re: Display diffs between generations.

2016-09-04 Thread Roel Janssen

Vincent Legoll writes:

> 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.

What about adding a `--no-diff-format' or a `--diff-format' argument to
`--list-generations'?

We could then make two choices:  Default to the proposed diff format, or
default to the full format (what we have now).  Depending on what we
choose as default, we can implement the appropriate negating argument.

I would prefer defaulting to the diff format..

Thanks for your feedback!

Kind regards,
Roel Janssen



Re: Tracking package submissions with Debbugs

2016-09-04 Thread ng0
Andreas Enge  writes:

> Hello,
>
> using debbugs corresponds to a suggestion I made a while ago, so I am
> obviously in favour of it...
>
> On Sun, Sep 04, 2016 at 10:37:02AM +0800, Alex Vong wrote:
>> > 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?
>
> I do not quite understand the problem with relating bug reports to packages.
> The discussion sounds as if we considered one constantly open bug report per
> package, which is maybe a misunderstanding on my part. I would say that bug
> reports should correspond roughly to our current discussion threads on
> guix-devel: Someone sends in a patch or patch series, which opens a new bug
> (there seems to be the problem of git-sendmail still); there are replies back
> and forth; in the end the patch is applied (or, from time to time, retracted),
> and the bug is closed. In this way, we have an overview of pending patches
> and are less likely to forget one.
>
> As for the non-emacs users, I intend to work as before: Subscribe to all the
> bugs and have them end up in my mailbox, reply, and potentially close them
> by mail.
>
> Andreas
>

A constant open bug could be confusing and misleading. Is this really
what they mean? My preference would be:

User sends email with patch (or coverletter, wait for assignment*),
patch gets assigned id, all correspondence regarding that bug is done in
that thread, bug is considered/marked as done when the patch is merged.


* which can be contra-productive as debbugs email to arrive at my side
  sometimes take 12 - 24 hours
-- 
ng0
For non-prism friendly talk find me on http://www.psyced.org



Re: Tracking package submissions with Debbugs

2016-09-04 Thread ng0
Resend because somehow this ended up being send from my unsubscribed
address:

ng0  writes:

> Andreas Enge  writes:
>
>> Hello,
>>
>> using debbugs corresponds to a suggestion I made a while ago, so I am
>> obviously in favour of it...
>>
>> On Sun, Sep 04, 2016 at 10:37:02AM +0800, Alex Vong wrote:
>>> > 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?
>>
>> I do not quite understand the problem with relating bug reports to packages.
>> The discussion sounds as if we considered one constantly open bug report per
>> package, which is maybe a misunderstanding on my part. I would say that bug
>> reports should correspond roughly to our current discussion threads on
>> guix-devel: Someone sends in a patch or patch series, which opens a new bug
>> (there seems to be the problem of git-sendmail still); there are replies back
>> and forth; in the end the patch is applied (or, from time to time, 
>> retracted),
>> and the bug is closed. In this way, we have an overview of pending patches
>> and are less likely to forget one.
>>
>> As for the non-emacs users, I intend to work as before: Subscribe to all the
>> bugs and have them end up in my mailbox, reply, and potentially close them
>> by mail.
>>
>> Andreas
>>
>
> A constant open bug could be confusing and misleading. Is this really
> what they mean? My preference would be:
>
> User sends email with patch (or coverletter, wait for assignment*),
> patch gets assigned id, all correspondence regarding that bug is done in
> that thread, bug is considered/marked as done when the patch is merged.
>
>
> * which can be contra-productive as debbugs email to arrive at my side
>   sometimes take 12 - 24 hours
> -- 
> ng0
> For non-prism friendly talk find me on http://www.psyced.org
>

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



Re: Tracking package submissions with Debbugs

2016-09-04 Thread David Craven
Why is the gitlab not including the rebase feature a deal breaker?
It's open source, so disabling the merge button in the ui isn't a big
deal. We can continue using git push like we've been doing so far...

Also I've mentioned previously - why not gogs - but I'm ok with either.



PYTHONPATH anomaly

2016-09-04 Thread Hartmut Goebel
Hi,

Introduction:

today I kept struggling with obscure failing tests with a python
package: some of the test-files kept failing to import the very package,
while others succedes. It figured out that one of the test-files did
manipulate sys.path, so the test-files loaded earlier did raise the
import error and those loaded afterwards passed.

Trying to reproduce this in a venv, did not succeed. Say: the test pass.

As reason for this difference I discovered that in guix the current path
is not part of sys.path, while in the venv it is.

Questions:

1) Is it intended that the current dir is not part of sys.path?

2) Where is this patched into?

3) Why does this problem not occur when running "setup.py test"

4) Related: Shouldn't "build/lib" (resp. the related one for extension
packages) be preppended to sys.path? As this is where the build python
files are.


-- 
Regards
Hartmut Goebel

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





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

2016-09-04 Thread John Darrington
On Sun, Sep 04, 2016 at 12:02:49PM -0400, Mark H Weaver wrote:
 John Darrington  writes:
 > * gnu/packages/version-control.scm (git): Update to 2.10.0.
 
 This update seems to have broken 'cgit' and maybe also 'ruby-puma'.
 
   https://hydra.gnu.org/eval/109142#tabs-now-fail
 

Well so far as I can see, cgit is directly accessing the private interface
of git.  So unless we revert, or maintain two version of git concurrently,
I don't see a solution.

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


[PATCH] nls: Update 'de' translation.

2016-09-04 Thread Hartmut Goebel
---
 po/guix/de.po | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/po/guix/de.po b/po/guix/de.po
index 1e31052..138abfc 100644
--- a/po/guix/de.po
+++ b/po/guix/de.po
@@ -1226,7 +1226,7 @@ msgstr "Am Ende der Zusammenfassung darf kein Punkt 
gesetzt werden"
 
 #: guix/scripts/lint.scm:237
 msgid "no article allowed at the beginning of the synopsis"
-msgstr "Am Beginn der Zusammenfassung darf kein Punkt stehen"
+msgstr "Am Beginn der Zusammenfassung darf kein Artikel stehen"
 
 #: guix/scripts/lint.scm:244
 msgid "synopsis should be less than 80 characters long"
-- 
2.7.4




Re: [PATCH] nls: Update 'de' translation.

2016-09-04 Thread ng0
Isn't this handled through an external project?

Hartmut Goebel  writes:

> ---
>  po/guix/de.po | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/po/guix/de.po b/po/guix/de.po
> index 1e31052..138abfc 100644
> --- a/po/guix/de.po
> +++ b/po/guix/de.po
> @@ -1226,7 +1226,7 @@ msgstr "Am Ende der Zusammenfassung darf kein Punkt 
> gesetzt werden"
>  
>  #: guix/scripts/lint.scm:237
>  msgid "no article allowed at the beginning of the synopsis"
> -msgstr "Am Beginn der Zusammenfassung darf kein Punkt stehen"
> +msgstr "Am Beginn der Zusammenfassung darf kein Artikel stehen"
>  
>  #: guix/scripts/lint.scm:244
>  msgid "synopsis should be less than 80 characters long"
> -- 
> 2.7.4
>
>

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



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

2016-09-04 Thread Leo Famulari
On Sun, Sep 04, 2016 at 07:37:21PM +0200, John Darrington wrote:
> On Sun, Sep 04, 2016 at 12:02:49PM -0400, Mark H Weaver wrote:
>  John Darrington  writes:
>  > * gnu/packages/version-control.scm (git): Update to 2.10.0.
>  
>  This update seems to have broken 'cgit' and maybe also 'ruby-puma'.
>  
>https://hydra.gnu.org/eval/109142#tabs-now-fail
>  
> 
> Well so far as I can see, cgit is directly accessing the private interface
> of git.  So unless we revert, or maintain two version of git concurrently,
> I don't see a solution.

Relevant upstream discussion:
https://lists.zx2c4.com/pipermail/cgit/2016-August/003243.html


signature.asc
Description: PGP signature


Why was "gnu: wrap-python3: Create more symlinks." reverted?

2016-09-04 Thread Hartmut Goebel
Hello Leo,

why did you revert this patch? Having these aliases helps a lot when
packaging python (extension) modules. Please reapply!

commit 187e9094f7fa79e52820b154bbac855f357553ce
Author: Leo Famulari 
Date:   Fri Jul 1 17:03:29 2016 -0400

Revert "gnu: wrap-python3: Create more symlinks."
   
This reverts commit 478e75b53bdf754cdf911226d37e517387f73c09.

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index b92746a..8bba7ca 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -370,8 +370,8 @@ data types.")
   (lambda (old new)
 (symlink (string-append python old)
  (string-append bin "/" new)))
-  '("python3" "pydoc3" "idle3" "pip3" "python3-config")
-  '("python"  "pydoc"  "idle" "pip" "python-config"))
+  '("python3" "pydoc3" "idle3")
+  '("python"  "pydoc"  "idle"))
 (synopsis "Wrapper for the Python 3 commands")
 (description
  "This package provides wrappers for the commands of
Python@tie{}3.x such



-- 
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/get-current-locale-with-ansible
Kolumne: http://www.cissp-gefluester.de/2010-08-scheingefechte-um-rim



Re: [PATCH] nls: Update 'de' translation.

2016-09-04 Thread Hartmut Goebel
Am 04.09.2016 um 20:15 schrieb ng0:
> Isn't this handled through an external project?

I don't know, the header of the file does not tell so.

-- 
Regards
Hartmut Goebel

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




Re: Removing the attic package

2016-09-04 Thread Leo Famulari
On Sun, Sep 04, 2016 at 01:10:39PM +, ng0 wrote:
> There has been no update since 2015. Can the current status of the bug
> (solved? unsolved? wontfix? work in progress?) be requested from the
> upstream developer(s)?

The upstream developer has not replied to the bug report [0]. I think we
can assume "wontfix" after 11 months.

> Otherwise the bug reads like we should include it in our package
> description, pointing out that it is currently limited to 15GB backup
> (if that's what this was about, I did not read all of it).

The bug is that if your disk becomes full, the backup repository will be
permanently corrupted, and you will *lose all your backups*.

I think the project is abandoned, even though it has only been ~15
months since the last public commit, which is not really that long if
the software is working well. But, it's not working well; this is a
critical bug.

Here is some context:

I was following Attic development before it stopped. There were several
Attic users who wanted to assist with Attic development, but the Attic
author explicitly rejected their help [1]. It appears that the Attic
author abandoned Attic after the Borg fork.

I don't want to steer new users towards this broken software, and I
think removing the package is a safe choice. Current Attic users could
continue to use it, because it won't be removed from their profile
unless they do `guix package --remove attic`. And Borg can convert Attic
repos for users who are interested in moving on, so these users will not
lose access to their data even if they do uninstall Attic on their
machines.

Do we have any guidelines about "retiring" packages?

[0]
https://github.com/jborg/attic/issues/356

[1]
https://github.com/jborg/attic/issues/217#issuecomment-78091278



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

2016-09-04 Thread Leo Famulari
On Sun, Sep 04, 2016 at 02:14:47PM -0400, Leo Famulari wrote:
> > On Sun, Sep 04, 2016 at 12:02:49PM -0400, Mark H Weaver wrote:
> >  This update seems to have broken 'cgit' and maybe also 'ruby-puma'.
> Relevant upstream discussion:
> https://lists.zx2c4.com/pipermail/cgit/2016-August/003243.html

Updated patch:
https://lists.zx2c4.com/pipermail/cgit/2016-September/003295.html


signature.asc
Description: PGP signature


Re: Why was "gnu: wrap-python3: Create more symlinks." reverted?

2016-09-04 Thread Leo Famulari
On Sun, Sep 04, 2016 at 08:35:11PM +0200, Hartmut Goebel wrote:
> Hello Leo,
> 
> why did you revert this patch? Having these aliases helps a lot when
> packaging python (extension) modules. Please reapply!

Hi,

I reverted the commit in response to this request from Andreas:
http://lists.gnu.org/archive/html/guix-devel/2016-07/msg00011.html

I am really sorry that I did not add you to the email thread when I
replied to Andreas confirming the reversion. I should have done that but
it must have slipped my mind.

I'm not sure if the problems he described would still exist. Do you want
to look into it?



QEMU update (security)

2016-09-04 Thread Leo Famulari
This updates QEMU to the latest release, 2.7.0.

It fixes at least one security bug (I think that every new QEMU release
fixes security bugs):
http://seclists.org/oss-sec/2016/q3/394

Tested on x86-64.
From a46d80d697e2ed93596a69b9f170b645f8b608a0 Mon Sep 17 00:00:00 2001
From: Leo Famulari 
Date: Sun, 4 Sep 2016 02:53:37 -0400
Subject: [PATCH] gnu: qemu: Update to 2.7.0 [fixes CVE-2016-7116].

* gnu/packages/qemu.scm (qemu): Update to 2.7.0.
[arguments]: Adjust path in 'disable-test-qga' phase.
---
 gnu/packages/qemu.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/qemu.scm b/gnu/packages/qemu.scm
index 1b9f0ad..aee6a75 100644
--- a/gnu/packages/qemu.scm
+++ b/gnu/packages/qemu.scm
@@ -69,14 +69,14 @@
 (define-public qemu
   (package
 (name "qemu")
-(version "2.6.1")
+(version "2.7.0")
 (source (origin
  (method url-fetch)
  (uri (string-append "http://wiki.qemu-project.org/download/qemu-";
  version ".tar.bz2"))
  (sha256
   (base32
-   "1l88iqk0swqccrnjwczgl9arqsvy77bis862zxajy7z3dqdzshj9"
+   "0lqyz01z90nvxpc3nx4djbci7hx62cwvs5zwd6phssds0sap6vij"
 (build-system gnu-build-system)
 (arguments
  '(;; Running tests in parallel can occasionally lead to failures, like:
@@ -125,7 +125,7 @@
  (setenv "V" "1")))
  (add-before 'check 'disable-test-qga
(lambda _
- (substitute* "tests/Makefile"
+ (substitute* "tests/Makefile.include"
;; Comment out the test-qga test, which needs /sys and
;; fails within the build environment.
(("check-unit-.* tests/test-qga" all)
-- 
2.10.0



signature.asc
Description: PGP signature


[PATCH] gnu: Add mb2md

2016-09-04 Thread Clément Lassieur
---
 gnu/packages/mail.scm | 52 +--
 1 file changed, 50 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index c07bc52..3c29a95 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -16,6 +16,7 @@
 ;;; Copyright © 2016 Alex Kost 
 ;;; Copyright © 2016 Troy Sankey 
 ;;; Copyright © 2016 ng0 
+;;; Copyright © 2016 Clément Lassieur 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -77,14 +78,16 @@
   #:use-module (gnu packages xorg)
   #:use-module ((guix licenses)
 #:select (gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 lgpl2.1+ lgpl3+
-   non-copyleft (expat . license:expat) bsd-3))
+   non-copyleft (expat . license:expat) bsd-3
+   public-domain))
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix utils)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system perl)
-  #:use-module (guix build-system python))
+  #:use-module (guix build-system python)
+  #:use-module (guix build-system trivial))
 
 (define-public mailutils
   (package
@@ -1308,3 +1311,48 @@ Khard can also be used from within the email client 
@command{mutt}.")
   (description "Mail::SPF is the Sender Policy Framework implemented
 in Perl.")
   (license bsd-3)))
+
+(define-public mb2md
+  (package
+(name "mb2md")
+(version "3.20")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"http://batleth.sapienti-sat.org/projects/mb2md/mb2md-";
+version ".pl.gz"))
+  (sha256
+   (base32
+"0bvkky3c90738h3skd2f1b2yy5xzhl25cbh9w2dy97rs86ssjidg"
+(build-system trivial-build-system)
+(arguments
+ '(#:modules ((guix build utils))
+   #:builder
+   (begin
+ (use-modules (guix build utils))
+ (let* ((source (assoc-ref %build-inputs "source"))
+(out (assoc-ref %outputs "out"))
+(bin (string-append out "/bin"))
+(perl (assoc-ref %build-inputs "perl"))
+(gzip (assoc-ref %build-inputs "gzip"))
+(perl-timedate (assoc-ref %build-inputs "perl-timedate"))
+(perl5lib (string-append perl-timedate 
"/lib/perl5/site_perl")))
+   (mkdir-p bin)
+   (with-directory-excursion bin
+ (copy-file source "mb2md.gz")
+ (system* (string-append gzip "/bin/gzip") "-d" "mb2md.gz")
+ (substitute* "mb2md"
+   (("#!/usr/bin/perl")
+(string-append "#!/usr/bin/perl -I " perl5lib)))
+ (patch-shebang "mb2md" (list (string-append perl "/bin")))
+ (chmod "mb2md" #o555))
+   #t
+(native-inputs `(("gzip", gzip)))
+(inputs `(("perl" ,perl)
+  ("perl-timedate" ,perl-timedate)))
+(home-page "http://batleth.sapienti-sat.org/projects/mb2md/";)
+(synopsis "Mbox to maildir converter")
+(description
+ "Mb2md is a Perl script that takes one or more mbox format files and
+converts them to maildir format directories.")
+(license public-domain)))
-- 
2.10.0




Re: [PATCH] gnu: nano: Update to 2.7.0.

2016-09-04 Thread Leo Famulari
On Sun, Sep 04, 2016 at 12:13:43AM -0500, ren...@openmailbox.org wrote:
> From 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.

Thanks! Pushed as f7c9b01f29a3e7a347b9b47db06a7cf1746df521

>   
> ---
>  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: Display diffs between generations.

2016-09-04 Thread Ludovic Courtès
Vincent Legoll  skribis:

> 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.

I agree with this as a general principle, of course.  However, my
experience is that currently -l is hardly usable in practice, because it
spits out way too many lines.

For example, I have 200+ packages in my user profile, so it prints out
several times 200 lines, which is useless for me.  Conversely, the diff
format that Roel proposes would be more immediately readable.

Does that make sense?

Ludo’.



Re: [PATCH] nls: Update 'de' translation.

2016-09-04 Thread Ludovic Courtès
Hartmut Goebel  skribis:

> Am 04.09.2016 um 20:15 schrieb ng0:
>> Isn't this handled through an external project?
>
> I don't know, the header of the file does not tell so.

Yes, it’s handled by the Translation Project (TP).
 has some information.

Could you submit this patch to the German translation team?  See
 and
.

TIA!

Ludo’.



Re: ghc 8

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

> should we package ghc 8 in core-updates? It was released in May:
> https://ghc.haskell.org/trac/ghc/blog/ghc-8.0.1-released

Probably a good idea.  :-)

This can be done in ‘master’, or, if we change to default GHC, to a
dedicated ‘ghc-update’ branch.

Ludo’.



(guix modules) and ‘source-module-closure’

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

Commit 7ca87354db53fd1e1a7a3dfeddb9a598ea064bbe adds (guix module),
which provides a way to compute the closure of a Scheme module by
looking at its source code.

This has to do with typical ‘with-imported-modules’ usage, as explained
in the manual:

--8<---cut here---start->8---
   Usually you want the _closure_ of the module to be imported—i.e., the
module itself and all the modules it depends on—rather than just the
module; failing to do that, attempts to use the module will fail because
of missing dependent modules.  The ‘source-module-closure’ procedure
computes the closure of a module by looking at its source file headers,
which comes in handy in this case:

 (use-modules (guix modules))   ;for 'source-module-closure'

 (with-imported-modules (source-module-closure
  '((guix build utils)
(gnu build vm)))
   (gexp->derivation "something-with-vms"
 #~(begin
 (use-modules (guix build utils)
  (gnu build vm))
 ...)))
--8<---cut here---end--->8---

The benefit can be seen in the next commit:

  
http://git.savannah.gnu.org/cgit/guix.git/commit/?id=239c6e276214813f59f761c9dc5cc0e9d266b49b

Comments welcome!

Ludo’.



[PATCH] gnu: Add teximpatient.

2016-09-04 Thread John Darrington
* gnu/packages/tex.scm (teximpatient): New variable.
---
 gnu/packages/tex.scm | 43 +++
 1 file changed, 43 insertions(+)

diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 9dde8a9..a87c2f8 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -28,7 +28,9 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system trivial)
   #:use-module (guix utils)
+  #:use-module (guix git-download)
   #:use-module (gnu packages)
+  #:use-module (gnu packages autotools)
   #:use-module (gnu packages bash)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages fontutils)
@@ -446,3 +448,44 @@ PDF documents.")
 (description "Texmaker is a program that integrates many tools needed to
 develop documents with LaTeX, in a single application.")
 (license license:gpl2+)))
+
+
+(define-public teximpatient
+  (package
+(name "teximpatient")
+(version "2.4")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "mirror://gnu/" name "/" name "-"
+  version ".tar.gz"))
+  (sha256
+   (base32
+"0h56w22d99dh4fgld4ssik8ggnmhmrrbnrn1lnxi1zr0miphn1sd"
+(build-system gnu-build-system)
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (delete 'check)
+ ;; Unfortunately some mistakes have been made in packaging.
+ ;; Work around them here ...
+ (replace 'unpack
+   (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((srcdir "teximpatient-2.4"))
+   (system* "tar" "-xzf" (assoc-ref inputs "source")
+   (string-append "--one-top-level=" srcdir))
+   (delete-file (string-append srcdir "/book.pdf"))
+   (install-file
+(string-append
+ (assoc-ref inputs "automake")
+ "/share/automake-1.15/install-sh")
+srcdir)
+   (chdir srcdir)))
+(native-inputs
+ `(("texlive" ,texlive)
+   ("automake" ,automake)))
+(home-page "http://www.gnu.org/software/teximpatient";)
+(synopsis "Book on TeX, plain TeX and Eplain")
+(description "TeX for the Impatient is a ~350 page book on TeX, plain TeX,
+and Eplain, originally written by Paul Abrahams, Kathryn Hargreaves, and Karl
+Berry.")
+(license license:fdl1.3+)))
-- 
2.1.4