aseprite is now EULA licensed.

2016-09-02 Thread ng0
2 days ago they changed from gpl-2 to eula. This could theoretically
mean we can update to 1.1.7 and freeze it there (hoping that a
compatible licensed fork appears or whatever will happen)?

http://dev.aseprite.org/post/149797781837/new-source-code-license
https://github.com/aseprite/aseprite/commit/5ecc356a41c8e29977f8608d8826489d24f5fa6c
-- 
ng0
For non-prism friendly talk find me on http://www.psyced.org



Re: Tracking package submissions with Debbugs

2016-09-02 Thread Alex Vong
Ricardo Wurmus  writes:

> Ludovic Courtès  writes:
>
>> I suppose it wouldn’t handle patch series very well though, would it?
>> Or people would have to send the “cover letter” of the series first, and
>> then send the rest to n...@debbugs.gnu.org once a number has been
>> assigned?
>
> Or could we have a bug per module?  Then the whole patch series could be
> sent to the bug id of the module.  But I guess this would make it harder
> to keep track of individual package submissions again, because bug would
> rarely ever be closed when there are lots of patches to the same module.
>
Yes, I think it will make it harder to keep track of individual
package. Is there a way to configure git-sendmail to do what we want?

Here is a related idea. If we were to send all packaging bug reports to
a single package (e.g. guix-package), then it will make it impossible to
browse from a web browser. The situation is similar to the slowness of
our Packages page[0]. So instead of having a bug per module, should we
have a package per module (e.g. guix-package-emacs, guix-package-maths,
guix-package-shells ...)?

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

> ~~ Ricardo

[0]: https://www.gnu.org/software/guix/packages/
[1]: 
https://debbugs.gnu.org/cgi/pkgreport.cgi?include=subject%3Aemacs;package=guix



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

2016-09-02 Thread ng0
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



[PATCH] gnu: Add libicns

2016-09-02 Thread Brendan Tildesley

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

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

diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 4fdc4ae..7f1d237 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -147,6 +147,34 @@ maximum quality factor.")
(license license:gpl2+)
(home-page "http://www.kokkonen.net/tjko/projects.html#jpegoptim;)))
 
+(define-public libicns
+  (package
+(name "libicns")
+(version "0.8.1")
+(source (origin
+ (method url-fetch)
+ (uri (string-append
+   "https://sourceforge.net/projects/icns/files/libicns-;
+   version ".tar.gz/download"))
+ (file-name (string-append "libicns-" version ".tar.gz"))
+ (sha256 (base32
+  "1hjm8lwap7bjyyxsyi94fh5817xzqhk4kb5y0b7mb6675xw10prk"
+(build-system gnu-build-system)
+(arguments
+ ;; no tests
+ '(#:tests? #f))
+(inputs `(("libpng" ,libpng)
+  ("jasper" ,jasper)))
+(home-page "http://icns.sourceforge.net/;)
+(synopsis "Library for handling Mac OS icns resource files")
+(description
+ "libicns is a library for the manipulation of Mac OS IconFamily resource
+type files (ICNS).  icns2png and png2icns are provided to convert between PNG
+and ICNS. icns2png will extract image files from ICNS files under names like
+\"Foo_48x48x32.png\" useful for installing for use with .desktop files.")
+(license (list license:lgpl2.1+  ; libicns
+   license:gpl2+ ; icns2png, png2icns, icontainer2png
+
 (define-public libtiff
   (package
(name "libtiff")
-- 
2.9.3



[PATCH] gnu: Add libicns

2016-09-02 Thread Brendan Tildesley

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

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

diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 4fdc4ae..7f1d237 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -147,6 +147,34 @@ maximum quality factor.")
(license license:gpl2+)
(home-page "http://www.kokkonen.net/tjko/projects.html#jpegoptim;)))
 
+(define-public libicns
+  (package
+(name "libicns")
+(version "0.8.1")
+(source (origin
+ (method url-fetch)
+ (uri (string-append
+   "https://sourceforge.net/projects/icns/files/libicns-;
+   version ".tar.gz/download"))
+ (file-name (string-append "libicns-" version ".tar.gz"))
+ (sha256 (base32
+  "1hjm8lwap7bjyyxsyi94fh5817xzqhk4kb5y0b7mb6675xw10prk"
+(build-system gnu-build-system)
+(arguments
+ ;; no tests
+ '(#:tests? #f))
+(inputs `(("libpng" ,libpng)
+  ("jasper" ,jasper)))
+(home-page "http://icns.sourceforge.net/;)
+(synopsis "Library for handling Mac OS icns resource files")
+(description
+ "libicns is a library for the manipulation of Mac OS IconFamily resource
+type files (ICNS).  icns2png and png2icns are provided to convert between PNG
+and ICNS. icns2png will extract image files from ICNS files under names like
+\"Foo_48x48x32.png\" useful for installing for use with .desktop files.")
+(license (list license:lgpl2.1+  ; libicns
+   license:gpl2+ ; icns2png, png2icns, icontainer2png
+
 (define-public libtiff
   (package
(name "libtiff")
-- 
2.9.3



Re: [PATCH 0/1] OpenSSL 1.1.0

2016-09-02 Thread Leo Famulari
On Fri, Sep 02, 2016 at 04:14:22PM -0400, Leo Famulari wrote:
> +(define-public openssl-next
> +  (package
> +(inherit openssl)

Also, I wonder if this should inherit from openssl?

Presumably there will be more security updates to openssl@1.0.2 before
openssl@1.1.0 is ready for general use, and I'd wouldn't like for
openssl@1.0.2 updates to be delayed while we wait to see if
openssl@1.1.0 still builds with the changes.


signature.asc
Description: PGP signature


Re: [PATCH 0/1] OpenSSL 1.1.0

2016-09-02 Thread Leo Famulari
On Fri, Sep 02, 2016 at 02:43:58PM +0200, Ludovic Courtès wrote:
> > I also read about lots of breakage due to the update so I think it’s
> > okay to add it as “openssl-next” for now.
> 
> Agreed (though its fine to use “openssl” in the ‘name’ field IMO.)

When I put "openssl" in the 'name' field, as attached, `guix build
openssl` gives me 1.1.0, which is not right. The other *-next packages
all seem to use "name-next" as the name.
From b09132baa7181542b82804985aac7d5f030ec545 Mon Sep 17 00:00:00 2001
From: Leo Famulari 
Date: Fri, 2 Sep 2016 16:07:29 -0400
Subject: [PATCH] gnu: Add openssl-next.

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

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

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

2016-09-02 Thread Leo Famulari
On Fri, Sep 02, 2016 at 02:50:28PM -0400, Leo Famulari wrote:
> > *shiver* Why would one implement this in an language like C, which is
> > prone to buffer overflows, if there are implementations available in
> > more secure languages?
> 
> I wouldn't propose this package if it wasn't part of OpenBSD's base
> system:
> 
> http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.sbin/acme-client/

To clarify my statement, I think the OpenBSD project has a reputation
for writing good C. Also they design software to fail safely, by
designing privilege separation into their tools, inventing and using
pledge(2), etc.

This portable version of the software only gets some of those benefits,
but it does get some of them.

That's I didn't propose this package until I saw that it had been
reviewed and adopted by OpenBSD.



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

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

Suggestions?

> *shiver* Why would one implement this in an language like C, which is
> prone to buffer overflows, if there are implementations available in
> more secure languages?

I wouldn't propose this package if it wasn't part of OpenBSD's base
system:

http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.sbin/acme-client/



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

2016-09-02 Thread Hartmut Goebel
Am 02.09.2016 um 16:49 schrieb Leo Famulari:
> +(name "acme-client")

I strongly suggest using a different name, as this is *one* of many
implementations and it is not the "official" one.

> +(synopsis "Let's Encrypt client")

The synopsis should already state, this is *one* of the acme-clients.
Something like "Let's Encrypt client  used as standard at OpenBSD" is
more meaningful.
> +(description "acme-client is a Let's Encrypt client implemented in C.  It
> +uses a modular design, and attempts to secure itself by dropping privileges 
> and

*shiver* Why would one implement this in an language like C, which is
prone to buffer overflows, if there are implementations available in
more secure languages?


-- 
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/filmgesprach-zu-201ecitizenfour201c-in-herrsching

Kolumne: http://www.cissp-gefluester.de/2010-06-adobe-und-der-maiszunsler



smime.p7s
Description: S/MIME Cryptographic Signature


Re: Info Typo

2016-09-02 Thread Alex Kost
Kete Foy (2016-09-02 12:37 +0300) wrote:

> Thanks Leo, I found another one in 4.2.2: simlpy.

Oops, my bad, I've fixed it and a couple of other typos:

Thanks for reporting!

> Does anyone want to teach me how to submit a patch?

As ng0 pointed, there is a section in the manual about it:


Ask if something is unclear there.

-- 
Alex



Re: [PATCH] gnu: Add ola

2016-09-02 Thread John J Foerch
l...@gnu.org (Ludovic Courtès) writes:

> John J Foerch  skribis:
>
>> l...@gnu.org (Ludovic Courtès) writes:
>>
>>> Hi,
>>>
>>> Marius Bakke  skribis:
>>>
> 2 files changed, 4 insertions(+), 6 deletions(-)
> gnu/local.mk | 1 +
> gnu/packages/ola.scm | 9 +++--

 Perhaps this could be added to something like automation.scm?
>>>
>>> Makes sense to me, unless there are many other OLA-related packages.
>>>
>>> John: could you send an updated patch incorporating suggestions from
>>> Alex and Marius?  The rest LGTM.
>>>
>>> Thanks!
>>>
>>> Ludo’.
>>
>> How about lighting.scm?  There are a few other lighting programs that
>> could potentially be packaged.
>
> Sure, fine with me!
>
> Ludo’.

Here it is!

>From d4738938d325dcf0452346f48f0bf02c020bd6d2 Mon Sep 17 00:00:00 2001
From: "John J. Foerch" 
Date: Wed, 3 Aug 2016 21:36:52 -0500
Subject: [PATCH] gnu: Add ola.

* gnu/packages/ola.scm (ola): New variable.
---
 gnu/local.mk  |  1 +
 gnu/packages/lighting.scm | 75 +++
 2 files changed, 76 insertions(+)
 create mode 100644 gnu/packages/lighting.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index efb00b9..9c27e11 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -213,6 +213,7 @@ GNU_SYSTEM_MODULES =\
   %D%/packages/libusb.scm			\
   %D%/packages/libunwind.scm			\
   %D%/packages/libupnp.scm			\
+  %D%/packages/lighting.scm \
   %D%/packages/links.scm			\
   %D%/packages/linux.scm			\
   %D%/packages/lirc.scm\
diff --git a/gnu/packages/lighting.scm b/gnu/packages/lighting.scm
new file mode 100644
index 000..5101fba
--- /dev/null
+++ b/gnu/packages/lighting.scm
@@ -0,0 +1,75 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2016 John J. Foerch 
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see .
+
+(define-module (gnu packages lighting)
+  #:use-module (guix build-system gnu)
+  #:use-module (guix download)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (gnu packages bison)
+  #:use-module (gnu packages check)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages gnunet)
+  #:use-module (gnu packages flex)
+  #:use-module (gnu packages libftdi)
+  #:use-module (gnu packages libusb)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages protobuf))
+
+(define-public ola
+  (package
+(name "ola")
+(version "0.10.2")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"https://github.com/OpenLightingProject/ola/releases/download/;
+version "/ola-" version ".tar.gz"))
+  (sha256
+   (base32
+"09zx1c8nkj29shfdzkahrh9397m3mwnsy0gj7jrb63f89f3n2vlq"
+(build-system gnu-build-system)
+(native-inputs
+ `(("bison" ,bison)
+   ("cppunit" ,cppunit)
+   ("flex" ,flex)
+   ("pkg-config" ,pkg-config)))
+(inputs
+ `(("libftdi" ,libftdi)
+   ("libmicrohttpd" ,libmicrohttpd)
+   ("libusb" ,libusb)
+   ("libuuid" ,util-linux)
+   ("zlib" ,zlib)))
+(propagated-inputs
+ `(("protobuf" ,protobuf))) ;; for pkg-config --libs libola
+(arguments
+ `(;; G++ >= 4.8 macro expansion tracking requires lots of memory, causing
+   ;; build to fail on low memory systems.  We disable that with the
+   ;; following configure flags.
+   #:configure-flags (list "CXXFLAGS=-ftrack-macro-expansion=0")))
+(synopsis "Framework for controlling entertainment lighting equipment")
+(description "The Open Lighting Architecture is a framework for lighting
+control information.  It supports a range of protocols and over a dozen USB
+devices.  It can run as a standalone service, which is useful for converting
+signals between protocols, or alternatively using the OLA API, it can be used
+as the backend for lighting control software.  OLA runs on many different
+platforms including ARM, which makes it a perfect fit for low cost Ethernet to
+DMX gateways.")
+(home-page "https://www.openlighting.org/ola;)
+(license license:lgpl2.1+)))
-- 
2.9.3



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

2016-09-02 Thread gno

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 ?

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.



[PATCH] Add scratch

2016-09-02 Thread Nicolas Goaziou
Hello,

The following patch adds Scratch to the Guix packages.

There are some caveats:

- it is not the latest version of scratch (1.4 instead of 2.0) as this
  one required Adobe Air for the offline editor and Flash plugin online.

- it freezes when returning from fullscreen execution of a script. Note
  that the same happens with the Debian package, so there's probably
  little I can do.

- the installation merely copies Scratch.image, which is an image of the
  VM. It is not a binary blob. You can inspect and modify code from
  within the application. See
   for details.

- "/usr/share/scratch" directory is hard-coded. As a consequence Scratch
  cannot find translation files or artwork. You can still import artwork
  from the store directory but it is not a great out-of-the box
  experience.

  I notified the issue to the developers
  (https://github.com/LLK/Scratch_1.4/issues) but, considering other
  issues there are years old, I have little hope about it.

  If there's an idea on how to fake the "/usr/share/scratch" directory,
  I'm all ears.

Feedback welcome.

Regards,

-- 
Nicolas Goaziou0x80A93738
>From 19bd9de8cd1cd596703db5a92e18191d91762150 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou 
Date: Fri, 26 Aug 2016 12:32:23 +0200
Subject: [PATCH] gnu: education: Add scratch.

* gnu/packages/education.scm (scratch): New variable.

* gnu/packages/patches/scratch-desktopfile-semicolon.patch:
* gnu/packages/patches/scratch-use-squeak-plugins.patch: New files.
* gnu/local.mk (dist_patch_DATA): Add them.
---
 gnu/local.mk   |  2 +
 gnu/packages/education.scm | 98 +-
 .../patches/scratch-desktopfile-semicolon.patch|  8 ++
 .../patches/scratch-use-squeak-plugins.patch   | 18 
 4 files changed, 124 insertions(+), 2 deletions(-)
 create mode 100644 gnu/packages/patches/scratch-desktopfile-semicolon.patch
 create mode 100644 gnu/packages/patches/scratch-use-squeak-plugins.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index efb00b9..9b8c561 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -779,6 +779,8 @@ dist_patch_DATA =		\
   %D%/packages/patches/sed-hurd-path-max.patch			\
   %D%/packages/patches/scheme48-tests.patch			\
   %D%/packages/patches/scotch-test-threading.patch		\
+  %D%/packages/patches/scratch-desktop-semicolon.patch		\
+  %D%/packages/patches/scratch-use-squeak-plugins.patch		\
   %D%/packages/patches/sdl-libx11-1.6.patch			\
   %D%/packages/patches/serf-comment-style-fix.patch		\
   %D%/packages/patches/serf-deflate-buckets-test-fix.patch	\
diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm
index 14c1bac..f84ca52 100644
--- a/gnu/packages/education.scm
+++ b/gnu/packages/education.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2016 Danny Milosavljevic 
 ;;; Copyright © 2016 Ricardo Wurmus 
+;;; Copyright © 2016 Nicolas Goaziou 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -18,7 +19,6 @@
 ;;; along with GNU Guix.  If not, see .
 
 (define-module (gnu packages education)
-  #:use-module (ice-9 regex)
   #:use-module (gnu packages)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages compression)
@@ -31,6 +31,7 @@
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages sdl)
+  #:use-module (gnu packages smalltalk)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages xml)
   #:use-module ((guix licenses) #:prefix license:)
@@ -38,9 +39,10 @@
   #:use-module (guix download)
   #:use-module (guix svn-download)
   #:use-module (guix utils)
+  #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system cmake)
-  #:use-module (srfi srfi-1))
+  #:use-module (srfi srfi-26))
 
 (define-public stellarium
   (package
@@ -138,3 +140,95 @@ of categories with some of the activities available in that category.
 @end enumerate
 ")
 (license license:gpl3+)))
+
+(define-public scratch
+  (package
+(name "scratch")
+(version "1.4.0.7")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append "https://download.scratch.mit.edu/;
+   "scratch-" version ".src.tar.gz"))
+   (sha256
+(base32
+ "0gka4acblxd3q0bc58pzjdr6k6fx6qww5vj724nvmwnfiqkqjkdr"))
+   (patches (search-patches
+ "scratch-desktopfile-semicolon.patch"
+ "scratch-use-squeak-plugins.patch"
+(inputs
+ `(("cairo" ,cairo)
+   ("pango" ,pango)
+   ("shared-mime-info" ,shared-mime-info)))
+(native-inputs
+ `(("pkg-config" ,pkg-config)))
+(propagated-inputs `(("squeak-vm" ,squeak-vm)))
+  

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

2016-09-02 Thread David Craven
> And instead of handing this particular case,
> how about create any parent directory
> of HOME?

I briefly thought about it and thought that we should discourage users
to pick *any* home directory. This will prevent them from doing so.
But it's just an artificial restriction. In that case it's a bug fix
instead of a feature ;-)



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

2016-09-02 Thread ng0
Vincent Legoll  writes:

> Hello,
>
>> Also, it's better fit in the 'add-user' procudere, before
>> the run of `useradd' command.  And instead of handing
>> this particular case, how about create any parent directory
>> of HOME?  like:
>>
>> [...]
>>   ;; create the parent directory of HOME.
>>   (when home (mkdir-p (dirname home)))
>>
>>   ;; Use 'useradd' from the Shadow package.
>> [...]
>
> This looks like a better idea IMHO (more generic)
>
> -- 
> Vincent Legoll
>

Apparently I need this if I want to extend git-service (ie: ssh to user
git), and for gnunet-service which requires some directories to be
present in $HOME which normally are there for users as far as I remember.
[PATHS]
SERVICEHOME = /var/lib/gnunet is not working. I could of course create
.config to ~maybe~ satisfy it, but I find this patch useful, as it will
allow me to write less code.
-- 
ng0
For non-prism friendly talk find me on http://www.psyced.org



Re: GSoC NPM

2016-09-02 Thread Jan Nieuwenhuizen
Thompson, David writes:

> On Fri, Sep 2, 2016 at 10:24 AM, Jan Nieuwenhuizen  wrote:
>
>> Also, I found that you prefer going through the repository/github
>> instead of using the dist tarball.  Why is that?
>
> The tarballs distributed by NPM are considered binaries, not source.

Ah I see.  In some cases there are indeed some differences.  So we'll
probably want to reverse the default: if a repository is present it is
most probably be better to get that.  I only found significant
differences with the fibers package, though.  Others just differ in
having an additional .gitignore and .npmignore file.

I found in some cases that repositories do not have release tags.  In
such cases, it may be "better" to use the dist tarball, as you have a
better chance of getting the exact released version commit?

Greetings,
Jan

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



Re: [PATCH 5/5] gnu: linux-libre: Add support for cross-compilation.

2016-09-02 Thread David Craven
Sorry about this. I hadn't checked that cross compilation doesn't
break native compiles. It should be (unless target (setenv ...

Also the patch with the arm config should also add armhf-linux to
supported-systems



[PATCH 2/5] gnu: linux-libre: Use modify-phases.

2016-09-02 Thread David Craven
* gnu/packages/linux.scm (linux-libre): Use modify-phases.
---
 gnu/packages/linux.scm | 79 --
 1 file changed, 38 insertions(+), 41 deletions(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index be28a1b..dc7ea78 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -253,9 +253,40 @@ for SYSTEM and optionally VARIANT, or #f if there is no 
such configuration."
 (search-path %load-path file)))
 
 (define-public linux-libre
-  (let* ((version "4.7.2")
- (build-phase
-  '(lambda* (#:key system inputs #:allow-other-keys #:rest args)
+  (package
+(name "linux-libre")
+(version "4.7.2")
+(source (origin
+  (method url-fetch)
+  (uri (linux-libre-urls version))
+  (sha256
+   (base32
+"1rp09y2hv0hvdybm2n2im9717kzxmklpgzs8k1bmdfzqxyg8cb85"
+(build-system gnu-build-system)
+(supported-systems '("x86_64-linux" "i686-linux"))
+(native-inputs `(("perl" ,perl)
+ ("bc" ,bc)
+ ("openssl" ,openssl)
+ ("module-init-tools" ,module-init-tools)
+ ("patch/freedo+gnu" ,%boot-logo-patch)
+
+ ,@(let ((conf (kernel-config
+(or (%current-target-system)
+(%current-system))
+#:variant (version-major+minor version
+ (if conf
+ `(("kconfig" ,conf))
+ '()
+(arguments
+ `(#:modules ((guix build gnu-build-system)
+  (guix build utils)
+  (srfi srfi-1)
+  (ice-9 match))
+   #:phases
+   (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'build
+   (lambda* (#:key system inputs #:allow-other-keys #:rest args)
  ;; Avoid introducing timestamps
  (setenv "KCONFIG_NOTIMESTAMP" "1")
  (setenv "KBUILD_BUILD_TIMESTAMP" (getenv "SOURCE_DATE_EPOCH"))
@@ -305,8 +336,8 @@ for SYSTEM and optionally VARIANT, or #f if there is no 
such configuration."
;; Call the default `build' phase so `-j' is correctly
;; passed.
(apply build #:make-flags "all" args
- (install-phase
-  `(lambda* (#:key inputs outputs #:allow-other-keys)
+ (replace 'install
+   (lambda* (#:key inputs outputs #:allow-other-keys)
  (let* ((out(assoc-ref outputs "out"))
 (moddir (string-append out "/lib/modules"))
 (mit(assoc-ref inputs "module-init-tools")))
@@ -323,47 +354,13 @@ for SYSTEM and optionally VARIANT, or #f if there is no 
such configuration."
(string-append "INSTALL_MOD_PATH=" out)
"INSTALL_MOD_STRIP=1"
"modules_install"))
-   (package
-(name "linux-libre")
-(version version)
-(source (origin
- (method url-fetch)
- (uri (linux-libre-urls version))
- (sha256
-  (base32
-   "1rp09y2hv0hvdybm2n2im9717kzxmklpgzs8k1bmdfzqxyg8cb85"
-(build-system gnu-build-system)
-(supported-systems '("x86_64-linux" "i686-linux"))
-(native-inputs `(("perl" ,perl)
- ("bc" ,bc)
- ("openssl" ,openssl)
- ("module-init-tools" ,module-init-tools)
- ("patch/freedo+gnu" ,%boot-logo-patch)
-
- ,@(let ((conf (kernel-config
-(or (%current-target-system)
-(%current-system))
-#:variant (version-major+minor version
- (if conf
- `(("kconfig" ,conf))
- '()
-(arguments
- `(#:modules ((guix build gnu-build-system)
-  (guix build utils)
-  (srfi srfi-1)
-  (ice-9 match))
-   #:phases (alist-replace
- 'build ,build-phase
- (alist-replace
-  'install ,install-phase
-  (alist-delete 'configure %standard-phases)))
#:tests? #f))
+(home-page "http://www.gnu.org/software/linux-libre/;)
 (synopsis "100% free redistribution of a cleaned Linux kernel")
 (description
  "GNU Linux-Libre is a free (as in freedom) variant of the Linux kernel.
 It has been modified to remove all non-free binary blobs.")
-(license license:gpl2)
-(home-page "http://www.gnu.org/software/linux-libre/;
+(license license:gpl2)))
 
 (define-public linux-libre-4.4
   (package
-- 
2.9.0



[PATCH] gnu: linux-libre-headers: Use modify-phases.

2016-09-02 Thread David Craven
* gnu/packages/linux.scm (linux-libre-headers): Use modify phases.
---
 gnu/packages/linux.scm | 58 --
 1 file changed, 28 insertions(+), 30 deletions(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index aac2cd1..adfa027 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -109,17 +109,36 @@
  version "-gnu.tar.xz")))
 
 (define-public linux-libre-headers
-  (let* ((version "4.1.18")
- (build-phase
-  (lambda (arch)
-`(lambda _
-   (setenv "ARCH" ,(system->linux-architecture arch))
+  (package
+(name "linux-libre-headers")
+(version "4.1.18")
+(source (origin
+ (method url-fetch)
+ (uri (linux-libre-urls version))
+ (sha256
+  (base32
+   "1bddh2rg645lavhjkk9z75vflba5y0g73z2fjwgbfrj5jb44x9i7"
+(build-system gnu-build-system)
+(native-inputs `(("perl" ,perl)))
+(arguments
+ `(#:modules ((guix build gnu-build-system)
+  (guix build utils)
+  (srfi srfi-1))
+   #:phases
+   (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'build
+   (lambda _
+ (let ((arch ,(system->linux-architecture
+  (or (%current-target-system)
+  (%current-system)
+   (setenv "ARCH" arch)
(format #t "`ARCH' set to `~a'~%" (getenv "ARCH"))
 
(and (zero? (system* "make" "defconfig"))
 (zero? (system* "make" "mrproper" "headers_check"))
- (install-phase
-  `(lambda* (#:key outputs #:allow-other-keys)
+ (replace 'install
+   (lambda* (#:key outputs #:allow-other-keys)
  (let ((out (assoc-ref outputs "out")))
(and (zero? (system* "make"
 (string-append "INSTALL_HDR_PATH=" out)
@@ -139,33 +158,12 @@
   (for-each delete-file (find-files out "\\.install"))
 
   #t))
-   (package
-(name "linux-libre-headers")
-(version version)
-(source (origin
- (method url-fetch)
- (uri (linux-libre-urls version))
- (sha256
-  (base32
-   "1bddh2rg645lavhjkk9z75vflba5y0g73z2fjwgbfrj5jb44x9i7"
-(build-system gnu-build-system)
-(native-inputs `(("perl" ,perl)))
-(arguments
- `(#:modules ((guix build gnu-build-system)
-  (guix build utils)
-  (srfi srfi-1))
-   #:phases (alist-replace
- 'build ,(build-phase (or (%current-target-system)
-  (%current-system)))
- (alist-replace
-  'install ,install-phase
-  (alist-delete 'configure %standard-phases)))
#:allowed-references ()
#:tests? #f))
+(home-page "http://www.gnu.org/software/linux-libre;)
 (synopsis "GNU Linux-Libre kernel headers")
 (description "Headers of the Linux-Libre kernel.")
-(license license:gpl2)
-(home-page "http://www.gnu.org/software/linux-libre/;
+(license license:gpl2)))
 
 (define-public module-init-tools
   (package
-- 
2.9.0



[PATCH 3/5] gnu: linux-libre: Use system->architecture.

2016-09-02 Thread David Craven
* gnu/packages/linux.scm (linux-libre): Use system->architecture.
---
 gnu/packages/linux.scm | 14 +++---
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index dc7ea78..19851d2 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -286,7 +286,7 @@ for SYSTEM and optionally VARIANT, or #f if there is no 
such configuration."
(modify-phases %standard-phases
  (delete 'configure)
  (replace 'build
-   (lambda* (#:key system inputs #:allow-other-keys #:rest args)
+   (lambda* (#:key inputs #:allow-other-keys #:rest args)
  ;; Avoid introducing timestamps
  (setenv "KCONFIG_NOTIMESTAMP" "1")
  (setenv "KBUILD_BUILD_TIMESTAMP" (getenv "SOURCE_DATE_EPOCH"))
@@ -295,12 +295,12 @@ for SYSTEM and optionally VARIANT, or #f if there is no 
such configuration."
  (system* "patch" "-p1" "--force"
   "-i" (assoc-ref inputs "patch/freedo+gnu"))
 
- (let ((arch (car (string-split system #\-
-   (setenv "ARCH"
-   (cond ((string=? arch "i686") "i386")
- ((string=? arch "mips64el") "mips")
- (else arch)))
-   (format #t "`ARCH' set to `~a'~%" (getenv "ARCH")))
+ (let ((arch ,(system->linux-architecture
+   (or (%current-target-system)
+   (%current-system)
+   (setenv "ARCH" arch))
+
+ (format #t "`ARCH' set to `~a'~%" (getenv "ARCH"))
 
  (let ((build  (assoc-ref %standard-phases 'build))
(config (assoc-ref inputs "kconfig")))
-- 
2.9.0



[PATCH 1/5] gnu: module-init-tools: Prevent line wrapping.

2016-09-02 Thread David Craven
* gnu/packages/linux.scm (module-init-tools): Break line.
---
 gnu/packages/linux.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index aac2cd1..be28a1b 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -174,8 +174,8 @@
 (source (origin
  (method url-fetch)
  (uri (string-append
-   
"mirror://kernel.org/linux/utils/kernel/module-init-tools/module-init-tools-"
-   version ".tar.bz2"))
+   "mirror://kernel.org/linux/utils/kernel/module-init-tools/"
+   "module-init-tools-" version ".tar.bz2"))
  (sha256
   (base32
"0jxnz9ahfic79rp93l5wxcbgh4pkv85mwnjlbv1gz3jawv5cvwp1"))
-- 
2.9.0



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

2016-09-02 Thread Leo Famulari
On Thu, Sep 01, 2016 at 05:57:03PM +0200, David Craven wrote:
> * gnu/system/vm.scm (common-qemu-options): Remove -net user flag.

Can the VM still "dial out" with this change?



Re: GSoC NPM

2016-09-02 Thread Jelle Licht
Hi Jan,

Thanks for your interest and work. I am currently quite occupied with
getting ready
for my next year of studies, so I will only shortly address your points;

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.

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.

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

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

- Jelle


2016-09-02 16:24 GMT+02:00 Jan Nieuwenhuizen :

> Jelle Licht writes:
>
> Hi Jelle!
>
> > - The ability to parse npm version data
> > - An npm backend for ~guix import~
> > - Npm modules in guix
> > - An actual build system for npm packages
>
> That's amazing.  I played with it today and noticed that it always
> downloads devDependencies.  Why is that...I disabled that because
> I think I don't need those?
>
> Also, I found that you prefer going through the repository/github
> instead of using the dist tarball.  Why is that?  Some packages do not
> have a repository field, such as `http'.  I changed that to prefer using
> the dist tarball and use repository as fallback.  You probably want to
> change that order?
>
> I made some other small changes, see attached patch, to be able to
> download all packages that I need, notably: cjson, http and xmldom.
>
> Thanks again for your amazing work, hoping to have this in master soon.
>
> Greetings,
> Jan
>
>
>
> --
> Jan Nieuwenhuizen  | GNU LilyPond http://lilypond.org
> Freelance IT http://JoyofSource.com | Avatar®  http://AvatarAcademy.nl
>
>


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

2016-09-02 Thread Vincent Legoll
Hello,

> Also, it's better fit in the 'add-user' procudere, before
> the run of `useradd' command.  And instead of handing
> this particular case, how about create any parent directory
> of HOME?  like:
>
> [...]
>   ;; create the parent directory of HOME.
>   (when home (mkdir-p (dirname home)))
>
>   ;; Use 'useradd' from the Shadow package.
> [...]

This looks like a better idea IMHO (more generic)

-- 
Vincent Legoll



Re: GSoC NPM

2016-09-02 Thread Thompson, David
On Fri, Sep 2, 2016 at 10:24 AM, Jan Nieuwenhuizen  wrote:

> Also, I found that you prefer going through the repository/github
> instead of using the dist tarball.  Why is that?

The tarballs distributed by NPM are considered binaries, not source.

- Dave



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

2016-09-02 Thread Vincent Legoll
Hello,

> The attached patch eliminates the use of 'inkscape' and 'imagemagick' to
> convert our grub background image from SVG to PNG.  The job is now done
> using 'librsvg' [1] via Guile's dynamic FFI.  I was unable to perform
> the needed scaling using the 'rsvg-convert' program, so I had to use
> librsvg directly.
> [...]
> What do you think?

This is very good, reducing the bare-bones system configuration even if
keeping the default grub theme.

I'll test it later

-- 
Vincent Legoll



Re: [PATCH] gnu: Add praat

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

I don't have any issue with this per se, but I haven't the slightest
clue how to due it. Praat Has no configure script, rather it just has a
make file that compiles everything into a single binary. is the code in
FLAC the same as the flac package?? How would I go about making these
external packages? Also I'm wondering how to go about adding an icon and
.desktop file supporting internationalisation. It seems upstream should
do this but they haven't so the package is nothing like a standard GNU
program. Is it possible to do all this without learning C?




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

2016-09-02 Thread Leo Famulari
* gnu/packages/tls.scm (acme-client): New variable.
---
 gnu/packages/tls.scm | 35 +++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index 4b87150..eeb15ca 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -34,6 +34,7 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages)
   #:use-module (gnu packages guile)
+  #:use-module (gnu packages libbsd)
   #:use-module (gnu packages libffi)
   #:use-module (gnu packages libidn)
   #:use-module (gnu packages linux)
@@ -619,3 +620,37 @@ arithmetic in Perl.")
   (description "Crypt::OpenSSL::Random is a OpenSSL/LibreSSL pseudo-random
 number generator")
   (license (package-license perl
+
+(define-public acme-client
+  (package
+(name "acme-client")
+(version "0.1.11")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "https://kristaps.bsd.lv/; name "/"
+  "snapshots/" name "-portable-"
+  version ".tgz"))
+  (sha256
+   (base32
+"09pipyfk448gxqr7ci56gsq5la8wlydv7wwn9wk0zgjxmlh7h6fb"
+(build-system gnu-build-system)
+(arguments
+ '(#:tests? #f ; no test suite
+   #:make-flags
+   (list "CC=gcc"
+ (string-append "PREFIX=" (assoc-ref %outputs "out")))
+   #:phases
+   (modify-phases %standard-phases
+ (delete 'configure ; no './configure' script
+(inputs
+ `(("libbsd" ,libbsd)
+   ("libressl" ,libressl)))
+(synopsis "Let's Encrypt client")
+(description "acme-client is a Let's Encrypt client implemented in C.  It
+uses a modular design, and attempts to secure itself by dropping privileges and
+operating in a chroot where possible.  acme-client is developed on OpenBSD and
+then ported to the GNU / Linux environment.")
+(home-page "https://kristaps.bsd.lv/acme-client/;)
+;; acme-client is distributed under the ISC license, but the files 'jsmn.h'
+;; and 'jsmn.c' are distributed under the Expat license.
+(license (list license:isc license:expat
-- 
2.9.3




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

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

But feel free to revert if you think appropriate.

J'



[PATCH 0/1] Another Let's Encrypt client

2016-09-02 Thread Leo Famulari
I have been looking at this Let's Encrypt client for a little while. It
was just merged into the OpenBSD base system, and had its name changed
from 'letskencrypt' to the generic 'acme-client'. The name might be too 
generic; I found at least 4 different programs with this name.

https://kristaps.bsd.lv/acme-client/

Some attempt has been made to reduce the risks inherent to running the 
program as root, as described on the home page.

And, I did a minimal test: I was able to get a new certificate.

Leo Famulari (1):
  gnu: Add acme-client.

 gnu/packages/tls.scm | 35 +++
 1 file changed, 35 insertions(+)

-- 
2.9.3




Re: State of maven build system, gradle and Apache commens

2016-09-02 Thread Ricardo Wurmus

Hartmut Goebel  writes:

> Am 02.09.2016 um 13:48 schrieb Ricardo Wurmus:
>
> 
> > I found all of these need intervention for building, as there is no
>> "install" target (maybe I missed something). Echo of the packages
>> behaves a bit different (e.g. different directory names), while
>> sharing some common patterns. I'll attach my WIP for your convenience.
>
> “ant-build-system” creates a “build.xml” with an install target when
> “#:jar-name” is provided.  This is useful in case there’s only a
> “pom.xml” and the package provides a single jar.
>
> Yes, this is what you wrote earlier today. But most of these (four)
> commons packages habe a build.xml, But they behave differently. Some
> build into "target", some into "dist/", some put docs in "apidocs/"
> others into "docs/api/".
>
> Or do you suggest to use a build.xml created be ant-build-system?

This depends on the package and the expected output (e.g. one jar file
to be installed).  The build.xml generated by the ant-build-system does
not build docs because it’s supposed to work for most Java packages.

We could change the ant-build-system such that a smarter “build.xml”
would be generated, but I think if a project provides a “build.xml” we
should be using it, unless it’s really defective or close to useless.

Another option is to write procedures to parse the “build.xml” and add
custom targets, but since I don’t know what to expect in the build files
I cannot think of a general approach that would be useful here.

~~ Ricardo



Re: Tracking package submissions with Debbugs

2016-09-02 Thread Ricardo Wurmus

Ludovic Courtès  writes:

> I suppose it wouldn’t handle patch series very well though, would it?
> Or people would have to send the “cover letter” of the series first, and
> then send the rest to n...@debbugs.gnu.org once a number has been
> assigned?

Or could we have a bug per module?  Then the whole patch series could be
sent to the bug id of the module.  But I guess this would make it harder
to keep track of individual package submissions again, because bug would
rarely ever be closed when there are lots of patches to the same module.

> What’s unclear to me is how convenient Debbugs is for non-Emacs users:
> Emacs has M-x debbugs-gnu, which is a significant UI improvement, but
> how do non-Emacs users deal with Debbugs?

Outside of Emacs I only ever used Debbugs in read-only fashion.  The web
interface is not very pretty but it’s functional and looks better than
the default mailman interface.

~~ Ricardo



Re: GSoC NPM

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

Hi Jelle!

> - The ability to parse npm version data
> - An npm backend for ~guix import~
> - Npm modules in guix
> - An actual build system for npm packages

That's amazing.  I played with it today and noticed that it always
downloads devDependencies.  Why is that...I disabled that because
I think I don't need those?

Also, I found that you prefer going through the repository/github
instead of using the dist tarball.  Why is that?  Some packages do not
have a repository field, such as `http'.  I changed that to prefer using
the dist tarball and use repository as fallback.  You probably want to
change that order?

I made some other small changes, see attached patch, to be able to
download all packages that I need, notably: cjson, http and xmldom.

Thanks again for your amazing work, hoping to have this in master soon.

Greetings,
Jan

>From 151f5d338199f94651d499070240ff5f1e75058c Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen 
Date: Fri, 2 Sep 2016 16:16:35 +0200
Subject: [PATCH] npm importer: updates; fixes downloading of e.g.: cjson,
 http, xmldom.

* gnu/nmp.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* scripts/npm-import: New file.
* guix/import/npm.scm (gh-fuzzy-tag-match): Add two fallbacks: missing /TAGS
and VERSION mismatch.
(source-uri): Prefer using (dist . tarball) over (repository . url).
(spdx-string->license): Add LGPL.
(package-origin): Handle registry.npmjs.org url.
* (npm->guix-package): Discard devDependencies.
---
 gnu/local.mk |   1 +
 gnu/packages/npm.scm |  12 +
 guix/import/npm.scm  | 125 ---
 scripts/npm-import   |  31 +
 4 files changed, 132 insertions(+), 37 deletions(-)
 create mode 100644 gnu/packages/npm.scm
 create mode 100755 scripts/npm-import

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..0a483d2
--- /dev/null
+++ b/gnu/packages/npm.scm
@@ -0,0 +1,12 @@
+(define-module (gnu packages npm)
+  #:use-module (guix licenses)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system node))
+
+;; FIXME
+(define npm-license-unknown public-domain)
+
+#!
+scripts/npm-import async-q q cjson http fs-extra  xmldom >> gnu/packages/npm.scm
+!#
diff --git a/guix/import/npm.scm b/guix/import/npm.scm
index b6c9120..1e7f2c4 100644
--- a/guix/import/npm.scm
+++ b/guix/import/npm.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015 David Thompson 
 ;;; Copyright © 2016 Jelle Licht 
+;;; Copyright © 2016 Jan Nieuwenhuizen 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -187,10 +188,10 @@ GITHUB-REPO"
   "https://api.github.com/repos/;
   (github-user-slash-repository github-repo)
   "/tags"))
- (json (json-fetch*
-(if token
-(string-append api-url "?access_token=" token)
-api-url
+ (api-url (if token
+  (string-append api-url "?access_token=" token)
+  api-url))
+ (json (json-fetch* api-url)))
 (if (eq? json #f)
 (if token
 (error "Error downloading release information through the GitHub
@@ -208,8 +209,25 @@ api-url))
 (member name fuzzy-tags)))
 json)))
   (match proper-release
-(()   ;empty release list
- #f)
+(()   ;fuzzy version mismatch
+ (if (pair? json)
+ (begin
+   ;;XXX: Just pick first release
+   ;; e.g.: xmldom 0.1.16 vs 0.1.22
+   (hash-ref (car json) "name"))
+ ;;XXX: No tags: Just pick latest commit from master
+ ;; e.g.: cjson
+ ;; TODO: iso master, snarf default_branch from /
+ (let* ((branches-url (string-replace-substring api-url "/tags" "/branches"))
+(branches (json-fetch* branches-url))
+(first-or-master
+ (or
+  (find (lambda (x) (equal? (hash-ref x "name") "master"))
+branches)
+  (car branches)))
+(commit (hash-ref first-or-master "commit"))
+(sha (hash-ref commit "sha")))
+   sha)))
 ((release . rest) ;one or 

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

2016-09-02 Thread Ricardo Wurmus

Ludovic Courtès  writes:

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

This looks unrelated to me.  The error is that
“tests/autojump_utils_test.py” cannot be opened in the “check” phase.
That’s expected because the file is actually called
“tests/unit/autojump_utils_test.py” (note the “unit” directory).

I’m convinced my patch to the GTKs couldn’t possibly have caused this.

Here are the relevant parts of the log:

~
starting phase `unpack'
[...]
autojump-release-v22.3.4/tests/unit/
autojump-release-v22.3.4/tests/unit/__init__.py
autojump-release-v22.3.4/tests/unit/autojump_match_test.py
autojump-release-v22.3.4/tests/unit/autojump_utils_test.py
[...]
phase `unpack' succeeded after 0.1 seconds
[...]
starting phase `patch-source-shebangs'
[...]
patch-shebang: ./tests/unit/autojump_utils_test.py: changing `/usr/bin/env 
python' to 
`/gnu/store/wa1yc835mb7pmmrj45xfgviqr5fbasqq-python-wrapper-3.4.3/bin/python'
patch-shebang: ./uninstall.py: changing `/usr/bin/env python' to 
`/gnu/store/wa1yc835mb7pmmrj45xfgviqr5fbasqq-python-wrapper-3.4.3/bin/python'
phase `patch-source-shebangs' succeeded after 0.1 seconds
starting phase `patch-generated-file-shebangs'
phase `patch-generated-file-shebangs' succeeded after 0.0 seconds
starting phase `check'
python: can't open file 'tests/autojump_utils_test.py': [Errno 2] No such file 
or directory
phase `check' failed after 1.8 seconds
~

> We’ll have to merge ‘master’ into it and evaluate it again.

Can “gtk-im-modules” not be merged into the master branch directly?

~~ Ricardo



Re: [PATCH] gnu: Add Infernal.

2016-09-02 Thread Ricardo Wurmus

Thompson, David  writes:

> On Fri, Sep 2, 2016 at 9:35 AM, Ricardo Wurmus
>  wrote:
>> * gnu/packages/bioinformatics.scm (infernal): New variable.
>> ---
>>  gnu/packages/bioinformatics.scm | 27 +++
>>  1 file changed, 27 insertions(+)
>>
>> diff --git a/gnu/packages/bioinformatics.scm 
>> b/gnu/packages/bioinformatics.scm
>> index 08c2545..1652f71 100644
>> --- a/gnu/packages/bioinformatics.scm
>> +++ b/gnu/packages/bioinformatics.scm
>> @@ -4835,6 +4835,33 @@ data in the form of VCF files.")
>>  ;; at https://vcftools.github.io/license.html
>>  (license license:lgpl3)))
>>
>> +(define-public infernal
>> +  (package
>> +(name "infernal")
>> +(version "1.1.2")
>> +(source (origin
>> +  (method url-fetch)
>> +  ;; There are no versioned tarballs
>
> But the version appears in the URL?

Sorry, this comment was supposed to be removed before sending out the
patch.  Noticed it too late.

>> +  (uri (string-append "http://eddylab.org/software/infernal/;
>> +  "infernal-" version ".tar.gz"))
>> +  (sha256
>> +   (base32
>> +"0sr2hiz3qxfwqpz3whxr6n82p3x27336v3f34iqznp10hks2935c"
>> +(build-system gnu-build-system)
>> +(native-inputs
>> + `(("perl" ,perl))) ; for tests
>> +(home-page "http://eddylab.org/infernal/;)
>> +(synopsis "Inference of RNA alignments")
>> +(description "Infernal (\"INFERence of RNA ALignment\") is a tool for
>> +searching DNA sequence databases for RNA structure and sequence 
>> similarities.
>> +It is an implementation of a special case of profile stochastic context-free
>> +grammars called @dfn{covariance models} (CMs).  A CM is like a sequence
>> +profile, but it scores a combination of sequence consensus and RNA secondary
>> +structure consensus, so in many cases, it is more capable of identifying RNA
>> +homologs that conserve their secondary structure more than their primary
>> +sequence.")
>> +(license license:bsd-3)))
>> +
>>  (define-public r-vegan
>>(package
>>  (name "r-vegan")
>> --
>> 2.9.3
>>
>>
>
> LGTM overall.

Okay, will push in a moment (after removing the wrong comment).
Thanks for taking a look!

~~ Ricardo



Re: libidn security update patch

2016-09-02 Thread Leo Famulari
On Fri, Sep 02, 2016 at 02:47:35PM +0200, Ludovic Courtès wrote:
> Leo Famulari  skribis:
> 
> > From 217f444aa56ec292ddfaacfabcbb6ddea8d1f262 Mon Sep 17 00:00:00 2001
> > From: Leo Famulari 
> > Date: Fri, 2 Sep 2016 02:11:49 -0400
> > Subject: [PATCH] gnu: libidn: Replace with 1.33 [fixes CVE-2015-8948 and
> >  CVE-2016-{6261,6263}].
> >
> > * gnu/packages/libidn.scm (libidn)[replacement]: New field.
> > (libidn-1.33): New variable.
> 
> Perfect, thank you!

Pushed as d058708e8, with a follow-up on core-updates to ensure the
conflict is resolved properly.



Re: [PATCH] gnu: Add p7zip.

2016-09-02 Thread Kei Kebreau
Ricardo Wurmus  writes:

> Efraim Flashner  writes:
>
>> On Thu, Sep 01, 2016 at 03:05:34PM -0400, Kei Kebreau wrote:
>>> 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.
>
>> Hunk #1 FAILED at 139 (different line endings).
> [...]
>> Hunk #1 FAILED at 47 (different line endings).
>
> These are the exact same errors I got.  Maybe the line endings were
> converted automatically when you saved the patch with your editor?
>
> ~~ Ricardo

Maybe gnus is fixing the line endings when I save the patch. Try getting
the patch from http://paste.lisp.org/+6YOD. Other than that I'm not sure
what to do. None of my editors (Emacs, Zile and Nano) say anything weird
about the line endings.


signature.asc
Description: PGP signature


Re: [PATCH] gnu: Add Infernal.

2016-09-02 Thread Thompson, David
On Fri, Sep 2, 2016 at 9:35 AM, Ricardo Wurmus
 wrote:
> * gnu/packages/bioinformatics.scm (infernal): New variable.
> ---
>  gnu/packages/bioinformatics.scm | 27 +++
>  1 file changed, 27 insertions(+)
>
> diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
> index 08c2545..1652f71 100644
> --- a/gnu/packages/bioinformatics.scm
> +++ b/gnu/packages/bioinformatics.scm
> @@ -4835,6 +4835,33 @@ data in the form of VCF files.")
>  ;; at https://vcftools.github.io/license.html
>  (license license:lgpl3)))
>
> +(define-public infernal
> +  (package
> +(name "infernal")
> +(version "1.1.2")
> +(source (origin
> +  (method url-fetch)
> +  ;; There are no versioned tarballs

But the version appears in the URL?

> +  (uri (string-append "http://eddylab.org/software/infernal/;
> +  "infernal-" version ".tar.gz"))
> +  (sha256
> +   (base32
> +"0sr2hiz3qxfwqpz3whxr6n82p3x27336v3f34iqznp10hks2935c"
> +(build-system gnu-build-system)
> +(native-inputs
> + `(("perl" ,perl))) ; for tests
> +(home-page "http://eddylab.org/infernal/;)
> +(synopsis "Inference of RNA alignments")
> +(description "Infernal (\"INFERence of RNA ALignment\") is a tool for
> +searching DNA sequence databases for RNA structure and sequence similarities.
> +It is an implementation of a special case of profile stochastic context-free
> +grammars called @dfn{covariance models} (CMs).  A CM is like a sequence
> +profile, but it scores a combination of sequence consensus and RNA secondary
> +structure consensus, so in many cases, it is more capable of identifying RNA
> +homologs that conserve their secondary structure more than their primary
> +sequence.")
> +(license license:bsd-3)))
> +
>  (define-public r-vegan
>(package
>  (name "r-vegan")
> --
> 2.9.3
>
>

LGTM overall.

- Dave



[PATCH] gnu: Add Infernal.

2016-09-02 Thread Ricardo Wurmus
* gnu/packages/bioinformatics.scm (infernal): New variable.
---
 gnu/packages/bioinformatics.scm | 27 +++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 08c2545..1652f71 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -4835,6 +4835,33 @@ data in the form of VCF files.")
 ;; at https://vcftools.github.io/license.html
 (license license:lgpl3)))
 
+(define-public infernal
+  (package
+(name "infernal")
+(version "1.1.2")
+(source (origin
+  (method url-fetch)
+  ;; There are no versioned tarballs
+  (uri (string-append "http://eddylab.org/software/infernal/;
+  "infernal-" version ".tar.gz"))
+  (sha256
+   (base32
+"0sr2hiz3qxfwqpz3whxr6n82p3x27336v3f34iqznp10hks2935c"
+(build-system gnu-build-system)
+(native-inputs
+ `(("perl" ,perl))) ; for tests
+(home-page "http://eddylab.org/infernal/;)
+(synopsis "Inference of RNA alignments")
+(description "Infernal (\"INFERence of RNA ALignment\") is a tool for
+searching DNA sequence databases for RNA structure and sequence similarities.
+It is an implementation of a special case of profile stochastic context-free
+grammars called @dfn{covariance models} (CMs).  A CM is like a sequence
+profile, but it scores a combination of sequence consensus and RNA secondary
+structure consensus, so in many cases, it is more capable of identifying RNA
+homologs that conserve their secondary structure more than their primary
+sequence.")
+(license license:bsd-3)))
+
 (define-public r-vegan
   (package
 (name "r-vegan")
-- 
2.9.3




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

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

> * gnu/packages/display-managers.scm (greenisland): New variable.

[...]

> +(home-page "http://hawaiios.org;)
> +(license (list license:gpl2 license:gpl3 license:lgpl2.1 
> license:lgpl3

Please specify what the list means: aggregate of these, or license
choice at the user’s option.

Also, is the “or any later version” mention is indeed missing?

The rest of the patch LGTM, thank you!

Ludo’.



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

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

> From: John Darrington 
>
> * gnu/packages/gnome.scm (yelp): Update to 3.21.3

My understanding is that odd minor version numbers denote development
releases, no?  In that case we should wait for 3.22.x.

Ludo’.



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

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

> 宋文武  writes:
>
>> Ricardo Wurmus  writes:
>>
>>>   gnu: gtk+-2: Add patch to support GUIX_GTK2_IM_MODULE_FILE.
>>>   gnu: gtk+: Add patch to support GUIX_GTK3_IM_MODULE_FILE.
>>
>> Look good to me!
>
> Thanks!
>
> What do you think: should this be a separate branch (e.g. “gtk-rebuild”)
> or should it be pushed to “core-updates”?

As discussed on IRC, I’ve added a “jobset”:

  https://hydra.gnu.org/jobset/gnu/gtk-im-modules

There seems to be only 1 new failure compared to ‘master’:

  https://hydra.gnu.org/eval/109124?compare=master#tabs-now-fail

Could you take a look?

We’ll have to merge ‘master’ into it and evaluate it again.

Thanks,
Ludo’.



Re: Hardening

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

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

Definitely!  As discussed on IRC, an option would be to add a keyword
parameter to ‘gnu-build-system’:

  #:hardening-flags '(fortify stack-protector)

Then ‘configure’ in (guix build gnu-build-system) would translate that
into CPPFLAGS and CFLAGS options for ‘configure’, as shown above.

The main difficulty with this is that many packages will break.  Thus,
if we make it opt-out, we’ll have to fix packages one by one.  It seems
unavoidable though.

Thoughts?

Ludo’.



Re: [PATCH] PRELIMINARY: Add support for hibernation.

2016-09-02 Thread Ludovic Courtès
Hello!

Mark H Weaver  skribis:

> Here's a preliminary patch to add support for hibernation.  To enable
> it, you'll also need to add a line like this to your 'operating-system'
> definition.
>
>   (kernel-arguments '("resume=/dev/sda2"))
>
> Where the device named is a swap partition.

Awesome!  I missed this.

> It may be that we should add a dedicated 'resume-device' field to the
> 'operating-system'.  Thoughts?

I think it’s OK this way (though we should give an example in the
manual), but not strong opinion.

> From ad1d583eb6f009a2dfbc284cb8368608caf27a05 Mon Sep 17 00:00:00 2001
> From: Mark H Weaver 
> Date: Sun, 14 Aug 2016 05:33:12 -0400
> Subject: [PATCH] PRELIMINARY: Add support for hibernation.
>
> * gnu/build/linux-boot.scm (boot-system): Look for a resume=
> argument on the linux command line, and if present, attempt to resume from
> hibernation.
> * gnu/services/desktop.scm (): Change the default
> value of the 'handle-hibernate-key' key to 'hibernate'.

[...]

> +(resume-device (find-long-option "resume" args)))

Could you mention this argument under “Initial RAM Disk”?

> +   ;;
> +   ;; Attempt to resume from hibernation.
> +   ;;
> +   ;; IMPORTANT: This *must* happen before we mount any filesystems on
> +   ;; disk.  Quoting linux-libre/Documentation/swsusp.txt:
> +   ;; 
> +   ;; * BIG FAT WARNING 
> **
> +   ;; *
> +   ;; * If you touch anything on disk between suspend and resume...
> +   ;; *  ...kiss your data goodbye.
> +   ;; *
> +   ;; * If you do resume from initrd after your filesystems are 
> mounted...
> +   ;; *  ...bye bye root partition.
> +   ;; *  [this is actually same case as above]
> +   ;; *
> +   (when (and resume-device
> +  (file-exists? resume-device)
> +  (file-exists? "/sys/power/resume"))
> + (false-if-exception
> +  (let* ((device-base-name
> +  ;; The base name of the device file, after resolving
> +  ;; symlinks.
> +  (let loop ((file resume-device))
> +(match (stat:type (lstat file))
> +  ('symlink
> +   (let ((target (readlink file)))
> + (if (string-prefix? "/" target)
> + (loop target)
> + (loop (string-append (dirname file) "/" 
> target)
> +  (_ (basename file)
> + (major+minor
> +  ;; The major:minor string (e.g. "8:2") corresponding
> +  ;; to the resume device.
> +  (call-with-input-file (string-append "/sys/class/block/"
> +   device-base-name
> +   "/dev")
> +read-line)))
> +;; Write the major:minor string to /sys/power/resume
> +;; to attempt resume from hibernation.
> +(when major+minor
> +  (call-with-output-file "/sys/power/resume"
> +(cut display major+minor <>))

Could you turn the (false-if-exception …) expression into a separate
procedure?

I would perhaps remove ‘false-if-exception’: that way, if something goes
wrong, we’ll be able to see what the error is and get a REPL.  It might
also be useful to display a message like “resuming from device /dev/xyz
(8:2)…”

Apart from that it seems alright!

It’d be interesting to see if we can write a test.  The existing tests
do not use a swap partition, but adding one shouldn’t be too hard.

Thank you,
Ludo’.



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

2016-09-02 Thread David Craven
> I agree, if it is a problem it should be removed.
> Okay, is this documented that one can add qemu options after the
> file.scm? `guix system vm --help' doesn't show it, I haven't looked at
> documentation.

It's not a feature of guix system vm but of the qemu script.

$(guix system vm) evaluates to the qemu-run script then we are passing
the additional qemu flag to the script.



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

2016-09-02 Thread ng0
David Craven  writes:

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

I agree, if it is a problem it should be removed.
Okay, is this documented that one can add qemu options after the
file.scm? `guix system vm --help' doesn't show it, I haven't looked at
documentation.

> Your suggestions for new guix system vm flags are additional code that
> has to be maintained. I don't think we need them. Besides are you
> offering to implement them? Because I'm not ;-)

I don't have the time to test and debug this in addition to what I do
and my knowledge of qemu is limited, so no.
-- 
ng0
For non-prism friendly talk find me on http://www.psyced.org



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

2016-09-02 Thread Ludovic Courtès
Hi Mark!

Mark H Weaver  skribis:

> The attached patch eliminates the use of 'inkscape' and 'imagemagick' to
> convert our grub background image from SVG to PNG.  The job is now done
> using 'librsvg' [1] via Guile's dynamic FFI.  I was unable to perform
> the needed scaling using the 'rsvg-convert' program, so I had to use
> librsvg directly.
>
> As a side benefit, the resulting image quality should be superior when
> scaling is performed, because scaling is now effectively done in the
> vector representation during rendering, whereas previously it was done
> in the raster representation as a separate step.
>
> What do you think?

I think it’s excellent.  :-)
> From a50f358b083cff4d156cd7116fee516952fc9bcf Mon Sep 17 00:00:00 2001
> From: Mark H Weaver 
> Date: Fri, 2 Sep 2016 02:26:43 -0400
> Subject: [PATCH] system: grub: Use librsvg to convert SVG to PNG.
>
> * guix/build/svg.scm: New file.
> * Makefile.am (MODULES): Add it.
> * gnu/system/grub.scm (svg->png): Add 'width' and 'height' arguments.
> Reimplement using (guix build svg).  Drop references to 'inkscape' and
> 'imagemagick'.
> (resize-image): Remove.
> (grub-background-image): Adapt to the incorporation of scaling into
> 'svg->png'.

[...]

> +(define-module (guix build svg)
> +  #:use-module (ice-9 match)
> +  #:use-module (system foreign)
> +  #:use-module (rnrs bytevectors)
> +  #:export (svg->png))

Is there are reason for not using guile-rsvg and guile-cairo?  Otherwise
I think it would be preferable (they’d need to be autoloaded so that
‘make’ doesn’t fail when they’re missing, but that’s OK.)

I found an example that Andy had posted:

  https://lists.gnu.org/archive/html/guix-devel/2015-08/msg00753.html

Thank you!

Ludo’.



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

2016-09-02 Thread ng0
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.

Overall, it works and looks good to me.
-- 
ng0
For non-prism friendly talk find me on http://www.psyced.org



Re: [PATCH] gnu: Add mtd-utils.

2016-09-02 Thread Ludovic Courtès
Alex Kost  skribis:

> Ludovic Courtès (2016-09-01 15:13 +0300) wrote:
>
>> Danny Milosavljevic  skribis:
>>
>>> On Wed, 31 Aug 2016 22:59:11 +0200
>>> l...@gnu.org (Ludovic Courtès) wrote:
>>>
 Are there GPLv2 license headers that lack the “or any later version”
 wording, or anything that explicitly says “version 2 only”?  If not,
 it’s v2-or-later.
>>
>> [...]
>>
>>> ./mkfs.ubifs/crc16.h: ' * Implements the standard CRC-16: * Width 16 *
>>> Poly 0x8005 ( x^16 + x^15 + x^2 + 1 ) * Init 0 * * Copyright ( c )
>>> 2005 Ben Gardner  * * This code was taken from
>>> the linux kernel. The license is GPL Version 2.  '
>>
>> OK, GPLv2-only!
>
> Wait, why?  There are files that have a full license headers with "or
> any later version", for example "docfdisk.c", "flash_erase.c" and
> others.  That's why I thought both gpl2 and gpl2+ should be listed.

But they are combined, so the combined work, which is what we (should)
care about, is ‘gpl2’.

At least that’s how I usually do it, but I agree that this is an
undocumented convention that’s probably not unanimously followed.

Ludo’.



Re: libidn security update patch

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

> From 217f444aa56ec292ddfaacfabcbb6ddea8d1f262 Mon Sep 17 00:00:00 2001
> From: Leo Famulari 
> Date: Fri, 2 Sep 2016 02:11:49 -0400
> Subject: [PATCH] gnu: libidn: Replace with 1.33 [fixes CVE-2015-8948 and
>  CVE-2016-{6261,6263}].
>
> * gnu/packages/libidn.scm (libidn)[replacement]: New field.
> (libidn-1.33): New variable.

Perfect, thank you!

Ludo’.



Re: State of maven build system, gradle and Apache commens

2016-09-02 Thread Hartmut Goebel
Am 02.09.2016 um 13:48 schrieb Ricardo Wurmus:
>> > I found all of these need intervention for building, as there is no
>> > "install" target (maybe I missed something). Echo of the packages
>> > behaves a bit different (e.g. different directory names), while
>> > sharing some common patterns. I'll attach my WIP for your convenience.
> “ant-build-system” creates a “build.xml” with an install target when
> “#:jar-name” is provided.  This is useful in case there’s only a
> “pom.xml” and the package provides a single jar.

 Yes, this is what you wrote earlier today. But most of these (four)
commons packages habe a build.xml, But they behave differently. Some
build into "target", some into "dist/", some put docs in "apidocs/"
others into "docs/api/".

Or do you suggest to use a build.xml created be ant-build-system?


-- 
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/fortbildung-iso-27001-lead-implementer
Kolumne: http://www.cissp-gefluester.de/2010-09-mut-zur-beschraenkung



smime.p7s
Description: S/MIME Cryptographic Signature


Re: [PATCH] Clean all .go in clean-go

2016-09-02 Thread Ludovic Courtès
Eric Bavier  skribis:

> On Thu, 01 Sep 2016 14:37:58 +0200
> l...@gnu.org (Ludovic Courtès) wrote:

[...]

>> > In regards of the .go files remaining in the build directory, I agree
>> > that this is not good, however I don't think it is worth trying to fix
>> > this issue which equally applies to every file generated by Make.  Using
>> > wildcards can be tempting in such cases but it can lead to accidental
>> > file deletions which is worse IMO.  As a consequence I would prefer
>> > keeping the current 'clean-go' rule.  
>> 
>> I sympathize with that.
>
> How about simply printing  a warning if there are any .go files laying
> around after a `make clean` or `make clean-go`?

Sure, why not.

Ludo’.



Re: [PATCH 1/2] daemon: Fix '--version'.

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

> l...@gnu.org (Ludovic Courtès) writes:
>
>> Alex Vong  skribis:
>>
> [...]
>>>
>>> I think you have isolated the problem! This test case does not work for
>>> me.
>>>
>>>
>>> I get the following output after building with
>>> (g++ -O2 -flto version.cxx):
>>
>> What if you compile with ‘gcc’ (and rename to foo.c) instead of ‘g++’?
>>
>> It might be a symbol visibility problem, or name mangling issue.
>>
>> Ludo’.
>
> Hmm, I try to build with 'gcc -O2 -flto version.c' and './a.out
> --version' still fails with 'unrecognized option'. I check the symbols
> using 'nm' and they are not mangled. How should I check for the sign of
> a symbol visibility problems? 

‘nm’ shows a capital T for exported symbols, and a lowercase t for
hidden/private symbols.

Maybe you should report a bug against your distro’s package and see what
they think?

Ludo’.



Tracking package submissions with Debbugs

2016-09-02 Thread Ludovic Courtès
Hi Alex!

Alex Vong  skribis:

> While it may not be as user-friendly as web-based bug tracker these
> days, I think the Debian bug tracking system is still better than our
> current approach. In Debian, everything is a package. It is like a
> language primitive in the bug tracker system.
>
>
> There is an "intended to package" (ITP) package. When you want to
> package something, you simply file a bug against the ITP package. This
> has the advantage that, the relevant information stays within the bug
> report. So everyone can see the whole process, starting from someone
> intending to package, to a fully reviewed package, all in a single bug
> report. It is like having "lexical scoping".

And we all like lexical scoping.  :-)

> And the most important argument comes: We already have it now[0]! So,
> this could be a working intermediate solution. Currently, we are not
> using debbugs to its full potential.
>
>
> My suggestion will be to create a new package called "guix-package", and
> all people hoping to introduce a new package to guix should file a bug
> report to . If you are new to this type of bug
> tracking system, no problem! There is (some) documentation on it[1][2]
> and here is my own little example[3].

I think this is a good idea, at least an improvement over the status
quo.

I suppose it wouldn’t handle patch series very well though, would it?
Or people would have to send the “cover letter” of the series first, and
then send the rest to n...@debbugs.gnu.org once a number has been
assigned?

What’s unclear to me is how convenient Debbugs is for non-Emacs users:
Emacs has M-x debbugs-gnu, which is a significant UI improvement, but
how do non-Emacs users deal with Debbugs?

Thanks,
Ludo’.



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

2016-09-02 Thread 宋文武
David Craven  writes:

> * gnu/build/activation.scm (activate-user): Make sure /var/lib exists.
> ---
>  gnu/build/activation.scm | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/gnu/build/activation.scm b/gnu/build/activation.scm
> index 10aa58d..3abfdd6 100644
> --- a/gnu/build/activation.scm
> +++ b/gnu/build/activation.scm
> @@ -233,6 +233,9 @@ numeric gid or #f."
>;; 'groupadd' aborts if the file doesn't already exist.
>(touch "/etc/group")
>
> +  ;; allow /var/lib/application to be a home directory
> +  (mkdir-p "/var/lib")
> +
The comment is misleading, I think a better one is:
  allow home directories to be created under /var/lib.

Also, it's better fit in the 'add-user' procudere, before
the run of `useradd' command.  And instead of handing
this particular case, how about create any parent directory
of HOME?  like:

[...]
  ;; create the parent directory of HOME.
  (when home (mkdir-p (dirname home)))
  
  ;; Use 'useradd' from the Shadow package.
[...]



Re: [PATCH 4/9] services: syslog: Use syslog-configuration.

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

> * gnu/services/base.scm (): New variable.
> (syslog-service-type): Use .
> (syslog-service): Use .

Please mention the gnu/tests/base.scm changes here.

> --- a/gnu/services/base.scm
> +++ b/gnu/services/base.scm
> @@ -73,15 +73,15 @@
>  
>  %nscd-default-caches
>  %nscd-default-configuration
> -
>  nscd-configuration
>  nscd-configuration?
> -
>  nscd-cache
>  nscd-cache?
> -

Please keep the spacing.

> +(define-record-type* 
> +  syslog-configuration  make-syslog-configuration
> +  syslog-configuration?
> +  (syslogd  syslog-configuration-syslogd
> +(default #~(string-append #$inetutils 
> "/libexec/syslogd")))
> +  (config-file  syslog-configuration-config-file
> +(default %default-syslog.conf)))

Good idea!

> -(define* (syslog-service #:key (config-file %default-syslog.conf))
> +(define* (syslog-service #:optional (config (syslog-configuration)))
>"Return a service that runs @command{syslogd}.  If configuration file
>  name @var{config-file} is not specified, use some reasonable default
>  settings.
>  
>  @xref{syslogd invocation,,, inetutils, GNU Inetutils}, for more
>  information on the configuration file syntax."
> -  (service syslog-service-type config-file))
> +  (service syslog-service-type config))

Could you update the docstring and guix.texi, and add an @deftp for
‘syslog-configuration’ in guix.texi?

TIA!

Ludo’.



Linux kernel config maintainablility

2016-09-02 Thread David Craven
Hi,

So I'm trying to get a linux-libre-kernel for arm going. For arm there
is a multi_v7_defconfig we can use. I looked at the existing kernel
configs we have and can't make heads or tails of them. My question is
are any kernel options needed specifically for guixsd? And can we make
it more readable/explicit by using a defconfig + adding the guixsd
specific configs separately? This would allow people like me to
understand what's actually needed to get guixsd working ;-)



Re: [PATCH 7/9] gnu: Add sddm.

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

> * gnu/packages/display-managers.scm (sddm): New variable.

[...]

> +(description "QML based X11 and Wayland display manager.")

Please expound a little bit and use full sentences.

Otherwise LGTM, thanks!  :-)

Ludo’.



Re: [PATCH 5/9] gnu: Add prefix to license imports in (gnu packages display-managers).

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

> * gnu/packages/display-managers.scm: Import (guix licenses) with prefix
>   "license:".

OK!



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

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

Your suggestions for new guix system vm flags are additional code that
has to be maintained. I don't think we need them. Besides are you
offering to implement them? Because I'm not ;-)



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

2016-09-02 Thread 宋文武
[...]
> +
> +(define (sddm-activation config)
> +  "Return the activation gexp for CONFIG."
> +  #~(begin
> +  (symlink #$(sddm-configuration-file config) "/etc/sddm.conf")))

I don't know the behavior of activation when reconfigure services,
but this `symlink' call will fail when the file already exists.

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


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



Re: [PATCH] refresh nss-certs

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

> On Tue, Aug 30, 2016 at 01:33:10PM +0200, Vincent Legoll wrote:
>> Here it is...
>> I test-installed the 2 packages, but nothing more
>
>> From 966dd703fea7754d18fbe609215eff8381435458 Mon Sep 17 00:00:00 2001
>> From: Vincent Legoll 
>> Date: Wed, 24 Aug 2016 13:03:48 +0200
>> Subject: [PATCH] gnu: nss & nss-certs: Update to 3.26
>> 
>> * gnu/packages/certs.scm (nss-certs): Update to 3.26.
>> * gnu/packages/gnuzilla.scm (nss): Update to 3.26.
>
> Thanks, looks good! I'm CC-ing Mark directly since he is usually the one
> to update these packages.

I think you didn’t actually Cc Mark, so here we go.  :-)

If NSS and its main users (IceCat) build fine, I would suggest applying
this patch.

Thanks,
Ludo’.



Re: [PATCH] gnu: Add praat

2016-09-02 Thread Ludovic Courtès
Hi Brendan,

Brendan Tildesley  skribis:

> Please discard the first patch and consider this updated version. I was
> able to identify a timestamp and remove it, make the build reproducible.

Awesome!

> From bdc94ded90345e67885a7aa3b7e649bc546ad22c Mon Sep 17 00:00:00 2001
> From: Brendan Tildesley 
> Date: Fri, 2 Sep 2016 03:28:58 +1000
> Subject: [PATCH] gnu: Add praat
>
> * gnu/packages/linguistics.scm (praat): New variable

[...]

> + (add-after 'unpack 'be-timeless
> +   (lambda _
> + (substitute* "external/portaudio/pa_front.c"
> +   ((" \\(built \" __DATE__  \" \" __TIME__ \"\\)") ""))
> + #t))

Could you move it to a ‘snippet’ in the ‘origin’ form?  (See the
‘squeak-vm’ package for an example.)

> +(license (list
> +  ;; Praat it's self (no version stated => gpl2+ by gpl terms)
> +  ;; EEG/*, FFNet/*, LPC/* external/mp3/*
> +  ;; external/espeak/espeakdata_FileInMemory.*
> +  ;; contrib/ola/*
> +  ;; kar/ipaSerifRegularPS.cpp
> +  ;; dwsys/regularExp.h
> +  ;; dwsys/NUMmathlib.cpp
> +  license:gpl2+
> +  ;; external/gsl/*
> +  ;; external/glpk/*
> +  ;; external/espeak/*
> +  license:gpl3+
> +  ;; external/flac/*
> +  license:bsd-3
> +  ;; external/portaudio/*
> +  license:expat
> +  ;; num/NUMrandom.cpp
> +  license:public-domain
> +  ;; external/flac/flac_share_alloc.h
> +  ;; external/glpk/colamd.c
> +  license:lgpl2.1+
> +  

As Alex Griffin wrote, we should remove all of external/ in ‘snippet’
(see item #9 about “bundling” at
),
and instead add GSL, GLPK, FLAC, etc. as ‘inputs’ of the package.

Would you like to try it?

I think this is the only remaining blocker here.

Thank you for your work!

Ludo’.



Re: [PATCH] gnu: Add p7zip.

2016-09-02 Thread Ricardo Wurmus

Efraim Flashner  writes:

> On September 2, 2016 2:51:03 PM GMT+03:00, Ricardo Wurmus 
>  wrote:
>>
>>Efraim Flashner  writes:
>>
>>> On Thu, Sep 01, 2016 at 03:05:34PM -0400, Kei Kebreau wrote:
 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.
>>
>>> Hunk #1 FAILED at 139 (different line endings).
>>[...]
>>> Hunk #1 FAILED at 47 (different line endings).
>>
>>These are the exact same errors I got.  Maybe the line endings were
>>converted automatically when you saved the patch with your editor?
>>
>>~~ Ricardo
>
> I opened the mail with mutt, passed the patch to "cd workspace/guix; git am", 
> which is my normal workflow

Sorry, my reply was meant to be directed at Kei.

~~ Ricardo



Re: [PATCH] gnu: Add p7zip.

2016-09-02 Thread Efraim Flashner


On September 2, 2016 2:51:03 PM GMT+03:00, Ricardo Wurmus 
 wrote:
>
>Efraim Flashner  writes:
>
>> On Thu, Sep 01, 2016 at 03:05:34PM -0400, Kei Kebreau wrote:
>>> 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.
>
>> Hunk #1 FAILED at 139 (different line endings).
>[...]
>> Hunk #1 FAILED at 47 (different line endings).
>
>These are the exact same errors I got.  Maybe the line endings were
>converted automatically when you saved the patch with your editor?
>
>~~ Ricardo

I opened the mail with mutt, passed the patch to "cd workspace/guix; git am", 
which is my normal workflow
-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.



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

2016-09-02 Thread Marius Bakke
Alex Kost  writes:

> Marius Bakke (2016-09-01 18:41 +0300) wrote:
>
>> From f1bccf9bf26088107b6fec31eece30676d5a362f 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.
>>
>> * gnu/packages/python.scm (python-odfpy, python2-odfpy): New variables.
> [...]
>> +(arguments
>> + `(#:phases
>> +   (modify-phases %standard-phases
>> + (replace 'check
>> +   ;; The test runner invokes python2 and python3 for test*.py.
>> +   ;; To avoid having both in inputs, we replicate it here.
>> +   (lambda _
>> + (for-each (lambda (test-file)
>
> 'every' procedure should be used here instead: 'for-each' is for side
> effects only, its returned value is unspecified; and with 'every', the
> check phase will fail if any of the tests fails.

Thanks Alex, that's really useful to know.

I've updated the patch.

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

* gnu/packages/python.scm (python-odfpy, python2-odfpy): New variables.
---
 gnu/packages/python.scm | 37 +
 1 file changed, 37 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 8b52548..33674fa 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -26,6 +26,7 @@
 ;;; Copyright © 2016 ng0 
 ;;; Copyright © 2016 Dylan Jeffers 
 ;;; Copyright © 2016 David Craven 
+;;; Copyright © 2016 Marius Bakke 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -10241,3 +10242,39 @@ time by mocking the datetime module.")
   (native-inputs
`(("python2-setuptools" ,python2-setuptools)
  ,@(package-native-inputs base))
+
+(define-public python-odfpy
+  (package
+(name "python-odfpy")
+(version "1.3.3")
+(source (origin
+  (method url-fetch)
+  (uri (pypi-uri "odfpy" version))
+  (sha256
+   (base32
+"1a6ms0w9zfhhkqhvrnynwwbxrivw6hgjc0s5k7j06npc7rq0blxw"
+(arguments
+ `(#:modules ((srfi srfi-1)
+  (guix build python-build-system)
+  (guix build utils))
+   #:phases
+   (modify-phases %standard-phases
+ (replace 'check
+   ;; The test runner invokes python2 and python3 for test*.py.
+   ;; To avoid having both in inputs, we replicate it here.
+   (lambda _
+ (every (lambda (test-file)
+  (zero? (system* "python" test-file)))
+(find-files "tests" "^test.*\\.py$")))
+(build-system python-build-system)
+(home-page "https://github.com/eea/odfpy;)
+(synopsis "Python API and tools to manipulate OpenDocument files")
+(description "Collection of libraries and utility programs written in
+Python to manipulate OpenDocument 1.2 files.")
+(license
+ ;; The software is mainly dual GPL2+ and ASL2.0, but includes a
+ ;; number of files with other licenses.
+ (list license:gpl2+ license:asl2.0 license:lgpl2.1+ license:cc-by-sa3.0
+
+(define-public python2-odfpy
+  (package-with-python2 python-odfpy))
-- 
2.9.3



Re: [PATCH] gnu: Add p7zip.

2016-09-02 Thread Ricardo Wurmus

Efraim Flashner  writes:

> On Thu, Sep 01, 2016 at 03:05:34PM -0400, Kei Kebreau wrote:
>> 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.

> Hunk #1 FAILED at 139 (different line endings).
[...]
> Hunk #1 FAILED at 47 (different line endings).

These are the exact same errors I got.  Maybe the line endings were
converted automatically when you saved the patch with your editor?

~~ Ricardo



Re: State of maven build system, gradle and Apache commens

2016-09-02 Thread Ricardo Wurmus

Hartmut Goebel  writes:

> Meantime I managed to build commons-io, commons-cli, commons-lang and
> commons-codec.

Cool!

> I found all of these need intervention for building, as there is no
> "install" target (maybe I missed something). Echo of the packages
> behaves a bit different (e.g. different directory names), while
> sharing some common patterns. I'll attach my WIP for your convenience.

“ant-build-system” creates a “build.xml” with an install target when
“#:jar-name” is provided.  This is useful in case there’s only a
“pom.xml” and the package provides a single jar.

~~ Ricardo



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

2016-09-02 Thread ng0
David Craven  writes:

> * gnu/system/vm.scm (common-qemu-options): Remove -net user flag.
> ---
>  gnu/system/vm.scm | 1 -
>  1 file changed, 1 deletion(-)
>
> diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm
> index c31e3a8..551c3ca 100644
> --- a/gnu/system/vm.scm
> +++ b/gnu/system/vm.scm
> @@ -462,7 +462,6 @@ with '-virtfs' options for the host file systems listed 
> in SHARED-FS."
> "")
>   " -no-reboot -net nic,model=virtio \
>" #$@(map virtfs-option shared-fs) " \
> -  -net user \

Why would you remove this?
I'd rather still have it, or extend it, maybe through an addition config
for guix system vm.. like:

guix system vm --with-net --with-forward 20:

would create a vm with -net user and the appropriate line to forward
port 20 of vm to port  of host

and "guix system vm --without-net" could create one without?

>-vga std \
>-drive file=" #$image
>",if=virtio,cache=writeback,werror=report,readonly \
> -- 
> 2.9.0
>

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



Re: [PATCH] gnu: Add praat

2016-09-02 Thread ng0
Brendan Tildesley  writes:

> Please discard the first patch and consider this updated version. I was
> able to identify a timestamp and remove it, make the build reproducible.
> Also, I have added all the licenses to the best of my ability, by which
> I mean I ripped off the debian package. Praat looks messy but it's fun
> software. For example, you if you are learning a tonal language, you can
> import recordings to have it show the contours and see how they differ
> from the idealised textbook versions (quite a lot!) --
> http://www.sinosplice.com/life/archives/2008/01/21/seeing-the-tones-of-mandarin-chinese-with-praat
> From bdc94ded90345e67885a7aa3b7e649bc546ad22c Mon Sep 17 00:00:00 2001
> From: Brendan Tildesley 
> Date: Fri, 2 Sep 2016 03:28:58 +1000
> Subject: [PATCH] gnu: Add praat
>
> * gnu/packages/linguistics.scm (praat): New variable
> ---
>  gnu/local.mk |   1 +
>  gnu/packages/linguistics.scm | 111 
> +++
>  2 files changed, 112 insertions(+)
>  create mode 100644 gnu/packages/linguistics.scm
>
> diff --git a/gnu/local.mk b/gnu/local.mk
> index 5b90dfb..795a246 100644
> --- a/gnu/local.mk
> +++ b/gnu/local.mk
> @@ -214,6 +214,7 @@ GNU_SYSTEM_MODULES =  \
>%D%/packages/libunwind.scm \
>%D%/packages/libupnp.scm   \
>%D%/packages/links.scm \
> +  %D%/packages/linguistics.scm   \
>%D%/packages/linux.scm \
>%D%/packages/lirc.scm  \
>%D%/packages/lisp.scm  \
> diff --git a/gnu/packages/linguistics.scm b/gnu/packages/linguistics.scm
> new file mode 100644
> index 000..70a0d43
> --- /dev/null
> +++ b/gnu/packages/linguistics.scm
> @@ -0,0 +1,111 @@
> +;;; GNU Guix --- Functional package management for GNU
> +;;; Copyright © 2016 Brendan Tildesley 
> +;;;
> +;;; This file is part of GNU Guix.
> +;;;
> +;;; GNU Guix is free software; you can redistribute it and/or modify it
> +;;; under the terms of the GNU General Public License as published by
> +;;; the Free Software Foundation; either version 3 of the License, or (at
> +;;; your option) any later version.
> +;;;
> +;;; GNU Guix is distributed in the hope that it will be useful, but
> +;;; WITHOUT ANY WARRANTY; without even the implied warranty of
> +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> +;;; GNU General Public License for more details.
> +;;;
> +;;; You should have received a copy of the GNU General Public License
> +;;; along with GNU Guix.  If not, see .
> +
> +(define-module (gnu packages linguistics)
> +  #:use-module ((guix licenses) #:prefix license:)
> +  #:use-module (guix packages)
> +  #:use-module (guix build-system gnu)
> +  #:use-module (guix utils)
> +  #:use-module (guix download)
> +  #:use-module (gnu packages)
> +  #:use-module (gnu packages linux) ; for alsa-lib
> +  #:use-module (gnu packages gtk)
> +  #:use-module (gnu packages pkg-config)
> +  #:use-module (gnu packages version-control)
> +  #:use-module (gnu packages python)
> +  #:use-module (gnu packages pulseaudio))

These are just minor details to save lines of code, which do not affect
the build process. I assume the package builds as you wrote before.

> +(define-public praat
> +  (package
> +(name "praat")
> +(version "6.0.19")
> +(source (origin
> +  (method url-fetch)
> +  (uri
> +   (string-append
> +"https://github.com/praat/praat/archive/v; version 
> ".tar.gz"))

I would move this up:

 (uri (string-append "https://github.com/praat/praat/archive/v; 
version ".tar.gz"))

but as this saves nothing, you could as well do:

 (uri (string-append "https://github.com/praat/praat/;
 "archive/v" version ".tar.gz"))

> +  (file-name (string-append name "-" version ".tar.gz"))
> +  (sha256
> +   (base32 
> "1fhzqzygx5h6xkjaxwgzvnby393q7c3lby0fq3bnhscfdhzkm0a0"

This could be moved, as (almost) every package does this:
(sha256
 (base32
   "incrediblelongspelltosummoncthulhu"))

> +(build-system gnu-build-system)
> +(native-inputs
> + `(("pkg-config" ,pkg-config)))
> +(inputs
> + `(("gtk" ,gtk+-2)
> +   ("alsa-lib" ,alsa-lib)
> +   ("pulseaudio" ,pulseaudio)
> +   ("python" ,python))) ; optional scripts
> +(arguments
> + `(#:tests? #f

 `(#:tests? #f ; Tests fail because $reason(s)
or just:
 `(#:tests? #f ; No make check

> +   #:phases
> +   (modify-phases %standard-phases
> + (delete 'configure)
> + (add-after 'unpack 'be-timeless
> +   (lambda _
> + (substitute* 

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

2016-09-02 Thread Alex Vong
ng0  writes:

> Alex Vong  writes:
>
>> Hi,
>>
>>
>> I think I share the same concern as you do, currently the mailing list
>> is too crowded and it is difficult to find the relevant bit. Below are
>> my opinions on it:
>>
>>
>> While it may not be as user-friendly as web-based bug tracker these
>> days, I think the Debian bug tracking system is still better than our
>> current approach. In Debian, everything is a package. It is like a
>> language primitive in the bug tracker system.
>>
>>
>> There is an "intended to package" (ITP) package. When you want to
>> package something, you simply file a bug against the ITP package. This
>> has the advantage that, the relevant information stays within the bug
>> report. So everyone can see the whole process, starting from someone
>> intending to package, to a fully reviewed package, all in a single bug
>> report. It is like having "lexical scoping".
>>
>>
>> And the most important argument comes: We already have it now[0]! So,
>> this could be a working intermediate solution. Currently, we are not
>> using debbugs to its full potential.
>>
>>
>> My suggestion will be to create a new package called "guix-package", and
>> all people hoping to introduce a new package to guix should file a bug
>> report to . If you are new to this type of bug
>> tracking system, no problem! There is (some) documentation on it[1][2]
>> and here is my own little example[3].
>>
>>
>> Hope this make sence!
>>
>>
>> Cheers,
>> Alex
>>
>>
>> [0]: https://debbugs.gnu.org/cgi/pkgreport.cgi?package=guix
>> [1]: https://debbugs.gnu.org/Reporting.html
>> [2]: https://debbugs.gnu.org/server-control.html
>> [3]: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24352
>
> Interesting, this is close to the Gentoo system: Everything is a bug.
> Which means, every update, every bug, every new package, every "our
> infrastructure server XYZ broke" request, etc.
>
> In a recent bug report through debbugs at Guix side I was not able to
> figure out how to close the bug at all. I think if this isn't covered
> good enough in upstream docs, we should 1. point it out at our side and
> then 2. improve upstream documentation as the email sent when you open
> the bug should state how you close the bug again..
> I'll report this bug upstream and try to fix it if it's hasn't caught
> their attention and it still exists - maybe gnu.org version just happens
> to be outdated.
>
Indeed, documentation on the BTS is quite lacking. Looking at the bottom
of page, the last page is last modified on 31 Dec 2009, which isn't
update for quite a while. Maybe we can have a wiki page on libreplanet
like this one[0]. Anyone know how to add a new page on libreplanet wiki?
(The earlier discussion regarding icecat and tor browser could also have
its own page.)

To close a bug, sending email to 
should work in theory, but I haven't try it yet.

> I think this could really work out.. It would also establish some kind
> of work flow, where currently we have one, but you are rather free in
> how it all works out.
> This would also help to avoid parallel work. Someone wanted to package
> pybitmessage while I already had pybitmessage packaged, things like
> that.
>
Please Feel free to discuss. Here is only my initial thought (heavily
borrowed from debian):
  1. File bug report to  with the title
  being "PACKAGENAME@VERSION".(It can be changed later via bug control.)
  The content of the bug report should mention the license of the
  software.
  2. Patch reviewing and responding are done by sending email to
  .
  3. Bug report is closed when patch is pushed (we could even automate
  this one).
  
Note that this does not account for patches which does not bump the
version, maybe we should keep the bug report of version N opened and
only close it when version N+1 is pushed. What do you and the others
think?

> Appending to my previous email, as John did not provide a link this is
> the Aegis which was meant: http://aegis.sourceforge.net/

[0]: https://wiki.debian.org/HowtoUseBTS



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

2016-09-02 Thread ng0
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.

awesome v3.5.9 (Mighty Ravendark)
• Build: Sun Mar 06 14:05:54Z 2016 for x86_64 by gcc version 4.9.3 (@)
• Compiled against Lua 5.2.4 (running with Lua 5.2)
• D-Bus support: ✔
   
doncatnip  writes:

> Hey Guix !
>
> Let's try this again.
> From 99ac37565b7a4826c9ca3c9f0545825924effc3d Mon Sep 17 00:00:00 2001
> From: doncatnip 
> Date: Thu, 1 Sep 2016 23:08:28 +0200
> Subject: [PATCH 1/3] gnu: lua: Remove conflicting flag, pass MYCFLAGS
>
> * gnu/packages/lua.scm (lua)[arguments]: Use MYCFLAGS instead of
> CFLAGS and remove conflicting -DLUA_USE_POSIX since -DLUA_USE_LINUX
> is passed implicitly for build target "linux".
> ---
>  gnu/packages/lua.scm | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm
> index 8bd67c5..9f19cc9 100644
> --- a/gnu/packages/lua.scm
> +++ b/gnu/packages/lua.scm
> @@ -51,7 +51,7 @@
>(srfi srfi-1))
> #:test-target "test"
> #:make-flags
> -   '("CFLAGS=-fPIC -DLUA_DL_DLOPEN -DLUA_USE_POSIX"
> +   '("MYCFLAGS=-fPIC -DLUA_DL_DLOPEN"
>   "linux")
> #:phases
> (modify-phases %standard-phases
> -- 
> 2.9.3

Looks good to me.

> From 57a998f52e2d77e758ff339d03f26556b3b9c63f Mon Sep 17 00:00:00 2001
> From: doncatnip 
> Date: Thu, 1 Sep 2016 23:53:32 +0200
> Subject: [PATCH 2/3] gnu: lua: Add lua-lgi.
>
> * gnu/packages/lua.scm (lua-lgi): New variable.
> ---
>  gnu/packages/lua.scm | 77 
> +++-
>  1 file changed, 76 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm
> index 9f19cc9..cdc28b0 100644
> --- a/gnu/packages/lua.scm
> +++ b/gnu/packages/lua.scm
> @@ -5,6 +5,7 @@
>  ;;; Copyright © 2014 Andreas Enge 
>  ;;; Copyright © 2016 Efraim Flashner 
>  ;;; Copyright © 2016 Ricardo Wurmus 
> +;;; Copyright © 2016 doncatnip 
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -29,7 +30,12 @@
>#:use-module (gnu packages)
>#:use-module (gnu packages readline)
>#:use-module (gnu packages tls)
> -  #:use-module (gnu packages xml))
> +  #:use-module (gnu packages xml)
> +  #:use-module (gnu packages glib)
> +  #:use-module (gnu packages libffi)
> +  #:use-module (gnu packages pkg-config)
> +  #:use-module (gnu packages xorg)
> +  #:use-module (gnu packages gtk))
>  
>  (define-public lua
>(package
> @@ -259,3 +265,72 @@ directory structure and file attributes.")
>  communication.  It takes an already established TCP connection and creates a
>  secure session between the peers.")
>  (license (package-license lua-5.1
> +
> +(define-public lua-lgi
> +  (package
> +(name "lua-lgi")
> +(version "0.9.1")
> +(source
> +  (origin
> +(method url-fetch)
> +(uri (string-append
> +  "https://github.com/pavouk/lgi/archive/;
> +  version ".tar.gz"))
> +(file-name (string-append name "-" version ".tar.gz"))
> +(sha256
> +  (base32
> +"1fmgdl5y4ph3yc6ycg865s3vai1rjkyda61cgqxk6zd13hmznw0c"
> +(build-system gnu-build-system)
> +(arguments
> + '(#:phases
> +  (modify-phases %standard-phases
> +(delete 'configure) ; no configure script
> +(add-before 'build 'set-env
> +  (lambda* (#:key inputs #:allow-other-keys)
> +; we need to load cairo dynamically

I think you can find more info about this either in the Guile
documentation or by looking at other packages or in the GNU Coding
Standards (I'm not sure where in those 3):
For one line comments you should use ";;", for comments which are
appended in the same line as some code you should use ";".
This would become:

;; We need to load cairo dynamically

> +(let* ((cairo (string-append
> +(assoc-ref inputs "cairo") "/lib" )))

I'm not sure about the correction here, I think it should be:

(let
  ((cairo (string-append (assoc-ref inputs "cairo") "/lib")))

As you only use it in the small setenv, what about...

> +  (setenv "LD_LIBRARY_PATH" cairo 

(add-before 'build 'set-env
  (lambda* (#:key inputs #:allow-other-keys)
;; We need to load cairo dynamically
(setenv "LD_LIBRARY_PATH" (string-append (assoc-ref inputs "cairo") 
"/lib"

Of course it's up to you, and what I suggested could contain an error
too. The only thing which really needs to be fixed is the comment ; -> ;;

> +(add-before 'build 'set-lua-version
> +  (lambda _
> +; lua version and therefore install directories are hardcoded
> +; FIXME: This breaks when we update lua to >=5.3

Same as 

Re: State of maven build system, gradle and Apache commens

2016-09-02 Thread Hartmut Goebel
Am 02.09.2016 um 09:47 schrieb Ricardo Wurmus:
> This should not be on the CLASSPATH.  The “ant-build-system” sets
> CLASSPATH to the result of running “generate-classpath” on all inputs.
> Currently, all this does it add any and all “.jar” files to the
> CLASSPATH.  To keep “jar” itself out, the regular expression should be
> changed from
>
>(find-files dir "\\.*jar$")
>
> to something like
>
>(find-files dir "\\.jar$")

Thanks for this tip, it helped. (Will submit a patch later)

Meantime I managed to build commons-io, commons-cli, commons-lang and
commons-codec.

I found all of these need intervention for building, as there is no
"install" target (maybe I missed something). Echo of the packages
behaves a bit different (e.g. different directory names), while sharing
some common patterns. I'll attach my WIP for your convenience.

I failed building commons-logging, which requires e.g. javax.servelet,
the avalon-frameweork and much more.


-- 
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/warum-sie-nicht-perl-programmiern-sollten
Kolumne:
http://www.cissp-gefluester.de/2011-08-horrorszenario-bring-your-own-device

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


(define (apache-commons-url projname version)
  ; todo: add option for passing the archive basename (default: projname)
  (let ((basename projname))
(string-append
 "https://archive.apache.org/dist/commons/; projname "/source/"
 "commons-" basename "-" version "-src.tar.gz")))

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

(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)
  (zero? (apply system* `("ant" "javadoc" ,@make-flags

;(define* (install-javadoc #:key outputs #:allow-other-keys)
;  (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-2.5
  (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
   (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$")
 ; todo: install poms for maven
 (add-after 'install 'install-doc ;install-javadoc)
   (lambda* (#:key outputs #:allow-other-keys)
 (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)
);)

;(define-public java-commons-cli-2.5
  (package
(name "java-commons-cli")
(version "1.3.1")
(source (origin
  (method url-fetch)
  (uri (apache-commons-url "cli" version))
  (sha256 (base32 "1fkjn552i12vp3xxk21ws4p70fi0lyjm004vzxsdaz7gdpgyxxyl"
(build-system ant-build-system)
; todo: 

Re: Info Typo

2016-09-02 Thread ng0
Hi,

Kete Foy  writes:

> Thanks Leo, I found another one in 4.2.2: simlpy. Does anyone want to
> teach me how to submit a patch?

We have some information on this in "Contributing" section of the
manual.
Can you ask specific questions where you need help to get started, where
are you stuck?

> Leo Famulari:
>> On Thu, Sep 01, 2016 at 10:19:00PM +, Kete Foy wrote:
>>> I found a typo in the info documentation. In the Garbage collection
>>> section (chp 3), it says /computse/.
>> 
>> Fixed in commit 7414de0a84bfc37c30f4f789a6d4b61477a1e352.
>> 
>> Thanks for the report!
>> 

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



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

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

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




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

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

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




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

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

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




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

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

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




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

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

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




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

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

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




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

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

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




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

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

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




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

2016-09-02 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 18/23] gnu: Add ghc-monads-tf.

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

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




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

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

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




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

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

2016-09-02 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 15/23] gnu: Add ghc-transformers.

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

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




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

2016-09-02 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 07/23] gnu: Add ghc-haskeline.

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

2016-09-02 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 08/23] gnu: Add ghc-regex-applicative.

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

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

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

2016-09-02 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 01/23] gnu: Add ghc-base16-bytestring.

2016-09-02 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




Re: Info Typo

2016-09-02 Thread Kete Foy
Thanks Leo, I found another one in 4.2.2: simlpy. Does anyone want to
teach me how to submit a patch?

Leo Famulari:
> On Thu, Sep 01, 2016 at 10:19:00PM +, Kete Foy wrote:
>> I found a typo in the info documentation. In the Garbage collection
>> section (chp 3), it says /computse/.
> 
> Fixed in commit 7414de0a84bfc37c30f4f789a6d4b61477a1e352.
> 
> Thanks for the report!
> 

-- 
https://emailselfdefense.fsf.org
gpg --recv-key 'D7E9 5431 9C95 097F C314  C2A2 DD8C 15BD 0168 5E3A'



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

2016-09-02 Thread Alex Kost
Marius Bakke (2016-09-01 18:41 +0300) wrote:

> From f1bccf9bf26088107b6fec31eece30676d5a362f 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.
>
> * gnu/packages/python.scm (python-odfpy, python2-odfpy): New variables.
[...]
> +(arguments
> + `(#:phases
> +   (modify-phases %standard-phases
> + (replace 'check
> +   ;; The test runner invokes python2 and python3 for test*.py.
> +   ;; To avoid having both in inputs, we replicate it here.
> +   (lambda _
> + (for-each (lambda (test-file)

'every' procedure should be used here instead: 'for-each' is for side
effects only, its returned value is unspecified; and with 'every', the
check phase will fail if any of the tests fails.

And since 'every' is from (srfi srfi-1) module, we need to use it in
'arguments', like this:

   #:modules ((srfi srfi-1)
  (guix build python-build-system)
  (guix build utils))

The rest looks good to me, so if there will be no other comments, I will
commit it in several days, thanks!

> + (zero? (system* "python" test-file)))
> +   (find-files "tests" "^test.*\\.py$")))
> +(build-system python-build-system)
> +(home-page "https://github.com/eea/odfpy;)
> +(synopsis "Python API and tools to manipulate OpenDocument files")
> +(description "Collection of libraries and utility programs written in
> +Python to manipulate OpenDocument 1.2 files.")
> +(license
> + ;; The software is mainly dual GPL2+ and ASL2.0, but includes a
> + ;; number of files with different licenses.
> + (list license:gpl2+ license:asl2.0 license:lgpl2.1+ 
> license:cc-by-sa3.0
> +
> +(define-public python2-odfpy
> +  (package-with-python2 python-odfpy))

-- 
Alex



Re: [PATCH] gnu: Add p7zip.

2016-09-02 Thread Efraim Flashner
On Thu, Sep 01, 2016 at 03:05:34PM -0400, Kei Kebreau wrote:
> 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.

patching file C/Sha1.c
patching file C/Sha1.h
patching file CPP/7zip/Archive/7z/7zUpdate.cpp
patching file CPP/7zip/Bundles/Format7zFree/makefile.list
patching file CPP/7zip/CMAKE/Format7zFree/CMakeLists.txt
patching file CPP/7zip/Crypto/Sha1Cls.h
patching file CPP/7zip/Guid.txt
patching file CPP/7zip/QMAKE/Format7zFree/Format7zFree.pro
patching file CPP/7zip/QMAKE/all.pro
patching file CPP/7zip/UI/Client7z/Client7z.cpp
patching file CPP/7zip/UI/Common/LoadCodecs.h
patching file CPP/7zip/UI/Common/OpenArchive.cpp
patching file CPP/7zip/UI/FileManager/FM_rc.cpp
patching file CPP/ANDROID/Format7zFree/jni/Android.mk
patching file ChangeLog
patching file DOC/License.txt
patching file DOC/MANUAL/cmdline/switches/update.htm
Hunk #1 FAILED at 139 (different line endings).
1 out of 1 hunk FAILED -- saving rejects to file 
DOC/MANUAL/cmdline/switches/update.htm.rej
patching file DOC/MANUAL/general/formats.htm
Hunk #1 FAILED at 47 (different line endings).
1 out of 1 hunk FAILED -- saving rejects to file 
DOC/MANUAL/general/formats.htm.rej
patching file DOC/Methods.txt
patching file DOC/readme.txt
patching file DOC/src-history.txt
patching file GUI/Contents/Info.plist
patching file README
patching file Utils/bin_to_sources.py
patching file Utils/file_7z_so.py
patching file Utils/generate.py
patching file contrib/qnx630sp3/qnx630sp3-shared
patching file makefile
patching file makefile.oldmake
patching file makefile.qnx_shared.so
source is under 'p7zip_16.02'
applying 
'/gnu/store/ypyc1ar3iajzslgn9zbx1vjm7b1ljfq9-p7zip-remove-unused-code.patch'...
builder for 
`/gnu/store/hbijqwhsvzaknxkrv7pgylnj0a3qsdjw-p7zip_16.02_src_all.tar.xz.drv' 
failed to produce output path 
`/gnu/store/c704yy8fn1sb7ikn7q74nd0hkjfj12bx-p7zip_16.02_src_all.tar.xz'



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


signature.asc
Description: PGP signature


  1   2   >