Re: [PATCH] gnu: Add proxychains-ng.

2016-08-15 Thread Ricardo Wurmus

ng0  writes:

> Ricardo Wurmus  writes:

>> Could you show us the error message in case of using
>> “#:configure-flags”?  This really should work, so if it fails I’d like
>> to fix this instead of working around it, if possible.

[…]

Thanks.  Looks like you need to set the “prefix” variable in
#:make-flags – it is defined in the Makefile (along with “exec_prefix”,
which you might also have to override).

~~ Ricardo




Re: [PATCH] gnu: Add dlib.

2016-08-15 Thread Alex Kost
Marius Bakke (2016-08-14 22:52 +0300) wrote:

Hello and welcome!

> From 5e30eff1cf24b236a78cc5abed870992e84f443f Mon Sep 17 00:00:00 2001
> From: Marius Bakke 
> Date: Sat, 13 Aug 2016 11:26:10 +0100
> Subject: [PATCH] gnu: Add dlib.
[...]
> +(define-public dlib
> +  (package
> +(name "dlib")
> +(version "19.1")
> +(source (origin
> +  (method url-fetch)
> +  (uri (string-append
> +"http://dlib.net/files/dlib-"; version ".tar.bz2"))
> +  (sha256
> +   (base32
> +"0p2pvcdalc6jhb6r99ybvjd9x74sclr0ngswdg9j2xl5pj7knbr4"))
> +  (modules '((guix build utils)))
> +  (snippet
> +   '(begin
> +  ;; Delete ~13MB of bundled dependencies.
> +  (delete-file-recursively "dlib/external")
> +  (delete-file-recursively "docs/dlib/external")
> +(build-system cmake-build-system)
> +(arguments
> + `(#:phases
> +   (let ((test-dir (string-append "../dlib-" ,version 
> "/dlib/test/build")))

I think it's better to move this 'let' inside the phase: ...

> + (modify-phases %standard-phases
> +   (replace 'check
> + ;; No test target, so we build and run the unit tests here.
> + (lambda _

... here.
> +   (mkdir-p test-dir)
> +   (with-directory-excursion test-dir
> + (zero? (system* "cmake" ".."))
> + (zero? (system* "cmake" "--build" "." "--config" "Release"))
> + (zero? (system* "./dtest" "--runall")

There is no point in the first 2 'zero?' calls as their returning
values will be lost, rather:

  (and (zero? (system* "cmake" ".."))
   (zero? (system* "cmake" "--build" "." "--config" "Release"))
   (zero? (system* "./dtest" "--runall")))

> +(native-inputs
> + `(("pkg-config" ,pkg-config)))
> +(inputs
> + `(("lapack" ,lapack)
> +   ("libjpeg" ,libjpeg)
> +   ("libpng" ,libpng)
> +   ("libx11" ,libx11)
> +   ("openblas" ,openblas)
> +   ("zlib" ,zlib)))
> +(synopsis "Toolkit for making machine learning and data analysis 
> applications in C++")
> +(description
> + "Dlib is a modern C++ toolkit containing machine learning algorithms 
> and tools.  It
> +is used in both industry and academia in a wide range of domains including 
> robotics,
> +embedded devices, mobile phones, and large high performance computing 
> environments.")

As for me, the above lines (in synopsis and description) are too long, I
would stay inside 72-78 columns.

> +(home-page "http://dlib.net";)
> +(license license:boost1.0)))

Otherwise, the patch looks good to me, so if Leo or other people don't
have comments, I think it can be committed.

-- 
Alex



[PATCH] PRELIMINARY: Add support for hibernation.

2016-08-15 Thread Mark H Weaver
Hello Guix,

Here's a preliminary patch to add support for hibernation.  To enable
it, you'll also need to add a line like this to your 'operating-system'
definition.

  (kernel-arguments '("resume=/dev/sda2"))

Where the device named is a swap partition.

WARNING: Since this is preliminary work, I recommend that the first time
you test this, be prepared for the possibility that resume will fail.
So far I've only tested it with simple partitions, without encryption or
RAID.

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

 Mark


>From ad1d583eb6f009a2dfbc284cb8368608caf27a05 Mon Sep 17 00:00:00 2001
From: Mark H Weaver 
Date: Sun, 14 Aug 2016 05:33:12 -0400
Subject: [PATCH] PRELIMINARY: Add support for hibernation.

* gnu/build/linux-boot.scm (boot-system): Look for a resume=
argument on the linux command line, and if present, attempt to resume from
hibernation.
* gnu/services/desktop.scm (): Change the default
value of the 'handle-hibernate-key' key to 'hibernate'.
---
 gnu/build/linux-boot.scm | 51 +---
 gnu/services/desktop.scm |  6 +-
 2 files changed, 49 insertions(+), 8 deletions(-)

diff --git a/gnu/build/linux-boot.scm b/gnu/build/linux-boot.scm
index c3febba..9732175 100644
--- a/gnu/build/linux-boot.scm
+++ b/gnu/build/linux-boot.scm
@@ -24,6 +24,7 @@
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-26)
   #:use-module (ice-9 match)
+  #:use-module (ice-9 rdelim)
   #:use-module (ice-9 ftw)
   #:use-module (guix build utils)
   #:use-module (gnu build linux-modules)
@@ -376,9 +377,10 @@ to it are lost."
   (call-with-error-handling
(lambda ()
  (mount-essential-file-systems)
- (let* ((args(linux-command-line))
-(to-load (find-long-option "--load" args))
-(root(find-long-option "--root" args)))
+ (let* ((args  (linux-command-line))
+(to-load   (find-long-option "--load" args))
+(root  (find-long-option "--root" args))
+(resume-device (find-long-option "resume" args)))
 
(when (member "--repl" args)
  (start-repl))
@@ -403,6 +405,49 @@ to it are lost."
  (unless (pre-mount)
(error "pre-mount actions failed")))
 
+   ;;
+   ;; Attempt to resume from hibernation.
+   ;;
+   ;; IMPORTANT: This *must* happen before we mount any filesystems on
+   ;; disk.  Quoting linux-libre/Documentation/swsusp.txt:
+   ;; 
+   ;; * BIG FAT WARNING **
+   ;; *
+   ;; * If you touch anything on disk between suspend and resume...
+   ;; *...kiss your data goodbye.
+   ;; *
+   ;; * If you do resume from initrd after your filesystems are mounted...
+   ;; *...bye bye root partition.
+   ;; *			[this is actually same case as above]
+   ;; *
+   (when (and resume-device
+  (file-exists? resume-device)
+  (file-exists? "/sys/power/resume"))
+ (false-if-exception
+  (let* ((device-base-name
+  ;; The base name of the device file, after resolving
+  ;; symlinks.
+  (let loop ((file resume-device))
+(match (stat:type (lstat file))
+  ('symlink
+   (let ((target (readlink file)))
+ (if (string-prefix? "/" target)
+ (loop target)
+ (loop (string-append (dirname file) "/" target)
+  (_ (basename file)
+ (major+minor
+  ;; The major:minor string (e.g. "8:2") corresponding
+  ;; to the resume device.
+  (call-with-input-file (string-append "/sys/class/block/"
+   device-base-name
+   "/dev")
+read-line)))
+;; Write the major:minor string to /sys/power/resume
+;; to attempt resume from hibernation.
+(when major+minor
+  (call-with-output-file "/sys/power/resume"
+(cut display major+minor <>))
+
(if root
(mount-root-file-system (canonicalize-device-spec root)
root-fs-type
diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index bf21707..84321b8 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -606,11 +606,7 @@ include the @command{udisksctl} command, part of UDisks, and GNOME Disks."
   (handle-suspend-key  elogind-handle-suspend-key
(default 'suspend))
   (handle-hibernate-keyelogind-handle-hibernate-key
-   ;; (default 'hibernate)
-   ;; XX

Re: [PATCH] gnu: Add proxychains-ng.

2016-08-15 Thread ng0
Ricardo Wurmus  writes:

> ng0  writes:
>
>> Ricardo Wurmus  writes:
>
>>> Could you show us the error message in case of using
>>> “#:configure-flags”?  This really should work, so if it fails I’d like
>>> to fix this instead of working around it, if possible.
>
> […]
>
> Thanks.  Looks like you need to set the “prefix” variable in
> #:make-flags – it is defined in the Makefile (along with “exec_prefix”,
> which you might also have to override).
>
> ~~ Ricardo
>

I did set prefix and exec_prefix in the make-flags, gets ignored.
it doesn't work, and I think I tried setting it in the make-flags before.
I will revert to the original patch and add a comment why it needs to be
configured like this. Second choice could be to substitute, but
./configure --options is shorter and apparently what the application
wants.
-- 
♥Ⓐ  ng0
For non-prism friendly talk find me on http://www.psyced.org



Re: [PATCH] gnu: Add proxychains-ng.

2016-08-15 Thread ng0
Ricardo Wurmus  writes:

> ng0  writes:
>
>> Ricardo Wurmus  writes:
>
>>> Could you show us the error message in case of using
>>> “#:configure-flags”?  This really should work, so if it fails I’d like
>>> to fix this instead of working around it, if possible.
>
> […]
>
> Thanks.  Looks like you need to set the “prefix” variable in
> #:make-flags – it is defined in the Makefile (along with “exec_prefix”,
> which you might also have to override).
>
> ~~ Ricardo
>

Added the results of this thread in a comment.

>From fa1b4e104c102d02a53324e5c082edcbe365b04b Mon Sep 17 00:00:00 2001
From: ng0 
Date: Fri, 12 Aug 2016 17:47:41 +
Subject: [PATCH] gnu: Add proxychains-ng.

* gnu/packages/networking.scm (proxychains-ng): New variable.
---
 gnu/packages/networking.scm | 34 ++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 1275a41..fc3e8cb 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -8,6 +8,7 @@
 ;;; Copyright © 2016 John Darrington 
 ;;; Copyright © 2016 Nicolas Goaziou 
 ;;; Copyright © 2016 Eric Bavier 
+;;; Copyright © 2016 ng0 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -690,3 +691,36 @@ information by IP Address.")
   (description "IO::Socket::INET6 is an interface for AF_INET/AF_INET6 domain
 sockets in Perl.")
   (license (package-license perl
+
+(define-public proxychains-ng
+  (package
+(name "proxychains-ng")
+(version "4.11")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "https://github.com/rofl0r/"; name "/releases/"
+  "download/v" version "/" name "-" version
+  ".tar.bz2"))
+  (sha256
+   (base32
+"1dkncdzw852488gkh5zhn4b5i03qyj8rgh1wcvcva7yd12c19i6w"
+(build-system gnu-build-system)
+(arguments
+ `(#:tests? #f
+   #:make-flags (list "CC=gcc")
+   #:phases
+   (modify-phases %standard-phases
+   ;; XXX: Must be configured with the configure script, other methods
+   ;; are ignored by the application
+   (replace 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+   (let ((out (assoc-ref outputs "out")))
+ (zero? (system* "./configure"
+ (string-append "--prefix=" out)
+(synopsis
+ "Force any tcp connections to flow through a proxy or proxy chain")
+(description
+ "Preloader which hooks calls to sockets in dynamically linked programs
+and redirects them through one or more socks or http proxies.")
+(home-page "https://github.com/rofl0r/proxychains-ng";)
+(license license:gpl2)))
-- 
2.9.2


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


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

2016-08-15 Thread David Craven
> I still like the idea of distributed source repos. You may also have
> noticed there was resistance to that idea.

I thought that the resistance was towards stabilizing an internal api,
which I'm also against. But I'll have to reread the thread more
carefully if you see things differently. I think where there is change
there is resistance, but can understand that based on your previous
experiences you are distrustful of the process and don't want to
commit to doing the work upfront...

@ng0: Sorry for hijacking the thread =)



Re: [PATCH] gnu: Add proxychains-ng.

2016-08-15 Thread Ricardo Wurmus

ng0  writes:

> Ricardo Wurmus  writes:
>
>> ng0  writes:
>>
>>> Ricardo Wurmus  writes:
>>
 Could you show us the error message in case of using
 “#:configure-flags”?  This really should work, so if it fails I’d like
 to fix this instead of working around it, if possible.
>>
>> […]
>>
>> Thanks.  Looks like you need to set the “prefix” variable in
>> #:make-flags – it is defined in the Makefile (along with “exec_prefix”,
>> which you might also have to override).
>>
>> ~~ Ricardo
>>
>
> I did set prefix and exec_prefix in the make-flags, gets ignored.
> it doesn't work, and I think I tried setting it in the make-flags before.
> I will revert to the original patch and add a comment why it needs to be
> configured like this. Second choice could be to substitute, but
> ./configure --options is shorter and apparently what the application
> wants.

The reason here is that the configure script aborts when it encounters
arguments it doesn’t expect, such as the CONFIG_SHELL argument.  As a
result the “config.mak” file is never created.

I’ve got this to build by making the custom configure script a little
more tolerant.

I also changed the description to be a full sentence.  I’ve upcased
“TCP”, “SOCKS”, and “HTTP”.  The synopsis has also been simplified.

The license was too limited.  The license headers (in the files that
have them) include the “or later” clause, so this is really GPLv2+.

I’ve also added a comment as to why the tests have been disabled.

If this looks okay to you I’ll push it later today.

~~ Ricardo


>From d2f2d139f4aac52ac0f79e7f81a0be5fad2ad100 Mon Sep 17 00:00:00 2001
From: ng0 
Date: Fri, 12 Aug 2016 17:47:41 +
Subject: [PATCH] gnu: Add proxychains-ng.

* gnu/packages/networking.scm (proxychains-ng): New variable.
---
 gnu/packages/networking.scm | 37 -
 1 file changed, 36 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 1275a41..2678739 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014 Ludovic Courtès 
-;;; Copyright © 2015 Ricardo Wurmus 
+;;; Copyright © 2015, 2016 Ricardo Wurmus 
 ;;; Copyright © 2015 Mark H Weaver 
 ;;; Copyright © 2015 Stefan Reichör 
 ;;; Copyright © 2016 Raimon Grau 
@@ -8,6 +8,7 @@
 ;;; Copyright © 2016 John Darrington 
 ;;; Copyright © 2016 Nicolas Goaziou 
 ;;; Copyright © 2016 Eric Bavier 
+;;; Copyright © 2016 ng0 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -690,3 +691,37 @@ information by IP Address.")
   (description "IO::Socket::INET6 is an interface for AF_INET/AF_INET6 domain
 sockets in Perl.")
   (license (package-license perl
+
+(define-public proxychains-ng
+  (package
+(name "proxychains-ng")
+(version "4.11")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "https://github.com/rofl0r/"; name "/releases/"
+  "download/v" version "/" name "-" version
+  ".tar.bz2"))
+  (sha256
+   (base32
+"1dkncdzw852488gkh5zhn4b5i03qyj8rgh1wcvcva7yd12c19i6w"
+(build-system gnu-build-system)
+(arguments
+ `(#:tests? #f ; there are no tests
+   #:make-flags '("CC=gcc")
+   #:phases
+   (modify-phases %standard-phases
+ (add-after 'unpack 'fix-configure-script
+   (lambda _
+ ;; The configure script is very intolerant to unknown arguments,
+ ;; such as "CONFIG_SHELL".
+ (substitute* "configure"
+   (("\\*\\) break ;;" line)
+(string-append "[A-Z]*) shift ;;\n"
+   line)))
+ #t)
+(synopsis "Redirect any TCP connection through a proxy or proxy chain")
+(description "Proxychains-ng is a preloader which hooks calls to sockets
+in dynamically linked programs and redirects them through one or more SOCKS or
+HTTP proxies.")
+(home-page "https://github.com/rofl0r/proxychains-ng";)
+(license license:gpl2+)))
-- 
2.9.2



Re: [PATCH] gnu: Add proxychains-ng.

2016-08-15 Thread ng0
Ricardo Wurmus  writes:

> ng0  writes:
>
>> Ricardo Wurmus  writes:
>>
>>> ng0  writes:
>>>
 Ricardo Wurmus  writes:
>>>
> Could you show us the error message in case of using
> “#:configure-flags”?  This really should work, so if it fails I’d like
> to fix this instead of working around it, if possible.
>>>
>>> […]
>>>
>>> Thanks.  Looks like you need to set the “prefix” variable in
>>> #:make-flags – it is defined in the Makefile (along with “exec_prefix”,
>>> which you might also have to override).
>>>
>>> ~~ Ricardo
>>>
>>
>> I did set prefix and exec_prefix in the make-flags, gets ignored.
>> it doesn't work, and I think I tried setting it in the make-flags before.
>> I will revert to the original patch and add a comment why it needs to be
>> configured like this. Second choice could be to substitute, but
>> ./configure --options is shorter and apparently what the application
>> wants.
>
> The reason here is that the configure script aborts when it encounters
> arguments it doesn’t expect, such as the CONFIG_SHELL argument.  As a
> result the “config.mak” file is never created.
>
> I’ve got this to build by making the custom configure script a little
> more tolerant.
>
> I also changed the description to be a full sentence.  I’ve upcased
> “TCP”, “SOCKS”, and “HTTP”.  The synopsis has also been simplified.
>
> The license was too limited.  The license headers (in the files that
> have them) include the “or later” clause, so this is really GPLv2+.
>
> I’ve also added a comment as to why the tests have been disabled.
>
> If this looks okay to you I’ll push it later today.

It's okay for me. Thanks for looking into this.

> ~~ Ricardo
>
>
> From d2f2d139f4aac52ac0f79e7f81a0be5fad2ad100 Mon Sep 17 00:00:00 2001
> From: ng0 
> Date: Fri, 12 Aug 2016 17:47:41 +
> Subject: [PATCH] gnu: Add proxychains-ng.
>
> * gnu/packages/networking.scm (proxychains-ng): New variable.
> ---
>  gnu/packages/networking.scm | 37 -
>  1 file changed, 36 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
> index 1275a41..2678739 100644
> --- a/gnu/packages/networking.scm
> +++ b/gnu/packages/networking.scm
> @@ -1,6 +1,6 @@
>  ;;; GNU Guix --- Functional package management for GNU
>  ;;; Copyright © 2014 Ludovic Courtès 
> -;;; Copyright © 2015 Ricardo Wurmus 
> +;;; Copyright © 2015, 2016 Ricardo Wurmus 
>  ;;; Copyright © 2015 Mark H Weaver 
>  ;;; Copyright © 2015 Stefan Reichör 
>  ;;; Copyright © 2016 Raimon Grau 
> @@ -8,6 +8,7 @@
>  ;;; Copyright © 2016 John Darrington 
>  ;;; Copyright © 2016 Nicolas Goaziou 
>  ;;; Copyright © 2016 Eric Bavier 
> +;;; Copyright © 2016 ng0 
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -690,3 +691,37 @@ information by IP Address.")
>(description "IO::Socket::INET6 is an interface for AF_INET/AF_INET6 domain
>  sockets in Perl.")
>(license (package-license perl
> +
> +(define-public proxychains-ng
> +  (package
> +(name "proxychains-ng")
> +(version "4.11")
> +(source (origin
> +  (method url-fetch)
> +  (uri (string-append "https://github.com/rofl0r/"; name 
> "/releases/"
> +  "download/v" version "/" name "-" version
> +  ".tar.bz2"))
> +  (sha256
> +   (base32
> +"1dkncdzw852488gkh5zhn4b5i03qyj8rgh1wcvcva7yd12c19i6w"
> +(build-system gnu-build-system)
> +(arguments
> + `(#:tests? #f ; there are no tests
> +   #:make-flags '("CC=gcc")
> +   #:phases
> +   (modify-phases %standard-phases
> + (add-after 'unpack 'fix-configure-script
> +   (lambda _
> + ;; The configure script is very intolerant to unknown arguments,
> + ;; such as "CONFIG_SHELL".
> + (substitute* "configure"
> +   (("\\*\\) break ;;" line)
> +(string-append "[A-Z]*) shift ;;\n"
> +   line)))

I'm curious what this substitute does. Could you explain it?

> + #t)
> +(synopsis "Redirect any TCP connection through a proxy or proxy chain")
> +(description "Proxychains-ng is a preloader which hooks calls to sockets
> +in dynamically linked programs and redirects them through one or more SOCKS 
> or
> +HTTP proxies.")
> +(home-page "https://github.com/rofl0r/proxychains-ng";)
> +(license license:gpl2+)))
> -- 
> 2.9.2
>

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



Re: [PATCH] gnu: Add proxychains-ng.

2016-08-15 Thread Ricardo Wurmus

ng0  writes:

> Ricardo Wurmus  writes:

>> +   (modify-phases %standard-phases
>> + (add-after 'unpack 'fix-configure-script
>> +   (lambda _
>> + ;; The configure script is very intolerant to unknown 
>> arguments,
>> + ;; such as "CONFIG_SHELL".
>> + (substitute* "configure"
>> +   (("\\*\\) break ;;" line)
>> +(string-append "[A-Z]*) shift ;;\n"
>> +   line)))
>
> I'm curious what this substitute does. Could you explain it?

Sure.  We match the line

*) break ;;

in the configure script and save it as “line”.  This line is the
alternative case in the options parser.  Any option starting with a dash
is processed while any other option leads to “break”.  This means that
upon encountering “CONFIG_SHELL=…” the configure script aborts and
doesn’t even get to setting the prefix.

So what I’m doing is to add an additional case:

[A-Z]*) shift ;;

which is then followed by the original catch-all case (which leads to
“break”).  The additional case applies whenever an option begins with a
capital letter.  In that case it just throws away the option (“shift”).
“shift” reduces a list by dropping the current element.  This means that
in the next iteration the next list element will be processed.
Eventually this would lead to “break”, thus exiting the loop.

It’s not the prettiest fix, but it works.  It would be nicer if upstream
didn’t do “while true” and relied on “break” to exit the loop.  If they
instead went through the whole list of arguments, ignoring anything they
don’t recognize and only processing those that they expect.  Maybe worth
opening a bug report.

~~ Ricardo




[PATCH] gnu: avr: Use the correct gcc version as native-input. This makes crtatmega32u4.o etc appear in the output.

2016-08-15 Thread Danny Milosavljevic

See also 
, 
.

The easy fix would have been to pass "--enable-device-lib" to libc's configure.
The right fix: use the right gcc as native input.

* gnu/packages/avr.scm (avr-libc): Replace package by function.
* gnu/packages/avr.scm (avr-toolchain): Use new avr-libc function.
---
 gnu/packages/avr.scm | 37 -
 1 file changed, 20 insertions(+), 17 deletions(-)

diff --git a/gnu/packages/avr.scm b/gnu/packages/avr.scm
index 9873477..fd18ff6 100644
--- a/gnu/packages/avr.scm
+++ b/gnu/packages/avr.scm
@@ -73,7 +73,7 @@
 (version (package-version gcc-5))
 (source (package-source gcc-5
 
-(define-public avr-libc
+(define (avr-libc avr-gcc)
   (package
 (name "avr-libc")
 (version "2.0.0")
@@ -99,7 +99,7 @@
  (unsetenv "C_INCLUDE_PATH")
  #t)
 (native-inputs `(("avr-binutils" ,avr-binutils)
- ("avr-gcc" ,avr-gcc-4.9)))
+ ("avr-gcc" ,avr-gcc)))
 (home-page "http://www.nongnu.org/avr-libc/";)
 (synopsis "The AVR C Library")
 (description
@@ -109,24 +109,27 @@ for use with GCC on Atmel AVR microcontrollers.")
  (license:non-copyleft "http://www.nongnu.org/avr-libc/LICENSE.txt";
 
 (define (avr-toolchain avr-gcc)
-  (package
-(name "avr-toolchain")
-(version (package-version avr-gcc))
-(source #f)
-(build-system trivial-build-system)
-(arguments '(#:builder (mkdir %output)))
-(propagated-inputs
- `(("avrdude" ,avrdude)
-   ("binutils" ,avr-binutils)
-   ("gcc" ,avr-gcc)
-   ("libc" ,avr-libc)))
-(synopsis "Complete GCC tool chain for AVR microcontroller development")
-(description "This package provides a complete GCC tool chain for AVR
+  ;; avr-libc checks the compiler version and passes "--enable-device-lib" for avr-gcc > 5.1.0.
+  ;; It wouldn't install the library for atmega32u4 etc if we didn't use the corret avr-gcc.
+  (let ((avr-libc (avr-libc avr-gcc)))
+(package
+  (name "avr-toolchain")
+  (version (package-version avr-gcc))
+  (source #f)
+  (build-system trivial-build-system)
+  (arguments '(#:builder (mkdir %output)))
+  (propagated-inputs
+   `(("avrdude" ,avrdude)
+ ("binutils" ,avr-binutils)
+ ("gcc" ,avr-gcc)
+ ("libc" ,avr-libc)))
+  (synopsis "Complete GCC tool chain for AVR microcontroller development")
+  (description "This package provides a complete GCC tool chain for AVR
 microcontroller development.  This includes the GCC AVR cross compiler and
 avrdude for firmware flashing.  The supported programming languages are C and
 C++.")
-(home-page (package-home-page avr-libc))
-(license (package-license avr-gcc
+  (home-page (package-home-page avr-libc))
+  (license (package-license avr-gcc)
 
 (define-public avr-toolchain-4.9 (avr-toolchain avr-gcc-4.9))
 (define-public avr-toolchain-5 (avr-toolchain avr-gcc-5))


Re: Our git just broke

2016-08-15 Thread Ben Woodcroft



On 15/08/16 11:08, Mark H Weaver wrote:

Leo Famulari  writes:


On Sun, Aug 14, 2016 at 02:28:43PM +1000, Ben Woodcroft wrote:

On 14/08/16 03:28, Pjotr Prins wrote:

Also gnutls does not pass it's tests on my system, nor does
subversion.

Both gnutls and subversion are substituted for me on current master
(891284), indicating they built without issue OK on hydra. Does it still not
work for you?

Regarding GnuTLS, I assume Pjotr is describing the failure of the
"name-constraints" test [0].

Unfortunately, GnuTLS used a certificate in one of their tests without
taking care to handle its expiration date, so now the certificate has
expired. It looks like a mistake. Other test certificates in their test
suite are guarded against this, and they have committed a fix.
I'm a little confused. AIUI, this was fixed in 3.5.2 which is a part of 
current master and 0.11.0.


I just used 'build --check' and both gnutls and subversion build without 
issue, though subversion seems to be non-deterministic.


Let us know if you are still experiencing build failures Pjotr

It might be worth investigating the possibility of setting the system
clock to a deterministic value within build containers.

Sounds like a good idea if anyone has the bandwidth.

ben



Re: [PATCH] gnu: avr: Use the correct gcc version as native-input. This makes crtatmega32u4.o etc appear in the output.

2016-08-15 Thread Thompson, David
On Mon, Aug 15, 2016 at 6:45 AM, Danny Milosavljevic
 wrote:
>
> See also 
> , 
> .
>
> The easy fix would have been to pass "--enable-device-lib" to libc's 
> configure.
> The right fix: use the right gcc as native input.
>
> * gnu/packages/avr.scm (avr-libc): Replace package by function.
> * gnu/packages/avr.scm (avr-toolchain): Use new avr-libc function.

Ah, good catch!  LGTM.

Could someone with commit access apply this?  I'm currently unable to do it.

- Dave



Re: [PATCH] gnu: Add dlib.

2016-08-15 Thread Marius Bakke

>> +(build-system cmake-build-system)
>> +(arguments
>> + `(#:phases
>> +   (let ((test-dir (string-append "../dlib-" ,version 
>> "/dlib/test/build")))
>
> I think it's better to move this 'let' inside the phase: ...
>
>> + (modify-phases %standard-phases
>> +   (replace 'check
>> + ;; No test target, so we build and run the unit tests here.
>> + (lambda _
>
> ... here.

You're right. I tried that in an early iteration and it failed; I
assumed "version" was not available in that scope. Must have noobed
something else since it works fine now.. :)

>> +   (mkdir-p test-dir)
>> +   (with-directory-excursion test-dir
>> + (zero? (system* "cmake" ".."))
>> + (zero? (system* "cmake" "--build" "." "--config" 
>> "Release"))
>> + (zero? (system* "./dtest" "--runall")
>
> There is no point in the first 2 'zero?' calls as their returning
> values will be lost, rather:
>
>   (and (zero? (system* "cmake" ".."))
>(zero? (system* "cmake" "--build" "." "--config" "Release"))
>(zero? (system* "./dtest" "--runall")))

Thanks for pointing that out; fixed.

>> +(native-inputs
>> + `(("pkg-config" ,pkg-config)))
>> +(inputs
>> + `(("lapack" ,lapack)
>> +   ("libjpeg" ,libjpeg)
>> +   ("libpng" ,libpng)
>> +   ("libx11" ,libx11)
>> +   ("openblas" ,openblas)
>> +   ("zlib" ,zlib)))
>> +(synopsis "Toolkit for making machine learning and data analysis 
>> applications in C++")
>> +(description
>> + "Dlib is a modern C++ toolkit containing machine learning algorithms 
>> and tools.  It
>> +is used in both industry and academia in a wide range of domains including 
>> robotics,
>> +embedded devices, mobile phones, and large high performance computing 
>> environments.")
>
> As for me, the above lines (in synopsis and description) are too long, I
> would stay inside 72-78 columns.

Disagreeing with the linter, are we? ;) I've trimmed the lengths a bit.

Thanks!

>From 8ffcd39f9c8e3cea7ae925341cc19dc3b45941a3 Mon Sep 17 00:00:00 2001
From: Marius Bakke 
Date: Sat, 13 Aug 2016 11:26:10 +0100
Subject: [PATCH] gnu: Add dlib.

* gnu/packages/machine-learning.scm (dlib): New variable.
---
 gnu/packages/machine-learning.scm | 54 ++-
 1 file changed, 53 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index f96672c..674af10 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015, 2016 Ricardo Wurmus 
 ;;; Copyright © 2016 Efraim Flashner 
+;;; Copyright © 2016 Marius Bakke 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -32,13 +33,15 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages dejagnu)
   #:use-module (gnu packages gcc)
+  #:use-module (gnu packages image)
   #: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)
   #:use-module (gnu packages swig)
-  #:use-module (gnu packages xml))
+  #:use-module (gnu packages xml)
+  #:use-module (gnu packages xorg))
 
 (define-public libsvm
   (package
@@ -467,3 +470,52 @@ geometric models.")
  "This package provides functions for feed-forward neural networks with a
 single hidden layer, and for multinomial log-linear models.")
 (license (list license:gpl2+ license:gpl3+
+
+(define-public dlib
+  (package
+(name "dlib")
+(version "19.1")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"http://dlib.net/files/dlib-"; version ".tar.bz2"))
+  (sha256
+   (base32
+"0p2pvcdalc6jhb6r99ybvjd9x74sclr0ngswdg9j2xl5pj7knbr4"))
+  (modules '((guix build utils)))
+  (snippet
+   '(begin
+  ;; Delete ~13MB of bundled dependencies.
+  (delete-file-recursively "dlib/external")
+  (delete-file-recursively "docs/dlib/external")
+(build-system cmake-build-system)
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (replace 'check
+   (lambda _
+ ;; No test target, so we build and run the unit tests here.
+ (let ((test-dir (string-append "../dlib-" ,version "/dlib/test/build")))
+   (mkdir-p test-dir)
+   (with-directory-excursion test-dir
+ (and (zero? (system* "cmake" ".."))
+  (zero? (system* "cmake" "--build" "." "--config" "Release"))
+  (zero? (system* "./dtest" "--runall"))
+(native-inputs
+ `(("pkg-config" ,pkg-config)))
+(inputs
+ `(("lapack" ,lapack)

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

2016-08-15 Thread Hartmut Goebel
Am 13.08.2016 um 12:46 schrieb David Craven:
> I think a few people have said they like github, but it gets objected to
> because of certain reasons and I do not want to start a discussion on
> those.

A good alternative could be to use gitlab, which one could host on one's
own systems. It is "only" MIT licensed, but at least "open source" - in
contrast to github, which is propritary.

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

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

Blog: http://www.goebel-consult.de/blog/feiertagsarbeit-bei-teletrust
Kolumne:
http://www.cissp-gefluester.de/2012-04-compliance-bringt-keine-sicherheit



smime.p7s
Description: S/MIME Cryptographic Signature


Re: [PATCH 2/5] gnu: Add avr-gcc.

2016-08-15 Thread Danny Milosavljevic
Hi,

when I apply my patch and then modify my Makefile to also say:

CPPFLAGS += -I${HOME}/.guix-profile/avr/include 
-L${HOME}/.guix-profile/avr/lib/avr5 -L${HOME}/.guix-profile/avr/lib 
-B${HOME}/.guix-profile/avr/lib
CPPFLAGS += -I.. 

then for Arduino (after applying my patch) I still get:

PluggableUSB.cpp:(.text._Z12PluggableUSBv+0xc): undefined reference to 
`__cxa_guard_acquire'
PluggableUSB.cpp:(.text._Z12PluggableUSBv+0x2c): undefined reference to 
`__cxa_guard_release'

This is because it uses (see 
):

PluggableUSB_& PluggableUSB()
{
static PluggableUSB_ obj; /* editor's note: uh oh!! */
return obj;
}

It works just fine (it also links fine; everything OK) when I change it to:

static PluggableUSB_ obj;

PluggableUSB_& PluggableUSB()
{
return obj;
}

Should that have worked as-is?

Also, why is avr-gcc also setting native-search-paths (even though it's a cross 
compiler)? Doesn't seem to make a difference and is also rather strange...

What does the search-paths form do? Does it set environment variables in the 
profile as well?



Re: [PATCH] gnu: Add clojure.

2016-08-15 Thread Ricardo Wurmus

Thanks for the patch.  I went through it and tried to simplify it where
possible.

- removed unused module imports
- merged some procedures
- wrote an abstraction for submodules
- changed comment style where necessary

All proposed changes relative to your patch can be seen here:

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 5d36574..2f6d297 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -143,10 +143,18 @@ is implemented.")
   license:lgpl2.1+
 
 (define-public clojure
-  (let ((remove-archives '(begin
-(for-each delete-file
-  (find-files "./" ".*\\.(jar|zip)"))
-#t)))
+  (let* ((remove-archives '(begin
+ (for-each delete-file
+   (find-files "." ".*\\.(jar|zip)"))
+ #t))
+ (submodule (lambda (prefix version hash)
+  (origin
+(method url-fetch)
+(uri (string-append "https://github.com/clojure/";
+prefix version ".tar.gz"))
+(sha256 (base32 hash))
+(modules '((guix build utils)))
+(snippet remove-archives)
 (package
   (name "clojure")
   (version "1.8.0")
@@ -164,8 +172,6 @@ is implemented.")
   (arguments
`(#:modules ((guix build ant-build-system)
 (guix build utils)
-(ice-9 ftw)
-(ice-9 regex)
 (srfi srfi-1)
 (srfi srfi-26))
  #:test-target "test"
@@ -173,134 +179,78 @@ is implemented.")
  (modify-phases %standard-phases
(add-after 'unpack 'unpack-submodule-sources
  (lambda* (#:key inputs #:allow-other-keys)
-   (let ((unpack
-  (lambda (src-name)
-(and (mkdir-p src-name)
- (with-directory-excursion src-name
-   (zero? (system* "tar"
-   ;; Use xz for repacked tarball.
-   "--xz"
-   "--extract"
-   "--verbose"
-   "--file" (assoc-ref inputs
-   src-name)
-   "--strip-components=1"))
- (copy (lambda (src-name)
- (copy-recursively
-  (string-append src-name "/src/main/clojure/")
-  "src/clj/"
- (every (lambda (src)
-  (unpack src)
-  (copy src))
-'("data-generators-src" "java-classpath-src"
-  "test-check-src" "test-generative-src"
-  "tools-namespace-src" "tools-reader-src")
-   ;;; The javadoc target is not built by default.
+   (for-each
+(lambda (name)
+  (mkdir-p name)
+  (with-directory-excursion name
+(or (zero? (system* "tar"
+;; Use xz for repacked tarball.
+"--xz"
+"--extract"
+"--verbose"
+"--file" (assoc-ref inputs name)
+"--strip-components=1"))
+(error "failed to unpack tarball" name)))
+  (copy-recursively (string-append name "/src/main/clojure/")
+"src/clj/"))
+'("data-generators-src"
+  "java-classpath-src"
+  "test-check-src"
+  "test-generative-src"
+  "tools-namespace-src"
+  "tools-reader-src"))
+   #t))
+   ;; The javadoc target is not built by default.
(add-after 'build 'build-doc
  (lambda _
(zero? (system* "ant" "javadoc"
-   ;;; Needed since no install target is provided.
+   ;; Needed since no install target is provided.
(replace 'install
  (lambda* (#:key outputs #:allow-other-keys)
(let ((java-dir (string-append (assoc-ref outputs "out")
   "/share/java/")))
- ;; Do not install clojure.jar to avoid collisions.
+ ;; Install versioned to avoid collisions.
  (install-file (string-append "clojure-" ,version ".jar"

[PATCH] gnu: python: add pyserial.

2016-08-15 Thread Danny Milosavljevic

* gnu/packages/python.scm (python-pyserial, python-pyserial2): New variables.
---
 gnu/packages/python.scm | 34 ++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 5cc54d0..36c5d52 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -9886,3 +9886,37 @@ relays publish about themselves.")
 
 (define-public python2-stem
   (package-with-python2 python-stem))
+
+(define-public python-pyserial
+ (package
+  (name "python-pyserial")
+  (version "3.1.1")
+  (source
+(origin
+  (method url-fetch)
+  (uri (string-append
+ "https://pypi.python.org/packages/";
+ "3c/d8/a9fa247ca60b02b3bebbd61766b4f321393b57b13c53b18f6f62cf172c08/"
+ "pyserial-" version ".tar.gz"))
+  (sha256
+(base32
+  "0k1nfdrxxkdlv4zgaqsdv8li0pj3gbh2pyxw8q2bsg6f9490amyn"
+  (build-system python-build-system)
+  (inputs
+`(("python-setuptools" ,python-setuptools)))
+  (home-page
+"https://github.com/pyserial/pyserial";)
+  (synopsis "Python Serial Port Bindings")
+  (description "@code{pyserial} provide serial port bindings for Python. 
+It supports different byte sizes, stop bits, parity and flow control with
+RTS/CTS and/or Xon/Xoff. 
+The port is accessed in RAW mode.")
+  (license license:bsd-3)))
+
+(define-public python2-pyserial
+  (let ((base (package-with-python2 (strip-python2-variant python-pyserial
+(package
+  (inherit base)
+  (native-inputs
+   `(("python2-setuptools" ,python2-setuptools)
+ ,@(package-native-inputs base))


[PATCH] gnu: Add python-reportlab.

2016-08-15 Thread Marius Bakke
>From c95b25a3ad4902ccdef79c7429485a7cacc72e1c Mon Sep 17 00:00:00 2001
From: Marius Bakke 
Date: Sun, 14 Aug 2016 16:47:33 +0100
Subject: [PATCH] gnu: Add python-reportlab.

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

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 5cc54d0..190e797 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -9886,3 +9886,35 @@ relays publish about themselves.")
 
 (define-public python2-stem
   (package-with-python2 python-stem))
+
+(define-public python-reportlab
+  (package
+(name "python-reportlab")
+(version "3.3.0")
+(source (origin
+  (method url-fetch)
+  (uri (pypi-uri "reportlab" version))
+  (sha256
+   (base32
+"0rz2pg04wnzjjm2f5a8ik9v8s54mv4xrjhv5liqjijqv6awh12gl"
+(build-system python-build-system)
+(arguments
+ ;; Prevent creation of the egg. Without this flag, various artifacts
+ ;; from the build inputs end up in the final python3 output. It also
+ ;; works around https://debbugs.gnu.org/cgi/bugreport.cgi?bug=20765 .
+ `(#:configure-flags '("--single-version-externally-managed" "--root=/")))
+(propagated-inputs
+ `(("python-pillow" ,python-pillow)))
+(home-page "http://www.reportlab.com";)
+(synopsis "Python library for generating PDFs and graphics")
+(description "This is the ReportLab PDF Toolkit.  It allows rapid creation
+of rich PDF documents, and also creation of charts in a variety of bitmap and
+vector formats.")
+(license bsd-3)
+(properties `((python2-variant . ,(delay python2-reportlab))
+
+(define-public python2-reportlab
+  (package
+(inherit (package-with-python2
+  (strip-python2-variant python-reportlab)))
+(native-inputs `(("python2-pip" ,python2-pip)
-- 
2.9.2




[PATCH] gnu: Add re2.

2016-08-15 Thread Marius Bakke

I wasn't sure where to put this, so went with its own file. It does not
fully implement PCRE so pcre.scm seems inappropriate. Perhaps that could
be renamed to regex.scm or similar.

>From c8aa1ecab5176dc9d2b02a4063936b77039af163 Mon Sep 17 00:00:00 2001
From: Marius Bakke 
Date: Sun, 14 Aug 2016 20:16:01 +0100
Subject: [PATCH] gnu: Add re2.

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

diff --git a/gnu/local.mk b/gnu/local.mk
index 7416850..a95a503 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -296,6 +296,7 @@ GNU_SYSTEM_MODULES =\
   %D%/packages/ratpoison.scm			\
   %D%/packages/rdesktop.scm			\
   %D%/packages/rdf.scm\
+  %D%/packages/re2.scm\
   %D%/packages/readline.scm			\
   %D%/packages/rrdtool.scm			\
   %D%/packages/rsync.scm			\
diff --git a/gnu/packages/re2.scm b/gnu/packages/re2.scm
new file mode 100644
index 000..073e766
--- /dev/null
+++ b/gnu/packages/re2.scm
@@ -0,0 +1,57 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2016 Marius Bakke 
+;;;
+;;; 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 re2)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu))
+
+(define-public re2
+   (package
+ (name "re2")
+ (version "2016-08-01")
+ (source (origin
+   (method url-fetch)
+   (uri
+(string-append
+ "https://github.com/google/re2/archive/";
+ version ".tar.gz"))
+   (file-name (string-append name "-" version ".tar.gz"))
+   (sha256
+(base32
+ "06pfm3xi5irrrij85m0c46rsn9jyg1rc2r431wi2knhjvbw9f0bx"
+ (build-system gnu-build-system)
+ (arguments
+  `(#:test-target "test"
+;; There is no configure step, but the Makefile respects a prefix.
+#:make-flags (list (string-append "prefix=" %output))
+#:phases
+(modify-phases %standard-phases
+  (delete 'configure)
+  (add-after 'install 'delete-static-library
+(lambda* (#:key outputs #:allow-other-keys)
+  ;; No make target for shared-only; delete the static version.
+  (delete-file (string-append (assoc-ref outputs "out")
+  "/lib/libre2.a")))
+ (home-page "https://github.com/google/re2";)
+ (synopsis "Fast, safe, thread-friendly regular expression engine")
+ (description "RE2 is a fast, safe, thread-friendly alternative to
+backtracking regular expression engines like those used in PCRE, Perl and
+Python.  It is a C++ library.")
+ (license license:bsd-3)))
-- 
2.9.2



Re: [PATCH 2/5] gnu: Add avr-gcc.

2016-08-15 Thread Thompson, David
On Mon, Aug 15, 2016 at 7:59 AM, Danny Milosavljevic
 wrote:

> What does the search-paths form do? Does it set environment variables in the 
> profile as well?

Search path information is used in build environments (guix build),
user-defined environments (guix environment), and profiles (guix
package).  For example, when you run 'guix package --search-paths',
the environment variables printed are determined by the
native-search-paths field for each package in your profile.

I found that without CROSS_CPATH and CROSS_LIBRARY_PATH the compiler
doesn't work because it can't find all of its headers and libraries
since they aren't in /usr.

Some background: avr-gcc was broken for a very long time, until
Manolis, Ricardo, and I worked out the problems several months ago.  I
tested avr-gcc by successfully compiling the various KADE miniArcade
firmwares using the 'make-all.sh' script found here:
https://github.com/kadevice/KADE/tree/master/open%20software/firmwares/KADE%20miniArcade/sources

I don't know what has changed since I got things working, but I can no
longer compile that firmware.  I get errors like this:

main.c:38:20: fatal error: avr/io.h: No such file or directory

- Dave



Re: [PATCH 2/5] gnu: Add avr-gcc.

2016-08-15 Thread Danny Milosavljevic
> I don't know what has changed since I got things working, but I can no
> longer compile that firmware.  I get errors like this:
> 
> main.c:38:20: fatal error: avr/io.h: No such file or directory

There was a change in cross-base. We don't use CROSS_CPATH anymore. However, 
avr-gcc does use it (and shouldn't).

(define* (cross-gcc ...
...
;; Only search target inputs, not host inputs.
;; Note: See  for why not 'CPATH'.
(search-paths
 (list (search-path-specification
(variable "CROSS_C_INCLUDE_PATH")
(files '("include")))
   (search-path-specification
(variable "CROSS_CPLUS_INCLUDE_PATH")
(files '("include")))
   (search-path-specification
(variable "CROSS_OBJC_INCLUDE_PATH")
(files '("include")))
   (search-path-specification
(variable "CROSS_OBJCPLUS_INCLUDE_PATH")
(files '("include")))
   (search-path-specification
(variable "CROSS_LIBRARY_PATH")
(files '("lib" "lib64")
(native-search-paths '(




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

2016-08-15 Thread Danny Milosavljevic
On Mon, 15 Aug 2016 13:53:49 +0200
Hartmut Goebel  wrote:

> A good alternative could be to use gitlab, which one could host on one's
> own systems. It is "only" MIT licensed, but at least "open source" - in
> contrast to github, which is propritary.

I second the gitlab recommendation. I have multiple servers that use gitlab and 
it's very nice. It supports merge requests, continuous integration buiulds etc.



Re: [PATCH] gnu: Add python-reportlab.

2016-08-15 Thread Marius Bakke

> From c95b25a3ad4902ccdef79c7429485a7cacc72e1c Mon Sep 17 00:00:00 2001
> From: Marius Bakke 
> Date: Sun, 14 Aug 2016 16:47:33 +0100
> Subject: [PATCH] gnu: Add python-reportlab.
>
> * gnu/packages/python.scm (python-reportlab, python2-reportlab): New
>   variables.
> ---
>  gnu/packages/python.scm | 32 
>  1 file changed, 32 insertions(+)

Oops, forgot copyright line. New patch below. Perhaps pdf.scm is better?

>From a24bafef4b21dcdaff8b6e428a7a399eb6f5e8fd Mon Sep 17 00:00:00 2001
From: Marius Bakke 
Date: Sun, 14 Aug 2016 16:47:33 +0100
Subject: [PATCH] gnu: Add python-reportlab.

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

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 5cc54d0..29ea9d5 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -24,6 +24,7 @@
 ;;; Copyright © 2016 Sou Bunnbu 
 ;;; Copyright © 2016 Troy Sankey 
 ;;; Copyright © 2016 ng0 
+;;; Copyright © 2016 Marius Bakke 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -9886,3 +9887,35 @@ relays publish about themselves.")
 
 (define-public python2-stem
   (package-with-python2 python-stem))
+
+(define-public python-reportlab
+  (package
+(name "python-reportlab")
+(version "3.3.0")
+(source (origin
+  (method url-fetch)
+  (uri (pypi-uri "reportlab" version))
+  (sha256
+   (base32
+"0rz2pg04wnzjjm2f5a8ik9v8s54mv4xrjhv5liqjijqv6awh12gl"
+(build-system python-build-system)
+(arguments
+ ;; Prevent creation of the egg. Without this flag, various artifacts
+ ;; from the build inputs end up in the final python3 output. It also
+ ;; works around https://debbugs.gnu.org/cgi/bugreport.cgi?bug=20765 .
+ `(#:configure-flags '("--single-version-externally-managed" "--root=/")))
+(propagated-inputs
+ `(("python-pillow" ,python-pillow)))
+(home-page "http://www.reportlab.com";)
+(synopsis "Python library for generating PDFs and graphics")
+(description "This is the ReportLab PDF Toolkit.  It allows rapid creation
+of rich PDF documents, and also creation of charts in a variety of bitmap and
+vector formats.")
+(license bsd-3)
+(properties `((python2-variant . ,(delay python2-reportlab))
+
+(define-public python2-reportlab
+  (package
+(inherit (package-with-python2
+  (strip-python2-variant python-reportlab)))
+(native-inputs `(("python2-pip" ,python2-pip)
-- 
2.9.2



Specifying Java version when using ant-build-system

2016-08-15 Thread Danny Milosavljevic
Hi,

how can I specify that I need a Java 1.8 compiler and source level when using 
ant-build-system?

Also, guix/build-system/ant.scm says:

(define* (ant-build store name inputs
#:key
(tests? #t)
(test-target "tests")
(configure-flags ''())
(make-flags ''())
(build-target "jar")
(jar-name #f)
(phases '(@ (guix build ant-build-system)
%standard-phases))
(outputs '("out"))
(search-paths '())
(system (%current-system))
(guile #f)p
  ^^^ what does this mean?
(imported-modules %ant-build-system-modules)
(modules '((guix build ant-build-system)
   (guix build utils



Re: Specifying Java version when using ant-build-system

2016-08-15 Thread Thompson, David
On Mon, Aug 15, 2016 at 10:17 AM, Danny Milosavljevic
 wrote:
> Hi,
>
> how can I specify that I need a Java 1.8 compiler and source level when using 
> ant-build-system?
>
> Also, guix/build-system/ant.scm says:
>
> (define* (ant-build store name inputs
> #:key
> (tests? #t)
> (test-target "tests")
> (configure-flags ''())
> (make-flags ''())
> (build-target "jar")
> (jar-name #f)
> (phases '(@ (guix build ant-build-system)
> %standard-phases))
> (outputs '("out"))
> (search-paths '())
> (system (%current-system))
> (guile #f)p
>   ^^^ what does this mean?
> (imported-modules %ant-build-system-modules)
> (modules '((guix build ant-build-system)
>(guix build utils
>

Seems to me that it's missing an argument for that.  We'll need to add
a "java" or "jdk" or whatever argument.

- Dave



Re: Specifying Java version when using ant-build-system

2016-08-15 Thread Ricardo Wurmus

Danny Milosavljevic  writes:

> Hi,
>
> how can I specify that I need a Java 1.8 compiler and source level when using 
> ant-build-system?

The build system adds these inputs by default:

 (build-inputs `(("jdk" ,jdk "jdk")
 ("ant" ,ant)
 ("zip" ,zip)
 ,@native-inputs))

You should be able to override each of these by specifying them as a
keyword argument, e.g.

(arguments
 `(#:jdk ,some-other-jdk
   #:zip ,some-other-zip))

> Also, guix/build-system/ant.scm says:
>
> (define* (ant-build store name inputs
> #:key
> (tests? #t)
> (test-target "tests")
> (configure-flags ''())
> (make-flags ''())
> (build-target "jar")
> (jar-name #f)
> (phases '(@ (guix build ant-build-system)
> %standard-phases))
> (outputs '("out"))
> (search-paths '())
> (system (%current-system))
> (guile #f)p
>   ^^^ what does this mean?

Ouch!  This shouldn’t have been committed.  This is what happened pretty
often with my terrible keyboard at work — my control key (among many
other keys) wasn’t very reliable and would sometimes stop working while
I moved around in the sources in Emacs (where Ctrl+p moves up one
line).

I’m surprised this doesn’t lead to an error.

~~ Ricardo




[PATCH] gnu: Add minced.

2016-08-15 Thread Marius Bakke
>From 017a593d407a36ca98736b95b7413f180a7735d4 Mon Sep 17 00:00:00 2001
From: Marius Bakke 
Date: Mon, 15 Aug 2016 16:06:37 +0100
Subject: [PATCH] gnu: Add minced.

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

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index a3f0d81..e76dc4d 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -5,6 +5,7 @@
 ;;; Copyright © 2015 Andreas Enge 
 ;;; Copyright © 2016 Roel Janssen 
 ;;; Copyright © 2016 Efraim Flashner 
+;;; Copyright © 2016 Marius Bakke 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -3117,6 +3118,56 @@ probabilistic distances of genome abundance and tetranucleotide frequency.")
(license (license:non-copyleft "file://license.txt"
   "See license.txt in the distribution."
 
+(define-public minced
+  (package
+(name "minced")
+(version "0.2.0")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"https://github.com/ctSkennerton/minced/archive/";
+version ".tar.gz"))
+  (file-name (string-append name "-" version ".tar.gz"))
+  (sha256
+   (base32
+"0wxmlsapxfpxfd3ps9636h7i2xy6la8i42mwh0j2lsky63h63jp1"
+(build-system gnu-build-system)
+(arguments
+ `(#:test-target "test"
+   #:phases
+   (modify-phases %standard-phases
+ (delete 'configure)
+ (add-before 'check 'fix-test
+   (lambda _
+ ;; Fix test for latest version.
+ (substitute* "t/Aquifex_aeolicus_VF5.expected"
+   (("minced:0.1.6") "minced:0.2.0"
+ (add-before 'install 'qualify-java-path
+   (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "minced"
+   ;; Set full path to java binary in wrapper script.
+   (("^java") (string-append (assoc-ref inputs "jre")
+ "/bin/java")
+ (replace 'install
+   ;; No install target.
+   (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+(bin (string-append out "/bin")))
+   (for-each (lambda (file)
+   (install-file file bin))
+ (list "minced" "minced.jar"
+(native-inputs
+ `(("jdk", icedtea "jdk")))
+(inputs
+ `(("jre", icedtea)))
+(home-page "https://github.com/ctSkennerton/minced";)
+(synopsis "Mining CRISPRs in Environmental Datasets")
+(description
+ "MinCED is a program to find Clustered Regularly Interspaced Short
+Palindromic Repeats (CRISPRs) in full genomes or environmental datasets such
+as metagenomes, in which sequence size can be anywhere from 100 to 800 bp.")
+(license license:gpl3+)))
+
 (define-public miso
   (package
 (name "miso")
-- 
2.9.2




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

2016-08-15 Thread Alex Vong
Hi guixers,

Actually, We have GNU Ethical Repository Criteria Evaluations
, which was
published recently (about 1 yr ago).

Below is my understanding of the evaluations:

The essence of the criteria
 is that, web service
is different from software, we (as users) cannot modify the software on
other's server. So, it is not about free or non-free. Rather, it is
about other ethical issues, e.g. privacy, accept users from all
countries...

Danny Milosavljevic  writes:

> On Mon, 15 Aug 2016 13:53:49 +0200
> Hartmut Goebel  wrote:
>
>> A good alternative could be to use gitlab, which one could host on one's
>> own systems. It is "only" MIT licensed, but at least "open source" - in
>> contrast to github, which is propritary.
>
> I second the gitlab recommendation. I have multiple servers that use
> gitlab and it's very nice. It supports merge requests, continuous
> integration buiulds etc.

Agree, if we were to host it on our own server, then we simply need to
follow the criteria and be done with it. Of course, there are other
alternatives, such as gogs, which is used by `notabug.org'.

Cheers,
Alex



Re: [PATCH 07/11] gnu: ncurses: support mingw.

2016-08-15 Thread Jan Nieuwenhuizen
Mark H Weaver writes:

Hi Mark!

> As I wrote elsewhere, this patch would force about 1 rebuilds
> (across all four architectures), which would rule out applying it to
> master.

That could very well be...I've been rebuilding quite a lot.  Is there a
command I can run to get (an estimate of) the number of rebuilds that
a change triggers?

> However, I've attached an alternative patch that I hope will do the same
> job, but it doesn't force any rebuilds at all, so it could be applied to
> master right now.  It carefully arranges to add tests only on the client
> side, and to generate the same build-side code, and the same derivations
> for normal builds.
>
> Can you try it and see if it works?  If so, I will write more about how
> it works.

Thanks for looking at this!  I think that I see what you're
doing/attempting: evaluate all changes early when reading the package
description, so that the builder (?) sees no changes.

Are these kind of temporary workarounds that should somehow get
changed/cleaned-up later?  I had the impression that this

  (patches (map search-patch
(if (target-mingw?)
'("ncurses-mingw.patch")
'())

i.e., conditional patches, was a big nono (this patch was already
tested, but a conditional patch might break x86_64 when applied).

Also, we'll get more conditionals just to keep the original description
unchanged.

I have tested your patch and found two small bits missing.  The
additional patch below adds these and then ncurses builds finebut it
still seems that rebuilds get still triggered.  Could that be because of
you moved the let into arguments, or did we/I miss something else?

> Maybe the other mingw-related changes to core packages could
> follow a similar pattern, and thus be eligible to be applied to master
> directly.

Sure, let's look at that when we this right.

Greetings,
Jan

>From fad3d7d3929d0397e193c5993d1966e9b6f171fc Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen 
Date: Mon, 15 Aug 2016 15:39:04 +0200
Subject: [PATCH] gnu: ncurses: support mingw: fixlets: libraries, term driver.

---
 gnu/packages/ncurses.scm | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/ncurses.scm b/gnu/packages/ncurses.scm
index 1366dc0..8002cbe 100644
--- a/gnu/packages/ncurses.scm
+++ b/gnu/packages/ncurses.scm
@@ -102,7 +102,7 @@
   (when (file-exists? libw6.dll)
 (format #t "creating symlinks for `lib~a'~%" lib)
 (symlink libw6.dll lib.dll)))
-libraries)))
+'("curses" "ncurses" "form" "panel" "menu"
'())
  (with-directory-excursion (string-append out "/lib")
(for-each (lambda (lib)
@@ -143,7 +143,9 @@
;; Make sure programs like 'tic', 'reset', and 'clear' have a
;; correct RUNPATH.
,(string-append "LDFLAGS=-Wl,-rpath=" (assoc-ref %outputs "out")
-   "/lib"))
+   "/lib")
+   ;; MinGW: Provide termcap api, created for the MinGW port.
+   ,,@(if (target-mingw?) '("--enable-term-driver") '()))
  #:tests? #f  ; no "check" target
  #:phases (modify-phases %standard-phases
 (replace 'configure ,configure-phase)
-- 
2.9.2


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


[PATCH] gnu: offlineimap: Update to 7.0.5.

2016-08-15 Thread Al McElrath
Attached is a patch for offlineimap 7.0.5.

>From 7a30409283dc5d87887e6a6266e544c8856ea385 Mon Sep 17 00:00:00 2001
From: Al McElrath 
Date: Mon, 15 Aug 2016 09:35:46 -0700
Subject: [PATCH] gnu: offlineimap: Update to 7.0.5.

* gnu/packages/mail.scm (offlineimap): Update to 7.0.5.
---
 gnu/packages/mail.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 4775e3e..e36740f 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -296,7 +296,7 @@ and corrections.  It is based on a Bayesian filter.")
 (define-public offlineimap
   (package
 (name "offlineimap")
-(version "7.0.4")
+(version "7.0.5")
 (source (origin
   (method url-fetch)
   (uri (string-append "https://github.com/OfflineIMAP/offlineimap/";
@@ -304,7 +304,7 @@ and corrections.  It is based on a Bayesian filter.")
   (file-name (string-append name "-" version ".tar.gz"))
   (sha256
(base32
-"1g1ylvz214iydskvanzyac7kgmz61s5bqmpzz5hm11mrllkq111z"
+"05wm7qix4ikx6hi57a1qc3hb5fv1vksbg6dgvmd8871y5l1qqrkn"
 (build-system python-build-system)
 (inputs `(("python2-pysqlite" ,python2-pysqlite)
   ("python2-six" ,python2-six)))
-- 
2.6.3



Re: Our git just broke

2016-08-15 Thread Leo Famulari
On Mon, Aug 15, 2016 at 09:23:44PM +1000, Ben Woodcroft wrote:
> > Leo Famulari  writes:
> > > Regarding GnuTLS, I assume Pjotr is describing the failure of the
> > > "name-constraints" test [0].

> I'm a little confused. AIUI, this was fixed in 3.5.2 which is a part of
> current master and 0.11.0.

Ah, yes, I forgot that we updated GnuTLS rather late in the core-updates
cycle in response to this bug. Pjotr, do you have any details about your
build failures?



Re: [PATCH]: gnu: gnurl: Update to 7.50.1.

2016-08-15 Thread Leo Famulari
On Sun, Aug 14, 2016 at 09:18:11AM +, ng0 wrote:
> ng0  writes:
> > ng0  writes:
> >> Leo Famulari  writes:
> >>> Can you add a comment explaining why test1139 is disabled? Just saying
> >>> that it won't work doesn't tell those reading the package why it is
> >>> disabled.
> >>
> >> My assumption: files or lines of code are searched which will not exist
> >> in gnurl. If this is not just us (sadly in Gentoo i have test/checks
> >> disabled for this package), I will fix this upstream.
> >> If your perl knowledge is better look at the failing test yourself. This
> >> is my best judgment with the little perl knowledge I have.
> >> It was just ruling out what could cause the test failure.
> >
> > Is this okay?
> 
> Can someone tell me if this is okay or if it needs further changes?
> I'd like to update this.

Okay, I think it should updated too, considering that gnurl is a cURL
fork, and that the latest release of cURL fixed these bugs:

CVE-2016-5419:
https://curl.haxx.se/docs/adv_20160803A.html
CVE-2016-5420:
https://curl.haxx.se/docs/adv_20160803B.html
CVE-2016-5421:
https://curl.haxx.se/docs/adv_20160803C.html

Pushed as 5f9d5905745.

Will you file a bug report with the gnurl developers about this failing
test and reply to this email with a link to the bug report?

Ideally, the package update commit would include a link to the upstream
bug report about the failing test, but I'm not going to wait for the
link to update this.

If a Guix package is passing its entire test suite, we should react to
new tests failures proactively. That means that we should try to
understand the problem, and work with the upstream developers to fix the
problem.



Re: Our git just broke

2016-08-15 Thread Pjotr Prins
On Mon, Aug 15, 2016 at 01:11:50PM -0400, Leo Famulari wrote:
> On Mon, Aug 15, 2016 at 09:23:44PM +1000, Ben Woodcroft wrote:
> > > Leo Famulari  writes:
> > > > Regarding GnuTLS, I assume Pjotr is describing the failure of the
> > > > "name-constraints" test [0].
> 
> > I'm a little confused. AIUI, this was fixed in 3.5.2 which is a part of
> > current master and 0.11.0.
> 
> Ah, yes, I forgot that we updated GnuTLS rather late in the core-updates
> cycle in response to this bug. Pjotr, do you have any details about your
> build failures?

I just hacked on in anger. Will record next time. 

GeneNetwork deploys with recent Guix. That is the main thing :)

Pj.
-- 



Re: [PATCH] gnu: Add libunique.

2016-08-15 Thread Leo Famulari
On Fri, Aug 05, 2016 at 06:44:47PM +, ng0 wrote:
> Subject: [PATCH] gnu: Add libunique.
> 
> * gnu/packages/gnome.scm (libunique): New variable.

This package appears abandoned by its developers:

WARNING
Unique is now in maintenance mode, and its usage is strongly discouraged.
Applications should use the GtkApplication class provided by GTK+ 3.0.
If you are using Unique, read the GtkApplication porting guide provided by GTK+.

source: https://wiki.gnome.org/Attic/LibUnique

Is this package required by something else that we are working on? What
is the use case?


signature.asc
Description: PGP signature


Re: [PATCH] gnu: libextractor: Update inputs.

2016-08-15 Thread Leo Famulari
On Sat, Aug 06, 2016 at 12:01:01PM +, ng0 wrote:
> Subject: [PATCH] gnu: libextractor: Add inputs.
> 
> * gnu/packages/gnunet.scm (libextractor)[inputs]: Add gtk+, libarchive,
> libgsf, libmpeg2.
> * [arguments](configure-flags): Add flag to configure with libltdl.

Thanks, pushed as cd372ca352!


signature.asc
Description: PGP signature


Re: [PATCH] gnu: offlineimap: Update to 7.0.5.

2016-08-15 Thread Leo Famulari
On Mon, Aug 15, 2016 at 09:54:47AM -0700, Al McElrath wrote:
> Subject: [PATCH] gnu: offlineimap: Update to 7.0.5.
> 
> * gnu/packages/mail.scm (offlineimap): Update to 7.0.5.

Thanks for paying attention to this package!

Pushed as d23ce1ce2b.



Re: [PATCH] gnu: Add python-pypump

2016-08-15 Thread Leo Famulari
On Sun, Aug 14, 2016 at 04:07:11PM -0700, Dylan Jeffers wrote:
> > The latest upstream version 0.7. Is there a reason not to use the
> > latest version in this case?
> 
> For my immediate purposes, I need pypump 0.6, since thats the version
> used in my projects. Since the versions are quite different, maybe we
> include both of them?

I think we should package the latest version, at least.

Maybe we could also package 0.6 with a package 'python-pypump-0.6' that
inherits from python-pypump. Or, you could keep that inherited
python-pypump-0.6 in a private package repo, and use GUIX_PACKAGE_PATH.

I'd prefer the latter option. I don't think we have a precedent of
adding old releases, although we do sometimes keep them around for
compatibility. But I could be mistaken.

What do people think we should do?



Re: [PATCH] gnu: avr: Use the correct gcc version as native-input. This makes crtatmega32u4.o etc appear in the output.

2016-08-15 Thread Leo Famulari
On Mon, Aug 15, 2016 at 07:34:19AM -0400, Thompson, David wrote:
> On Mon, Aug 15, 2016 at 6:45 AM, Danny Milosavljevic
>  wrote:
> >
> > See also 
> > ,
> >  
> > .
> >
> > The easy fix would have been to pass "--enable-device-lib" to libc's 
> > configure.
> > The right fix: use the right gcc as native input.
> >
> > * gnu/packages/avr.scm (avr-libc): Replace package by function.
> > * gnu/packages/avr.scm (avr-toolchain): Use new avr-libc function.
> 
> Ah, good catch!  LGTM.
> 
> Could someone with commit access apply this?  I'm currently unable to do it.

Pushed as 4d2470b0efb.



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

2016-08-15 Thread Tomáš Čech

Hi Mark,

On Mon, Aug 15, 2016 at 04:03:26AM -0400, Mark H Weaver wrote:

Hello Guix,

Here's a preliminary patch to add support for hibernation.  To enable
it, you'll also need to add a line like this to your 'operating-system'
definition.

 (kernel-arguments '("resume=/dev/sda2"))

Where the device named is a swap partition.

WARNING: Since this is preliminary work, I recommend that the first time
you test this, be prepared for the possibility that resume will fail.
So far I've only tested it with simple partitions, without encryption or
RAID.

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


That sounds useful. Small note, in all cases I have seen it was using
swap partition - it could be good default value when finished.

S_W


signature.asc
Description: Digital signature


Re: GuixSD on ARM

2016-08-15 Thread Christopher Allan Webber
Eric Bavier writes:

> On Wed, 13 Jul 2016 08:55:23 +0200
> Ricardo Wurmus  wrote:
>
>> Hi Daniel,
>> 
>> > I'd like GuixSD on ARM plataform, for instance Libre Tea Computer Card 
>> > or other ARM libre plataform.
>> >
>> > I buy a Libre Tea Computer Card:
>> > - https://www.crowdsupply.com/eoma68/micro-desktop
>> > - http://retro-freedom.nz/blog/2016/06/30/eoma68-my-dream-machine/  
>> 
>> I’m also very excited about this project and wish it to succeed, because
>> it is appalling and discouraging to see how little environmental
>> concerns are usually considered in tech.
>> 
>> It would be very nice to be able to use GuixSD on the EOMA68.  Alas, I
>> don’t have an overview on what work needs to be done to get there.
>
> I've signed up for the Libre Tea and the desktop enclosure, so I'll be
> playing with the GuixSD support in the coming days/weeks/months.  I'm
> looking forward to working with other backers here.
>
> It Would Be Nice™ if we could get something up and running before
> shipment so we could propose a pre-imaged GuixSD version of the card.  :-)
>
> `~Eric

I've also signed up for a Libre Tea card.  I hope it works out, and also
hope we can get Guix support in.  That would rock!



Re: [PATCH] gnu: Add dlib.

2016-08-15 Thread Leo Famulari
On Mon, Aug 15, 2016 at 12:51:15PM +0100, Marius Bakke wrote:
> Date: Sat, 13 Aug 2016 11:26:10 +0100
> Subject: [PATCH] gnu: Add dlib.
> 
> * gnu/packages/machine-learning.scm (dlib): New variable.

Thanks for the updated patch.

Does it build for you? On my x86_64 machine, it fails consistently. This
is all it prints:

Running test_empirical_kernel_map / phase `check' failed after 2043.7 seconds 



Re: [PATCH] gnu: Add dlib.

2016-08-15 Thread Marius Bakke
Leo Famulari  writes:

> On Mon, Aug 15, 2016 at 12:51:15PM +0100, Marius Bakke wrote:
>> Date: Sat, 13 Aug 2016 11:26:10 +0100
>> Subject: [PATCH] gnu: Add dlib.
>> 
>> * gnu/packages/machine-learning.scm (dlib): New variable.
>
> Thanks for the updated patch.
>
> Does it build for you? On my x86_64 machine, it fails consistently. This
> is all it prints:
>
> Running test_empirical_kernel_map / phase `check' failed after 2043.7 seconds 

Strange, I've built this dozens of times now with no test failures
(GuixSD on amd64). Are you memory constrained by any chance? Any OOM or
segfaults? I don't think the tests have taken more than ~15 minutes to
run either, once they are built.

Will try it out on some other machines.



[GSoC] Porting GuixSD to GNU/Hurd Update

2016-08-15 Thread Manolis Ragkousis
Hello Guix, Hello Hurd,

As GSoC is coming to an end I think it's time to sum up my work till
now, report issues I had and then talk about what our next steps are.

First I would like to mention what were the two main objectives of the
project and also what was the status of the port when the project
started, so I can give you a better understanding of the progress.

The objectives were:
1) Achieve build isolation in the daemon on the Hurd.
2) Modify Guix so it can produce a working image, while isolating any
cases of Linux assumptions.
3) Boot to GuixSD/Hurd

When the project started the guix-daemon could work on GNU/Hurd but the
builds were being affected by the system state. Normally the daemon
creates a chrooted environment to make the builds, inside /tmp, and bind
mounts the parts of the system it needs. This way it achieves isolation.

On Hurd though, because of the lack of mount(), the above could not
work. But with the help of my libhurdutil library, which I wrote at the
beginning of this project, I created 2 wrappers inside
nix/libutil/call.(hh.cc) for mount() and umount2(), called nixMount()
and nixUmount2(), and depending on the system the implementation
changes. On Hurd I am using /hurd/firmlink to offer the same
functionality to bind-mounts.

It seems to work but I am testing it thoroughly so we don't have any
unpleasant surprises in the future. We will have fully isolated builds
on Hurd as soon as I am sure that my code works as expected and it's
merged in Guix upstream.

Now on the GuixSD side, I will start on a big issue I had. If you check
the daemon, and specifically nix/libstore/build.cc:2205-2228, you will
see that when, for example, guix tries to create a 32 bit vm/image from
a 64 bit machine, the daemon actually builds the 32 bit binaries on 32
bit personality mode.

As a result it is not possible to build GuixSD/Hurd vm/images from
Linux, for now. But this is not a big problem because we can do it from
Guix running on Hurd :-). The approach I used, was to add a second hard
drive on my Hurd vm, mount it, and try to directly deploy a GuixSD
system on that drive.  Currently Guix can build most of the binaries for
the system but it still needs work to actually boot into one. You can
see the result of this work on the currect core-updates (and on my
github repo for some hacky commits).

I have also created a new module called (guix build syscalls-tools)
which contains some of the code from (guix build syscalls) which will be
used by a (guix build hurd) module, which will contain call wrappers for
some Hurd libraries. This work is still in my github repo because it
needs some work.

There was one more problem that appeared after we started using
C_INCLUDE_PATH in our cross-builds. As it seems MiG needs glibc in order
to be built.  That's why for now I patch cross-mig with the
glibc-headers so I don't have to depend on the Linux ones. But I will
talk more on this in a different email.

I think that's enough for now. I avoid talking about things discussed in
other mails, but if you want please feel free to ask me :-)

To sum things up, we almost have build isolation working but GuixSD
still needs some work to become bootable. From here on I will
finish/test my guix-daemon code, and then I will continue on finishing
the low-level call wrappers for the Hurd libraries, in order to get the
bootable system. We are close :-).

The repos which you can check any code not yet in upstream Guix or Hurd are:
https://github.com/Phant0mas/Guix-on-Hurd
https://github.com/Phant0mas/Hurd

I think that's it for now. I want to thank all of you for your help and
support and for answering my questions, and thank my two mentors Justus
and Ludo for their invaluable help (you guys are awesome :-)).

I would also like to state that thanks to the latest work from the Hurd
guys on Gnumach and Hurd, debian/hurd is more stable than ever!!

I am sure I forgot some things so feel free to ask anything or correct
me. :-)

Thank you,
Manolis








Re: [PATCH] gnu: Add python-pypump

2016-08-15 Thread Dylan Jeffers
On Mon, 15 Aug 2016 14:41:28 -0400
Leo Famulari  wrote:

> On Sun, Aug 14, 2016 at 04:07:11PM -0700, Dylan Jeffers wrote:
> > > The latest upstream version 0.7. Is there a reason not to use the
> > > latest version in this case?  
> > 
> > For my immediate purposes, I need pypump 0.6, since thats the
> > version used in my projects. Since the versions are quite
> > different, maybe we include both of them?  
> 
> I think we should package the latest version, at least.
> 
> Maybe we could also package 0.6 with a package 'python-pypump-0.6'
> that inherits from python-pypump. Or, you could keep that inherited
> python-pypump-0.6 in a private package repo, and use
> GUIX_PACKAGE_PATH.
> 
> I'd prefer the latter option. I don't think we have a precedent of
> adding old releases, although we do sometimes keep them around for
> compatibility. But I could be mistaken.
> 
> What do people think we should do?

Yes I agree with the second alternative as well.

Dylan



Re: [PATCH] gnu: Add dlib.

2016-08-15 Thread Leo Famulari
On Mon, Aug 15, 2016 at 09:29:11PM +0100, Marius Bakke wrote:
> Leo Famulari  writes:
> > Running test_empirical_kernel_map / phase `check' failed after 2043.7 
> > seconds 
> 
> Strange, I've built this dozens of times now with no test failures
> (GuixSD on amd64). Are you memory constrained by any chance? Any OOM or
> segfaults? I don't think the tests have taken more than ~15 minutes to
> run either, once they are built.

I don't think I'm particularly resource constrained. I have ~7 GiB RAM
available to build with, plenty of disk space, and the processor is this
thing:

http://ark.intel.com/products/64896/Intel-Core-i5-3320M-Processor-3M-Cache-up-to-3_30-GHz

It appears to exit cleanly (no segfault or OOM).

It fails the same test on this machine as well as a slower x86_64
(Thinkpad x200s). One machine is Guix / Debian, the other is GuixSD.



Re: [PATCH] gnu: Add python-pypump

2016-08-15 Thread Danny Milosavljevic
> I think we should package the latest version, at least.
> 
> Maybe we could also package 0.6 with a package 'python-pypump-0.6' that
> inherits from python-pypump. Or, you could keep that inherited
> python-pypump-0.6 in a private package repo, and use GUIX_PACKAGE_PATH.

It depends on whether pypump-0.6 is a major API-incompatible version that is 
still required by other Free Software packages in the wild on the internet. If 
so, it makes sense to carry it too. Otherwise not.



Re: [PATCH] gnu: Add python-pypump

2016-08-15 Thread Leo Famulari
On Tue, Aug 16, 2016 at 12:29:27AM +0200, Danny Milosavljevic wrote:
> > I think we should package the latest version, at least.
> > 
> > Maybe we could also package 0.6 with a package 'python-pypump-0.6' that
> > inherits from python-pypump. Or, you could keep that inherited
> > python-pypump-0.6 in a private package repo, and use GUIX_PACKAGE_PATH.
> 
> It depends on whether pypump-0.6 is a major API-incompatible version
> that is still required by other Free Software packages in the wild on
> the internet. If so, it makes sense to carry it too. Otherwise not.

That's a good point. But I don't see any pending packages on the list
that require pypump-0.6 ;)



Re: [PATCH]: gnu: gnurl: Update to 7.50.1.

2016-08-15 Thread ng0
Leo Famulari  writes:

> On Sun, Aug 14, 2016 at 09:18:11AM +, ng0 wrote:
>> ng0  writes:
>> > ng0  writes:
>> >> Leo Famulari  writes:
>> >>> Can you add a comment explaining why test1139 is disabled? Just saying
>> >>> that it won't work doesn't tell those reading the package why it is
>> >>> disabled.
>> >>
>> >> My assumption: files or lines of code are searched which will not exist
>> >> in gnurl. If this is not just us (sadly in Gentoo i have test/checks
>> >> disabled for this package), I will fix this upstream.
>> >> If your perl knowledge is better look at the failing test yourself. This
>> >> is my best judgment with the little perl knowledge I have.
>> >> It was just ruling out what could cause the test failure.
>> >
>> > Is this okay?
>> 
>> Can someone tell me if this is okay or if it needs further changes?
>> I'd like to update this.
>
> Okay, I think it should updated too, considering that gnurl is a cURL
> fork, and that the latest release of cURL fixed these bugs:
>
> CVE-2016-5419:
> https://curl.haxx.se/docs/adv_20160803A.html
> CVE-2016-5420:
> https://curl.haxx.se/docs/adv_20160803B.html
> CVE-2016-5421:
> https://curl.haxx.se/docs/adv_20160803C.html
>
> Pushed as 5f9d5905745.

Thanks,

> Will you file a bug report with the gnurl developers about this failing
> test and reply to this email with a link to the bug report?

yes I will do so and see who can fix it.

> Ideally, the package update commit would include a link to the upstream
> bug report about the failing test, but I'm not going to wait for the
> link to update this.

I see, I thought this should just be placed into comments in the package
definition. Makes sense to include it in the commit message.

> If a Guix package is passing its entire test suite, we should react to
> new tests failures proactively. That means that we should try to
> understand the problem, and work with the upstream developers to fix the
> problem.

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



Re: [PATCH] gnu: Add libunique.

2016-08-15 Thread ng0
Leo Famulari  writes:

> [ Unknown signature status ]
> On Fri, Aug 05, 2016 at 06:44:47PM +, ng0 wrote:
>> Subject: [PATCH] gnu: Add libunique.
>> 
>> * gnu/packages/gnome.scm (libunique): New variable.
>
> This package appears abandoned by its developers:

I am aware of that, as I pointed out earlier in the thread.

> WARNING
> Unique is now in maintenance mode, and its usage is strongly discouraged.
> Applications should use the GtkApplication class provided by GTK+ 3.0.
> If you are using Unique, read the GtkApplication porting guide provided by 
> GTK+.
>
> source: https://wiki.gnome.org/Attic/LibUnique
>
> Is this package required by something else that we are working on? What
> is the use case?

(gnunet-gtk):

(arguments
 `(#:configure-flags
(list "--without-libunique"
  "--with-qrencode"
  (string-append "--with-gnunet="
 (assoc-ref %build-inputs "gnunet")

Maybe also racket, at least libunique-1.0 appears in its definition, I
have no desire to understand its meaning in there now.
I'd like to have libunique available for gnunet-gtk, but I also have planned
to address some further questions to other gnunet developers about
dependencies I found in the last year packaging it, so it might or might
not be necessary.
-- 
♥Ⓐ  ng0
For non-prism friendly talk find me on http://www.psyced.org



Re: [PATCH]: gnu: gnurl: Update to 7.50.1.

2016-08-15 Thread Leo Famulari
On Mon, Aug 15, 2016 at 11:24:37PM +, ng0 wrote:
> Leo Famulari  writes:
> > Will you file a bug report with the gnurl developers about this failing
> > test and reply to this email with a link to the bug report?
> 
> yes I will do so and see who can fix it.

Thank you!

> > Ideally, the package update commit would include a link to the upstream
> > bug report about the failing test, but I'm not going to wait for the
> > link to update this.
> 
> I see, I thought this should just be placed into comments in the package
> definition. Makes sense to include it in the commit message.

That's what I meant: the link should go in a code comment in the package
itself.



Re: [PATCH] gnu: Add dlib.

2016-08-15 Thread Ben Woodcroft

On 16/08/16 08:28, Leo Famulari wrote:

On Mon, Aug 15, 2016 at 09:29:11PM +0100, Marius Bakke wrote:

Leo Famulari  writes:

Running test_empirical_kernel_map / phase `check' failed after 2043.7 seconds

Strange, I've built this dozens of times now with no test failures
(GuixSD on amd64). Are you memory constrained by any chance? Any OOM or
segfaults? I don't think the tests have taken more than ~15 minutes to
run either, once they are built.

I don't think I'm particularly resource constrained. I have ~7 GiB RAM
available to build with, plenty of disk space, and the processor is this
thing:

http://ark.intel.com/products/64896/Intel-Core-i5-3320M-Processor-3M-Cache-up-to-3_30-GHz

It appears to exit cleanly (no segfault or OOM).

It fails the same test on this machine as well as a slower x86_64
(Thinkpad x200s). One machine is Guix / Debian, the other is GuixSD.
I built this patch on a x86_64 server with 40 cores and 256G of memory 
twice, here's what I got:


Running test_one_vs_all_trainer \

!!!
! TEST FAILED: test_one_vs_all_trainer 
!

!!!

Failure message from test:

Error occurred at line 141.
Error occurred in file 
/tmp/nix-build-dlib-19.1.drv-0/dlib-19.1/dlib/test/one_vs_all_trainer.cpp.

Failing expression was ans == res.
res:
60  0  0
 0 69  1
 0  0 80




Testing Finished
Total number of individual testing statements executed: 471078543
Number of failed tests: 1
Number of passed tests: 133

phase `check' failed after 2206.2 seconds
builder for `/gnu/store/gqbzlp1g5h038rxswaz2b6y78d57q8sx-dlib-19.1.drv' 
failed with exit code 1
@ build-failed /gnu/store/gqbzlp1g5h038rxswaz2b6y78d57q8sx-dlib-19.1.drv 
- 1 builder for 
`/gnu/store/gqbzlp1g5h038rxswaz2b6y78d57q8sx-dlib-19.1.drv' failed with 
exit code 1
guix build: error: build failed: build of 
`/gnu/store/gqbzlp1g5h038rxswaz2b6y78d57q8sx-dlib-19.1.drv' failed



and in the second run.


!!!
! TEST FAILED: test_one_vs_all_trainer 
!

!!!

Failure message from test:

Error occurred at line 141.
Error occurred in file 
/tmp/nix-build-dlib-19.1.drv-0/dlib-19.1/dlib/test/one_vs_all_trainer.cpp.

Failing expression was ans == res.
res:
30  0 30
 0 35 35
 0  0 80




Testing Finished
Total number of individual testing statements executed: 470341624
Number of failed tests: 1
Number of passed tests: 133

phase `check' failed after 2183.7 seconds
builder for `/gnu/store/gqbzlp1g5h038rxswaz2b6y78d57q8sx-dlib-19.1.drv' 
failed with exit code 1
@ build-failed /gnu/store/gqbzlp1g5h038rxswaz2b6y78d57q8sx-dlib-19.1.drv 
- 1 builder for 
`/gnu/store/gqbzlp1g5h038rxswaz2b6y78d57q8sx-dlib-19.1.drv' failed with 
exit code 1
guix build: error: build failed: build of 
`/gnu/store/gqbzlp1g5h038rxswaz2b6y78d57q8sx-dlib-19.1.drv' failed


real37m12.419s
user0m5.344s
sys0m0.412s




Re: [PATCH] gnu: python: add pyserial.

2016-08-15 Thread Leo Famulari
On Mon, Aug 15, 2016 at 02:25:01PM +0200, Danny Milosavljevic wrote:
> 
> * gnu/packages/python.scm (python-pyserial, python-pyserial2): New variables.

Thank for this package!

> +  (uri (string-append
> + "https://pypi.python.org/packages/";
> + 
> "3c/d8/a9fa247ca60b02b3bebbd61766b4f321393b57b13c53b18f6f62cf172c08/"
> + "pyserial-" version ".tar.gz"))

It's much shorter to use pypi-uri.

> +  (inputs
> +`(("python-setuptools" ,python-setuptools)))

Was this left in from some previous version of the package? If so, it
should be removed, and you will need to add a (properties ...) field to
make the python2-variant system work for python2-pyserial. See the
package definition of python-pythondialog for an example.

> +  (license license:bsd-3)))

The "license:" prefix should be removed. The package can't be built with
it.

Can you send an updated patch?



Re: [PATCH] gnu: Add python-reportlab.

2016-08-15 Thread Leo Famulari
On Mon, Aug 15, 2016 at 03:01:00PM +0100, Marius Bakke wrote:
> 
> > From c95b25a3ad4902ccdef79c7429485a7cacc72e1c Mon Sep 17 00:00:00 2001
> > From: Marius Bakke 
> > Date: Sun, 14 Aug 2016 16:47:33 +0100
> > Subject: [PATCH] gnu: Add python-reportlab.
> >
> > * gnu/packages/python.scm (python-reportlab, python2-reportlab): New
> >   variables.
> > ---
> >  gnu/packages/python.scm | 32 
> >  1 file changed, 32 insertions(+)
> 
> Oops, forgot copyright line. New patch below. Perhaps pdf.scm is better?

Looks good. I think pdf.scm is better. Can you send another patch?

> + ;; Prevent creation of the egg. Without this flag, various artifacts
> + ;; from the build inputs end up in the final python3 output. It also
> + ;; works around https://debbugs.gnu.org/cgi/bugreport.cgi?bug=20765 .
> + `(#:configure-flags '("--single-version-externally-managed" 
> "--root=/")))

Feel free to add something to that discussion. We are starting a new
"core-updates" cycle, so it's a good time to begin implementing changes
to core components such as build systems.



Re: Specifying Java version when using ant-build-system

2016-08-15 Thread Leo Famulari
On Mon, Aug 15, 2016 at 04:42:01PM +0200, Ricardo Wurmus wrote:
> > (define* (ant-build store name inputs

[...]

> > (guile #f)p
> >   ^^^ what does this mean?
> 
> Ouch!  This shouldn’t have been committed.  This is what happened pretty
> often with my terrible keyboard at work — my control key (among many
> other keys) wasn’t very reliable and would sometimes stop working while
> I moved around in the sources in Emacs (where Ctrl+p moves up one
> line).

Can we correct the typo on the master branch? It seems that only a few
packages are using the ant-build-system for now, although I didn't check
if those packages have a lot of referrers.



[PATCH v2] gnu: python: Add pyserial.

2016-08-15 Thread Danny Milosavljevic
gnu: python: Add pyserial.

* gnu/packages/python.scm (python-pyserial, python-pyserial2): New variables.
---
 gnu/packages/python.scm | 29 +
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 5cc54d0..8a2f094 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -9886,3 +9886,32 @@ relays publish about themselves.")
 
 (define-public python2-stem
   (package-with-python2 python-stem))
+
+(define-public python-pyserial
+ (package
+  (name "python-pyserial")
+  (version "3.1.1")
+  (source
+(origin
+  (method url-fetch)
+  (uri (pypi-uri "pyserial" version))
+  (sha256
+(base32
+  "0k1nfdrxxkdlv4zgaqsdv8li0pj3gbh2pyxw8q2bsg6f9490amyn"
+  (build-system python-build-system)
+  (home-page
+"https://github.com/pyserial/pyserial";)
+  (synopsis "Python Serial Port Bindings")
+  (description "@code{pyserial} provide serial port bindings for Python. 
+It supports different byte sizes, stop bits, parity and flow control with RTS/CTS and/or Xon/Xoff. 
+The port is accessed in RAW mode.")
+  (license bsd-3)
+  (properties `((python2-variant . ,(delay python2-pyserial))
+
+(define-public python2-pyserial
+  (let ((base (package-with-python2 (strip-python2-variant python-pyserial
+(package
+  (inherit base)
+  (native-inputs
+   `(("python2-setuptools" ,python2-setuptools)
+ ,@(package-native-inputs base))


Re: [PATCH] gnu: Add minced.

2016-08-15 Thread Ben Woodcroft

Hi Marius,

Excellent to see others interested in packaging microbial bioinformatics 
tools.



I tried this in a container and it seems that it calls out to a few 
programs preventing it from working:


[env]# minced -h
/gnu/store/8asw2i54x53rrwdr8qw4j2rpbkc9fqzz-profile/bin/minced: line 7: 
dirname: command not found
/gnu/store/8asw2i54x53rrwdr8qw4j2rpbkc9fqzz-profile/bin/minced: line 9: 
dirname: command not found
/gnu/store/8asw2i54x53rrwdr8qw4j2rpbkc9fqzz-profile/bin/minced: line 11: 
basename: command not found


So I think that (in order of preference), the source files themselves 
should be patched with the absolute paths to these tools, the binary 
should be wrapped, or coreutils should be propagated. For the first two 
options, coreutils should be an input.


Now some small comments on the patch itself.


+(arguments
+ `(#:test-target "test"
+   #:phases
+   (modify-phases %standard-phases
+ (delete 'configure)
+ (add-before 'check 'fix-test
+   (lambda _
+ ;; Fix test for latest version.
+ (substitute* "t/Aquifex_aeolicus_VF5.expected"
+   (("minced:0.1.6") "minced:0.2.0"
It might be more future-proof to use '(string-append "minced:" 
,version)' instead of hard-coding 0.2.0.


Also, this phase (and the next two) should end in #t since the return 
value of substitute* is undefined.




+ (add-before 'install 'qualify-java-path
+   (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "minced"
+   ;; Set full path to java binary in wrapper script.
+   (("^java") (string-append (assoc-ref inputs "jre")
+ "/bin/java")
+ (replace 'install
+   ;; No install target.
+   (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+(bin (string-append out "/bin")))
+   (for-each (lambda (file)
+   (install-file file bin))
+ (list "minced" "minced.jar"
+(native-inputs
+ `(("jdk", icedtea "jdk")))
+(inputs
+ `(("jre", icedtea)))

The commas should go after the space.



+(home-page"https://github.com/ctSkennerton/minced";)
+(synopsis "Mining CRISPRs in Environmental Datasets")
+(description
+ "MinCED is a program to find Clustered Regularly Interspaced Short
+Palindromic Repeats (CRISPRs) in full genomes or environmental datasets such
+as metagenomes, in which sequence size can be anywhere from 100 to 800 bp.")
That description which you took from the README is a little dated at the 
end. How about this?


"MinCED is a program to find Clustered Regularly Interspaced Short
Palindromic Repeats (CRISPRs) in both full genomes and shorter metagenomic 
sequences."

The rest LGTM. Thanks. Can you send an updated patch please?

ben


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

2016-08-15 Thread Eric Bavier
On Sun, 14 Aug 2016 17:19:10 +
ng0  wrote:

> This patch series adds perl-www-opensearch and the 13 patches leading to
> it (the dependencies).

Thanks for all the patches!  Comments dispersed throughtout:

> 
> 
> From 32adba9d07c73aee701861817b530a8a54ce065d Mon Sep 17 00:00:00 2001
> From: ng0 
> Date: Sun, 14 Aug 2016 12:42:12 +
> Subject: [PATCH 02/15] gnu: Add perl-uri-template.
> 
> * gnu/packages/web.scm (perl-uri-template): New variable.
> ---
>  gnu/packages/web.scm | 24 
>  1 file changed, 24 insertions(+)
> 
> diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
> index 9106295..d596d83 100644
> --- a/gnu/packages/web.scm
> +++ b/gnu/packages/web.scm
> @@ -2959,6 +2959,30 @@ URI::Find::Schemeless.  For a command-line interface, 
> urifind is provided.")
>  methods for WebSocket URIs as it does for HTTP URIs.")
>  (license (package-license perl
>  
> +(define-public perl-uri-template
> +  (package
> +(name "perl-uri-template")
> +(version "0.22")
> +(source (origin
> +  (method url-fetch)
> +  (uri (string-append 
> "mirror://cpan/authors/id/B/BR/BRICAS/URI-Template-"
> +  version ".tar.gz"))
> +  (sha256
> +   (base32
> +"08kjjb4c0v9gqfrfnj1wkivylxl05finn11ra64dj136fhmnyrbg"
> +(build-system perl-build-system)
> +(inputs
> + `(("perl-uri" ,perl-uri)))
> +(native-inputs
> + `(("perl-test-pod-coverage" ,perl-test-pod-coverage)
> +   ("perl-test-pod" ,perl-test-pod)
> +   ("perl-json" ,perl-json)))
> +(home-page "http://search.cpan.org/dist/URI-Template";)
> +(synopsis "Object for handling URI templates (RFC 6570)")

I would leave mention of the RFC out of the synopsis.

> +(description "This perl module provides a wrapper around URI templates 
> as described in
> +RFC 6570.")
> +(license (package-license perl
> +
>  (define-public perl-www-curl
>(package
>  (name "perl-www-curl")
> -- 
> 2.9.2
> 
> 
> From 57880ce0893fbdd1107225b0a119aa0193ecbfc3 Mon Sep 17 00:00:00 2001
> From: ng0 
> Date: Sun, 14 Aug 2016 13:02:00 +
> Subject: [PATCH 03/15] gnu: Add perl-class-errorhandler.
> 
> * gnu/packages/perl.scm (perl-class-errorhandler): New variable.
> ---
>  gnu/packages/perl.scm | 21 +
>  1 file changed, 21 insertions(+)
> 
> diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
> index aef92f4..ee49f16 100644
> --- a/gnu/packages/perl.scm
> +++ b/gnu/packages/perl.scm
> @@ -700,6 +700,27 @@ subclasses and can be overridden.")
>  type for perl.")
>  (license (package-license perl
>  
> +(define-public perl-class-errorhandler
> +  (package
> +(name "perl-class-errorhandler")
> +(version "0.04")
> +(source (origin
> +  (method url-fetch)
> +  (uri (string-append "mirror://cpan/authors/id/T/TO/TOKUHIROM/"
> +  "Class-ErrorHandler-" version ".tar.gz"))
> +  (sha256
> +   (base32
> +"00j5f0z4riyq7i95jww291dpmbn0hmmvkcbrh7p0p8lpqz7jsb9l"
> +(build-system perl-build-system)
> +(home-page "http://search.cpan.org/dist/Class-ErrorHandler";)
> +(synopsis "Base class for error handling")
> +(description
> + "Class::ErrorHandler provides an error-handling mechanism that is 
> generic enough
 ^
Wrap class names in texinfo "@code{...}", everywhere.

> +to be used as the base class for a variety of OO classes.  Subclasses 
> inherit its
> +two error-handling methods, error and errstr, to communicate error messages 
> back
> +to the calling program.")
> +(license (package-license perl
> +
>  (define-public perl-class-factory-util
>(package
>  (name "perl-class-factory-util")
> -- 
> 2.9.2
> 
[...]
> 
> From 30ecbeb69e87140d2d11deb86b06126e69100f11 Mon Sep 17 00:00:00 2001
> From: ng0 
> Date: Sun, 14 Aug 2016 13:55:21 +
> Subject: [PATCH 07/15] gnu: Add perl-uri-fetch.
> 
> * gnu/packages/web.scm (perl-uri-fetch): New variable.
> ---
>  gnu/packages/web.scm | 25 +
>  1 file changed, 25 insertions(+)
> 
> diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
> index 5970df5..38ca8ff 100644
> --- a/gnu/packages/web.scm
> +++ b/gnu/packages/web.scm
> @@ -2940,6 +2940,31 @@ represent \"Uniform Resource Identifier references\" 
> as specified in RFC 2396
>  and updated by RFC 2732.")
>  (home-page "http://search.cpan.org/dist/URI/";)))
>  
> +(define-public perl-uri-fetch
> +  (package
> +(name "perl-uri-fetch")
> +(version "0.13")
> +(source (origin
> +  (method url-fetch)
> +  (uri (string-append "mirror://cpan/authors/id/N/NE/NEILB/"
> +  "URI-Fetch-" version ".tar.gz"))
> +  (sha256
> +   (base32
> +"0rw6xiqm70s218aii9id3hf8j3pz6n22xnwd8v9m1ff2bnh63c0d"
> +(build-system p

Re: [PATCH] gnu: Add NetSurf.

2016-08-15 Thread Eric Bavier
On Thu, 11 Aug 2016 07:59:15 -0500
ericbav...@openmailbox.org wrote:

> From: Eric Bavier 
> 
> * gnu/packages/web.scm (netsurf): New variable.
> ---
>  gnu/packages/web.scm | 111 
> +++
>  1 file changed, 111 insertions(+)

Updated patch attached.

`~EricFrom 3aa59b69066d8850b3f62d05020df5aae0fbded3 Mon Sep 17 00:00:00 2001
From: Eric Bavier 
Date: Thu, 7 Jul 2016 00:55:41 -0500
Subject: [PATCH] gnu: Add NetSurf.

* gnu/packages/web.scm (netsurf): New variable.
* gnu/packages/patches/netsurf-about.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Add it.
---
 gnu/local.mk |   1 +
 gnu/packages/patches/netsurf-about.patch |  26 +++
 gnu/packages/web.scm | 116 +++
 3 files changed, 143 insertions(+)
 create mode 100644 gnu/packages/patches/netsurf-about.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index b7fa1c5..989ebb8 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -671,6 +671,7 @@ dist_patch_DATA =		\
   %D%/packages/patches/nasm-no-ps-pdf.patch			\
   %D%/packages/patches/net-tools-bitrot.patch			\
   %D%/packages/patches/netcdf-config-date.patch			\
+  %D%/packages/patches/netsurf-about.patch			\
   %D%/packages/patches/ngircd-handle-zombies.patch		\
   %D%/packages/patches/ngircd-no-dns-in-tests.patch		\
   %D%/packages/patches/ninja-tests.patch			\
diff --git a/gnu/packages/patches/netsurf-about.patch b/gnu/packages/patches/netsurf-about.patch
new file mode 100644
index 000..1fb8eae
--- /dev/null
+++ b/gnu/packages/patches/netsurf-about.patch
@@ -0,0 +1,26 @@
+--- netsurf-all-3.5/netsurf/gtk/about.c
 netsurf-all-3.5/netsurf/gtk/about.c
+@@ -79,11 +79,11 @@
+ 	switch (response_id) {
+ 
+ 	case ABOUT_RESPONSE_ID_LICENCE:
+-		about_open("about:credits");
++		about_open("about:licence");
+ 		break;
+ 
+ 	case ABOUT_RESPONSE_ID_CREDITS:
+-		about_open("about:licence");
++		about_open("about:credits");
+ 		break;
+ 	}
+ 
+--- netsurf-all-3.5/netsurf/desktop/version.c
 netsurf-all-3.5/netsurf/desktop/version.c
+@@ -20,6 +20,6 @@
+ 
+ #include "desktop/version.h"
+ 
+-const char * const netsurf_version = "3.5 (6th April 1016)";
++const char * const netsurf_version = "3.5 (6th April 2016)";
+ const int netsurf_version_major = 3;
+ const int netsurf_version_minor = 5;
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 9106295..637672e 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -52,12 +52,17 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages cyrus-sasl)
   #:use-module (gnu packages databases)
+  #:use-module (gnu packages bison)
+  #:use-module (gnu packages flex)
   #:use-module (gnu packages mit-krb5)
   #:use-module (gnu packages gd)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gperf)
+  #:use-module (gnu packages gtk)
   #:use-module (gnu packages icu4c)
+  #:use-module (gnu packages image)
   #:use-module (gnu packages lua)
   #:use-module (gnu packages base)
   #:use-module (gnu packages perl)
@@ -3389,3 +3394,114 @@ playback of HTTP request/response traces.")
 can easily be invoked on a single file.  Your partner can access the file with
 tools they trust (e.g. wget).")
 (license l:gpl2+)))
+
+(define-public netsurf
+  (package
+(name "netsurf")
+(version "3.5")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append "https://download.netsurf-browser.org/";
+   "netsurf/releases/source-full/netsurf-all-"
+   version ".tar.gz"))
+   (sha256
+(base32
+ "1vdldzcv42wykajmw8vbql0f1yd44gbx30kywfrrh2x3064ly609"))
+   (modules '((guix build utils)))
+   (snippet
+'(begin
+   (substitute* "Makefile"
+ ;; Do not clobber PKG_CONFIG_PATH from the environment
+ (("PKG_CONFIG_PATH = \\$")
+  "PKG_CONFIG_PATH := $(PKG_CONFIG_PATH):$")
+ ;; Honor make variables
+ (("shell cc") "shell $(CC)"
+   (patches (search-patches "netsurf-about.patch"
+(build-system glib-or-gtk-build-system)
+(native-inputs
+ `(("pkg-config" ,pkg-config)
+   ("perl" ,perl)
+   ("perl-html-parser" ,perl-html-parser)
+   ("flex" ,flex)
+   ("bison" ,bison)))
+(inputs
+ `(("gtk+" ,gtk+-2)
+   ("gperf" ,gperf)
+   ("curl" ,curl)
+   ("openssl" ,openssl)
+   ("libpng" ,libpng)
+   ("libjpeg" ,libjpeg)
+   ("expat" ,expat)))
+(arguments
+ `(#:make-flags `("CC=gcc" "BUILD_CC=gcc"
+  ,(string-append "PREFIX=" %output))
+   #:parallel-build? #f ;parallel builds not supported
+   #:tests? #f  ;no way to easily run from release tarball
+   #:modules ((ice-9 rdelim)
+  (ice-9 match)
+  (srfi srfi-1)
+

Re: [PATCH] gnu: Add minced.

2016-08-15 Thread Ben Woodcroft

Hi again,


On 16/08/16 14:59, Ben Woodcroft wrote:

[..]

+(home-page"https://github.com/ctSkennerton/minced";)
+(synopsis "Mining CRISPRs in Environmental Datasets")
+(description
+ "MinCED is a program to find Clustered Regularly Interspaced Short
+Palindromic Repeats (CRISPRs) in full genomes or environmental datasets such
+as metagenomes, in which sequence size can be anywhere from 100 to 800 bp.")
That description which you took from the README is a little dated at 
the end. How about this?

"MinCED is a program to find Clustered Regularly Interspaced Short
Palindromic Repeats (CRISPRs) in both full genomes and shorter metagenomic 
sequences."
I happen to know Connor, the maintainer of this package, and he suggests 
that it is more aimed at assembled sequence data than reads (for which 
he suggests the crass program is better). So how about this instead?


"MinCED is a program to find Clustered Regularly Interspaced Short 
Palindromic Repeats (CRISPRs) in DNA sequences. It can be used for 
unassembled metagenomic reads, but is mainly designed for full genomes 
and assembled metagenomic sequence."


ben