Re: Python ignores pth files?

2015-03-02 Thread Federico Beffa
Ricardo Wurmus  writes:

> Ricardo Wurmus writes:
>
>> Taylan Ulrich Bayırlı/Kammer writes:
>>
>>> Ricardo Wurmus  writes:
>>>
 pygtk and pygobject both come with .pth files that instruct Python to
 check out the "gtk-2.0" subdirectory, yet these files are seemingly
 ignored as (according to strace) Python makes no attempt to look inside
 the declared subdirectories when Solfege starts up.
>>>
>>> I had the same experience trying to package nmap (still lying around in
>>> a branch).  The #python IRC channel on Freenode told me that indeed .pth
>>> files in PYTHONPATH aren't used, only those in some system paths.  I
>>> can't remember the details, but Python's documentation should tell.
>>
>> Apparently, it is possible to add the paths declared by pth files by
>> explicitly adding the parent site-packages directory as a site dir:
>>
> [...]
>>
>> Note that site.addsitedir added the subdirectory as declared by
>> "pygtk.pth".  I wonder if this means that I'll have to patch the
>> executable to run site.addsitedir over all elements in PYTHONPATH until
>> sys.path no longer changes.
>
> I'm now patching the sources to add all site-packages directories, which
> causes their pth files to be interpreted:
>
> (substitute* "run-solfege.py"
>   (("import os")
>"import os, site
> for path in [path for path in sys.path if 'site-packages' in path]: 
> site.addsitedir(path)"))
>

As you have found out, the .pth files are not handled by python
natively. Instead, they are part of setuptools/easy_install. See

https://lists.gnu.org/archive/html/guix-devel/2014-12/msg00306.html

and

http://pythonhosted.org//setuptools/easy_install.html#reference-manual

Regards,
Fede



Re: [PATCH 01/15] gnu: gtk-xfce-engine: Update to 2.10.0.

2015-03-02 Thread Andreas Enge
On Mon, Mar 02, 2015 at 01:06:30AM -0500, Mark H Weaver wrote:
> I think 宋文武 should push this commit.

Yes. Unfortunately, automatic upgrades will be broken, so people need to
think of doing them manually.

Andreas




Re: [PATCH 01/15] gnu: gtk-xfce-engine: Update to 2.10.0.

2015-03-02 Thread Andreas Enge
On Sun, Mar 01, 2015 at 06:30:22PM +0800, 宋文武 wrote:
> I think that's the reason for a 2.x version.
> I feel the commit message or a comment should mention it,
> but can't get one myself, any suggestion?

How about in the second part:
Update to 2 Since upstream stopped support of GTK+ 3, they went back to
version numbers starting with 2.

Andreas




Re: [PATCH 0/2] Improve search path handling?

2015-03-02 Thread Ludovic Courtès
Mark H Weaver  skribis:

> Andreas Enge  writes:
>
>> On Sat, Feb 28, 2015 at 12:31:59PM -0500, David Thompson wrote:
>>> Yes, I think so.  I think I have resolved this, but it's a "rebuild the
>>> world" change so I don't yet know if it works.  Would it be possible to
>>> add a 'wip-search-paths' branch for Hydra to build?
>>
>> Definitely! If you create and push such a branch, we can make it build on
>> hydra. But maybe now is the moment to push lots of stuff to core-updates
>> anyway (except that there have been so many changes recently, that I worry
>> if anything breaks, it will be difficult to determine why).
>
> I think we should just push this to 'core-updates' ASAP.

I was about to enable whole-system builds for ‘core-updates’.

David, do you want to try anyway or can you wait for the next round
(which I’ll expect will be soon, because there’s another bunch of core
changes I’d like to make)?

Thanks,
Ludo’.



Re: [PATCH] gnu: Add mpdscribble.

2015-03-02 Thread Ludovic Courtès
David Thompson  skribis:

> Ludovic Courtès  writes:
>
>> David Thompson  skribis:
>>
>>> From f0c0cae0aef184c6bb1d9340334ca1601113e1eb Mon Sep 17 00:00:00 2001
>>> From: David Thompson 
>>> Date: Sat, 28 Feb 2015 14:24:52 -0500
>>> Subject: [PATCH] gnu: Add mpdscribble.
>>>
>>> * gnu/packages/mpd.scm (mpdscribble): New variable.
>>
>> LGTM.
>>
>>> +(home-page "http://mpd.wikia.com/wiki/Client:Mpdscribble";)
>>
>> Shouldn’t it be musicpd.org?
>
> This is a weird case.  You'd think it would be on musicpd.org, because
> that's where the source is.  However, musicpd.org doesn't mention it!
> It isn't listed on , and that page
> sends users to the wiki for more clients.  Debian uses the wikia page as
> the home page, as well.  Due to this weird situation, is it alright if I
> leave the home-page as-is and add a comment to explain?

Sure!

Ludo’.



Re: [PATCH] build: ruby: Add gitify phase.

2015-03-02 Thread Ludovic Courtès
David Thompson  skribis:

> David Thompson  writes:
>
>> This patch solves a blocking issue for packaging a very large number of
>> Ruby gems, which is that the build process assumes you are working out
>> of a git repository.
>
> Bump.  I'm going to push this with the other Ruby related patches I've
> made recently if there are no objections.

Sure, LGTM.

Ludo’.



Re: [PATCH 2/7] gnu: Add djvulibre.

2015-03-02 Thread Ludovic Courtès
宋文武  skribis:

> 2015-03-02 7:47 GMT+08:00 Paul van der Walt :
>> * gnu/packages/pdf.scm (djvulibre): New variable.

[...]

> Synposis is too long, and shouldn't contain package name, end with peroid, 
> etc.
> Perhaps just "Implementation of DjVu"?

Hint: run ‘guix lint djvulibre’ before posting; it’s a virtual
nitpicker!  ;-)

Ludo’.



[PATCH 4/8] gnu: Add zathura.

2015-03-02 Thread Paul van der Walt
* gnu/packages/pdf.scm (zathura): New variable.
* gnu-system.am: Add zathura-plugindir-environment-variable.patch
* gnu/packages/patches/zathura-plugindir-environment-variable.patch: Add patch
  for zathura environment variable.
---
 gnu-system.am  |  4 +-
 .../zathura-plugindir-environment-variable.patch   | 44 
 gnu/packages/pdf.scm   | 47 ++
 3 files changed, 93 insertions(+), 2 deletions(-)
 create mode 100644 
gnu/packages/patches/zathura-plugindir-environment-variable.patch

diff --git a/gnu-system.am b/gnu-system.am
index e42e89a..5dda73a 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -550,8 +550,8 @@ dist_patch_DATA =   
\
   gnu/packages/patches/xf86-video-trident-remove-mibstore.patch\
   gnu/packages/patches/xf86-video-vmware-glibc-2.20.patch  \
   gnu/packages/patches/xfce4-panel-plugins.patch   \
-  gnu/packages/patches/xmodmap-asprintf.patch
-
+  gnu/packages/patches/xmodmap-asprintf.patch   \
+  gnu/packages/patches/zathura-plugindir-environment-variable.patch
 MISC_DISTRO_FILES = gnu/packages/javac.in
 
 bootstrapdir = $(guilemoduledir)/gnu/packages/bootstrap
diff --git a/gnu/packages/patches/zathura-plugindir-environment-variable.patch 
b/gnu/packages/patches/zathura-plugindir-environment-variable.patch
new file mode 100644
index 000..4c7d116
--- /dev/null
+++ b/gnu/packages/patches/zathura-plugindir-environment-variable.patch
@@ -0,0 +1,44 @@
+From f41ea6573185ec326870004e579354e5dd829672 Mon Sep 17 00:00:00 2001
+From: Paul van der Walt 
+Date: Sun, 1 Mar 2015 22:57:43 +0100
+Subject: [PATCH] Search for Zathura plugins (for reading different file
+ formats) in the environment variable ZATHURA_PLUGIN_DIR. Command line option
+ -p still takes precedence.
+
+Patch by Paul van der Walt .
+---
+ zathura/zathura.c | 12 
+ 1 file changed, 12 insertions(+)
+
+diff --git a/zathura/zathura.c b/zathura/zathura.c
+index 589dd28..d3c9887 100644
+--- a/zathura/zathura.c
 b/zathura/zathura.c
+@@ -413,12 +413,24 @@ zathura_set_plugin_dir(zathura_t* zathura, const char* 
dir)
+   g_return_if_fail(zathura != NULL);
+   g_return_if_fail(zathura->plugins.manager != NULL);
+ 
++  // Get the new environment variable, if any.
++  const gchar* envvar_plugin_dir = g_getenv("ZATHURA_PLUGIN_DIR");
++
+   if (dir != NULL) {
++// This bit sets the plugin dir from command-line.
+ girara_list_t* paths = girara_split_path_array(dir);
+ GIRARA_LIST_FOREACH(paths, char*, iter, path)
+ zathura_plugin_manager_add_dir(zathura->plugins.manager, path);
+ GIRARA_LIST_FOREACH_END(paths, char*, iter, path);
+ girara_list_free(paths);
++  } else if (envvar_plugin_dir != NULL) {
++// Set plugins dir to the contents of environment variable
++// ZATHURA_PLUGIN_DIR.
++girara_list_t* paths = girara_split_path_array(envvar_plugin_dir);
++GIRARA_LIST_FOREACH(paths, char*, iter, path)
++zathura_plugin_manager_add_dir(zathura->plugins.manager, path);
++GIRARA_LIST_FOREACH_END(paths, char*, iter, path);
++girara_list_free(paths);
+   } else {
+ #ifdef ZATHURA_PLUGINDIR
+ girara_list_t* paths = girara_split_path_array(ZATHURA_PLUGINDIR);
+-- 
+2.3.1
+
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 5e24a43..1c5c193 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -29,6 +29,9 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages ghostscript)
+  #:use-module (gnu packages databases)
+  #:use-module (gnu packages gettext)
+  #:use-module (gnu packages backup)
   #:use-module (gnu packages lesstif)
   #:use-module (gnu packages image)
   #:use-module (gnu packages pkg-config)
@@ -146,6 +149,50 @@
 
 
 
+
+(define-public zathura
+  (package
+(name "zathura")
+(version "0.3.2")
+(source (origin
+  (method url-fetch)
+  (uri
+   (string-append 
"https://pwmt.org/projects/zathura/download/zathura-";
+  version ".tar.gz"))
+  (sha256
+   (base32
+"1qk5s7cyqp4l673yhma5igk9g24p5jyqyy81fdk7q7xjqlym19px"))
+  (patches
+   (list
+(search-patch 
"zathura-plugindir-environment-variable.patch")
+(native-inputs
+ `(("pkg-config" ,pkg-config)
+   ("gettext" ,gnu-gettext)))
+(native-search-paths
+ (list (search-path-specification
+(variable "ZATHURA_PLUGIN_DIR")
+(files '("lib/zathura")
+(build-system gnu-build-system)
+(arguments
+ `(#:make-flags
+   `(,(string-append "PREFIX=" (assoc-ref %outputs "out"))
+ "CC=gcc" "COLOR=0")
+   #:tests? #f ; Tests fail: "Gtk cannot open display".
+   #:test-target "test"
+   #:phases
+   (alist-delete
+'configure
+

[PATCH 7/8] gnu: Add zathura postscript plugin.

2015-03-02 Thread Paul van der Walt
* gnu/packages/pdf.scm (zathura-ps): New variable.
---
 gnu/packages/pdf.scm | 36 
 1 file changed, 36 insertions(+)

diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 72ad46f..7a5c649 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -150,6 +150,42 @@
 
 
 
+(define-public zathura-ps
+  (package
+(name "zathura-ps")
+(version "0.2.2")
+(source (origin
+  (method url-fetch)
+  (uri
+   (string-append 
"https://pwmt.org/projects/zathura-ps/download/zathura-ps-";
+  version ".tar.gz"))
+  (sha256
+   (base32
+"1a6ps5v1wk18qvslbkjln6w8wfzzr6fi13ls96vbdc03vdhn4m76"
+(native-inputs
+ `(("pkg-config" ,pkg-config)))
+(build-system gnu-build-system)
+(arguments
+ `(#:make-flags
+   `(,(string-append "DESTDIR=" (assoc-ref %outputs "out"))
+  "PLUGINDIR=/lib/zathura" "CC=gcc")
+   #:tests? #f ; Package does not contain tests.
+   #:phases
+   (alist-delete
+'configure
+%standard-phases)))
+(home-page "https://pwmt.org/projects/zathura-ps/";)
+(synopsis "PS support for zathura (libspectre backend)")
+(description "The zathura-ps plugin adds PS support to zathura
+using libspectre.")
+(propagated-inputs
+ `(("girara" ,girara)))
+(inputs
+ `(("libspectre" ,libspectre)
+   ("gtk+" ,gtk+)
+   ("zathura" ,zathura)))
+(license license:zlib)))
+
 (define-public zathura-djvu
   (package
 (name "zathura-djvu")
-- 
2.3.1




[PATCH 8/8] gnu: Add zathura comicbook plugin.

2015-03-02 Thread Paul van der Walt
* gnu/packages/pdf.scm (zathura-cb): New variable.
---
 gnu/packages/pdf.scm | 37 +++--
 1 file changed, 35 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 7a5c649..baefaa4 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -147,8 +147,41 @@
(license license:gpl3) ; or gpl2, but not gpl2+
(home-page "http://www.foolabs.com/xpdf/";)))
 
+(define-public zathura-cb
+  (package
+(name "zathura-cb")
+(version "0.1.4")
+(source (origin
+  (method url-fetch)
+  (uri
+   (string-append 
"https://pwmt.org/projects/zathura-cb/download/zathura-cb-";
+  version ".tar.gz"))
+  (sha256
+   (base32
+"09ln4fpjxmhcq6cw1ka7mdkmca36gyd4gzrynbw3waz0ri0b277j"
+(native-inputs
+ `(("pkg-config" ,pkg-config)))
+(build-system gnu-build-system)
+(arguments
+ `(#:make-flags
+   `(,(string-append "DESTDIR=" (assoc-ref %outputs "out"))
+  "PLUGINDIR=/lib/zathura" "CC=gcc")
+   #:tests? #f ; Package does not contain tests.
+   #:phases
+   (alist-delete
+'configure
+%standard-phases)))
+(home-page "https://pwmt.org/projects/zathura-cb/";)
+(synopsis "Comic book support for zathura (libarchive backend)")
+(description "The zathura-cb plugin adds comic book support to zathura
+using libarchive.")
+(propagated-inputs
+ `(("girara" ,girara)))
+(inputs
+ `(("libarchive" ,libarchive)
+   ("gtk+" ,gtk+)
+   ("zathura" ,zathura)))
+(license license:zlib)))
+
 
 (define-public zathura-ps
   (package
-- 
2.3.1




[PATCH 2/8] gnu: Add girara.

2015-03-02 Thread Paul van der Walt
* gnu/packages/gtk.scm (girara): Add variable.
---
 gnu/packages/gtk.scm | 42 ++
 1 file changed, 42 insertions(+)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 81f912e..234ca6d 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2014, 2015 Mark H Weaver 
 ;;; Copyright © 2014 Eric Bavier 
 ;;; Copyright © 2015 Federico Beffa 
+;;; Copyright © 2015 Paul van der Walt 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -28,6 +29,8 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system python)
   #:use-module (guix build-system waf)
+  #:use-module (gnu packages check)
+  #:use-module (gnu packages gettext)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages ghostscript)
@@ -770,3 +773,42 @@ extensive documentation, including API reference and a 
tutorial.")
 targetted at GTK 2.x, and can be used in conjunction with gnome-python to
 write GNOME applications.")
 (license license:lgpl2.1+)))
+
+(define-public girara
+  (package
+(name "girara")
+(version "0.2.3")
+(source (origin
+  (method url-fetch)
+  (uri
+   (string-append 
"https://pwmt.org/projects/girara/download/girara-";
+  version ".tar.gz"))
+  (sha256
+   (base32
+"1phfmqp8y17zcy9yi6pm2f80x8ldbk60iswpm4bmjz5217jwqzxh"
+(native-inputs
+ `(("pkg-config" ,pkg-config)
+   ("gettext" ,gnu-gettext)))
+(arguments
+ `(#:make-flags
+   `(,(string-append "PREFIX=" (assoc-ref %outputs "out"))
+ "COLOR=0" "CC=gcc")
+   #:test-target "test"
+   #:tests? #f ; Tests fail with "Gtk cannot open display:"
+   #:phases
+   (alist-delete
+'configure
+%standard-phases)))
+(inputs `(("gtk+" ,gtk+)
+  ("check" ,check)))
+(build-system gnu-build-system)
+(home-page "https://pwmt.org/projects/girara/";)
+(synopsis "Library for minimalistic gtk+3 user interfaces")
+(description "Girara is a library that implements a user interface that
+focuses on simplicity and minimalism.  Currently based on GTK+, a
+cross-platform widget toolkit, it provides an interface that focuses on three
+main components: a so-called view widget that represents the actual
+application, an input bar that is used to execute commands of the
+application and the status bar which provides the user with current
+information.")
+(license license:zlib)))
-- 
2.3.1




[PATCH 3/8] gnu: Add djvulibre.

2015-03-02 Thread Paul van der Walt
* gnu/packages/pdf.scm (djvulibre): New variable.
---
 gnu/packages/pdf.scm | 22 ++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 7b4f2ab..5e24a43 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2013, 2015 Andreas Enge 
 ;;; Copyright © 2014 Mark H Weaver 
 ;;; Copyright © 2014, 2015 Ricardo Wurmus 
+;;; Copyright © 2015 Paul van der Walt 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -143,6 +144,27 @@
(license license:gpl3) ; or gpl2, but not gpl2+
(home-page "http://www.foolabs.com/xpdf/";)))
 
+(define-public djvulibre
+  (package
+(name "djvulibre")
+(version "3.5.27")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "mirror://sourceforge/djvu/djvulibre-"
+  version ".tar.gz"))
+  (sha256
+   (base32
+"0psh3zl9dj4n4r3lx25390nx34xz0bg0ql48zdskhq354ljni5p6"
+(build-system gnu-build-system)
+(home-page "http://djvu.sourceforge.net/";)
+(synopsis "Implementation of DjVu, the document format")
+(description "DjVuLibre is an implementation of DjVu,
+including viewers, browser plugins, decoders, simple encoders, and
+utilities.")
+(license license:gpl2+)))
+
 (define-public podofo
   (package
 (name "podofo")
-- 
2.3.1




[PATCH 5/8] gnu: Add zathura PDF plugin.

2015-03-02 Thread Paul van der Walt
* gnu/packages/pdf.scm (zathura-pdf-poppler): New variable.
---
 gnu/packages/pdf.scm | 38 ++
 1 file changed, 38 insertions(+)

diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 1c5c193..0f2fcfe 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -150,6 +150,44 @@
 
 
 
+(define-public zathura-pdf-poppler
+  (package
+(name "zathura-pdf-poppler")
+(version "0.2.5")
+(source (origin
+  (method url-fetch)
+  (uri
+   (string-append 
"https://pwmt.org/projects/zathura-pdf-poppler/download/zathura-pdf-poppler-";
+  version ".tar.gz"))
+  (sha256
+   (base32
+"1b0chsds8iwjm4g629p6a67nb6wgra65pw2vvngd7g35dmcjgcv0"
+(native-inputs
+ `(("pkg-config" ,pkg-config)))
+(build-system gnu-build-system)
+(arguments
+ `(#:make-flags
+   `(,(string-append "DESTDIR=" (assoc-ref %outputs "out"))
+  "PLUGINDIR=/lib/zathura" "CC=gcc")
+   #:tests? #f ; Package does not include tests.
+   #:phases
+   (alist-delete
+'configure
+%standard-phases)))
+(home-page "https://pwmt.org/projects/zathura-pdf-poppler/";)
+(synopsis "PDF support for zathura (poppler backend)")
+(description "The zathura-pdf-poppler plugin adds PDF support to zathura
+by using the poppler rendering engine.")
+(propagated-inputs
+ `(("girara" ,girara)))
+(inputs
+ `(("poppler" ,poppler)
+   ("gtk+" ,gtk+)
+   ("zathura" ,zathura)
+   ("cairo" ,cairo)))
+(license license:zlib)))
+
 (define-public zathura
   (package
 (name "zathura")
-- 
2.3.1




[PATCH 6/8] gnu: Add zathura DjVu plugin.

2015-03-02 Thread Paul van der Walt
* gnu/packages/pdf.scm (zathura-djvu): New variable.
---
 gnu/packages/pdf.scm | 35 +++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 0f2fcfe..72ad46f 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -150,6 +150,41 @@
 
 
 
+(define-public zathura-djvu
+  (package
+(name "zathura-djvu")
+(version "0.2.4")
+(source (origin
+  (method url-fetch)
+  (uri
+   (string-append 
"https://pwmt.org/projects/zathura-djvu/download/zathura-djvu-";
+  version ".tar.gz"))
+  (sha256
+   (base32
+"1g1lafmrjbx0xv7fljdmyqxx0k334sq4q6jy4a0q5xfrgz0bh45c"
+(native-inputs
+ `(("pkg-config" ,pkg-config)))
+(build-system gnu-build-system)
+(arguments
+ `(#:make-flags
+   `(,(string-append "DESTDIR=" (assoc-ref %outputs "out"))
+  "PLUGINDIR=/lib/zathura" "CC=gcc")
+   #:tests? #f ; Package does not contain tests.
+   #:phases
+   (alist-delete
+'configure
+%standard-phases)))
+(home-page "https://pwmt.org/projects/zathura-djvu/";)
+(synopsis "DjVu support for zathura (DjVuLibre backend)")
+(description "The zathura-djvu plugin adds DjVu support to zathura
+using the DjVuLibre library.")
+(propagated-inputs
+ `(("girara" ,girara)))
+(inputs
+ `(("djvulibre" ,djvulibre)
+   ("gtk+" ,gtk+)
+   ("zathura" ,zathura)))
+(license license:zlib)))
+
 
 (define-public zathura-pdf-poppler
   (package
-- 
2.3.1




[PATCH 1/8] gnu: check: Update version to 0.9.14

2015-03-02 Thread Paul van der Walt
* gnu/packages/check.scm (check): Update to version 0.9.14.
---
 gnu/packages/check.scm | 8 +++-
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 399af2c..bf2a1c7 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2012 Nikita Karetnikov 
+;;; Copyright © 2015 Paul van der Walt 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -26,7 +27,7 @@
 (define-public check
   (package
 (name "check")
-(version "0.9.9")
+(version "0.9.14")
 (source
  (origin
   (method url-fetch)
@@ -34,7 +35,7 @@
   version "/check-" version ".tar.gz"))
   (sha256
(base32
-"1jcahzrvxcnp5chdn2x46l0y4aba8d8yd70lljfin7h5knxrlyhs"
+"02l4g79d81s07hzywcv1knwj5dyrwjiq2pgxaz7kidxi8m364wn2"
 (build-system gnu-build-system)
 (home-page "http://check.sourceforge.net/";)
 (synopsis "Unit test framework for C")
@@ -47,7 +48,6 @@ faults or other signals.  The output from unit tests can be 
used within
 source code editors and IDEs.")
 (license lgpl2.1+)))
 
-
 (define-public cppunit
   (package
 (name "cppunit")
@@ -67,5 +67,3 @@ source code editors and IDEs.")
 unit testing.  Test output is in XML for automatic testing and GUI based for
 supervised tests.")
 (license lgpl2.1))) ; no copyright notices. LGPL2.1 is in the tarball
-
-
-- 
2.3.1




Re: 01/01: services: xorg: Fix file descriptor leak from SLiM/xinitrc.

2015-03-02 Thread Ludovic Courtès
Mark H Weaver  skribis:

> Ludovic Courtès  writes:
>
>> commit ec4a4c46efaf2e7373f331654640f1321c0f2e62
>> Author: Ludovic Courtès 
>> Date:   Sat Feb 28 22:44:31 2015 +0100
>>
>> services: xorg: Fix file descriptor leak from SLiM/xinitrc.
>> 
>> Previously processes started from the window manager would have a couple
>> of leaked file descriptors: writable /var/log/slim.log and readable
>> /gnu/store/…-xinitrc.
>> 
>> * gnu/services/xorg.scm (xinitrc)[builder]: Add 'close-all-fdes'.  Use
>>   it in 'exec-from-login-shell'.
>
> This commit broke XFCE, so I've reverted it until we can investigate
> further.

I’ve had a couple of glitches too, which are apparently due to the fact
that this patch closes FDs 0, 1, and 2, which it shouldn’t.

Can you confirm that starting from FD 3 works for you too?

Thanks,
Ludo’.



Re: [PATCH 3/3] gnu: Add ghc.

2015-03-02 Thread Federico Beffa
l...@gnu.org (Ludovic Courtès) writes:

>> +(substitute* (list "testsuite/timeout/Makefile"
>> +   "testsuite/timeout/timeout.py"
>> +   "testsuite/timeout/timeout.hs"
>> +   "testsuite/tests/rename/prog006/Setup.lhs"
>> + "testsuite/tests/programs/life_space_leak/life.test")
>> +  (("/bin/sh") (which "sh"))
>> +  (("/bin/rm") "rm"))
>
> Perhaps (find-files "testsuite" ".*") would be enough?

Somehow find-files appears to have problems with a file. This happens
even if I install the en_US.UTF-8 locale:

Backtrace:
In ice-9/boot-9.scm:
2401: 19 [save-module-excursion #]
4050: 18 [#]
1724: 17 [%start-stack load-stack ...]
1729: 16 [#]
In unknown file:
   ?: 15 [primitive-load
"/gnu/store/qxy6784klrpjqnmxw00l6fpkqi60jwad-ghc-7.8.4-guile-builder"]
In ice-9/eval.scm:
 387: 14 [eval # ()]
In srfi/srfi-1.scm:
 830: 13 [every1 # ...]
In 
/gnu/store/v4q9shphawhckqp35x05fxz5sfijv92r-module-import/guix/build/gnu-build-system.scm:
 479: 12 [# #]
In ice-9/eval.scm:
 432: 11 [eval # #]
In srfi/srfi-1.scm:
 619: 10 [for-each # #]
In ice-9/boot-9.scm:
 171: 9 [with-throw-handler #t ...]
 867: 8 [call-with-input-file
"testsuite/tests/codeGen/should_run/cgrun037.stdout" ...]
In 
/gnu/store/v4q9shphawhckqp35x05fxz5sfijv92r-module-import/guix/build/utils.scm:
 443: 7 [# #]
 469: 6 [# # ...]
In srfi/srfi-1.scm:
 465: 5 [fold # ...]
In 
/gnu/store/v4q9shphawhckqp35x05fxz5sfijv92r-module-import/guix/build/utils.scm:
 472: 4 [# # ...]
In ice-9/regex.scm:
 189: 3 [list-matches # "hello\x00 world\n" 0]
 176: 2 [fold-matches # "hello\x00 world\n" ...]
In unknown file:
   ?: 1 [regexp-exec # "hello\x00 world\n" 0 0]
In ice-9/boot-9.scm:
 106: 0 [# misc-error ...]

ice-9/boot-9.scm:106:20: In procedure #:
ice-9/boot-9.scm:106:20: string contains #\nul character: "hello\x00 world\n"
builder for `/gnu/store/ixnpnrj6g6svayzz5kw0yhigm5vgjd2g-ghc-7.8.4.drv'
failed with exit code 1
@ build-failed /gnu/store/ixnpnrj6g6svayzz5kw0yhigm5vgjd2g-ghc-7.8.4.drv
- 1 builder for
`/gnu/store/ixnpnrj6g6svayzz5kw0yhigm5vgjd2g-ghc-7.8.4.drv' failed
with exit code 1
cannot build derivation
`/gnu/store/659as6vx99qfrnwl1cc59kkgwiqwhg2l-ghc-7.8.4.drv': 1
dependencies couldn't be built
killing process 10073

>
> [...]
>
>> +   (alist-cons-before
>> +'configure 'install-bin
>
> This phase installs bootstrap binaries to $out/bin and adds them to
> $PATH, right?  Wouldn’t it be enough to install them to $TMPDIR/bin and
> add that to $PATH?

That is what is happening :-). The bootstrap binaries are installed in a
temporary local directory inside the build directory:

   (let* ((ghc-bootstrap-path
   (string-append (getcwd) "/" ,name "-" ,version "/ghc-bin"))
  (ghc-bootstrap-prefix
   (string-append ghc-bootstrap-path "/usr" )))

   ...

  (system* (string-append (getcwd) "/configure")
   (string-append "--prefix=" ghc-bootstrap-prefix)

   ...

>
>> +(lambda* (#:key inputs outputs #:allow-other-keys)
>> +  (let* ((binaries
>> +  (list
>> +   "./utils/ghc-pwd/dist-install/build/tmp/ghc-pwd"
>> +   "./utils/hpc/dist-install/build/tmp/hpc"
>> +   "./utils/haddock/dist/build/tmp/haddock"
>> +   "./utils/hsc2hs/dist-install/build/tmp/hsc2hs"
>> +   "./utils/runghc/dist-install/build/tmp/runghc"
>> +   "./utils/ghc-cabal/dist-install/build/tmp/ghc-cabal"
>> +   "./utils/hp2ps/dist/build/tmp/hp2ps"
>> +   "./utils/ghc-pkg/dist-install/build/tmp/ghc-pkg"
>> +   "./utils/unlit/dist/build/tmp/unlit"
>> +   "./ghc/stage2/build/tmp/ghc-stage2"))
>
> Could we just list base names and do
>
>   (append-map (lambda (program)
> (find-files "." (string-append "^" program "$")))
>   '("ghc-pwd" "hpc" ...))

Here I'm puzzled. If I test the command that you suggest by displaying
the generated list (during the phase execution), I see that it produces
the same list as the original one (at least as displayed on screen).

In spite of this, differently than with the explicit list, the phase
fails because somehow the listed files do not get patched by

  (for-each
   (cut system* "patchelf" "--set-interpreter" ld-so <>)
   binaries)

Unless you understand what's happening, I would propose for now to
keep the explicit lists.

Regards,
Fede



Re: [PATCH 0/2] Improve search path handling?

2015-03-02 Thread Dave Thompson
Ludovic Courtès  writes:

> Mark H Weaver  skribis:
>
>> Andreas Enge  writes:
>>
>>> On Sat, Feb 28, 2015 at 12:31:59PM -0500, David Thompson wrote:
 Yes, I think so.  I think I have resolved this, but it's a "rebuild the
 world" change so I don't yet know if it works.  Would it be possible to
 add a 'wip-search-paths' branch for Hydra to build?
>>>
>>> Definitely! If you create and push such a branch, we can make it build on
>>> hydra. But maybe now is the moment to push lots of stuff to core-updates
>>> anyway (except that there have been so many changes recently, that I worry
>>> if anything breaks, it will be difficult to determine why).
>>
>> I think we should just push this to 'core-updates' ASAP.
>
> I was about to enable whole-system builds for ‘core-updates’.
>
> David, do you want to try anyway or can you wait for the next round
> (which I’ll expect will be soon, because there’s another bunch of core
> changes I’d like to make)?

I think we should wait for the next round.  The patch that causes a
rebuild hasn't been posted here yet, and when I tried to rebuild
everything on my laptop something failed.

Do you think it would be worth it to push these 2 patches now and do the
refactoring/rebuild stuff later?  If so, I think these can just go to
master, because the build system isn't touched.

-- 
David Thompson
Web Developer - Free Software Foundation - http://fsf.org
GPG Key: 0FF1D807
Support the FSF: https://fsf.org/donate



[PATCH] gnu: Add llvm-3.6.0 and clang-3.6.0

2015-03-02 Thread Mark H Weaver
This updates llvm and clang to 3.6.0, while keeping 3.5.0 available as
well.  It creates a new procedure 'clang-from-llvm' that does the
obvious thing.  I want to keep 3.5.0 around for purposes of testing
Guile with various versions of clang.

I've verified that the 3.5.0 packages generate the same derivations as
before, but have not yet finished building 3.6.0 to make sure it works.

  Mark

>From 1cb5f9f845056117e0e86e1848fc4f4fd00a3fec Mon Sep 17 00:00:00 2001
From: Mark H Weaver 
Date: Mon, 2 Mar 2015 08:36:31 -0500
Subject: [PATCH] gnu: Add llvm-3.6.0 and clang-3.6.0.

* gnu/packages/llvm.scm (llvm): Update to 3.6.0.
  (clang-from-llvm): New procedure.
  (clang): Update to 3.6.0.  Reimplement using 'clang-from-llvm'.
  (llvm-3.5, clang-3.5): New variables.
---
 gnu/packages/llvm.scm | 31 +--
 1 file changed, 25 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index 5b70124..6cf1fda 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014 Eric Bavier 
+;;; Copyright © 2015 Mark H Weaver 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -31,7 +32,7 @@
 (define-public llvm
   (package
 (name "llvm")
-(version "3.5.0")
+(version "3.6.0")
 (source
  (origin
   (method url-fetch)
@@ -39,7 +40,7 @@
   version "/llvm-" version ".src.tar.xz"))
   (sha256
(base32
-"00swb43mzlvda8306arlg2jw7g6k3acwfccgf1k4c2pgd3rrkq98"
+"1kmr5vlnz1419nnvyc7lsrcfx09n65ravjbmzxrqz7ml07jnk6mk"
 (build-system cmake-build-system)
 (native-inputs
  `(("python" ,python-wrapper)
@@ -74,7 +75,7 @@ development.  The compiler infrastructure includes mirror sets of programming
 tools as well as libraries with equivalent functionality.")
 (license ncsa)))
 
-(define-public clang
+(define (clang-from-llvm llvm hash)
   (package
 (name "clang")
 (version (package-version llvm))
@@ -83,9 +84,7 @@ tools as well as libraries with equivalent functionality.")
(method url-fetch)
(uri (string-append "http://llvm.org/releases/";
version "/cfe-" version ".src.tar.xz"))
-   (sha256
-(base32
- "12yv3jwdjcbkrx7zjm8wh4jrvb59v8fdw4mnmz3zc1jb00p9k07w"
+   (sha256 (base32 hash
 ;; Using cmake allows us to treat llvm as an external library.  There
 ;; doesn't seem to be any way to do this with clang's autotools-based
 ;; build system.
@@ -105,3 +104,23 @@ Objective-C++ programming languages.  It uses LLVM as its back end.  The Clang
 project includes the Clang front end, the Clang static analyzer, and several
 code analysis tools.")
 (license ncsa)))
+
+(define-public clang
+  (clang-from-llvm llvm
+   "0b8825mvdhfk5r9gwcwp1j2dl9kw5glgyk7pybq2dzhrh4vnj3my"))
+
+(define-public llvm-3.5
+  (package (inherit llvm)
+(version "3.5.0")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append "http://llvm.org/releases/";
+   version "/llvm-" version ".src.tar.xz"))
+   (sha256
+(base32
+ "00swb43mzlvda8306arlg2jw7g6k3acwfccgf1k4c2pgd3rrkq98"))
+
+(define-public clang-3.5
+  (clang-from-llvm llvm-3.5
+   "12yv3jwdjcbkrx7zjm8wh4jrvb59v8fdw4mnmz3zc1jb00p9k07w"))
-- 
2.2.1



Re: [PATCH] gnu: Add CLIPper.

2015-03-02 Thread Mark H Weaver
Ricardo Wurmus  writes:

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

For packages where the last component of the source URI (after the last
'/') does not include the name of the package, please add something like
this to the 'origin' specification:

  (file-name (string-append name "-" version ".tar.gz"))

Without this, the name of the source tarball in the store becomes
something like /gnu/store/-0.3.0.tar.gz, which is not so good.

In core-updates f586c877054, I fixed as many of these as I could find
(all the github ones anyway), but it seems that we'll have to make
another pass at some point.

In the meantime, could you fix the ones you've recently added that are
not already fixed in f586c877054?

  Thanks!
Mark



Re: [PATCH] gnu: Add soundtouch.

2015-03-02 Thread Mark H Weaver
taylanbayi...@gmail.com (Taylan Ulrich "Bayırlı/Kammer") writes:

> +(define-public soundtouch
> +  (package
> +(name "soundtouch")
> +(version "1.8.0")
> +(source
> + (origin
> +   (method url-fetch)
> +   (uri
> +(string-append
> + "http://www.surina.net/soundtouch/soundtouch-"; version ".tar.gz"))
> +   (sha256
> +(base32 "0sqn3wk4qz20vf0vz853l6dl1gnj1yhqxfwxqsc5lp529kbn2h9x"
> +(build-system gnu-build-system)
> +(native-inputs
> + `(("autoconf" ,autoconf)
> +   ("automake" ,automake)
> +   ("libtool" ,libtool)
> +   ("file" ,file)))
> +(arguments
> + '(#:phases
> +   (alist-cons-before
> +'configure 'bootstrap
> +(lambda _
> +  (unless (zero? (system* "sh" "bootstrap"))
> +(error "bootstrap failed"))
> +  (substitute* '("configure")
> +(("/usr/bin/file") "file")))

I've already fixed this in core-updates, but for the future: these
bootstrap phases should always go after 'unpack' instead of before
'configure'.  The reason is that there are several phases between
'unpack' and 'configure' that need to fix things up in the files
generated by autoconf/autoreconf/autogen/bootstrap.

I see that you did the /usr/bin/file substitution here, but we may add
more phases later and in general it would be better to use that
machinery.

In core-updates 722ec722441a, I fixed as many of these as I could find,
and here's what I did for 'soundtouch':

   (alist-cons-after
'unpack 'bootstrap
(lambda _
  (zero? (system* "sh" "bootstrap")))

I confess that this is not yet tested.  We'll see what happens when
Hydra builds all of core-updates.

 Thanks!
   Mark



Re: [PATCH 0/2] Improve search path handling?

2015-03-02 Thread Ludovic Courtès
Dave Thompson  skribis:

> Ludovic Courtès  writes:
>
>> Mark H Weaver  skribis:
>>
>>> Andreas Enge  writes:
>>>
 On Sat, Feb 28, 2015 at 12:31:59PM -0500, David Thompson wrote:
> Yes, I think so.  I think I have resolved this, but it's a "rebuild the
> world" change so I don't yet know if it works.  Would it be possible to
> add a 'wip-search-paths' branch for Hydra to build?

 Definitely! If you create and push such a branch, we can make it build on
 hydra. But maybe now is the moment to push lots of stuff to core-updates
 anyway (except that there have been so many changes recently, that I worry
 if anything breaks, it will be difficult to determine why).
>>>
>>> I think we should just push this to 'core-updates' ASAP.
>>
>> I was about to enable whole-system builds for ‘core-updates’.
>>
>> David, do you want to try anyway or can you wait for the next round
>> (which I’ll expect will be soon, because there’s another bunch of core
>> changes I’d like to make)?
>
> I think we should wait for the next round.  The patch that causes a
> rebuild hasn't been posted here yet, and when I tried to rebuild
> everything on my laptop something failed.
>
> Do you think it would be worth it to push these 2 patches now and do the
> refactoring/rebuild stuff later?  If so, I think these can just go to
> master, because the build system isn't touched.

I’ve just set up Hydra to build core-updates, so let’s indeed wait for
the next round, it’s safer.

Thanks,
Ludo’.



core-updates merge imminent

2015-03-02 Thread Ludovic Courtès
Hi Guix!

Hydra is now building all the packages from ‘core-updates’, so unless
something goes wrong, expect it to be merged within 24-48 hours.

We’ll reopen a ‘core-updates’ branch shortly after that.

Ludo’.



[PATCH] gnu: Add snakemake.

2015-03-02 Thread Ricardo Wurmus
>From 9d03e7d6bf8b6704f7e743323ccb948d0d9cc820 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus 
Date: Mon, 2 Mar 2015 17:36:28 +0100
Subject: [PATCH] gnu: Add snakemake.

* gnu/packages/python.scm (snakemake): 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 ee2f5d0..e0c9d12 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -3300,3 +3300,25 @@ interfaces in an easy and portable manner.")
 
 (define-public python2-netifaces
   (package-with-python2 python-netifaces))
+
+(define-public snakemake
+  (package
+(name "snakemake")
+(version "3.2.1")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "https://pypi.python.org/packages/source/s/snakemake/snakemake-";
+ version ".tar.gz"))
+   (sha256
+(base32 "0fi4b63sj60hvi7rfydvmz2icl4wj74djw5sn2gl8hxd02qw4b91"
+(build-system python-build-system)
+(inputs `(("python-setuptools" ,python-setuptools)))
+(home-page "https://bitbucket.org/johanneskoester/snakemake";)
+(synopsis "Python-based execution environment for make-like workflows")
+(description
+  "Snakemake aims to reduce the complexity of creating workflows by
+providing a clean and modern domain specific specification language (DSL) in
+Python style, together with a fast and comfortable execution environment.")
+(license license:expat)))
-- 
2.1.0




Re: [PATCH] gnu: Add llvm-3.6.0 and clang-3.6.0

2015-03-02 Thread Mark H Weaver
Mark H Weaver  writes:

> This updates llvm and clang to 3.6.0, while keeping 3.5.0 available as
> well.  It creates a new procedure 'clang-from-llvm' that does the
> obvious thing.  I want to keep 3.5.0 around for purposes of testing
> Guile with various versions of clang.
>
> I've verified that the 3.5.0 packages generate the same derivations as
> before, but have not yet finished building 3.6.0 to make sure it works.

They built successfully on my i686 system, so I went ahead and pushed
this.

  Mark



Re: 01/01: services: xorg: Fix file descriptor leak from SLiM/xinitrc.

2015-03-02 Thread Mark H Weaver
l...@gnu.org (Ludovic Courtès) writes:

> Mark H Weaver  skribis:
>
>> Ludovic Courtès  writes:
>>
>>> commit ec4a4c46efaf2e7373f331654640f1321c0f2e62
>>> Author: Ludovic Courtès 
>>> Date:   Sat Feb 28 22:44:31 2015 +0100
>>>
>>> services: xorg: Fix file descriptor leak from SLiM/xinitrc.
>>> 
>>> Previously processes started from the window manager would have a couple
>>> of leaked file descriptors: writable /var/log/slim.log and readable
>>> /gnu/store/…-xinitrc.
>>> 
>>> * gnu/services/xorg.scm (xinitrc)[builder]: Add 'close-all-fdes'.  Use
>>>   it in 'exec-from-login-shell'.
>>
>> This commit broke XFCE, so I've reverted it until we can investigate
>> further.
>
> I’ve had a couple of glitches too, which are apparently due to the fact
> that this patch closes FDs 0, 1, and 2, which it shouldn’t.
>
> Can you confirm that starting from FD 3 works for you too?

Yes, starting from FD 3 works.

Thanks!
  Mark



[PATCH] gnu: python2-pygtk: fix path to pygobject-codegen-2.0.

2015-03-02 Thread Ricardo Wurmus
PyGtk comes with the deprecated pygtk-codegen-2.0 which only wraps
pygobject-codegen-2.0.  The attached patch fixes the prefix to this
executable from the pygtk prefix to the pygobject package output.

~~ Ricardo

>From 01012ecefda0842d59d1031991ddf5ea6bb75080 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus 
Date: Mon, 2 Mar 2015 20:35:14 +0100
Subject: [PATCH] gnu: python2-pygtk: fix path to pygobject-codegen-2.0

* gnu/packages/gtk.scm (python2-pygtk)[arguments]: Add phase to patch the path
  to the pygobject-codegen-2.0 executable.
---
 gnu/packages/gtk.scm | 36 ++--
 1 file changed, 22 insertions(+), 14 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 81f912e..17235f4 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -749,20 +749,28 @@ extensive documentation, including API reference and a tutorial.")
 (arguments
  `(#:tests? #f
#:phases (alist-cons-after
- 'install 'install-pth
- (lambda* (#:key inputs outputs #:allow-other-keys)
-   ;; pygtk's modules are stored in a subdirectory of python's
-   ;; site-packages directory.  Add a .pth file so that python
-   ;; will add that subdirectory to its module search path.
-   (let* ((out(assoc-ref outputs "out"))
-  (site   (string-append out "/lib/python"
- ,(version-major+minor
-   (package-version python-2))
- "/site-packages")))
- (call-with-output-file (string-append site "/pygtk.pth")
-   (lambda (port)
- (format port "gtk-2.0~%")
- %standard-phases)))
+ 'configure 'fix-codegen
+ (lambda* (#:key inputs #:allow-other-keys)
+   (substitute* "pygtk-codegen-2.0"
+ (("^prefix=.*$")
+  (string-append
+   "prefix="
+   (assoc-ref inputs "python-pygobject") "\n"
+ (alist-cons-after
+  'install 'install-pth
+  (lambda* (#:key inputs outputs #:allow-other-keys)
+;; pygtk's modules are stored in a subdirectory of python's
+;; site-packages directory.  Add a .pth file so that python
+;; will add that subdirectory to its module search path.
+(let* ((out(assoc-ref outputs "out"))
+   (site   (string-append out "/lib/python"
+  ,(version-major+minor
+(package-version python-2))
+  "/site-packages")))
+  (call-with-output-file (string-append site "/pygtk.pth")
+(lambda (port)
+  (format port "gtk-2.0~%")
+  %standard-phases
 (home-page "http://www.pygtk.org/";)
 (synopsis "Python bindings for GTK+")
 (description
-- 
2.1.0



[PATCH] gnu: Add Russian Aspell dictionary.

2015-03-02 Thread Alex Kost
Just another aspell dict.

>From 673ff9e4baa0a4c380327908c2300d625c8f9ec4 Mon Sep 17 00:00:00 2001
From: Alex Kost 
Date: Mon, 2 Mar 2015 22:12:00 +0300
Subject: [PATCH] gnu: Add Russian Aspell dictionary.

* gnu/packages/aspell.scm (aspell-dict-ru): New variable.
---
 gnu/packages/aspell.scm | 8 
 1 file changed, 8 insertions(+)

diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm
index 122daa7..34b1f57 100644
--- a/gnu/packages/aspell.scm
+++ b/gnu/packages/aspell.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013, 2014 Ludovic Courtès 
+;;; Copyright © 2015 Alex Kost 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -114,3 +115,10 @@ dictionaries, including personal ones.")
  #:sha256
  (base32
   "14ffy9mn5jqqpp437kannc3559bfdrpk7r36ljkzjalxa53i0hpr")))
+
+(define-public aspell-dict-ru
+  (aspell-dictionary "ru" "Russian"
+ #:version "0.99f7-1"
+ #:sha256
+ (base32
+  "0ip6nq43hcr7vvzbv4lwwmlwgfa60hrhsldh9xy3zg2prv6bcaaw")))
-- 
2.2.1



Re: [PATCH] gnu: Add Russian Aspell dictionary.

2015-03-02 Thread Andreas Enge
On Mon, Mar 02, 2015 at 10:40:11PM +0300, Alex Kost wrote:
> Just another aspell dict.

This looks very uncontroversial, please push.

Andreas




Re: [PATCH 4/8] gnu: Add zathura.

2015-03-02 Thread Mark H Weaver
Paul van der Walt  writes:

> * gnu/packages/pdf.scm (zathura): New variable.
> * gnu-system.am: Add zathura-plugindir-environment-variable.patch
> * gnu/packages/patches/zathura-plugindir-environment-variable.patch: Add patch
>   for zathura environment variable.

It's not important, but the way we usually write this is:

* gnu/packages/patches/zathura-plugindir-environment-variable.patch: New file.
* gnu-system.am: Add it.

We don't generally describe what new files are for in the commit log.
Such explanations belong in the files themselves.

> ---
>  gnu-system.am  |  4 +-
>  .../zathura-plugindir-environment-variable.patch   | 44 
>  gnu/packages/pdf.scm   | 47 
> ++
>  3 files changed, 93 insertions(+), 2 deletions(-)
>  create mode 100644 
> gnu/packages/patches/zathura-plugindir-environment-variable.patch
>
> diff --git a/gnu-system.am b/gnu-system.am
> index e42e89a..5dda73a 100644
> --- a/gnu-system.am
> +++ b/gnu-system.am
> @@ -550,8 +550,8 @@ dist_patch_DATA = 
> \
>gnu/packages/patches/xf86-video-trident-remove-mibstore.patch  \
>gnu/packages/patches/xf86-video-vmware-glibc-2.20.patch\
>gnu/packages/patches/xfce4-panel-plugins.patch \
> -  gnu/packages/patches/xmodmap-asprintf.patch
> -
> +  gnu/packages/patches/xmodmap-asprintf.patch   \
> +  gnu/packages/patches/zathura-plugindir-environment-variable.patch
>  MISC_DISTRO_FILES = gnu/packages/javac.in

For consistency, please use tabs before the "\", and keep the blank line
above the MISC_DISTRO_FILES definition.

> +diff --git a/zathura/zathura.c b/zathura/zathura.c
> +index 589dd28..d3c9887 100644
> +--- a/zathura/zathura.c
>  b/zathura/zathura.c
> +@@ -413,12 +413,24 @@ zathura_set_plugin_dir(zathura_t* zathura, const char* 
> dir)
> +   g_return_if_fail(zathura != NULL);
> +   g_return_if_fail(zathura->plugins.manager != NULL);
> + 
> ++  // Get the new environment variable, if any.
> ++  const gchar* envvar_plugin_dir = g_getenv("ZATHURA_PLUGIN_DIR");
> ++
> +   if (dir != NULL) {
> ++// This bit sets the plugin dir from command-line.
> + girara_list_t* paths = girara_split_path_array(dir);
> + GIRARA_LIST_FOREACH(paths, char*, iter, path)
> + zathura_plugin_manager_add_dir(zathura->plugins.manager, path);
> + GIRARA_LIST_FOREACH_END(paths, char*, iter, path);
> + girara_list_free(paths);
> ++  } else if (envvar_plugin_dir != NULL) {
> ++// Set plugins dir to the contents of environment variable
> ++// ZATHURA_PLUGIN_DIR.
> ++girara_list_t* paths = girara_split_path_array(envvar_plugin_dir);
> ++GIRARA_LIST_FOREACH(paths, char*, iter, path)
> ++zathura_plugin_manager_add_dir(zathura->plugins.manager, path);
> ++GIRARA_LIST_FOREACH_END(paths, char*, iter, path);
> ++girara_list_free(paths);
> +   } else {

Since the environment variable can hold a path with more than one
directory, it is misnamed.  How about ZATHURA_PLUGIN_PATH instead?

Also the code above could be simplified.
How about something like this: (untested)

--8<---cut here---start->8---
  g_return_if_fail(zathura != NULL);
  g_return_if_fail(zathura->plugins.manager != NULL);

  if (dir == NULL)
dir = g_getenv("ZATHURA_PLUGIN_PATH");

  if (dir != NULL) {
girara_list_t* paths = girara_split_path_array(dir);
GIRARA_LIST_FOREACH(paths, char*, iter, path)
zathura_plugin_manager_add_dir(zathura->plugins.manager, path);
GIRARA_LIST_FOREACH_END(paths, char*, iter, path);
girara_list_free(paths);
  } else {
--8<---cut here---end--->8---

This would be just three new lines, but it depends on 'dir' not being
used for anything else further down in the function, and it not being
freed.  If it is freed later, you could just wrap the 'g_getenv' with
'g_strdup'.

What do you think?

> diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
> index 5e24a43..1c5c193 100644
> --- a/gnu/packages/pdf.scm
> +++ b/gnu/packages/pdf.scm
> @@ -29,6 +29,9 @@
>#:use-module (gnu packages compression)
>#:use-module (gnu packages fontutils)
>#:use-module (gnu packages ghostscript)
> +  #:use-module (gnu packages databases)
> +  #:use-module (gnu packages gettext)
> +  #:use-module (gnu packages backup)
>#:use-module (gnu packages lesstif)
>#:use-module (gnu packages image)
>#:use-module (gnu packages pkg-config)
> @@ -146,6 +149,50 @@
>  
>  
>  
> +
> +(define-public zathura

Too many blank lines.

> +  (package
> +(name "zathura")
> +(version "0.3.2")
> +(source (origin
> +  (method url-fetch)
> +  (uri
> +   (string-append 
> "https://pwmt.org/projects/zathura/download/zathura-";
> +  version ".tar.gz"))
> +  (sha256
> +   (base32
> +   

Re: [PATCH] gnu: Add snakemake.

2015-03-02 Thread Andreas Enge
This looks straight-forward to me, please push.

Andreas




Re: [PATCH 4/8] gnu: Add zathura.

2015-03-02 Thread Paul van der Walt

On 2015-03-02 at 21:19, quoth Mark H Weaver:
> It's not important, but the way we usually write this is:
> [...]
> We don't generally describe what new files are for in the commit log.
> Such explanations belong in the files themselves.

Will fix!

> For consistency, please use tabs before the "\", and keep the blank line
> above the MISC_DISTRO_FILES definition.

Done.

> Since the environment variable can hold a path with more than one
> directory, it is misnamed.  How about ZATHURA_PLUGIN_PATH instead?
>
> Also the code above could be simplified.
> How about something like this: (untested)

That looks quite elegant, will try it. Thanks for the suggestion!

> dir = g_getenv("ZATHURA_PLUGIN_PATH");
>
> What do you think?

Using your name and approach :)

> Probably the description should start with a capital letter, and I would
> remove "and functional" and "as well as an easy usage" which sound like
> marketing-speak.

True.

> Please move this next to 'native-inputs'.

I'll neaten them all up a bit.

Expect a pile of patches promptly.

Thanks,
p.



[PATCH 6/8] gnu: Add zathura DjVu plugin.

2015-03-02 Thread Paul van der Walt
* gnu/packages/pdf.scm (zathura-djvu): New variable.
---
 gnu/packages/pdf.scm | 32 
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index df1a99c..925674c 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -147,6 +147,38 @@
(license license:gpl3) ; or gpl2, but not gpl2+
(home-page "http://www.foolabs.com/xpdf/";)))
 
+(define-public zathura-djvu
+  (package
+(name "zathura-djvu")
+(version "0.2.4")
+(source (origin
+  (method url-fetch)
+  (uri
+   (string-append 
"https://pwmt.org/projects/zathura-djvu/download/zathura-djvu-";
+  version ".tar.gz"))
+  (sha256
+   (base32
+"1g1lafmrjbx0xv7fljdmyqxx0k334sq4q6jy4a0q5xfrgz0bh45c"
+(native-inputs `(("pkg-config" ,pkg-config)))
+(propagated-inputs `(("girara" ,girara)))
+(inputs
+ `(("djvulibre" ,djvulibre)
+   ("gtk+" ,gtk+)
+   ("zathura" ,zathura)))
+(build-system gnu-build-system)
+(arguments
+ `(#:make-flags
+   `(,(string-append "DESTDIR=" (assoc-ref %outputs "out"))
+  "PLUGINDIR=/lib/zathura" "CC=gcc")
+   #:tests? #f ; Package does not contain tests.
+   #:phases
+   (alist-delete 'configure %standard-phases)))
+(home-page "https://pwmt.org/projects/zathura-djvu/";)
+(synopsis "DjVu support for zathura (DjVuLibre backend)")
+(description "The zathura-djvu plugin adds DjVu support to zathura
+using the DjVuLibre library.")
+(license license:zlib)))
+
 (define-public zathura-pdf-poppler
   (package
 (name "zathura-pdf-poppler")
-- 
2.3.1




[PATCH 3/8] gnu: Add djvulibre.

2015-03-02 Thread Paul van der Walt
* gnu/packages/pdf.scm (djvulibre): New variable.
---
 gnu/packages/pdf.scm | 20 
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 7b4f2ab..4cf1089 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2013, 2015 Andreas Enge 
 ;;; Copyright © 2014 Mark H Weaver 
 ;;; Copyright © 2014, 2015 Ricardo Wurmus 
+;;; Copyright © 2015 Paul van der Walt 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -143,6 +144,25 @@
(license license:gpl3) ; or gpl2, but not gpl2+
(home-page "http://www.foolabs.com/xpdf/";)))
 
+(define-public djvulibre
+  (package
+(name "djvulibre")
+(version "3.5.27")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "mirror://sourceforge/djvu/djvulibre-"
+  version ".tar.gz"))
+  (sha256
+   (base32
+"0psh3zl9dj4n4r3lx25390nx34xz0bg0ql48zdskhq354ljni5p6"
+(build-system gnu-build-system)
+(home-page "http://djvu.sourceforge.net/";)
+(synopsis "Implementation of DjVu, the document format")
+(description "DjVuLibre is an implementation of DjVu,
+including viewers, browser plugins, decoders, simple encoders, and
+utilities.")
+(license license:gpl2+)))
+
 (define-public podofo
   (package
 (name "podofo")
-- 
2.3.1




[PATCH 1/8] gnu: check: Update version to 0.9.14

2015-03-02 Thread Paul van der Walt
* gnu/packages/check.scm (check): Update to version 0.9.14.
---
 gnu/packages/check.scm | 8 +++-
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 399af2c..bf2a1c7 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2012 Nikita Karetnikov 
+;;; Copyright © 2015 Paul van der Walt 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -26,7 +27,7 @@
 (define-public check
   (package
 (name "check")
-(version "0.9.9")
+(version "0.9.14")
 (source
  (origin
   (method url-fetch)
@@ -34,7 +35,7 @@
   version "/check-" version ".tar.gz"))
   (sha256
(base32
-"1jcahzrvxcnp5chdn2x46l0y4aba8d8yd70lljfin7h5knxrlyhs"
+"02l4g79d81s07hzywcv1knwj5dyrwjiq2pgxaz7kidxi8m364wn2"
 (build-system gnu-build-system)
 (home-page "http://check.sourceforge.net/";)
 (synopsis "Unit test framework for C")
@@ -47,7 +48,6 @@ faults or other signals.  The output from unit tests can be 
used within
 source code editors and IDEs.")
 (license lgpl2.1+)))
 
-
 (define-public cppunit
   (package
 (name "cppunit")
@@ -67,5 +67,3 @@ source code editors and IDEs.")
 unit testing.  Test output is in XML for automatic testing and GUI based for
 supervised tests.")
 (license lgpl2.1))) ; no copyright notices. LGPL2.1 is in the tarball
-
-
-- 
2.3.1




[PATCH 4/8] gnu: Add zathura.

2015-03-02 Thread Paul van der Walt
* gnu/packages/pdf.scm (zathura): New variable.
* gnu/packages/patches/zathura-plugindir-environment-variable.patch: New file.
* gnu-system.am: Add it.
---
 gnu-system.am  |  3 +-
 .../zathura-plugindir-environment-variable.patch   | 35 ++
 gnu/packages/pdf.scm   | 43 ++
 3 files changed, 80 insertions(+), 1 deletion(-)
 create mode 100644 
gnu/packages/patches/zathura-plugindir-environment-variable.patch

diff --git a/gnu-system.am b/gnu-system.am
index a500ec7..c98cb14 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -551,7 +551,8 @@ dist_patch_DATA =   
\
   gnu/packages/patches/xf86-video-trident-remove-mibstore.patch\
   gnu/packages/patches/xf86-video-vmware-glibc-2.20.patch  \
   gnu/packages/patches/xfce4-panel-plugins.patch   \
-  gnu/packages/patches/xmodmap-asprintf.patch
+  gnu/packages/patches/xmodmap-asprintf.patch  \
+  gnu/packages/patches/zathura-plugindir-environment-variable.patch
 
 MISC_DISTRO_FILES = gnu/packages/javac.in
 
diff --git a/gnu/packages/patches/zathura-plugindir-environment-variable.patch 
b/gnu/packages/patches/zathura-plugindir-environment-variable.patch
new file mode 100644
index 000..2e3ea52
--- /dev/null
+++ b/gnu/packages/patches/zathura-plugindir-environment-variable.patch
@@ -0,0 +1,35 @@
+From ae8e4cc9ab57ff25d2ba6c4b369e8531ce43a6d2 Mon Sep 17 00:00:00 2001
+From: Paul van der Walt 
+Date: Mon, 2 Mar 2015 22:15:39 +0100
+Subject: [PATCH] Search path environment variable for Zathura.
+
+Adds a search path environment variable for zathura plugins (for reading
+different file formats) called ZATHURA_PLUGIN_PATH. Command line option
+-p still takes precedence.
+
+Patch by Paul van der Walt 
+---
+ zathura/zathura.c | 7 +++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/zathura/zathura.c b/zathura/zathura.c
+index 589dd28..375ec54 100644
+--- a/zathura/zathura.c
 b/zathura/zathura.c
+@@ -413,6 +413,13 @@ zathura_set_plugin_dir(zathura_t* zathura, const char* 
dir)
+   g_return_if_fail(zathura != NULL);
+   g_return_if_fail(zathura->plugins.manager != NULL);
+ 
++  /* Added for Guix: check if environment variable
++   * is set to specify location of zathura plugins.
++   */
++
++  if (dir == NULL)
++dir = g_getenv("ZATHURA_PLUGIN_PATH");
++
+   if (dir != NULL) {
+ girara_list_t* paths = girara_split_path_array(dir);
+ GIRARA_LIST_FOREACH(paths, char*, iter, path)
+-- 
+2.3.1
+
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 4cf1089..100a799 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -29,6 +29,9 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages ghostscript)
+  #:use-module (gnu packages databases)
+  #:use-module (gnu packages gettext)
+  #:use-module (gnu packages backup)
   #:use-module (gnu packages lesstif)
   #:use-module (gnu packages image)
   #:use-module (gnu packages pkg-config)
@@ -144,6 +147,46 @@
(license license:gpl3) ; or gpl2, but not gpl2+
(home-page "http://www.foolabs.com/xpdf/";)))
 
+(define-public zathura
+  (package
+(name "zathura")
+(version "0.3.2")
+(source (origin
+  (method url-fetch)
+  (uri
+   (string-append 
"https://pwmt.org/projects/zathura/download/zathura-";
+  version ".tar.gz"))
+  (sha256
+   (base32
+"1qk5s7cyqp4l673yhma5igk9g24p5jyqyy81fdk7q7xjqlym19px"))
+  (patches
+   (list
+(search-patch 
"zathura-plugindir-environment-variable.patch")
+(native-inputs `(("pkg-config" ,pkg-config)
+ ("gettext" ,gnu-gettext)))
+(inputs `(("girara" ,girara)
+  ("sqlite" ,sqlite)
+  ("gtk+" ,gtk+)))
+(native-search-paths
+ (list (search-path-specification
+(variable "ZATHURA_PLUGIN_PATH")
+(files '("lib/zathura")
+(build-system gnu-build-system)
+(arguments
+ `(#:make-flags
+   `(,(string-append "PREFIX=" (assoc-ref %outputs "out"))
+ "CC=gcc" "COLOR=0")
+   #:tests? #f ; Tests fail: "Gtk cannot open display".
+   #:test-target "test"
+   #:phases
+   (alist-delete 'configure %standard-phases)))
+(home-page "https://pwmt.org/projects/zathura/";)
+(synopsis "Lightweight keyboard-driven PDF viewer")
+(description "Zathura is a customizable document viewer.  It provides a
+minimalistic interface and an interface that mainly focuses on keyboard
+interaction.")
+(license license:zlib)))
+
 (define-public djvulibre
   (package
 (name "djvulibre")
-- 
2.3.1




[PATCH 7/8] gnu: Add zathura postscript plugin.

2015-03-02 Thread Paul van der Walt
* gnu/packages/pdf.scm (zathura-ps): New variable.
---
 gnu/packages/pdf.scm | 31 +++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 925674c..961d8ef 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -147,6 +147,37 @@
(license license:gpl3) ; or gpl2, but not gpl2+
(home-page "http://www.foolabs.com/xpdf/";)))
 
+(define-public zathura-ps
+  (package
+(name "zathura-ps")
+(version "0.2.2")
+(source (origin
+  (method url-fetch)
+  (uri
+   (string-append 
"https://pwmt.org/projects/zathura-ps/download/zathura-ps-";
+  version ".tar.gz"))
+  (sha256
+   (base32
+"1a6ps5v1wk18qvslbkjln6w8wfzzr6fi13ls96vbdc03vdhn4m76"
+(native-inputs `(("pkg-config" ,pkg-config)))
+(propagated-inputs `(("girara" ,girara)))
+(inputs `(("libspectre" ,libspectre)
+  ("gtk+" ,gtk+)
+  ("zathura" ,zathura)))
+(build-system gnu-build-system)
+(arguments
+ `(#:make-flags
+   `(,(string-append "DESTDIR=" (assoc-ref %outputs "out"))
+  "PLUGINDIR=/lib/zathura" "CC=gcc")
+   #:tests? #f ; Package does not contain tests.
+   #:phases
+   (alist-delete 'configure %standard-phases)))
+(home-page "https://pwmt.org/projects/zathura-ps/";)
+(synopsis "PS support for zathura (libspectre backend)")
+(description "The zathura-ps plugin adds PS support to zathura
+using libspectre.")
+(license license:zlib)))
+
 (define-public zathura-djvu
   (package
 (name "zathura-djvu")
-- 
2.3.1




[PATCH 8/8] gnu: Add zathura comicbook plugin.

2015-03-02 Thread Paul van der Walt
* gnu/packages/pdf.scm (zathura-cb): New variable.
---
 gnu/packages/pdf.scm | 31 +++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 961d8ef..073b220 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -147,6 +147,37 @@
(license license:gpl3) ; or gpl2, but not gpl2+
(home-page "http://www.foolabs.com/xpdf/";)))
 
+(define-public zathura-cb
+  (package
+(name "zathura-cb")
+(version "0.1.4")
+(source (origin
+  (method url-fetch)
+  (uri
+   (string-append 
"https://pwmt.org/projects/zathura-cb/download/zathura-cb-";
+  version ".tar.gz"))
+  (sha256
+   (base32
+"09ln4fpjxmhcq6cw1ka7mdkmca36gyd4gzrynbw3waz0ri0b277j"
+(native-inputs `(("pkg-config" ,pkg-config)))
+(propagated-inputs `(("girara" ,girara)))
+(inputs `(("libarchive" ,libarchive)
+  ("gtk+" ,gtk+)
+  ("zathura" ,zathura)))
+(build-system gnu-build-system)
+(arguments
+ `(#:make-flags
+   `(,(string-append "DESTDIR=" (assoc-ref %outputs "out"))
+  "PLUGINDIR=/lib/zathura" "CC=gcc")
+   #:tests? #f ; Package does not contain tests.
+   #:phases
+   (alist-delete 'configure %standard-phases)))
+(home-page "https://pwmt.org/projects/zathura-cb/";)
+(synopsis "Comic book support for zathura (libarchive backend)")
+(description "The zathura-cb plugin adds comic book support to zathura
+using libarchive.")
+(license license:zlib)))
+
 (define-public zathura-ps
   (package
 (name "zathura-ps")
-- 
2.3.1




[PATCH 2/8] gnu: Add girara.

2015-03-02 Thread Paul van der Walt
* gnu/packages/gtk.scm (girara): Add variable.
---
 gnu/packages/gtk.scm | 39 +++
 1 file changed, 39 insertions(+)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 81f912e..c79a7cd 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2014, 2015 Mark H Weaver 
 ;;; Copyright © 2014 Eric Bavier 
 ;;; Copyright © 2015 Federico Beffa 
+;;; Copyright © 2015 Paul van der Walt 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -28,6 +29,8 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system python)
   #:use-module (guix build-system waf)
+  #:use-module (gnu packages check)
+  #:use-module (gnu packages gettext)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages ghostscript)
@@ -770,3 +773,39 @@ extensive documentation, including API reference and a 
tutorial.")
 targetted at GTK 2.x, and can be used in conjunction with gnome-python to
 write GNOME applications.")
 (license license:lgpl2.1+)))
+
+(define-public girara
+  (package
+(name "girara")
+(version "0.2.3")
+(source (origin
+  (method url-fetch)
+  (uri
+   (string-append 
"https://pwmt.org/projects/girara/download/girara-";
+  version ".tar.gz"))
+  (sha256
+   (base32
+"1phfmqp8y17zcy9yi6pm2f80x8ldbk60iswpm4bmjz5217jwqzxh"
+(native-inputs `(("pkg-config" ,pkg-config)
+ ("gettext" ,gnu-gettext)))
+(inputs `(("gtk+" ,gtk+)
+  ("check" ,check)))
+(arguments
+ `(#:make-flags
+   `(,(string-append "PREFIX=" (assoc-ref %outputs "out"))
+ "COLOR=0" "CC=gcc")
+   #:test-target "test"
+   #:tests? #f ; Tests fail with "Gtk cannot open display:"
+   #:phases
+   (alist-delete 'configure %standard-phases)))
+(build-system gnu-build-system)
+(home-page "https://pwmt.org/projects/girara/";)
+(synopsis "Library for minimalistic gtk+3 user interfaces")
+(description "Girara is a library that implements a user interface that
+focuses on simplicity and minimalism.  Currently based on GTK+, a
+cross-platform widget toolkit, it provides an interface that focuses on three
+main components: a so-called view widget that represents the actual
+application, an input bar that is used to execute commands of the
+application and the status bar which provides the user with current
+information.")
+(license license:zlib)))
-- 
2.3.1




[PATCH 5/8] gnu: Add zathura PDF plugin.

2015-03-02 Thread Paul van der Walt
* gnu/packages/pdf.scm (zathura-pdf-poppler): New variable.
---
 gnu/packages/pdf.scm | 33 +
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 100a799..df1a99c 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -147,6 +147,39 @@
(license license:gpl3) ; or gpl2, but not gpl2+
(home-page "http://www.foolabs.com/xpdf/";)))
 
+(define-public zathura-pdf-poppler
+  (package
+(name "zathura-pdf-poppler")
+(version "0.2.5")
+(source (origin
+  (method url-fetch)
+  (uri
+   (string-append 
"https://pwmt.org/projects/zathura-pdf-poppler/download/zathura-pdf-poppler-";
+  version ".tar.gz"))
+  (sha256
+   (base32
+"1b0chsds8iwjm4g629p6a67nb6wgra65pw2vvngd7g35dmcjgcv0"
+(native-inputs `(("pkg-config" ,pkg-config)))
+(propagated-inputs `(("girara" ,girara)))
+(inputs
+ `(("poppler" ,poppler)
+   ("gtk+" ,gtk+)
+   ("zathura" ,zathura)
+   ("cairo" ,cairo)))
+(build-system gnu-build-system)
+(arguments
+ `(#:make-flags
+   `(,(string-append "DESTDIR=" (assoc-ref %outputs "out"))
+  "PLUGINDIR=/lib/zathura" "CC=gcc")
+   #:tests? #f ; Package does not include tests.
+   #:phases
+   (alist-delete 'configure %standard-phases)))
+(home-page "https://pwmt.org/projects/zathura-pdf-poppler/";)
+(synopsis "PDF support for zathura (poppler backend)")
+(description "The zathura-pdf-poppler plugin adds PDF support to zathura
+by using the poppler rendering engine.")
+(license license:zlib)))
+
 (define-public zathura
   (package
 (name "zathura")
-- 
2.3.1




[PATCH] gnu: mpd: Update version to 0.19.9

2015-03-02 Thread Paul van der Walt
Hello guix,

Bavier and i had a problem where mpd was segfaulting. I didn't dig deep,
but the issue evaporated when i upgraded my mpd version. The one in Guix
was over a year old.

I hope this patch is acceptable -- it's pretty trivial.

Cheers,
p.
>From 16cf9de7c4c2ad60bc1c78f026db9f366a07cda1 Mon Sep 17 00:00:00 2001
From: Paul van der Walt 
Date: Mon, 2 Mar 2015 22:52:49 +0100
Subject: [PATCH] gnu: mpd: Update to version 0.19.9. Add boost and icu4c.

* gnu/packages/mpd.scm (mpd): Update version to 0.19.9. Add boost and
  icu4c.
---
 gnu/packages/mpd.scm | 9 ++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm
index 2d7ca6e..b757bda 100644
--- a/gnu/packages/mpd.scm
+++ b/gnu/packages/mpd.scm
@@ -29,6 +29,7 @@
   #:use-module (guix build-system gnu)
   #:use-module (gnu packages avahi)
   #:use-module (gnu packages boost)
+  #:use-module (gnu packages icu4c)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages curl)
@@ -68,24 +69,26 @@ interfacing MPD in the C, C++ & Objective C languages.")
 (define-public mpd
   (package
 (name "mpd")
-(version "0.18.8")
+(version "0.19.9")
 (source (origin
   (method url-fetch)
   (uri
(string-append "http://musicpd.org/download/mpd/";
   (version-major+minor version)
-  "/mpd-" version ".tar.gz"))
+  "/mpd-" version ".tar.xz"))
   (sha256
(base32
-"1ryqh0xf76xv4mpwy1gjwy275ar4wmbzifa9ccjim9r7lk2hgp5v"
+"0vzj365s4j0pw5w37lfhx3dmpkdp85driravsvx8rlrw0lii91a7"
 (build-system gnu-build-system)
 (inputs `(("ao" ,ao)
   ("alsa-lib" ,alsa-lib)
   ("avahi" ,avahi)
+  ("boost" ,boost)
   ("curl" ,curl)
   ("ffmpeg" ,ffmpeg)
   ("flac" ,flac)
   ("glib" ,glib)
+  ("icu4c" ,icu4c)
   ("lame" ,lame)
   ("libid3tag" ,libid3tag)
   ("libmad" ,libmad)
-- 
2.3.1



/etc/ssl/certs and the certificate bundle

2015-03-02 Thread Ludovic Courtès
Mark H Weaver  skribis:

> l...@gnu.org (Ludovic Courtès) writes:
>
>> Mark H Weaver  skribis:
>>
>>> No, it's not worse than it was before.  Sorry if I gave that impression.
>>> The only issue is that we might need to generate a single-file
>>> certificate bundle for now, because I haven't found a way to get 'git'
>>> to check certificates on GuixSD without a single-file cert bundle, at
>>> least not when curl is build with GnuTLS.
>>
>> It seems like adding this single-file bundle would be the simplest
>> short-term option.  How would we create that file exactly?
>
> The single-file bundle is just a concatenation of all the individual PEM
> data, starting with "-BEGIN CERTIFICATE-" and ending with
> "-END CERTIFICATE-", including those delimiters.
>
> The only caveat is that the individual PEM files are not required to
> have a newline after the "-END CERTIFICATE-", but in the
> single-file cert bundle, we must ensure that the newline is present.
> See .

OK, I’ve implemented this for GuixSD in commit 993300f.  Thanks to you
and Andreas for your help.

> In order to support multiple packages containing CA certs, it would be
> good to handle creation of the single-file cert bundle in the profile
> generation code, analogous to our handling of info "dir" files.  This
> would allow us to create additional cert packages (e.g. one for
> CAcert.org).
>
> I think it belongs in the profile generation code for the benefit of
> users running Guix packages on top of another distro, where they might
> not have root access.  They can simply set GIT_SSL_CAINFO and
> SSL_CERT_FILE to ~/.guix-profile/etc/ssl/ca-certificates.crt
>
> What do you think?

It’s a good but as of yet unimplemented idea.

Although I now realize we could perhaps simple move the
‘certificate-bundle’ procedure to (guix profile), add the certificate
package to the system profile, and make /etc/ssl a symlink to
/run/current-system/profile/etc/ssl.

However there’s the complication that all the files of ‘nss-certs’ would
still be there in addition to the bundle.  Hmm.

Thoughts?

Ludo’.



Re: [PATCH] gnu: mpd: Update version to 0.19.9

2015-03-02 Thread David Thompson
Paul van der Walt  writes:

> Hello guix,
>
> Bavier and i had a problem where mpd was segfaulting. I didn't dig deep,
> but the issue evaporated when i upgraded my mpd version. The one in Guix
> was over a year old.
>
> I hope this patch is acceptable -- it's pretty trivial.
>
> Cheers,
> p.
> From 16cf9de7c4c2ad60bc1c78f026db9f366a07cda1 Mon Sep 17 00:00:00 2001
> From: Paul van der Walt 
> Date: Mon, 2 Mar 2015 22:52:49 +0100
> Subject: [PATCH] gnu: mpd: Update to version 0.19.9. Add boost and icu4c.

Use a single, brief sentence.  "gnu: mpd: Update to 0.19.9."

>
> * gnu/packages/mpd.scm (mpd): Update version to 0.19.9. Add boost and
>   icu4c.
> ---
>  gnu/packages/mpd.scm | 9 ++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm
> index 2d7ca6e..b757bda 100644
> --- a/gnu/packages/mpd.scm
> +++ b/gnu/packages/mpd.scm
> @@ -29,6 +29,7 @@
>#:use-module (guix build-system gnu)
>#:use-module (gnu packages avahi)
>#:use-module (gnu packages boost)
> +  #:use-module (gnu packages icu4c)
>#:use-module (gnu packages readline)
>#:use-module (gnu packages compression)
>#:use-module (gnu packages curl)
> @@ -68,24 +69,26 @@ interfacing MPD in the C, C++ & Objective C languages.")
>  (define-public mpd
>(package
>  (name "mpd")
> -(version "0.18.8")
> +(version "0.19.9")
>  (source (origin
>(method url-fetch)
>(uri
> (string-append "http://musicpd.org/download/mpd/";
>(version-major+minor version)
> -  "/mpd-" version ".tar.gz"))
> +  "/mpd-" version ".tar.xz"))
>(sha256
> (base32
> -"1ryqh0xf76xv4mpwy1gjwy275ar4wmbzifa9ccjim9r7lk2hgp5v"
> +"0vzj365s4j0pw5w37lfhx3dmpkdp85driravsvx8rlrw0lii91a7"
>  (build-system gnu-build-system)
>  (inputs `(("ao" ,ao)
>("alsa-lib" ,alsa-lib)
>("avahi" ,avahi)
> +  ("boost" ,boost)
>("curl" ,curl)
>("ffmpeg" ,ffmpeg)
>("flac" ,flac)
>("glib" ,glib)
> +  ("icu4c" ,icu4c)
>("lame" ,lame)
>("libid3tag" ,libid3tag)
>("libmad" ,libmad)
> -- 
> 2.3.1
>

OK to push with an adjusted commit log.  Thank you very much for fixing
mpd for us!  Now, we need to write an mpd service defintion. ;)

-- 
David Thompson
Web Developer - Free Software Foundation - http://fsf.org
GPG Key: 0FF1D807
Support the FSF: https://fsf.org/donate



Re: [PATCH 1/8] gnu: check: Update version to 0.9.14

2015-03-02 Thread Mark H Weaver
Paul van der Walt  writes:
> * gnu/packages/check.scm (check): Update to version 0.9.14.
> ---
>  gnu/packages/check.scm | 8 +++-
>  1 file changed, 3 insertions(+), 5 deletions(-)

Okay to push, thanks!

Mark



Re: [PATCH 2/8] gnu: Add girara.

2015-03-02 Thread Mark H Weaver
Paul van der Walt  writes:

> * gnu/packages/gtk.scm (girara): Add variable.
> ---
>  gnu/packages/gtk.scm | 39 +++
>  1 file changed, 39 insertions(+)

Looks good, please push!

 Mark



Re: [PATCH 3/8] gnu: Add djvulibre.

2015-03-02 Thread Mark H Weaver
Paul van der Walt  writes:

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

The package looks good, but I'm not sure it belongs in pdf.scm.  Maybe
the answer is to rename pdf.scm to something more general, perhaps
documents.scm?  Or maybe this belongs somewhere else.  Thoughts?

I'd like to hear some opinions on this before okaying the push.

 Thanks!
   Mark



Re: [PATCH 3/8] gnu: Add djvulibre.

2015-03-02 Thread Paul van der Walt

On 2015-03-03 at 00:21, quoth Mark H Weaver:
>> * gnu/packages/pdf.scm (djvulibre): New variable.
>
> The package looks good, but I'm not sure it belongs in pdf.scm.

Yeah i felt a bit uncomfortable putting it in a module called pdf too. I
would think document.scm is fine, but it sounds a bit too
general. I'm a bit empty as far as ideas go, though -- i'll give it a
think tomorrow.

p.



Re: /etc/ssl/certs and the certificate bundle

2015-03-02 Thread Mark H Weaver
l...@gnu.org (Ludovic Courtès) writes:

> Mark H Weaver  skribis:
>
>> The single-file bundle is just a concatenation of all the individual PEM
>> data, starting with "-BEGIN CERTIFICATE-" and ending with
>> "-END CERTIFICATE-", including those delimiters.
>>
>> The only caveat is that the individual PEM files are not required to
>> have a newline after the "-END CERTIFICATE-", but in the
>> single-file cert bundle, we must ensure that the newline is present.
>> See .
>
> OK, I’ve implemented this for GuixSD in commit 993300f.  Thanks to you
> and Andreas for your help.

Thank you!

>> In order to support multiple packages containing CA certs, it would be
>> good to handle creation of the single-file cert bundle in the profile
>> generation code, analogous to our handling of info "dir" files.  This
>> would allow us to create additional cert packages (e.g. one for
>> CAcert.org).
>>
>> I think it belongs in the profile generation code for the benefit of
>> users running Guix packages on top of another distro, where they might
>> not have root access.  They can simply set GIT_SSL_CAINFO and
>> SSL_CERT_FILE to ~/.guix-profile/etc/ssl/ca-certificates.crt
>>
>> What do you think?
>
> It’s a good but as of yet unimplemented idea.
>
> Although I now realize we could perhaps simple move the
> ‘certificate-bundle’ procedure to (guix profile), add the certificate
> package to the system profile, and make /etc/ssl a symlink to
> /run/current-system/profile/etc/ssl.

I think this would be ideal.

> However there’s the complication that all the files of ‘nss-certs’ would
> still be there in addition to the bundle.  Hmm.

That's a feature, not a bug.  It is more efficient to look up the
individual files by their hash-named symlinks than to read the entire
certificate bundle as one file.  The only problem is that some
combinations of software don't yet support this mode.

For example, libcurl (used by git) only supports the single-file when it
is linked with GnuTLS.  When linked with OpenSSL it supports both modes.
(This is a limitation of libcurl's backend for GnuTLS, not an inherent
problem with GnuTLS.)

Thanks,
  Mark



[PATCHES] profiles: Produce a single-file CA certificate bundle

2015-03-02 Thread Mark H Weaver
l...@gnu.org (Ludovic Courtès) writes:

> Mark H Weaver  skribis:
>
>> In order to support multiple packages containing CA certs, it would be
>> good to handle creation of the single-file cert bundle in the profile
>> generation code, analogous to our handling of info "dir" files.  This
>> would allow us to create additional cert packages (e.g. one for
>> CAcert.org).
>>
>> I think it belongs in the profile generation code for the benefit of
>> users running Guix packages on top of another distro, where they might
>> not have root access.  They can simply set GIT_SSL_CAINFO and
>> SSL_CERT_FILE to ~/.guix-profile/etc/ssl/ca-certificates.crt
>>
>> What do you think?
>
> It’s a good but as of yet unimplemented idea.
>
> Although I now realize we could perhaps simple move the
> ‘certificate-bundle’ procedure to (guix profile), add the certificate
> package to the system profile, and make /etc/ssl a symlink to
> /run/current-system/profile/etc/ssl.

I've attached patches that implement this.  They assume that 993300f and
e979e6d are first reverted.  Comments and suggestions welcome.

It would also be good to add search-path-specifications for
SSL_CERT_FILE to 'openssl' and GIT_SSL_CAINFO to 'git' in core-updates,
but I'm not sure how best to do that.  Would you be willing to do it,
Ludovic?

  Mark

>From 0229c6c51a9341484a84f4cec112494b4fe67757 Mon Sep 17 00:00:00 2001
From: Mark H Weaver 
Date: Tue, 3 Mar 2015 02:09:30 -0500
Subject: [PATCH 1/2] profiles: Produce a single-file CA certificate bundle.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* guix/profiles.scm (ca-certificate-bundle): New procedure.
  (profile-derivation): Add 'ca-certificate-bundle?' keyword argument.  If
  true (the default), add the result of 'ca-certificate-bundle' to 'inputs'.

Co-Authored-By: Ludovic Courtès 
---
 guix/profiles.scm | 91 +++
 1 file changed, 78 insertions(+), 13 deletions(-)

diff --git a/guix/profiles.scm b/guix/profiles.scm
index a0a259b..5ceba25 100644
--- a/guix/profiles.scm
+++ b/guix/profiles.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès 
 ;;; Copyright © 2013 Nikita Karetnikov 
 ;;; Copyright © 2014 Alex Kost 
+;;; Copyright © 2015 Mark H Weaver 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -413,23 +414,87 @@ MANIFEST."
   (gexp->derivation "info-dir" build
 #:modules '((guix build utils)
 
-(define* (profile-derivation manifest #:key (info-dir? #t))
+(define (ca-certificate-bundle manifest)
+  "Return a derivation that builds a single-file bundle containing the CA
+certificates in the /etc/ssl/certs sub-directories of the packages in
+MANIFEST.  Single-file bundles are required by programs such as Git and Lynx."
+  ;; See 
+  ;; for a discussion.
+
+  (define glibc-utf8-locales  ;lazy reference
+(module-ref (resolve-interface '(gnu packages base)) 'glibc-utf8-locales))
+
+  (define build
+#~(begin
+(use-modules (guix build utils)
+ (rnrs io ports)
+ (srfi srfi-1)
+ (srfi srfi-26)
+ (ice-9 ftw))
+
+(define (pem-file? file)
+  (string-suffix? ".pem" file))
+
+(define (ca-files top)
+  (let ((cert-dir (string-append top "/etc/ssl/certs")))
+(map (cut string-append cert-dir "/" <>)
+ (or (scandir cert-dir pem-file?) '()
+
+(define (concatenate-files files result)
+  "Make RESULT the concatenation of all of FILES."
+  (define (dump file port)
+(display (call-with-input-file file get-string-all)
+ port)
+(newline port));required, see 
+
+  (call-with-output-file result
+(lambda (port)
+  (for-each (cut dump <> port) files
+
+;; Some file names in the NSS certificates are UTF-8 encoded so
+;; install a UTF-8 locale.
+(setenv "LOCPATH" (string-append #+glibc-utf8-locales "/lib/locale"))
+(setlocale LC_ALL "en_US.UTF-8")
+
+(let ((ca-files (append-map ca-files
+'#$(manifest-inputs manifest)))
+  (result   (string-append #$output "/etc/ssl/certs")))
+  (mkdir-p result)
+  (concatenate-files ca-files
+ (string-append result
+"/ca-certificates.crt")
+
+  (gexp->derivation "ca-certificate-bundle" build
+#:modules '((guix build utils))
+#:local-build? #t))
+
+(define* (profile-derivation manifest
+ #:key
+ (info-dir? #t)
+ (ca-certificate-bundle? #t))
   "Return a derivation that build