[PATCH 1/1] gnu: weex: Fix CVE-2005-3150.

2016-11-04 Thread Leo Famulari
* gnu/packages/patches/weex-CVE-2005-3150.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/ftp.scm (weex)[source]: Use it.
---
 gnu/local.mk  |  1 +
 gnu/packages/ftp.scm  |  3 ++-
 gnu/packages/patches/weex-CVE-2005-3150.patch | 32 +++
 3 files changed, 35 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/weex-CVE-2005-3150.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 49b6721..c4c0e8d 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -893,6 +893,7 @@ dist_patch_DATA =   
\
   %D%/packages/patches/vtk-mesa-10.patch   \
   %D%/packages/patches/weechat-python.patch\
   %D%/packages/patches/weex-vacopy.patch   \
+  %D%/packages/patches/weex-CVE-2005-3150.patch\
   %D%/packages/patches/wicd-bitrate-none-fix.patch \
   %D%/packages/patches/wicd-get-selected-profile-fix.patch \
   %D%/packages/patches/wicd-urwid-1.3.patch\
diff --git a/gnu/packages/ftp.scm b/gnu/packages/ftp.scm
index a112655..149ebe2 100644
--- a/gnu/packages/ftp.scm
+++ b/gnu/packages/ftp.scm
@@ -136,7 +136,8 @@ FTP browser, as well as non-interactive commands such as 
'ncftpput' and
 (sha256
   (base32
 "0f5cj5p852wkm24mzy2sxgxyahv2p9rk4wlq21j310pi7wlhgwyl"))
