Re: [PATCH] gnu: magit: Fix interactive rebase.

2016-07-27 Thread Alex Kost
Alex Griffin (2016-07-26 23:57 +0300) wrote:

> This patch fixes magit's interactive rebase function, which calls perl
> and fails if perl is not in PATH.

Indeed!  I've never noticed it as I always used "r i", and not the other
rebase commands.  For the records: this patch fixes
'magit-rebase-edit-commit' and 'magit-rebase-reword-commit' commands
(which are bound to "r m" and "r w" by default).

> From 1f73f2635225bfcf942194ffe8c02a07e4705d34 Mon Sep 17 00:00:00 2001
> From: Alex Griffin 
> Date: Tue, 26 Jul 2016 13:29:51 -0500
> Subject: [PATCH] gnu: magit: Fix interactive rebase.
>
> * gnu/packages/emacs.scm (magit): Fix interactive rebase.

Since this fix is not really for the "interactive rebase" itself (I mean
what is bound to "r i"), but for the other rebase commands, I changed
the commit message and applied the patch as 46bd45152¹, thanks!

¹ 
http://git.savannah.gnu.org/cgit/guix.git/commit/?id=46bd451520d7a318e8b52a4a500d146403b8dcb8

-- 
Alex



Re: [PATCH] gnu: gmime: Remove gpg to gpg2 patch.

2016-07-27 Thread Andreas Enge
On Tue, Jul 26, 2016 at 07:59:32PM -0400, Leo Famulari wrote:
> I'm confused — that gnupg@2.1 build looks like it succeeded. I read the
> log of the test suite and didn't see any failures that were ignored.

It built successfully a few hours after my report. Maybe someone restarted
it, and it was only a transient failure. Thanks for checking!

Andreas




Re: 01/03: gnu: guix: Update development snapshot.

