Re: [PATCH v2] gnu: Add taskwarrior.

2015-03-12 Thread Tomáš Čech

On Fri, Mar 13, 2015 at 01:57:01AM +0100, Tomáš Čech wrote:

* gnu/packages/task.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add new file here.
---
gnu-system.am |  1 +
gnu/packages/task.scm | 68 +++
2 files changed, 69 insertions(+)
create mode 100644 gnu/packages/task.scm

diff --git a/gnu-system.am b/gnu-system.am
index 2175605..f4c92dd 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -273,6 +273,7 @@ GNU_SYSTEM_MODULES =\
  gnu/packages/swig.scm \
  gnu/packages/sxiv.scm \
  gnu/packages/synergy.scm  \
+  gnu/packages/task.scm\
  gnu/packages/tbb.scm  \
  gnu/packages/tcl.scm  \
  gnu/packages/tcsh.scm \
diff --git a/gnu/packages/task.scm b/gnu/packages/task.scm
new file mode 100644
index 000..d643146
--- /dev/null
+++ b/gnu/packages/task.scm
@@ -0,0 +1,68 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Tomáš Čech 
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see .
+
+(define-module (gnu packages task)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages gnutls)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages lua)
+  #:use-module (guix download)
+  #:use-module (guix build-system cmake)
+  )
+
+(define-public taskwarrior
+  (package
+(name "taskwarrior")
+(version "2.4.1")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "http://taskwarrior.org/download/task-"; version ".tar.gz"))
+   (sha256 (base32
+"1qn2jwskrkqg3lszkcd37h06j4a1spfkr8z9yq17p59r8v34h3nr"
+(build-system cmake-build-system)
+(inputs
+ `(("util-linux" ,util-linux)
+   ("gnutls" ,gnutls)
+   ("lua" ,lua)
+   ("coreutils" ,coreutils)))
+(arguments
+ `(#:tests? #f ; skip tests
+   #:phases
+   (alist-cons-before
+'patch-source-shebangs 'remove-broken-symlinks
+(lambda _
+  ;; these files are broken symlinks - lets just delete them
+  (delete-file "src/cal")
+  (delete-file "src/calendar")
+  (delete-file "src/tw"))
+%standard-phases))


Here is missing one parenthesis ')'.

S_W


pgpy61HWa4hbE.pgp
Description: PGP signature


Corrupt input while restoring file

2015-03-12 Thread David Thompson
Hello,

I'm trying to get my WIP 'guix publish' script to work again and 'guix
substitute-binary' throws a nar error after downloading from my server.

Take this for example:

guix substitute-binary --substitute 
/gnu/store/z8kf6hgln4a7xf68pdnlibl3vcg5rl15-ruby-2.2.1 /tmp/foobar

This store item is 39.7MiB uncompressed, but Guix tries to read a 162MiB
file out of it!

Here's the output of some quick debugging statements I inserted into
'get-bytevector-n*' in (guix serialization):

;;; (count 170068601)

;;; (eof? #f)

;;; (length]
4050: 16 [#]
1724: 15 [%start-stack load-stack #]
1729: 14 [#]
In unknown file:
   ?: 13 [primitive-load "/home/dave/Code/guix/scripts/guix"]
In guix/ui.scm:
 849: 12 [run-guix-command substitute-binary "--substitute" ...]
In ice-9/boot-9.scm:
 157: 11 [catch getaddrinfo-error ...]
 157: 10 [catch srfi-34 # ...]
 157: 9 [catch system-error ...]
In guix/scripts/substitute-binary.scm:
 767: 8 [#]
In guix/serialization.scm:
 331: 7 [restore-file # 
"/tmp/foobar"]
 365: 6 [restore "/tmp/foobar"]
 365: 5 [restore "/tmp/foobar/bin"]
 333: 4 [restore "/tmp/foobar/bin/irb"]
 127: 3 [read-string #]
 119: 2 [read-byte-string #]
  78: 1 [get-bytevector-n* # 
...]
In unknown file:
   ?: 0 [scm-error misc-error #f "~A" ("foo") #f]

ERROR: In procedure scm-error:
ERROR: foo

I'm just not sure what's going on here.  'guix publish' simply uses
'write-file' to dump store items into an HTTP response.

Does anyone have an idea what might be going on?

Thanks!

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



taskwarrior

2015-03-12 Thread Tomáš Čech
I prepared taskwarrior package in new file gnu/packages/task.scm since I
couldn't find better place. But I'm taking advices.

Thanks in advance for review

S_W





[PATCH v2] gnu: Add taskwarrior.

2015-03-12 Thread Tomáš Čech
* gnu/packages/task.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add new file here.
---
 gnu-system.am |  1 +
 gnu/packages/task.scm | 68 +++
 2 files changed, 69 insertions(+)
 create mode 100644 gnu/packages/task.scm

diff --git a/gnu-system.am b/gnu-system.am
index 2175605..f4c92dd 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -273,6 +273,7 @@ GNU_SYSTEM_MODULES =\
   gnu/packages/swig.scm\
   gnu/packages/sxiv.scm\
   gnu/packages/synergy.scm \
+  gnu/packages/task.scm\
   gnu/packages/tbb.scm \
   gnu/packages/tcl.scm \
   gnu/packages/tcsh.scm\
diff --git a/gnu/packages/task.scm b/gnu/packages/task.scm
new file mode 100644
index 000..d643146
--- /dev/null
+++ b/gnu/packages/task.scm
@@ -0,0 +1,68 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Tomáš Čech 
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see .
+
+(define-module (gnu packages task)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages gnutls)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages lua)
+  #:use-module (guix download)
+  #:use-module (guix build-system cmake)
+  )
+
+(define-public taskwarrior
+  (package
+(name "taskwarrior")
+(version "2.4.1")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "http://taskwarrior.org/download/task-"; version ".tar.gz"))
+   (sha256 (base32
+"1qn2jwskrkqg3lszkcd37h06j4a1spfkr8z9yq17p59r8v34h3nr"
+(build-system cmake-build-system)
+(inputs
+ `(("util-linux" ,util-linux)
+   ("gnutls" ,gnutls)
+   ("lua" ,lua)
+   ("coreutils" ,coreutils)))
+(arguments
+ `(#:tests? #f ; skip tests
+   #:phases
+   (alist-cons-before
+'patch-source-shebangs 'remove-broken-symlinks
+(lambda _
+  ;; these files are broken symlinks - lets just delete them
+  (delete-file "src/cal")
+  (delete-file "src/calendar")
+  (delete-file "src/tw"))
+%standard-phases))
+(home-page "http://taskwarrior.org";)
+(synopsis
+ "Command line task manager")
+(description
+ "Taskwarrior is mature command line task manager following Getting Things
+Done time management method.  It supports network synchronization, filtering
+and quering data, exposing task data in multiple formats to other tools which
+allowed to create healthy ecosystem of tools using taskwarrior.")
+;; Taskwarrior is licensed under MIT license, which is identical to
+;; Expat License
+(license license:expat)))
-- 
2.2.1




update of openconnect

2015-03-12 Thread Tomáš Čech
It seems that openssl version is from openconnect POV broken and as they
recommended to switch to gnutls I did the change.

Is anyone against this change?

S_W



[PATCH] gnu: openconnect: Update to 7.05.

2015-03-12 Thread Tomáš Čech
* gnu/packages/vpn.scm (openconnect): Update to 7.05, replace openssl with
  gnutls.
---
 gnu/packages/vpn.scm | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm
index 9ff8b638..5883f99 100644
--- a/gnu/packages/vpn.scm
+++ b/gnu/packages/vpn.scm
@@ -27,6 +27,7 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages gnupg)
+  #:use-module (gnu packages gnutls)
   #:use-module (gnu packages openssl)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
@@ -95,17 +96,17 @@ Only \"Universal TUN/TAP device driver support\" is needed 
in the kernel.")
 (define-public openconnect
   (package
(name "openconnect")
-   (version "4.99")
+   (version "7.05")
(source (origin
 (method url-fetch)
 (uri (string-append "ftp://ftp.infradead.org/pub/openconnect/";
 "openconnect-" version ".tar.gz"))
 (sha256 (base32
- "1rd8pap455wzkx19i0sy3cqap524b6fwcjvqynxp6lhm01di4bd6"
+ "1i102yr8yp2ny587n6pd966443h1pqxyw5q0n5afq575046jj98g"
(build-system gnu-build-system)
(inputs
 `(("libxml2" ,libxml2)
-  ("openssl" ,openssl)
+  ("gnutls" ,gnutls)
   ("vpnc" ,vpnc)
   ("zlib" ,zlib)))
(native-inputs
-- 
2.2.1




Re: 01/01: gnu: vlc: Update to 2.2.0

2015-03-12 Thread Mark H Weaver
Andreas Enge  writes:

> I have investigated a bit more why the vlc-2.2.0 build fails. I think it is
> due to
> /* DVB Card Drivers */
> #include 
> #include 
> #include 
> in modules/access/dvb/linux_dvb.c.
>
> The include files come from linux-libre-headers, which we have in
> version 3.3.8. Could this be updated? In master or core-updates?

It would trigger a full rebuild, so it would have to be done in
core-updates.

  Mark



Re: Libreoffice building (sort of)

2015-03-12 Thread Mark H Weaver
白い熊@相撲道  writes:

> On 2015-03-11 20:17, Mark H Weaver wrote:
>> When you run "/path/to/git/checkout/pre-inst-env guix ..." then it will
>> always use the package descriptions from the git checkout.  This is
>> what
>> I *always* do.  In fact, to make this easier, I put this script in
>> ~/bin/guix:
>>
>> --8<---cut here---start->8---
>> #!/bin/sh
>>
>> exec /home/mhw/guix/pre-inst-env guix "$@"
>> --8<---cut here---end--->8---
>>
>> Also note that when 'pre-inst-env' is used,
>> $HOME/.config/guix/latest is
>> always ignored, so anything you've done with 'guix pull' is irrelevant.
>
> So, if I understand correctly, I'd make the git version, but not make
> install it. Then running `pre-inst-env guix' this will use definitions
> from the git pull...

Yes, that's right.

> What about the store? Should I configure it with --localstatedir set
> to /var when building the git version?

Indeed, that is important.  You'll also need to pass
--with-libgcrypt-prefix=$(guix build libgcrypt | head -1)

  Mark



Re: Libreoffice building (sort of)

2015-03-12 Thread 白い熊@相撲道

On 2015-03-11 20:17, Mark H Weaver wrote:

When you run "/path/to/git/checkout/pre-inst-env guix ..." then it will
always use the package descriptions from the git checkout.  This is 
what

I *always* do.  In fact, to make this easier, I put this script in
~/bin/guix:

--8<---cut here---start->8---
#!/bin/sh

exec /home/mhw/guix/pre-inst-env guix "$@"
--8<---cut here---end--->8---

Also note that when 'pre-inst-env' is used, $HOME/.config/guix/latest 
is

always ignored, so anything you've done with 'guix pull' is irrelevant.


So, if I understand correctly, I'd make the git version, but not make 
install it. Then running `pre-inst-env guix' this will use definitions 
from the git pull...


What about the store? Should I configure it with --localstatedir set to 
/var when building the git version?

--
白い熊@相撲道



[PATCH v2] gnu: Add tig.

2015-03-12 Thread Tomáš Čech
* gnu/packages/version-control.scm (tig): New variable.
---
 gnu/packages/version-control.scm | 26 ++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 7434ed9..081d84d 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -46,6 +46,7 @@
   #:use-module (gnu packages linux)
 ;;   #:use-module (gnu packages gnutls)
   #:use-module (gnu packages nano)
+  #:use-module (gnu packages ncurses)
   #:use-module (gnu packages openssl)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
@@ -778,3 +779,28 @@ changes back into the master source of the program, with 
as little disruption
 as possible.  Resolution of contention for source files, a major headache for
 any project with more than one developer, is one of Aegis's major functions.")
 (license gpl3+)))
+
+(define-public tig
+  (package
+(name "tig")
+(version "2.1")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"http://jonas.nitro.dk/tig/releases/tig-";
+version ".tar.gz"))
+  (sha256
+   (base32
+"1c1w6w39a1dwx4whrg0ga1mhrlz095hz875z7ajn6xgmhkv8fqih"
+(build-system gnu-build-system)
+(inputs
+ `(("ncurses" ,ncurses)))
+(arguments
+ `(#:tests? #f)) ; no tests implemented
+(home-page "http://jonas.nitro.dk/tig/";)
+(synopsis "Ncurses-based text user interface for Git")
+(description
+ "Tig is an ncurses text user interface for Git, primarily intended as
+a history browser.  It can also stage hunks for commit, or colorize the
+output of the 'git' command.")
+(license gpl2+)))
-- 
2.2.1




Re: [PATCH] gnu: Add s2tc.

2015-03-12 Thread Taylan Ulrich Bayırlı/Kammer
Please postpone reviewing this!  (Sorry if I wasted anyone's time.)

I was planning to do all the dlopen() patching later on in one commit,
but realized that it means I will be adding a phase lambda that
references the 's2tc' input, after which the 'mesa-without-s2tc' package
breaks because it simply inherits from the full 'mesa' package.  (I
would have to hackishly take out that lambda from the phases again to
make it work...)

I'm pondering on a solution using a much more minimal 'mesa-for-s2tc'
package.  I might even get away with only installing the libGL headers
in the output of that package, without doing any compilation at all,
since I think s2tc needs only the headers...

Taylan



Re: 01/01: gnu: vlc: Update to 2.2.0

2015-03-12 Thread Andreas Enge
Hello,

I have investigated a bit more why the vlc-2.2.0 build fails. I think it is
due to
/* DVB Card Drivers */
#include 
#include 
#include 
in modules/access/dvb/linux_dvb.c.

The include files come from linux-libre-headers, which we have in
version 3.3.8. Could this be updated? In master or core-updates?

Andreas




Re: [PATCHES] Fix samba rpaths, add mplayer2

2015-03-12 Thread Taylan Ulrich Bayırlı/Kammer
Thanks for the review; I pushed the samba fix but will postpone mplayer2
until I've fixed mesa, because it also suffers from that dlopen issue.

Taylan



Re: [PATCH] gnu: Add tig.

2015-03-12 Thread Ludovic Courtès
Tomáš Čech  skribis:

> * gnu/packages/version-control.scm (tig): New variable.

[...]

> +(arguments
> + `(#:phases
> +   (alist-delete 'check %standard-phases)))

Rather “#:tests? #f” with a comment explaining why this is done (lack of
test suite?).

> +(synopsis "ncurses-based text-mode for GIT")

“Ncurses-based text user interface for Git”

> +(description
> + "Tig is ncurses TUI for GIT, primary intended as history browser but can
> +stage chunks for commit or colorize any GIT output.")

A few typos:  “Tig is an ncurses text user interface for Git, primarily
intended as a history browser.  It can also stage hunks for commit, or
colorize the output of the 'git' command.”

> +(license gpl2)))

GPLv2-only?

Could you send an updated patch?

Thanks,
Ludo’.



Re: zsh and fish missed in /etc/shells?

2015-03-12 Thread Ludovic Courtès
Axel  skribis:

> Well, I modified the patch and now it just trivially add paths for
> fish, tcsh and zsh.
>
> For example Debian has add-shell/remove-shell scripts triggered on
> package installing and removing. FTP servers like proftpd by default
> check for installed shells and with this patch they will allow for a
> user shells that don't really exist in a system. Probably it is not a
> problem though.

I think it’s fine.

> I noted in a changelog what we add paths unconditionally.

I moved this explanation as a comment in the code itself; we only
mention in change logs the actual changes, and explanations usually go
to comments (info "(standards) Change Logs").

> From d17569a3b3f00066531361b9f29b840be2444982 Mon Sep 17 00:00:00 2001
> From: "Alexander I.Grafov (Axel)" 
> Date: Wed, 11 Mar 2015 15:17:24 +0300
> Subject: [PATCH] system: Add fish/tcsh/zsh to /etc/shells
>
> * gnu/system.scm (etc-directory): Add fish, tcsh and zsh paths
>   to /etc/shells. We don't check that these shells really installed.

Applied, thanks!

Ludo’.



Re: [PATCH] A little typo in gnu/system.scm

2015-03-12 Thread Ludovic Courtès
Axel  skribis:

> Name 'operating-system-packages' declared twice in export list in the
> gnu/system.scm. I think it is a typo. Isn't it?

Indeed!  Applied, thanks.

Ludo’.



Re: [PATCH] gnu: Add isync.

2015-03-12 Thread Ludovic Courtès
Tomáš Čech  skribis:

> * gnu/packages/mail.scm (isync): New variable.

[...]

> +(source
> + (origin
> +   (method url-fetch)
> +   (uri (string-append
> + "http://downloads.sourceforge.net/project/isync/isync/";
> + version "/isync-" version ".tar.gz"))

Please use mirror://sourceforge instead.

> +(synopsis
> + "Mailbox synchronization program")

Can fit in one line.

> +(description
> + "isync/mbsync is command line tool for two way synchronization of

“two-way”

> +(license gpl2)))

GPLv2-only?  Do file headers have the “or later” wording?

OK to push with these changes.

Thanks,
Ludo’.



Re: [PATCHES] Fix samba rpaths, add mplayer2

2015-03-12 Thread Ludovic Courtès
taylanbayi...@gmail.com (Taylan Ulrich "Bayırlı/Kammer") skribis:

> I could "manually" try to find out which of the bug reports are closed
> by this, but I guess the smartest approach is to push the patch, wait
> for the build farm to rebuild all samba-depending packages, do a "guix
> package -u", "guix package -d " and "guix gc" to prune the
> old versions from the store, then reuse my method to find all the
> dangling .so references in my store and see which ones disappeared.

Yes, makes sense.

> From 2cc56efd1cb7c6cfee6ed216d559780529dfb111 Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?=
>  
> Date: Tue, 10 Mar 2015 19:37:57 +0100
> Subject: [PATCH 1/2] gnu: samba: Augment dynamic library rpaths.
>
> * gnu/packages/samba.scm (samba): Augment the rpath of files in lib/ in
>   addition to those in bin/ and sbin/.

OK.  (Not related, but I noticed that Samba has weird sub-directories in
its $prefix, such as private/ and swat/, and var/ shouldn’t be here.)

> From 817afcaf698658fcba9750521a17e54ec5665986 Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?=
>  
> Date: Wed, 4 Mar 2015 16:29:08 +0100
> Subject: [PATCH 2/2] gnu: Add mplayer2.
>
> * gnu/packages/video.scm (mplayer2): New variable.
> * gnu/packages/patches/mplayer2-theora-fix.patch: New file.
> * gnu-system.am (dist_patch_DATA): Add it.

LGTM.

Thanks!

Ludo’.



Re: [PATCH 2/2] services: slim: Pass SESSION to ~/.xsession as "$1".

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

> * gnu/services/xorg.scm (xinitrc)[builder]: Pass SESSION to ~/.xsession.

OK!

Ludo’.



Re: [PATCH 1/2] services: slim: Allow non-absolute path to be used as session command.

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

> * gnu/services/xorg.scm (xinitrc)[builder]: Don't check the existence
>   of COMMAND.  Only run ~/.xsession when it exists.

[...]

> +(let* ((home (getenv "HOME"))
> +   (xsession-file (string-append home "/.xsession"))
> +   (session (match (command-line)
> +  ((_ x) x)
> +  (_ #$fallback-session

Could you align the right-hand sides of the ‘let*’?

> +  (if (file-exists? xsession-file)
> +  ;; Run ~/.xsession when it exists.
> +  (exec-from-login-shell xsession-file)

This will fail if ~/.xsession is not executable.  It could use
‘executable-file?’ from (guix build utils), but OTOH it may be better to
just fail in this case since it’s most likely a user error.

Thoughts?

Thanks,
Ludo’.



Re: [PATCH 1/2] services: slim: Use /run/current-system/profile/share/xsessions as sessiondir.

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

> 2015-03-10 16:46 GMT+08:00 Ludovic Courtès :
>> 宋文武  skribis:
>>
>>> * gnu/services/xorg.scm (, %windowmaker-session-type)
>>>   (%ratposion-session-type, %sawfish-session-type, %default-xsessions)
>>>   (xsessions-directory): Remove.
>>>   (slim-service): Remove #:sessions parameter.
>>>   [slim.cfg]: Use /run/current-system/profile/share/xsessions as sessiondir.
>>> * doc/guix.texi : Adjust accordingly.
>>
>> [...]
>>
>>> -(define (xsessions-directory sessions)
>>> -  "Return a directory containing SESSIONS, a list of  
>>> objects.
>>> -The alphabetical order of the files in that directory match the order of 
>>> the
>>> -elements in SESSIONS."
>>
>> This patch looks like a desirable simplification.  However, we would
>> lose the ability to specify the order in which sessions are presented to
>> the user (added in commit a21b23d3.)
>>
>> Any idea how we could preserve that property?
> Have no idea here, since now xsession files are unmodified,
> and login managers usually choose the order alphabetical.
>
> But other login managers (eg: lightdm) will remember the lasted
> select session.  (If this helps :-)

OK.  So please push, with the understanding that you’re encouraged to
add lightdm and/or GDM support.  :-)

Thank you,
Ludo’.



Fix for non-interactive SSH sessions

2015-03-12 Thread Ludovic Courtès
FYI 9a10acc fixes a bug when running a non-interactive SSH session to a
GuixSD machine (running lshd), as in:

  ssh localhost uname

Before, this would result in “command not found” because $PATH would be
left uninitialized.  Now there’s a ha^W special trick in the .bashrc
skeleton to handle this use case:

  if [ -n "$SSH_CLIENT" -a -z "`type -P cat`" ]
  then
  # We are being invoked from a non-interactive SSH session
  # (as in "ssh host command") but 'cat' cannot be found
  # in $PATH.  Source /etc/profile so we get $PATH and other
  # essential variables.
  source /etc/profile
  fi

You may want to copy this to your ~/.bashrc.

Ludo’.



Re: The physical host for hydra.gnu.org is down!

2015-03-12 Thread Ludovic Courtès
hydra.gnu.org should be back up now.  Big thanks to Lisa and everyone
involved at the FSF, because it was apparently no fun!

Note that substitution will be slow at the beginning as the nginx cache
is being re-populated.

Ludo’.


signature.asc
Description: PGP signature


Re: Merging wip-libreoffice

2015-03-12 Thread Ludovic Courtès
Andreas Enge  skribis:

> On Thu, Mar 12, 2015 at 10:25:24AM +0100, Ludovic Courtès wrote:
>> Excellent.  I think we must rebase this branch atop master, review the
>> changes, and merge it.
>
> I am not sure how "clean" the commits in this branch are; I always thought
> it was just an experimental branch, and that we would take the resulting
> libreoffice.scm and add it in a single commit.
>
> I am willing to have a look at it during the weekend.

Great.  If the commits need to be combined or tweaked, let’s just
do that.

Thanks,
Ludo’.



[PATCH] Add bwa.

2015-03-12 Thread Ricardo Wurmus
Hi Guix,

here's a patch for an aligner tool:

>From 6c03af7501c53c06a808906ce7d4fbd431bbf1ba Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus 
Date: Thu, 12 Mar 2015 12:35:14 +0100
Subject: [PATCH] gnu: Add bwa.

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

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 22ce71b..67326aa 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -238,6 +238,53 @@ gapped, local, and paired-end alignment modes.")
 (supported-systems '("x86_64-linux"))
 (license license:gpl3+)))
 
+(define-public bwa
+  (package
+(name "bwa")
+(version "0.7.12")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "mirror://sourceforge/bio-bwa/bwa-"
+  version ".tar.bz2"))
+  (sha256
+   (base32
+"1330dpqncv0px3pbhjzz1gwgg39kkcv2r9qp2xs0sixf8z8wl7bh"
+(build-system gnu-build-system)
+(arguments
+ '(#:tests? #f ;no "check" target
+   #:phases
+   (alist-replace
+'install
+(lambda* (#:key outputs #:allow-other-keys)
+  (let ((bin (string-append
+  (assoc-ref outputs "out") "/bin"))
+(doc (string-append
+  (assoc-ref outputs "out") "/share/doc/bwa"))
+(man (string-append
+  (assoc-ref outputs "out") "/share/man/man1")))
+(mkdir-p bin)
+(mkdir-p doc)
+(mkdir-p man)
+(copy-file "bwa" (string-append bin "/bwa"))
+(copy-file "README.md" (string-append doc "/README.md"))
+(copy-file "bwa.1" (string-append man "/bwa.1"
+;; no "configure" script
+(alist-delete 'configure %standard-phases
+(inputs `(("zlib" ,zlib)))
+(home-page "http://bio-bwa.sourceforge.net/";)
+(synopsis "Burrows-Wheeler aligner")
+(description
+ "BWA is a software package for mapping low-divergent sequences against a
+large reference genome, such as the human genome.  It consists of three
+algorithms: BWA-backtrack, BWA-SW and BWA-MEM.  The first algorithm is
+designed for Illumina sequence reads up to 100bp, while the rest two for
+longer sequences ranged from 70bp to 1Mbp.  BWA-MEM and BWA-SW share similar
+features such as long-read support and split alignment, but BWA-MEM, which is
+the latest, is generally recommended for high-quality queries as it is faster
+and more accurate.  BWA-MEM also has better performance than BWA-backtrack for
+70-100bp Illumina reads.")
+(license license:gpl3)))
+
 (define-public clipper
   (package
 (name "clipper")
-- 
2.1.0


The license is really just GPLv3; there are no license headers in the
files that would imply otherwise and the only mention of the GPLv3 is in
the README.

~~ Ricardo


Re: Merging wip-libreoffice

2015-03-12 Thread Andreas Enge
On Thu, Mar 12, 2015 at 10:25:24AM +0100, Ludovic Courtès wrote:
> Excellent.  I think we must rebase this branch atop master, review the
> changes, and merge it.

I am not sure how "clean" the commits in this branch are; I always thought
it was just an experimental branch, and that we would take the resulting
libreoffice.scm and add it in a single commit.

I am willing to have a look at it during the weekend.

Andreas




Re: Libreoffice building (sort of)

2015-03-12 Thread Mark H Weaver
白い熊@相撲道  writes:

> On 2015-03-11 17:34, Mark H Weaver wrote:
>> What you've done is to roll back your Guix to the 4-month-old
>> version of
>> Guix that the 'wip-libreoffice' branch was based on.
>>
>> The proper way would be to use 'git' to rebase that branch on our
>> current master branch, and then use that.  "guix pull" can't do that.
>>
>>> I'm asking this as I see a different behavior now
>>> with `guix package -d' and `-i' for other packages now than before,
>>> and a lot of building from source.
>>
>> That's probably because Hydra has long ago deleted the binaries from 4
>> months ago.
>
> Thanks a lot for this confirmation Mark, I suspected something like
> this must have happened when I saw the sourcebuilding...
>
> How best to proceed from here to:
> - get back to current master
> - keep the built libreoffice in the store
>
> I had an idea that pulling the current master from the downloaded file
> will bring me forward again, but doesn't seem it happened - still
> building from source.

A plain "guix pull", should bring you forward again, but now there's a
different problem: hydra.gnu.org is currently down.  Hopefully it'll be
back up soon.

After "guix pull", you'll also need to use "guix package -i" to bring
back the new versions of any packages you had installed while using the
wip-libreoffice branch.

Also, if you had run "guix system reconfigure" while you were on the
wip-libreoffice branch, then you should run that command again to get
back to the latest software.

> I don't use Guix from git, this is the GuixSD installed as a clean
> system from USB. Is there no other way now than to clone the git guix,
> build it an rebase?

If you want to merge two different branches of our git repository, then
'git' is the right tool for that job.

> How will it interact with the GuixSD version of the tools?

'guix pull' populates $HOME/.config/guix/latest (or
$XDG_CONFIG_HOME/guix/latest if XDG_CONFIG_HOME is set).  Other 'guix'
commands look in that directory and use the package descriptions found
there.

So, assumes your environment variables are set sanely, if you ran

  guix pull --url=file:///path/to/wip-libreoffice.tar.gz

as user 'foo', then only 'guix' commands run as user 'foo' will use
packages from the wip-libreoffice branch.  Other users running 'guix'
would not be affected.

> Isn't this going to lead to more conflicts? How do I insure
> the git guix will take precedende - just make sure to run local
> commands only from the git build directory?

When you run "/path/to/git/checkout/pre-inst-env guix ..." then it will
always use the package descriptions from the git checkout.  This is what
I *always* do.  In fact, to make this easier, I put this script in
~/bin/guix:

If you want to merge two different branches of our git repository, then
'git' is the right tool for that job.

> How will it interact with the GuixSD version of the tools?

'guix pull' populates $HOME/.config/guix/latest (or
$XDG_CONFIG_HOME/guix/latest if XDG_CONFIG_HOME is set).  Other 'guix'
commands look in that directory and use the package descriptions found
there.

So, assumes your environment variables are set sanely, if you ran

  guix pull --url=file:///path/to/wip-libreoffice.tar.gz

as user 'foo', then only 'guix' commands run as user 'foo' will use
packages from the wip-libreoffice branch.  Other users running 'guix'
would not be affected.

> Isn't this going to lead to more conflicts? How do I insure
> the git guix will take precedende - just make sure to run local
> commands only from the git build directory?

When you run "/path/to/git/checkout/pre-inst-env guix ..." then it will
always use the package descriptions from the git checkout.  This is what
I *always* do.  In fact, to make this easier, I put this script in
~/bin/guix:

If you want to merge two different branches of our git repository, then
'git' is the right tool for that job.

> How will it interact with the GuixSD version of the tools?

'guix pull' populates $HOME/.config/guix/latest (or
$XDG_CONFIG_HOME/guix/latest if XDG_CONFIG_HOME is set).  Other 'guix'
commands look in that directory and use the package descriptions found
there.

So, assumes your environment variables are set sanely, if you ran

  guix pull --url=file:///path/to/wip-libreoffice.tar.gz

as user 'foo', then only 'guix' commands run as user 'foo' will use
packages from the wip-libreoffice branch.  Other users running 'guix'
would not be affected.

> Isn't this going to lead to more conflicts? How do I insure
> the git guix will take precedende - just make sure to run local
> commands only from the git build directory?

When you run "/path/to/git/checkout/pre-inst-env guix ..." then it will
always use the package descriptions from the git checkout.  This is what
I *always* do.  In fact, to make this easier, I put this script in
~/bin/guix:

--8<---cut here---start->8---
#!/bin/sh

exec /home/mhw/guix/pre-inst-env guix "$@"
--8<---c

Re: [PATCH] Add PCB.

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

> taylanbayi...@gmail.com (Taylan Ulrich "Bayırlı/Kammer") writes:

[...]

>> When the argument is a literal string, I suppose we can patch it to be
>> an absolute pathname.
>
> Yes, when we can do this, it is usually the preferred approach.

Agreed, except in cases where we want to retain the flexibility of
dynamic bindings, typically for plug-ins.

In the case of MESA, I think we probably want to use an absolute file
name.

Thanks,
Ludo’.



Re: [PATCH] Add WenQuanYi ZenHei font.

2015-03-12 Thread Ludovic Courtès
Ricardo Wurmus  skribis:

> Ludovic Courtès writes:
>
>>> +   (copy-file "wqy-zenhei.ttc"
>>> +  (string-append font-dir "wqy-zenhei.ttc"))
>>
>> What format is this?
>
> Apparently it's a TrueType font collection containing three fonts.

OK, didn’t know that extension.

Thanks,
Ludo’.



Merging wip-libreoffice

2015-03-12 Thread Ludovic Courtès
白い熊@相撲道  skribis:

> On 2015-03-10 13:41, l...@gnu.org wrote:
>> "白い熊 @相撲道"  skribis:
>>
>>> wget
>>> http://git.savannah.gnu.org/cgit/guix.git/snapshot/wip-libreoffice.tar.gz
>>> guix pull --url=file:///path/to/wip-libreoffice.tar.gz
>>> guix package -i libreoffice
>>>
>>> It's building now, apparently everything from source, so probably a
>>> long way to go...
>>>
>>> Let's see if it will put a unable libreoffice instance in the store...
>>
>> Please let us know how it goes.  If it builds and is usable, we should
>> merge it.
>
> Well it did build indeed! And now I have a working LibreOffice in the
> store. Tested briefly, works without a hitch so far.

Excellent.  I think we must rebase this branch atop master, review the
changes, and merge it.

What do people think?  Anyone would like to do this?

Thanks,
Ludo’.



Re: Libreoffice building (sort of)

2015-03-12 Thread Ludovic Courtès
Andreas Enge  skribis:

> On Wed, Mar 11, 2015 at 10:27:15AM +0100, 白い熊@相撲道 wrote:
>> guix substitute-binary: error: connect: Connection timed out
>> fetching path `/gnu/store/8n7d1bgib9f1hml2k5ravgv79jv1whqf-tar-1.28' failed
>> with exit code 1
>
> I think this is just a random error, due to hydra being overloaded. Normally
> you can try again and there is a good chance it will work.

Actually hydra.gnu.org has been offline for about a day:

  https://pumprock.net/fsfstatus

The FSF sysadmins have been working on it, so hopefully it’ll be back
real soon.

Thanks,
Ludo’.



Re: RFC: Build system hacks for Guix do not belong in 'source'

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

> Mark H Weaver writes:
>
>> I think that both the 'ldconfig -> true' hack and the LIBDIR
>> substitution should be moved to a build phase for both of these
>> packages.
>
> Attached are updated patches, moving the build hacks from snippets to a
> build phase.
>
> ~~ Ricardo
>
> From abdbfec11164c61cfdb6fc88ddf9abd2e58aa027 Mon Sep 17 00:00:00 2001
> From: Ricardo Wurmus 
> Date: Wed, 4 Mar 2015 11:50:26 +0100
> Subject: [PATCH 1/2] gnu: zita-alsa-pcmi: set LIBDIR to "lib".
>
> * gnu/packages/audio.scm (zita-alsa-pcmi)[source, arguments]: Set LIBDIR to
>   "lib" in build phase.  Remove snippet.

I wouldn't write [source, arguments] here when the first sentence that
follows doesn't relate to 'source' at all.  Also, instead of "Remove
snippet", how about "Move snippet to build phase"?  Maybe something like
this:

--8<---cut here---start->8---
gnu: zita-alsa-pcmi: Move snippet to build phase and set LIBDIR.

* gnu/packages/audio.scm (zita-alsa-pcmi): Move snippet to build phase
  and set LIBDIR.
--8<---cut here---end--->8---

> @@ -1044,8 +1040,12 @@ interface.")
> #:phases
> (alist-cons-after
>  'unpack
> -'enter-directory
> -(lambda _ (chdir "libs"))
> +'fix-makefile
> +(lambda _
> +  (substitute* "libs/Makefile"
> +(("ldconfig") "true")
> +(("^LIBDIR =.*") "LIBDIR = lib\n"))
> +  (chdir "libs"))

It still enters the directory, so 'fix-makefile' doesn't quite cover it.
How about 'patch-Makefile-and-enter-directory' ?

Also, 'chdir' returns an unspecified value, but phases must return a
true value to indicate success.  So please add #t after the chdir,
maybe something like this:

--8<---cut here---start->8---
   (alist-cons-after
'unpack 'patch-makefile-and-enter-directory
(lambda _
  (substitute* "libs/Makefile"
(("ldconfig") "true")
(("^LIBDIR =.*") "LIBDIR = lib\n"))
  (chdir "libs")
  #t)
--8<---cut here---end--->8---

(It is true that in Guile, "an unspecified value" is normally a true
value, but it's bad practice to write code that depends on that).

All of these comments apply to the other patch as well.
After considering these suggestions, okay to push.

Thanks!
  Mark



Re: [PATCH] Add Lilypond.

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

> Eric Bavier  skribis:
>
>> I think lilypond deserves its own module (gnu packages lilypond).
>> What do others think?
>
> +1

Since then, (gnu packages music) has been suggested.  I like this
because there are other packages like Denemo that will need a home as
well.  What do you think?

 Mark