-(patches (search-patches "weex-vacopy.patch"
+(patches (search-patches "weex-vacopy.patch"
+ "weex-CVE-2005-3150.patch"
 (build-system gnu-build-system)
 (arguments
  `(#:phases
diff --git a/gnu/packages/patches/weex-CVE-2005-3150.patch 
b/gnu/packages/patches/weex-CVE-2005-3150.patch
new file mode 100644
index 000..246161f
--- /dev/null
+++ b/gnu/packages/patches/weex-CVE-2005-3150.patch
@@ -0,0 +1,32 @@
+From: Leo Famulari 
+Date: Sat, 5 Nov 2016 01:35:50 -0400
+Subject: Fix CVE-2005-3150 (remotely exploitable format string bug).
+
+https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2005-3150
+
+Fix copied from Gentoo and FreeBSD:
+
+https://bugs.gentoo.org/show_bug.cgi?id=107849
+https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=86833
+https://svnweb.freebsd.org/ports/head/ftp/weex/files/patch-src__log.c?revision=143994=markup
+
+---
+ src/log.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/log.c b/src/log.c
+index 5c06339..4174ee0 100644
+--- a/src/log.c
 b/src/log.c
+@@ -183,7 +183,7 @@ void log_flush(void)
+ 
+   fp=log_open();
+   for(i=0;i

Re: [Patch 0/10] Add Ring

2016-11-04 Thread Chris Marusich
Lukas Gradl  writes:

> Hello Guix!
>
> The following patch series adds Ring, a distributed multimedia
> communications program.
>
> There is one issue that I can not figure out: The program ring.cx throws
> an error if evolution-data-server is not installed in the same profile.
> I hence propagated evolution-data-server, but this does not seem to
> solve the issue.  If evolution-data-server is installed, it works fine.
>
> Thank you for any feedback!
>
> Best,
> Lukas

What's the status of this patch series?  Especially since Ring just
recently became an official GNU package [1], it would be super nice to
have it in GNU Guix!

[1] https://lists.gnu.org/archive/html/ring/2016-11/msg4.html

-- 
Chris


signature.asc
Description: PGP signature


Re: Guix on clusters and in HPC

2016-11-04 Thread Chris Marusich
Pjotr Prins  writes:

> Wrote down a way to distribute software using containers and tar ;)
>
>   https://github.com/pjotrp/guix-notes/blob/master/DISTRIBUTE.org

Neat trick!  Thanks for sharing.  I see that this relies on undocumented
behavior, which is the fact that each store directory in the
environment's closure gets bind-mounted read-only, and practically no
other files are visible in the container.  I had to peek inside
guix/scripts/environment.scm to figure that out.  Fun stuff :)

Should the bind-mount behavior when creating containers for an
environment also be documented in the manual, or was there a reason why
we didn't mention it there?

-- 
Chris


signature.asc
Description: PGP signature


Re: [PATCH] gnu: w3m: Switch to Debian's actively maintained fork of w3m.

2016-11-04 Thread Leo Famulari
On Fri, Nov 04, 2016 at 08:08:13PM -0400, Kei Kebreau wrote:
> Is this good?

> From 674a0f955809d40c2fe3e5092b2927c4c96e8351 Mon Sep 17 00:00:00 2001
> From: Kei Kebreau 
> Date: Fri, 4 Nov 2016 20:06:03 -0400
> Subject: [PATCH] gnu: w3m: Switch to Debian's actively maintained fork of w3m.
> 
> Fixes some security issues seen here:
> 
> 
> * gnu/packages/w3m.scm (w3m): Switch it.
> [source]: Use Debian's git tree. Remove obsolete patches.
> [arguments]: Remove an unneeded substitute* function.
> * gnu/packages/patches/w3m-disable-sslv2-and-sslv3.patch,
> gnu/packages/patches/w3m-disable-weak-ciphers.patch,
> gnu/packages/patches/w3m-force-ssl_verify_server-on.patch,
> gnu/packages/patches/w3m-libgc.patch: Delete files.
> * gnu/local.mk (dist_patch_DATA): Remove them.

LGTM!


signature.asc
Description: PGP signature


Re: [PATCH] gnu: w3m: Switch to Debian's actively maintained fork of w3m.

2016-11-04 Thread Kei Kebreau
Leo Famulari  writes:

> On Fri, Nov 04, 2016 at 01:05:02PM -0400, Kei Kebreau wrote:
>> From 1eede14194c83b70725b6de062b9d3e0acce6340 Mon Sep 17 00:00:00 2001
>> From: Kei Kebreau 
>> Date: Fri, 4 Nov 2016 12:43:28 -0400
>> Subject: [PATCH] gnu: w3m: Switch to Debian's actively maintained fork of 
>> w3m.
>> 
>> Fixes some security issues seen here:
>> 
>> 
>> * gnu/packages/w3m.scm (w3m): Switch it.
>> [source]: Use Debian's git tree. Remove obsolete patches.
>> [arguments]: Remove unnecessary modification of %standard-phases.
>> * gnu/packages/patches/w3m-disable-sslv2-and-sslv3.patch,
>> gnu/packages/patches/w3m-disable-weak-ciphers.patch,
>> gnu/packages/patches/w3m-force-ssl_verify_server-on.patch,
>> gnu/packages/patches/w3m-libgc.patch: Delete files.
>> * gnu/local.mk (dist_patch_DATA): Remove them.
>
>> +  (let ((commit "5cf75248f5833db00d53a33c30a525bb40f5512b")
>> +(revision "1"))  ; Guix package revision
>> +(package
>> +  (name "w3m")
>> +  (version (string-append "0.5.3-" revision "." (string-take commit 7)))
>> +  (source (origin
>> +(method git-fetch)
>> +;; Debian's fork of w3m is the only one that is still
>> +;; maintained.
>> +(uri (git-reference
>> +  (url 
>> "https://anonscm.debian.org/cgit/collab-maint/w3m.git;)
>> +  (commit commit)))
>
> We can just use the Git tag as the version and the commit, like in this
> stale package:
>
> https://github.com/lfam/pkgs/blob/master/leo/packages/w3m-debian.scm
>
> I think that's simpler.
>
> Looks good with this change :)

Is this good?
From 674a0f955809d40c2fe3e5092b2927c4c96e8351 Mon Sep 17 00:00:00 2001
From: Kei Kebreau 
Date: Fri, 4 Nov 2016 20:06:03 -0400
Subject: [PATCH] gnu: w3m: Switch to Debian's actively maintained fork of w3m.

Fixes some security issues seen here:


* gnu/packages/w3m.scm (w3m): Switch it.
[source]: Use Debian's git tree. Remove obsolete patches.
[arguments]: Remove an unneeded substitute* function.
* gnu/packages/patches/w3m-disable-sslv2-and-sslv3.patch,
gnu/packages/patches/w3m-disable-weak-ciphers.patch,
gnu/packages/patches/w3m-force-ssl_verify_server-on.patch,
gnu/packages/patches/w3m-libgc.patch: Delete files.
* gnu/local.mk (dist_patch_DATA): Remove them.
---
 gnu/local.mk   |  4 ---
 .../patches/w3m-disable-sslv2-and-sslv3.patch  | 24 
 .../patches/w3m-disable-weak-ciphers.patch | 24 
 .../patches/w3m-force-ssl_verify_server-on.patch   | 24 
 gnu/packages/patches/w3m-libgc.patch   | 28 --
 gnu/packages/w3m.scm   | 33 +-
 6 files changed, 13 insertions(+), 124 deletions(-)
 delete mode 100644 gnu/packages/patches/w3m-disable-sslv2-and-sslv3.patch
 delete mode 100644 gnu/packages/patches/w3m-disable-weak-ciphers.patch
 delete mode 100644 gnu/packages/patches/w3m-force-ssl_verify_server-on.patch
 delete mode 100644 gnu/packages/patches/w3m-libgc.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 27848ac..49b6721 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -891,10 +891,6 @@ dist_patch_DATA =  
\
   %D%/packages/patches/vte-CVE-2012-2738-pt1.patch \
   %D%/packages/patches/vte-CVE-2012-2738-pt2.patch \
   %D%/packages/patches/vtk-mesa-10.patch   \
-  %D%/packages/patches/w3m-libgc.patch \
-  %D%/packages/patches/w3m-force-ssl_verify_server-on.patch\
-  %D%/packages/patches/w3m-disable-sslv2-and-sslv3.patch   \
-  %D%/packages/patches/w3m-disable-weak-ciphers.patch  \
   %D%/packages/patches/weechat-python.patch\
   %D%/packages/patches/weex-vacopy.patch   \
   %D%/packages/patches/wicd-bitrate-none-fix.patch \
diff --git a/gnu/packages/patches/w3m-disable-sslv2-and-sslv3.patch 
b/gnu/packages/patches/w3m-disable-sslv2-and-sslv3.patch
deleted file mode 100644
index 5b78f2d..000
--- a/gnu/packages/patches/w3m-disable-sslv2-and-sslv3.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Subject: Disable SSLv2 and SSLv3.
-
-The only remaining methods are TLSv1.* (the code never distinguishes
-between TLSv1.0, TLSv1.1, and TLSv1.2).

- fm.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/fm.h b/fm.h
-index 320906c..ddcd4fc 100644
 a/fm.h
-+++ b/fm.h
-@@ -1144,7 +1144,7 @@ global int ssl_path_modified init(FALSE);
- #endif/* defined(USE_SSL) &&
-* defined(USE_SSL_VERIFY) */
- #ifdef USE_SSL
--global char *ssl_forbid_method init(NULL);
-+global char *ssl_forbid_method 

Re: [PATCH] gnu: w3m: Switch to Debian's actively maintained fork of w3m.

2016-11-04 Thread Leo Famulari
On Fri, Nov 04, 2016 at 01:05:02PM -0400, Kei Kebreau wrote:
> From 1eede14194c83b70725b6de062b9d3e0acce6340 Mon Sep 17 00:00:00 2001
> From: Kei Kebreau 
> Date: Fri, 4 Nov 2016 12:43:28 -0400
> Subject: [PATCH] gnu: w3m: Switch to Debian's actively maintained fork of w3m.
> 
> Fixes some security issues seen here:
> 
> 
> * gnu/packages/w3m.scm (w3m): Switch it.
> [source]: Use Debian's git tree. Remove obsolete patches.
> [arguments]: Remove unnecessary modification of %standard-phases.
> * gnu/packages/patches/w3m-disable-sslv2-and-sslv3.patch,
> gnu/packages/patches/w3m-disable-weak-ciphers.patch,
> gnu/packages/patches/w3m-force-ssl_verify_server-on.patch,
> gnu/packages/patches/w3m-libgc.patch: Delete files.
> * gnu/local.mk (dist_patch_DATA): Remove them.

> +  (let ((commit "5cf75248f5833db00d53a33c30a525bb40f5512b")
> +(revision "1"))  ; Guix package revision
> +(package
> +  (name "w3m")
> +  (version (string-append "0.5.3-" revision "." (string-take commit 7)))
> +  (source (origin
> +(method git-fetch)
> +;; Debian's fork of w3m is the only one that is still
> +;; maintained.
> +(uri (git-reference
> +  (url 
> "https://anonscm.debian.org/cgit/collab-maint/w3m.git;)
> +  (commit commit)))

We can just use the Git tag as the version and the commit, like in this
stale package:

https://github.com/lfam/pkgs/blob/master/leo/packages/w3m-debian.scm

I think that's simpler.

Looks good with this change :)


signature.asc
Description: PGP signature


Re: [PATCH] improve nginx-service

2016-11-04 Thread Hartmut Goebel
Am 04.11.2016 um 23:12 schrieb Julien Lepiller:
>> > gnu/services/web.scm:118:34: In procedure
>> > default-nginx-vhost-config: gnu/services/web.scm:118:34: In procedure
>> > struct_vtable: Wrong type argument in position 1 (expecting struct):
>> > (nginx-vhost-configuration (root taler-landing-page))
> What is your configuration exactly, and what is taler-landing-page?
>

The configuration is like in your gtk-doc-vhost, except that I'm not
using gtk+2 and omitting the "string-append" for the path.

-- 
Regards
Hartmut Goebel

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




Question regarding record types

2016-11-04 Thread Hartmut Goebel
Hi,

in the services modules, there are configuration types defined like this:

(define-record-type* 
  nginx-configuration make-nginx-configuration
  nginx-configuration?
  (nginx nginx-configuration-nginx) ;
  (log-directory nginx-configuration-log-directory) ;string
  (run-directory nginx-configuration-run-directory) ;string
  (vhostsnginx-configuration-vhosts
 (default '()))   ;list of 
  (file  nginx-configuration-file)) ;string | file-like

I wonder if it's really necessary to have this prefix
"nginx-configuration-" for what I assume is the getter? For me it looks
redundant. The getter is only valid for this very type, so why should
there be any need to add a prefix?

If the reason is, that all these getters are defined globally, them I'm
astound, why there is no syntax like my_config->log-directory, which
would remove this redundancy.

-- 
Regards
Hartmut Goebel

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





Re: [PATCH] improve nginx-service

2016-11-04 Thread Julien Lepiller
On Fri, 4 Nov 2016 22:28:07 +0100
Hartmut Goebel  wrote:

> Hi Julien
> 
> thanks for these patches. I applied them to current master, but I did
> not work out how to use the new features. I'd appreciate a more
> complete example.
> 
> 0001-Make-nginx-service-extensible.patch
> > +@deffn {Scheme Variable} nginx-service-type +This is the type for
> > the nginx web server. + +This service can be extended to add more
> > vhosts than the default one. + +@example +(simple-service
> > 'my-extra-vhost nginx-service-type + (list
> > (nginx-vhost-configuration (https-port #f)
> > + (root "/var/www/extra-website"  
> 
> I do not understand this. Why would I want to to this? Why not just
> add the vhost declaration when defining the service in the system
> declaration? Is this for vhost-types which have preset values for some
> configuration files? Then a different example might be useful, and/or
> some more explanation.

There is no real difference between the two. This is mostly usefull for
implementing new web services in the distro, but it is also good for
separating nginx configuration from web service configuration. I guess
that's a matter of taste.

> 
> It's a bit more obvious with patch 3, but even that example is not
> that obvious to me and could use some more explanation.
> 
> I've build a simple service like the gtk-doc-vhost in your second
> example, but it not manage to make it work: First I got "error: no
> target of type 'nginx'", so I re-added "(nginx-service)" to the system
> declaration. Then I got

Yes, the example adds a service that uses the nginx service, but does
not create it.

> 
> gnu/services/web.scm:118:34: In procedure
> default-nginx-vhost-config: gnu/services/web.scm:118:34: In procedure
> struct_vtable: Wrong type argument in position 1 (expecting struct):
> (nginx-vhost-configuration (root taler-landing-page))

What is your configuration exactly, and what is taler-landing-page?

> 
> Si I'd really appreciate seeing a more complete example either in the
> documentation of in gn/systems/examples/
> 
> > (system* (string-append #$nginx "/sbin/nginx") - "-c" #$config-file
> > "-t") + "-c" #$(or config-file + (default-nginx-config
> > log-directory + run-directory vhosts)) + "-t")  
> 
> Nitpicking: I'd mode the "-t" to the front, since this is the
> important difference.
> 
> > (define nginx-shepherd-service (match-lambda - (($
> >  nginx log-directory run-directory
> > config-file) + (($  nginx log-directory
> > run-directory vhosts config-file) (let* ((nginx-binary (file-append
> > nginx "/sbin/nginx")) (nginx-action (lambda args #~(lambda _ (zero?
> > - (system* #$nginx-binary "-c" #$config-file #$@args)) +
> > (system* #$nginx-binary "-c" #$(or config-file +
> > (default-nginx-config + log-directory + run-directory + vhosts))+
> > #$@args))  
> 
> To avoid duplicate code I suggest moving the "#$(or …)" part into a
> private function - if this is possible.
> 
> 
> 
> 0003-services-Accept-gexps-as-nginx-configuration-value.patch
> > +@example +(simple-service 'gtk-doc-vhost nginx-service-type + (list
> > (nginx-vhost-configuration  
> 
> git am says: trailing whitespace
> 
> > + " root " #$(nginx-vhost-configuration-root vhost) ";\n" + " index
> > " #$(config-index-strings (nginx-vhost-configuration-index vhost))
> > ";\n"
> > + " server_tokens " #$(if (nginx-vhost-configuration-server-tokens?
> > vhost) + "on" "off") ";\n"  
> 
> Could you please (maybe in another patch) add a way to include
> additional config lines? Both for the main server and each vhost.I'm
> gioing to need this for adding locations, backends and such.

I'd like to get these patches accepted first, but I'm already working
on adding more configuration lines.

Thanks for your review, I will fix that and come with a new patchset
quickly (with better documentation).

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




Re: Guix on clusters and in HPC

2016-11-04 Thread Pjotr Prins
Wrote down a way to distribute software using containers and tar ;)

  https://github.com/pjotrp/guix-notes/blob/master/DISTRIBUTE.org

On Wed, Nov 02, 2016 at 04:03:25PM +, Pjotr Prins wrote:
> On Wed, Nov 02, 2016 at 09:25:42AM +1000, Ben Woodcroft wrote:
> > guix pull: error: build failed: cloning builder process: Operation not
> > permitted
> 
> You can set the permissions to run the daemon. Bruno did some work
> there:
> 
>   https://hub.docker.com/r/bmpvieira/guix/
> 
> > That seems to suggest that we cannot run the daemon inside a docker
> > container, so I suppose we'd have to fall back on copying files from a store
> > built outside docker-land, right?
> 
> I think that is the preferred solution. No special privileges needed.
> 
> Pj.
> 

-- 



Re: Circular dependencies in gnu/packages, weird error message

2016-11-04 Thread Danny Milosavljevic
Hi Ludo,

On Fri, 04 Nov 2016 15:37:52 +0100
l...@gnu.org (Ludovic Courtès) wrote:
> You should now be able to add #:use-module (gnu packages cross-base) in
> admin.scm.

Yes. However, now I get

In unknown file:
   ?: 18 [primitive-load "/x/home/dannym/src/guix/scripts/guix"]
In guix/ui.scm:
1220: 17 [run-guix-command package "-i" ...]
In ice-9/boot-9.scm:
 157: 16 [catch srfi-34 # ...]
 157: 15 [catch system-error ...]
In guix/scripts/package.scm:
 898: 14 [#]
 865: 13 [process-actions # (# # # # ...)]
In guix/ui.scm:
 706: 12 [show-manifest-transaction # # # ...]
In srfi/srfi-1.scm:
 601: 11 [map # ...]
In guix/ui.scm:
 664: 10 [upgrade-string "sunxi-tools" "1.4.1" ...]
In guix/packages.scm:
1141: 9 [package-output # # "out" ...]
 793: 8 [cache! # # # ...]
1099: 7 [thunk]
 793: 6 [cache! # # # ...]
 894: 5 [thunk]
In ice-9/eval.scm:
 387: 4 [eval # #]
 387: 3 [eval # #]
 387: 2 [eval # #]
 387: 1 [eval # #]
In unknown file:
   ?: 0 [struct-ref # 1]

ERROR: In procedure struct-ref:
ERROR: In procedure struct-ref: Wrong type argument in position 1 (expecting 
struct): #

with:

diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 1d577c7..44ab171 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -43,6 +43,8 @@
   #:use-module (guix build-system trivial)
   #:use-module (gnu packages)
   #:use-module (gnu packages base)
+  #:use-module (gnu packages cross-base)
+;  #:use-module ((gnu packages cross-base) #:select (cross-gcc cross-binutils 
cross-libc))
   #:use-module (gnu packages cyrus-sasl)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages readline)
@@ -1874,7 +1876,11 @@ Kerberos and Heimdal and FAST is supported with recent 
MIT Kerberos.")
 '(delete-file-recursively "bin"))
(file-name (string-append name "-" version ".tar.gz"
 (native-inputs
- `(("pkg-config" ,pkg-config)))
+ `(("pkg-config" ,pkg-config)
+   ("cross-binutils" ,(cross-binutils "arm-linux-gnueabihf"))
+   ("cross-gcc" ,(cross-gcc "arm-linux-gnueabihf" #:libc (cross-libc 
"arm-linux-gnueabihf")))
+   ;("cross-libc" ,(cross-libc "arm-linux-gnueabihf"))
+))
 (inputs
  `(("libusb" ,libusb)))
 (build-system gnu-build-system)
@@ -1882,7 +1888,7 @@ Kerberos and Heimdal and FAST is supported with recent 
MIT Kerberos.")
  `(#:tests? #f ; no tests exist
#:make-flags (list (string-append "PREFIX="
  (assoc-ref %outputs "out"))
-  "CROSS_COMPILE="
+  "CROSS_COMPILE=arm-linux-gnueabihf-"



Re: [PATCH] improve nginx-service

2016-11-04 Thread Hartmut Goebel
Hi Julien

thanks for these patches. I applied them to current master, but I did
not work out how to use the new features. I'd appreciate a more complete
example.

0001-Make-nginx-service-extensible.patch
> +@deffn {Scheme Variable} nginx-service-type +This is the type for the
> nginx web server. + +This service can be extended to add more vhosts
> than the default one. + +@example +(simple-service 'my-extra-vhost
> nginx-service-type + (list (nginx-vhost-configuration (https-port #f)
> + (root "/var/www/extra-website"

I do not understand this. Why would I want to to this? Why not just add
the vhost declaration when defining the service in the system
declaration? Is this for vhost-types which have preset values for some
configuration files? Then a different example might be useful, and/or
some more explanation.

It's a bit more obvious with patch 3, but even that example is not that
obvious to me and could use some more explanation.

I've build a simple service like the gtk-doc-vhost in your second
example, but it not manage to make it work: First I got "error: no
target of type 'nginx'", so I re-added "(nginx-service)" to the system
declaration. Then I got

gnu/services/web.scm:118:34: In procedure default-nginx-vhost-config:
gnu/services/web.scm:118:34: In procedure struct_vtable: Wrong type
argument in position 1 (expecting struct):
(nginx-vhost-configuration (root taler-landing-page))

Si I'd really appreciate seeing a more complete example either in the
documentation of in gn/systems/examples/

> (system* (string-append #$nginx "/sbin/nginx") - "-c" #$config-file
> "-t") + "-c" #$(or config-file + (default-nginx-config
> log-directory + run-directory vhosts)) + "-t")

Nitpicking: I'd mode the "-t" to the front, since this is the important
difference.

> (define nginx-shepherd-service (match-lambda - (($
>  nginx log-directory run-directory config-file) +
> (($  nginx log-directory run-directory vhosts
> config-file) (let* ((nginx-binary (file-append nginx "/sbin/nginx"))
> (nginx-action (lambda args #~(lambda _ (zero? - (system*
> #$nginx-binary "-c" #$config-file #$@args)) + (system*
> #$nginx-binary "-c" #$(or config-file + (default-nginx-config +
> log-directory + run-directory + vhosts))+ #$@args))

To avoid duplicate code I suggest moving the "#$(or …)" part into a
private function - if this is possible.



0003-services-Accept-gexps-as-nginx-configuration-value.patch
> +@example +(simple-service 'gtk-doc-vhost nginx-service-type + (list
> (nginx-vhost-configuration

git am says: trailing whitespace

> + " root " #$(nginx-vhost-configuration-root vhost) ";\n" + " index "
> #$(config-index-strings (nginx-vhost-configuration-index vhost)) ";\n"
> + " server_tokens " #$(if (nginx-vhost-configuration-server-tokens?
> vhost) + "on" "off") ";\n"

Could you please (maybe in another patch) add a way to include
additional config lines? Both for the main server and each vhost.I'm
gioing to need this for adding locations, backends and such.

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





Re: [PATCH 16/16] gnu: Add jupyter.

2016-11-04 Thread Ricardo Wurmus

Roel Janssen  writes:

> And that concludes this patch series.  Thanks a lot for adding Jupyter.
> Like I said, I attempted to do it, but I got stuck / ran out of time to
> implement it before I needed it.  It's great to see that it will be
> added to GNU Guix soon.

Thank you very much for the thorough review!  I’ve pushed the patches to
master with the changes you and Hartmut suggested.

~~ Ricardo



Re: [PATCH] mps-youtube, revision 3

2016-11-04 Thread Hartmut Goebel
Am 04.11.2016 um 20:23 schrieb ng0:
> [PATCH 1/2] gnu: Add python-pafy.
>
> - made youtube-dl propagated-input as suggested by harmut
>
> [PATCH 2/2] gnu: Add mps-youtube.
>
> - no changes
>

Both LGTM.

Adding the comment about youtube_dl was a good idea :-)

-- 
Regards
Hartmut Goebel

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




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

2016-11-04 Thread ng0
* gnu/packages/python.scm (python-pafy): 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 8987450..4c1f9db 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -86,6 +86,7 @@
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages version-control)
+  #:use-module (gnu packages video)
   #:use-module (gnu packages web)
   #:use-module (gnu packages base)
   #:use-module (gnu packages xml)
@@ -1583,6 +1584,28 @@ standard library.")
  `(#:python ,python-2
#:tests? #f ; no setup.py test command
 
+(define-public python-pafy
+  (package
+(name "python-pafy")
+(version "0.5.2")
+(source
+ (origin
+   (method url-fetch)
+   (uri (pypi-uri "pafy" version))
+   (sha256
+(base32
+ "1ckvrypyvb7jbqlgwdz0y337ajagjv7dgxyns326nqwypn1wpq0i"
+(build-system python-build-system)
+(propagated-inputs
+ ;; Youtube-dl is a python package which is imported in the file
+ ;; "backend_youtube_dl.py", therefore it needs to be propagated.
+ `(("youtube-dl" ,youtube-dl)))
+(home-page "http://np1.github.io/pafy/;)
+(synopsis "Retrieve YouTube content and metadata")
+(description
+ "@code{pafy} is a python library to retrieve YouTube content and 
metadata.")
+(license license:lgpl3)))
+
 (define-public python-py
   (package
 (name "python-py")
-- 
2.10.2




[PATCH 2/2] gnu: Add mps-youtube.

2016-11-04 Thread ng0
* gnu/packages/video.scm (mps-youtube): New variable.
---
 gnu/packages/video.scm | 33 +
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 6ce03f7..50dcb5d 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -11,6 +11,7 @@
 ;;; Copyright © 2016 Kei Kebreau 
 ;;; Copyright © 2016 Dmitry Nikolaev 
 ;;; Copyright © 2016 Andy Patterson 
+;;; Copyright © 2016 ng0 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1683,3 +1684,35 @@ specifications.")
 (description "libaacs is a library which implements the Advanced Access
 Content System specification.")
 (license license:lgpl2.1+)))
+
+(define-public mps-youtube
+  (package
+(name "mps-youtube")
+(version "0.2.7.1")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append "https://github.com/mps-youtube/mps-youtube/;
+   "archive/v" version ".tar.gz"))
+   (file-name (string-append name "-" version ".tar.gz"))
+   (sha256
+(base32
+ "1s7h35yx6f0szf8mm8612ic913w3v05m2kwphjfcxnpq0ammhyci"
+(build-system python-build-system)
+(propagated-inputs
+ `(("python-pafy" ,python-pafy)
+   ("python-pygobject" ,python-pygobject))) ; For mpris2 support
+;; These are runtime requirements.
+(inputs
+ `(("mpv" ,mpv)
+   ("ffmpeg" ,ffmpeg))) ; For the convertion feature
+(home-page "http://github.com/np1/mps-youtube;)
+(synopsis "Terminal based YouTube player and downloader")
+(description
+ "@code{mps-youtube} is based on mps, a terminal based program to
+search, stream and download music.  This implementation uses YouTube as
+a source of content and can play and download video as well as audio.
+It can use either mpv or mplayer for playback, and for conversion of
+formats ffmpeg or libav is used.  The choice is up to users which one
+they like to go with.")
+(license license:gpl3)))
-- 
2.10.2




[PATCH] mps-youtube, revision 3

2016-11-04 Thread ng0
[PATCH 1/2] gnu: Add python-pafy.

- made youtube-dl propagated-input as suggested by harmut

[PATCH 2/2] gnu: Add mps-youtube.

- no changes



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

2016-11-04 Thread ng0
Hartmut Goebel  writes:

> Am 04.11.2016 um 19:18 schrieb ng0:
>> Hartmut Goebel  writes:
>>
>>> Am 02.11.2016 um 11:40 schrieb ng0:
 +(inputs
 + `(("youtube-dl" ,youtube-dl)))
>>> This needs to be a propagated input since python-pafy is a package itself.
>> Can you be more specific? I know now that other python inputs
>> should be propagated, but why non-python software? Or is
>> youtube-dl just another python software?
>
> Oh, sorry, I thought you know that youtube-dl is a python tool. (I not
> it since I'm using it myself).

Ah, thanks. I use it, but I have forgotten which language it is
written in as it is not relevant for me.

>
> Basically you were right: tools do not need to be propagated (at least
> as far as I understood).
>
> But the reason this needs to be propagated is: it is not used as a tool
> (via some system-call or such), but the python package is imported, see
> .
> I have to admit that this is not obvious.

Ok, thanks for the explanation. I will add this with a comment to
a new revision of the patch series.



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

2016-11-04 Thread Hartmut Goebel
Am 04.11.2016 um 19:18 schrieb ng0:
> Hartmut Goebel  writes:
>
>> Am 02.11.2016 um 11:40 schrieb ng0:
>>> +(inputs
>>> + `(("youtube-dl" ,youtube-dl)))
>> This needs to be a propagated input since python-pafy is a package itself.
> Can you be more specific? I know now that other python inputs
> should be propagated, but why non-python software? Or is
> youtube-dl just another python software?

Oh, sorry, I thought you know that youtube-dl is a python tool. (I not
it since I'm using it myself).

Basically you were right: tools do not need to be propagated (at least
as far as I understood).

But the reason this needs to be propagated is: it is not used as a tool
(via some system-call or such), but the python package is imported, see
.
I have to admit that this is not obvious.

-- 
Regards
Hartmut Goebel

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




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

2016-11-04 Thread ng0
Hartmut Goebel  writes:

> Am 02.11.2016 um 11:40 schrieb ng0:
>> +(inputs
>> + `(("youtube-dl" ,youtube-dl)))
>
> This needs to be a propagated input since python-pafy is a package itself.

Can you be more specific? I know now that other python inputs
should be propagated, but why non-python software? Or is
youtube-dl just another python software?

Thanks



Re: [PATCH] gnu: link-grammar: New module.

2016-11-04 Thread Amirouche Boubekki
Thx for the review and explanation.

I am not in a hurry, I will wait for the 5.3.12 release.

On Mon, Oct 24, 2016 at 7:03 PM Amir P  wrote:

> On Sun, 23 Oct 2016 17:20:11 -0400 Leo Famulari wrote:
> > If sqlite and zlib are only used when building, but not when running
> > link-grammar, then they should be native-inputs.
> >
> > Otherwise, we will need to figure out how to make link-grammar retain
> > references to these libraries.
>
> The link-grammar library doesn't use the zlib library directly or
> indirectly.
> What happens is that zlib.h is needed for the compilation of its
> sat-solver code
> because it is included in a header file of the minisat library which is
> indirectly
> included by the sat-solver code. So zlib (actually zlib.h) is only used
> when building.
>
> However, if the sqlite library+headers exist when using "configure",
> HAVE_SQLITE will get defined, which will bring in code that can use sqlite
> (sqlite3_open etc. are referenced in the result link-grammar library).
> As this code is currently not fully functional, a solution may be to
> "configure"
> link-grammar without the presence of the sqlite library+headers.
> A better solution may be to add a link-grammar "configure" option like
> "--enable-sqlite".
> If you think it is indeed better, I will open an issue there for adding it
> - to be
> included in the next version - 5.3.12.
> In any case, 5.3.12 is needed to overcome additional problems in 5.3.11
> (some
> of them are already fixed in the repository, and for some others
> pull-requests are
> still pending).
>


Re: [PATCH] improve nginx-service

2016-11-04 Thread Julien Lepiller
On Fri, 04 Nov 2016 14:21:43 +0100
l...@gnu.org (Ludovic Courtès) wrote:

> Hartmut Goebel  skribis:
> 
> > Am 03.11.2016 um 15:54 schrieb Ludovic Courtès:  
> >> Assuming ‘demo-website’ is bound to a package object, you should
> >> be able to do:
> >>
> >>   (root (file-append demo-website "/"))
> >>
> >> or simply:
> >>
> >>   (root demo-website)  
> >
> > Hmm, this does not work for me:
> >
> >
> > ice-9/boot-9.scm:702:27: In procedure map:
> > ice-9/boot-9.scm:702:27: In procedure string-append: Wrong type
> > (expecting string): # > taler-demo-landing-page@0.0.0-1.105bea68 ./taler/packages/demo.scm:100
> > 3e2a600>
> >
> >
> > I tried with current master branch.  
> 
> Doh!  Indeed, ‘default-nginx-vhost-config’ must be rewritten to do
> something like:
> 
>   #~(string-append #$foo #$bar …)
> 
> instead of:
> 
>   (string-append foo bar …)
> 
> More precisely, it could ‘string-append’ all the string literals yet
> use a #~(string-append …) gexp for ‘root’.
> 
> Julien?  :-)

I think it's good now. There are three patches:
1. making the service extensible (mostly what you wrote last time)
   I used an empty list as the default list of vhosts.
2. a patch to fix an issue when multiple index files and server name
   were specified (there were no space in between)
3. a patch to allow any configuration option to come from the store (I
   couldn't write something specific to the root option, but I think
   it's fine this way). I tested with the example I added in the
   documentation, and it works fine.

I hope I did it right :)

> 
> Ludo’.

>From 55ccf3041bff562345816b500ee5a2aeda9e3226 Mon Sep 17 00:00:00 2001
From: Julien Lepiller 
Date: Thu, 3 Nov 2016 18:11:01 +0100
Subject: [PATCH 1/3] Make nginx-service extensible

* gnu/services/web.scm (nginx-service-type): Make extensible.
---
 doc/guix.texi| 15 ++-
 gnu/services/web.scm | 33 +
 2 files changed, 39 insertions(+), 9 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 1075a7e..5c42140 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -10401,7 +10401,7 @@ The @code{(gnu services web)} module provides the following service:
[#:log-directory ``/var/log/nginx''] @
[#:run-directory ``/var/run/nginx''] @
[#:vhost-list (list (nginx-vhost-configuration))] @
-   [#:config-file]
+   [#:config-file @code{#f}]
 
 Return a service that runs @var{nginx}, the nginx web server.
 
@@ -10417,6 +10417,19 @@ this to work, use the default value for @var{config-file}.
 
 @end deffn
 
+@deffn {Scheme Variable} nginx-service-type
+This is the type for the nginx web server.
+
+This service can be extended to add more vhosts than the default one.
+
+@example
+(simple-service 'my-extra-vhost nginx-service-type
+(list (nginx-vhost-configuration (https-port #f)
+ (root "/var/www/extra-website"
+@end example
+
+@end deffn
+
 @deftp {Data Type} nginx-vhost-configuration
 Data type representing the configuration of an nginx virtual host.
 This type has the following parameters:
diff --git a/gnu/services/web.scm b/gnu/services/web.scm
index 59e1e54..50f83f3 100644
--- a/gnu/services/web.scm
+++ b/gnu/services/web.scm
@@ -28,6 +28,7 @@
   #:use-module (guix records)
   #:use-module (guix gexp)
   #:use-module (ice-9 match)
+  #:use-module (srfi srfi-1)
   #:export (nginx-configuration
 nginx-configuration?
 nginx-vhost-configuration
@@ -67,6 +68,8 @@
   (nginx nginx-configuration-nginx) ;
   (log-directory nginx-configuration-log-directory) ;string
   (run-directory nginx-configuration-run-directory) ;string
+  (vhostsnginx-configuration-vhosts
+ (default '()))   ;list of 
   (file  nginx-configuration-file)) ;string | file-like
 
 (define (config-domain-strings names)
@@ -148,7 +151,7 @@ of index files."
 
 (define nginx-activation
   (match-lambda
-(($  nginx log-directory run-directory config-file)
+(($  nginx log-directory run-directory vhosts config-file)
  #~(begin
  (use-modules (guix build utils))
 
@@ -164,17 +167,25 @@ of index files."
  (mkdir-p (string-append #$run-directory "/scgi_temp"))
  ;; Check configuration file syntax.
  (system* (string-append #$nginx "/sbin/nginx")
-  "-c" #$config-file "-t")
+   "-c" #$(or config-file
+  (default-nginx-config log-directory
+run-directory vhosts))
+   "-t")
 
 (define nginx-shepherd-service
   (match-lambda
-(($  nginx log-directory run-directory config-file)
+(($  nginx log-directory run-directory vhosts config-file)
  (let* ((nginx-binary (file-append nginx "/sbin/nginx"))
 (nginx-action
  (lambda args
#~(lambda _

Re: [PATCH 14/16] gnu: Add python-jupyter-console.

2016-11-04 Thread Hartmut Goebel
Am 04.11.2016 um 17:47 schrieb Ricardo Wurmus:
> Oh, I forgot to edit the description here.

I was already wondering :-)
>   I’ve changed it to this:
>
> "This package provides a terminal-based console frontend for Jupyter
>  kernels.  It also allows for console-based interaction with
>  non-Python Jupyter kernels such as IJulia and IRKernel."

LGTM

-- 
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/kleiner-erfahrungsbericht-mit-online-ocr-diensten

Kolumne:
http://www.cissp-gefluester.de/2011-10-aus-der-schublade-in-die-koepfe



0xBF773B65.asc
Description: application/pgp-keys


smime.p7s
Description: S/MIME Cryptographic Signature


Re: Add libidn2

2016-11-04 Thread Kei Kebreau
Leo Famulari  writes:

> Libidn2 is a GNU internationalized domain name (IDN) processing library
> implementing the IDNA2008 specification (libidn implements IDNA2003).
>
> This library is ostensibly used by the most recent release of curl,
> although the curl maintainer has suggested distributors disable IDN
> support altogether for now:
>
> https://curl.haxx.se/mail/lib-2016-11/0033.html
>
> In any case, here is a package definition for the latest libidn2
> release.

LGTM!


signature.asc
Description: PGP signature


Re: [PATCH 15/16] gnu: python-ipython: Update to 4.0.0.

2016-11-04 Thread Roel Janssen

Ricardo Wurmus writes:

> Roel Janssen  writes:
>
>> Ricardo Wurmus writes:
>>
>>> * gnu/packages/python.scm (python-ipython): Update to 4.0.0.
>>>   [inputs]: Keep only "readline" and "which"; move the remaining inputs
>>>   to propagated-inputs, except for "python-requests" and "python-nose"
>>>   which are moved to native-inputs.
>>>   [propagated-inputs]: Add python-pexpect, python-pickleshare,
>>>   python-simplegeneric, python-traitlets, python-ipykernel.
>>>   [native-inputs]: Add "python-testpath".
>>>   [arguments]: Enable building of HTML documentation.
>
> I noticed that I also needed to delete the patch and report it here.
> Also fixed the indentation.
>
>>> +(inputs
>>> + `(("readline" ,readline)
>>> +   ("which" ,which)))
>>
>> I think it really is necessary to propagate these, isn't it?
>
> Neither of these need propagation.  “readline” is checked for by
> setup.py, and for “which” we have a build phase to embed the reference
> to the “which” executable.
>
>>>  (native-inputs
>>>   `(("pkg-config" ,pkg-config)
>>> +   ("python-requests" ,python-requests) ;; for tests
>>> +   ("python-testpath" ,python-testpath)
>>> +   ("python-nose" ,python-nose)
>>> ("python-sphinx" ,python-sphinx)
>>> ("texlive" ,texlive)
>>> ("texinfo" ,texinfo)
>>> @@ -4674,13 +4678,13 @@ tools for mocking system commands and recording 
>>> calls to those.")
>>> (examples (string-append doc "/examples")))
>>>(setenv "LANG" "en_US.utf8")
>>>(with-directory-excursion "docs"
>>> -;; FIXME: html and pdf fail to build
>>> -;; (system* "make" "html")
>>> -;; (system* "make" "pdf" "PAPER=a4")
>>> +;; FIXME: pdf fails to build
>>> +;;(system* "make" "pdf" "PAPER=a4")
>>> +(system* "make" "html")
>>
>> The last line isn't absolutely necessary to, but I it doesn't really
>> matter and I see why you'd want to not have a space there.
>> Nevertheless, you could shorten the patch by two lines if you feel like
>> doing so.. :)
>
> Are you saying that “make html” isn’t needed to build the html docs?  I
> think it is.

No!  Sorry for the confusion, it isn't the last line I meant.. If you
would leave:
;; (system* "make" "pdf" "PAPER=a4")

like that, it saves two lines in the patch.

Kind regards,
Roel Janssen



Re: [PATCH 14/16] gnu: Add python-jupyter-console.

2016-11-04 Thread Roel Janssen

Ricardo Wurmus writes:

> Roel Janssen  writes:
>
>> Ricardo Wurmus writes:
>>
>>> * gnu/packages/python.scm (python-jupyter-console,
>>> python2-jupyter-console): New variable.
>>> ---
>>>  gnu/packages/python.scm | 29 +
>>>  1 file changed, 29 insertions(+)
>>>
>>> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
>>> index 50a0edd..519b93d 100644
>>> --- a/gnu/packages/python.scm
>>> +++ b/gnu/packages/python.scm
>>> @@ -6914,6 +6914,35 @@ in the data.")
>>>  (define-public python2-ipywidgets
>>>(package-with-python2 python-ipywidgets))
>>>  
>>> +(define-public python-jupyter-console
>>> +  (package
>>> +(name "python-jupyter-console")
>>> +(version "5.0.0")
>>> +(source
>>> + (origin
>>> +   (method url-fetch)
>>> +   (uri (pypi-uri "jupyter_console" version))
>>> +   (sha256
>>> +(base32
>>> + "04acmkwsi99rcg3vb54c6n492zv35s92h2ahabc0w6wj976cipvx"
>>> +(build-system python-build-system)
>>> +;; FIXME: it's not clear how to run the tests.
>>> +(arguments `(#:tests? #f))
>>> +(propagated-inputs
>>> + `(("python-ipykernel" ,python-ipykernel)
>>> +   ("python-ipython" ,python-ipython)
>>> +   ("python-jupyter-client" ,python-jupyter-client)
>>> +   ("python-prompt-toolkit" ,python-prompt-toolkit)
>>> +   ("python-pygments" ,python-pygments)
>>> +   ("python-setuptools" ,python-setuptools)))
>>> +(home-page "https://jupyter.org;)
>>> +(synopsis "Jupyter terminal console")
>>> +(description "Jupyter terminal console")
>>
>> How about:
>> "This package provides a terminal window in the browser to directly
>> access the machine Jupyter is running on."
>
> Oh, I forgot to edit the description here.  I’ve changed it to this:
>
> "This package provides a terminal-based console frontend for Jupyter
>  kernels.  It also allows for console-based interaction with
>  non-Python Jupyter kernels such as IJulia and IRKernel."

Nice!

Kind regards,
Roel Janssen



Re: [PATCH 15/16] gnu: python-ipython: Update to 4.0.0.

2016-11-04 Thread Ricardo Wurmus

Roel Janssen  writes:

> Ricardo Wurmus writes:
>
>> * gnu/packages/python.scm (python-ipython): Update to 4.0.0.
>>   [inputs]: Keep only "readline" and "which"; move the remaining inputs
>>   to propagated-inputs, except for "python-requests" and "python-nose"
>>   which are moved to native-inputs.
>>   [propagated-inputs]: Add python-pexpect, python-pickleshare,
>>   python-simplegeneric, python-traitlets, python-ipykernel.
>>   [native-inputs]: Add "python-testpath".
>>   [arguments]: Enable building of HTML documentation.

I noticed that I also needed to delete the patch and report it here.
Also fixed the indentation.

>> +(inputs
>> + `(("readline" ,readline)
>> +   ("which" ,which)))
>
> I think it really is necessary to propagate these, isn't it?

Neither of these need propagation.  “readline” is checked for by
setup.py, and for “which” we have a build phase to embed the reference
to the “which” executable.

>>  (native-inputs
>>   `(("pkg-config" ,pkg-config)
>> +   ("python-requests" ,python-requests) ;; for tests
>> +   ("python-testpath" ,python-testpath)
>> +   ("python-nose" ,python-nose)
>> ("python-sphinx" ,python-sphinx)
>> ("texlive" ,texlive)
>> ("texinfo" ,texinfo)
>> @@ -4674,13 +4678,13 @@ tools for mocking system commands and recording 
>> calls to those.")
>> (examples (string-append doc "/examples")))
>>(setenv "LANG" "en_US.utf8")
>>(with-directory-excursion "docs"
>> -;; FIXME: html and pdf fail to build
>> -;; (system* "make" "html")
>> -;; (system* "make" "pdf" "PAPER=a4")
>> +;; FIXME: pdf fails to build
>> +;;(system* "make" "pdf" "PAPER=a4")
>> +(system* "make" "html")
>
> The last line isn't absolutely necessary to, but I it doesn't really
> matter and I see why you'd want to not have a space there.
> Nevertheless, you could shorten the patch by two lines if you feel like
> doing so.. :)

Are you saying that “make html” isn’t needed to build the html docs?  I
think it is.

~~ Ricardo



Re: [PATCH] gnu: w3m: Switch to Debian's actively maintained fork of w3m.

2016-11-04 Thread Kei Kebreau
From 1eede14194c83b70725b6de062b9d3e0acce6340 Mon Sep 17 00:00:00 2001
From: Kei Kebreau 
Date: Fri, 4 Nov 2016 12:43:28 -0400
Subject: [PATCH] gnu: w3m: Switch to Debian's actively maintained fork of w3m.

Fixes some security issues seen here:


* gnu/packages/w3m.scm (w3m): Switch it.
[source]: Use Debian's git tree. Remove obsolete patches.
[arguments]: Remove unnecessary modification of %standard-phases.
* gnu/packages/patches/w3m-disable-sslv2-and-sslv3.patch,
gnu/packages/patches/w3m-disable-weak-ciphers.patch,
gnu/packages/patches/w3m-force-ssl_verify_server-on.patch,
gnu/packages/patches/w3m-libgc.patch: Delete files.
* gnu/local.mk (dist_patch_DATA): Remove them.
---
 gnu/local.mk   |  4 -
 .../patches/w3m-disable-sslv2-and-sslv3.patch  | 24 --
 .../patches/w3m-disable-weak-ciphers.patch | 24 --
 .../patches/w3m-force-ssl_verify_server-on.patch   | 24 --
 gnu/packages/patches/w3m-libgc.patch   | 28 ---
 gnu/packages/w3m.scm   | 89 ++
 6 files changed, 42 insertions(+), 151 deletions(-)
 delete mode 100644 gnu/packages/patches/w3m-disable-sslv2-and-sslv3.patch
 delete mode 100644 gnu/packages/patches/w3m-disable-weak-ciphers.patch
 delete mode 100644 gnu/packages/patches/w3m-force-ssl_verify_server-on.patch
 delete mode 100644 gnu/packages/patches/w3m-libgc.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index a23d536..a34d8ae 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -891,10 +891,6 @@ dist_patch_DATA =  
\
   %D%/packages/patches/vte-CVE-2012-2738-pt1.patch \
   %D%/packages/patches/vte-CVE-2012-2738-pt2.patch \
   %D%/packages/patches/vtk-mesa-10.patch   \
-  %D%/packages/patches/w3m-libgc.patch \
-  %D%/packages/patches/w3m-force-ssl_verify_server-on.patch\
-  %D%/packages/patches/w3m-disable-sslv2-and-sslv3.patch   \
-  %D%/packages/patches/w3m-disable-weak-ciphers.patch  \
   %D%/packages/patches/weechat-python.patch\
   %D%/packages/patches/weex-vacopy.patch   \
   %D%/packages/patches/wicd-bitrate-none-fix.patch \
diff --git a/gnu/packages/patches/w3m-disable-sslv2-and-sslv3.patch 
b/gnu/packages/patches/w3m-disable-sslv2-and-sslv3.patch
deleted file mode 100644
index 5b78f2d..000
--- a/gnu/packages/patches/w3m-disable-sslv2-and-sslv3.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Subject: Disable SSLv2 and SSLv3.
-
-The only remaining methods are TLSv1.* (the code never distinguishes
-between TLSv1.0, TLSv1.1, and TLSv1.2).

- fm.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/fm.h b/fm.h
-index 320906c..ddcd4fc 100644
 a/fm.h
-+++ b/fm.h
-@@ -1144,7 +1144,7 @@ global int ssl_path_modified init(FALSE);
- #endif/* defined(USE_SSL) &&
-* defined(USE_SSL_VERIFY) */
- #ifdef USE_SSL
--global char *ssl_forbid_method init(NULL);
-+global char *ssl_forbid_method init("2, 3");
- #endif
- 
- global int is_redisplay init(FALSE);
--- 
-2.6.4
-
diff --git a/gnu/packages/patches/w3m-disable-weak-ciphers.patch 
b/gnu/packages/patches/w3m-disable-weak-ciphers.patch
deleted file mode 100644
index 4780d54..000
--- a/gnu/packages/patches/w3m-disable-weak-ciphers.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Subject: Disable weak ciphers
-
-Disable RC4, "export ciphers", and all keys < 128 bits.
-
-Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/w3m/+bug/1325674

- url.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/url.c b/url.c
-index ed6062e..e86b1f3 100644
 a/url.c
-+++ b/url.c
-@@ -326,6 +326,7 @@ openSSLHandle(int sock, char *hostname, char **p_cert)
-   SSL_load_error_strings();
-   if (!(ssl_ctx = SSL_CTX_new(SSLv23_client_method(
-   goto eend;
-+  SSL_CTX_set_cipher_list(ssl_ctx, "DEFAULT:!LOW:!RC4:!EXP");
-   option = SSL_OP_ALL;
-   if (ssl_forbid_method) {
-   if (strchr(ssl_forbid_method, '2'))
--- 
-2.6.4
-
diff --git a/gnu/packages/patches/w3m-force-ssl_verify_server-on.patch 
b/gnu/packages/patches/w3m-force-ssl_verify_server-on.patch
deleted file mode 100644
index dc9f117..000
--- a/gnu/packages/patches/w3m-force-ssl_verify_server-on.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Subject: Force ssl_verify_server on.
-
-By default, SSL/TLS certificates are not verified. This enables the
-verification.

- fm.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/fm.h b/fm.h
-index 8378939..320906c 100644
 a/fm.h
-+++ b/fm.h
-@@ -1135,7 +1135,7 @@ global int view_unseenobject init(TRUE);
- #endif
- 
- #if defined(USE_SSL) && defined(USE_SSL_VERIFY)
--global int ssl_verify_server init(FALSE);
-+global int ssl_verify_server 

Re: [PATCH 09/16] gnu: Add python-entrypoints.

2016-11-04 Thread Ricardo Wurmus

Hartmut Goebel  writes:

> Am 01.11.2016 um 13:20 schrieb Ricardo Wurmus:
>> +   (modify-phases %standard-phases
>> + (delete 'build)
>> + (replace 'install
>> +   (lambda* (#:key inputs outputs #:allow-other-keys)
>> + (let* ((out (assoc-ref outputs "out"))
>> +(python-version ((@@ (guix build python-build-system)
>> + get-python-version)
>> + (assoc-ref inputs "python")))
>> +(target (string-append out "/lib/python" python-version
>> +   "/site-packages/")))
>> +   (mkdir-p target)
>> +   (call-with-output-file (string-append target 
>> "entrypoints.egg-info")
>> + (lambda (port)
>> +   (format port "\
>> +Metadata-Version: 1.1
>> +Name: entrypoints
>> +Version: ~a
>> +Summary: Discover and load entry points from installed packages
>> +Author: Thomas Kluyver
>> +Author-email: tho...@kluyver.me.uk
>> +Classifier: License :: OSI Approved :: MIT License
>> +" ,version)))
>> +   (install-file "entrypoints.py" target)
>> +   #t))
>
> Instread of this I recommend adding a minimal setup.py and let the
> build-system do the job. This would be more future proof.

That’s a good idea.  I did this and it really simplified the patch a
lot.  Thanks!

~~ Ricardo




Re: [PATCH 14/16] gnu: Add python-jupyter-console.

2016-11-04 Thread Ricardo Wurmus

Roel Janssen  writes:

> Ricardo Wurmus writes:
>
>> * gnu/packages/python.scm (python-jupyter-console,
>> python2-jupyter-console): New variable.
>> ---
>>  gnu/packages/python.scm | 29 +
>>  1 file changed, 29 insertions(+)
>>
>> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
>> index 50a0edd..519b93d 100644
>> --- a/gnu/packages/python.scm
>> +++ b/gnu/packages/python.scm
>> @@ -6914,6 +6914,35 @@ in the data.")
>>  (define-public python2-ipywidgets
>>(package-with-python2 python-ipywidgets))
>>  
>> +(define-public python-jupyter-console
>> +  (package
>> +(name "python-jupyter-console")
>> +(version "5.0.0")
>> +(source
>> + (origin
>> +   (method url-fetch)
>> +   (uri (pypi-uri "jupyter_console" version))
>> +   (sha256
>> +(base32
>> + "04acmkwsi99rcg3vb54c6n492zv35s92h2ahabc0w6wj976cipvx"
>> +(build-system python-build-system)
>> +;; FIXME: it's not clear how to run the tests.
>> +(arguments `(#:tests? #f))
>> +(propagated-inputs
>> + `(("python-ipykernel" ,python-ipykernel)
>> +   ("python-ipython" ,python-ipython)
>> +   ("python-jupyter-client" ,python-jupyter-client)
>> +   ("python-prompt-toolkit" ,python-prompt-toolkit)
>> +   ("python-pygments" ,python-pygments)
>> +   ("python-setuptools" ,python-setuptools)))
>> +(home-page "https://jupyter.org;)
>> +(synopsis "Jupyter terminal console")
>> +(description "Jupyter terminal console")
>
> How about:
> "This package provides a terminal window in the browser to directly
> access the machine Jupyter is running on."

Oh, I forgot to edit the description here.  I’ve changed it to this:

"This package provides a terminal-based console frontend for Jupyter
 kernels.  It also allows for console-based interaction with
 non-Python Jupyter kernels such as IJulia and IRKernel."

~~ Ricardo



Re: [PATCH] gnu: chromium-bsu: Update to 0.9.16.1.

2016-11-04 Thread Kei Kebreau
Leo Famulari  writes:

> On Fri, Nov 04, 2016 at 11:21:26AM -0400, Kei Kebreau wrote:
>> Upstream Chromium B.S.U. fixed some issues in the code. Our package
>> definition is simpler as a result.
>
> LGTM!

Excellent! Pushed as 08722837b048e7d0b416e414f7e695a380e7784b.


signature.asc
Description: PGP signature


Re: [PATCH] system: Avoid using device paths in device field.

2016-11-04 Thread Leo Famulari
On Thu, Nov 03, 2016 at 06:10:28AM -0700, cmmarus...@gmail.com wrote:
> From: Chris Marusich 
> 
> This fixes a regression introduced by
> 1ef8b72a7f87afe7cffe52393d99e1b14e4770e1, in which we would incorrectly use a
> device path in a label-based grub root search command, e.g. 'search --label
> --set /dev/sda4'.
> 
> * gnu/system.scm (grub-device): New procedure.
> (operating-system-grub.cfg, operating-system-parameters-file): Use it.
> (read-boot-parameters): Handle device paths correctly.

I'm not able to test this patch, but I think we should resolve the
underlying issue before the next release.



Re: [PATCH] gnu: w3m: Switch to Debian's actively maintained fork of w3m.

2016-11-04 Thread Leo Famulari
On Fri, Nov 04, 2016 at 10:52:55AM -0400, Kei Kebreau wrote:
> > Leo Famulari  skribis:
> >> I think we build from their Git repo:
> >>
> >> https://anonscm.debian.org/cgit/collab-maint/w3m.git
> >>
> >> They even offer non-Debian-ized release tags, such as
> >> .

> Here it is!

Thanks!

> From cc7a61d61160817ceb395b648b18c885175441e8 Mon Sep 17 00:00:00 2001
> From: Kei Kebreau 
> Date: Fri, 4 Nov 2016 10:48:53 -0400
> Subject: [PATCH] gnu: w3m: Switch to Debian's actively maintained fork of w3m.
> 
> Fixes some security issues seen here:
> 
> 
> * gnu/packages/w3m.scm (w3m): Switch to Debian's actively maintained
> fork of w3m.

No need to rewrite the commit title here :)

> [source]: Use Debian's git tree. Remove obsolete patches.
> [arguments]: Remove unnecessary modification of %standard-phases.
> * gnu/packages/patches/w3m-disable-sslv2-and-sslv3.patch: Delete file.
> * gnu/packages/patches/w3m-disable-weak-ciphers.patch: Delete file.
> * gnu/packages/patches/w3m-force-ssl_verify_server-on.patch: Delete file.
> * gnu/packages/patches/w3m-libgc.patch: Delete file.

Or:
* gnu/packages/patches/w3m-disable-sslv2-and-sslv3.patch,
gnu/packages/patches/w3m-disable-weak-ciphers.patch,
gnu/packages/patches/w3m-force-ssl_verify_server-on.patch,
gnu/packages/patches/w3m-libgc.patch: Delete files.

By the way, I double-checked that all these patches are indeed
integrated into the release tag used by this package definition.

>  (define-public w3m
> @@ -36,33 +37,16 @@
>  (name "w3m")
>  (version "0.5.3")

This should reflect the tag used in (commit).

>  (source (origin
> - (method url-fetch)
> - (uri (string-append "mirror://sourceforge/" name "/" name "/"
> - name "-" version "/"
> - name "-" version ".tar.gz"))
> - (sha256
> -  (base32
> -   "1qx9f0kprf92r1wxl3sacykla0g04qsi0idypzz24b7xy9ix5579"))
> -
> - ;; cf. https://bugs.archlinux.org/task/33397
> - (patches (search-patches "w3m-libgc.patch"
> -  "w3m-force-ssl_verify_server-on.patch"
> -  "w3m-disable-sslv2-and-sslv3.patch"
> -  "w3m-disable-weak-ciphers.patch"
> +  (method git-fetch)
> +  ;; Debian's fork of w3m is the only one that is still 
> maintained.
> +  (uri (git-reference
> +(url 
> "https://anonscm.debian.org/cgit/collab-maint/w3m.git;)
> +(commit "v0.5.3+git20161031")))

> - (substitute* '("scripts/w3mmail.cgi.in"
> -"scripts/dirlist.cgi.in")
> -   (("@PERL@") (which "perl"

Does this @PERL@ get patched correctly?

Thanks for taking this on!


signature.asc
Description: PGP signature


Re: [PATCH] gnu: chromium-bsu: Update to 0.9.16.1.

2016-11-04 Thread Leo Famulari
On Fri, Nov 04, 2016 at 11:21:26AM -0400, Kei Kebreau wrote:
> Upstream Chromium B.S.U. fixed some issues in the code. Our package
> definition is simpler as a result.

LGTM!


signature.asc
Description: PGP signature


Add libidn2

2016-11-04 Thread Leo Famulari
Libidn2 is a GNU internationalized domain name (IDN) processing library
implementing the IDNA2008 specification (libidn implements IDNA2003).

This library is ostensibly used by the most recent release of curl,
although the curl maintainer has suggested distributors disable IDN
support altogether for now:

https://curl.haxx.se/mail/lib-2016-11/0033.html

In any case, here is a package definition for the latest libidn2
release.
From 537645e615a9c3b10c7882cfba1311f1283d1d0a Mon Sep 17 00:00:00 2001
From: Leo Famulari 
Date: Fri, 4 Nov 2016 11:19:45 -0400
Subject: [PATCH] gnu: Add libidn2.

* gnu/packages/libidn.scm (libidn2): New variable.
---
 gnu/packages/libidn.scm | 22 ++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/libidn.scm b/gnu/packages/libidn.scm
index 432c1fe..141ad7a 100644
--- a/gnu/packages/libidn.scm
+++ b/gnu/packages/libidn.scm
@@ -59,3 +59,25 @@ names.  It includes native C, C# and Java libraries.")
   (sha256
(base32
 "068fjg2arlppjqqpzd714n1lf6gxkpac9v5yyvp1qwmv6nvam9s4")))
+
+(define-public libidn2
+  (package
+(name "libidn2")
+(version "0.11")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "ftp://alpha.gnu.org/gnu/libidn/libidn2-;
+  version ".tar.gz"))
+  (sha256
+   (base32
+"1zxzhzx14q2b1xkx746pz4lawvqd8d055yy84n52ndwb4pf7nfax"
+(build-system gnu-build-system)
+(synopsis "Internationalized domain name library for IDNA2008")
+(description "Libidn2 is an internationalized domain library implementing
+the IDNA2008 specifications.   Libidn2 is believed to be a complete IDNA2008
+implementation, but has yet to be as extensively used as the original Libidn
+library.")
+(home-page "https://www.gnu.org/software/libidn/#libidn2;)
+;; The command-line tool 'idn2' is GPL3+, while the library is 
dual-licensed
+;; GPL2+ or LGPL3+.
+(license (list gpl2+ gpl3+ lgpl3+
-- 
2.10.2



signature.asc
Description: PGP signature


[PATCH] gnu: chromium-bsu: Update to 0.9.16.1.

2016-11-04 Thread Kei Kebreau
Upstream Chromium B.S.U. fixed some issues in the code. Our package
definition is simpler as a result.
From 08722837b048e7d0b416e414f7e695a380e7784b Mon Sep 17 00:00:00 2001
From: Kei Kebreau 
Date: Fri, 4 Nov 2016 11:17:09 -0400
Subject: [PATCH] gnu: chromium-bsu: Update to 0.9.16.1.

* gnu/packages/games.scm (chromium-bsu): Update to 0.9.16.1.
[arguments]: Remove 'set-sdl-paths phase.
[inputs]: Add gnu-gettext.
---
 gnu/packages/games.scm | 15 ---
 1 file changed, 4 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 941e3a0..a663396 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -2563,7 +2563,7 @@ in strikes against the evil corporation.")
 (define-public chromium-bsu
   (package
 (name "chromium-bsu")
-(version "0.9.15.1")
+(version "0.9.16.1")
 (source (origin
   (method url-fetch)
   (uri (string-append "mirror://sourceforge/" name
@@ -2571,18 +2571,11 @@ in strikes against the evil corporation.")
   name "-" version ".tar.gz"))
   (sha256
(base32
-"01c4mki0rpz6wrqbf18fj4vd7axln5v0xqm80cyksbv63g04s6w6"
+"0jk2w5b6s6nkzri585bbz16cif2fhqcnl5l1mq3rd98r9nil3hd1"
 (build-system gnu-build-system)
-(arguments
- `(#:phases (modify-phases %standard-phases
-  (add-after 'set-paths 'set-sdl-paths
- (lambda* (#:key inputs #:allow-other-keys)
-   (setenv "CPATH"
-   (string-append (assoc-ref inputs 
"sdl-union")
-  "/include/SDL"))
-   #t)
 (native-inputs `(("pkg-config" ,pkg-config)))
-(inputs `(("glu" ,glu)
+(inputs `(("gettext" ,gnu-gettext)
+  ("glu" ,glu)
   ("quesoglc" ,quesoglc)
   ("sdl-union" ,(sdl-union (list sdl sdl-image sdl-mixer)
 (home-page "http://chromium-bsu.sourceforge.net/;)
-- 
2.10.2



signature.asc
Description: PGP signature


Re: [PATCH] gnu: w3m: Switch to Debian's actively maintained fork of w3m.

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

> Leo Famulari  skribis:
>
>> On Thu, Nov 03, 2016 at 10:17:18PM -0500, Eric Bavier wrote:
>>> On Thu, 03 Nov 2016 18:54:55 -0400
>>> Kei Kebreau  wrote:
>>> 
>>> > From b837111e3ddf406a3b9235538f63af678e3ac741 Mon Sep 17 00:00:00 2001
>>> > From: Kei Kebreau 
>>> > Date: Thu, 3 Nov 2016 17:58:48 -0400
>>> > Subject: [PATCH] gnu: w3m: Switch to Debian's actively maintained fork of 
>>> > w3m.
>>> > 
>>> > Fixes some security issues seen here:
>>> > 
>>> > 
>>> > * gnu/packages/patches/w3m-upstream-20120522.patch: New file.
>>> > * gnu/packages/patches/w3m-debian-updates.patch: New file.
>>> > * gnu/packages/w3m.scm (w3m): Switch to Debian's actively maintained
>>> > fork of w3m.
>>> > [source]: Use Debian's tarball and patches. Remove obsolete patches.
>>> > [arguments]: Remove unnecessary modification of %standard-phases.
>>> > * gnu/local.mk (dist_patch_DATA): Register new patches. Remove obsolete
>>> > patches.
>>> > ---
>>> >  gnu/local.mk   | 6 +-
>>> >  gnu/packages/patches/w3m-debian-updates.patch  | 28498 
>>> > +++
>>> 
>>> So theirs is the only actively maintained version of w3m and all they
>>> can provide is a 28.5 thousand line patch?  No VCS repository?  There
>>> must be some point at which it would be better for us to fetch the
>>> patch in an origin rather than importing it into our repo.
>>
>> I think we build from their Git repo:
>>
>> https://anonscm.debian.org/cgit/collab-maint/w3m.git
>>
>> They even offer non-Debian-ized release tags, such as
>> .
>
> Then we should use that instead of importing all the patches in our own
> repo, IMO.
>
> Kei: would that work for you?
>
> Thanks,
> Ludo’.

Here it is!
From cc7a61d61160817ceb395b648b18c885175441e8 Mon Sep 17 00:00:00 2001
From: Kei Kebreau 
Date: Fri, 4 Nov 2016 10:48:53 -0400
Subject: [PATCH] gnu: w3m: Switch to Debian's actively maintained fork of w3m.

Fixes some security issues seen here:


* gnu/packages/w3m.scm (w3m): Switch to Debian's actively maintained
fork of w3m.
[source]: Use Debian's git tree. Remove obsolete patches.
[arguments]: Remove unnecessary modification of %standard-phases.
* gnu/packages/patches/w3m-disable-sslv2-and-sslv3.patch: Delete file.
* gnu/packages/patches/w3m-disable-weak-ciphers.patch: Delete file.
* gnu/packages/patches/w3m-force-ssl_verify_server-on.patch: Delete file.
* gnu/packages/patches/w3m-libgc.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Remove them.
---
 gnu/local.mk   |  4 ---
 .../patches/w3m-disable-sslv2-and-sslv3.patch  | 24 --
 .../patches/w3m-disable-weak-ciphers.patch | 24 --
 .../patches/w3m-force-ssl_verify_server-on.patch   | 24 --
 gnu/packages/patches/w3m-libgc.patch   | 28 
 gnu/packages/w3m.scm   | 38 +++---
 6 files changed, 11 insertions(+), 131 deletions(-)
 delete mode 100644 gnu/packages/patches/w3m-disable-sslv2-and-sslv3.patch
 delete mode 100644 gnu/packages/patches/w3m-disable-weak-ciphers.patch
 delete mode 100644 gnu/packages/patches/w3m-force-ssl_verify_server-on.patch
 delete mode 100644 gnu/packages/patches/w3m-libgc.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index a23d536..a34d8ae 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -891,10 +891,6 @@ dist_patch_DATA =  
\
   %D%/packages/patches/vte-CVE-2012-2738-pt1.patch \
   %D%/packages/patches/vte-CVE-2012-2738-pt2.patch \
   %D%/packages/patches/vtk-mesa-10.patch   \
-  %D%/packages/patches/w3m-libgc.patch \
-  %D%/packages/patches/w3m-force-ssl_verify_server-on.patch\
-  %D%/packages/patches/w3m-disable-sslv2-and-sslv3.patch   \
-  %D%/packages/patches/w3m-disable-weak-ciphers.patch  \
   %D%/packages/patches/weechat-python.patch\
   %D%/packages/patches/weex-vacopy.patch   \
   %D%/packages/patches/wicd-bitrate-none-fix.patch \
diff --git a/gnu/packages/patches/w3m-disable-sslv2-and-sslv3.patch 
b/gnu/packages/patches/w3m-disable-sslv2-and-sslv3.patch
deleted file mode 100644
index 5b78f2d..000
--- a/gnu/packages/patches/w3m-disable-sslv2-and-sslv3.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Subject: Disable SSLv2 and SSLv3.
-
-The only remaining methods are TLSv1.* (the code never distinguishes
-between TLSv1.0, TLSv1.1, and TLSv1.2).

- fm.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/fm.h b/fm.h
-index 320906c..ddcd4fc 100644
 a/fm.h
-+++ b/fm.h
-@@ -1144,7 +1144,7 @@ global int ssl_path_modified 

Re: [PATCH v4 1/1] gnu: Add plantuml.

2016-11-04 Thread Roel Janssen

Theodoros Foradis writes:

> Roel Janssen writes:
>
>> I tried running plantuml with the following snippet:
>> @startuml
>> A <..> B
>> @enduml
>>
>> And it crashes because it attempts to run "/usr/bin/dot".
>>
>> With the following snippet, we replace this "/usr/bin/dot" dependency
>> with the proper one from the graphviz input:
>>
>> (add-before 'build 'patch-usr-bin-dot
>>   (lambda* (#:key inputs #:allow-other-keys)
>> (let ((dot (string-append (assoc-ref inputs "graphviz")
>>"/bin/dot")))
>>   (substitute*
>> "src/net/sourceforge/plantuml/cucadiagram/dot/GraphvizLinux.java"
>> (("/usr/bin/dot") dot)
>>
>
> Nice catch! Thanks for testing that.
>
>> Could you add this snippet?
>>
>> Other than this, it works fine for me.
>>
>> Kind regards,
>> Roel Janssen
>
> Let me know if I need to post an updated patch.

Please do.  Have all comments been incorporated into this version of the
patch?  If so, I guess we can push the version that includes my snippet,
unless anyone still has any comments.

Thanks!

Kind regards,
Roel Janssen



Re: Circular dependencies in gnu/packages, weird error message

2016-11-04 Thread Ludovic Courtès
Hi,

Danny Milosavljevic  skribis:

> I cannot import (gnu packages cross-base) in (gnu packages admin) (it gave an 
> incomprehensible-to-me error message [*]). What could be the cause?

Some (gnu packages …) modules were referring to bindings from other
modules at the top level, which doesn’t play well with circular module
dependencies.

Commits fb77c61422ae2d03c0bf655d96b0e88f5f8001da and
bd2e1a8cb07088bdc54b9bb05d9b2e99f78e5b28 work around that.

You should now be able to add #:use-module (gnu packages cross-base) in
admin.scm.

> Since I speculated maybe circular dependencies are the cause (?), I wrote a 
> quick one-off script to find define-module and #:use-module forms and 
> reformat them into Makefile rules. This allowed me to find all the circular 
> dependencies between the modules in gnu/packages.

Fun hack.  :-)

Thanks,
Ludo’.



Re: [PATCH] gnu: w3m: Switch to Debian's actively maintained fork of w3m.

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

> Leo Famulari  skribis:
>
>> On Thu, Nov 03, 2016 at 10:17:18PM -0500, Eric Bavier wrote:
>>> On Thu, 03 Nov 2016 18:54:55 -0400
>>> Kei Kebreau  wrote:
>>> 
>>> > From b837111e3ddf406a3b9235538f63af678e3ac741 Mon Sep 17 00:00:00 2001
>>> > From: Kei Kebreau 
>>> > Date: Thu, 3 Nov 2016 17:58:48 -0400
>>> > Subject: [PATCH] gnu: w3m: Switch to Debian's actively maintained
>>> > fork of w3m.
>>> > 
>>> > Fixes some security issues seen here:
>>> > 
>>> > 
>>> > * gnu/packages/patches/w3m-upstream-20120522.patch: New file.
>>> > * gnu/packages/patches/w3m-debian-updates.patch: New file.
>>> > * gnu/packages/w3m.scm (w3m): Switch to Debian's actively maintained
>>> > fork of w3m.
>>> > [source]: Use Debian's tarball and patches. Remove obsolete patches.
>>> > [arguments]: Remove unnecessary modification of %standard-phases.
>>> > * gnu/local.mk (dist_patch_DATA): Register new patches. Remove obsolete
>>> > patches.
>>> > ---
>>> >  gnu/local.mk   | 6 +-
>>> >  gnu/packages/patches/w3m-debian-updates.patch | 28498
>>> > +++
>>> 
>>> So theirs is the only actively maintained version of w3m and all they
>>> can provide is a 28.5 thousand line patch?  No VCS repository?  There
>>> must be some point at which it would be better for us to fetch the
>>> patch in an origin rather than importing it into our repo.
>>
>> I think we build from their Git repo:
>>
>> https://anonscm.debian.org/cgit/collab-maint/w3m.git
>>
>> They even offer non-Debian-ized release tags, such as
>> .
>
> Then we should use that instead of importing all the patches in our own
> repo, IMO.
>
> Kei: would that work for you?
>
> Thanks,
> Ludo’.

It seems simple enough. I'll give it a go.


signature.asc
Description: PGP signature


Re: [PATCH] gnu: w3m: Switch to Debian's actively maintained fork of w3m.

2016-11-04 Thread Ludovic Courtès
Leo Famulari  skribis:

> On Thu, Nov 03, 2016 at 10:17:18PM -0500, Eric Bavier wrote:
>> On Thu, 03 Nov 2016 18:54:55 -0400
>> Kei Kebreau  wrote:
>> 
>> > From b837111e3ddf406a3b9235538f63af678e3ac741 Mon Sep 17 00:00:00 2001
>> > From: Kei Kebreau 
>> > Date: Thu, 3 Nov 2016 17:58:48 -0400
>> > Subject: [PATCH] gnu: w3m: Switch to Debian's actively maintained fork of 
>> > w3m.
>> > 
>> > Fixes some security issues seen here:
>> > 
>> > 
>> > * gnu/packages/patches/w3m-upstream-20120522.patch: New file.
>> > * gnu/packages/patches/w3m-debian-updates.patch: New file.
>> > * gnu/packages/w3m.scm (w3m): Switch to Debian's actively maintained
>> > fork of w3m.
>> > [source]: Use Debian's tarball and patches. Remove obsolete patches.
>> > [arguments]: Remove unnecessary modification of %standard-phases.
>> > * gnu/local.mk (dist_patch_DATA): Register new patches. Remove obsolete
>> > patches.
>> > ---
>> >  gnu/local.mk   | 6 +-
>> >  gnu/packages/patches/w3m-debian-updates.patch  | 28498 
>> > +++
>> 
>> So theirs is the only actively maintained version of w3m and all they
>> can provide is a 28.5 thousand line patch?  No VCS repository?  There
>> must be some point at which it would be better for us to fetch the
>> patch in an origin rather than importing it into our repo.
>
> I think we build from their Git repo:
>
> https://anonscm.debian.org/cgit/collab-maint/w3m.git
>
> They even offer non-Debian-ized release tags, such as
> .

Then we should use that instead of importing all the patches in our own
repo, IMO.

Kei: would that work for you?

Thanks,
Ludo’.



Re: How to use custom grub?

2016-11-04 Thread Ludovic Courtès
Hello!

Marius Bakke  skribis:

> I have a working UEFI GuixSD system, by adding FAT32 support to
> base-initrd and installing the initial UEFI bootloader from a non-Guix
> live CD.

Cool!  We should integrate the necessary changes in ‘master’.

> The "grub-configuration" object takes a 'grub' argument which defaults
> to (@ (gnu packages grub) grub). However setting that to 'grub-efi' in
> the operating-system declaration or even directly in gnu/system/grub.scm
> has no effect.

Ideally it should have the desired effect.  :-)

> Looking at guix/scripts/system.scm, grub is defined as
> (package->derivation grub). I tried exporting grub-configuration-grub
> and using that in the (package->derivation) procedure, but that broke
> the world :)
>
> What is the correct approach here?

What you describe above looks like the right approach.  Maybe we could
see exactly what broke and work from there, unless Danny’s patch already
solves the issue?

Thanks,
Ludo’.



Re: [PATCH 2/4] gnu: Add r-bigmemory-sri.

2016-11-04 Thread Ricardo Wurmus

Roel Janssen  writes:

>> Your patch is fine if you add a comment above the license field that
>> states that these one of these two licenses may be choosen.
>
> Right.  Would the following patch be alright then:
>
> modified   gnu/packages/statistics.scm
> @@ -2787,6 +2787,26 @@ Fourier transform, fuzzy clustering, support vector 
> machines, shortest path
>  computation, bagged clustering, naive Bayes classifier, and more.")
>  (license license:gpl2+)))
>  
> +(define-public r-bigmemory-sri
> +  (package
> +(name "r-bigmemory-sri")
> +(version "0.1.3")
> +(source
> + (origin
> +   (method url-fetch)
> +   (uri (cran-uri "bigmemory.sri" version))
> +   (sha256
> +(base32 "0mg14ilwdkd64q2ri9jdwnk7mp55dqim7xfifrs65sdsv1934h2m"
> +(properties
> + `((upstream-name . "bigmemory.sri")))
> +(build-system r-build-system)
> +(home-page "http://cran.r-project.org/web/packages/bigmemory.sri;)
> +(synopsis "Shared resource interface for the bigmemory package")
> +(description "This package provides a shared resource interface for the
> +bigmemory and synchronicity packages.")
> +;; Users can choose either LGPLv3 or ASL2.0.
> +(license (list license:lgpl3 license:asl2.0
> +
>  (define-public r-nmf
>(package
>  (name "r-nmf")

Perfect!  Thanks!

~~ Ricardo




Re: [PATCH] improve nginx-service

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

> Am 03.11.2016 um 15:54 schrieb Ludovic Courtès:
>> Assuming ‘demo-website’ is bound to a package object, you should be able
>> to do:
>>
>>   (root (file-append demo-website "/"))
>>
>> or simply:
>>
>>   (root demo-website)
>
> Hmm, this does not work for me:
>
>
> ice-9/boot-9.scm:702:27: In procedure map:
> ice-9/boot-9.scm:702:27: In procedure string-append: Wrong type
> (expecting string): # ./taler/packages/demo.scm:100 3e2a600>
>
>
> I tried with current master branch.

Doh!  Indeed, ‘default-nginx-vhost-config’ must be rewritten to do
something like:

  #~(string-append #$foo #$bar …)

instead of:

  (string-append foo bar …)

More precisely, it could ‘string-append’ all the string literals yet use
a #~(string-append …) gexp for ‘root’.

Julien?  :-)

Ludo’.



Re: [PATCH 2/4] gnu: Add r-bigmemory-sri.

2016-11-04 Thread Roel Janssen

Ricardo Wurmus writes:

> Roel Janssen  writes:
>
>> Ricardo Wurmus writes:
>>
>>> Roel Janssen  writes:
>>>
 Roel Janssen writes:

> Ricardo Wurmus writes:
>
>> Roel Janssen  writes:
>>> +(description "This package provides a shared resource interface 
>>> for the
>>> +bigmemory and synchronicity packages.")
>>> +(license (list license:lgpl3 license:asl2.0
>>
>> What does this list mean?
>> Also: is this LGPL3+ or LGPL3 only?
>
> The CRAN page lists LGPL3 explicitly, but that could be imprecise ...
> The source code package does not contain any other license indication
> than waht is stated in the DESCRIPTION file (which states LGPL3 and
> Apache Software License 2.0).
>
> See:
>   https://cran.r-project.org/web/packages/bigmemory.sri/
>
> So, I think the only thing I can do is just follow what has been stated,
> which is LGPL3 (precisely this) and Apache Software License 2.0.

 I don't know how to proceed now.  I think it's fine as the list of
 licenses is the list of licenses they provide.

 Are these licenses incompatible?  If so, then there's nothing I can do
 either, because these are the licenses that are provided..
>>>
>>> Usually, what we do for R is to assume “or later” because that’s how
>>> things are usually done on CRAN.  (They also automatically expand
>>> license declarations.)
>>
>> Well I don't think we can do that in this case because that's not what
>> the license field says.  In the code there's no license at all, so that
>> makes it even more difficult.
>
> You’re right.  I misremembered.  It’s only these joint license
> declarations like “GPL-2 | GPL-3” that effectively mean “or later”.  (It
> is impossible to express “or later” in canonical R license fields.)
>
>> I guess this is about the possible license incompatibility between LGPLv3
>> and Apache?  I tried to explain that in any case, there's nothing I can
>> do about it anyway..
>
> Actually, the declaration in this package means “either this or that”
> license.
>
> See https://cran.r-project.org/doc/manuals/R-exts.html#The-DESCRIPTION-file
>
> “The mandatory ‘License’ field in the DESCRIPTION file should
>  specify the license of the package in a standardized
>  form. Alternatives are indicated via vertical bars.”
>
> Your patch is fine if you add a comment above the license field that
> states that these one of these two licenses may be choosen.

Right.  Would the following patch be alright then:

modified   gnu/packages/statistics.scm
@@ -2787,6 +2787,26 @@ Fourier transform, fuzzy clustering, support vector 
machines, shortest path
 computation, bagged clustering, naive Bayes classifier, and more.")
 (license license:gpl2+)))
 
+(define-public r-bigmemory-sri
+  (package
+(name "r-bigmemory-sri")
+(version "0.1.3")
+(source
+ (origin
+   (method url-fetch)
+   (uri (cran-uri "bigmemory.sri" version))
+   (sha256
+(base32 "0mg14ilwdkd64q2ri9jdwnk7mp55dqim7xfifrs65sdsv1934h2m"
+(properties
+ `((upstream-name . "bigmemory.sri")))
+(build-system r-build-system)
+(home-page "http://cran.r-project.org/web/packages/bigmemory.sri;)
+(synopsis "Shared resource interface for the bigmemory package")
+(description "This package provides a shared resource interface for the
+bigmemory and synchronicity packages.")
+;; Users can choose either LGPLv3 or ASL2.0.
+(license (list license:lgpl3 license:asl2.0
+
 (define-public r-nmf
   (package
 (name "r-nmf")

Kind regards,
Roel Janssen



Re: [PATCH 08/16] gnu: Add python-bleach.

2016-11-04 Thread Roel Janssen

Ricardo Wurmus writes:

> Roel Janssen  writes:
>
>> Ricardo Wurmus writes:
>>
>>> * gnu/packages/python.scm (python-bleach, python2-bleach): New
>>> variables.
>>> ---
>>>  gnu/packages/python.scm | 26 ++
>>>  1 file changed, 26 insertions(+)
>>>
>>> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
>>> index 590ba43..a2d3d3c 100644
>>> --- a/gnu/packages/python.scm
>>> +++ b/gnu/packages/python.scm
>>> @@ -6693,6 +6693,32 @@ Jupyter Notebook format and Python APIs for working 
>>> with notebooks.")
>>>  (define-public python2-nbformat
>>>(package-with-python2 python-nbformat))
>>>  
>>> +(define-public python-bleach
>>> +  (package
>>> +(name "python-bleach")
>>> +(version "1.4.3")
>>> +(source
>>> + (origin
>>> +   (method url-fetch)
>>> +   (uri (pypi-uri "bleach" version))
>>> +   (sha256
>>> +(base32
>>> + "0jvg3jxrvnx7xmm9gj262v60ib452xlnwlb0navyp7jsvcd0d4qj"
>>> +(build-system python-build-system)
>>> +(propagated-inputs
>>> + `(("python-html5lib" ,python-html5lib-0.9)
>>
>> If you add the following snippet, it does not need this older version of
>> html5lib to build.
>>
>> (arguments
>>  `(#:phases
>>(modify-phases %standard-phases
>>  (add-after 'unpack 'fix-html5lib-version
>>(lambda* (#:key inputs #:allow-other-keys)
>>  (substitute* "setup.py"
>>(("'html5lib>=0.999,<0.',") "'html5lib',")))
>>
>> I don't know whether this modification is problematic later on when
>> running Jupyter (I'm not there yet).
>
> I’d rather not do this, because they purposefully restricted the range.
> It used to be less restrictive, so I’m assuming that there’s a good
> reason for not using the latest version of html5lib.

Yes, I agree.  Please ignore my suggestion.  I submitted this before you
explained they restricted the version requirement deliberately.

Kind regards,
Roel Janssen



Re: swh-plugins-lv2: New variable [WIP, v2]

2016-11-04 Thread Ricardo Wurmus

Hi Flo,

> On 12/06/2015 11:44 PM, Florian Paul Schmidt wrote:
>> Just pushing this out to get some feedback (I'll need to package more
>> audio plugins and this might be a good start to talk about possible issues)
>
> Updated the patch, since it seems the other version didn't get submitted..

I’m so sorry for not noticing this email earlier!  Shortly before the
first anniversary of your patch I’ve rebased and updated it.  There’s
been a release since you submitted this, I switched to modify-phases
syntax, added pkg-config to the native-inputs (because otherwise it
wouldn’t find FFTW), moved libxslt to native-inputs, and changed “fftw”
to “fftwf” (because that’s the library pkg-config actually looks for).

Now the FFT plugins are built correctly as well.

Pushed to master as 18f3d92b39faaa881c65e5838434059f2f8ced75.

Thanks again for the patch and my apologies for not handling this
earlier!

~~ Ricardo




Re: [PATCH 08/16] gnu: Add python-bleach.

2016-11-04 Thread Ricardo Wurmus

Roel Janssen  writes:

> Ricardo Wurmus writes:
>
>> * gnu/packages/python.scm (python-bleach, python2-bleach): New
>> variables.
>> ---
>>  gnu/packages/python.scm | 26 ++
>>  1 file changed, 26 insertions(+)
>>
>> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
>> index 590ba43..a2d3d3c 100644
>> --- a/gnu/packages/python.scm
>> +++ b/gnu/packages/python.scm
>> @@ -6693,6 +6693,32 @@ Jupyter Notebook format and Python APIs for working 
>> with notebooks.")
>>  (define-public python2-nbformat
>>(package-with-python2 python-nbformat))
>>  
>> +(define-public python-bleach
>> +  (package
>> +(name "python-bleach")
>> +(version "1.4.3")
>> +(source
>> + (origin
>> +   (method url-fetch)
>> +   (uri (pypi-uri "bleach" version))
>> +   (sha256
>> +(base32
>> + "0jvg3jxrvnx7xmm9gj262v60ib452xlnwlb0navyp7jsvcd0d4qj"
>> +(build-system python-build-system)
>> +(propagated-inputs
>> + `(("python-html5lib" ,python-html5lib-0.9)
>
> If you add the following snippet, it does not need this older version of
> html5lib to build.
>
> (arguments
>  `(#:phases
>(modify-phases %standard-phases
>  (add-after 'unpack 'fix-html5lib-version
>(lambda* (#:key inputs #:allow-other-keys)
>  (substitute* "setup.py"
>(("'html5lib>=0.999,<0.',") "'html5lib',")))
>
> I don't know whether this modification is problematic later on when
> running Jupyter (I'm not there yet).

I’d rather not do this, because they purposefully restricted the range.
It used to be less restrictive, so I’m assuming that there’s a good
reason for not using the latest version of html5lib.

~~ Ricardo



Re: [PATCH 07/16] gnu: Add python-nbformat.

2016-11-04 Thread Ricardo Wurmus

Hartmut Goebel  writes:

> Am 01.11.2016 um 13:20 schrieb Ricardo Wurmus:
>> +(propagated-inputs
>> + `(("python-ipython-genutils" ,python-ipython-genutils)
>> +   ("python-jsonschema" ,python-jsonschema)
>> +   ("python-jupyter-core" ,python-jupyter-core)
>> +   ("python-setuptools" ,python-setuptools)
> Why is setuptools required at run-time?
>
> This question also belongs to the other packages where setuptools are a
> propagated-input.

I think you’re right about this.  I’ll rebuild the packages with
setuptools as a native input.

Thanks!

~~ Ricardo



Re: [PATCH 07/16] gnu: Add python-nbformat.

2016-11-04 Thread Ricardo Wurmus

Roel Janssen  writes:

> Ricardo Wurmus writes:
>
>> * gnu/packages/python.scm (python-nbformat, python2-nbformat): New
>> variables.
>> ---
>>  gnu/packages/python.scm | 28 
>>  1 file changed, 28 insertions(+)
>>
>> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
>> index ed736ff..590ba43 100644
>> --- a/gnu/packages/python.scm
>> +++ b/gnu/packages/python.scm
>> @@ -6665,6 +6665,34 @@ Debian-related files, such as:
>>  (define-public python2-debian
>>(package-with-python2 python-debian))
>>  
>> +(define-public python-nbformat
>> +  (package
>> +(name "python-nbformat")
>> +(version "4.1.0")
>> +(source
>> + (origin
>> +   (method url-fetch)
>> +   (uri (pypi-uri "nbformat" version))
>> +   (sha256
>> +(base32
>> + "0mq8iki3d4mnx7wy05phss7x98mds4fqydin8lcagidp1knw1xnv"
>> +(build-system python-build-system)
>> +(arguments `(#:tests? #f)) ; no test target
>> +(propagated-inputs
>> + `(("python-ipython-genutils" ,python-ipython-genutils)
>> +   ("python-jsonschema" ,python-jsonschema)
>> +   ("python-jupyter-core" ,python-jupyter-core)
>> +   ("python-setuptools" ,python-setuptools)
>> +   ("python-traitlets" ,python-traitlets)))
>> +(home-page "http://jupyter.org;)
>> +(synopsis "Jupyter Notebook format")
>
> Notebook or notebook?

Capitalised because it’s a proper name.

~~ Ricardo



Re: [PATCH 05/16] gnu: Add python-testpath.

2016-11-04 Thread Ricardo Wurmus

Hartmut Goebel  writes:

> Am 01.11.2016 um 13:20 schrieb Ricardo Wurmus:
>> +(assoc-ref outputs "out")
>> +"/lib/python"
>> +(string-take (string-take-right
>> +  (assoc-ref inputs "python") 
>> 5) 3)
>> +"/site-packages/testpath")))
>
> python-build-system contains a function "python-version", which would
> give cleaner code here. Unfortunatly this function is private. But the
> new python build system exports a function "site-packages" which does
> exactly this.

That’s good to know!  I’m looking forward to updating the packages that
currently contain snippets like the above.

~~ Ricardo



Re: [PATCH 05/16] gnu: Add python-testpath.

2016-11-04 Thread Ricardo Wurmus

Roel Janssen  writes:

> Ricardo Wurmus writes:
>
>> * gnu/packages/python.scm (python-testpath, python2-testpath): New
>> variables.
>> ---
>>  gnu/packages/python.scm | 42 ++
>>  1 file changed, 42 insertions(+)
>>
>> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
>> index 9785b5e..e6f537e 100644
>> --- a/gnu/packages/python.scm
>> +++ b/gnu/packages/python.scm
>> @@ -4583,6 +4583,48 @@ installing kernelspecs for use with Jupyter 
>> frontends.")
>>  (define-public python2-ipykernel
>>(package-with-python2 python-ipykernel))
>>  
>> +
>
> I don't think two blank lines are needed here.

You’re right!  That’s a rebase error.  Due to the number of dependency
cycles I had the packages in a different order before.

~~ Ricardo



Re: [PATCH 03/16] gnu: Add python-jupyter-client.

2016-11-04 Thread Ricardo Wurmus

Roel Janssen  writes:

> Ricardo Wurmus writes:
>
>> * gnu/packages/python.scm (python-jupyter-client,
>> python2-jupyter-client): 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 da16647..09ce599 100644
>> --- a/gnu/packages/python.scm
>> +++ b/gnu/packages/python.scm
>> @@ -4525,6 +4525,38 @@ without using the configuration machinery.")
>>  (define-public python2-jupyter-core
>>(package-with-python2 python-jupyter-core))
>>  
>> +(define-public python-jupyter-client
>> +  (package
>> +(name "python-jupyter-client")
>> +(version "4.4.0")
>> +(source
>> + (origin
>> +   (method url-fetch)
>> +   (uri (pypi-uri "jupyter_client" version))
>> +   (sha256
>> +(base32
>> + "1vjjrpjw7k5sh982pbjnslv7byfbfazjw9g92jvs7dz5qbx556n9"
>> +(build-system python-build-system)
>> +;; Tests fail because of missing native python kernel which I assume is
>> +;; provided by the ipython package, which we cannot use because it would
>> +;; cause a dependency cycle.
>> +(arguments `(#:tests? #f))
>> +(propagated-inputs
>> + `(("python-pyzmq" ,python-pyzmq)
>> +   ("python-traitlets" ,python-traitlets)
>> +   ("python-jupyter-core" ,python-jupyter-core)))
>> +(home-page "http://jupyter.org/;)
>> +(synopsis "Jupyter protocol implementation and client libraries")
>> +(description
>> + "The @code{jupyter_client} package contains the reference 
>> implementation
>> +of the Jupyter protocol.  It also provides client and kernel management APIs
>> +for working with kernels, and the @code{jupyter kernelspec} entrypoint for
>> +installing kernelspecs for use with Jupyter frontends.")
>> +(license license:bsd-3)))
>
> Is "kernelspec" one word?  And should "kernelspecs" be "@code{kernelspec}s"?

It probably should be wrapped in @code{}.  Will do this before pushing.

~~ Ricardo




Re: [PATCH 02/16] gnu: Add python-jupyter-core.

2016-11-04 Thread Ricardo Wurmus

Roel Janssen  writes:

> Ricardo Wurmus writes:
>
>> * gnu/packages/python.scm (python-jupyter-core, python2-jupyter-core):
>> New variables.
>> ---
>>  gnu/packages/python.scm | 25 +
>>  1 file changed, 25 insertions(+)
>>
>> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
>> index c612846..da16647 100644
>> --- a/gnu/packages/python.scm
>> +++ b/gnu/packages/python.scm
>> @@ -4500,6 +4500,31 @@ without using the configuration machinery.")
>>  (define-public python2-traitlets
>>(package-with-python2 python-traitlets))
>>  
>> +(define-public python-jupyter-core
>> +  (package
>> +(name "python-jupyter-core")
>> +(version "4.2.0")
>> +(source
>> + (origin
>> +   (method url-fetch)
>> +   (uri (string-append (pypi-uri "jupyter_core" version)))
>> +   (sha256
>> +(base32
>> + "177d9csqldzhsh6xs1p4nf6lzvhzyg6gklqjf69lxgxyadx87v24"
>> +(build-system python-build-system)
>> +;; FIXME: not sure how to run the tests
>> +(arguments `(#:tests? #f))
>
> Any idea?

This might be fixed by upgrading pytest, but I haven’t played with this
yet.  Will do so once we have the new pytest.

Another common problem with these Jupyter packages is that many of the
tests are integration tests, so they depend on many other Jupyter
packages, causing dependency loops.

It’s not pretty.

~~ Ricardo