2016-07-27 Thread Alex Kost
> commit 95af24a2f1fb58eb9e6ee902c9330534f0aca9f3
> Author: Andreas Enge 
> Date:   Sun Jul 24 14:58:19 2016 +0200
>
> gnu: guix: Update development snapshot.
> 
> * gnu/packages/package-management.scm (guix-devel): Update to 97c8aef.
> ---
>  gnu/packages/package-management.scm |4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/gnu/packages/package-management.scm 
> b/gnu/packages/package-management.scm
> index cd58fde..878fed2 100644
> --- a/gnu/packages/package-management.scm
> +++ b/gnu/packages/package-management.scm
> @@ -211,7 +211,7 @@ the Nix package manager.")
>;;
>;; Note: use a very short commit id; with a longer one, the limit on
>;; hash-bang lines would be exceeded while running the tests.
> -  (let ((commit "e9017c98d61f305b624bacaa30e8891ec0100980"))
> +  (let ((commit "97c8aef15de89799ac01b62dd9b91245c23eefcb"))
>  (package (inherit guix-0.10.0)
>(version (string-append "0.10.0-0." (string-take commit 4)))

As Efraim noticed on #guix, the revision number wasn't updated.  I think
you forgot to do it, right?

So now this version “0.10.0-0.97c8” looks "older" than “0.10.0-0.e901”.
I don't know, should it be left as it is, or is it better to update the
revision?

>(source (origin
> @@ -223,7 +223,7 @@ the Nix package manager.")
>(commit commit)))
>  (sha256
>   (base32
> -  "13mfk10cw6fk4diclzld56xwabshanxjcczdrjlj0wisaz32h3nl"))
> +  "0sdxq87mbvig7785gzf52ywmvl3p1q1qgsczmkzrlw988xkma1dr"))
>  (file-name (string-append "guix-" version "-checkout"
>(arguments
> (substitute-keyword-arguments (package-arguments guix-0.10.0)
>
>

-- 
Alex



Re: [PATCH 4/7] gnu: Add spice-gtk.

2016-07-27 Thread David Craven
I'm not sure if you still expect me to do something and what that is exactly.

But maybe we shouldn't propagate pkg-config inputs. I'm currently
trying to get a package to not pick up optional x11 dependencies that
are propagated by mesa...



Re: gnu/system/u-boot.scm

2016-07-27 Thread Danny Milosavljevic
Hi Ludo,

On Tue, 26 Jul 2016 22:49:35 +0200
l...@gnu.org (Ludovic Courtès) wrote:

> >   (u-boot  u-boot-configuration-u-boot   ; package
> >(default (@ (gnu packages u-boot) (make-u-boot-package 
> > board  
> 
> The default value has invalid syntax.  Should be simply:
> 
>   (default (make-u-boot-package board))
> 
> but I think this doesn’t work (‘board’ will be unbound; yeah,
> counter-intuitive.)
> 
> You could instead do (default #f) and call ‘make-u-boot-package’ when
> that value is #f.
> 
> > (define (eye-candy config root-fs system port)
> >   "dummy"
> >   (mlet* %store-monad ((image #f))
> > (return (and image
> >  #~(format #$port "")
> >  
> 
> Simply remove it.  :-)

Yeah, but there's a 

  (mlet %store-monad ((sugar (eye-candy config store-fs system #~port)))

in the same file.

Can I remove that and #$sugar , too? Will it still work?

Also, I'm trying to s/grub.cfg/bootloader-configuration-file/g right now, but I 
wonder

(1) Whether it's possible to determine the basename of the config-file 
derivation in order to find out what bootloader to install
(2) Whether we want to do it that way

.

If so, we could have a install-bootloader routine that detects what the 
filename of the bootloader-configuration-file object is and then calls either 
install-grub or install-u-boot.

For an overview, I searched:

$ grep -rl grub . |grep '\.scm'

./gnu/build/vm.scm ; initialize-hard-disk has a key #:grub.cfg
./gnu/build/install.scm ; actual invocation of grub-install is here
./gnu/packages/admin.scm ; fine; some person is called grubb
./gnu/packages/grub.scm ; fine to use it in there
./gnu/system/grub.scm ; fine to use it in there
./gnu/system/vm.scm ; qemu-image has a key #:grub-configuration; source file 
hardcodes grub package (?)
./gnu/system/install.scm ; references grub package "mostly so xrefs to its 
manual work"
./gnu/system.scm ; needs to be adapted
./tests/system.scm ; harmless, just uses grub-configuration
./build-aux/hydra/demo-os.scm ; harmless, just uses grub-configuration
./guix/scripts/system.scm ; install-grub* needs to be generalized
./gnu.scm ; %public-modules grub for grub-configuration

Some of these would have to be adapted. 



Re: core-updates, next release, and all that

2016-07-27 Thread Andreas Enge
On Tue, Jul 26, 2016 at 11:36:59PM +0200, Andreas Enge wrote:
> another big failure: The python update from 2.7.10 to 2.7.11 breaks on mips;
> there is one more test failing now (besides the already disabled ones):
> test_ctypes.

Probably it is less the update and rather the fact that we enable most
tests now. 6 of them are disabled because they fail ;-); so unless there
is opposition, I will disable a 7-th test, and we might be set.

Andreas




Re: [PATCH] Add python-pythondialog

2016-07-27 Thread ng0
Hi,

ng0  writes:

> Leo Famulari writes:
>
>> On Mon, Jul 04, 2016 at 05:05:07PM +, ng0 wrote:
>>> * gnu/packages/python.scm (python-pythondialog): New variable.
>>
>> For those reading along, python2-pythondialog and python-pythondialog
>> are separate implementations with different source tarballs.  They are
>> maintained by the same group.
>>
>> But, the package definitions are basically the same. The only
>> differences are the name, the source and Python version.
>>
>> Should one of them inherit from the other, or should we maintain two
>> independent package definitions?
>
> If we inherit, we should let python2- inherit from python3.
>
> I was not sure about the right way to process with this, so it
> ended up in 2 packages.

There has been no update on this for 3 weeks.
Could someone look into this and reply?


Thanks.
-- 
♥Ⓐ  ng0
Current Keys: https://we.make.ritual.n0.is/ng0.txt
For non-prism friendly talk find me on http://www.psyced.org



Re: Odd behavior with --dry-run and --upgrade

2016-07-27 Thread Alex Kost
Ludovic Courtès (2016-07-26 15:41 +0300) wrote:

> Roel Janssen  skribis:
>
>> Ludovic Courtès writes:
[...]
>>> Something similar should be done in the Emacs interface.
>>
>> I'm not familiar with the code of the Emacs interface.  Any other
>> takers for it?  Otherwise I will look into it, but that will take even
>> more time :)
>
> Maybe Alex can give a hand?  :-)

I have zero knowledge in grafting, but if I checked it right, the
attached patch should disable grafting for the emacs interface (when
dry-run is on).  If you think it should be a part of a bigger
dry-run+no-grafts patch, please use it.

>From d7747453bf31a616d414dce293fc0556d601abcb Mon Sep 17 00:00:00 2001
From: Alex Kost 
Date: Wed, 27 Jul 2016 14:55:50 +0300
Subject: [PATCH] emacs: Disable grafts when dry-run is enabled.

* emacs/guix-main.scm (process-package-actions): Set grafting according
to 'dry-run?'.
* guix/scripts.scm (build-package): Likewise.
---
 emacs/guix-main.scm | 20 +++-
 guix/scripts.scm|  4 +++-
 2 files changed, 14 insertions(+), 10 deletions(-)

diff --git a/emacs/guix-main.scm b/emacs/guix-main.scm
index cbf7cdc..040932f 100644
--- a/emacs/guix-main.scm
+++ b/emacs/guix-main.scm
@@ -46,6 +46,7 @@
  (guix)
  (guix combinators)
  (guix git-download)
+ (guix grafts)
  (guix packages)
  (guix profiles)
  (guix licenses)
@@ -930,15 +931,16 @@ OUTPUTS is a list of package outputs (may be an empty list)."
  (new-manifest (manifest-perform-transaction
 manifest transaction)))
 (unless (and (null? install) (null? remove))
-  (with-store store
-(set-build-options store
-   #:print-build-trace #f
-   #:use-substitutes? use-substitutes?)
-(show-manifest-transaction store manifest transaction
-   #:dry-run? dry-run?)
-(build-and-use-profile store profile new-manifest
-   #:use-substitutes? use-substitutes?
-   #:dry-run? dry-run?)
+  (parameterize ((%graft? (not dry-run?)))
+(with-store store
+  (set-build-options store
+ #:print-build-trace #f
+ #:use-substitutes? use-substitutes?)
+  (show-manifest-transaction store manifest transaction
+ #:dry-run? dry-run?)
+  (build-and-use-profile store profile new-manifest
+ #:use-substitutes? use-substitutes?
+ #:dry-run? dry-run?))
 
 (define (delete-generations* profile generations)
   "Delete GENERATIONS from PROFILE.
diff --git a/guix/scripts.scm b/guix/scripts.scm
index d84375f..2ed1eeb 100644
--- a/guix/scripts.scm
+++ b/guix/scripts.scm
@@ -1,7 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès 
 ;;; Copyright © 2014 Deck Pickard 
-;;; Copyright © 2015 Alex Kost 
+;;; Copyright © 2015, 2016 Alex Kost 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -19,6 +19,7 @@
 ;;; along with GNU Guix.  If not, see .
 
 (define-module (guix scripts)
+  #:use-module (guix grafts)
   #:use-module (guix utils)
   #:use-module (guix ui)
   #:use-module (guix store)
@@ -106,6 +107,7 @@ true."
   "Build PACKAGE using BUILD-OPTIONS acceptable by 'set-build-options'.
 Show what and how will/would be built."
   (mbegin %store-monad
+(set-grafting (not dry-run?))
 (apply set-build-options*
#:use-substitutes? use-substitutes?
(strip-keyword-arguments '(#:dry-run?) build-options))
-- 
2.8.3



Re: [PATCH] Add python-pythondialog

2016-07-27 Thread Ben Woodcroft

Hi there,

On 27/07/16 21:37, ng0 wrote:

Hi,

ng0  writes:


Leo Famulari writes:


On Mon, Jul 04, 2016 at 05:05:07PM +, ng0 wrote:

* gnu/packages/python.scm (python-pythondialog): New variable.

For those reading along, python2-pythondialog and python-pythondialog
are separate implementations with different source tarballs.  They are
maintained by the same group.

But, the package definitions are basically the same. The only
differences are the name, the source and Python version.

Should one of them inherit from the other, or should we maintain two
independent package definitions?

If we inherit, we should let python2- inherit from python3.

I was not sure about the right way to process with this, so it
ended up in 2 packages.

There has been no update on this for 3 weeks.
Could someone look into this and reply?


IMHO python2-pythondialog should inherit from python-dialog as you suggest.

Apologies for the slow review. Would you mind preparing another patch 
please?

Thanks,
ben



Re: [PATCH] Add python-pythondialog

2016-07-27 Thread Vincent Legoll
>> If we inherit, we should let python2- inherit from python3.
>>
>> I was not sure about the right way to process with this, so it
>> ended up in 2 packages.
>
> There has been no update on this for 3 weeks.
> Could someone look into this and reply?

Is that what you want ?
This is still untested though, but I'll try the 2 packages

-- 
Vincent Legoll
From 8b6becfd95235e1559cdb4a3760c5928d707e6cf Mon Sep 17 00:00:00 2001
From: Vincent Legoll 
Date: Wed, 27 Jul 2016 14:28:06 +0200
Subject: [PATCH] Add python-pythondialog

Signed-off-by: Vincent Legoll 
---
 gnu/packages/python.scm | 21 -
 1 file changed, 16 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 80ff81f..533d731 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -6654,17 +6654,17 @@ facilities for defining, registering and looking up components.")
 (define-public python2-zope-component
   (package-with-python2 python-zope-component))
 
-(define-public python2-pythondialog
+(define-public python-pythondialog
   (package
-(name "python2-pythondialog")
+(name "python-pythondialog")
 (version "3.4.0")
 (source
  (origin
(method url-fetch)
-   (uri (pypi-uri "python2-pythondialog" version))
+   (uri (pypi-uri "pythondialog" version))
(sha256
 (base32
- "0d8k7lxk50imdyx85lv8j98i4c93a71iwpapnl1506rpkbm9qvd9"
+ "1728ghsran47jczn9bhlnkvk5bvqmmbihabgif5h705b84r1272c"
 (build-system python-build-system)
 (arguments
  `(#:phases
@@ -6678,7 +6678,6 @@ facilities for defining, registering and looking up components.")
  (("os.getenv\\(\"PATH\", \":/bin:/usr/bin\"\\)")
   (string-append "os.getenv(\"PATH\")  + \":" dialog "/bin\"")))
#t
-   #:python ,python-2
#:tests? #f)) ; no test suite
 (propagated-inputs
  `(("dialog" ,dialog)))
@@ -6689,6 +6688,18 @@ provide an easy to use, pythonic and comprehensive Python interface to dialog.
 This allows one to make simple text-mode user interfaces on Unix-like systems")
 (license lgpl2.1)))
 
+(define-public python2-pythondialog
+  (package-with-python2
+(package (inherit python-pythondialog)
+  (name "python2-pythondialog")
+  (source
+   (origin
+ (method url-fetch)
+ (uri (pypi-uri "python2-pythondialog" version))
+ (sha256
+  (base32
+   "0d8k7lxk50imdyx85lv8j98i4c93a71iwpapnl1506rpkbm9qvd9"))
+
 (define-public python-pyrfc3339
   (package
 (name "python-pyrfc3339")
-- 
1.9.1



[PATCH] Read /etc/environment first to allow changing environment from user profile

2016-07-27 Thread Carlos Sánchez de La Lama
Hi all,

as reported in bug #22175, lshd does not honor /etc/environment. This
was fixed here:

http://git.savannah.gnu.org/cgit/guix.git/commit/gnu/system.scm?id=2a5f0db4c45679cac6a747a48993fe73982cadca

However, the order in /etc/profile is problematic: some variables are
set up by "$HOME/.guix-profile/etc/profile", but then they get (wrongly)
overriden by the values in /etc/environment. In my case, this happens
with SSL_CERT_DIR, which has the value

/home/csanchez/.guix-profile/etc/ssl/certs:/etc/ssl/certs

then logging in locally, but only

/etc/ssl/certs

when logging in from lshd.

I attach the proposed patch (just a change of order in /etc/profile). As
'cat' and 'cut' ar most surely available at system-level, it should not
be dangerous to use them before setting up the user profile.

BR

Carlos

>From 474e8980ee933e6694cc55ca61607adae86dacf1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlos=20S=C3=A1nchez=20de=20La=20Lama?=
 
Date: Wed, 27 Jul 2016 14:27:00 +0200
Subject: [PATCH] Read /etc/environment first to allow changing environment
 from user profile.

---
 gnu/system.scm | 20 ++--
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/gnu/system.scm b/gnu/system.scm
index 476720b..3ae4ae7 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -408,6 +408,16 @@ GUIX_PROFILE=/run/current-system/profile \\
 # Prepend setuid programs.
 export PATH=/run/setuid-programs:$PATH
 
+# Since 'lshd' does not use pam_env, /etc/environment must be explicitly
+# loaded when someone logs in via SSH.  See .
+# We need 'PATH' to be defined here, for 'cat' and 'cut'.
+if [ -f /etc/environment -a -n \"$SSH_CLIENT\" \\
+ -a -z \"$LINUX_MODULE_DIRECTORY\" ]
+then
+  . /etc/environment
+  export `cat /etc/environment | cut -d= -f1`
+fi
+
 if [ -f \"$HOME/.guix-profile/etc/profile\" ]
 then
   # Load the user profile's settings.
@@ -419,16 +429,6 @@ else
   export PATH=\"$HOME/.guix-profile/bin:$PATH\"
 fi
 
-# Since 'lshd' does not use pam_env, /etc/environment must be explicitly
-# loaded when someone logs in via SSH.  See .
-# We need 'PATH' to be defined here, for 'cat' and 'cut'.
-if [ -f /etc/environment -a -n \"$SSH_CLIENT\" \\
- -a -z \"$LINUX_MODULE_DIRECTORY\" ]
-then
-  . /etc/environment
-  export `cat /etc/environment | cut -d= -f1`
-fi
-
 # Set the umask, notably for users logging in via 'lsh'.
 # See .
 umask 022
-- 
2.7.3


-- 
'You did very well, Mr. Netherton,' she said.
'I scarcely did anything.'
'Opportunities to do very badly were manyfold. You avoided them. The major part
in any success.'

William Gibson, "The Peripheral" (2014)


[PATCH] gnu: calibre: Remove imagemagick dependency.

2016-07-27 Thread Alex Griffin
Calibre dropped the dependency on ImageMagick in version 2.57.1.
-- 
Alex Griffin
From 418283c53c66e2da7634ef1e1545ab406450ee6f Mon Sep 17 00:00:00 2001
From: Alex Griffin 
Date: Tue, 26 Jul 2016 12:26:25 -0500
Subject: [PATCH] gnu: calibre: Remove imagemagick dependency.

* gnu/packages/ebook.scm (calibre): Remove out-dated imagemagick dependency.
---
 gnu/packages/ebook.scm | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm
index d97e869..c73b52f 100644
--- a/gnu/packages/ebook.scm
+++ b/gnu/packages/ebook.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015, 2016 Andreas Enge 
 ;;; Copyright © 2016 Efraim Flashner 
+;;; Copyright © 2016 Alex Griffin 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -31,7 +32,6 @@
   #:use-module (gnu packages glib)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages image)
-  #:use-module (gnu packages imagemagick)
   #:use-module (gnu packages libusb)
   #:use-module (gnu packages pdf)
   #:use-module (gnu packages pkg-config)
@@ -102,7 +102,6 @@
("fontconfig" ,fontconfig)
("glib" ,glib)
("icu4c" ,icu4c)
-   ("imagemagick" ,imagemagick)
("libmtp" ,libmtp)
("libpng" ,libpng)
("libusb" ,libusb)
-- 
2.9.2



PATCH [0/22]: Add roary.

2016-07-27 Thread Ben Woodcroft
Hi all,

This patchset adds roary, a pipeline which at times is used for tracking
outbreaks of pathogenic bacteria in e.g. foodstuffs or hospitals, by comparing
whole genome sequences.

perl-log-log4perl was already discussed previously and I am happy to
defer to that patch.  I only include mine here so the packages build.
https://lists.gnu.org/archive/html/guix-devel/2016-07/msg00624.html

Thanks for any review in advance.
ben




[PATCH 03/22] gnu: Add perl-parse-yapp.

2016-07-27 Thread Ben Woodcroft
* gnu/packages/perl.scm (perl-parse-yapp): New variable.
---
 gnu/packages/perl.scm | 21 +
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 844178a..763 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -6490,6 +6490,27 @@ YAML-style files, written with as little code as 
possible, reducing load time
 and memory overhead.")
 (license (package-license perl
 
+(define-public perl-parse-yapp
+  (package
+(name "perl-parse-yapp")
+(version "1.05")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "mirror://cpan/authors/id/F/FD/FDESAR/Parse-Yapp-"
+ version
+ ".tar.gz"))
+   (sha256
+(base32
+ "0azjqqf4m7nkfgmmj4q77vy9sdgg01wn8xxv40bq3pis93xnr2i2"
+(build-system perl-build-system)
+(home-page "http://search.cpan.org/dist/Parse-Yapp";)
+(synopsis "Generate and use LALR parsers")
+(description "This package compiles yacc-like @dfn{Look Ahead LR} (LALR)
+grammars to generate Perl object oriented parser modules.")
+(license (package-license perl
+
 
 ;;; Some packaged modules need versions of core modules that are newer than
 ;;; those in our perl 5.16.1.
-- 
2.9.1




[PATCH 04/22] gnu: Add perl-graph.

2016-07-27 Thread Ben Woodcroft
* gnu/packages/perl.scm (perl-graph): New variable.
---
 gnu/packages/perl.scm | 21 +
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 763..891e1a9 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -2532,6 +2532,27 @@ vaguely inspired by John Ousterhout's Tk_ParseArgv.")
   "Getopt-Tabular-" version))
 (license (package-license perl
 
+(define-public perl-graph
+  (package
+(name "perl-graph")
+(version "0.9704")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "mirror://cpan/authors/id/J/JH/JHI/Graph-"
+ version
+ ".tar.gz"))
+   (sha256
+(base32
+ "099a1gca0wj5zs0cffncjqp2mjrdlk9i6325ks89ml72gfq8wpij"
+(build-system perl-build-system)
+(home-page "http://search.cpan.org/dist/Graph";)
+(synopsis "Graph data structures and algorithms")
+(description "This is @code{Graph}, a Perl module for dealing with graphs,
+the abstract data structures.")
+(license (package-license perl
+
 (define-public perl-guard
   (package
 (name "perl-guard")
-- 
2.9.1




[PATCH 01/22] gnu: parallel: Use full paths for executables.

2016-07-27 Thread Ben Woodcroft
* gnu/packages/parallel.scm (parallel)[inputs]: Add procps.
[arguments]: New field.
---
 gnu/packages/parallel.scm | 27 ++-
 1 file changed, 26 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm
index 12f0028..3bb078e 100644
--- a/gnu/packages/parallel.scm
+++ b/gnu/packages/parallel.scm
@@ -5,6 +5,7 @@
 ;;; Copyright © 2016 Pjotr Prins 
 ;;; Copyright © 2016 Andreas Enge 
 ;;; Copyright © 2016 Ricardo Wurmus 
+;;; Copyright © 2016 Ben Woodcroft 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -54,7 +55,31 @@
(base32
 "08gm0i9vj2nz8qgqi98z00myypgb3dni0s5yf3l17fp8h78fp4g3"
 (build-system gnu-build-system)
-(inputs `(("perl" ,perl)))
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (add-after 'unpack 'patch-bin-sh
+   (lambda _
+ (for-each
+  (lambda (file)
+(substitute* file
+  ;; Patch hard coded '/bin/sh' in the lin ending in:
+  ;; $Global::shell = $ENV{'PARALLEL_SHELL'} ||
+  ;;  parent_shell($$) || $ENV{'SHELL'} || "/bin/sh";
+  (("/bin/sh\\\";\n$") (string-append (which "sh") "\";\n"))
+  ;; Patch call to 'ps' and 'perl' commands.
+  ((" ps ") (string-append " " (which "ps") " "))
+  ((" perl -") (string-append " " (which "perl") " -"
+  (list "src/parallel" "src/sem"
+ (add-after 'install 'post-install-test
+   (lambda* (#:key outputs #:allow-other-keys)
+ (zero? (system* (string-append
+  (assoc-ref outputs "out") "/bin/parallel")
+ "echo"
+ ":::" "1" "2" "3")))
+(inputs
+ `(("perl" ,perl)
+   ("procps" ,procps)))
 (home-page "http://www.gnu.org/software/parallel/";)
 (synopsis "Build and execute command lines in parallel")
 (description
-- 
2.9.1




[PATCH 08/22] gnu: Add perl-file-path.

2016-07-27 Thread Ben Woodcroft
* gnu/packages/perl.scm (perl-file-path): New variable.
---
 gnu/packages/perl.scm | 22 ++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 6a7b02d..f19ddc0 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -2287,6 +2287,28 @@ that arise trying to find them consistently across a 
wide variety of
 platforms.")
 (license (package-license perl
 
+(define-public perl-file-path
+  (package
+(name "perl-file-path")
+(version "2.12")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "mirror://cpan/authors/id/R/RI/RICHE/File-Path-"
+ version
+ ".tar.gz"))
+   (sha256
+(base32
+ "0znihrlcnlpa0ziml0hkq9s59p1bjd2a6khgx2accdf16w6imxmv"
+(build-system perl-build-system)
+(home-page "http://search.cpan.org/dist/File-Path";)
+(synopsis "Create or remove directory trees")
+(description "This module provide a convenient way to create directories
+of arbitrary depth and to delete an entire directory subtree from the
+filesystem.")
+(license (package-license perl
+
 (define-public perl-file-list
   (package
 (name "perl-file-list")
-- 
2.9.1




[PATCH 02/22] gnu: Add perl-xml-writer.

2016-07-27 Thread Ben Woodcroft
* gnu/packages/perl.scm (perl-xml-writer): New variable.
---
 gnu/packages/perl.scm | 28 
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index f42abee..844178a 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -10,6 +10,7 @@
 ;;; Coypright © 2016 ng0 
 ;;; Copyright © 2016 Alex Sassmannshausen 
 ;;; Copyright © 2016 Roel Janssen 
+;;; Copyright © 2016 Ben Woodcroft 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -6416,6 +6417,33 @@ it.  With this module, you can add your own magic to any 
variable without
 having to write a single line of XS.")
 (license (package-license perl
 
+(define-public perl-xml-writer
+  (package
+(name "perl-xml-writer")
+(version "0.625")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "mirror://cpan/authors/id/J/JO/JOSEPHW/XML-Writer-"
+ version
+ ".tar.gz"))
+   (sha256
+(base32
+ "1gjzs570i67ywbv967g8ylb5sg59clwmyrl2yix3jl70dhn55070"
+(build-system perl-build-system)
+(home-page "http://search.cpan.org/dist/XML-Writer";)
+(synopsis "Easily generate well-formed, namespace-aware XML")
+(description "@code{XML::Writer} is a simple Perl module for writing XML
+documents: it takes care of constructing markup and escaping data correctly.
+By default, it also performs a significant amount of well-formedness checking
+on the output to make certain (for example) that start and end tags match,
+that there is exactly one document element, and that there are not duplicate
+attribute names.")
+;; Redistribution and use in source and compiled forms, with or without
+;; modification, are permitted under any circumstances.  No warranty.
+(license public-domain)))
+
 (define-public perl-yaml
   (package
 (name "perl-yaml")
-- 
2.9.1




[PATCH 09/22] gnu: Add perl-file-grep.

2016-07-27 Thread Ben Woodcroft
* gnu/packages/perl.scm (perl-file-grep): New variable.
---
 gnu/packages/perl.scm | 23 +++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index f19ddc0..4d7cab3 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -2262,6 +2262,29 @@ types Perl-related files, or replicating search queries 
run on a distribution
 in various parts of the CPAN ecosystem.")
 (license (package-license perl
 
+(define-public perl-file-grep
+  (package
+(name "perl-file-grep")
+(version "0.02")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "mirror://cpan/authors/id/M/MN/MNEYLON/File-Grep-"
+ version
+ ".tar.gz"))
+   (sha256
+(base32
+ "0cjnz3ak7s3x3y3q48xb9ka2q9d7xvch58vy80hqa9xn9qkiabj6"
+(build-system perl-build-system)
+(home-page "http://search.cpan.org/dist/File-Grep";)
+(synopsis "Matches patterns in a series of files")
+(description "@code{File::Grep} provides similar functionality as perl's
+builtin @code{grep}, @code{map}, and @code{foreach} commands, but iterating
+over a passed filelist instead of arrays.  While trivial, this module can
+provide a quick dropin when such functionality is needed.")
+(license (package-license perl
+
 (define-public perl-file-homedir
   (package
 (name "perl-file-homedir")
-- 
2.9.1




[PATCH 07/22] gnu: Add perl-file-slurper.

2016-07-27 Thread Ben Woodcroft
* gnu/packages/perl.scm (perl-file-slurper): New variable.
---
 gnu/packages/perl.scm | 23 +++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index d37a1a3..6a7b02d 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -2404,6 +2404,29 @@ files with a simple call.  It also has a subroutine for 
reading the list of
 file names in a directory.")
 (license (package-license perl
 
+(define-public perl-file-slurper
+  (package
+(name "perl-file-slurper")
+(version "0.008")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "mirror://cpan/authors/id/L/LE/LEONT/File-Slurper-"
+ version
+ ".tar.gz"))
+   (sha256
+(base32
+ "0cyjspspms6zyjcqz9v18dbs574g085h2jzjh41xvsrc1qa8bxhh"
+(build-system perl-build-system)
+(propagated-inputs
+ `(("perl-perlio-utf8_strict" ,perl-perlio-utf8_strict)))
+(home-page "http://search.cpan.org/dist/File-Slurper";)
+(synopsis "Simple, sane and efficient module to slurp a file")
+(description "This module provides functions for fast and correct file
+slurping and spewing.  All functions are optionally exported.")
+(license (package-license perl
+
 (define-public perl-file-slurp-tiny
   (package
 (name "perl-file-slurp-tiny")
-- 
2.9.1




[PATCH 05/22] gnu: Add perl-graph-readwrite.

2016-07-27 Thread Ben Woodcroft
* gnu/packages/xml.scm (perl-graph-readwrite): New variable.
---
 gnu/packages/xml.scm | 33 +
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
index af597b8..0533cb9 100644
--- a/gnu/packages/xml.scm
+++ b/gnu/packages/xml.scm
@@ -8,6 +8,7 @@
 ;;; Copyright © 2015, 2016 Efraim Flashner 
 ;;; Copyright © 2015 Raimon Grau 
 ;;; Copyright © 2016 Leo Famulari 
+;;; Copyright © 2016 Ben Woodcroft 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -188,6 +189,38 @@ based on libxml for XML parsing, tree manipulation and 
XPath support.")
   (base32
"1klh81xbm9ppzgqk339097i39b7fnpmlj8lzn8bpczl3aww6x5xm")))
 
+(define-public perl-graph-readwrite
+  (package
+(name "perl-graph-readwrite")
+(version "2.08")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "mirror://cpan/authors/id/N/NE/NEILB/Graph-ReadWrite-"
+ version
+ ".tar.gz"))
+   (sha256
+(base32
+ "1wjni212nfz9irp19nx9if1lj3w9cybpdbzhii4g8macpryjj7ci"
+(build-system perl-build-system)
+(propagated-inputs
+ `(("perl-graph" ,perl-graph)
+   ("perl-parse-yapp" ,perl-parse-yapp)
+   ("perl-xml-parser" ,perl-xml-parser)
+   ("perl-xml-writer" ,perl-xml-writer)))
+(home-page "http://search.cpan.org/dist/Graph-ReadWrite";)
+(synopsis "Modules for reading and writing directed graphs")
+(description "This is a collection of perl classes for reading and writing
+directed graphs in a variety of file formats.  The graphs are represented in
+Perl using Jarkko Hietaniemi's @code{Graph} classes.
+
+There are two base classes. @code{Graph::Reader} is the base class for classes
+which read a graph file and create an instance of the Graph class.
+@code{Graph::Writer} is the base class for classes which take an instance of
+the @code{Graph} class and write it out in a specific file format.")
+(license (package-license perl
+
 (define-public perl-xml-parser
   (package
 (name "perl-xml-parser")
-- 
2.9.1




[PATCH 06/22] gnu: Add perl-log-log4perl.

2016-07-27 Thread Ben Woodcroft
* gnu/packages/perl.scm (perl-log-log4perl): New variable.
---
 gnu/packages/perl.scm | 22 ++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 891e1a9..d37a1a3 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -2961,6 +2961,28 @@ either uses the first module it finds or throws an 
error.")
 versa.")
 (license (package-license perl
 
+(define-public perl-log-log4perl
+  (package
+(name "perl-log-log4perl")
+(version "1.47")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "mirror://cpan/authors/id/M/MS/MSCHILLI/Log-Log4perl-"
+ version
+ ".tar.gz"))
+   (sha256
+(base32
+ "0vxraq9navx5mgf8y8g6l5rbl3dv2ml8bishka5m69hj07nxs0ch"
+(build-system perl-build-system)
+(home-page "http://search.cpan.org/dist/Log-Log4perl";)
+(synopsis "Log4j implementation for Perl")
+(description "@code{Log::Log4perl} lets you remote-control and fine-tune
+the logging behaviour of your system from the outside.  It implements the
+widely popular (Java-based) Log4j logging package in pure Perl.")
+(license (package-license perl
+
 (define-public perl-log-report-optional
   (package
 (name "perl-log-report-optional")
-- 
2.9.1




[PATCH 11/22] gnu: Add perl-test-files.

2016-07-27 Thread Ben Woodcroft
* gnu/packages/perl.scm (perl-test-files): New variable.
---
 gnu/packages/perl.scm | 25 +
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 199b2ee..590ddf4 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -5486,6 +5486,31 @@ Test::Exception.  It does much less, but should allow 
greater flexibility in
 testing exception-throwing code with about the same amount of typing.")
 (license (package-license perl
 
+(define-public perl-test-files
+  (package
+(name "perl-test-files")
+(version "0.14")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "mirror://cpan/authors/id/P/PH/PHILCROW/Test-Files-"
+ version
+ ".tar.gz"))
+   (sha256
+(base32
+ "1zn33yigznq7i1jr4yjr4lxvc6bn7znkbqdzj7slhc146pqapkln"
+(build-system perl-build-system)
+(propagated-inputs
+ `(("perl-algorithm-diff" ,perl-algorithm-diff)
+   ("perl-text-diff" ,perl-text-diff)))
+(home-page "http://search.cpan.org/dist/Test-Files";)
+(synopsis "Ease software testing with files and directories")
+(description "This library provides functions to enable testing of files
+and directories.  For instance, the @code{file_ok} helper can test whether the
+contents of a file is equal to a particular string.")
+(license (package-license perl
+
 (define-public perl-test-harness
   (package
 (name "perl-test-harness")
-- 
2.9.1




[PATCH 14/22] gnu: Add bpp-core.

2016-07-27 Thread Ben Woodcroft
* gnu/packages/bioinformatics.scm (bpp-core): New variable.
---
 gnu/packages/bioinformatics.scm | 33 +
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 6065a00..4fb23a4 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -470,6 +470,39 @@ into separate processes; and more.")
 (inputs
  `(("python2-numpy" ,python2-numpy)
 
+(define-public bpp-core
+  ;; The last release was in 2014 and the recommended way to install from 
source
+  ;; is to clone the git repository, so we do this.
+  ;; http://biopp.univ-montp2.fr/wiki/index.php/Main_Page
+  (let ((commit "7d8bced0d1a87291ea8dd7046b7fb5ff9c35c582"))
+(package
+  (name "bpp-core")
+  (version (string-append "2.2.0-1." (string-take commit 7)))
+  (source (origin
+(method git-fetch)
+(uri (git-reference
+  (url "http://biopp.univ-montp2.fr/git/bpp-core";)
+  (commit commit)))
+(file-name (string-append name "-" version "-checkout"))
+(sha256
+ (base32
+  "10djsq5vlnkilv436gnmh4irpk49v29pa69r6xiryg32xmvn909j"
+  (build-system cmake-build-system)
+  (arguments
+   `(#:parallel-build? #f))
+  (inputs
+   `(("gcc" ,gcc-5))) ; Compilation of bpp-phyl fails with GCC 4.9 so we
+  ; compile all of the bpp packages with GCC 5.
+  (home-page "http://biopp.univ-montp2.fr";)
+  (synopsis "C++ libraries for Bioinformatics")
+  (description
+   "Bio++ is a set of C++ libraries for Bioinformatics, including sequence
+analysis, phylogenetics, molecular evolution and population genetics.  It is
+Object Oriented and is designed to be both easy to use and computer efficient.
+Bio++ intends to help programmers to write computer expensive programs, by
+providing them a set of re-usable tools.")
+  (license license:cecill-c
+
 (define-public blast+
   (package
 (name "blast+")
-- 
2.9.1




[PATCH 12/22] gnu: Add perl-env-path.

2016-07-27 Thread Ben Woodcroft
* gnu/packages/perl.scm (perl-env-path): New variable.
---
 gnu/packages/perl.scm | 23 +++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 590ddf4..cbd3ef8 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -2008,6 +2008,29 @@ SHA-1 message digest algorithm for use by Perl 
programs.")
 modules separately and deal with them after the module is done installing.")
 (license (package-license perl
 
+(define-public perl-env-path
+  (package
+(name "perl-env-path")
+(version "0.19")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "mirror://cpan/authors/id/D/DS/DSB/Env-Path-"
+ version
+ ".tar.gz"))
+   (sha256
+(base32
+ "1qhmj15a66h90pjl2dgnxsb9jj3b1r5mpvnr87cafcl8g69z0jr4"
+(build-system perl-build-system)
+(home-page "http://search.cpan.org/dist/Env-Path";)
+(synopsis "Advanced operations on path variables")
+(description "@code{Env::Path} presents an object-oriented interface to
+path variables, defined as that subclass of environment variables which name
+an ordered list of filesystem elements separated by a platform-standard
+separator.")
+(license (package-license perl
+
 (define-public perl-error
   (package
 (name "perl-error")
-- 
2.9.1




[PATCH 10/22] gnu: Add perl-array-utils.

2016-07-27 Thread Ben Woodcroft
* gnu/packages/perl.scm (perl-array-utils): New variable.
---
 gnu/packages/perl.scm | 21 +
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 4d7cab3..199b2ee 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -225,6 +225,27 @@ manipulate, read, and write Zip archive files.")
 (home-page 
"http://search.cpan.org/~phred/Archive-Zip-1.37/lib/Archive/Zip.pm";)
 (license (package-license perl
 
+(define-public perl-array-utils
+  (package
+(name "perl-array-utils")
+(version "0.5")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "mirror://cpan/authors/id/Z/ZM/ZMIJ/Array/Array-Utils-"
+ version
+ ".tar.gz"))
+   (sha256
+(base32
+ "0w1pwvnjdpb0n6k07zbknxwx6v7y75p4jxrs594pjhwvrmzippc9"
+(build-system perl-build-system)
+(home-page "http://search.cpan.org/dist/Array-Utils";)
+(synopsis "Small utils for array manipulation")
+(description "@code{Array::Utils} is a small pure-perl module containing
+list manipulation routines.")
+(license (package-license perl
+
 (define-public perl-base
   (package
 (name "perl-base")
-- 
2.9.1




[PATCH 17/22] gnu: Add bpp-popgen.

2016-07-27 Thread Ben Woodcroft
* gnu/packages/bioinformatics.scm (bpp-popgen): New variable.
---
 gnu/packages/bioinformatics.scm | 33 +
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 803dae9..5dfc637 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -540,6 +540,39 @@ analysis, phylogenetics, molecular evolution and 
population genetics.  This
 library provides phylogenetics-related modules.")
   (license license:cecill-c
 
+(define-public bpp-popgen
+  ;; The last release was in 2014 and the recommended way to install from 
source
+  ;; is to clone the git repository, so we do this.
+  ;; http://biopp.univ-montp2.fr/wiki/index.php/Main_Page
+  (let ((commit "e472bac9b1a148803895d747cd6d0c5904f85d9f"))
+(package
+  (name "bpp-popgen")
+  (version (string-append "2.2.0-1." (string-take commit 7)))
+  (source (origin
+(method git-fetch)
+(uri (git-reference
+  (url "http://biopp.univ-montp2.fr/git/bpp-popgen";)
+  (commit commit)))
+(file-name (string-append name "-" version "-checkout"))
+(sha256
+ (base32
+  "0yn82dzn1n5629nzja68xfrhi655709rjanyryb36vzkmymy6dw5"
+  (build-system cmake-build-system)
+  (arguments
+   `(#:parallel-build? #f
+ #:tests? #f)) ; There are no tests.
+  (inputs
+   `(("bpp-core" ,bpp-core)
+ ("bpp-seq" ,bpp-seq)
+ ("gcc" ,gcc-5)))
+  (home-page "http://biopp.univ-montp2.fr";)
+  (synopsis "Bio++ population genetics library")
+  (description
+   "Bio++ is a set of C++ libraries for Bioinformatics, including sequence
+analysis, phylogenetics, molecular evolution and population genetics.  This
+library provides population genetics-related modules.")
+  (license license:cecill-c
+
 (define-public bpp-seq
   ;; The last release was in 2014 and the recommended way to install from 
source
   ;; is to clone the git repository, so we do this.
-- 
2.9.1




[PATCH 15/22] gnu: Add bpp-seq.

2016-07-27 Thread Ben Woodcroft
* gnu/packages/bioinformatics.scm (bpp-seq): New variable.
---
 gnu/packages/bioinformatics.scm | 34 ++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 4fb23a4..4ca890c 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -503,6 +503,40 @@ Bio++ intends to help programmers to write computer 
expensive programs, by
 providing them a set of re-usable tools.")
   (license license:cecill-c
 
+(define-public bpp-seq
+  ;; The last release was in 2014 and the recommended way to install from 
source
+  ;; is to clone the git repository, so we do this.
+  ;; http://biopp.univ-montp2.fr/wiki/index.php/Main_Page
+  (let ((commit "6cfa07965ce152e5598a89df2fa80a75973bfa33"))
+(package
+  (name "bpp-seq")
+  (version (string-append "2.2.0-1." (string-take commit 7)))
+  (source (origin
+(method git-fetch)
+(uri (git-reference
+  (url "http://biopp.univ-montp2.fr/git/bpp-seq";)
+  (commit commit)))
+(file-name (string-append name "-" version "-checkout"))
+(sha256
+ (base32
+  "1nys5jq7jqvdg40d91wsmj3q2yzy4276cp7sp44n67p468f27zf2"
+  (build-system cmake-build-system)
+  (arguments
+   `(#:parallel-build? #f
+ ;; If out-of-source, test data is not copied into the build directory
+ ;; so the tests fail.
+ #:out-of-source? #f))
+  (inputs
+   `(("bpp-core" ,bpp-core)
+ ("gcc" ,gcc-5))) ; Use GCC 5 as per 'bpp-core'.
+  (home-page "http://biopp.univ-montp2.fr";)
+  (synopsis "Bio++ sequence library")
+  (description
+   "Bio++ is a set of C++ libraries for Bioinformatics, including sequence
+analysis, phylogenetics, molecular evolution and population genetics.  This
+library provides sequence-related modules.")
+  (license license:cecill-c
+
 (define-public blast+
   (package
 (name "blast+")
-- 
2.9.1




[PATCH 18/22] gnu: Add bppsuite.

2016-07-27 Thread Ben Woodcroft
* gnu/packages/bioinformatics.scm (bppsuite): New variable.
---
 gnu/packages/bioinformatics.scm | 42 +
 1 file changed, 42 insertions(+)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 5dfc637..5ea2240 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -51,11 +51,13 @@
   #:use-module (gnu packages gawk)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages gd)
+  #:use-module (gnu packages groff)
   #:use-module (gnu packages image)
   #:use-module (gnu packages java)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages logging)
   #:use-module (gnu packages machine-learning)
+  #:use-module (gnu packages man)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages mpi)
   #:use-module (gnu packages ncurses)
@@ -70,6 +72,7 @@
   #:use-module (gnu packages ruby)
   #:use-module (gnu packages statistics)
   #:use-module (gnu packages tbb)
+  #:use-module (gnu packages texinfo)
   #:use-module (gnu packages textutils)
   #:use-module (gnu packages time)
   #:use-module (gnu packages tls)
@@ -607,6 +610,45 @@ analysis, phylogenetics, molecular evolution and 
population genetics.  This
 library provides sequence-related modules.")
   (license license:cecill-c
 
+(define-public bppsuite
+  ;; The last release was in 2014 and the recommended way to install from 
source
+  ;; is to clone the git repository, so we do this.
+  ;; http://biopp.univ-montp2.fr/wiki/index.php/Main_Page
+  (let ((commit "c516147f57aa50961121cd505bed52cd7603698b"))
+(package
+  (name "bppsuite")
+  (version (string-append "2.2.0-1." (string-take commit 7)))
+  (source (origin
+(method git-fetch)
+(uri (git-reference
+  (url "http://biopp.univ-montp2.fr/git/bppsuite";)
+  (commit commit)))
+(file-name (string-append name "-" version "-checkout"))
+(sha256
+ (base32
+  "1y87pxvw0jxjizhq2dr9g2r91md45k1p9ih2sl1yy1y3p934l2kb"
+  (build-system cmake-build-system)
+  (arguments
+   `(#:parallel-build? #f
+ #:tests? #f)) ; There are no tests.
+  (native-inputs
+   `(("groff" ,groff)
+ ("man-db" ,man-db)
+ ("texinfo" ,texinfo)))
+  (inputs
+   `(("bpp-core" ,bpp-core)
+ ("bpp-seq" ,bpp-seq)
+ ("bpp-phyl" ,bpp-phyl)
+ ("bpp-phyl" ,bpp-popgen)
+ ("gcc" ,gcc-5)))
+  (home-page "http://biopp.univ-montp2.fr";)
+  (synopsis "Bioinformatics tools written with the Bio++ libraries")
+  (description
+   "Bio++ is a set of C++ libraries for Bioinformatics, including sequence
+analysis, phylogenetics, molecular evolution and population genetics.  This
+package provides command line tools using the Bio++ library.")
+  (license license:cecill-c
+
 (define-public blast+
   (package
 (name "blast+")
-- 
2.9.1




[PATCH 13/22] gnu: Add mcl.

2016-07-27 Thread Ben Woodcroft
* gnu/packages/machine-learning.scm (mcl): New variable.
---
 gnu/packages/machine-learning.scm | 27 +++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/machine-learning.scm 
b/gnu/packages/machine-learning.scm
index 2ccf0f2..3f2e502 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -33,6 +33,7 @@
   #:use-module (gnu packages dejagnu)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages maths)
+  #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages statistics)
@@ -200,6 +201,32 @@ Markov Models} (HMM) and algorithms: discrete, continous 
emissions, basic
 training, HMM clustering, HMM mixtures.")
   (license license:lgpl2.0+
 
+(define-public mcl
+  (package
+(name "mcl")
+(version "14.137")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"http://micans.org/mcl/src/mcl-";
+(string-replace-substring version "." "-")
+".tar.gz"))
+  (sha256
+   (base32
+"15xlax3z31lsn62vlg94hkm75nm40q4679amnfg13jm8m2bnhy5m"
+(build-system gnu-build-system)
+(arguments
+ `(#:configure-flags (list "--enable-blast")))
+(inputs
+ `(("perl" ,perl)))
+(home-page "http://micans.org/mcl/";)
+(synopsis "Clustering algorithm for graphs")
+(description
+ "The MCL algorithm is short for the @dfn{Markov Cluster Algorithm}, a
+fast and scalable unsupervised cluster algorithm for graphs (also known as
+networks) based on simulation of (stochastic) flow in graphs.")
+(license license:gpl3)))
+
 (define-public randomjungle
   (package
 (name "randomjungle")
-- 
2.9.1




[PATCH 20/22] gnu: Add prank.

2016-07-27 Thread Ben Woodcroft
* gnu/packages/bioinformatics.scm (prank): New variable.
---
 gnu/packages/bioinformatics.scm | 52 +
 1 file changed, 52 insertions(+)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 14ac57f..ea37a93 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -3176,6 +3176,58 @@ the phenotype as it models the data.")
 generated using the PacBio Iso-Seq protocol.")
   (license license:bsd-3
 
+(define-public prank
+  (package
+(name "prank")
+(version "150803")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"http://wasabiapp.org/download/prank/prank.source.";
+version ".tgz"))
+  (sha256
+   (base32
+"0am4z94fs3w2n5xpfls9zda61vq7qqz4q2i7b9hlsxz5q4j3kfm4"
+(build-system gnu-build-system)
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (add-after 'unpack 'enter-src-dir
+(lambda _
+  (chdir "src")
+  #t))
+ (delete 'configure)
+ (replace 'install
+   (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+(bin (string-append out "/bin"))
+(man (string-append out "/share/man/man1"))
+(path (string-append
+   (assoc-ref %build-inputs "mafft") "/bin:"
+   (assoc-ref %build-inputs "exonerate") "/bin:"
+   (assoc-ref %build-inputs "bppsuite") "/bin")))
+   (install-file "prank" bin)
+   (wrap-program (string-append bin "/prank")
+ `("PATH" ":" prefix (,path)))
+   (install-file "prank.1" man))
+ #t)
+(inputs
+ `(("mafft" ,mafft)
+   ("exonerate" ,exonerate)
+   ("bppsuite" ,bppsuite)))
+(home-page "http://wasabiapp.org/software/prank/";)
+(synopsis "Probabilistic multiple sequence alignment program")
+(description
+ "PRANK is a probabilistic multiple sequence alignment program for DNA,
+codon and amino-acid sequences.  It is based on a novel algorithm that treats
+insertions correctly and avoids over-estimation of the number of deletion
+events.  In addition, PRANK borrows ideas from maximum likelihood methods used
+in phylogenetics and correctly takes into account the evolutionary distances
+between sequences.  Lastly, PRANK allows for defining a potential structure
+for sequences to be aligned and then, simultaneously with the alignment,
+predicts the locations of structural units in the sequences.")
+(license license:gpl2+)))
+
 (define-public pyicoteo
   (package
 (name "pyicoteo")
-- 
2.9.1




[PATCH 16/22] gnu: Add bpp-phyl.

2016-07-27 Thread Ben Woodcroft
* gnu/packages/bioinformatics.scm (bpp-phyl): New variable.
---
 gnu/packages/bioinformatics.scm | 37 +
 1 file changed, 37 insertions(+)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 4ca890c..803dae9 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -503,6 +503,43 @@ Bio++ intends to help programmers to write computer 
expensive programs, by
 providing them a set of re-usable tools.")
   (license license:cecill-c
 
+(define-public bpp-phyl
+  ;; The last release was in 2014 and the recommended way to install from 
source
+  ;; is to clone the git repository, so we do this.
+  ;; http://biopp.univ-montp2.fr/wiki/index.php/Main_Page
+  (let ((commit "0c07167b629f68b569bf274d1ad0c4af83276ae2"))
+(package
+  (name "bpp-phyl")
+  (version (string-append "2.2.0-1." (string-take commit 7)))
+  (source (origin
+(method git-fetch)
+(uri (git-reference
+  (url "http://biopp.univ-montp2.fr/git/bpp-phyl";)
+  (commit commit)))
+(file-name (string-append name "-" version "-checkout"))
+(sha256
+ (base32
+  "1ssjgchzwj3iai26kyly7gwkdv8sk59nqhkb1wpap3sf5m6kyllh"
+  (build-system cmake-build-system)
+  (arguments
+   `(#:parallel-build? #f
+ ;; If out-of-source, test data is not copied into the build directory
+ ;; so the tests fail.
+ #:out-of-source? #f))
+  (inputs
+   `(("bpp-core" ,bpp-core)
+ ("bpp-seq" ,bpp-seq)
+ ;; GCC 4.8 fails due to an 'internal compiler error', so we use a more
+ ;; modern GCC.
+ ("gcc" ,gcc-5)))
+  (home-page "http://biopp.univ-montp2.fr";)
+  (synopsis "Bio++ phylogenetic Library")
+  (description
+   "Bio++ is a set of C++ libraries for Bioinformatics, including sequence
+analysis, phylogenetics, molecular evolution and population genetics.  This
+library provides phylogenetics-related modules.")
+  (license license:cecill-c
+
 (define-public bpp-seq
   ;; The last release was in 2014 and the recommended way to install from 
source
   ;; is to clone the git repository, so we do this.
-- 
2.9.1




[PATCH 21/22] gnu: Add raxml.

2016-07-27 Thread Ben Woodcroft
* gnu/packages/bioinformatics.scm (raxml): New variable.
---
 gnu/packages/bioinformatics.scm | 40 
 1 file changed, 40 insertions(+)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index ea37a93..4e599a7 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -3297,6 +3297,46 @@ format.  It runs quickly, in an unsupervised fashion, 
handles gaps, handles
 partial genes, and identifies translation initiation sites.")
 (license license:gpl3+)))
 
+(define-public raxml
+  (package
+(name "raxml")
+(version "8.2.9")
+(source
+ (origin
+   (method url-fetch)
+   (uri
+(string-append
+ "https://github.com/stamatak/standard-RAxML/archive/v";
+ version ".tar.gz"))
+   (file-name (string-append name "-" version ".tar.gz"))
+   (sha256
+(base32
+ "1pv8p2fy67y21a9y4cm7xpvxqjwz2v4201flfjshdq1p8j52rqf7"
+(build-system gnu-build-system)
+(arguments
+ `(#:tests? #f ; There are no tests.
+   ;; Use 'standard' Makefile rather than SSE or AVX ones.
+   #:make-flags (list "-f" "Makefile.HYBRID.gcc")
+   #:phases
+   (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'install
+   (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+(bin (string-append out "/bin"))
+(executable "raxmlHPC-HYBRID"))
+   (install-file executable bin)
+   (symlink (string-append bin "/" executable) "raxml"))
+ #t)
+(inputs
+ `(("openmpi" ,openmpi)))
+(home-page "http://sco.h-its.org/exelixis/web/software/raxml/index.html";)
+(synopsis "Randomized Axelerated Maximum Likelihood phylogenetic trees")
+(description
+ "RAxML is a tool for phylogenetic analysis and post-analysis of large
+phylogenies.")
+(license license:gpl2+)))
+
 (define-public rsem
   (package
 (name "rsem")
-- 
2.9.1




[PATCH 22/22] gnu: Add roary.

2016-07-27 Thread Ben Woodcroft
* gnu/packages/bioinformatics.scm (roary): New variable.
---
 gnu/packages/bioinformatics.scm | 120 
 1 file changed, 120 insertions(+)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 4e599a7..7d4139b 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -63,6 +63,7 @@
   #:use-module (gnu packages mpi)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages pcre)
+  #:use-module (gnu packages parallel)
   #:use-module (gnu packages pdf)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
@@ -3297,6 +3298,125 @@ format.  It runs quickly, in an unsupervised fashion, 
handles gaps, handles
 partial genes, and identifies translation initiation sites.")
 (license license:gpl3+)))
 
+(define-public roary
+  (package
+(name "roary")
+(version "3.6.6")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "mirror://cpan/authors/id/A/AJ/AJPAGE/Bio-Roary-"
+ version ".tar.gz"))
+   (sha256
+(base32
+ "1qscm97xa6vxxxlbh730gyp3b001abcg8iy2hvaqymc596x7hpi3"
+(build-system perl-build-system)
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (add-after 'unpack 'delete-bundled-binaries
+   (lambda _
+ (delete-file-recursively "binaries")
+ #t))
+ (delete 'configure)
+ (delete 'build)
+ (replace 'check
+   (lambda _
+ ;; The tests are not run by default, so we run each test file
+ ;; directly.
+ (setenv "PATH" (string-append (getcwd) "/bin" ":"
+   (getenv "PATH")))
+ (setenv "PERL5LIB" (string-append (getcwd) "/lib" ":"
+   (getenv "PERL5LIB")))
+ (zero? (length (filter (lambda (file)
+  (display file)(display "\n")
+  (not (zero? (system* "perl" file
+(find-files "t" ".*\\.t$"))
+ (replace 'install
+   ;; There is no 'install' target in the Makefile.
+   (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+(bin (string-append out "/bin"))
+(perl (string-append out "/lib/perl5/site_perl"))
+(roary-plots "contrib/roary_plots"))
+   (mkdir-p bin)
+   (mkdir-p perl)
+   (copy-recursively "bin" bin)
+   (copy-recursively "lib" perl)
+   #t)))
+ (add-after 'install 'wrap-programs
+   (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+(perl5lib (getenv "PERL5LIB"))
+(path (getenv "PATH")))
+   (for-each (lambda (prog)
+   (let ((binary (string-append out "/" prog)))
+ (wrap-program binary
+   `("PERL5LIB" ":" prefix
+ (,(string-append perl5lib ":" out
+  "/lib/perl5/site_perl"
+ (wrap-program binary
+   `("PATH" ":" prefix
+ (,(string-append path ":" out "/bin"))
+ (find-files "bin" ".*[^R]$"))
+   (let ((file
+  (string-append out 
"/bin/roary-create_pan_genome_plots.R"))
+ (r-site-lib (getenv "R_LIBS_SITE"))
+ (coreutils-path
+  (string-append (assoc-ref inputs "coreutils") "/bin")))
+ (wrap-program file
+   `("R_LIBS_SITE" ":" prefix
+ (,(string-append r-site-lib ":" out "/site-library/"
+ (wrap-program file
+   `("PATH" ":" prefix
+ (,(string-append coreutils-path ":" out "/bin"))
+ #t)
+(native-inputs
+ `(("perl-env-path" ,perl-env-path)
+   ("perl-test-files" ,perl-test-files)
+   ("perl-test-most" ,perl-test-most)
+   ("perl-test-output" ,perl-test-output)))
+(inputs
+ `(("perl-array-utils" ,perl-array-utils)
+   ("bioperl" ,bioperl-minimal)
+   ("perl-exception-class" ,perl-exception-class)
+   ("perl-file-find-rule" ,perl-file-find-rule)
+   ("perl-file-grep" ,perl-file-grep)
+   ("perl-file-slurper" ,perl-file-slurper)
+   ("perl-file-which" ,perl-file-which)
+   ("perl-graph" ,perl-graph)
+   ("perl-graph-readwrite" ,perl-graph-readwrite)
+   ("perl-log-log4perl" ,perl-log-log4perl)
+   ("perl-moose" ,perl-moose)
+   ("perl-perlio-utf8_strict" ,perl-perlio-utf8_

[PATCH 19/22] gnu: Add exonerate.

2016-07-27 Thread Ben Woodcroft
* gnu/packages/bioinformatics.scm (exonerate): New variable.
---
 gnu/packages/bioinformatics.scm | 29 +
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 5ea2240..14ac57f 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -51,6 +51,7 @@
   #:use-module (gnu packages gawk)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages gd)
+  #:use-module (gnu packages glib)
   #:use-module (gnu packages groff)
   #:use-module (gnu packages image)
   #:use-module (gnu packages java)
@@ -1917,6 +1918,34 @@ in structured XML format.  This can eliminate the need 
for writing custom
 software to answer ad hoc questions.")
 (license license:public-domain)))
 
+(define-public exonerate
+  (package
+(name "exonerate")
+(version "2.2.0")
+(source
+ (origin
+   (method url-fetch)
+   (uri
+(string-append
+ "http://ftp.ebi.ac.uk/pub/software/vertebrategenomics/exonerate/";
+ "exonerate-" version ".tar.gz"))
+   (sha256
+(base32
+ "1zz5dxhpkrv5k892kcjp3wqsw5ml54qg88lmi2gk5yl82c5p58hf"
+(build-system gnu-build-system)
+(native-inputs
+ `(("pkg-config" ,pkg-config)))
+(inputs
+ `(("glib" ,glib)))
+(home-page
+ "https://www.ebi.ac.uk/about/vertebrate-genomics/software/exonerate";)
+(synopsis "Generic tool for biological sequence alignment")
+(description
+ "Exonerate is a generic tool for pairwise sequence comparison.  It allows
+the alignment of sequences using a many alignment models, either exhaustive
+dynamic programming or a variety of heuristics.")
+(license license:gpl3)))
+
 (define-public express
   (package
 (name "express")
-- 
2.9.1




guix package modif testing

2016-07-27 Thread Vincent Legoll
I'll probably get RTFM'ed once again, but at least I tried to search first...

It looks like this :
https://www.gnu.org/software/guix/manual/guix.html#Building-from-Git
is intended for people willing to hack on guix itself, but I want to hack
at the package's definitions...

I want to test the pythondialog patch I posted in te other thread...

How do you try modifications to packages that are already in the repo ?

Is GUIX_PACKAGE_PATH completely overriding the repo, so I can
just copy the file I want to test in there, modify it, then build ?

-- 
Vincent Legoll



Re: [PATCH 09/10] vm: Honor 'QEMU_FLAGS' and 'QEMU_NET_FLAGS'.

2016-07-27 Thread David Craven
Hmm, I sometimes get an 'ssh_exchange_identification: read: Connection
reset by peer' when I just append a new -net user, flag. It never
happens when I remove -net user from gnu system vm. Just thought I'd
mention it.



Re: 01/03: gnu: guix: Update development snapshot.

2016-07-27 Thread Andreas Enge
On Wed, Jul 27, 2016 at 11:35:42AM +0300, Alex Kost wrote:
> As Efraim noticed on #guix, the revision number wasn't updated.  I think
> you forgot to do it, right?

Indeed, my mistake, apologies! I just pushed with a corrected version
number. Thanks for the report!

Andreas




Re: guix package modif testing

2016-07-27 Thread Andreas Enge
On Wed, Jul 27, 2016 at 03:19:43PM +0200, Vincent Legoll wrote:
> It looks like this :
> https://www.gnu.org/software/guix/manual/guix.html#Building-from-Git
> is intended for people willing to hack on guix itself, but I want to hack
> at the package's definitions...

This is all the same, everything is tightly integrated.

> I want to test the pythondialog patch I posted in te other thread...
> How do you try modifications to packages that are already in the repo ?

Personally I just create another local git branch and make my
modifications there, in gnu/packages/scm. In case things work out,
it is then trivial to create a patch (git commit + git format-patch)
and to send it to the list (you may even use git send-email, which
is in a separate output of the git package).

Andreas




Re: guix package modif testing

2016-07-27 Thread Alex Vong
Hi,

Andreas Enge  writes:

> On Wed, Jul 27, 2016 at 03:19:43PM +0200, Vincent Legoll wrote:
>> It looks like this :
>> https://www.gnu.org/software/guix/manual/guix.html#Building-from-Git
>> is intended for people willing to hack on guix itself, but I want to hack
>> at the package's definitions...
>
> This is all the same, everything is tightly integrated.
>
>> I want to test the pythondialog patch I posted in te other thread...
>> How do you try modifications to packages that are already in the repo ?
>
> Personally I just create another local git branch and make my
> modifications there, in gnu/packages/scm. In case things work out,
> it is then trivial to create a patch (git commit + git format-patch)
> and to send it to the list (you may even use git send-email, which
> is in a separate output of the git package).
>
Same for me. Usually, I run "git pull" first to update the repo. Then, I
build using "./boostrap && make -j`nproc`". After that, I changes the
files in guix/gnu/packages/. Next, I test the changes by
"./pre-inst-env guix lint foo" and "./pre-inst-env guix build foo". If
the changes pass the lint and the build, run "git commit" and
"git format-patch HEAD^". Finally, attach the patch and send the email.

Notice all the commands is run with guix/ being the current working
directory. Also, I am learning to use magit, so this is really the old
approach I use.

Hope this help.

> Andreas

Cheers,
Alex



Re: [PATCH] gnu: calibre: Remove imagemagick dependency.

2016-07-27 Thread Alex Griffin
On Wed, Jul 27, 2016, at 07:50 AM, Alex Griffin wrote:
> Calibre dropped the dependency on ImageMagick in version 2.57.1.

On second thought, disregard this patch. I'm going to roll it into
another one that updates the package as well.
-- 
Alex Griffin



Re: [GSoC] Continuous integration tool à la Hydra.

2016-07-27 Thread Mathieu Lirzin
Hello,

l...@gnu.org (Ludovic Courtès) writes:

> Mathieu Lirzin  skribis:
>
[...]
>> CREATE TABLE Specifications (
>>   idINTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
>>   repo_name TEXT NOT NULL,
>>   url   TEXT NOT NULL,
>>   load_path TEXT NOT NULL,
>>   file  TEXT NOT NULL,
>>   proc  TEXT NOT NULL,
>>   arguments TEXT NOT NULL,
>>   -- The following columns are optional.
>>   branchTEXT,
>>   tag   TEXT,
>>   revision  TEXT
>> );
>>
>> CREATE TABLE Evaluations (
>>   derivationTEXT NOT NULL PRIMARY KEY,
>>   job_name  TEXT NOT NULL,
>>   specification INTEGER NOT NULL,
>>   FOREIGN KEY (specification) REFERENCES Specifications (id)
>> );
>
> An evaluation leads to several derivations (for Guix, roughly one
> derivation per package and per system type), but the table above seems
> to suggest that each evaluation is mapped to only one derivation?

In my "confused" mind each derivation was considered an individual
evaluation.  But as you pointed out this makes more sense to decouple
those.  Fixed in commit d493a58823aed8c556bf795d02207e57718b96c9

Thanks,

-- 
Mathieu Lirzin



Re: guix package modif testing

2016-07-27 Thread Vincent Legoll
I'm still missing something

vince@guixsd ~/repo$ ls -l ~/repo
lrwxrwxrwx 1 vince users 19 Jul 27 15:38 /home/vince/repo -> .config/guix/latest

vince@guixsd ~/repo$ patch -p1 <
~/guix-packages/0001-Add-python-pythondialog.patch
File gnu/packages/python.scm is read-only; trying to patch anyway
patch:  Can't create temporary file
gnu/packages/python.scm.oiz9bQi : Read-only file system

Or do I need to do that as root ?

-- 
Vincent Legoll



Re: Call for screencasts!

2016-07-27 Thread Ludovic Courtès
Hello!

l...@gnu.org (Ludovic Courtès) skribis:

> I’d like a video of at most 5 minutes to put on the home page that would
> showcase, for example (with explanations in English; bonus points if you
> have a good mic and are a native speaker ;-)):
>
>   1. The usual ‘guix package’ commands;
>   2. the Emacs interface, briefly (like the generation diff);
>   3. ‘guix environment’, including with ‘--container’;
>   4. ‘guix system vm’ and the declarative OS configuration.

I tried to extend my skill set, and made this, ahem, wonderful video:

  http://web.fdn.fr/~lcourtes/tmp/guix-demo.ogv (4 MiB)
  http://web.fdn.fr/~lcourtes/tmp/guix-demo.gif (24 MiB!)

It’s 1mn15s long and only shows #1, but I thought it’s a good start as
something to replace the 50mn video currently on the front page.

What do people think?

Given the size difference, I suppose we’d have to put the Theora video
rather than the animated GIF.

Ludo’.



[PATCH] gnu: gnome: Propagate file-roller.

2016-07-27 Thread Alex Griffin
Most GNOME users will probably expect to be able to open archives, so
this patch adds file-roller to the gnome "meta-package".
-- 
Alex Griffin
From 4a582632170f58a4dcb4d675bc519a5e999b75d0 Mon Sep 17 00:00:00 2001
From: Alex Griffin 
Date: Wed, 27 Jul 2016 09:40:35 -0500
Subject: [PATCH] gnu: gnome: Propagate file-roller.

* gnu/packages/gnome.scm (gnome)[propagated-inputs]: Add file-roller.
---
 gnu/packages/gnome.scm | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 318a04d..b2f4695 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -19,6 +19,7 @@
 ;;; Copyright © 2016 Jan Nieuwenhuizen 
 ;;; Copyright © 2016 Roel Janssen 
 ;;; Copyright © 2016 Leo Famulari 
+;;; Copyright © 2016 Alex Griffin 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -5014,6 +5015,7 @@ software that do not provide their own configuration interface.")
("eog"   ,eog)
("epiphany"  ,epiphany)
("evince",evince)
+   ("file-roller"   ,file-roller)
("gedit" ,gedit)
("glib-networking"   ,glib-networking)
("gnome-backgrounds" ,gnome-backgrounds)
-- 
2.9.2



Re: [PATCH] gnu: Add libsmpeg.

2016-07-27 Thread Kei Kebreau
Vincent Legoll  writes:

>> I see 2 solutions
>
> The other solution could be to patch the setup.py script, if you
> want to do that I'll tell you what to change

I want to try patching the setup.py script, that way I could see how
pygame tries to detect the libraries that it says are missing.

-- 
Kei (GPG Key: 4096R/E6A5EE3C19467A0D)


signature.asc
Description: PGP signature


Package API compatibility and guix package variable names

2016-07-27 Thread Danny Milosavljevic
> > Shouldn't this be allegro-5 since there is already an allegro-4?  
> 
> I want the “allegro” variable to simply hold the latest version of
> allegro.  If ever there’s a need to clarify (e.g. because we need to
> keep around the last of the 5.x series when 6.x comes out) we can change
> the name then.  As far as I can see that’s been our approach for some
> other packages, too, most prominently “python”.

In my humble opinion it would best if there was an "allego-5.0" and an 
"allegro" variable, with the "allegro" variable not being referenced by any 
other package (they would reference "allegro-5.0" instead - or whatever major 
API version they need, for example "allegro-5.2").

This way we wouldn't have to update half of all package specs after they break 
just because a new incompatible version came out.

I think the way it was done for Python3 in Guix is wrong. On the other hand, 
the way it was done for Python2 in Guix was exactly right.

What happens when a new (incompatible) Python4 comes out? Patch all the Python 
modules package specs there are? The only reason we can get away with it for 
Python is because they only do breaking change in the language every five years.

This is something Debian got right - have the (API) version as suffix as part 
of the name.

The "allegro" metapackage is purely a user convenience (of questionable 
benefit).

If something becomes incompatible, its name should change.



Re: [PATCH] Read /etc/environment first to allow changing environment from user profile

2016-07-27 Thread Tobias Geerinckx-Rice
Carlos,

On 27/07/2016 14:34, Carlos Sánchez de La Lama wrote:
> I attach the proposed patch (just a change of order in /etc/profile). As
> 'cat' and 'cut' are most surely available at system-level, it should not
> be dangerous to use them before setting up the user profile.

That's a valid point, but this should be doable in pure shell. It might
even be faster (untested), and avoids needless forking.

Most importantly, it's fun.

> . /etc/environment
> export `cat /etc/environment | cut -d= -f1`

‘cat file | ...’ can be replaced with ‘... < file’; ‘cut’ isn't needed
since export accepts ‘VAR[=value]’ arguments[1][2]. You've just imported
‘/etc/environment’ on the previous line, and the values haven't been
modified. Hence, the two lines above can be written as:

  while read line; do export "$line"; done < /etc/environment

I don't know if Guix even cares about non-bash shells, but this should™
work in all POSIX®-compliant ones[4]. It's also more readable.

Thoughts? Gotchas?

Kind regards,

T G-R

[1]: http://pubs.opengroup.org/onlinepubs/009696799/utilities/export.html
[2]: even if it didn't, section 2.6.2 of [3] has got you covered
[3]:
http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html
[4]: which reminds me to finish packaging ash for Guix



Re: Package API compatibility and guix package variable names

2016-07-27 Thread Andreas Enge
On Wed, Jul 27, 2016 at 05:54:31PM +0200, Danny Milosavljevic wrote:
> In my humble opinion it would best if there was an "allego-5.0" and an 
> "allegro" variable, with the "allegro" variable not being referenced by any 
> other package (they would reference "allegro-5.0" instead - or whatever major 
> API version they need, for example "allegro-5.2").
> If something becomes incompatible, its name should change.

It is our common practice to not re-encode the version into the name: Usually
the unnumbered name simply stands for the latest version, Only when we need to
keep several versions around do we add a versioned name for the earlier one.
In this way, updating dependencies becomes easier: Most of the time, a later
version of a dependency will work. To follow your suggestion, we would
ultimately add the soname of libraries to package names, and then whenever
some package is updated, all packages depending on it would need to have
their inputs rewritten. This would not be very practical.

Andreas




Re: guix package modif testing

2016-07-27 Thread Andreas Enge
On Wed, Jul 27, 2016 at 04:56:27PM +0200, Vincent Legoll wrote:
> I'm still missing something
> vince@guixsd ~/repo$ ls -l ~/repo
> lrwxrwxrwx 1 vince users 19 Jul 27 15:38 /home/vince/repo -> 
> .config/guix/latest
> 
> vince@guixsd ~/repo$ patch -p1 <
> ~/guix-packages/0001-Add-python-pythondialog.patch
> File gnu/packages/python.scm is read-only; trying to patch anyway
> patch:  Can't create temporary file
> gnu/packages/python.scm.oiz9bQi : Read-only file system

.config/guix/latest is itself a link into /gnu/store/..., so cannot be
changed. You should work with a git checkout - so do a "git pull", not
a "guix pull"!

Andreas




Re: core-updates, next release, and all that

2016-07-27 Thread Andreas Enge
On Wed, Jul 27, 2016 at 12:44:36PM +0200, Andreas Enge wrote:
> Probably it is less the update and rather the fact that we enable most
> tests now. 6 of them are disabled because they fail ;-); so unless there
> is opposition, I will disable a 7-th test, and we might be set.

Indeed. After disabling this one test, the package builds on my mips machine.
I pushed and will start a new evaluation of core-updates.

Andreas




Re: [PATCH v2] gnu: Add stellarium.

2016-07-27 Thread Danny Milosavljevic
Obsolete, replaced by "[PATCH v3] gnu: Add stellarium."



Re: [PATCH] Add stellarium

2016-07-27 Thread Danny Milosavljevic
Obsolete, replaced by "[PATCH v2] gnu: Add stellarium."



Re: [PATCH] Read /etc/environment first to allow changing environment from user profile

2016-07-27 Thread Danny Milosavljevic
>   while read line; do export "$line"; done < /etc/environment
> 
> I don't know if Guix even cares about non-bash shells, but this should™
> work in all POSIX®-compliant ones[4]. It's also more readable.
> 
> Thoughts? Gotchas?

Spaces in keys and/or values don't work that way. The read itself already has 
problems with them. You might try setting IFS="
" but not sure whether that's standards-compliant.

Also, does csh actually support "export"? The one I have in Solaris doesn't. 
You need to do "setenv" there.




Re: guix package modif testing

2016-07-27 Thread Vincent Legoll
> .config/guix/latest is itself a link into /gnu/store/..., so cannot be
> changed. You should work with a git checkout - so do a "git pull", not
> a "guix pull"!

The thing I still miss is that: how do I make guix use a different git
checkout ?

Is there a GUIX_CHECKOUT_PATH env var, a CLI parameter, or
./boostrap & ./pre-inst-env done in the checkout does all the magic ?

-- 
Vincent Legoll



Re: guix package modif testing

2016-07-27 Thread Andreas Enge
On Wed, Jul 27, 2016 at 06:37:26PM +0200, Vincent Legoll wrote:
> The thing I still miss is that: how do I make guix use a different git
> checkout ?

Go into the git checkout of guix and run
   ./pre-inst-env guix ...
The little script sets all environment variables to run the local copy
instead of the "normal" guix.

Andreas




[PATCH 0/3] gnu: Add abc, iverilog, yosys FPGA synthesizers

2016-07-27 Thread Danny Milosavljevic
This patch adds abc, iverilog and yosys FPGA synthesizers.

Danny Milosavljevic (3):
  gnu: Add abc.
  gnu: Add iverilog.
  gnu: Add yosys.

 gnu/local.mk  |   1 +
 gnu/packages/fpga.scm | 177 ++
 2 files changed, 178 insertions(+)
 create mode 100644 gnu/packages/fpga.scm





[PATCH 1/3] gnu: Add abc.

2016-07-27 Thread Danny Milosavljevic
* gnu/packages/education.scm: New file.
* gnu/packages/fpga.scm (abc): New variable.
---
 gnu/local.mk  |  1 +
 gnu/packages/fpga.scm | 72 +++
 2 files changed, 73 insertions(+)
 create mode 100644 gnu/packages/fpga.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index 08770ff..38e5313 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -123,6 +123,7 @@ GNU_SYSTEM_MODULES =\
   %D%/packages/fltk.scm\
   %D%/packages/fonts.scm   \
   %D%/packages/fontutils.scm   \
+  %D%/packages/fpga.scm\
   %D%/packages/freedesktop.scm \
   %D%/packages/freeipmi.scm\
   %D%/packages/ftp.scm \
diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm
new file mode 100644
index 000..40ea709
--- /dev/null
+++ b/gnu/packages/fpga.scm
@@ -0,0 +1,72 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2016 Danny Milosavljevic 
+;;;
+;;; 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 fpga)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module (guix build-system cmake)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages tcl)
+  #:use-module (gnu packages readline)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages bison)
+  #:use-module (gnu packages flex)
+  #:use-module (gnu packages libffi)
+  #:use-module (gnu packages zip)
+  #:use-module (gnu packages perl)
+  #:use-module (gnu packages gawk))
+
+;; To compile as C code (default): make sure that CC=gcc and ABC_NAMESPACE is 
not defined.
+;; To compile as C++ code with namespaces: make sure that CC=g++ and 
ABC_NAMESPACE is set to the name of the requested namespace. For example, add 
-DABC_NAMESPACE=xxx to OPTFLAGS.
+(define-public abc
+  (package
+(name "abc")
+(version "0.0-5ae4b975c49c")
+(source (origin
+  (method url-fetch)
+  (uri
+   (string-append 
"https://bitbucket.org/alanmi/abc/get/5ae4b975c49c.zip";))
+  (sha256
+(base32
+   "1syygi1x40rdryih3galr4q8yg1w5bvdzl75hd27v1xq0l5bz3d0"
+(build-system gnu-build-system)
+(native-inputs
+ `(("unzip" ,unzip)))
+(inputs
+ `(("readline" ,readline)))
+(arguments
+ `(#:tests? #f ; 'check target does not exist.
+   ; #:make-flags '("PROG=abc")
+   #:phases
+(modify-phases %standard-phases
+  (delete 'configure)
+  (replace 'install
+(lambda* (#:key outputs #:allow-other-keys)
+  (let* ((out (assoc-ref outputs "out"))
+ (outbin (string-append out "/bin"))
+ (target (string-append outbin "/abc")))
+(mkdir-p outbin)
+(copy-file "abc" target)))
+(home-page "http://people.eecs.berkeley.edu/~alanmi/abc/";)
+(synopsis "Sequential Logic Synthesis and Formal Verification")
+(description "ABC is a program for sequential logic synthesis and formal 
verification.")
+(license license:expat) #| FIXME license: MIT Modern variant as described
+in  |#))



Re: guix package modif testing

2016-07-27 Thread Andreas Enge
PS: 
https://www.gnu.org/software/guix/manual/guix.html#Running-Guix-Before-It-Is-Installed




[PATCH 2/3] gnu: Add iverilog.

2016-07-27 Thread Danny Milosavljevic
* gnu/packages/fpga.scm (iverilog): New variable.
---
 gnu/packages/fpga.scm | 28 +++-
 1 file changed, 27 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm
index 40ea709..39a338e 100644
--- a/gnu/packages/fpga.scm
+++ b/gnu/packages/fpga.scm
@@ -32,6 +32,7 @@
   #:use-module (gnu packages libffi)
   #:use-module (gnu packages zip)
   #:use-module (gnu packages perl)
+  #:use-module (gnu packages ghostscript)
   #:use-module (gnu packages gawk))
 
 ;; To compile as C code (default): make sure that CC=gcc and ABC_NAMESPACE is 
not defined.
@@ -54,7 +55,6 @@
  `(("readline" ,readline)))
 (arguments
  `(#:tests? #f ; 'check target does not exist.
-   ; #:make-flags '("PROG=abc")
#:phases
 (modify-phases %standard-phases
   (delete 'configure)
@@ -70,3 +70,29 @@
 (description "ABC is a program for sequential logic synthesis and formal 
verification.")
 (license license:expat) #| FIXME license: MIT Modern variant as described
 in  |#))
+
+;; Note: compare geda.
+(define-public iverilog
+  (package
+(name "iverilog")
+(version "10.1.1")
+(source (origin
+  (method url-fetch)
+  (uri
+   (string-append 
"ftp://ftp.icarus.com/pub/eda/verilog/v10/verilog-"; version ".tar.gz"))
+  (sha256
+(base32
+   "1nnassxvq30rnn0r2p85rkb2zwxk97p109y13x3vr365wzgpbapx"
+(build-system gnu-build-system)
+(native-inputs
+ `(("flex" ,flex)
+   ("bison" ,bison)
+   ("ghostscript" ,ghostscript) #| ps2pdf |#))
+(home-page "http://iverilog.icarus.com/";)
+(synopsis "FPGA Verilog Simulation and Synthesis Tool")
+(description "Icarus Verilog is a Verilog simulation and synthesis tool.
+It operates as a compiler, compiling source code written in Verilog 
(IEEE-1364) into some target format.
+For batch simulation, the compiler can generate an intermediate form called 
vvp assembly.
+This intermediate form is executed by the ``vvp'' command.
+For synthesis, the compiler generates netlists in the desired format.")
+(license license:gpl2)))



-- 
W: https://www.friendly-machines.at/



[PATCH 3/3] gnu: Add yosys.

2016-07-27 Thread Danny Milosavljevic
* gnu/packages/fpga.scm (yosys): New variable.
---
 gnu/packages/fpga.scm | 79 +++
 1 file changed, 79 insertions(+)

diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm
index 39a338e..143e644 100644
--- a/gnu/packages/fpga.scm
+++ b/gnu/packages/fpga.scm
@@ -96,3 +96,82 @@ For batch simulation, the compiler can generate an 
intermediate form called vvp
 This intermediate form is executed by the ``vvp'' command.
 For synthesis, the compiler generates netlists in the desired format.")
 (license license:gpl2)))
+
+(define-public yosys
+  (package
+(name "yosys")
+(version "0.6")
+(source (origin
+  (method url-fetch)
+  (uri
+   (string-append "https://github.com/cliffordwolf/yosys/archive/";
+  name "-" version ".tar.gz"))
+  (sha256
+(base32
+   "02j0c0m9dfyjccynalf0aggj6gy20k7iphpkg5cn6sdirlkv8gmx"))
+  (modules '((guix build utils)))
+  (snippet
+'(substitute* "Makefile"
+   (("ABCREV = .*") "ABCREV = default\n")
+(build-system gnu-build-system)
+(arguments
+ `(#:test-target "test"
+   #:make-flags (list (string-append "PREFIX=" %output))
+   #:phases
+   (modify-phases %standard-phases
+ (replace 'configure
+   (lambda* (#:key inputs (make-flags '()) #:allow-other-keys)
+ (zero? (apply system* "make" "config-gcc" make-flags
+ (add-after 'configure 'prepare-abc
+   (lambda* (#:key inputs #:allow-other-keys)
+ (let* ((sourceabc (assoc-ref inputs "abc"))
+(sourcebin (string-append sourceabc "/bin"))
+(source (string-append sourcebin "/abc")))
+   (mkdir-p "abc")
+   (call-with-output-file "abc/Makefile"
+ (lambda (port)
+   (format port ".PHONY: all\nall:\n\tcp -f abc 
abc-default\n")))
+   (copy-file source "abc/abc")
+   (zero? (system* "chmod" "+w" "abc/abc")
+  (add-before 'check 'fix-iverilog-references
+ (lambda* (#:key inputs native-inputs #:allow-other-keys)
+   (let* ((xinputs (or native-inputs inputs))
+  (xdirname (assoc-ref xinputs "iverilog"))
+  (iverilog (string-append xdirname "/bin/iverilog")))
+ (substitute* '("./manual/CHAPTER_StateOfTheArt/synth.sh"
+
"./manual/CHAPTER_StateOfTheArt/validate_tb.sh"
+"./techlibs/ice40/tests/test_bram.sh"
+"./techlibs/ice40/tests/test_ffs.sh"
+"./techlibs/xilinx/tests/bram1.sh"
+"./techlibs/xilinx/tests/bram2.sh"
+"./tests/bram/run-single.sh"
+"./tests/realmath/run-test.sh"
+"./tests/simple/run-test.sh"
+"./tests/techmap/mem_simple_4x1_runtest.sh"
+"./tests/tools/autotest.sh"
+"./tests/vloghtb/common.sh")
+(("if ! which iverilog") "if ! true")
+(("iverilog ") (string-append iverilog " "))
+(("iverilog_bin=\".*\"") (string-append 
"iverilog_bin=\""
+iverilog
+"\"")
+;; TODO add xdot [patch the path to it here] as soon as I find out where 
it is.
+(native-inputs
+ `(("pkg-config" ,pkg-config)
+   ("python" ,python)
+   ("bison" ,bison)
+   ("flex" ,flex)
+   ("gawk" , gawk) #| for the tests and "make" progress pretty-printing |#
+   ("tcl" ,tcl) ; tclsh for the tests
+   ("iverilog" ,iverilog) ; for the tests
+   ; FIXME provide "which"
+   #| ("perl" ,perl) |# #| for a few tests |#))
+(inputs
+ `(("tcl" ,tcl)
+   ("readline" ,readline)
+   ("libffi" ,libffi)
+   ("abc" ,abc)))
+(home-page "http://www.clifford.at/yosys/";)
+(synopsis "FPGA Verilog RTL Synthesizer")
+(description "Yosys synthesizes Verilog-2005.")
+(license license:isc)))



Re: [PATCH] Read /etc/environment first to allow changing environment from user profile

2016-07-27 Thread Tobias Geerinckx-Rice
Hi Danny,

On 27/07/2016 18:31, Danny Milosavljevic wrote:
>> while read line; do export "$line"; done < /etc/environment
>> 
>> I don't know if Guix even cares about non-bash shells, but this 
>> should™ work in all POSIX®-compliant ones[4]. It's also more 
>> readable.
>> 
>> Thoughts? Gotchas?
> 
> Spaces in keys and/or values don't work that way.
> The read itself already has problems with them.

No. Perhaps you're confusing it with ‘read < /etc/environment’.

Also, there are no spaces in keys, and technically, spaces in values
work just fine: it's the quotes that don't get dropped. D'oh! :-P

Yeah, trying to emulate unquoting (and all manner of escaping that it
entails) would be utter madness. Uglier option [2] it is then:

  . /etc/environment
  while read line; export "${line%%=*}"; done < /etc/environment

It's ugly and racy and less straightforward.
But then so was the original, I guess.

> You might try setting IFS="
> " but not sure whether that's standards-compliant.

Setting IFS to a newline doesn't make sense here.

To be honest, I've a personal dislike for IFS, though it is
POSIX-compliant. Saving IFS, setting IFS to ‘=’, running ‘read key
value’, ignoring ‘value’, and restoring IFS would work.

> Also, does csh actually support "export"? The one I have in Solaris 
> doesn't. You need to do "setenv" there.

csh isn't a (POSIX) sh.

Thanks for the bug spotting,

T G-R

[1]: It seems to be standard, but I didn't bother testing.

> On 27/07/2016 18:02, Tobias Geerinckx-Rice wrote:
> [2]: even if it didn't, section 2.6.2 of [3] has got you covered
> [3]:
http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html



Re: guix package modif testing

2016-07-27 Thread Vincent Legoll
On Wed, Jul 27, 2016 at 7:02 PM, Andreas Enge  wrote:
> PS: 
> https://www.gnu.org/software/guix/manual/guix.html#Running-Guix-Before-It-Is-Installed

The title of this chapter made me first completely skip it because I
*have* guix installed,
as I'm running guixSD... I read that page (probably multiple times in
the last few days) but
I still don't get it...

-- 
Vincent Legoll



Re: [PATCH] Read /etc/environment first to allow changing environment from user profile

2016-07-27 Thread Tobias Geerinckx-Rice
On 27/07/2016 19:18, Tobias Geerinckx-Rice wrote:
> [1]: It seems to be standard, but I didn't bother testing.

Ignore this forgotten line. I couldn't help myself and did bother.
Unfortunately, it worked.



translation intermediate files

2016-07-27 Thread Vincent Legoll
Hello shouldn't we add

po/guix/*.po
po/packages/*.po

in .gitignore ?

-- 
Vincent Legoll



Re: Call for screencasts!

2016-07-27 Thread Mathieu Lirzin
l...@gnu.org (Ludovic Courtès) writes:

> l...@gnu.org (Ludovic Courtès) skribis:
>
>> I’d like a video of at most 5 minutes to put on the home page that would
>> showcase, for example (with explanations in English; bonus points if you
>> have a good mic and are a native speaker ;-)):
>>
>>   1. The usual ‘guix package’ commands;
>>   2. the Emacs interface, briefly (like the generation diff);
>>   3. ‘guix environment’, including with ‘--container’;
>>   4. ‘guix system vm’ and the declarative OS configuration.
>
> I tried to extend my skill set, and made this, ahem, wonderful video:
>
>   http://web.fdn.fr/~lcourtes/tmp/guix-demo.ogv (4 MiB)
>   http://web.fdn.fr/~lcourtes/tmp/guix-demo.gif (24 MiB!)

Amazing!

> It’s 1mn15s long and only shows #1, but I thought it’s a good start as
> something to replace the 50mn video currently on the front page.
>
> What do people think?

This is definitely a good idea.

-- 
Mathieu Lirzin



Re: translation intermediate files

2016-07-27 Thread Tobias Geerinckx-Rice
Hi Vincent,

On 27/07/2016 19:25, Vincent Legoll wrote:
> Hello shouldn't we add
> po/guix/*.po
> po/packages/*.po
> in .gitignore ?

Why, exactly? Those files contain human-generated translations.
Machine-generated files (*.gmo, *.mo) are already .gitignored.

Kind regards,

T G-R



Re: translation intermediate files

2016-07-27 Thread Vincent Legoll
>> Hello shouldn't we add
>> po/guix/*.po
>> po/packages/*.po
>> in .gitignore ?
>
> Why, exactly? Those files contain human-generated translations.
> Machine-generated files (*.gmo, *.mo) are already .gitignored.

My bad, I was asking because they appeared after a build, so I thought
they were generated...

-- 
Vincent Legoll



[PATCH] Add sshpass

2016-07-27 Thread Nicolas Goaziou
Hello,

Here is a patch adding sshpass.


Regards,

-- 
Nicolas Goaziou0x80A93738
>From 4175eaf2f440738ca29755f61de31383f3b4c506 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou 
Date: Wed, 27 Jul 2016 19:45:02 +0200
Subject: [PATCH] gnu: Add sshpass.

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

diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm
index 61a6a5b..c9ca87f 100644
--- a/gnu/packages/ssh.scm
+++ b/gnu/packages/ssh.scm
@@ -492,3 +492,23 @@ providing shell access to the server system from the client.  It provides
 both the server daemon and the client application, as well as tools for
 manipulating key files.")
 (license license:gpl2+)))
+
+(define-public sshpass
+  (package
+(name "sshpass")
+(version "1.06")
+(synopsis "Non-interactive password authentication with SSH")
+(home-page "https://sourceforge.net/projects/sshpass/";)
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append "mirror://sourceforge/sshpass/sshpass/"
+   version "/sshpass-" version ".tar.gz"))
+   (sha256
+(base32
+ "0q7fblaczb7kwbsz0gdy9267z0sllzgmf0c7z5c9mf88wv74ycn6"
+(build-system gnu-build-system)
+(description "sshpass is a tool for non-interactivly performing
+password authentication with SSH's so called ``interactive keyboard
+password authentication''.")
+(license license:gpl2+)))
-- 
2.8.4



failing swap service while guix system reconfigure

2016-07-27 Thread ng0
Like the title says, I encountered this problem for a good long time
until I found out that
"Have you tried turning it off and on again?"
…or in this case:

sudo swapon /dev/sda3 ; sudo swapoff /dev/sda3

"fixed" it.

Is this a unique case? I did not reconfigure the system for about 2
months or more. The error I got was not obvious at first - something
with swap, but nothing which would tell me turning it on and off again
would be "the" solution.

Should I open a bug, just in case this wasn't random glitching?
-- 
♥Ⓐ  ng0
Current Keys: https://we.make.ritual.n0.is/ng0.txt
For non-prism friendly talk find me on http://www.psyced.org



Re: translation intermediate files

2016-07-27 Thread Tobias Geerinckx-Rice
Vincent,

On 27/07/2016 19:42, Vincent Legoll wrote:
> My bad, I was asking because they appeared after a build, so I thought
> they were generated...

No, you're (also) right. They're a bit of both.

The English source lines can be auto-updated when building, but the
translated lines come from hard-working humans at the Translation
Project, so we can't just .gitignore the whole file.

I'm sure someone will correct me if I'm wrong.

If modified .po files are stopping you from performing certain git
operations, running ‘git reset --hard’ should get rid of them and touch
the files so they don't get updated again. Only do this after committing
any changes you may have made by hand, if any.

Kind regards,

T G-R



Re: [PATCH] Add sshpass v2

2016-07-27 Thread Nicolas Goaziou
I forgot to add myself to the Hall of Fame. Here is v2.

>From c43bddaf22e3bc81c1e42180962c36279f5bf49c Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou 
Date: Wed, 27 Jul 2016 19:45:02 +0200
Subject: [PATCH] gnu: Add sshpass.

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

diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm
index 61a6a5b..2f85c40 100644
--- a/gnu/packages/ssh.scm
+++ b/gnu/packages/ssh.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2014, 2015, 2016 Mark H Weaver 
 ;;; Copyright © 2015, 2016 Efraim Flashner 
 ;;; Copyright © 2016 Leo Famulari 
+;;; Copyright © 2016 Nicolas Goaziou 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -492,3 +493,23 @@ providing shell access to the server system from the client.  It provides
 both the server daemon and the client application, as well as tools for
 manipulating key files.")
 (license license:gpl2+)))
+
+(define-public sshpass
+  (package
+(name "sshpass")
+(version "1.06")
+(synopsis "Non-interactive password authentication with SSH")
+(home-page "https://sourceforge.net/projects/sshpass/";)
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append "mirror://sourceforge/sshpass/sshpass/"
+   version "/sshpass-" version ".tar.gz"))
+   (sha256
+(base32
+ "0q7fblaczb7kwbsz0gdy9267z0sllzgmf0c7z5c9mf88wv74ycn6"
+(build-system gnu-build-system)
+(description "sshpass is a tool for non-interactivly performing
+password authentication with SSH's so called ``interactive keyboard
+password authentication''.")
+(license license:gpl2+)))
-- 
2.8.4


Regards,


[PATCH] gnu: calibre: Update to 2.63.0

2016-07-27 Thread Alex Griffin
This patch updates calibre to 2.63.0. I had to update one of the patches
as well to get it to apply. It also removes a dependency on ImageMagick,
which hasn't been necessary since 2.57.1.
-- 
Alex Griffin
From 94adb22e4751392755b6052f11ee69a22b763998 Mon Sep 17 00:00:00 2001
From: Alex Griffin 
Date: Tue, 26 Jul 2016 12:26:25 -0500
Subject: [PATCH] gnu: calibre: Update to 2.63.0.

* gnu/packages/ebook.scm (calibre): Update to 2.63.0.
[inputs]: Remove unnecessary imagemagick dependency.
[phases]: Use modify-phases.

* gnu/packages/patches/calibre-drop-unrar.patch: Update
for new version.
---
 gnu/packages/ebook.scm| 14 
 gnu/packages/patches/calibre-drop-unrar.patch | 48 +++
 2 files changed, 26 insertions(+), 36 deletions(-)

diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm
index d97e869..ad18716 100644
--- a/gnu/packages/ebook.scm
+++ b/gnu/packages/ebook.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015, 2016 Andreas Enge 
 ;;; Copyright © 2016 Efraim Flashner 
+;;; Copyright © 2016 Alex Griffin 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -31,7 +32,6 @@
   #:use-module (gnu packages glib)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages image)
-  #:use-module (gnu packages imagemagick)
   #:use-module (gnu packages libusb)
   #:use-module (gnu packages pdf)
   #:use-module (gnu packages pkg-config)
@@ -61,7 +61,7 @@
 (define-public calibre
   (package
 (name "calibre")
-(version "2.62.0")
+(version "2.63.0")
 (source
   (origin
 (method url-fetch)
@@ -70,7 +70,7 @@
 version ".tar.xz"))
 (sha256
  (base32
-  "15qskfsdg3fy9cpw1m3mccwgn45366yn7lci5kim0fdzpw9pnkna"))
+  "1rwgv6rsmy3ljfwcpv42w203ghngw86s5kzb0yjm1zgsxmas2wh6"))
 ;; Remove non-free or doubtful code, see
 ;; https://lists.gnu.org/archive/html/guix-devel/2015-02/msg00478.html
 (modules '((guix build utils)))
@@ -102,7 +102,6 @@
("fontconfig" ,fontconfig)
("glib" ,glib)
("icu4c" ,icu4c)
-   ("imagemagick" ,imagemagick)
("libmtp" ,libmtp)
("libpng" ,libpng)
("libusb" ,libusb)
@@ -128,16 +127,15 @@
#:test-target "check"
#:tests? #f ; FIXME: enable once flake8 is packaged
#:phases
- (alist-cons-before
-  'build 'configure
+   (modify-phases %standard-phases
+ (add-before 'build 'configure
   (lambda* (#:key inputs #:allow-other-keys)
 (let ((podofo (assoc-ref inputs "podofo"))
   (pyqt (assoc-ref inputs "python2-pyqt")))
   (substitute* "setup/build_environment.py"
 (("sys.prefix") (string-append "'" pyqt "'")))
   (setenv "PODOFO_INC_DIR" (string-append podofo "/include/podofo"))
-  (setenv "PODOFO_LIB_DIR" (string-append podofo "/lib"
-  %standard-phases)))
+  (setenv "PODOFO_LIB_DIR" (string-append podofo "/lib"
 (home-page "http://calibre-ebook.com/";)
 (synopsis "E-book library management software")
 (description "Calibre is an ebook library manager.  It can view, convert
diff --git a/gnu/packages/patches/calibre-drop-unrar.patch b/gnu/packages/patches/calibre-drop-unrar.patch
index 6b7a9f4..4eb6440 100644
--- a/gnu/packages/patches/calibre-drop-unrar.patch
+++ b/gnu/packages/patches/calibre-drop-unrar.patch
@@ -1,4 +1,4 @@
-Taken from Debian.
+Taken from Debian. Updated by Alex Griffin.
 
 Author: Dmitry Shachnev 
 Description: do not build unrar extension as we strip unrar from the tarball
@@ -7,37 +7,29 @@ Last-Update: 2013-04-04
 
 Index: calibre/setup/extensions.py
 ===
 calibre.orig/setup/extensions.py	2014-02-02 10:42:14.510954007 +0100
-+++ calibre/setup/extensions.py	2014-02-02 10:42:14.502954007 +0100
-@@ -209,24 +209,6 @@
- sip_files=['calibre/ebooks/pdf/render/qt_hack.sip']
- ),
- 
--Extension('unrar',
--  ['unrar/%s.cpp'%(x.partition('.')[0]) for x in '''
--   rar.o strlist.o strfn.o pathfn.o savepos.o smallfn.o global.o file.o
--   filefn.o filcreat.o archive.o arcread.o unicode.o system.o
--   isnt.o crypt.o crc.o rawread.o encname.o resource.o match.o
--   timefn.o rdwrfn.o consio.o options.o ulinks.o errhnd.o rarvm.o
--   secpassword.o rijndael.o getbits.o sha1.o extinfo.o extract.o
--   volume.o list.o find.o unpack.o cmddata.o filestr.o scantree.o
--   '''.split()] + ['calibre/utils/unrar.cpp'],
--  inc_dirs=['unrar'],
--  cflags=[('/' if iswindows else '-') + x for x in (
--  'DSILENT', 'DRARDLL', 'DUNRAR')] + (
--  [] if iswindows else ['-D_FILE_OFFSET_BITS=64',
--

Re: core-updates, next release, and all that

2016-07-27 Thread Andreas Enge
On Wed, Jul 27, 2016 at 06:27:12PM +0200, Andreas Enge wrote:
> Indeed. After disabling this one test, the package builds on my mips machine.
> I pushed and will start a new evaluation of core-updates.

Drawback: This essentially recompiles all of core-updates. If we consider
mips64el as a "release critical" architecture in Debian parlance, I would
say we have no choice. Otherwise, we could also revert my commit and merge
core-updates now.

Andreas




Re: guix package modif testing

2016-07-27 Thread Alex Vong
Hi Vincent,

Vincent Legoll  writes:

>> .config/guix/latest is itself a link into /gnu/store/..., so cannot be
>> changed. You should work with a git checkout - so do a "git pull", not
>> a "guix pull"!
>
> The thing I still miss is that: how do I make guix use a different git
> checkout ?
>
> Is there a GUIX_CHECKOUT_PATH env var, a CLI parameter, or
> ./boostrap & ./pre-inst-env done in the checkout does all the magic ?

I think you are confusing the system you are running (Guix SD) and the
system you are developing (the Guix git repo). `.config/guix/latest' is
part of the your running system, so it is not the place you want to
experiment with changes. To develop Guix, you need to clone its git repo
by running:

  $ git clone git://git.savannah.gnu.org/guix.git

Then, you can `cd' into the cloned repo and start running the
`./boostrap' stuffs and so on...
In case you are new to git, you can read the git book
(https://git-scm.com/book/en/v2) or simply search for it on the
Internet, Stackoverflow is the place where I learn most of git.

Cheers,
Alex



guix bootloader selection - wip patch

2016-07-27 Thread Danny Milosavljevic
Hi,

so far I came up with the patch to Guix below for the actual bootloader 
selection.

Some places are still broken. Search for "FIXME" below.

For example I need a way to find out what the bootloader config file is 
supposed to be called in the new routine 'install-bootloader . It will get 
(derivation->output-path bootloader-configuration-file) as argument. Given it, 
can I still find out whether the filename is "grub.cfg" or "extlinux.conf"? Is 
that safe enough?

diff --git a/gnu.scm b/gnu.scm
index 932e4cd..9207e38 100644
--- a/gnu.scm
+++ b/gnu.scm
@@ -35,6 +35,7 @@
 (gnu system mapped-devices)
 (gnu system file-systems)
 (gnu system grub) ; 'grub-configuration'
+(gnu system u-boot)   ; 'u-boot-configuration'
 (gnu system pam)
 (gnu system shadow)   ; 'user-account'
 (gnu system linux-initrd)
diff --git a/gnu/build/install.scm b/gnu/build/install.scm
index aebf38c..b799e00 100644
--- a/gnu/build/install.scm
+++ b/gnu/build/install.scm
@@ -21,7 +21,7 @@
   #:use-module (guix build store-copy)
   #:use-module (srfi srfi-26)
   #:use-module (ice-9 match)
-  #:export (install-grub
+  #:export (install-bootloader
 populate-root-file-system
 reset-timestamps
 register-closure
@@ -36,27 +36,48 @@
 ;;;
 ;;; Code:
 
-(define* (install-grub grub.cfg device mount-point)
-  "Install GRUB with GRUB.CFG on DEVICE, which is assumed to be mounted on
-MOUNT-POINT.
-
-Note that the caller must make sure that GRUB.CFG is registered as a GC root
-so that the fonts, background images, etc. referred to by GRUB.CFG are not
-GC'd."
-  (let* ((target (string-append mount-point "/boot/grub/grub.cfg"))
- (pivot  (string-append target ".new")))
+(define* (install-bootloader-config source target)
+  (let* ((pivot  (string-append target ".new")))
 (mkdir-p (dirname target))
 
-;; Copy GRUB.CFG instead of just symlinking it, because symlinks won't
+;; Copy bootloader config file instead of just symlinking it, because 
symlinks won't
 ;; work when /boot is on a separate partition.  Do that atomically.
-(copy-file grub.cfg pivot)
-(rename-file pivot target)
+(copy-file source pivot)
+(rename-file pivot target)))
 
-(unless (zero? (system* "grub-install" "--no-floppy"
+;; TODO split install-bootloader-config off completely?
+(define* (install-grub grub.cfg device mount-point)
+  "Install bootloader with GRUB.CFG on DEVICE, which is assumed to be
+mounted on MOUNT-POINT.
+
+Note that the caller must make sure that GRUB.CFG is registered as a GC root 
so that
+the fonts, background images, etc. referred to by GRUB.CFG are not GC'd."
+(install-bootloader-config grub.cfg
+   (string-append mount-point
+  "/boot/grub/grub.cfg"))
+(unless (zero? (system* "grub-install"
+"--no-floppy"
 "--boot-directory"
 (string-append mount-point "/boot")
 device))
-  (error "failed to install GRUB"
+  (error "failed to install GRUB")))
+
+(define* (install-u-boot extlinux.conf device mount-point)
+  "Install U-Boot with EXTLINUX.CONF on DEVICE, which is assumed to be mounted 
on
+MOUNT-POINT. FIXME is that correct?"
+(install-bootloader-config extlinux.conf
+   (string-append mount-point
+  "/extlinux.conf"))
+(unless (zero? (system* "u-boot-install"
+(string-append "--boot-directory=" mount-point)
+device))
+  (error "failed to install U-Boot")))
+
+(define* (install-bootloader config-filename device mount-point)
+  "Install bootloader with CONFIG-FILENAME on DEVICE, which is assumed to be
+mounted on MOUNT-POINT."
+  ; FIXME install-u-boot match
+  (install-grub config-filename device mount-point))
 
 (define (evaluate-populate-directive directive target)
   "Evaluate DIRECTIVE, an sexp describing a file or directory to create under
diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm
index cc5cf45..c81e437 100644
--- a/gnu/build/vm.scm
+++ b/gnu/build/vm.scm
@@ -287,18 +287,20 @@ SYSTEM-DIRECTORY is the name of the directory of the 
'system' derivation."
 (unless register-closures?
   (reset-timestamps target
 
-(define (register-grub.cfg-root target grub.cfg)
-  "On file system TARGET, register GRUB.CFG as a GC root."
+(define (register-bootloader-configuration-file-root target 
bootloader-configuration-filename)
+  "On file system TARGET, register BOOTLOADER-CONFIGURATION-FILENAME as a GC 
root."
   (let ((directory (string-append target "/var/guix/gcroots")))
 (mkdir-p directory)
-(symlink grub.cfg (string-append directory "/grub.cfg"
+; FIXME fix grub.cfg
+(symlink bootloader-configu

Re: [PATCH] gnu: calibre: Update to 2.63.0

2016-07-27 Thread Roel Janssen

Alex Griffin writes:

> This patch updates calibre to 2.63.0. I had to update one of the patches
> as well to get it to apply. It also removes a dependency on ImageMagick,
> which hasn't been necessary since 2.57.1.

I've built the calibre package with this patch applied and it works.
The updated patch to remove unrar looks fine to me.  Thanks!

During the build process I noticed many deprecation warnings like:
sip: Deprecation warning:
/gnu/store/mfz1g4cl31zqfbrvazbcmlrsn7m63w5v-python2-pyqt-5.5/share/sip//QtGui/qgenericmatrix.sip:1148:
/DocType/ is deprecated

These seem to be python2-pyqt-5.5 related, and not related to this
package.  So I believe this is OK to push.

Thanks a lot!

Kind regards,
Roel Janssen



Re: [PATCH] gnu: Add mono.

2016-07-27 Thread Jan Nieuwenhuizen
Leo Famulari writes:

> On Fri, Jul 15, 2016 at 09:32:43PM +0200, Jan Nieuwenhuizen wrote:
>> Subject: [PATCH] gnu: Add mono.
>> 
>> * gnu/packages/mono.scm: New file.
>> * gnu/packages/local.mk (GNU_SYSTEM_MODULES): Add it.
>
> Thank you!
>
> I assume this mono is working for you? I'm wondering if the problems
> requiring skipped tests hide a larger problem or if it's benign.

It is working for me.  I am using for a quite narrow range of
non-graphical applications running formally verified code.  So on the
one hand I know that it's running and correct, on the other hand I'm
probably running/testing only a small fraction of mono.

> Do you know if mono is supposed to work on all of our architectures? Or,
> should we disable it on some of them?

I don't really know, but given that it's a re-implementation of Java, I
can only assume it's also write once, debug everywhere.

>> +  (snippet
>
> Did you try doing these substitutions in a build phase? The origin
> snippet affects what you get from `guix build --source mono`, so we tend
> to reserve it for removing non-free components, so that we don't
> distribute things that we don't have a right to distribute.

I didn't know, thanks.  I have moved these to the build phase.

>> +  ;; tests fail, trying to access $HOME
>> +  (substitute* "mcs/class/Makefile"
>> +(("^include ../build/rules.make" all)
>> + (string-append
>> +  all
>> +  "\nrun-test-recursive:\n\t@echo skipping tests\n")))
>
> After moving this into a build phase, there could be a prior phase
> 'set-env' that just sets $HOME to '/tmp'. Can you check if that works?

I added that phase and removed this toplevel disabling of
mcs/class/Makefile and went up to adding individual thee failing tests
like so

 (substitute*
  '("mcs/tools/sqlmetal/Makefile"
"mcs/class/Microsoft.Build.Tasks/Makefile"
"mcs/class/Microsoft.Build/Makefile"
"mcs/class/corlib/Makefile"
"mcs/class/System/Makefile"
"mcs/class/System.XML/Makefile"
"mcs/class/System.Configuration/Makefile"
"mcs/class/System.IO.Compression/Makefile"
"mcs/class/System.IO.Compression.FileSystem/Makefile"
"mcs/class/System.Drawing/Makefile")
   (("^include ../../build/rules.make" all)
(string-append
 "NO_TEST:=true\n"
 all
 "\nrun-test-lib:\n\t@echo skipping test\n")))
   
and then gave up, and reverted to disabling all mcs/class tests again.

>> +(build-system gnu-build-system)
>> +(native-inputs
>> + `(("gettext" ,gnu-gettext)
>> +   ("glib" ,glib)
>
> I notice many uses of glib:bin rather than the full glib output. But,
> to be honest, I don't understand the distinction ;)

glib:bin only holds the executables sometimes needed during build.  Mono
uses the glib shared library, so bin won't do.

>> + ;; these 3 tests fail
>> + `(#:make-flags
>> +   `(,(string-append "PLATFORM_DISABLED_TESTS="
>> + " appdomain-unload.exe"
>> + " delegate2.exe"
>> + " finally_guard.exe"
>> + " remoting4.exe"))
>
> 4 tests?

Thanks, 4.

>
>> +   #:parallel-tests? #f))
>
> Parallel testing is not supported? Let's add a comment.

Done.

>> +(home-page "http://mono-project.org/";)
>
> s/org/com/

Done.

Find a new patch attached.

Greetings,
Jan

>From 2aca1448350238fa795be65b71eeb592fea8 Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen 
Date: Wed, 13 Jul 2016 14:47:55 +0200
Subject: [PATCH] gnu: Add mono.

* gnu/packages/mono.scm: New file.
* gnu/packages/local.mk (GNU_SYSTEM_MODULES): Add it.
---
 gnu/local.mk  |   1 +
 gnu/packages/mono.scm | 109 ++
 2 files changed, 110 insertions(+)
 create mode 100644 gnu/packages/mono.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index 3a0d5c2..dfc038f 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -236,6 +236,7 @@ GNU_SYSTEM_MODULES =\
   %D%/packages/mg.scm\
   %D%/packages/mit-krb5.scm			\
   %D%/packages/moe.scm\
+  %D%/packages/mono.scm\
   %D%/packages/moreutils.scm			\
   %D%/packages/mpd.scm\
   %D%/packages/mp3.scm\
diff --git a/gnu/packages/mono.scm b/gnu/packages/mono.scm
new file mode 100644
index 000..75e39af
--- /dev/null
+++ b/gnu/packages/mono.scm
@@ -0,0 +1,109 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2016 Jan Nieuwenhuizen 
+;;;
+;;; 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 opt

Re: Package API compatibility and guix package variable names

2016-07-27 Thread Danny Milosavljevic
Hi Andreas,

On Wed, 27 Jul 2016 18:19:18 +0200
Andreas Enge  wrote:

>It is our common practice to not re-encode the version into the name: Usually 
>the unnumbered name simply stands for the latest version

That's unfortunate. I can live with it - but there is a reason the API major 
versions are usually encoded there. Otherwise it's not possible to ever make a 
clean API break and be safe with it.

Just to make sure: I'm not saying the API major number should absolutely be 
part of the name, I'm saying there should be version bounds for all the inputs 
of packages.

> In this way, updating dependencies becomes easier: Most of the time, a later 
> version of a dependency will work. 

Then there would have been no reason to update the API major number in the 
first place. Of course I can think of scenarios where it would work regardless 
- for example if the package used only a subset of the entire functionality, it 
could be that this subset is still compatible.

Python 3 is an example - few Python 2 programs will work on Python 3 without 
changes - so it makes no sense to "autoupdate" a Python 2 package to a Python 3 
interpreter in isolation. Of course, if you are lucky, you can find some subset 
where it happens to work by accident.

When Python 4 is released, a similar argument can be made.

>To follow your suggestion, we would ultimately add the soname of libraries to 
>package names, 

Only the part that is the API (in)compatibility version number - but yes.

> and then whenever some package is updated, all packages depending on it would 
> need to have
> their inputs rewritten. 

Hopefully after checking whether the new API actually still does the right 
thing for it...

Thanks, good to know the common practice.



Re: [PATCH] Read /etc/environment first to allow changing environment from user profile

2016-07-27 Thread Ludovic Courtès
Hi,

csanchez...@gmail.com (Carlos Sánchez de La Lama) skribis:

> as reported in bug #22175, lshd does not honor /etc/environment. This
> was fixed here:
>
> http://git.savannah.gnu.org/cgit/guix.git/commit/gnu/system.scm?id=2a5f0db4c45679cac6a747a48993fe73982cadca
>
> However, the order in /etc/profile is problematic: some variables are
> set up by "$HOME/.guix-profile/etc/profile", but then they get (wrongly)
> overriden by the values in /etc/environment. In my case, this happens
> with SSL_CERT_DIR, which has the value
>
> /home/csanchez/.guix-profile/etc/ssl/certs:/etc/ssl/certs
>
> then logging in locally, but only
>
> /etc/ssl/certs
>
> when logging in from lshd.

Indeed, good catch!

> I attach the proposed patch (just a change of order in /etc/profile). As
> 'cat' and 'cut' ar most surely available at system-level, it should not
> be dangerous to use them before setting up the user profile.

Yes.

Tobias: if you want to avoid the ‘cut’ invocation, feel free to send
another patch.  :-)

> From 474e8980ee933e6694cc55ca61607adae86dacf1 Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?Carlos=20S=C3=A1nchez=20de=20La=20Lama?=
>  
> Date: Wed, 27 Jul 2016 14:27:00 +0200
> Subject: [PATCH] Read /etc/environment first to allow changing environment
>  from user profile.
>

I tested in ‘guix system vm’ and it seems to work as expected.  Pushed
as cad7e6abafc14de220265e09a0fc4bbd96664599 with a commit log that
follows our conventions.

Thank you!

Ludo’.



Re: [PATCH] gnu: magit: Fix interactive rebase.

2016-07-27 Thread Alex Griffin
On Wed, Jul 27, 2016, at 03:21 AM, Alex Kost wrote:
> Since this fix is not really for the "interactive rebase" itself (I mean
> what is bound to "r i"), but for the other rebase commands, I changed
> the commit message and applied the patch as 46bd45152¹, thanks!

Ah, somehow I thought it affected all of the rebase commands. I should
have known someone would have caught it if it did.
-- 
Alex Griffin



Re: Package API compatibility and guix package variable names

2016-07-27 Thread Andreas Enge
Hello,

just replying to part of your message, since I think there might be a
misunderstanding:

On Wed, Jul 27, 2016 at 11:06:15PM +0200, Danny Milosavljevic wrote:
> Just to make sure: I'm not saying the API major number should absolutely be 
> part of the name, I'm saying there should be version bounds for all the 
> inputs of packages.

The inputs of our packages are absolutely precise: They are given as scheme
variables (which are, in a sense, a moving target, since their content
changes over time; but they are completely fixed at any given point in time).
So we have no way of saying, like in many other distributions, that the input
is any "python >= 2 and < 3"; in fact, we are always saying "use exactly
this Python, with this source, build system, inputs, etc.".

If a package x has as input "python", this is the scheme variable of this name,
which, in my current git tree, refers to a package containing Python 3.4.3,
and nothing else. Another package y may have as input "python-2", which is a
scheme variable containing currently Python 2.7.10. In core-updates, we
updated python-2 to contain Python 2.7.11. So the input to package y,
compiled in core-updates, is still called "python-2", but has actually
changed. The variable names are just conventions; and it is almost a pure
coincidence that they usually are the same as the "name" field of the
package record :-)

But maybe I simply misunderstood your comment. Anyway, upgrading has been
working generally well so far. Also, it is not always easy to determine
whether APIs are compatible or not, since they are not necessarily tied
to major versions of the software. For instance, I think that anything
(or almost) written for gmp-4 still compiles with gmp-5 or 6. But this
requires some familiarity with the code, which I have in this case since
I am following the gmp development. Apart from that, we have thousands of
packages now, some of which are probably not familiar to anybody. I know
that I packaged software of which I did not even understand the description,
just because it was a prerequisite for something I am interested in...

Andreas




Re: [PATCH] gnu: calibre: Update to 2.63.0

2016-07-27 Thread Roel Janssen

Roel Janssen writes:

> Alex Griffin writes:
>
>> This patch updates calibre to 2.63.0. I had to update one of the patches
>> as well to get it to apply. It also removes a dependency on ImageMagick,
>> which hasn't been necessary since 2.57.1.
>
> I've built the calibre package with this patch applied and it works.
> The updated patch to remove unrar looks fine to me.  Thanks!
>
> During the build process I noticed many deprecation warnings like:
> sip: Deprecation warning:
> /gnu/store/mfz1g4cl31zqfbrvazbcmlrsn7m63w5v-python2-pyqt-5.5/share/sip//QtGui/qgenericmatrix.sip:1148:
> /DocType/ is deprecated
>
> These seem to be python2-pyqt-5.5 related, and not related to this
> package.  So I believe this is OK to push.
>
> Thanks a lot!

I pushed it.

Kind regards,
Roel Janssen



[PATCH] gnu: Add asciinema.

2016-07-27 Thread Alex Griffin
This patch adds asciinema, a tool for recording and sharing terminal
sessions.
-- 
Alex Griffin
From 56dfd86e92c86d2f816b9b0f6f71330cecbc2caf Mon Sep 17 00:00:00 2001
From: Alex Griffin 
Date: Wed, 27 Jul 2016 16:22:32 -0500
Subject: [PATCH] gnu: Add asciinema.

* gnu/packages/terminals.scm (asciinema): New variable.
---
 gnu/packages/terminals.scm | 38 ++
 1 file changed, 38 insertions(+)

diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm
index ee36f64..98f0060 100644
--- a/gnu/packages/terminals.scm
+++ b/gnu/packages/terminals.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015 Efraim Flashner 
 ;;; Copyright © 2016 Mckinley Olsen 
+;;; Copyright © 2016 Alex Griffin 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -21,6 +22,7 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix build utils)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system python)
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix packages)
@@ -30,6 +32,7 @@
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages python)
   #:use-module (gnu packages wm)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages gtk)
@@ -121,3 +124,38 @@ insert mode and command mode where keybindings have different functions.")
 
 ;; Files under util/ are under the Expat license; the rest is LGPLv2+.
 (license license:lgpl2.0+)))
+
+(define-public asciinema
+  (package
+(name "asciinema")
+(version "1.3.0")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "https://pypi.python.org/packages/06/96/93947d9be78aebb7985014fdf";
+ "4d84896dd0f62514d922ee03f5bb55a21fb/asciinema-" version
+ ".tar.gz"))
+   (sha256
+(base32
+ "1crdm9zfdbjflvz1gsqvy5zsbgwdfkj34z69kg6h5by70rrs1hdc"
+(build-system python-build-system)
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (add-before 'build 'patch-exec-paths
+   (lambda* (#:key inputs #:allow-other-keys)
+ (let ((ncurses (assoc-ref inputs "ncurses")))
+   (substitute* "asciinema/recorder.py"
+ (("'tput'")
+  (string-append "'" ncurses "/bin/tput'"
+ #t)
+(inputs `(("ncurses" ,ncurses)
+  ("python-setuptools" ,python-setuptools)))
+(home-page "https://asciinema.org";)
+(synopsis "Terminal session recorder")
+(description
+ "Use asciinema to record and share your terminal sessions, the right way.
+Forget screen recording apps and blurry video.  Enjoy a lightweight, purely
+text-based approach to terminal recording.")
+(license license:gpl3)))
-- 
2.9.2



Re: Separate Mailing Lists for Patches vs General Dev Discussion?

2016-07-27 Thread Ludovic Courtès
Hi,

Vincent Legoll  skribis:

> But resurrection & real use of patchwork (or any other consensus
> web tracker) would be a plus for at least some of us newcomers
> from different horizons.

The instance at  is
not widely used, it seems.  Part of the problem is that it often does
not automatically detect whether a patch has already been committed
(requiring manual intervention), and does not recognize patch series and
revisions.

Newer versions of Patchwork fix the latter, as can be seen at
.  Not sure about the
former.

Maybe we could register at ozlabs.org to see the difference?

> I can understand the repulsion against some of them, but a PR-like
> enabled one could ease the on-boarding of new contributors. So if
> it's acceptable to committers, why not try to use one a bit more
> regularly ?

Some of us prefer an email-based workflow, though there’s no consensus.
I’ve tried to look for tools that would allow not only email but also a
CLI or Web UI, as you might have seen in the ML archive, but to no
avail.  So, concrete suggestions are welcome.  :-)

Thanks,
Ludo’.



Re: core-updates, next release, and all that

2016-07-27 Thread Ludovic Courtès
Andreas Enge  skribis:

> On Wed, Jul 27, 2016 at 06:27:12PM +0200, Andreas Enge wrote:
>> Indeed. After disabling this one test, the package builds on my mips machine.
>> I pushed and will start a new evaluation of core-updates.
>
> Drawback: This essentially recompiles all of core-updates.

Not OK.

> If we consider mips64el as a "release critical" architecture in Debian
> parlance, I would say we have no choice. Otherwise, we could also
> revert my commit and merge core-updates now.

What about reverting, and instead modifying in a mips64el conditional?
As in:

  (arguments
`(#:phases (modify-phases %standard-phases
 ,@(if (string-prefix? "mips64el" (%current-system))
   '((add-before 'check 'disable-the-thing …))
   '())
 …)))

Ludo’.



Re: [PATCH 4/7] gnu: Add spice-gtk.

2016-07-27 Thread Ludovic Courtès
Hi David,

David Craven  skribis:

> I'm not sure if you still expect me to do something and what that is exactly.

Oops, I thought Leo was taking care of this patch series.  Leo?

> But maybe we shouldn't propagate pkg-config inputs.

Not sure what you mean.  As I wrote, if the .pc Requires another .pc,
then the required thing must be propagated.

Ludo’.



Re: Odd behavior with --dry-run and --upgrade

2016-07-27 Thread Ludovic Courtès
Alex Kost  skribis:

> I have zero knowledge in grafting, but if I checked it right, the
> attached patch should disable grafting for the emacs interface (when
> dry-run is on).  If you think it should be a part of a bigger
> dry-run+no-grafts patch, please use it.

Two separate patches is fine, IMO.

> From d7747453bf31a616d414dce293fc0556d601abcb Mon Sep 17 00:00:00 2001
> From: Alex Kost 
> Date: Wed, 27 Jul 2016 14:55:50 +0300
> Subject: [PATCH] emacs: Disable grafts when dry-run is enabled.
>
> * emacs/guix-main.scm (process-package-actions): Set grafting according
> to 'dry-run?'.
> * guix/scripts.scm (build-package): Likewise.

[...]

>  (define-module (guix scripts)
> +  #:use-module (guix grafts)
>#:use-module (guix utils)
>#:use-module (guix ui)
>#:use-module (guix store)
> @@ -106,6 +107,7 @@ true."
>"Build PACKAGE using BUILD-OPTIONS acceptable by 'set-build-options'.
>  Show what and how will/would be built."
>(mbegin %store-monad
> +(set-grafting (not dry-run?))
>  (apply set-build-options*
> #:use-substitutes? use-substitutes?
> (strip-keyword-arguments '(#:dry-run?) build-options))

Here it might be best to do something like this:

  (mlet %store-monad ((grafting? ((lift0 %graft? %store-monad
(set-grafting (and (not dry-run?) grafting?))
…)

This would make sure we don’t enable grafting if it turned out to be
disabled.

WDYT?

Ludo’.



Re: [PATCH 4/7] gnu: Add spice-gtk.

2016-07-27 Thread Leo Famulari
Hi David!

Sorry for the delay. My last few days have been super busy, but I haven't 
forgotten about this patch series. I skimmed them yesterday and they seemed 
fine; I'll read them properly tonight :)


 Original Message 
From: l...@gnu.org
Sent: July 27, 2016 6:12:09 PM EDT
To: David Craven 
Cc: Leo Famulari , guix-devel 
Subject: Re: [PATCH 4/7] gnu: Add spice-gtk.

Hi David,

David Craven  skribis:

> I'm not sure if you still expect me to do something and what that is exactly.

Oops, I thought Leo was taking care of this patch series.  Leo?

> But maybe we shouldn't propagate pkg-config inputs.

Not sure what you mean.  As I wrote, if the .pc Requires another .pc,
then the required thing must be propagated.

Ludo’.




Re: core-updates, next release, and all that

2016-07-27 Thread Ludovic Courtès
l...@gnu.org (Ludovic Courtès) skribis:

> Andreas Enge  skribis:
>
>> On Wed, Jul 27, 2016 at 06:27:12PM +0200, Andreas Enge wrote:
>>> Indeed. After disabling this one test, the package builds on my mips 
>>> machine.
>>> I pushed and will start a new evaluation of core-updates.
>>
>> Drawback: This essentially recompiles all of core-updates.
>
> Not OK.
>
>> If we consider mips64el as a "release critical" architecture in Debian
>> parlance, I would say we have no choice. Otherwise, we could also
>> revert my commit and merge core-updates now.
>
> What about reverting, and instead modifying in a mips64el conditional?
> As in:
>
>   (arguments
> `(#:phases (modify-phases %standard-phases
>  ,@(if (string-prefix? "mips64el" (%current-system))
>'((add-before 'check 'disable-the-thing …))
>'())
>  …)))

I pushed something along these lines as
8b732bf6d93ad2cb529c3c5f886efe2625c5fb72, and also canceled the previous
evaluation builds and started a new evaluation.

Hopefully that will allow us to merge core-updates more quickly!

Ludo’.



Re: [PATCH] add go@1.6

2016-07-27 Thread Alex Griffin
Hello Matthew,

I'm not done looking at the package, but here are some of my initial
thoughts:

On Wed, Jul 27, 2016, at 06:54 PM, Matthew Jordan wrote:
> (version "1.6.2")

Version 1.6.3 was just released to fix a security issue.

>(zero? (system* "sh" "all.bash")

This seems to work, but I think it should just be `(zero? (system*
"./all.bash"))`. It has a shebang, and expects bash, not sh.

If it doesn't cause any problems, we should delete pkg/bootstrap/* so
that it doesn't retain any references to go@1.4. I think that would
drastically reduce the size of its closure.

Also, I'm not sure I'm sold on splitting up into multiple outputs, but I
haven't thought about it much and don't have a strong opinion. The
"tests" output is only 5M and "doc" is only 10M, vs 270M for the default
output.
-- 
Alex Griffin



[PATCH] add go@1.6

2016-07-27 Thread Matthew Jordan
Good Day everyone,

Attached is a patch to add go@1.6. Note that I have taken the
suggestion made in go@1.5 and added it to this patch. Also I have
included many of the suggested changes for go@1.4 in this patch also.

Take a look and let me know if I missed anything or need to make further 
changes.

>From 55066e5de6e1760833a4c1ab3d7cfccaa93bad92 Mon Sep 17 00:00:00 2001
From: Matthew Jordan 
Date: Thu, 26 May 2016 09:16:48 -0400
Subject: [PATCH] gnu: Add go@1.6.

* gnu/packages/golang.scm (go-1.6): New variable.

Co-author: Efraim Flashner 
Co-author: Andy Wingo 
---
 gnu/packages/golang.scm | 165 
 1 file changed, 165 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index cc1b66f..ad46c81 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -183,3 +183,168 @@ compiled, statically typed language in the tradition of C and C++, with
 garbage collection, various safety features and in the style of communicating
 sequential processes (CSP) concurrent programming features added.")
 (license license:bsd-3)))
+
+(define-public go-1.6
+  (package
+(inherit go-1.4)
+(name "go")
+(version "1.6.2")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append "https://storage.googleapis.com/golang/";
+   name version ".src.tar.gz"))
+   (sha256
+(base32
+ "1k5wy5ijll5aacj1m6xxnjfjw6x9f255ml3f1jiicw031mshnyvq"
+(arguments
+ `(#:modules ((ice-9 match)
+  (guix build gnu-build-system)
+  (guix build utils))
+   #:tests? #f ; Tests are run by all.bash script
+   #:phases
+   (modify-phases %standard-phases
+ (delete 'configure)
+ (add-after 'patch-generated-file-shebangs 'chdir
+   (lambda _ (chdir "src")))
+ (add-before 'build 'prebuild
+   (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((gcclib (string-append (assoc-ref inputs "gcc:lib") "/lib"))
+(ld (string-append
+ (assoc-ref inputs "glibc") "/lib"))
+(loader (car (find-files ld "^ld-linux.+")))
+(net-base (assoc-ref inputs "net-base"))
+(tzdata-path
+ (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo"))
+(output (assoc-ref outputs "out")))
+
+   ;; Removing net/ tests, which fail when attempting to access
+   ;; network resources not present in the build container.
+   (for-each
+(lambda (srcfile)
+  (let ((srcfile (string-append "net/" srcfile)))
+(delete-file srcfile)))
+'("listen_test.go" "parse_test.go"))
+
+   (substitute* "os/os_test.go"
+ (("/usr/bin") (getcwd))
+ (("/bin/pwd") (which "pwd")))
+
+   ;; Add libgcc to runpath
+   (substitute* "cmd/link/internal/ld/lib.go"
+ (("!rpath.set") "true"))
+   (substitute* "cmd/go/build.go"
+ (("cgoldflags := \\[\\]string\\{\\}")
+  (string-append "cgoldflags := []string{"
+ "\"-rpath=" gcclib "\""
+ "}"))
+ (("ldflags = setextld\\(ldflags, compiler\\)")
+  (string-append
+   "ldflags = setextld(ldflags, compiler)\n"
+   "ldflags = append(ldflags, \"-r\")\n"
+   "ldflags = append(ldflags, \"" gcclib "\")\n"))
+ (("\"-lgcc_s\", ")
+  (string-append
+   "\"-Wl,-rpath=" gcclib "\", \"-lgcc_s\", ")))
+
+   ;; Disable failing tests: these tests attempt to access
+   ;; commands or network resources which are neither available or
+   ;; necessary for the build to succeed.
+   (map
+(match-lambda
+  ((file regex)
+   (substitute* file
+ ((regex all before test_name)
+  (string-append before "Disabled" test_name)
+'(("net/net_test.go" "(.+)(TestShutdownUnix.+)")
+  ("net/dial_test.go" "(.+)(TestDialTimeout.+)")
+  ("os/os_test.go" "(.+)(TestHostname.+)")
+  ("time/format_test.go" "(.+)(TestParseInSydney.+)")
+  ("os/exec/exec_test.go" "(.+)(TestEcho.+)")
+  ("os/exec/exec_test.go" "(.+)(TestCommandRelativeName.+)")
+  ("os/exec/exec_test.go" "(.+)(TestCatStdin.+)")
+  ("os/exec/exec_test.go" "(.+)(TestCatGoodAndBadFile.+)")
+  ("os/exec/exec_test.go" "(.+)(TestExitStatus.+)")
+  ("os/exec/exec_test.go" "(.+)(TestPipes.+)")
+  ("os/exec/exec_test.go" "(.+)(Tes

[PATCH ?] gnu: Add dash.

2016-07-27 Thread Tobias Geerinckx-Rice
* gnu/packages/dash.shm: New file.
---

Guix!

IMO this belongs in a (new) shell.scm with fish, tcsh and zsh.
Maybe bash, too. On the other hand:

Certain shells might have an 'ecosystem' of 'packages', such as
bash-completion in bash.scm, that might justify leaving them in
their own file. I'm thinking specifically of zsh here.

I'd suggest merging them all and splitting out if and when needed,
but prefer to ask the wisdom of the list before doing that tedious
deed.

Kind regards,

T G-R

 gnu/packages/dash.scm | 60 +++
 1 file changed, 60 insertions(+)
 create mode 100644 gnu/packages/dash.scm

diff --git a/gnu/packages/dash.scm b/gnu/packages/dash.scm
new file mode 100644
index 000..017e81c
--- /dev/null
+++ b/gnu/packages/dash.scm
@@ -0,0 +1,60 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2016 Tobias Geerinckx-Rice 
+;;;
+;;; 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 dash)
+  #:use-module (guix licenses)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module (gnu packages libedit))
+
+(define-public dash
+  (package
+(name "dash")
+(version "0.5.9")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append "http://gondor.apana.org.au/~herbert/dash/files/";
+   name "-" version ".tar.gz"))
+   (sha256
+(base32
+ "17328wd9n5krr5wd37smrk0y7fdf8aa3hmhm02br5mqpq0a3nycj"))
+   (modules '((guix build utils)))
+   (snippet
+'(begin
+   ;; The man page hails from BSD, where (d)ash is the default shell.
+   ;; This isn't the case on Guix or indeed most other GNU systems.
+   (substitute* "src/dash.1"
+ (("the standard command interpreter for the system")
+  "a command interpreter based on the original Bourne shell"))
+   #t
+(build-system gnu-build-system)
+(inputs
+ `(("libedit" ,libedit)))
+(arguments
+ `(#:configure-flags '("--with-libedit")))
+(home-page "http://gondor.apana.org.au/~herbert/dash";)
+(synopsis "POSIX-compliant shell optimised for size")
+(description
+ "dash is a POSIX-compliant @command{/bin/sh} implementation that aims to 
be
+as small as possible, often without sacrificing speed.  It is significantly
+faster than the GNU Bourne-Again Shell (@command{bash}) at most tasks.  dash is
+a direct descendant of NetBSD's Almquist Shell (@command{ash}).")
+(license (list bsd-3
+   gpl2+; mksignames.c
-- 
2.9.2




make check-system failure: encrypted-root-os

2016-07-27 Thread Chris Marusich
Hi,

Every time I try to run "make check-system", the test
"encrypted-root-os" fails.  It fails on commit
b1bf155ffd9b160afdf05aff39d3f0b0f6d11589 (July 18, when I it was
introduced), and it fails on debc6360e111e8efc8a938b2aef28e5b3616ada8
(July 26).  I can't find a test log, but the last output from the
command line was this:

--8<---cut here---start->8---
+ mount LABEL=my-root /mnt
[   17.853136] EXT4-fs (dm-0): mounted filesystem with ordered data mode. Opts: 
(null)
+ herd start cow-store /mnt
Service cow-store has been started.
+ mkdir /mnt/etc
+ cp /etc/target-config.scm /mnt/etc/config.scm
+ cat /mnt/etc/config
cat: /mnt/etc/config: No such file or directory
environment variable `PATH' set to 
`/gnu/store/9rd90hq8zak77bbx2pk9aqdvkajkv13j-qemu-minimal-2.6.0/bin'
QEMU runs as PID 6
connected to QEMU's monitor
read QEMU monitor prompt
connected to guest REPL
marionette is ready

;;; (uname #("Linux" "gnu" "4.7.0-gnu" "#1 SMP 1" "x86_64"))
note: keeping build directory `/tmp/guix-build-installation.drv-3'
builder for `/gnu/store/drq919a4vikymgmhv14x2x1wqp4wwab2-installation.drv' 
failed with exit code 1
@ build-failed /gnu/store/drq919a4vikymgmhv14x2x1wqp4wwab2-installation.drv - 1 
builder for `/gnu/store/drq919a4vikymgmhv14x2x1wqp4wwab2-installation.drv' 
failed with exit code 1
cannot build derivation 
`/gnu/store/rrif23d8cbbn1wr26rjjcn01yqcch724-encrypted-root-os.drv': 1 
dependencies couldn't be built
TOTAL: 5
PASS: /gnu/store/avcz2mjh8wl418z9irnzn42ky5yy5mxg-basic
PASS: /gnu/store/6363gfph3lsz73b6lbjc70jza10225zm-mcron
PASS: /gnu/store/3zzcb9jr5mgdyj6jrsbbwxk4x1avr4ic-nss-mdns
PASS: /gnu/store/7a82ixw0a800j3lh72fbx8a2fry7cvmn-installed-os
FAIL: /gnu/store/l24vacjwnwcwr0lrrhwwb94zisz2r0j1-encrypted-root-os
Makefile:4837: recipe for target 'check-system' failed
make: *** [check-system] Error 1
--8<---cut here---end--->8---

It fails when I run any of the following commands:

* make check-system
* make -j check-system
* make check-system TESTS='install encrypted-root-os'

I also tried running the test as root, just in case there was some kind
of permissions problem related to KVM or something.  However, it still
failed.

I'm not sure how to troubleshoot further.  Does anyone have any ideas?

-- 
Chris


signature.asc
Description: PGP signature


Re: Package API compatibility and guix package variable names

2016-07-27 Thread Chris Marusich
Andreas Enge  writes:

> The inputs of our packages are absolutely precise: They are given as scheme
> variables (which are, in a sense, a moving target, since their content
> changes over time; but they are completely fixed at any given point in time).
> So we have no way of saying, like in many other distributions, that the input
> is any "python >= 2 and < 3"; in fact, we are always saying "use exactly
> this Python, with this source, build system, inputs, etc.".

For this reason, the exact structure of the name doesn't seem too
important.  My understanding is that Nix and Guix both avoid "nominal"
dependency specifications specifically it's unreliable.  The first few
pages of Eelco Dolstra's Nix thesis [1] discuss the pitfalls of
"nominal" dependency specification:

"Related to the inability to validate dependency specifications is the
fact that dependencies tend to be inexact. Above, xhello required that a
component named hello is present — but it makes no requirements on the
actual properties or interfaces of that component. That is, the
dependency specification is nominal (determined by name only), not by
contract (requiring that the dependency has certain properties). So any
component named hello satisfies the dependency. Actually, we can require
specific versions of the dependency:

Requires: hello >= 1.0

which excludes version 1.0. However, such version specifications involve
a high degree of wishful thinking, since we can never in general rely on
the fact that any version in an open range works. For instance, there is
no way to know whether future release 1.3.1 of hello will be backwards
compatible. Even “exact” dependencies such as

Require: hello = 1.0

are unsafe, because this is still a nominal dependency: we can conceive
of any number of component instances with name hello and version number
1.0 that behave completely differently. In fact, this is a real problem:
Linux distributions from different vendors can easily have components
with equal names (e.g., glibc-2.3.5) that actually have vendor-specific
patches applied, have been built with specific options, compilers, or
ABI options, and so on."

[1] https://nixos.org/%7Eeelco/pubs/phd-thesis.pdf

-- 
Chris


signature.asc
Description: PGP signature