Update giac-xcas and wireshark

2016-10-20 Thread Nicolas Goaziou
Hello,

Here are updates for Giac-Xcas and Wireshark.

Regards,
-- 
Nicolas Goaziou0x80A93738
>From c26e7cb826ee2e232743c7e021bbe99d404b82e6 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou 
Date: Wed, 19 Oct 2016 23:52:57 +0200
Subject: [PATCH 1/2] gnu: giac-xcas: Update to 1.2.2-95.

* gnu/packages/algebra.scm (giac-xcas): Update to 1.2.2-95.
---
 gnu/packages/algebra.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 9e19d55..339db6e 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -202,7 +202,7 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.")
 (define-public giac-xcas
   (package
 (name "giac-xcas")
-(version "1.2.2-81")
+(version "1.2.2-95")
 (source (origin
   (method url-fetch)
   ;; "~parisse/giac" is not used because the maintainer regularly
@@ -214,7 +214,7 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.")
   "source/giac_" version ".tar.gz"))
   (sha256
(base32
-"0jwlx8b97zkly9gcbdfbj4mzyn21dbg1kgpw7j7vqs380jryzgfs"
+"1zyaz5pgj7w6ka4qxic4kmbcqcikpn8ry3jvhi2kd72hwa0v65y2"
 (build-system gnu-build-system)
 (arguments
  `(#:phases
-- 
2.10.1

>From 1293db095e38911ab46139caf65d4e97a1a9235f Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou 
Date: Thu, 20 Oct 2016 00:05:40 +0200
Subject: [PATCH 2/2] gnu: wireshark: Update to 2.2.1.

* gnu/packages/networking.scm (wireshark): Update to 2.2.1.
---
 gnu/packages/networking.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index da92379..52bd0c4 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -427,7 +427,7 @@ and up to 1 Mbit/s downstream.")
 (define-public wireshark
   (package
 (name "wireshark")
-(version "2.2.0")
+(version "2.2.1")
 (synopsis "Network traffic analyzer")
 (source
  (origin
@@ -436,7 +436,7 @@ and up to 1 Mbit/s downstream.")
version ".tar.bz2"))
(sha256
 (base32
- "010i7wpsv2231pwb1xdqs0xfwywi3514siidv6wnrfpw3rs7x156"
+ "0jciaqz119vmznd8mi4gq5dgwz7vn453cnm2086mxcy80jpj43lh"
 (build-system glib-or-gtk-build-system)
 (inputs `(("bison" ,bison)
   ("c-ares" ,c-ares)
-- 
2.10.1



Re: [PATCH] gnu: Add chromaprint.

2016-10-20 Thread Hartmut Goebel
Am 19.10.2016 um 22:25 schrieb Ludovic Courtès:
>> > +(arguments
>> > + `(#:tests? #f ; tests require googletest *sources*
> Weird.
>

Yes. From the issue I opened on this:[1]

That's the recommended way to use gtest. It's a C++ library and the
ABI depends on many compiler options. Debian based distributions
don't even ship a compiled package of gtest anymore.


IMHO gtest should get onto the list of "software to note use".

[1]https://bitbucket.org/acoustid/chromaprint/issues/19/build-failure-googletest-sources-are

-- 
Regards
Hartmut Goebel

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




[PATCH 2/2] gnu: Add python-axolotl.

2016-10-20 Thread Arun Isaac
* gnu/packages/python.scm (python-axolotl, python2-axolotl): New variables.
---
 gnu/packages/python.scm | 43 +++
 1 file changed, 43 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 8c6481a..085d8ea 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -11260,3 +11260,46 @@ python-axolotl.")
 
 (define-public python2-axolotl-curve25519
   (package-with-python2 python-axolotl-curve25519))
+
+(define-public python-axolotl
+  (package
+(name "python-axolotl")
+(version "0.1.35")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "https://github.com/tgalal/python-axolotl/archive/;
+ version ".tar.gz"))
+   (file-name (string-append name "-" version ".tar.gz"))
+   (sha256
+(base32 "1z8d89p7v40p4bwywjm9h4z28fdvra79ddw06azlkrfjbl7dxmz8"
+(build-system python-build-system)
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ ;; Don't install tests
+ (add-before 'install 'remove-tests
+   (lambda _
+ (for-each delete-file-recursively
+   '("axolotl/tests" "build/lib/axolotl/tests"))
+ #t)))
+   ;; Prevent creation of the egg. This works around
+   ;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=20765
+   #:configure-flags '("--root=/")))
+(native-inputs
+ `(("python-setuptools" ,python-setuptools)))
+(propagated-inputs
+ `(("python-axolotl-curve25519" ,python-axolotl-curve25519)
+   ("python-dateutil" ,python-dateutil)
+   ("python-protobuf" ,python-protobuf)
+   ("python-pycrypto" ,python-pycrypto)))
+(home-page "https://github.com/tgalal/python-axolotl;)
+(synopsis "Python port of libaxolotl-android")
+(description "This is a python port of libaxolotl-android.  This
+is a ratcheting forward secrecy protocol that works in synchronous and
+asynchronous messaging environments.")
+(license license:gpl3)))
+
+(define-public python2-axolotl
+  (package-with-python2 python-axolotl))
-- 
2.10.1




[PATCH 1/2] gnu: Add python-axolotl-curve25519.

2016-10-20 Thread Arun Isaac
* gnu/packages/python.scm (python-axolotl-curve25519,
  python2-axolotl-curve25519): 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 9019fc3..8c6481a 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -29,6 +29,7 @@
 ;;; Copyright © 2016 Marius Bakke 
 ;;; Copyright © 2016 Stefan Reichoer 
 ;;; Copyright © 2016 Dylan Jeffers 
+;;; Copyright © 2016 Arun Isaac 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -11226,3 +11227,36 @@ useful as a validator for JSON data.")
 
 (define-public python2-validictory
 (package-with-python2 python-validictory))
+
+(define-public python-axolotl-curve25519
+  (package
+(name "python-axolotl-curve25519")
+(version "0.1")
+(source
+ (origin
+   (method git-fetch)
+   (uri (git-reference
+ (url "git://github.com/tgalal/python-axolotl-curve25519")
+ (commit "e4a9c4de0eae27223200579c58d1f8f6d20637e2")))
+   (file-name (string-append name "-" version "-checkout"))
+   (sha256
+(base32
+ "0agap5q0hmvf6cwzjqc05kw53pjgf6942pcivpazksmg1vk400ra"
+(build-system python-build-system)
+(arguments
+ `(;; Prevent creation of the egg. This works around
+   ;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=20765
+   #:configure-flags '("--root=/")))
+(native-inputs
+ `(("python-setuptools" ,python-setuptools)))
+(home-page "https://github.com/tgalal/python-axolotl-curve25519;)
+(synopsis "Python wrapper for curve25519 library")
+(description "This is a python wrapper for the curve25519 library
+with ed25519 signatures.  The C code was pulled from
+libaxolotl-android.  At the moment this wrapper is meant for use by
+python-axolotl.")
+(license (list license:gpl3; Most files
+   license:isc ; curve/curve25519-donna.c
+
+(define-public python2-axolotl-curve25519
+  (package-with-python2 python-axolotl-curve25519))
-- 
2.10.1




[PATCH 2/2] gnu: gajim: Update to 0.16.6.

2016-10-20 Thread Arun Isaac
* gnu/packages/messaging.scm (gajim): Update to 0.16.6.
---
 gnu/packages/messaging.scm | 43 ++-
 1 file changed, 18 insertions(+), 25 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index f5a8c4a..4ce7310 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -452,7 +452,7 @@ was initially a fork of xmpppy, but is using non-blocking 
sockets.")
 (define-public gajim
   (package
 (name "gajim")
-(version "0.16.5")
+(version "0.16.6")
 (source (origin
   (method url-fetch)
   (uri (string-append "https://gajim.org/downloads/;
@@ -460,34 +460,27 @@ was initially a fork of xmpppy, but is using non-blocking 
sockets.")
   "/gajim-" version ".tar.bz2"))
   (sha256
(base32
-"14fhcqnkqygh91132dnf1idayj4r3iqbwb44sd3mxv20n6ribh55"
+"1p3qwzy07f0wkika9yigyiq167l2k6wn12flqa7x55z4ihbysmqk"
 (build-system gnu-build-system)
 (arguments
- `(;; The only check done by gajim-0.16.x is to check that the
-   ;; translations are up-to-date, and in 0.16.5 they are not, so
-   ;; "make check" fails.  Therefore, we disable tests for now.
-   ;;
-   ;; XXX TODO Try re-enabling tests in gajim-0.16.6 or later.
-   ;;
-   #:tests? #f
-   #:phases
+ `(#:phases
(modify-phases %standard-phases
  (add-after 'install 'wrap-program
-  (lambda* (#:key outputs #:allow-other-keys)
-;; Make sure all Python scripts run with the correct PYTHONPATH.
-(let ((out (assoc-ref outputs "out"))
-  (path (getenv "PYTHONPATH")))
-  (for-each (lambda (name)
-  (let ((file (string-append out "/bin/" name)))
-;; Wrapping destroys identification of intended
-;; application, so we need to override "APP".
-(substitute* file
-  (("APP=`basename \\$0`")
-   (string-append "APP=" name)))
-(wrap-program file
-  `("PYTHONPATH" ":" prefix (,path)
-'("gajim" "gajim-remote" "gajim-history-manager")))
-#t)
+   (lambda* (#:key outputs #:allow-other-keys)
+ ;; Make sure all Python scripts run with the correct PYTHONPATH.
+ (let ((out (assoc-ref outputs "out"))
+   (path (getenv "PYTHONPATH")))
+   (for-each (lambda (name)
+   (let ((file (string-append out "/bin/" name)))
+ ;; Wrapping destroys identification of intended
+ ;; application, so we need to override "APP".
+ (substitute* file
+   (("APP=`basename \\$0`")
+(string-append "APP=" name)))
+ (wrap-program file
+   `("PYTHONPATH" ":" prefix (,path)
+ '("gajim" "gajim-remote" "gajim-history-manager")))
+ #t)
 (native-inputs
  `(("intltool" ,intltool)))
 (propagated-inputs
-- 
2.10.1




[PATCH 1/2] gnu: gajim: License is "version 3 only".

2016-10-20 Thread Arun Isaac
* gnu/packages/messaging.scm (gajim)[license]: Change to GPL3.
---
 gnu/packages/messaging.scm | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 0089da1..f5a8c4a 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -504,7 +504,11 @@ Among its features are: a tabbed chat window and single 
window modes; support
 for group chat (with Multi-User Chat protocol), invitation, chat to group chat
 transformation; audio and video conferences; file transfer; TLS, GPG and
 end-to-end encryption support; XML console.")
-(license license:gpl3+)))
+;; Gajim is released under the GPL3 license, but a few files are
+;; released under the GPL3+ and the 2-clause BSD licenses
+(license (list license:gpl3
+   license:gpl3+
+   license:bsd-2
 
 (define-public prosody
   (package
-- 
2.10.1




[PATCH] environment: Add a prompt-name argument.

2016-10-20 Thread Roel Janssen
Dear Guix,

Having multiple virtual terminals open, each running in their own
environment created with @code{guix environment} can become confusing to
the user.  Therefore, I would like to add an option to pass a name to
the shell prompt.  Currently we default to "[env]".

This patch adds a -p and --prompt-name argument to @code{guix
environment}, and puts the argument's value between the square brackets
instead of "env".

Examples:
[roel@hostname guix]$ guix environment --container --prompt-name="guile" guile
roel@hostname ~/sources/guix [guile]#

[roel@hostname guix]$ guix environment --container -p "guile" guile 
  
roel@hostname ~/sources/guix [guile]#

[roel@hostname guix]$ guix environment --container guile
roel@hostname ~/sources/guix [env]#

Now, I don't know what the correct naming for the argument is
(prompt-name).  So, I have two questions:

0. Do you think we should apply this patch?
1. What name should the argument have?

Kind regards,
Roel Janssen

>From ea958e847019c94a2bde49285f1436dfec72e570 Mon Sep 17 00:00:00 2001
From: Roel Janssen 
Date: Thu, 20 Oct 2016 13:07:15 +0200
Subject: [PATCH] environment: Add a prompt-name argument.

* guix/scripts/environment.scm: Add --prompt-name (-p) argument.
---
 guix/scripts/environment.scm | 29 -
 1 file changed, 20 insertions(+), 9 deletions(-)

diff --git a/guix/scripts/environment.scm b/guix/scripts/environment.scm
index 0c69bfc..e36c97e 100644
--- a/guix/scripts/environment.scm
+++ b/guix/scripts/environment.scm
@@ -149,6 +149,8 @@ COMMAND or an interactive shell in that environment.\n"))
   --ad-hoc   include all specified packages in the environment 
instead
  of only their inputs"))
   (display (_ "
+  -p, --prompt-name  use PROMPT-NAME in the command prompt of the 
environment"))
+  (display (_ "
   --pure unset existing environment variables"))
   (display (_ "
   --search-paths display needed environment variable definitions"))
@@ -237,6 +239,9 @@ COMMAND or an interactive shell in that environment.\n"))
  (option '(#\N "network") #f #f
  (lambda (opt name arg result)
(alist-cons 'network? #t result)))
+ (option '(#\p "prompt-name") #t #f
+ (lambda (opt name arg result)
+   (alist-cons 'prompt-name arg result)))
  (option '("share") #t #f
  (lambda (opt name arg result)
(alist-cons 'file-system-mapping
@@ -376,7 +381,7 @@ environment variables are cleared before setting the new 
ones."
((_ . status) status)
 
 (define* (launch-environment/container #:key command bash user-mappings
-   profile paths network?)
+   profile paths network? prompt-name)
   "Run COMMAND within a container that features the software in PROFILE.
 Environment variables are set according to PATHS, a list of native search
 paths.  The global shell is BASH, a file name for a GNU Bash binary in the
@@ -434,7 +439,11 @@ host file systems to mount inside the container."
 (symlink bash "/bin/sh")
 
 ;; Set a reasonable default PS1.
-(setenv "PS1" "\\u@\\h \\w [env]\\$ ")
+(setenv "PS1" (string-append "\\u@\\h \\w ["
+ (if (not prompt-name)
+ "env"
+ prompt-name)
+ "]\\$ "))
 
 ;; Setup directory for temporary files.
 (mkdir-p "/tmp")
@@ -525,13 +534,14 @@ message if any test fails."
 ;; Entry point.
 (define (guix-environment . args)
   (with-error-handling
-(let* ((opts   (parse-args args))
-   (pure?  (assoc-ref opts 'pure))
-   (container? (assoc-ref opts 'container?))
-   (network?   (assoc-ref opts 'network?))
-   (bootstrap? (assoc-ref opts 'bootstrap?))
-   (system (assoc-ref opts 'system))
-   (command(or (assoc-ref opts 'exec)
+(let* ((opts(parse-args args))
+   (pure?   (assoc-ref opts 'pure))
+   (container?  (assoc-ref opts 'container?))
+   (network?(assoc-ref opts 'network?))
+   (prompt-name (assoc-ref opts 'prompt-name))
+   (bootstrap?  (assoc-ref opts 'bootstrap?))
+   (system  (assoc-ref opts 'system))
+   (command (or (assoc-ref opts 'exec)
;; Spawn a shell if the user didn't specify
;; anything in particular.
(if container?
@@ -604,6 +614,7 @@ message if any test fails."
   #:user-mappings mappings
   #:profile profile
   

Re: [PATCH 2/2] gnu: gajim: Update to 0.16.6.

2016-10-20 Thread Arun Isaac

Leo Famulari writes:

>>  (arguments
>> - `(;; The only check done by gajim-0.16.x is to check that the
>> -   ;; translations are up-to-date, and in 0.16.5 they are not, so
>> -   ;; "make check" fails.  Therefore, we disable tests for now.
>> -   ;;
>> -   ;; XXX TODO Try re-enabling tests in gajim-0.16.6 or later.
>> -   ;;
>> -   #:tests? #f
>
> Is that comment still true? If so, I think we can leave the tests
> disabled.

I was able to build gajim with the tests enabled. So, I'm assuming this
comment is no longer true.

>>   (add-after 'install 'wrap-program
>> -  (lambda* (#:key outputs #:allow-other-keys)
>> -;; Make sure all Python scripts run with the correct PYTHONPATH.
>> -(let ((out (assoc-ref outputs "out"))
>> -  (path (getenv "PYTHONPATH")))
>> -  (for-each (lambda (name)
>> -  (let ((file (string-append out "/bin/" name)))
>> -;; Wrapping destroys identification of intended
>> -;; application, so we need to override "APP".
>> -(substitute* file
>> -  (("APP=`basename \\$0`")
>> -   (string-append "APP=" name)))
>> -(wrap-program file
>> -  `("PYTHONPATH" ":" prefix (,path)
>> -'("gajim" "gajim-remote" "gajim-history-manager")))
>> -#t)
>> +   (lambda* (#:key outputs #:allow-other-keys)
>> + ;; Make sure all Python scripts run with the correct 
>> PYTHONPATH.
>> + (let ((out (assoc-ref outputs "out"))
>> +   (path (getenv "PYTHONPATH")))
>> +   (for-each (lambda (name)
>> +   (let ((file (string-append out "/bin/" name)))
>> + ;; Wrapping destroys identification of intended
>> + ;; application, so we need to override "APP".
>> + (substitute* file
>> +   (("APP=`basename \\$0`")
>> +(string-append "APP=" name)))
>> + (wrap-program file
>> +   `("PYTHONPATH" ":" prefix (,path)
>> + '("gajim" "gajim-remote" "gajim-history-manager")))
>> + #t)
>
> This is just an indentation fix, right? Just checking :)

Yes, this is just an indentation fix.

I'll send an updated set of patches with the changes to the "version 3
only" fix incorporated.


signature.asc
Description: PGP signature


Re: [PATCH 1/2] gnu: Add python-axolotl-curve25519.

2016-10-20 Thread Arun Isaac

> +(license (list license:gpl3; Most files
> +   license:isc ; curve/curve25519-donna.c

Do double check whether the license of curve/curve25519-donna.c is the
ISC license. I am not awfully sure.


signature.asc
Description: PGP signature


Re: [PATCH 1/2] gnu: Add python-setproctitle and python2-setproctitle.

2016-10-20 Thread Hartmut Goebel
Am 19.10.2016 um 16:45 schrieb Efraim Flashner:
>> > + (setenv "PYTHON" (or (which "python3") (which "python")))
>  IIRC (or ... here will return true,
>  which i'm sure is not the point.

https://www.gnu.org/software/guile/manual/html_node/and-or.html#and-or says:
"The value of the last evaluated expression is returned."

If it wouldn't, the code would not have worked here :-)

Thanks for the review, nevertheless:-)

-- 
Regards
Hartmut Goebel

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




signature.asc
Description: OpenPGP digital signature


Re: Cross-building bootstrap binaries fail in current master

2016-10-20 Thread Efraim Flashner
On Thu, Oct 20, 2016 at 11:07:14AM +0200, Carlos Sánchez de La Lama wrote:
> Hi all,
> 
> with current master (1dc30f92320c5e1b528a7eec2b0a4ce529f70c56), trying
> 
> guix build --target=i686-linux bootstrap-tarballs
> 
> fails with
> 
> --8<---cut here---start->8---
> starting phase `unpack'
> In execvp of tar: No such file or directory
> phase `unpack' failed after 0.0 seconds
> builder for
> `/gnu/store/cyr61arxvjxdaxgy8rk8rzibyi2hg3pq-make-boot0-4.2.drv' failed
> with exit code 1
> @ build-failed
> /gnu/store/cyr61arxvjxdaxgy8rk8rzibyi2hg3pq-make-boot0-4.2.drv - 1
> builder for
> `/gnu/store/cyr61arxvjxdaxgy8rk8rzibyi2hg3pq-make-boot0-4.2.drv' failed
> with exit code 1
> cannot build derivation
> `/gnu/store/s3ax042hlvymvl749hksalir695vphjm-gcc-cross-boot0-4.9.3.drv':
> 1 dependencies couldn't be built
> guix build: error: build failed: build of
> `/gnu/store/s3ax042hlvymvl749hksalir695vphjm-gcc-cross-boot0-4.9.3.drv'
> failed
> --8<---cut here---end--->8---
> 
> This used to work previously (like couple of weeks ago). Unfortunately,
> I updated my all my branches to send last patches, so I am not sure
> which commit I was using before.
> 
> Apparently, guile fails to execvp "tar".
> 
> Seems related to this:
> https://lists.gnu.org/archive/html/guix-devel/2015-01/msg00162.html
> 
> Any clues?
> 
> BR
> 
> Carlos
> 

strace isn't particularly helpful here, here's what I get trying to
bootstrap from x86_64 -> aarch64

read(10, "phase `install-locale' succeeded"..., 51) = 51
read(10, "\0\0\0\0\0", 5)   = 5
write(2, "phase `install-locale' succeeded"..., 51) = 51
read(10, "gmlo\0\0\0\0", 8) = 8
read(10, "\30\0\0\0\0\0\0\0", 8)= 8
read(10, "starting phase `unpack'\n", 24) = 24
write(2, "starting phase `unpack'\n", 24) = 24
read(10, "gmlo\0\0\0\0", 8) = 8
read(10, ",\0\0\0\0\0\0\0", 8)  = 8
read(10, "In execvp of tar: No such file o"..., 44) = 44
read(10, "\0\0\0\0", 4) = 4
write(2, "In execvp of tar: No such file o"..., 44) = 44
read(10, "gmlo\0\0\0\0", 8) = 8
read(10, "(\0\0\0\0\0\0\0", 8)  = 8
read(10, "phase `unpack' failed after 0.0 "..., 40) = 40
write(2, "phase `unpack' failed after 0.0 "..., 40) = 40
read(10, "gmlo\0\0\0\0", 8) = 8
read(10, "e\0\0\0\0\0\0\0", 8)  = 8
read(10, "builder for `/gnu/store/ckqpd9w4"..., 101) = 101
read(10, "\0\0\0", 3)   = 3
write(2, "builder for `/gnu/store/ckqpd9w4"..., 101) = 101
read(10, "gmlo\0\0\0\0", 8) = 8
read(10, "\267\0\0\0\0\0\0\0", 8)   = 8
read(10, "@ build-failed /gnu/store/ckqpd9"..., 183) = 183
read(10, "\0", 1)   = 1
write(2, "@ build-failed /gnu/store/ckqpd9"..., 183) = 183
read(10, "gmlo\0\0\0\0", 8) = 8
read(10, "\202\0\0\0\0\0\0\0", 8)   = 8
read(10, "cannot build derivation `/gnu/st"..., 130) = 130
read(10, "\0\0\0\0\0\0", 6) = 6
write(2, "cannot build derivation `/gnu/st"..., 130) = 130
read(10, "ptxc\0\0\0\0", 8) = 8
read(10, "W\0\0\0\0\0\0\0", 8)  = 8
read(10, "build of `/gnu/store/z4460vrlg1i"..., 87) = 87
read(10, "\0", 1)   = 1
read(10, "d", 1)= 1
read(10, "\0\0\0\0\0\0\0", 7)   = 7
close(10)   = 0

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


signature.asc
Description: PGP signature


Re: [PATCH 2/2] gnu: Add python-axolotl.

2016-10-20 Thread Arun Isaac

Hartmut Goebel writes:

> These must all be propagated-inputs.

Sure.

> The code includes tests in axolotl/tests/ (and maybe elsewhere. Please
> check if these are installed and if so, if they can be safely removed.

Yes, the tests were installed. I removed them, and as far as I can tell,
it seems to work fine.

> Did this Moxie Marlinspike write the python port or just the
> "libaxolotl-android"? In any case, persons should not be  glamorized in
> descriptions. We also do not write "PGP originally developed by Phill
> Zimmerman". This only leads to personality cult - and esp. this person
> is very debatable.

Sure.

I'll send an updated patch soon.


signature.asc
Description: PGP signature


Re: [PATCH 7/7] gnu: Add r-bioccheck.

2016-10-20 Thread Roel Janssen

Ricardo Wurmus writes:

> Roel Janssen  writes:
>
 +(define-public r-bioccheck
 +  (package
 +(name "r-bioccheck")
 +(version "1.10.0")
 +(source (origin
 +  (method url-fetch)
 +  (uri (bioconductor-uri "BiocCheck" version))
 +  (sha256
 +   (base32
 +"1rfy37xg1nc2cmgbclvzsi7sgmdcdjiahsx9crgx3yaw7kxgiack"
 +(properties
 + `((upstream-name . "BiocCheck")))
 +(build-system r-build-system)
 +(arguments
 + '(#:phases
 +   (modify-phases %standard-phases
 + ;; This package can be used by calling BiocCheck() from
 + ;; within R, or by running R CMD BiocCheck .  This phase
 + ;; makes sure the latter works.  For this to work, the BiocCheck
 + ;; script must be somewhere on the PATH (not the R bin 
 directory).
 + (add-after 'install 'install-bioccheck-subcommand
 +   (lambda _
 + (let ((dest-dir (string-append %output "/bin"))
 +   (script-dir
 +(string-append %output 
 "/site-library/BiocCheck/script/")))
>>>
>>> We usually prefer to do this
>>>
>>> (lambda* (#:key outputs #:allow-other-keys)
>>>   (let* ((out (assoc-ref outputs "out"))
>>>  … out …)))
>>>
>>> instead of using the magical “%output”.
>>
>> Ofcourse!  Sorry, I should've known this.
>>
>>
 +   (mkdir-p dest-dir)
 +   (zero? (system* "ln" "--symbolic"
 +   (string-append script-dir 
 "/checkBadDeps.R")
 +   (string-append dest-dir 
 "/checkBadDeps.R")))
 +   (zero? (system* "ln" "--symbolic"
 +   (string-append script-dir "/BiocCheck")
 +   (string-append dest-dir 
 "/BiocCheck")
>>>
>>> Would it work to use “install-file” here (or to use Guile’s “symlink
>>> oldpath newpath”) instead of shelling out?
>>
>> I prefer symlinking.  Sorry for being a shell-out.  I updated the patch
>> to use Guile's @code{symlink} instead (I wasn't aware of this function!).
>>
>> Here's the new patch:
>>
>>>From cce8a9580645011cf8f6b259296a4779633aa2af Mon Sep 17 00:00:00 2001
>> From: Roel Janssen 
>> Date: Thu, 20 Oct 2016 00:00:33 +0200
>> Subject: [PATCH] gnu: Add r-bioccheck.
>>
>> * gnu/packages/bioinformatics.scm (r-bioccheck): New variable.
>> ---
>>  gnu/packages/bioinformatics.scm | 46 
>> +
>>  1 file changed, 46 insertions(+)
>>
>> diff --git a/gnu/packages/bioinformatics.scm 
>> b/gnu/packages/bioinformatics.scm
>> index 3fe7b5f..8e426d0 100644
>> --- a/gnu/packages/bioinformatics.scm
>> +++ b/gnu/packages/bioinformatics.scm
>> @@ -5936,6 +5936,52 @@ Bioconductor PDF and HTML documents.  Package 
>> vignettes illustrate use and
>>  functionality.")
>>  (license license:artistic2.0)))
>>  
>> +(define-public r-bioccheck
>> +  (package
>> +(name "r-bioccheck")
>> +(version "1.10.0")
>> +(source (origin
>> +  (method url-fetch)
>> +  (uri (bioconductor-uri "BiocCheck" version))
>> +  (sha256
>> +   (base32
>> +"1rfy37xg1nc2cmgbclvzsi7sgmdcdjiahsx9crgx3yaw7kxgiack"
>> +(properties
>> + `((upstream-name . "BiocCheck")))
>> +(build-system r-build-system)
>> +(arguments
>> + '(#:phases
>> +   (modify-phases %standard-phases
>> + ;; This package can be used by calling BiocCheck() from
>> + ;; within R, or by running R CMD BiocCheck .  This phase
>> + ;; makes sure the latter works.  For this to work, the BiocCheck
>> + ;; script must be somewhere on the PATH (not the R bin directory).
>> + (add-after 'install 'install-bioccheck-subcommand
>> +   (lambda* (#:key outputs #:allow-other-keys)
>> + (let ((dest-dir (string-append (assoc-ref outputs "out") 
>> "/bin"))
>> +   (script-dir
>> +(string-append %output 
>> "/site-library/BiocCheck/script/")))
>
> You missed one “%output” :)
> I’d bind “out” it in the “let*” so that you don’t need to “assoc-ref” twice.

Aha! That's why you suggested binding "out" in the "let*"..  I applied
your suggestion.

>> +   (mkdir-p dest-dir)
>> +   (symlink (string-append script-dir "/checkBadDeps.R")
>> +(string-append dest-dir "/checkBadDeps.R"))
>> +   (symlink (string-append script-dir "/BiocCheck")
>> +(string-append dest-dir "/BiocCheck"
>
> One last thing: please let the lambda end with #t.
> Other than that it’s all good.

Right.  The return value of @code{symlink} is unspecified, so I just
added #t to the end of the lambda.

I pushed the patch with these 

Re: [PATCH 1/2] gnu: Add python-axolotl-curve25519.

2016-10-20 Thread Arun Isaac

Marius Bakke writes:

> You can provide a list of licenses in the license field.

I'll send an updated patch soon.


signature.asc
Description: PGP signature


Cross-building bootstrap binaries fail in current master

2016-10-20 Thread Carlos Sánchez de La Lama
Hi all,

with current master (1dc30f92320c5e1b528a7eec2b0a4ce529f70c56), trying

guix build --target=i686-linux bootstrap-tarballs

fails with

--8<---cut here---start->8---
starting phase `unpack'
In execvp of tar: No such file or directory
phase `unpack' failed after 0.0 seconds
builder for
`/gnu/store/cyr61arxvjxdaxgy8rk8rzibyi2hg3pq-make-boot0-4.2.drv' failed
with exit code 1
@ build-failed
/gnu/store/cyr61arxvjxdaxgy8rk8rzibyi2hg3pq-make-boot0-4.2.drv - 1
builder for
`/gnu/store/cyr61arxvjxdaxgy8rk8rzibyi2hg3pq-make-boot0-4.2.drv' failed
with exit code 1
cannot build derivation
`/gnu/store/s3ax042hlvymvl749hksalir695vphjm-gcc-cross-boot0-4.9.3.drv':
1 dependencies couldn't be built
guix build: error: build failed: build of
`/gnu/store/s3ax042hlvymvl749hksalir695vphjm-gcc-cross-boot0-4.9.3.drv'
failed
--8<---cut here---end--->8---

This used to work previously (like couple of weeks ago). Unfortunately,
I updated my all my branches to send last patches, so I am not sure
which commit I was using before.

Apparently, guile fails to execvp "tar".

Seems related to this:
https://lists.gnu.org/archive/html/guix-devel/2015-01/msg00162.html

Any clues?

BR

Carlos



Re: [PATCH] gnu: Add emacs-lua-mode.

2016-10-20 Thread ng0
Hi,

We already have lua-mode, what is the difference with this one?

http://git.savannah.gnu.org/cgit/guix.git/commit/?id=26e08b4d33918a844a42fd0f859ee640990ca757


David Thompson  writes:

> * gnu/packages/emacs.scm (emacs-lua-mode): New variable.
> ---
>  gnu/packages/emacs.scm | 21 +
>  1 file changed, 21 insertions(+)
>
> diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
> index 6e9c181..fbde046 100644
> --- a/gnu/packages/emacs.scm
> +++ b/gnu/packages/emacs.scm
> @@ -3252,3 +3252,24 @@ This package contains the library runtime.")
>  (description "This package provides an Emacs major mode for
>  editing nginx config files.")
>  (license license:gpl2+)))
> +
> +(define-public emacs-lua-mode
> +  (package
> +(name "emacs-lua-mode")
> +(version "20151025")
> +(source
> + (origin
> +   (method url-fetch)
> +   (uri (string-append "https://github.com/immerrr/lua-mode/archive/;
> +   version ".tar.gz"))
> +   (sha256
> +(base32
> + "0sbhfny5ib65cnx6xcy6h9bbw27mw034s8m9cca00bhxqaqi6p4v"))
> +   (file-name (string-append name "-" version ".tar.gz"
> +(build-system emacs-build-system)
> +(home-page "http://immerrr.github.com/lua-mode;)
> +(synopsis "Major mode for editing Lua source code")
> +(description "Lua-mode provides support for editing Lua, including 
> automatic
> +indentation, syntactical font-locking, running interactive shell, interacting
> +with hs-minor-mode and online documentation lookup.")
> +(license license:gpl3+)))
> -- 
> 2.8.3
>
>
>



[PATCH] gnu: Add emacs-lua-mode.

2016-10-20 Thread David Thompson
* gnu/packages/emacs.scm (emacs-lua-mode): New variable.
---
 gnu/packages/emacs.scm | 21 +
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 6e9c181..fbde046 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -3252,3 +3252,24 @@ This package contains the library runtime.")
 (description "This package provides an Emacs major mode for
 editing nginx config files.")
 (license license:gpl2+)))
+
+(define-public emacs-lua-mode
+  (package
+(name "emacs-lua-mode")
+(version "20151025")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append "https://github.com/immerrr/lua-mode/archive/;
+   version ".tar.gz"))
+   (sha256
+(base32
+ "0sbhfny5ib65cnx6xcy6h9bbw27mw034s8m9cca00bhxqaqi6p4v"))
+   (file-name (string-append name "-" version ".tar.gz"
+(build-system emacs-build-system)
+(home-page "http://immerrr.github.com/lua-mode;)
+(synopsis "Major mode for editing Lua source code")
+(description "Lua-mode provides support for editing Lua, including 
automatic
+indentation, syntactical font-locking, running interactive shell, interacting
+with hs-minor-mode and online documentation lookup.")
+(license license:gpl3+)))
-- 
2.8.3




Re: [PATCH] Add scheme-bytestructures

2016-10-20 Thread Amirouche Boubekki
On Thu, Oct 20, 2016 at 4:00 PM Ludovic Courtès  wrote:

> Hello,
>
> Amirouche Boubekki  skribis:
>
> > find-files does the right thing, there is no need to filter what it
> returns.
> > From ea88bf4b53a63ba0d54f71622d055c32cd7e346e Mon Sep 17 00:00:00 2001
> > From: Amirouche 
> > Date: Sun, 9 Oct 2016 12:31:20 +0200
> > Subject: [PATCH] gnu: Add guile-bytestructures
> >
> > * gnu/packages/guile.scm (guile-bytestructures): New variable.
>
> I had to make these extra modifications (the package you sent built but
> the result was a bunch of empty directories because ‘find-files’ was
> called from the wrong directory):
>
>
> However, with those changes, I get:
>
> --8<---cut here---start->8---
>

[...]


> ERROR: In procedure scm-error:
> ERROR: Failed to compile "bytestructures/r7/base.scm" to
> "/gnu/store/m0lqx4wli55dfj45nsjhlhlvgql1p974-guile-bytestructures-20160726.53127f6/share/guile/site/2.0/bytestructures/r7/base.go"!
> --8<---cut here---end--->8---
>
> Could you look into it and submit and updated patch?
>

It was the r7 files that could not be compiled. I filtered them.
From a40c2f8da528b4d1010cdf9d1ce96059ec084078 Mon Sep 17 00:00:00 2001
From: Amirouche 
Date: Sun, 9 Oct 2016 12:31:20 +0200
Subject: [PATCH] gnu: Add guile-bytestructures

* gnu/packages/guile.scm (guile-bytestructures): New variable.
---
 gnu/packages/guile.scm | 81 ++
 1 file changed, 81 insertions(+)

diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 43071e6..2325a25 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -8,6 +8,7 @@
 ;;; Copyright © 2016 Eraim Flashner 
 ;;; Copyright © 2016 Alex Kost 
 ;;; Copyright © 2016 Adonay "adfeno" Felipe Nogueira  
+;;; Copyright © 2016 Amirouche 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1267,4 +1268,84 @@ is no support for parsing block and inline level HTML.")
 (define-public guile2.2-commonmark
   (package-for-guile-2.2 guile-commonmark))
 
+(define-public guile-bytestructures
+  (package
+(name "guile-bytestructures")
+(version "20160726.53127f6")
+(source (origin
+  (method git-fetch)
+  (uri (git-reference
+(url "https://github.com/TaylanUB/scheme-bytestructures;)
+(commit "53127f608caf64b34fa41c389b2743b546fbe9da")))
+  (file-name (string-append name "-" version "-checkout"))
+  (sha256
+   (base32
+"0l4nx1vp9fkrgrgwjiycj7nx6wfjfd39rqamv4pmq7issi8mrywq"
+(build-system trivial-build-system)
+(arguments
+ `(#:modules ((guix build utils))
+   #:builder
+   (begin
+ (use-modules (guix build utils)
+  (ice-9 match)
+  (ice-9 popen)
+  (ice-9 rdelim))
+ (let* ((out (assoc-ref %outputs "out"))
+(guile (assoc-ref %build-inputs "guile"))
+(effective (read-line
+(open-pipe* OPEN_READ
+(string-append guile "/bin/guile")
+"-c" "(display (effective-version))")))
+(module-dir (string-append out "/share/guile/site/"
+   effective))
+(source (assoc-ref %build-inputs "source"))
+(doc (string-append out "/share/doc/scheme-bytestructures"))
+(scm-files (filter (lambda (path)
+ (not (string-prefix? "bytestructures/r7" path)))
+   (with-directory-excursion source
+ (find-files "bytestructures" "\\.scm$"
+(guild (string-append (assoc-ref %build-inputs "guile")
+  "/bin/guild")))
+   ;; Make installation directories.
+   (mkdir-p doc)
+
+   ;; Compile .scm files and install.
+   (chdir source)
+   (setenv "GUILE_AUTO_COMPILE" "0")
+   (for-each (lambda (file)
+   (let* ((dest-file (string-append module-dir "/"
+file))
+  (go-file (string-append module-dir "/"
+  (substring file 0
+ (string-rindex file #\.))
+  ".go")))
+ ;; Install source module.
+ (mkdir-p (dirname dest-file))
+ (copy-file file dest-file)
+
+

Re: Guix "ops"

2016-10-20 Thread Christopher Allan Webber
Ludovic Courtès writes:

> Christopher Allan Webber  skribis:
>
>>  - Should I build the entire derivation of the system I want to run on
>>the remote machine locally first, then copy that over?  (I assume
>>this is possible, and eventually desirable, especially if doing
>>mass deployments?  But it might not be desirable in every case.)
>>Would that use the substitute mechanism?
>
> Yes!  :-)
>
> Essentially deployment would work like this:
>
>   1. Compute the system derivation and build it locally (i.e., on the
>  machine where ‘guix deploy’ is running.)
>
>  As a user, you can choose to have offloading setup such that the
>  actual build will take place on (some of) the target machines, but
>  that’s completely orthogonal.
>
>   2. Send the derivation out to the target(s) that are real machines.
>  For targets that are local containers or VMs, there’s nothing to
>  do.
>
>   3. On targets that are real machines, perform the equivalent of ‘guix
>  system reconfigure’—i.e., update the /run/current-system symlink,
>  restart Shepherd services that can be restarted, etc.
>
> IIRC David was testing using VMs and containers as the targets (the
>  record¹) because it’s easier.
>
> Does that make sense?
>
> Hopefully David will correct me.  :-)

Ok, it does make sense!

It's nice to see the examples in the docs of exporting a system over
ssh, even.  Anyway, I played with "guix archive" this morning; it works
well.  So, sending an entire closure over the network: should be easy.

I see that there's a --missing field; I'm a little bit unsure of how two
machines would coordinate here though with the existing tooling... it
doesn't look like we have a way to export the list of packges that
--missing could then read in?  And then you'd need to feed whatever
--missing gave you back into --export I guess.

Anyway, it does seem like this is the right direction!  Exciting!
 - Chris

>
> Ludo’.
>
> ¹ https://lists.gnu.org/archive/html/guix-devel/2015-07/msg00320.html




Re: Display diffs between generations.

2016-10-20 Thread Ludovic Courtès
Roel Janssen  skribis:

> Ludovic Courtès writes:

[...]

>> I think what I’m suggesting is that the first matching generation should
>> be displayed in full using ‘display-profile-content’, and subsequent
>> generations would be displayed as a diff.
>>
>> Thus, when viewing a single generation, as with --list-generations=42,
>> we’d only display the full contents of that generation.
>>
>> Does that make sense?
>
> Ah, sorry, I forgot about this.  This makes sense.  But then, what should we
> see when we do:
>
>   guix package --list-generations=42,46
>
> Should we see:
>   Generation 42 ...:
>   
>
>   Generation 46 ...:
>   

This one, IMO.

Ludo’.



Re: [PATCH 1/1] services: ntpd: Make large clock adjustments if necessary.

2016-10-20 Thread Ludovic Courtès
Leo Famulari  skribis:

> On Wed, Oct 19, 2016 at 10:49:32PM +0200, Ludovic Courtès wrote:
>> diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm
>> index 7495179..ce281c5 100644
>> --- a/gnu/services/networking.scm
>> +++ b/gnu/services/networking.scm
>> @@ -265,11 +265,13 @@ Protocol (DHCP) client, on all the non-loopback 
>> network interfaces."
>>ntp-configuration?
>>(ntp  ntp-configuration-ntp
>>  (default ntp))
>> -  (servers  ntp-configuration-servers))
>> +  (servers  ntp-configuration-servers)
>> +  (allow-large-adjustment? ntp-allow-large-adjustment?
>> +   (default #f)))
>>  
>>  (define ntp-shepherd-service
>>(match-lambda
>> -(($  ntp servers)
>> +(($  ntp servers allow-large-adjustment?)
>>   (let ()
>> ;; TODO: Add authentication support.
>> (define config
>> @@ -296,7 +298,10 @@ restrict -6 ::1\n"))
>>(requirement '(user-processes networking))
>>(start #~(make-forkexec-constructor
>>  (list (string-append #$ntp "/bin/ntpd") "-n"
>> -  "-c" #$ntpd.conf "-u" "ntpd")))
>> +  "-c" #$ntpd.conf "-u" "ntpd"
>> +  #$@(if allow-large-adjustment?
>> + '("-g")
>> + '()
>>(stop #~(make-kill-destructor
>>  
>>  (define %ntp-accounts
>> @@ -331,10 +336,13 @@ restrict -6 ::1\n"))
>>ntp-service-activation)
>>  
>>  (define* (ntp-service #:key (ntp ntp)
>> -  (servers %ntp-servers))
>> +  (servers %ntp-servers)
>> +  allow-large-adjustment?)
>>"Return a service that runs the daemon from @var{ntp}, the
>>  @uref{http://www.ntp.org, Network Time Protocol package}.  The daemon will
>> -keep the system clock synchronized with that of @var{servers}."
>> +keep the system clock synchronized with that of @var{servers}.
>> +@var{allow-large-adjustment?} determines whether @command{ntpd} is allowed 
>> to
>> +make an initial adjustment of more than 1,000 seconds."
>>(service ntp-service-type
>> (ntp-configuration (ntp ntp) (servers servers
>>  
>
>> 
>> If that’s fine with you, I’ll commit it with a doc update.
>
> It looks good to me! Once we can run GuixSD on armhf or aarch64, I bet
> we will have lots of users with hardware lacking a battery-backed real
> time clock, and they will appreciate this option.

Good point.  Pushed as dc0322b5d12e1d97e2cc456100c44dd31bb6.

Ludo’.



Re: [PATCH 1/2] gnu: gajim: License is "version 3 only".

2016-10-20 Thread Ludovic Courtès
Leo Famulari  skribis:

> On Wed, Oct 19, 2016 at 10:20:04AM +0530, Arun Isaac wrote:
>> * gnu/packages/messaging.scm (gajim)[license]: Change to GPL3.
>
> Thanks for checking on this!
>
> Indeed, the bulk of the license headers say "version 3 only", so I think
> gajim is GPL3. But, I found a few files that are GPL3+, and at least one
> 2-clause BSD licensed file in 'src/command-system'.
>
> Can you revise this patch to give a license list, with comments
> explaining that the package is GPL3 but includes some
> differently-licensed components?

Given that the combination is GPLv3-only in practice, I think it’s
enough to write ‘gpl3’ (I know we’ve been somewhat inconsistent here…).

Ludo’.



Re: [PATCH] gnu: Add emacs-d-mode.

2016-10-20 Thread Ludovic Courtès
Roel Janssen  skribis:

>>From 9a83259640de620241bd36254cbae5ec0500a399 Mon Sep 17 00:00:00 2001
> From: Roel Janssen 
> Date: Wed, 19 Oct 2016 13:22:57 +0200
> Subject: [PATCH] gnu: Add emacs-d-mode.
>
> * gnu/packages/emacs.scm (emacs-d-mode): New variable.

Go for it, thanks!

Ludo’.



[PATCH 4/4] gnu: Add python-flask-sqlalchemy.

2016-10-20 Thread Danny Milosavljevic
* gnu/packages/python.scm (python-flask-sqlalchemy): New variable.
---
 gnu/packages/python.scm | 23 +++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 60ef79c..a21ffc8 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -11301,3 +11301,26 @@ useful as a validator for JSON data.")
 (description
   "This package provides HTTP basic access authentication for Flask.")
 (license license:bsd-3)))
+
+(define-public python-flask-sqlalchemy
+  (package
+(name "python-flask-sqlalchemy")
+(version "2.1")
+(source
+  (origin
+(method url-fetch)
+(uri (pypi-uri "Flask-SQLAlchemy" version))
+(sha256
+  (base32
+"1i9ps5d5snih9xlqhrvmi3qfiygkmqzxh92n25kj4pf89kj4s965"
+(build-system python-build-system)
+(propagated-inputs
+ `(("python-flask" ,python-flask)
+   ("python-sqlalchemy" ,python-sqlalchemy)))
+(home-page
+  "http://github.com/mitsuhiko/flask-sqlalchemy;)
+(synopsis
+  "Module adding SQLAlchemy support to your Flask application")
+(description
+  "This package adds SQLAlchemy support to your Flask application.")
+(license license:bsd-3)))



[PATCH 0/4] Add some Flask modules

2016-10-20 Thread Danny Milosavljevic
Danny Milosavljevic (4):
  gnu: Add python-aniso8601.
  gnu: Add python-flask-restful.
  gnu: Add python-flask-basicauth.
  gnu: Add python-flask-sqlalchemy.

 gnu/packages/python.scm | 98 +
 1 file changed, 98 insertions(+)




Re: [PATCH 1/2] gnu: network-manager: Update to 1.4.2.

2016-10-20 Thread Ludovic Courtès
ng0  skribis:

> * gnu/packages/gnome.scm (network-manager): Update to 1.4.2.

Applied to core-updates.

Ludo’.



Re: [PATCH 2/2] gnu: network-manager-applet: Update to 1.4.2.

2016-10-20 Thread Ludovic Courtès
ng0  skribis:

> * gnu/packages/gnome.scm (network-manager-applet): Update to 1.4.2.

Applied to core-updates, thanks!

Ludo’.



Re: [PATCH 2/2] gnu: network-manager-applet: Update to 1.4.2.

2016-10-20 Thread Kei Kebreau
l...@gnu.org (Ludovic Courtès) writes:

> ng0  skribis:
>
>> * gnu/packages/gnome.scm (network-manager-applet): Update to 1.4.2.
>
> Applied to core-updates, thanks!
>
> Ludo’.

I have a question. The network-manager service doesn't seem to work in
my VM, i.e. network-manager-applet gives the message "NetworkManager is
not running". Is this the case with the current network-manager service?


signature.asc
Description: PGP signature


[PATCH 3/4] gnu: Add python-flask-basicauth.

2016-10-20 Thread Danny Milosavljevic
* gnu/packages/python.scm (python-flask-basicauth): New variable.
---
 gnu/packages/python.scm | 22 ++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index ea56079..60ef79c 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -11279,3 +11279,25 @@ useful as a validator for JSON data.")
 (description
   "This package contains a Flask module for creating REST APIs.")
 (license license:bsd-3)))
+
+(define-public python-flask-basicauth
+  (package
+(name "python-flask-basicauth")
+(version "0.2.0")
+(source
+  (origin
+(method url-fetch)
+(uri (pypi-uri "Flask-BasicAuth" version))
+(sha256
+  (base32
+"1zq1spkjr4sjdnalpp8wl242kdqyk6fhbnhr8hi4r4f0km4bspnz"
+(build-system python-build-system)
+(propagated-inputs
+ `(("python-flask" ,python-flask)))
+(home-page
+  "https://github.com/jpvanhal/flask-basicauth;)
+(synopsis
+  "HTTP basic access authentication for Flask.")
+(description
+  "This package provides HTTP basic access authentication for Flask.")
+(license license:bsd-3)))



[PATCH 1/4] gnu: Add python-aniso8601.

2016-10-20 Thread Danny Milosavljevic
* gnu/packages/python.scm (python-aniso8601): New variable.
---
 gnu/packages/python.scm | 22 ++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 9019fc3..d60bec0 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -11226,3 +11226,25 @@ useful as a validator for JSON data.")
 
 (define-public python2-validictory
 (package-with-python2 python-validictory))
+
+(define-public python-aniso8601
+  (package
+(name "python-aniso8601")
+(version "1.1.0")
+(source
+  (origin
+(method url-fetch)
+(uri (pypi-uri "aniso8601" version))
+(sha256
+  (base32
+"1k5mjg9iqbjfslb5prrsfz7dhlvi6s35p1jxq8dm87w1b7dn5i2g"
+(build-system python-build-system)
+(propagated-inputs
+ `(("python-dateutil-2" ,python-dateutil-2)))
+(home-page
+  "https://bitbucket.org/nielsenb/aniso8601;)
+(synopsis
+  "Python library for parsing ISO 8601 strings")
+(description
+  "This package contains a library for parsing ISO 8601 datetime strings.")
+(license license:bsd-3)))



Re: half-package of autossh

2016-10-20 Thread Christopher Allan Webber
Christopher Allan Webber writes:

> Hello all!  I got autossh packaged, at least in theory.  I use this all
> the time when on Debian.
>
> And yet, though the binary appears on my profile, it seems to do nothing
> in Guix.  I'm not sure why this is.
>
> I should be able to do:
>
>   autossh fencepost.gnu.org
>
> and it should work, but instead I just see the help text printed.
>
> Any ideas?  Or if anyone wanting to finish a mysteriously busted
> package, have at it.

Well, guess what!  It turns out my patch was just fine.  It turns out
what you need to do is:

  autossh -M 0 fencepost.gnu.org

It appears Debian must have applied a patch (I haven't verified this)
that makes "-M 0" the default.  Otherwise this works just fine.

I've actually been using it for a while but forgot to contribute it.

Here's the updated patch!  If people are ok with it, I'd like to push
it.

>From c718ca3986750c255a58b87d9e6805e56c1ffc72 Mon Sep 17 00:00:00 2001
From: Christopher Allan Webber 
Date: Mon, 8 Feb 2016 16:01:49 -0800
Subject: [PATCH] gnu: Add autossh.

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

diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm
index af5aae1..9c76f48 100644
--- a/gnu/packages/ssh.scm
+++ b/gnu/packages/ssh.scm
@@ -5,6 +5,7 @@
 ;;; Copyright © 2015, 2016 Efraim Flashner 
 ;;; Copyright © 2016 Leo Famulari 
 ;;; Copyright © 2016 Nicolas Goaziou 
+;;; Copyright © 2016 Christopher Allan Webber 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -506,3 +507,30 @@ manipulating key files.")
 authentication with SSH's so-called @dfn{interactive keyboard password
 authentication}.")
 (license license:gpl2+)))
+
+(define-public autossh
+  (package
+(name "autossh")
+(version "1.4e")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "http://www.harding.motd.ca/autossh/autossh-;
+ version ".tgz"))
+   (sha256
+(base32 "0mlicw28vq2jxa0jf0dys5ja75v0fxpjavlq9dpif6bnknji13ly"
+(build-system gnu-build-system)
+(arguments `(#:tests? #f)) ; There is no "make check" or anything similar
+(inputs `(("openssh" ,openssh)))
+(synopsis "Automatically restart SSH sessions and tunnels")
+(description "autossh is a program to start a copy of ssh and 
+monitor it, restarting it as necessary should it die or stop 
+passing traffic. The idea is from rstunnel (Reliable SSH Tunnel), 
+but implemented in C.")
+(home-page "http://www.harding.motd.ca/autossh/;)
+(license
+ ;; Why point to a source file?  Well, all the individual files have a
+ ;; copy of this license in their headers, but there's no seprate file
+ ;; with that information.
+ (license:non-copyleft "file://autossh.c"
-- 
2.10.1



Re: [PATCH 2/2] gnu: Add bluefish.

2016-10-20 Thread rennes

Hello,
I updated the patch.

On 2016-10-17 18:33, ren...@openmailbox.org wrote:

Hello,
I updated my git repository and have generated patches.


If you do not have a branch, do the follwoing:

git checkout -b gnome-bluefish
# search for your two patches, e.g using "git reflog | grep gunimap"
and "git reflog | grep bluefish"
git cherry-pick abcdefg  # use commit-id of gunimap patch
git cherry-pick abcdefg  # use commit-id of bluefish patchFrom 505226e2ac5140d4501d5c8beb3e02eebde3ca8f Mon Sep 17 00:00:00 2001
From: Rene Saavedra 
Date: Thu, 20 Oct 2016 20:30:40 -0500
Subject: [PATCH 2/2] gnu: Add bluefish.

* gnu/packages/gnome.scm (bluefish): New variable.
---
 gnu/packages/gnome.scm | 31 +++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index b7dcd01..5f4fc82 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -5605,3 +5605,34 @@ characters and categories for the installed fonts, and to examine their
 detailed properties.  It is an easy way to find the character you might
 only know by its Unicode name or code point.")
 (license license:gpl3+)))
+
+(define-public bluefish
+  (package
+(name "bluefish")
+(version "2.2.9")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append "http://www.bennewitz.com/bluefish/stable/source/;
+   name "-" version ".tar.gz"))
+   (sha256
+(base32
+ "1vnl6raxbvc4hacg3pr6sqyjh707d304dhk5nyhlp7m0m1y3j756"
+(build-system gnu-build-system)
+(native-inputs
+ `(("desktop-file-utils" ,desktop-file-utils)
+   ("intltool" ,intltool)
+   ("pkg-config" ,pkg-config)))
+(inputs
+ `(("enchant" ,enchant)
+   ("gtk+" ,gtk+)
+   ("python" ,python-2)
+   ("xmllint" ,libxml2)
+   ("gucharmap" ,gucharmap)))
+(home-page "http://bluefish.openoffice.nl;)
+(synopsis "Web development studio")
+(description
+ "Bluefish is an editor targeted towards programmers and web developers,
+with many options to write web sites, scripts and other code.
+Bluefish supports many programming and markup languages.")
+(license license:gpl3+)))
-- 
2.10.0



Re: Display diffs between generations.

2016-10-20 Thread Ludovic Courtès
Roel Janssen  skribis:

> Ludovic Courtès writes:

[...]

>> I don’t think so.  The old behavior will always be available by
>> specifying a single generation anyway:
>>
>>   guix package --list-generations=42
>>
>> It may be worth mentioning this in the manual.
>>
>> My understanding of the discussion referred above is that people were
>> fine with that (or indifferent ;-)).
>
> Then the following patch should be it.  I applied your genius
> suggestions of using @code{display-entry} instead of
> @code{display-entries}.  I learned something new again today. :-)

Heh.  :-)

>>From 5630a512f16c6677fd5b0b8085e2ef15cb10499b Mon Sep 17 00:00:00 2001
> From: Roel Janssen 
> Date: Wed, 19 Oct 2016 23:38:11 +0200
> Subject: [PATCH] guix package: Display generation diffs.
>
> * guix/ui.scm (display-profile-content-diff): New variable.
> * guix/scripts/package.scm (process-query): Use display-profile-content-diff.

The code LGTM, but it doesn’t implement the behavior I suggested above
for --list-generations=42, which I think I didn’t explain correctly.

I think what I’m suggesting is that the first matching generation should
be displayed in full using ‘display-profile-content’, and subsequent
generations would be displayed as a diff.

Thus, when viewing a single generation, as with --list-generations=42,
we’d only display the full contents of that generation.

Does that make sense?

Sorry for not clarifying this in the first place!  I guess that wasn’t
entirely clear to me either.  ;-)

Thanks,
Ludo’.



Re: [PATCH] improve nginx-service

2016-10-20 Thread Julien Lepiller
On Wed, 19 Oct 2016 23:04:14 +0200
l...@gnu.org (Ludovic Courtès) wrote:

> Hi Julien,
> 
> This looks like a great improvement to me!  Sounds nicer than fiddling
> with config files.
> 
> I suppose we could make ‘nginx-service-type’ extensible (info "(guix)
> Service Types and Services") so that people can write services that
> define new vhosts?

You mean something like udev-service-type where you could extend it
with a list of vhosts?

Except for that comment, I modified the patch following your advice.

> 
> Julien Lepiller  skribis:
> 
> > From 613d5db739d4010be2037fd2fcfc70baca4625aa Mon Sep 17 00:00:00
> > 2001 From: Julien Lepiller 
> > Date: Mon, 26 Sep 2016 23:55:58 +0200
> > Subject: [PATCH] services: improve nginx-service configuration
> >
> > * gnu/services/web.scm (): New record
> > type.
> > * doc/guix.texi (Web Services): Document
> > 'nginx-vhost-configuration'.  
> 
> Please mention the other changes in web.scm: new procedures, changes
> in existing procedures, etc.
> 
> > +As an alternative to using a @var{config-file}, @var{vhost-list}
> > can be +used to specify the list of vhosts required on the host.
> > For this to work,  
> 
> “the list of @dfn{virtual hosts} or @dfn{vhosts}”
> 
> > +@deftp {Data Type} nginx-vhost-configuration
> > +Data type representing the configuration of an nginx virtual
> > host.  
> 
> @dfn{virtual host}
> 
> > +This type has the following parameters:
> > +@table @asis
> > +@item @code{http-port} (default: 80)  
> 
> @code{80}; likewise for all the other default values.
> 
> > +Nginx will listen for http connection on this port. Set it at #f
> > if nginx should +not listen for http (non secure) connection for
> > this vhost.  
> 
> s/http/HTTP/ and s/#f/@code{#f}/
> Please leave two spaces after an end-of-sentence period.
> 
> > +(define (list-names names)
> > + (match names
> > +  ('() "")
> > +  ((head tail ...) (string-append (if (eq? head 'default) "_" head)
> > +  " "
> > +  (list-names tail)  
> 
> Maybe call it ‘config-value-strings’?  Please add a docstring.  I
> think it’d be more readable like this:
> 
>   (define (config-value-strings names)
> "Return a string denoting the nginx config representation of
> NAMES, a list of foobars…"
> (string-concatenate
>  (map (match-lambda
> ('default "_")
> ((? string? str) str))
>   names)))
> 
> Could you send an updated patch?
> 
> Unless David, who initially wrote this service has objections, this
> patch looks good to me with the changes as suggested above.
> 
> Thanks!
> 
> Ludo’.

From 8bda6fdd53b3cc7470fac67228a88e0d165134dd Mon Sep 17 00:00:00 2001
From: Julien Lepiller 
Date: Mon, 26 Sep 2016 23:55:58 +0200
Subject: [PATCH] services: improve nginx-service configuration

* gnu/services/web.scm (): New record type.
(config-domain-strings): New procedure.
(config-index-strings): New procedure.
(default-nginx-vhost-config): New procedure.
(default-nginx-config): Add vhost support and temporary directories
(nginx-activation): Create temporary directories
(nginx-service): Add vhost-list key.
* doc/guix.texi (Web Services): Document 'nginx-vhost-configuration'.
---
 doc/guix.texi| 46 ++
 gnu/services/web.scm | 92 +---
 2 files changed, 134 insertions(+), 4 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 0c5d641..c36a29c 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -10394,6 +10394,7 @@ The @code{(gnu services web)} module provides the following service:
 @deffn {Scheme Procedure} nginx-service [#:nginx nginx] @
[#:log-directory ``/var/log/nginx''] @
[#:run-directory ``/var/run/nginx''] @
+   [#:vhost-list (list (nginx-vhost-configuration))] @
[#:config-file]
 
 Return a service that runs @var{nginx}, the nginx web server.
@@ -10404,8 +10405,53 @@ files are written to @var{run-directory}.  For proper operation, these
 arguments should match what is in @var{config-file} to ensure that the
 directories are created when the service is activated.
 
+As an alternative to using a @var{config-file}, @var{vhost-list} can be
+used to specify the list of @dfn{virtual hosts} required on the host.  For
+this to work, use the default value for @var{config-file}.
+
 @end deffn
 
+@deftp {Data Type} nginx-vhost-configuration
+Data type representing the configuration of an nginx virtual host.
+This type has the following parameters:
+@table @asis
+@item @code{http-port} (default: @code{80})
+Nginx will listen for HTTP connection on this port.  Set it at @code{#f} if
+nginx should not listen for HTTP (non secure) connection for this
+@dfn{virtual host}.
+
+@item @code{https-port} (default: @code{443})
+Nginx will listen for HTTPS connection on this port.  Set it at @code{#f} if
+nginx should not listen for HTTPS (secure) connection 

Re: [PATCH] gnu: bash-minimal: Assume getcwd works correctly when cross-compiling

2016-10-20 Thread Ludovic Courtès
Hi Carlos,

Carlos Sánchez de La Lama  skribis:

 * gnu/packages/bash.scm (bash-minimal): Assume getcwd works
 correctly when cross compiling.
>>> No tabs please.  Otherwise LGTM, thanks!  I spoke too fast.  On
>> master (Bash 4.3), this is unnecessary AFAICS:
>> 
>> --8<---cut here---start->8--- $
>> ./pre-inst-env guix build bash-minimal --target=mips64el-linux-gnu
>> --no-grafts --no-build-hook
>> /gnu/store/1v6l54xzmzb19hdg5bizvzfz995lh1cp-bash-minimal-4.3.42-doc
>> /gnu/store/gawbc9mj2i37ycym06rbybi1k4kn8zfq-bash-minimal-4.3.42-include
>> /gnu/store/vic4zf9gpdzrcvj8kimb9cs3049ld60d-bash-minimal-4.3.42 $
>> git describe v0.11.0-1743-gfe9bdb5 --8<---cut
>> here---end--->8---
>
> Building bash was never a problem, it worked also for me without the
> patch. The problem is that, when cross-compiling, bash "configure"
> scrip cannot test whether system getcwd works properly or not, and
> thus decides to use its own version of it, which does not correctly
> work inside bind mounts (and therefore fails in the chroot, but works
> outside it).
>
> Thus, unpatched bash will fail when used to build another
> derivation. The problem was first reported here:
>
> https://lists.gnu.org/archive/html/guix-devel/2013-10/msg00063.html

OK, I see.

> Although in that case Mark worked it around by having /tmp in a
> different partition, which incidentally causes bash-provided getcwd to
> work correctly.
>
> Maybe I can put a more detailed explanation on bash.scm; I packed the
> patch in a hurry in case Efraim needed it for its bootstrapping also.

A detailed explanation in bash.scm would be awesome.  :-)
Could you do that?

I reread the thread and it’s not clear to me what the conclusion is.  I
don’t clearly see how Bash’s ‘getcwd’ could be wrong.  Most likely this
has to do with “..” lookup in the presence of bind mounts and
assumptions that Bash’s ‘getcwd’ makes on st_ino and st_dev values.  Oh
well, it’s probably enough to know that that ‘getcwd’ is buggy.  ;-)

Thanks,
Ludo’.



Re: Display diffs between generations.

2016-10-20 Thread Roel Janssen

Ludovic Courtès writes:

> Roel Janssen  skribis:
>
>> Ludovic Courtès writes:
>
> [...]
>
>>> I don’t think so.  The old behavior will always be available by
>>> specifying a single generation anyway:
>>>
>>>   guix package --list-generations=42
>>>
>>> It may be worth mentioning this in the manual.
>>>
>>> My understanding of the discussion referred above is that people were
>>> fine with that (or indifferent ;-)).
>>
>> Then the following patch should be it.  I applied your genius
>> suggestions of using @code{display-entry} instead of
>> @code{display-entries}.  I learned something new again today. :-)
>
> Heh.  :-)
>
>>>From 5630a512f16c6677fd5b0b8085e2ef15cb10499b Mon Sep 17 00:00:00 2001
>> From: Roel Janssen 
>> Date: Wed, 19 Oct 2016 23:38:11 +0200
>> Subject: [PATCH] guix package: Display generation diffs.
>>
>> * guix/ui.scm (display-profile-content-diff): New variable.
>> * guix/scripts/package.scm (process-query): Use display-profile-content-diff.
>
> The code LGTM, but it doesn’t implement the behavior I suggested above
> for --list-generations=42, which I think I didn’t explain correctly.
>
> I think what I’m suggesting is that the first matching generation should
> be displayed in full using ‘display-profile-content’, and subsequent
> generations would be displayed as a diff.
>
> Thus, when viewing a single generation, as with --list-generations=42,
> we’d only display the full contents of that generation.
>
> Does that make sense?

Ah, sorry, I forgot about this.  This makes sense.  But then, what should we
see when we do:

  guix package --list-generations=42,46

Should we see:
  Generation 42 ...:
  

  Generation 46 ...:
  

Or should we then see:
  Generation 42 ...:
  

  Generation 46 ...:
  

Kind regards,
Roel Janssen




Re: Guix "ops"

2016-10-20 Thread Ludovic Courtès
Howdy!

Christopher Allan Webber  skribis:

> So yeah, I'm going to start playing around with building some on some of
> these ideas soonish.  I could use some advice, though.  Assume I'm able
> to build the right scheme representation of the system I want to be run
> remotely on another machine (whether it's a gexp, whatever).  What's the
> right way to go about this?  Assume for the moment that I have a remote
> "target" machine already running GuixSD and I can ssh into it.
>
>  - Should I write out an sexp of the system I want to be built, write it
>to a scheme file I copy over, and then invoke the guile command line
>tools to start it up?

No!

>  - Should I write out an sexp of the script I want to run and execute it
>as a normal guile program?

No!

>  - Should I build the entire derivation of the system I want to run on
>the remote machine locally first, then copy that over?  (I assume
>this is possible, and eventually desirable, especially if doing
>mass deployments?  But it might not be desirable in every case.)
>Would that use the substitute mechanism?

Yes!  :-)

Essentially deployment would work like this:

  1. Compute the system derivation and build it locally (i.e., on the
 machine where ‘guix deploy’ is running.)

 As a user, you can choose to have offloading setup such that the
 actual build will take place on (some of) the target machines, but
 that’s completely orthogonal.

  2. Send the derivation out to the target(s) that are real machines.
 For targets that are local containers or VMs, there’s nothing to
 do.

  3. On targets that are real machines, perform the equivalent of ‘guix
 system reconfigure’—i.e., update the /run/current-system symlink,
 restart Shepherd services that can be restarted, etc.

IIRC David was testing using VMs and containers as the targets (the
 record¹) because it’s easier.

Does that make sense?

Hopefully David will correct me.  :-)

Ludo’.

¹ https://lists.gnu.org/archive/html/guix-devel/2015-07/msg00320.html



Re: [PATCH] gnu: Add chromaprint.

2016-10-20 Thread Ludovic Courtès
Hartmut Goebel  skribis:

> Am 19.10.2016 um 22:25 schrieb Ludovic Courtès:
>>> > +(arguments
>>> > + `(#:tests? #f ; tests require googletest *sources*
>> Weird.
>>
>
> Yes. From the issue I opened on this:[1]
>
> That's the recommended way to use gtest. It's a C++ library and the
> ABI depends on many compiler options. Debian based distributions
> don't even ship a compiled package of gtest anymore.

Uh, interesting.  :-)

Maybe in a future patch we can unpack it there so we can run the tests
the way they recommend.

Thanks for the info,
Ludo’.



Re: [PATCH] Add scheme-bytestructures

2016-10-20 Thread Ludovic Courtès
Hello,

Amirouche Boubekki  skribis:

> find-files does the right thing, there is no need to filter what it returns.
> From ea88bf4b53a63ba0d54f71622d055c32cd7e346e Mon Sep 17 00:00:00 2001
> From: Amirouche 
> Date: Sun, 9 Oct 2016 12:31:20 +0200
> Subject: [PATCH] gnu: Add guile-bytestructures
>
> * gnu/packages/guile.scm (guile-bytestructures): New variable.

I had to make these extra modifications (the package you sent built but
the result was a bunch of empty directories because ‘find-files’ was
called from the wrong directory):

diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index a03cb44..f99077b 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -8,6 +8,7 @@
 ;;; Copyright © 2016 Eraim Flashner 
 ;;; Copyright © 2016 Alex Kost 
 ;;; Copyright © 2016 Adonay "adfeno" Felipe Nogueira  
+;;; Copyright © 2016 Amirouche 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1300,13 +1301,11 @@ is no support for parsing block and inline level HTML.")
effective))
 (source (assoc-ref %build-inputs "source"))
 (doc (string-append out "/share/doc/scheme-bytestructures"))
-(scm-files (find-files "bytestructures" "\\.scm$"))
+(scm-files (with-directory-excursion source
+ (find-files "bytestructures" "\\.scm$")))
 (guild (string-append (assoc-ref %build-inputs "guile")
   "/bin/guild")))
;; Make installation directories.
-   (mkdir-p (string-append module-dir "/bytestructures/guile"))
-   (mkdir-p (string-append module-dir "/bytestructures/r6"))
-   (mkdir-p (string-append module-dir "/bytestructures/body"))
(mkdir-p doc)
 
;; Compile .scm files and install.
@@ -1320,8 +1319,11 @@ is no support for parsing block and inline level HTML.")
  (string-rindex file #\.))
   ".go")))
  ;; Install source module.
+ (mkdir-p (dirname dest-file))
  (copy-file file dest-file)
+
  ;; Install compiled module.
+ (mkdir-p (dirname go-file))
  (unless (zero? (system* guild "compile"
  "-L" source
  "-o" go-file

However, with those changes, I get:

--8<---cut here---start->8---
ice-9/boot-9.scm:106:20: Syntax error:
bytestructures/body/base.scm:38:0: definition in expression context, where 
definitions are not allowed, in form (define make-bytestructure-descriptor 
(case-lambda ((size alignment unwrapper getter setter) 
(%make-bytestructure-descriptor size alignment unwrapper getter setter #f)) 
((size alignment unwrapper getter setter meta) (%make-bytestructure-descriptor 
size alignment unwrapper getter setter meta
Backtrace:
In ice-9/boot-9.scm:
 157: 12 [catch #t # ...]
In unknown file:
   ?: 11 [apply-smob/1 #]
In ice-9/boot-9.scm:
  63: 10 [call-with-prompt prompt0 ...]
In ice-9/eval.scm:
 432: 9 [eval # #]
In ice-9/boot-9.scm:
2401: 8 [save-module-excursion #]
4050: 7 [#]
1724: 6 [%start-stack load-stack #]
1729: 5 [#]
In unknown file:
   ?: 4 [primitive-load 
"/gnu/store/jx9byzydknqixyv4dn19cxa5q7r6s6v9-guile-bytestructures-20160726.53127f6-guile-builder"]
In ice-9/eval.scm:
 387: 3 [eval # ()]
 432: 2 [eval # #]
In ice-9/boot-9.scm:
 768: 1 [for-each # #]
In unknown file:
   ?: 0 [scm-error misc-error #f ...]

ERROR: In procedure scm-error:
ERROR: Failed to compile "bytestructures/r7/base.scm" to 
"/gnu/store/m0lqx4wli55dfj45nsjhlhlvgql1p974-guile-bytestructures-20160726.53127f6/share/guile/site/2.0/bytestructures/r7/base.go"!
--8<---cut here---end--->8---

Could you look into it and submit and updated patch?

TIA!

Ludo’.


Re: Cross-building bootstrap binaries fail in current master

2016-10-20 Thread Ludovic Courtès
Hello!

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

> with current master (1dc30f92320c5e1b528a7eec2b0a4ce529f70c56), trying
>
> guix build --target=i686-linux bootstrap-tarballs

As discussed on IRC, --target expect a “GNU triplet” such as
“i686-linux-gnu”, so the above thing cannot work.

Note that cross-building from anything to i686 is untested, so it’s not
a good choice.

Regardless, cross-building ‘bootstrap-tarballs’ to one of the supported
target triplets works on master:

--8<---cut here---start->8---
$ ./pre-inst-env guix build bootstrap-tarballs --target=mips64el-linux-gnu -n
substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 
100.0%
The following files would be downloaded:
   /gnu/store/lwn9v9jhsllffpc3d4kii8bldw4hfppa-bootstrap-tarballs-0
   
/gnu/store/6cm18hfwbp8c1mf6wha28f0b0axlcm8k-guile-static-stripped-tarball-2.0.11
   /gnu/store/f790i196x1ms2ym13pvbazldzicqv4k9-glibc-stripped-tarball-2.23
   /gnu/store/jj007dw6gc31hnn1qq3yz7rz1ai1z0fa-gcc-stripped-tarball-4.9.3
   /gnu/store/niqxni4hhjr2wvlabn92z1asqb7xcnsx-static-binaries-tarball-0
   
/gnu/store/pskf0y5q3j5a3k30c0czd2xymwp4224i-binutils-static-stripped-tarball-2.25.1
$ git describe
v0.11.0-1764-g3ad7dce
--8<---cut here---end--->8---

See:

  
https://hydra.gnu.org/job/gnu/master/mips64el-linux-gnu.bootstrap-tarballs-0.x86_64-linux
  
https://hydra.gnu.org/job/gnu/master/mips64el-linux-gnuabi64.bootstrap-tarballs-0.x86_64-linux

So normally, if you pass “--target=powerpc-linux-gnu” (or whichever
triplet is appropriate), that should work too.

HTH!

Ludo’.



Re: Guix on clusters and in HPC

2016-10-20 Thread Ludovic Courtès
Hi Roel,

Roel Janssen  skribis:

> Here are some aspects I think we need:
>
> * Network-aware guix-daemon

Of course!

> * Profile management
>
>   The abstraction of profiles is an awesome feature of FPM, but the user
>   interface is missing.  We could do better here.
>
>   Switch the default profile
>   (and prepend values of environment variables to the current values):
>   $ guix profile --switch=/path/to/shared/profile
>
>   Reset to default profile (and environment variable values without the
>   profile we just unset):
>   $ guix profile --reset
>
>   Create an isolated environment based on a profile:
>   $ guix environment --profile=/path/to/profile --pure --ad-hoc

I can see the desire of having something that more closely resembles
what “modules” does, but I have the same questions as Ricardo.
Essentially, how much would it help compared to what’s already
available?  (Honest question.)

In general, adding simpler UIs is a good idea IMO; it’s just that I’m
unsure what’s “better” in this case.

> * Workflow management/execution
>
>   Add automatic program execution with its own vocabulary.  I think
>   "workflow management" boils down to execution of a G-exp, but the
>   results do not necessarily need to be stored in the store (because the
>   data it works on is probably managed by an external data management
>   system).  A powerful feature of GNU Guix is its domain-specific
>   language for describing software packages.  We could add
>   domain-specific parts for workflow management (a `workflow' data type
>   and a `task' or `process' data type gets us there more or less).
>
>   With workflow management we are only interested in the "build
>   function", not the "source code" or the "build output".
>
>   You are probably aware that I worked on this for some time, so I could
>   share the data types I have and the execution engine parts I have.

Yes, definitely!  This is what I had in mind, hence the reference to
.

Obviously if there’s already code, it’s even better.  :-)

>   The HPC-specific part of this is the compatibility with existing job
>   scheduling systems and data management systems.

Do you mean that it integrates with a job scheduler?

> * Document on why we need super user privileges on the Guix daemon
>
>   Probably an infamous point by now.  By design, the Linux kernel keeps
>   control over all processes.  With GNU Guix, we need some control over
>   the environment in which a process runs (disable network access,
>   change the user that executes a process), and the environment in which
>   the output lives (chown, chmod, to allow multiple users to use the
>   build output).  Instead of hitting the wall of "we are not going to
>   run this thing with root privileges", we could present our sysadmins
>   with a document for the reasons, the design decisions and the actual
>   code involved in super user privilege stuff.
>
>   This is something I am working on as well, but help is always welcome
>   :-).

Good point.

mentions it when talking about --disable-chroot at the end, but this
could be improved.

That’s it?  No crazy ideas?  ;-)

Your thoughts about the point about Galaxy?

Thanks for your feedback!

Ludo’.



Re: Guix on clusters and in HPC

2016-10-20 Thread Ludovic Courtès
Thomas Danckaert  skribis:

> From: l...@gnu.org (Ludovic Courtès)
> Subject: Guix on clusters and in HPC
> Date: Tue, 18 Oct 2016 16:20:43 +0200
>
>> So I’ve come up with an initial list of work items going from the
>> immediate needs to crazy ideas (batch scheduler integration!) that
>> hopefully make sense to cluster/HPC people.  I’d be happy to get
>> feedback, suggestions, etc. from whoever is interested!
>
> Here's a semi-crazy suggestion: some HPC people really like the intel
> compiler/math kernel library, so a way to switch toolchains on
> packages, and somehow integrate “foreign” toolchains would suit
> them. But that might be “advocating the use of non-free software” (in
> fact I almost feel like a heretic for bringing this up :-) ...).

Yeah, I’m aware of this.  In section 5 of
, we wrote:

  GNU Guix does not provide proprietary software packages.
  Unfortunately, proprietary software is still relatively common in HPC,
  be it linear algebra libraries or GPU support.  Yet, we see it as a
  strength more than a limitation.  Often, these “black boxes”
  inherently limit reproducibility—how is one going to reproduce a
  software environment without permission to run the software in the
  first place? What if the software depends on the ability to “call
  home” to function at all? More importantly, we view reproducible
  software environments and reproducible science as a tool towards
  improved and shared knowledge; developers who deny the freedom to
  study and modify their code work against this goal.

As heretic as it may seem in HPC circles ;-), I stand by this.

Regarding GPU support, there’s light on the horizon with GCC’s new PTX
backend, OpenACC support, and with libgomp’s offloading support.

We’ll see!

Ludo’.