Re: [PATCH] Add prodigal.

2015-07-05 Thread Alex Kost
Ben Woodcroft (2015-07-05 07:52 +0300) wrote:

> On 27/06/15 22:33, Ben Woodcroft wrote:
>> To me this is problematic in two ways:
>> 1. It works on more than just genomes
>> 2. There is some contention in the field about the use of
>> "prokaryote", since this refers to a paraphyletic group - us humans
>> are more closely related to Archaea than Bacteria.
>> http://link.springer.com/referenceworkentry/10.1007/978-3-642-30194-0_114
>>
>> I figure it was just easier to sidestep the issue and put Archaea and
>> Bacteria.
> Perhaps I bored everyone, but is the patch a-ok now?

I've tried it and it has been built successfully, and I think it's
absolutely OK.  I have not pushed it though as Ricardo is a Master of
bioinformatics, perhaps he'll notice something I didn't.

-- 
Alex



Re: [PATCH] Add yaggo.

2015-07-05 Thread Mark H Weaver
Ben Woodcroft  writes:

> From d220bdeac89660108de96a96107daf89182310e0 Mon Sep 17 00:00:00 2001
> From: Ben Woodcroft 
> Date: Wed, 24 Jun 2015 14:32:26 +1000
> Subject: [PATCH] gnu: Add yaggo.
>
> * gnu/packages/ruby.scm (yaggo): New variable.
> ---
>  gnu/packages/ruby.scm | 32 
>  1 file changed, 32 insertions(+)
>
> diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
> index af87cf5..19006d3 100644
> --- a/gnu/packages/ruby.scm
> +++ b/gnu/packages/ruby.scm
> @@ -3,6 +3,7 @@
>  ;;; Copyright © 2014 Ludovic Courtès 
>  ;;; Copyright © 2014, 2015 Mark H Weaver 
>  ;;; Copyright © 2014 David Thompson 
> +;;; Copyright © 2015 Ben Woodcroft 
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -697,3 +698,34 @@ options and parsing command line flags.")
>  net/http library.")
>  (home-page "https://github.com/nicksieger/multipart-post";)
>  (license license:expat)))
> +
> +(define-public yaggo
> +  (package
> +   (name "yaggo")
> +   (version "1.5.4")
> +   (source (origin
> + (method url-fetch)
> + (uri (string-append
> +   "https://github.com/gmarcais/yaggo/archive/v";
> +   version ".tar.gz"))
> + (file-name (string-append name "-" version ".tar.gz"))
> + (sha256
> +  (base32
> +   "1mxfvrim03xg80agws9zdpk00r0kjpqhw3xbli0w8wvsnsa274y3"

Please change the tabs to spaces.

> +   (build-system ruby-build-system)
> +   (arguments
> +`(#:tests? #f ;; no rake test, and Makefile in test/ appears malformed

Just one semicolon there, please.  Our convention, borrowed from
, is to use one semicolon
for "margin comments", i.e. comments to the right of the code, and two
semicolons for comments on their own line preceding code.

It's made more important by the fact that formatting commands in Emacs
Lisp editing modes will act differently depending on how many semicolon
are present.

> +  #:phases
> +  (modify-phases %standard-phases
> +  (replace 'build

Please align the "(" under the "o" in "modify-phases"

> +   (lambda* _

You can use plain 'lambda' here.

> + (zero? (system* "rake"
> + "gem")))

It would look better to move "gem" to the preceeding line.  Better yet,
how about putting the entire 'replace' on one line, like this:

  (modify-phases %standard-phases
(replace 'build (lambda _ (zero? (system* "rake" "gem")))

Normally I use more whitespace, but in this case I think it's perfectly
readable.  What do you think?

> +   (synopsis "Generate C++ command line parsers using getopt_long")
> +   (description "Yaggo is a tool to generate command line parsers for
> +C++.  Yaggo stands for 'Yet Another GenGetOpt' and is inspired by GNU
> +Gengetopt.  It reads a configuration file describing the switches and 
> argument
> +for a C++ program and it generates one header file that parses the command
> +line using getopt_long(3).")
> +   (home-page "https://github.com/gmarcais/yaggo";)
> +   (license license:gpl3+)))

Can you send an updated patch?

Thanks,
  Mark



Re: [PATCH] Add prodigal.

2015-07-05 Thread Ricardo Wurmus

Alex Kost  writes:
> Ricardo is a Master of bioinformatics

Haha! :)

Mark already pushed it.  I simply forgot about this patch, my apologies!

~~ Ricardo




Re: Help with a basic GuixSD installation

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

> "Claes Wallin (韋嘉誠)"  skribis:
>
>> So *that's* what the mysterious (title 'label) means!
>
> It’s not that mysterious:

IMO, 'title' is a very confusing name for that field, because its value
is not the title of anything, but rather determines how the value of the
'device' field will be interpreted.

Unfortunately, I'm having trouble thinking of a concise name for that
field that is also descriptive.  'mode' or 'lookup-mode' are the best
ideas I have so far.

However, to go a bit further: it would be great if all 'device' fields
in the OS config used a consistent syntax for specifying devices by
label or uuid.  I prefer to reference my swap partition by label, so I
use "/dev/disk/by-label/…" in 'swap-partitions', but the lack of
symmetry with 'file-system' grates on me.

Here's an idea: the values of device fields could be either strings or
lists of the form:

  (uuid "6f8ab…")
  (label "foo")

Thoughts?

 Mark



cmake-build-system

2015-07-05 Thread Ricardo Wurmus
Attached is a patch for the cmake-build-system.  I have encountered a
couple of applications that failed the validate-runpath phase because
the RUNPATH was not set properly.

I found that setting BUILD_WITH_INSTALL_RPATH=TRUE helped when the
INSTALL_RPATH was also set to contain all inputs, like this:

  (string-append "-DCMAKE_INSTALL_RPATH="
 (string-join (map (match-lambda
 ((name . directory)
  (string-append directory "/lib")))
   %build-inputs) ";"))

Currently, the build system only sets the INSTALL_RPATH to the output’s
“/lib” directory.

The attached patch only adds BUILD_WITH_INSTALL_RPATH=TRUE.  I’m not
sure if this is sufficient, but I think it is actually a requirement.

What do you think?

~~ Ricardo

>From def7bdacbebc1969e0390674844c85982575c305 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus 
Date: Sun, 5 Jul 2015 10:45:15 +0200
Subject: [PATCH] cmake-build-system: Enable BUILD_WITH_INSTALL_RPATH.

* guix/build/cmake-build-system.scm (configure): Set BUILD_WITH_INSTALL_RPATH
  to TRUE.
---
 guix/build/cmake-build-system.scm | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/guix/build/cmake-build-system.scm b/guix/build/cmake-build-system.scm
index f57622e..7199e51 100644
--- a/guix/build/cmake-build-system.scm
+++ b/guix/build/cmake-build-system.scm
@@ -55,6 +55,8 @@
   ,(string-append "-DCMAKE_INSTALL_PREFIX=" out)
   ;; add input libraries to rpath
   "-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE"
+  ;; link target in the build tree with the INSTALL_RPATH
+  "-DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE"
   ;; add (other) libraries of the project itself to rpath
   ,(string-append "-DCMAKE_INSTALL_RPATH=" out "/lib")
   ;; enable verbose output from builds
-- 
2.4.3



Re: [PATCH] gnu: Add rhythmbox.

2015-07-05 Thread Ludovic Courtès
Hi David, Ricardo,

Ricardo Wurmus  skribis:

> So, I applied the patch, built rhythmbox, and installed it into a
> separate profile.  It starts up fine and begins importing files from
> ~/Music but I get a *lot* of import errors:
>
>“Couldn’t create ‘uridecodebin’ element”
>
> I see this for a great many ogg and mp3 files in my ~/Music directory
> under “Import Errors”.  In fact, none of my audio files in ~/Music were
> imported at all.

Any update on this one?

Ludo’.



Re: [PATCH] gnu: make python-mimeparse a propagated input of python-testtools.

2015-07-05 Thread Ludovic Courtès
Cyril Roelandt  skribis:

> * gnu/packages/python.scm (python-testtools): move python-mimeparse from 
> inputs
>   to propagated-inputs.

Please add “python-testtools:” in the subject line.  Otherwise LGTM.

Ludo’.



Re: [PATCH 14/14] gnu: Add deal.II.

2015-07-05 Thread Ludovic Courtès
Mark H Weaver  skribis:

> Eric Bavier  writes:
>> I ended up pushing with the "dealii" name.
>
> In the build logs, I see many occurrences of the following warning:
>
>   Assembler messages:
>   Warning: cannot compress debug sections (zlib not installed)
>
> presumably because of the -Wa,--compress-debug-sections option passed to
> the compiler.  How about adding zlib to native-inputs?

Adding zlib might silence the warnings, but the debugging symbols are
stripped later on anyway (and there’s no “debug” output.)  So either way
is fine, IMO.

(In the future it would be nice to systematically compress debugging
sections that go to “debug” outputs.)

Ludo’.



Re: [PATCH] powertab: Enable tests and update.

2015-07-05 Thread Ludovic Courtès
Ricardo Wurmus  skribis:

> From 2d11dfa79d388e409965cda8f05d77b3eafcee86 Mon Sep 17 00:00:00 2001
> From: Ricardo Wurmus 
> Date: Sat, 4 Jul 2015 11:11:19 +0200
> Subject: [PATCH 1/2] gnu: powertabeditor: Enable tests.
>
> * gnu/packages/music.scm (powertabeditor)[arguments]: Run "pte_tests" in
>   "check" phase; add phase "fix-tests".

LGTM.

> From 579c4ea1b7ff6c06fb66556da34786e09ecbba7a Mon Sep 17 00:00:00 2001
> From: Ricardo Wurmus 
> Date: Sat, 4 Jul 2015 11:12:17 +0200
> Subject: [PATCH 2/2] gnu: powertabeditor: Update to 2.0.0-alpha8.
>
> * gnu/packages/music.scm (powertabeditor): Update to 2.0.0-alpha8.

LGTM, thanks!

Ludo'.



Re: [PATCH] Add yaggo.

2015-07-05 Thread Ben Woodcroft

On 05/07/15 17:33, Mark H Weaver wrote:

Normally I use more whitespace, but in this case I think it's perfectly
readable.  What do you think?

Sure.

The tab issues were caused by my using the scheme mode of emacs rather 
than the guile one, and shouldn't happen any more. Apparently also when 
you search for space in emacs it also highlights tabs...

Can you send an updated patch?

Attached, but actually I have two questions:
1. should the name of this be yaggo or ruby-yaggo?
2. should ruby be a propagated input, or the bin/ script wrapped as 
suggested otherwise in this thread?


Happy for you to push if you think the patch is OK - it does not change 
strategy from the original.


Thanks,
ben
>From df26cd16f04f322bdf1685072f21dc2de67796a8 Mon Sep 17 00:00:00 2001
From: Ben Woodcroft 
Date: Sun, 5 Jul 2015 21:13:33 +1000
Subject: [PATCH] gnu: Add yaggo.

* gnu/packages/ruby.scm (yaggo): New variable.
---
 gnu/packages/ruby.scm | 32 
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index af87cf5..58f8dba 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2014 Ludovic Courtès 
 ;;; Copyright © 2014, 2015 Mark H Weaver 
 ;;; Copyright © 2014 David Thompson 
+;;; Copyright © 2015 Ben Woodcroft 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -697,3 +698,34 @@ options and parsing command line flags.")
 net/http library.")
 (home-page "https://github.com/nicksieger/multipart-post";)
 (license license:expat)))
+
+(define-public yaggo
+  (package
+   (name "yaggo")
+   (version "1.5.4")
+   (source (origin
+ (method url-fetch)
+ (uri (string-append
+   "https://github.com/gmarcais/yaggo/archive/v";
+   version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+  (base32
+   "1mxfvrim03xg80agws9zdpk00r0kjpqhw3xbli0w8wvsnsa274y3"
+   (build-system ruby-build-system)
+   (arguments
+`(
+  ;; No rake test, and Makefile in test/ appears malformed.
+  ;; See https://github.com/gmarcais/yaggo/issues/3
+  #:tests? #f
+  #:phases
+  (modify-phases %standard-phases
+(replace 'build (lambda* _ (zero? (system* "rake" "gem")))
+   (synopsis "Generate C++ command line parsers using getopt_long")
+   (description "Yaggo is a tool to generate command line parsers for C++.
+Yaggo stands for 'Yet Another GenGetOpt' and is inspired by GNU Gengetopt.  It
+reads a configuration file describing the switches and argument for a C++
+program and it generates one header file that parses the command line using
+getopt_long(3).")
+   (home-page "https://github.com/gmarcais/yaggo";)
+   (license license:gpl3+)))
-- 
2.1.4



Re: [PATCH] gnu: Add rhythmbox.

2015-07-05 Thread Ricardo Wurmus

>> So, I applied the patch, built rhythmbox, and installed it into a
>> separate profile.  It starts up fine and begins importing files from
>> ~/Music but I get a *lot* of import errors:
>>
>>“Couldn’t create ‘uridecodebin’ element”
>>
>> I see this for a great many ogg and mp3 files in my ~/Music directory
>> under “Import Errors”.  In fact, none of my audio files in ~/Music were
>> imported at all.
>
> Any update on this one?

Well, I still get this error and I don’t know if I need to do anything
after installation to make this work.  It very much looks like a
gstreamer error to me, but I don’t have the time to investigate this
soon.

David, is Rhythmbox working for without any such errors?  Are you using
GuixSD?

~~ Ricardo




Re: Help with a basic GuixSD installation

2015-07-05 Thread 韋嘉誠
On Jul 5, 2015 10:16 AM, "Mark H Weaver"  wrote:
> l...@gnu.org (Ludovic Courtès) writes:
> > "Claes Wallin (韋嘉誠)"  skribis:
> >
> >> So *that's* what the mysterious (title 'label) means!
> >
> > It’s not that mysterious:
>
> IMO, 'title' is a very confusing name for that field, because its value
> is not the title of anything, but rather determines how the value of the
> 'device' field will be interpreted.

That was my point. Thank you for spelling it out clearly.

> Unfortunately, I'm having trouble thinking of a concise name for that
> field that is also descriptive.  'mode' or 'lookup-mode' are the best
> ideas I have so far.

[ . . . ]

> Here's an idea: the values of device fields could be either strings or
> lists of the form:
>
>   (uuid "6f8ab…")
>   (label "foo")
>
> Thoughts?

You read my mind. A "union" type record with a label is not optimal, much
better to have separate records with semantically clear names.


Re: [PATCH] Libressl

2015-07-05 Thread Andreas Enge
On Fri, Jul 03, 2015 at 09:57:15PM +0200, Andreas Enge wrote:
> The attached patch does the first half of the change. Is it okay to push it?

I did, as there was no complaint; the next part (move openssl.scm into
tls.scm) will follow soon.

Andreas




Re: [PATCH] gnu: Add rhythmbox.

2015-07-05 Thread David Hashe
Hi Ludo and Ricardo,

The 'uridecodebin' error is a result of GST_PLUGIN_SYSTEM_PATH not being
set. However, the recent patch to gstreamer adds that to its native search
paths, so that error should be resolved now on an updated system. I had a
line defining GST_PLUGIN_SYSTEM_PATH in my .bashrc, but I was able to
remove it after that patch was applied. Rhythmbox is working without errors
for me.

I've also realized that some of the packages I put under inputs should
probably be propagated inputs, so I'm attaching an updated patch which
changes that.

I am currently using guix over ubuntu.

Thanks,
David

On Sun, Jul 5, 2015 at 6:44 AM, Ricardo Wurmus  wrote:

>
> >> So, I applied the patch, built rhythmbox, and installed it into a
> >> separate profile.  It starts up fine and begins importing files from
> >> ~/Music but I get a *lot* of import errors:
> >>
> >>“Couldn’t create ‘uridecodebin’ element”
> >>
> >> I see this for a great many ogg and mp3 files in my ~/Music directory
> >> under “Import Errors”.  In fact, none of my audio files in ~/Music were
> >> imported at all.
> >
> > Any update on this one?
>
> Well, I still get this error and I don’t know if I need to do anything
> after installation to make this work.  It very much looks like a
> gstreamer error to me, but I don’t have the time to investigate this
> soon.
>
> David, is Rhythmbox working for without any such errors?  Are you using
> GuixSD?
>
> ~~ Ricardo
>
>
From 91d42139d7344ddb812e12a3c0a67647b51271d8 Mon Sep 17 00:00:00 2001
From: David Hashe 
Date: Sun, 5 Jul 2015 10:24:22 -0500
Subject: [PATCH] gnu: Add rhythmbox.

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

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 3882a7a..103c078 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -2718,3 +2718,59 @@ the patterned block to the area bordered by green markers.  To do so, you will
 need to slide other blocks out of the way.  Complete each puzzle in as few moves
 as possible!")
 (license license:gpl2+)))
+
+(define-public rhythmbox
+ (package
+   (name "rhythmbox")
+   (version "3.2.1")
+   (source (origin
+(method url-fetch)
+(uri (string-append "mirror://gnome/sources/" name "/"
+(version-major+minor version) "/"
+name "-" version ".tar.xz"))
+(sha256
+ (base32
+  "0f3radhlji7rxl760yl2vm49fvfslympxrpm8497acbmbd7wlhxz"
+   (build-system glib-or-gtk-build-system)
+   (propagated-inputs
+`(("dconf" ,dconf)
+  ("gst-libav" ,gst-libav)
+  ("gst-plugins-base" ,gst-plugins-base)
+  ("gst-plugins-good" ,gst-plugins-good)))
+   (native-inputs
+`(("intltool" ,intltool)
+  ("glib" ,glib "bin")
+  ("gobject-introspection" ,gobject-introspection)
+  ("pkg-config" ,pkg-config)))
+   (inputs
+`(("json-glib" ,json-glib)
+  ("libpeas" ,libpeas)
+  ("tdb" ,tdb)
+  ("totem-pl-parser" ,totem-pl-parser)
+  ("webkitgtk" ,webkitgtk)
+  ("gnome-desktop" ,gnome-desktop)
+  ("python" ,python)
+  ("gmime" ,gmime)
+  ("nettle" ,nettle)
+  ("itstool" ,itstool)
+  ("adwaita-icon-theme" ,adwaita-icon-theme)
+  ("gstreamer" ,gstreamer)
+  ("gudev" ,eudev)
+  ("libmtp" ,libmtp)
+  ("libsecret" ,libsecret)
+  ("libnotify" ,libnotify)
+  ("clutter" ,clutter)
+  ("clutter-gtk" ,clutter-gtk)
+  ("clutter-gst" ,clutter-gst)
+  ;("grilo" ,grilo)
+  ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+  ("atk" ,atk)
+  ("pango" ,pango)
+  ("desktop-file-utils" ,desktop-file-utils)
+  ("brasero" ,brasero)))
+   (home-page "https://wiki.gnome.org/Apps/Rhythmbox";)
+   (synopsis "Music player for GNOME")
+   (description "Rhythmbox is a music playing application for GNOME.  It
+supports playlists, song ratings, and any codecs installed through gstreamer.")
+   (license license:gpl2+)))
+
-- 
1.9.1



Re: [PATCH] gnu: Add rhythmbox.

2015-07-05 Thread Amirouche Boubekki

On 2015-07-05 17:28, David Hashe wrote:

Hi Ludo and Ricardo,

The 'uridecodebin' error is a result of GST_PLUGIN_SYSTEM_PATH not
being set. However, the recent patch to gstreamer adds that to its
native search paths, so that error should be resolved now on an
updated system. I had a line defining GST_PLUGIN_SYSTEM_PATH in my
.bashrc, but I was able to remove it after that patch was applied.
Rhythmbox is working without errors for me.

I've also realized that some of the packages I put under inputs should
probably be propagated inputs, so I'm attaching an updated patch which
changes that.

I am currently using guix over ubuntu.


I use GuixSD. I patched my guix git repository just after they were 
published.


It works, or more precisly it can work:

- I have the following in my .bashrc:

export GST_PLUGIN_SYSTEM_PATH=$HOME/.guix-profile/lib/gstreamer-1.0
export GRL_PLUGIN_PATH=$HOME/.guix-profile/lib/grilo-0.2

- Also I installed several gstreamer packages.

I only tried to play mp3 and ogg. Ogg works. I did not try burning audio 
cds.

I will try later today or tomorrow.





Thanks,

David

On Sun, Jul 5, 2015 at 6:44 AM, Ricardo Wurmus 
wrote:


So, I applied the patch, built rhythmbox, and installed it into a
separate profile. It starts up fine and begins importing files

from

~/Music but I get a *lot* of import errors:

“Couldn’t create ‘uridecodebin’ element”

I see this for a great many ogg and mp3 files in my ~/Music

directory

under “Import Errors”. In fact, none of my audio files in

~/Music were

imported at all.


Any update on this one?


Well, I still get this error and I don’t know if I need to do
anything
after installation to make this work. It very much looks like a
gstreamer error to me, but I don’t have the time to investigate
this
soon.

David, is Rhythmbox working for without any such errors? Are you
using
GuixSD?

~~ Ricardo


--
Amirouche ~ amz3 ~ http://www.hyperdev.fr



[PATCH] Add Emacs PDF tools

2015-07-05 Thread Ricardo Wurmus
>From 1f5f4de3da2f8158884116746ed00435a317b6c6 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus 
Date: Sun, 5 Jul 2015 19:58:38 +0200
Subject: [PATCH] gnu: Add emacs-pdf-tools.

* gnu/packages/emacs.scm (emacs-pdf-tools): New variable.
---
 gnu/packages/emacs.scm | 61 ++
 1 file changed, 61 insertions(+)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 2502f29..b052a63 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès 
 ;;; Copyright © 2014, 2015 Mark H Weaver 
 ;;; Copyright © 2014 Alex Kost 
+;;; Copyright © 2015 Ricardo Wurmus 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -50,6 +51,7 @@
   #:use-module (gnu packages glib)
   #:use-module (gnu packages acl)
   #:use-module (gnu packages perl)
+  #:use-module (gnu packages pdf)
   #:use-module (gnu packages linux)   ;alsa
   #:use-module (gnu packages xiph)
   #:use-module (gnu packages mp3)
@@ -776,3 +778,62 @@ an address book for email and snail mail addresses, phone numbers and the
 like.  It can be linked with various Emacs mail clients (Message and Mail
 mode, Rmail, Gnus, MH-E, and VM).  BBDB is fully customizable.")
 (license license:gpl3+)))
+
+(define-public emacs-pdf-tools
+  (package
+(name "emacs-pdf-tools")
+(version "0.60")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"https://github.com/politza/pdf-tools/archive/v";
+version ".tar.gz"))
+  (file-name (string-append name "-" version ".tar.gz"))
+  (sha256
+   (base32
+"1y8k5n2jbyaxby0j6f4m9xbm0ddpmbkrfj6rp6ll5sb97lcg3vrx"
+(build-system gnu-build-system)
+(arguments
+ `(#:tests? #f ; there are no tests
+   #:phases
+   (modify-phases %standard-phases
+ (add-after 'unpack 'enter-dir (lambda _ (chdir "server") #t))
+ (add-before
+  'configure 'autogen
+  (lambda _
+(zero? (system* "bash" "autogen.sh"
+ (add-after
+  'install 'install-lisp
+  (lambda* (#:key outputs #:allow-other-keys)
+(let ((target (string-append (assoc-ref outputs "out")
+ "/share/emacs/site-lisp/")))
+  (mkdir-p target)
+  (for-each
+   (lambda (file)
+ (copy-file file (string-append target (basename file
+   (find-files "../lisp" "^(pdf|tab).*\\.elc?"))
+
+  ;; Set path to epdfinfo program
+  (substitute* (string-append target "pdf-info.el")
+(("or load-file-name")
+ (string-append "or \""
+(string-append (assoc-ref outputs "out")
+   "/bin/")
+"\" load-file-name"
+#t)
+(native-inputs `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("pkg-config" ,pkg-config)))
+(inputs `(("poppler" ,poppler)
+  ("cairo" ,cairo)
+  ("glib" ,glib)
+  ("libpng" ,libpng)
+  ("zlib" ,zlib)))
+(synopsis "Emacs support library for PDF files")
+(description
+ "PDF Tools is, among other things, a replacement of DocView for PDF
+files.  The key difference is that pages are not pre-rendered by
+e.g. ghostscript and stored in the file-system, but rather created on-demand
+and stored in memory.")
+(home-page "https://github.com/politza/pdf-tools";)
+(license license:gpl3+)))
-- 
2.4.3





[PATCH] setbfree: Fix build on MIPS64

2015-07-05 Thread Ricardo Wurmus
The attached patch should fix the build of setbfree on MIPS64.  The
default value for OPTIMIZATIONS contains flags for x86 systems.

I have not tested this as I don’t have access to a MIPS64 system.

>From 87a5264e54d93cfd84b3c886e2d6ee5fbe69cce7 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus 
Date: Sun, 5 Jul 2015 20:40:56 +0200
Subject: [PATCH] gnu: setbfree: Disable unsupported optimizations on MIPS64.

* gnu/packages/music.scm (setbfree)[arguments]: Override default OPTIMIZATIONS
  variable on MIPS64.
---
 gnu/packages/music.scm | 7 ++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 9e7e012..8f49f04 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -424,7 +424,12 @@ Editor.  It is compatible with Power Tab Editor 1.7 and Guitar Pro.")
(list (string-append "PREFIX=" (assoc-ref %outputs "out"))
  (string-append "FONTFILE="
 (assoc-ref %build-inputs "font-bitstream-vera")
-"/share/fonts/truetype/VeraBd.ttf"))
+"/share/fonts/truetype/VeraBd.ttf")
+ ;; Disable unsupported optimization flags on MIPS64
+ ,@(if (string-prefix? "mips64" (or (%current-target-system)
+(%current-system)))
+   '("OPTIMIZATIONS=-ffast-math -fomit-frame-pointer -O3")
+   '()))
#:phases
(modify-phases %standard-phases
  (add-before 'build 'set-CC-variable
-- 
2.4.3



Re: [PATCH] gnu: Add rhythmbox.

2015-07-05 Thread Amirouche Boubekki

On 2015-07-05 19:45, Amirouche Boubekki wrote:

On 2015-07-05 17:28, David Hashe wrote:

Hi Ludo and Ricardo,

The 'uridecodebin' error is a result of GST_PLUGIN_SYSTEM_PATH not
being set. However, the recent patch to gstreamer adds that to its
native search paths, so that error should be resolved now on an
updated system. I had a line defining GST_PLUGIN_SYSTEM_PATH in my
.bashrc, but I was able to remove it after that patch was applied.
Rhythmbox is working without errors for me.

I've also realized that some of the packages I put under inputs should
probably be propagated inputs, so I'm attaching an updated patch which
changes that.

I am currently using guix over ubuntu.


I use GuixSD. I patched my guix git repository just after they were 
published.


It works, or more precisly it can work:

- I have the following in my .bashrc:

export GST_PLUGIN_SYSTEM_PATH=$HOME/.guix-profile/lib/gstreamer-1.0
export GRL_PLUGIN_PATH=$HOME/.guix-profile/lib/grilo-0.2

- Also I installed several gstreamer packages.

I only tried to play mp3 and ogg. Ogg works. I did not try burning 
audio cds.

I will try later today or tomorrow.


Both cd burning and ripping doesn't work:

- audio burn: the plugin appears in the list of plugins and can be 
activated. When activated it doesn't appear in the player UI to actually 
burn playlists

- ripping: no mention of it at all in the UI







Thanks,

David

On Sun, Jul 5, 2015 at 6:44 AM, Ricardo Wurmus 
wrote:


So, I applied the patch, built rhythmbox, and installed it into a
separate profile. It starts up fine and begins importing files

from

~/Music but I get a *lot* of import errors:

“Couldn’t create ‘uridecodebin’ element”

I see this for a great many ogg and mp3 files in my ~/Music

directory

under “Import Errors”. In fact, none of my audio files in

~/Music were

imported at all.




I used to have errors when I did not install gstreamer plugins.





Re: [PATCH] gnu: Add rhythmbox.

2015-07-05 Thread David Hashe
On Sun, Jul 5, 2015 at 2:24 PM, Amirouche Boubekki 
wrote:

> On 2015-07-05 19:45, Amirouche Boubekki wrote:
>
>> On 2015-07-05 17:28, David Hashe wrote:
>>
>>> Hi Ludo and Ricardo,
>>>
>>> The 'uridecodebin' error is a result of GST_PLUGIN_SYSTEM_PATH not
>>> being set. However, the recent patch to gstreamer adds that to its
>>> native search paths, so that error should be resolved now on an
>>> updated system. I had a line defining GST_PLUGIN_SYSTEM_PATH in my
>>> .bashrc, but I was able to remove it after that patch was applied.
>>> Rhythmbox is working without errors for me.
>>>
>>> I've also realized that some of the packages I put under inputs should
>>> probably be propagated inputs, so I'm attaching an updated patch which
>>> changes that.
>>>
>>> I am currently using guix over ubuntu.
>>>
>>
>> I use GuixSD. I patched my guix git repository just after they were
>> published.
>>
>> It works, or more precisly it can work:
>>
>> - I have the following in my .bashrc:
>>
>> export GST_PLUGIN_SYSTEM_PATH=$HOME/.guix-profile/lib/gstreamer-1.0
>> export GRL_PLUGIN_PATH=$HOME/.guix-profile/lib/grilo-0.2
>>
>> - Also I installed several gstreamer packages.
>>
>> I only tried to play mp3 and ogg. Ogg works. I did not try burning audio
>> cds.
>> I will try later today or tomorrow.
>>
>
mp3 support requires gst-plugins-ugly, which includes nonfree and
patent-encumbered codecs. More information at
http://gstreamer.freedesktop.org/modules/gst-plugins-ugly.html

As a side note, it appears that we do package some patent-encumbered
software, such as LAME, so I'm not sure what our stance is on software
patents themselves.


>
> Both cd burning and ripping doesn't work:
>
> - audio burn: the plugin appears in the list of plugins and can be
> activated. When activated it doesn't appear in the player UI to actually
> burn playlists
> - ripping: no mention of it at all in the UI
>

You're right. I don't usually use CDs, so I wasn't able to test it very
well. I'll try to figure out why this is.


>
>
>>
>>
>>
>>> Thanks,
>>>
>>> David
>>>
>>> On Sun, Jul 5, 2015 at 6:44 AM, Ricardo Wurmus 
>>> wrote:
>>>
>>>  So, I applied the patch, built rhythmbox, and installed it into a
>> separate profile. It starts up fine and begins importing files
>>
> from

> ~/Music but I get a *lot* of import errors:
>>
>> “Couldn’t create ‘uridecodebin’ element”
>>
>> I see this for a great many ogg and mp3 files in my ~/Music
>>
> directory

> under “Import Errors”. In fact, none of my audio files in
>>
> ~/Music were

> imported at all.
>>
>
>
> I used to have errors when I did not install gstreamer plugins.
>
>
>
My bad on saying that GST_PLUGIN_SYSTEM_PATH is not required; I resourced
my .bashrc but left the path in my environment. I'm currently using the
following variables to make things work:

export GST_PLUGIN_SYSTEM_PATH=/home/dhashe/.guix-profile/lib/gstreamer-1.0
# needed for importing music
export GIO_EXTRA_MODULES=/home/dhashe/.guix-profile/lib/gio/modules #
needed for playlist support

I don't have GRL_PLUGIN_PATH set yet because the patch adding grilo hasn't
been committed yet (grilo is also commented out in this patch) but you're
right that we will probably need it in the future.

I've also moved totem-pl-parser to propagated inputs for playlist support
in the attached, updated patch.

Thanks,
David
From e544b1d2e2689225d447ec38e3f41b44a6f9311b Mon Sep 17 00:00:00 2001
From: David Hashe 
Date: Sun, 5 Jul 2015 10:24:22 -0500
Subject: [PATCH] gnu: Add rhythmbox.

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

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 3882a7a..ffd83e8 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -2718,3 +2718,59 @@ the patterned block to the area bordered by green markers.  To do so, you will
 need to slide other blocks out of the way.  Complete each puzzle in as few moves
 as possible!")
 (license license:gpl2+)))
+
+(define-public rhythmbox
+ (package
+   (name "rhythmbox")
+   (version "3.2.1")
+   (source (origin
+(method url-fetch)
+(uri (string-append "mirror://gnome/sources/" name "/"
+(version-major+minor version) "/"
+name "-" version ".tar.xz"))
+(sha256
+ (base32
+  "0f3radhlji7rxl760yl2vm49fvfslympxrpm8497acbmbd7wlhxz"
+   (build-system glib-or-gtk-build-system)
+   (propagated-inputs
+`(("dconf" ,dconf)
+  ("gst-libav" ,gst-libav)
+  ("gst-plugins-base" ,gst-plugins-base)
+  ("gst-plugins-good" ,gst-plugins-good)
+  ("totem-pl-parser" ,totem-pl-parser)))
+   (native-inputs
+`(("intltool" ,intltool)
+  ("glib" ,glib "bin")
+  ("gobject-introspection" ,gobject-introspection)
+  ("pkg-confi

Re: "/build-aux" in ".gitignore" (was [PATCH] build: Generate 'AUTHORS'.)

2015-07-05 Thread Ludovic Courtès
Mathieu Lirzin  skribis:

> Alex Kost  writes:
>
>> Not related: I wonder is there a reason to ignore (in .gitignore) the
>> whole "build-aux" directory?  IIUC this led to commit 8bc35f8, right?
>
> As you have pointed out and to be more explicit about the context, the
> commit 8bc35f8 was introduced because of a falsely ignored file from
> "build-aux" directory, which should have be bundled with commit 9d3fb6c.

Right.

> IMO in order to avoid such mistakes, only specific files in "build-aux"
> dir should be added to ".gitignore".  I can send a patch to fix this (if
> everybody is OK with the change of course).  :)

I would gladly accept that.  :-)

Thanks,
Ludo’.



Re: [PATCH] build: Generate 'AUTHORS'.

2015-07-05 Thread Ludovic Courtès
Alex Kost  skribis:

> From 3f8c6b024b3df310f2076ff897af8169d45005da Mon Sep 17 00:00:00 2001
> From: Alex Kost 
> Date: Sat, 4 Jul 2015 12:27:26 +0300
> Subject: [PATCH] build: Generate 'AUTHORS'.
>
> * build-aux/generate-authors.scm: New file.
> * Makefile.am (gen-AUTHORS): New target.
>   (dist-hook, .PHONY): Add it.

Looks all right too me, please push.

Thanks!

Ludo’.



Re: [PATCH] setbfree: Fix build on MIPS64

2015-07-05 Thread Mark H Weaver
Ricardo Wurmus  writes:
> The attached patch should fix the build of setbfree on MIPS64.  The
> default value for OPTIMIZATIONS contains flags for x86 systems.

[...]

> diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
> index 9e7e012..8f49f04 100644
> --- a/gnu/packages/music.scm
> +++ b/gnu/packages/music.scm
> @@ -424,7 +424,12 @@ Editor.  It is compatible with Power Tab Editor 1.7 and 
> Guitar Pro.")
> (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
>   (string-append "FONTFILE="
>  (assoc-ref %build-inputs "font-bitstream-vera")
> -"/share/fonts/truetype/VeraBd.ttf"))
> +"/share/fonts/truetype/VeraBd.ttf")
> + ;; Disable unsupported optimization flags on MIPS64
> + ,@(if (string-prefix? "mips64" (or (%current-target-system)
> +(%current-system)))
> +   '("OPTIMIZATIONS=-ffast-math -fomit-frame-pointer -O3")
> +   '()))

Can you tell what would happen on ARM systems, or other systems?
Depending on the answer to that question, it might be better to invert
the conditional and override OPTIMIZATIONS on any non-Intel system.

> I have not tested this as I don’t have access to a MIPS64 system.

I can test it on MIPS and ARM, but I'll wait to hear back on my question
above.

Thanks!
  Mark



Re: Help with a basic GuixSD installation

2015-07-05 Thread Ludovic Courtès
Mark H Weaver  skribis:

> l...@gnu.org (Ludovic Courtès) writes:
>
>> "Claes Wallin (韋嘉誠)"  skribis:
>>
>>> So *that's* what the mysterious (title 'label) means!
>>
>> It’s not that mysterious:
>
> IMO, 'title' is a very confusing name for that field, because its value
> is not the title of anything, but rather determines how the value of the
> 'device' field will be interpreted.

Yeah, it’s not satisfying, but I didn’t have any better idea.

> However, to go a bit further: it would be great if all 'device' fields
> in the OS config used a consistent syntax for specifying devices by
> label or uuid.  I prefer to reference my swap partition by label, so I
> use "/dev/disk/by-label/…" in 'swap-partitions', but the lack of
> symmetry with 'file-system' grates on me.

Right, that’s a problem.

> Here's an idea: the values of device fields could be either strings or
> lists of the form:
>
>   (uuid "6f8ab…")
>   (label "foo")
>
> Thoughts?

What about a  data type?

  (device
(kind 'uuid)
(value "6f8ab…"))

Ludo’.



Re: cmake-build-system

2015-07-05 Thread Ludovic Courtès
Ricardo Wurmus  skribis:

> Attached is a patch for the cmake-build-system.  I have encountered a
> couple of applications that failed the validate-runpath phase because
> the RUNPATH was not set properly.
>
> I found that setting BUILD_WITH_INSTALL_RPATH=TRUE helped when the
> INSTALL_RPATH was also set to contain all inputs, like this:
>
>   (string-append "-DCMAKE_INSTALL_RPATH="
>  (string-join (map (match-lambda
>  ((name . directory)
>   (string-append directory "/lib")))
>%build-inputs) ";"))

Ideally we would never have to do this because ld-wrapper is supposed to
take care of that.

This is in powertabeditor, right?  What happens if you build it without
this and with VERBOSE=1 (as a ‘make’ variable) and
GUIX_LD_WRAPPER_DEBUG=1 (environment variable)?  I would like to see
where the -rpath get lost or overwritten.

> The attached patch only adds BUILD_WITH_INSTALL_RPATH=TRUE.  I’m not
> sure if this is sufficient, but I think it is actually a requirement.

Unfortunately CMake has complex RPATH handling and it seems to resist
us.  It would be good to see, taking powertabeditor as an example, how
we can achieve better results.  I don’t know whether
BUILD_WITH_INSTALL_RPATH=TRUE is necessary, but I think we must first
better understand what’s going on.

Thank you,
Ludo’.



Re: Help with a basic GuixSD installation

2015-07-05 Thread Evan Rowley
I like Ludovic's idea is going in the right direction.

On Sun, Jul 5, 2015 at 6:33 PM, Ludovic Courtès  wrote:
> Mark H Weaver  skribis:
>
>> l...@gnu.org (Ludovic Courtès) writes:
>>
>>> "Claes Wallin (韋嘉誠)"  skribis:
>>>
 So *that's* what the mysterious (title 'label) means!
>>>
>>> It’s not that mysterious:
>>
>> IMO, 'title' is a very confusing name for that field, because its value
>> is not the title of anything, but rather determines how the value of the
>> 'device' field will be interpreted.
>
> Yeah, it’s not satisfying, but I didn’t have any better idea.
>
>> However, to go a bit further: it would be great if all 'device' fields
>> in the OS config used a consistent syntax for specifying devices by
>> label or uuid.  I prefer to reference my swap partition by label, so I
>> use "/dev/disk/by-label/…" in 'swap-partitions', but the lack of
>> symmetry with 'file-system' grates on me.
>
> Right, that’s a problem.
>
>> Here's an idea: the values of device fields could be either strings or
>> lists of the form:
>>
>>   (uuid "6f8ab…")
>>   (label "foo")
>>
>> Thoughts?
>
> What about a  data type?
>
>   (device
> (kind 'uuid)
> (value "6f8ab…"))
>
> Ludo’.
>



-- 
 - EJR



Re: cmake-build-system

2015-07-05 Thread Ricardo Wurmus

Ludovic Courtès  writes:

>> I found that setting BUILD_WITH_INSTALL_RPATH=TRUE helped when the
>> INSTALL_RPATH was also set to contain all inputs, like this:
>>
>>   (string-append "-DCMAKE_INSTALL_RPATH="
>>  (string-join (map (match-lambda
>>  ((name . directory)
>>   (string-append directory "/lib")))
>>%build-inputs) ";"))
>
> Ideally we would never have to do this because ld-wrapper is supposed to
> take care of that.
>
> This is in powertabeditor, right?  What happens if you build it without
> this and with VERBOSE=1 (as a ‘make’ variable) and
> GUIX_LD_WRAPPER_DEBUG=1 (environment variable)?  I would like to see
> where the -rpath get lost or overwritten.

This is in powertabeditor and shogun, and possibly yet another package I
had been working on which I cannot find at the moment.  I can try with
the suggested settings to see where the rpath gets lots.

>> The attached patch only adds BUILD_WITH_INSTALL_RPATH=TRUE.  I’m not
>> sure if this is sufficient, but I think it is actually a requirement.
>
> Unfortunately CMake has complex RPATH handling and it seems to resist
> us.  It would be good to see, taking powertabeditor as an example, how
> we can achieve better results.  I don’t know whether
> BUILD_WITH_INSTALL_RPATH=TRUE is necessary, but I think we must first
> better understand what’s going on.

Okay, I’ll try the above some time and try to figure out what’s going
on, then report back.

~~ Ricardo




Re: [PATCH] setbfree: Fix build on MIPS64

2015-07-05 Thread Ricardo Wurmus
Attached is a new patch, leaving the optimizations unaltered only on
i686 and x86_64.

>From 50536b6e40eed40822b65aba2c296809e5bfbc1e Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus 
Date: Sun, 5 Jul 2015 20:40:56 +0200
Subject: [PATCH] gnu: setbfree: Disable unsupported optimizations on non-x86.

* gnu/packages/music.scm (setbfree)[arguments]: Override default OPTIMIZATIONS
  variable on non-x86 systems.
---
 gnu/packages/music.scm | 9 -
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 9e7e012..13ddd8b 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -424,7 +424,14 @@ Editor.  It is compatible with Power Tab Editor 1.7 and Guitar Pro.")
(list (string-append "PREFIX=" (assoc-ref %outputs "out"))
  (string-append "FONTFILE="
 (assoc-ref %build-inputs "font-bitstream-vera")
-"/share/fonts/truetype/VeraBd.ttf"))
+"/share/fonts/truetype/VeraBd.ttf")
+ ;; Disable unsupported optimization flags on non-x86
+ ,@(let ((system (or (%current-target-system)
+ (%current-system
+ (if (or (string-prefix? "x86_64" system)
+ (string-prefix? "i686" system))
+ '()
+ '("OPTIMIZATIONS=-ffast-math -fomit-frame-pointer -O3"
#:phases
(modify-phases %standard-phases
  (add-before 'build 'set-CC-variable
-- 
2.4.3



[PATCH] scripts: substitute: Avoid infinite looping when updating the substitute list

2015-07-05 Thread Andy Patterson
Hi,

I was having trouble using substitutes, so I decided to investigate it.
I found out that when retrieving the batch of .narinfo files from the
server, my connection was always being closed after the first response.
Therefore, I would always be reconnecting to the server with every
request in the batch still to process, and this reconnecting would be
repeated infinitely, or at least until my Internet went down. Based on
the documentation for the "connection: close" header, I think that this
first response should be complete, so we can use it. Maybe I'm wrong;
I'm not totally familiar with how http works.

I also considered ensuring that a good response code was received, but
the handler deals with error response codes as well, so it seemed
superfluous.

This patch will make use of the last response from the server, before
reconnecting to try the next one. With it I was able to successfully
build and run links.

Let me know if my understanding is off, or if there's a better approach.

Thanks,

Andy
>From 633c491e2dad4c3a70eb045177c17bd2552d63f3 Mon Sep 17 00:00:00 2001
From: Andy Patterson 
Date: Sun, 5 Jul 2015 19:34:05 -0400
Subject: [PATCH] scripts: substitute: Avoid infinite looping when updating the
 substitute list

* guix/scripts/substitute.scm (http-multiple-get): Make use of the current
  response before reconnecting.
---
 guix/scripts/substitute.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/guix/scripts/substitute.scm b/guix/scripts/substitute.scm
index 8b4fa36..e767d0f 100755
--- a/guix/scripts/substitute.scm
+++ b/guix/scripts/substitute.scm
@@ -468,8 +468,9 @@ to read the response body.  Return the list of results."
  ;; case we have to try again.  Check whether that is the case.
  (match (assq 'connection (response-headers resp))
(('connection 'close)
-(close-port p)
-(connect requests result));try again
+(let ((first-result (proc head resp body)))
+  (close-port p)
+  (connect tail (cons first-result result ;try again
(_
 (loop tail;keep going
   (cons (proc head resp body) result)))
-- 
2.4.5