Re: R

2016-02-05 Thread Andreas Enge
On Fri, Feb 05, 2016 at 09:48:24PM +0100, Ricardo Wurmus wrote:
> I would suggest to drop “--with-lapack”, too.  (I haven’t found the time
> to try building without this flag just now.)  The manual says:
> I don’t remember why I added it in the first place, so I think it’s best
> to drop it, considering that the manual tells us only to do it if we
> know what we want to achieve by adding it.

I did, and it still builds on arm.

Andreas




Re: R

2016-02-05 Thread Ricardo Wurmus

Ricardo Wurmus  writes:

> There’s a separate section for OpenBLAS, which also mentions that using
> a “shared BLAS” is a preferred alternative to linking with a particular
> BLAS implementation.  We already pass “--enable-BLAS-shlib”, so we
> actually do use a shared BLAS, IIUC.
>
> I guess we could drop the “--with-blas” flag and see if that helps.  I
> remember struggling with this a lot in the past.  I’ll try building R
> again without that flag and see if it still works.

I dropped the flag and noticed that OpenBLAS is not mentioned at all (it
does retain a reference, but that’s expected when “openblas” is among
the inputs), so I also dropped “openblas” from the inputs and R built
just fine.

It’s a bit sad to me that we won’t be able to just use this BLAS
implementation, but if it fixes the build on ARM and MIPS I’m all for
it.

I can also confirm that dropping openblas from the R build “fixes” the
segfault when running

x <- eigen(crossprod(matrix(rnorm(50 * 500), 50, 500)))

as reported here: https://github.com/xianyi/OpenBLAS/issues/703

So, I think it’s a good idea to build R without OpenBLAS on all
architectures for now.

~~ Ricardo



Re: Review of installation manual draft

2016-02-05 Thread Petter

Hi Ludo,

Attached is a diff against guix.texi. I'm very new to texinfo so there 
may be some silly mistakes.


Petter

On 2016-01-31 10:28, l...@gnu.org wrote:

HI Petter,

Thanks a lot for working on it!  I’m at FOSDEM now but I hope to review
while on the train later today.

It would be easier for me if it were a diff against guix.texi.  Do you
think you could do that?  That would be awesome.  (If not I’ll comment
on what you sent.)

Ludo’.From 1ce9e2929843150f1ec1f6e265187cfe31f82f61 Mon Sep 17 00:00:00 2001
From: Petter 
Date: Fri, 5 Feb 2016 18:33:24 +0100
Subject: [PATCH] Merged installation proposal into guix.texi

---
 doc/guix.texi | 331 +-
 1 file changed, 256 insertions(+), 75 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 66ab384..1b8d1d2 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -5623,104 +5623,230 @@ Introduction}).  The installation system runs the GPM mouse daemon,
 which allows you to select text with the left mouse button and to paste
 it with the middle button.
 
-To install the system, you would:
+@subsubsection Keyboard
 
-@enumerate
+The installation image uses the US Qwerty keyboard layout. If you want to change it you can use the @command{loadkeys} command with your preferred layout. Example @var{layout}: @samp{dvorak}.
+@example
+loadkeys @var{layout}
+@end example
 
-@item
-Configure the network, by running:
+@subsubsection Network
 
+Run the following command see what your network interfaces are called. Wired interfaces often start with @samp{e}, like @samp{eno1}. Wireless interfaces often start with @samp{w}, like @samp{w1p2s0}.
 @example
-ifconfig eno1 up && dhclient eno1
+ifconfig -a
 @end example
 
-to get an automatically assigned IP address from the wired
-network interface controller@footnote{
-@c http://cgit.freedesktop.org/systemd/systemd/tree/src/udev/udev-builtin-net_id.c#n20
-The name @code{eno1} is for the first on-board Ethernet controller.  The
-interface name for an Ethernet controller that is in the first slot of
-the first PCI bus, for instance, would be @code{enp1s0}.  Use
-@command{ifconfig -a} to list all the available network interfaces.},
-or using the @command{ifconfig} command.
+@ftable @asis
+@item Wired connection
+To configure a wired network run the following command, substituting @var{network-interface} with the wired interface you want to use.
+@example
+ifconfig @var{network-interface} up
+@end example
 
-The system automatically loads drivers for your network interface
-controllers.
+@item Wireless connection
+To configure a wireless network create a configuration file and add a network stanza to it. Create and open a configuration file (location is not important)
+@example
+zile wpa_supplicant.conf
+@end example
 
-Setting up network access is almost always a requirement because the
-image does not contain all the software and tools that may be needed.
+Add the following stanza to it and update with actual ssid and password for the network you're connecting to:
+@example
+network=@{
+ssid=@var{network_name}
+key_mgmt=WPA-PSK
+psk=@var{network_password}
+@}
+@end example
+
+Start the wireless service and run it in the background with the following command. Substitute @var{network-interface} with the one you want to use.
+@example
+wpa_supplicant -c wpa_supplicant.conf -i @var{network-interface} -B
+@end example
+@end ftable
 
-@item
-Unless this has already been done, you must partition, and then format
-the target partition.
-
-Preferably, assign partitions a label so that you can easily and
-reliably refer to them in @code{file-system} declarations (@pxref{File
-Systems}).  This is typically done using the @code{-L} option of
-@command{mkfs.ext4} and related commands.
-
-Be sure that your partition labels match the value of their respective
-@code{device} fields in your @code{file-system} configuration, if your
-@code{file-system} configuration sets the value of @code{title} to
-@code{'label}, as do the example configurations found on the USB
-installation image under @file{/etc/configuration} (@pxref{Using the
-Configuration System}).
-
-@c FIXME: Uncomment this once GRUB fully supports encrypted roots.
-@c A typical command sequence may be:
-@c
-@c @example
-@c # fdisk /dev/sdX
-@c @dots{} Create partitions etc.@dots{}
-@c # cryptsetup luksFormat /dev/sdX1
-@c # cryptsetup open --type luks /dev/sdX1 my-partition
-@c # mkfs.ext4 -L my-root /dev/mapper/my-partition
-@c @end example
-
-The installation image includes Parted (@pxref{Overview,,, parted, GNU
-Parted User Manual}), @command{fdisk}, Cryptsetup/LUKS for disk
-encryption, and e2fsprogs, the suite of tools to manipulate
-ext2/ext3/ext4 file systems.
+Acquire an IP address. If you're on a network with DHCP you can run
+@example
+dhclient @var{network-interface}
+@end example
 
-@item
-Once that is done, mount the target root partition under @file{/mnt}.
+Try to ping a 

Re: R

2016-02-05 Thread Kyle Meyer
Ricardo Wurmus  writes:

[...]

> I can also confirm that dropping openblas from the R build “fixes” the
> segfault when running
>
> x <- eigen(crossprod(matrix(rnorm(50 * 500), 50, 500)))
>
> as reported here: https://github.com/xianyi/OpenBLAS/issues/703
>
> So, I think it’s a good idea to build R without OpenBLAS on all
> architectures for now.

Thank you, Ricardo.  I'm sorry I wasn't able make any progress on
figuring out what the underlying issue was there.

-- 
Kyle



guixSD iterm-256colors 'screen; emacs -nw' and/or 'tmux; emacs -nw' color support

2016-02-05 Thread myglc2
I almost always run emacs in a gnu screen session.

For iterm-256color, in guixSD I have observed that ...

'screen; emacs -nw' ... supports 16 colors.

'tmux; emacs -nw' ... supports 8.

Not only does this seem a bit lame when you consider that VGA supported
256 colors circa 1988, it means that most emacs themes either look awful
or aren't usable.

I thought I might submit a patch to make 'screen; emacs -nw' support 256
colors. However, if there is a strong preference for tmux, maybe I will
switch to tmux and fix that instead.

Comments or recomendations would be most welcome. - Thanks, George




Re: [PATCH] gnu: Add gtk-engines and murrine.

2016-02-05 Thread Fabian Harfert
On Fri, 05 Feb 2016 08:08:21 +0100
Ricardo Wurmus  wrote:

> Hi Fabian,
> 
> I wonder if this will work out of the box.  Where does GTK+ look for
> engines?  Was the patch enough to GTK+ to make it respect
> GUIX_GTK2_PATH and GUIX_GTK3_PATH?
> 
> Or will we need to add some additional procedure to building profiles
> to generate a cache or a list of engines expected by GTK+?  (I know
> that at least for input method modules something like that will be
> needed.)
> 
> ~~ Ricardo
> 

Hi!

Because the gtk-xfce-engine from xfce.scm doesn't need this I thought
that this is the case for these engines, too. But really, I don't know
how this is handled. If I install the package to my profile, which is
included in the GUIX_GTK2_PATH, they are found by Gtk+.

And, as I'm still not familiar with git send-email, the gtk-engines
patch needs to be applied first (if it's okay so).

Fabian



Re: [PATCH] gnu: Add sdparm.

2016-02-05 Thread Ricardo Wurmus

Hi Tobias,

> From: Tobias Geerinckx-Rice 
>
> * gnu/packages/disk.scm (sdparm): New variable.

I just pushed your patch with the suggested modifications from Andreas
and myself.

Thanks again!

~~ Ricardo



Re: R

2016-02-05 Thread Andreas Enge
On Fri, Feb 05, 2016 at 06:17:04PM +0100, Ricardo Wurmus wrote:
> I dropped the flag and noticed that OpenBLAS is not mentioned at all (it
> does retain a reference, but that’s expected when “openblas” is among
> the inputs), so I also dropped “openblas” from the inputs and R built
> just fine.

Okay. I am giving it a try on arm right now. It looks like we should
then also drop "--with-lapack"; the documentation states that this has only
an effect when "--with-blas" is also given:
   https://cran.r-project.org/doc/manuals/r-release/R-admin.html#LAPACK

If compilation succeeds on arm now, I will see whether a reference to lapack
is retained or not.

Andreas




Re: R

2016-02-05 Thread Ricardo Wurmus

Andreas Enge  writes:

> On Fri, Feb 05, 2016 at 08:02:36PM +0100, Andreas Enge wrote:
>> Okay. I am giving it a try on arm right now. It looks like we should
>> then also drop "--with-lapack"; the documentation states that this has only
>> an effect when "--with-blas" is also given:
>>https://cran.r-project.org/doc/manuals/r-release/R-admin.html#LAPACK
>> 
>> If compilation succeeds on arm now, I will see whether a reference to lapack
>> is retained or not.
>
> Well, compilation succeeded! We will see whether this will also be the
> case on mips.
>
> And there is still a reference to lapack, so I am not touching the
> "--with-lapack" configure flag for now.

I would suggest to drop “--with-lapack”, too.  (I haven’t found the time
to try building without this flag just now.)  The manual says:

“However, the likely performance gains are thought to be small (and
may be negative), and the default is not to search for a suitable
LAPACK library, and this is definitely not recommended.

[...]

Please do bear in mind that using --with-lapack is ‘definitely not
recommended’: it is provided only because it is necessary on some
platforms and because some users want to experiment with claimed
performance improvements. Reporting problems where it is used
unnecessarily will simply irritate the R helpers.”

I don’t remember why I added it in the first place, so I think it’s best
to drop it, considering that the manual tells us only to do it if we
know what we want to achieve by adding it.

~~ Ricardo



[PATCH shepherd v2] support: Ignore errors in mkdir-p when the directories exist.

2016-02-05 Thread David Michael
* modules/shepherd/support.scm (mkdir-p): Don't throw errors when
  mkdir fails but the directory exists afterwards.
---
 modules/shepherd/support.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/modules/shepherd/support.scm b/modules/shepherd/support.scm
index 9bc5f5d..4059770 100644
--- a/modules/shepherd/support.scm
+++ b/modules/shepherd/support.scm
@@ -172,7 +172,8 @@ output port, and PROC's result is returned."
  (mkdir path))
  (loop tail path))
(lambda args
- (if (= EEXIST (system-error-errno args))
+ (if (and (file-exists? path)
+  (eq? (stat:type (stat path)) 'directory))
  (loop tail path)
  (apply throw args))
   (() #t
-- 
2.5.0




Re: R

2016-02-05 Thread Andreas Enge
On Fri, Feb 05, 2016 at 08:02:36PM +0100, Andreas Enge wrote:
> Okay. I am giving it a try on arm right now. It looks like we should
> then also drop "--with-lapack"; the documentation states that this has only
> an effect when "--with-blas" is also given:
>https://cran.r-project.org/doc/manuals/r-release/R-admin.html#LAPACK
> 
> If compilation succeeds on arm now, I will see whether a reference to lapack
> is retained or not.

Well, compilation succeeded! We will see whether this will also be the
case on mips.

And there is still a reference to lapack, so I am not touching the
"--with-lapack" configure flag for now.

Thanks a lot for your help!

Andreas




Re: R

2016-02-05 Thread Pjotr Prins
On Fri, Feb 05, 2016 at 11:00:40AM +0100, Andreas Enge wrote:
> I did get a reply, but not using R, I do not quite know what to make of it:
>https://bugs.r-project.org/bugzilla/show_bug.cgi?id=16697

Anyone here programming in R?

> It would be nice if someone using R could help me out; if you send me an
> ssh key, I could give you access to an arm machine.
> 
> To start, a probably simple question: Why do we use "--with-blas=openblas"?

openblas is fast.

http://blog.nguyenvq.com/blog/2014/11/10/optimized-r-and-python-standard-blas-vs-atlas-vs-openblas-vs-mkl/




[PATCH 2/4] emacs: Find Emacs packages in a system profile.

2016-02-05 Thread Alex Kost
Fixes .

* emacs/guix-emacs.el: Autoload Emacs packages installed in a system
  profile.
---
 emacs/guix-emacs.el | 1 +
 1 file changed, 1 insertion(+)

diff --git a/emacs/guix-emacs.el b/emacs/guix-emacs.el
index 5c32f2f..aa8e299 100644
--- a/emacs/guix-emacs.el
+++ b/emacs/guix-emacs.el
@@ -125,6 +125,7 @@ See `guix-emacs-activate-after-operation' for details."
(guix-emacs-autoload-packages guix-current-profile)))
 
 (when guix-package-enable-at-startup
+  (guix-emacs-autoload-packages "/run/current-system/profile")
   (guix-emacs-autoload-packages guix-user-profile))
 
 (provide 'guix-emacs)
-- 
2.6.3




[PATCH 4/4] doc: Document 'guix-edit' Emacs command.

2016-02-05 Thread Alex Kost
* doc/emacs.texi (Emacs Commands): Document "M-x guix-edit".
* doc/guix.texi (Invoking guix edit): Mention it.
---
 doc/emacs.texi | 22 ++
 doc/guix.texi  |  6 +++---
 2 files changed, 25 insertions(+), 3 deletions(-)

diff --git a/doc/emacs.texi b/doc/emacs.texi
index 19dc87f..48107cb 100644
--- a/doc/emacs.texi
+++ b/doc/emacs.texi
@@ -219,6 +219,28 @@ With @kbd{C-u}, make it verbose.
 Once @command{guix pull} has succeeded, the Guix REPL is restared.  This
 allows you to keep using the Emacs interface with the updated Guix.
 
+Finally, there is an Emacs variant of @command{guix edit} command
+(@pxref{Invoking guix edit}):
+
+@table @kbd
+@item M-x guix-edit
+As with @kbd{M-x guix-packages-by-name}, you can press @key{TAB} to
+complete a package name.
+@end table
+
+If you are contributing to Guix, you may find it useful for @kbd{M-x
+guix-edit} to open package files from your git directory.  This can be
+done by setting @code{guix-directory} variable.  For example, after
+this:
+
+@example
+(setq guix-directory "~/src/guix")
+@end example
+
+@kbd{M-x guix-edit guix} will open
+@file{~/src/guix/gnu/packages/package-management.scm} file.
+
+
 @node Emacs General info
 @subsection General information
 
diff --git a/doc/guix.texi b/doc/guix.texi
index 66ab384..80a1621 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -4201,9 +4201,9 @@ launches the program specified in the @code{VISUAL} or in 
the
 and that of Vim.
 
 If you are using Emacs, note that the Emacs user interface provides
-similar functionality in the ``package info'' and ``package list''
-buffers created by @kbd{M-x guix-search-by-name} and similar commands
-(@pxref{Emacs Commands}).
+@kbd{M-x guix-edit} command and a similar functionality in the ``package
+info'' and ``package list'' buffers created by @kbd{M-x
+guix-search-by-name} and similar commands (@pxref{Emacs Commands}).
 
 
 @node Invoking guix download
-- 
2.6.3




[PATCH 0/4] emacs: Various fixes.

2016-02-05 Thread Alex Kost
This patchset fixes a couple of issues discovered in bug #22550 (see the
bottom of ).

[PATCH 1/4] emacs: Factorize searching for Emacs packages.
[PATCH 2/4] emacs: Find Emacs packages in a system profile.

[PATCH 3/4] system: Fix EMACSLOADPATH.

  This is an easy fix, however I've just thought that we can get rid of
  EMACSLOADPATH completely.  Since now our Emacs can load packages from
  guix directories ("~/.guix-profile" and "/run/current-system/profile")
  there is no need to use "/etc/emacs/site-start.el" anymore, because Emacs
  will load "guix-autoloads.el" and "geiser-autoloads.el" from a system
  profile.

  So I think this patch is OK as a current fix, but eventually we should
  remove "guix-init.el" and "/etc/emacs/site-start.el".  I'll send a
  patch for it later.

[PATCH 4/4] doc: Document 'guix-edit' Emacs command.



[PATCH 1/4] emacs: Factorize searching for Emacs packages.

2016-02-05 Thread Alex Kost
* emacs/guix-emacs.el: (guix-emacs-directories): New procedure.
(guix-emacs-find-autoloads-in-directory): Rename to ...
(guix-emacs-find-autoloads): ... this.
(guix-emacs-load-autoloads): Replace with ...
(guix-emacs-autoload-packages): this.  New procedure.  At first, find a
list of directories with Emacs packages, then add them to 'load-path'
and finally, load autoloads.
(guix-emacs-load-autoloads-maybe): Rename to ...
(guix-emacs-autoload-packages-maybe): ... this.
* emacs/guix-backend.el (guix-after-repl-operation-hook): Adjust for the
renaming.
* doc/emacs.texi (Emacs Initial Setup): Likewise.
---
 doc/emacs.texi|  2 +-
 emacs/guix-backend.el |  2 +-
 emacs/guix-emacs.el   | 70 +--
 3 files changed, 36 insertions(+), 38 deletions(-)

diff --git a/doc/emacs.texi b/doc/emacs.texi
index 92a9107..19dc87f 100644
--- a/doc/emacs.texi
+++ b/doc/emacs.texi
@@ -106,7 +106,7 @@ for the built-in Emacs package system (@pxref{Package 
Installation,,,
 emacs, The GNU Emacs Manual}).
 
 You can activate Emacs packages installed in your profile whenever you
-want using @kbd{M-x@tie{}guix-emacs-load-autoloads}.
+want using @kbd{M-x@tie{}guix-emacs-autoload-packages}.
 
 
 @node Emacs Package Management
diff --git a/emacs/guix-backend.el b/emacs/guix-backend.el
index 0736f85..04e5c1f 100644
--- a/emacs/guix-backend.el
+++ b/emacs/guix-backend.el
@@ -121,7 +121,7 @@ This REPL is used for receiving information only if
   "Hook run before executing an operation in Guix REPL.")
 
 (defvar guix-after-repl-operation-hook
-  '(guix-emacs-load-autoloads-maybe
+  '(guix-emacs-autoload-packages-maybe
 guix-repl-operation-success-message)
   "Hook run after executing successful operation in Guix REPL.")
 
diff --git a/emacs/guix-emacs.el b/emacs/guix-emacs.el
index 37a0bb2..5c32f2f 100644
--- a/emacs/guix-emacs.el
+++ b/emacs/guix-emacs.el
@@ -57,7 +57,7 @@ If PROFILE is nil, use `guix-user-profile'."
   (expand-file-name "share/emacs/site-lisp"
 (or profile guix-user-profile)))
 
-(defun guix-emacs-find-autoloads-in-directory (directory)
+(defun guix-emacs-find-autoloads (directory)
   "Return a list of Emacs 'autoloads' files in DIRECTORY.
 The files in the list do not have extensions (.el, .elc)."
   (cl-remove-duplicates
@@ -76,45 +76,44 @@ The files in the list do not have extensions (.el, .elc)."
   (not (file-directory-p file
 (directory-files directory 'full-name nil 'no-sort)))
 
-(defun guix-emacs-find-autoloads ( profile)
-  "Return list of autoloads of Emacs packages installed in PROFILE.
+(defun guix-emacs-directories ( profile)
+  "Return a list of directories with Emacs packages installed in PROFILE.
 If PROFILE is nil, use `guix-user-profile'.
-Return nil if there are no emacs packages installed in PROFILE."
-  (let ((elisp-root-dir (guix-emacs-directory profile)))
-(if (file-directory-p elisp-root-dir)
-(let ((elisp-pkgs-dir (expand-file-name "guix.d" elisp-root-dir))
-  (root-autoloads (guix-emacs-find-autoloads-in-directory
-   elisp-root-dir)))
-  (if (file-directory-p elisp-pkgs-dir)
-  (let ((pkgs-autoloads
- (cl-mapcan #'guix-emacs-find-autoloads-in-directory
-(guix-emacs-subdirs elisp-pkgs-dir
-(append root-autoloads pkgs-autoloads))
-root-autoloads))
-  (message "Directory '%s' does not exist." elisp-root-dir)
-  nil)))
+Return nil, if Emacs packages are not installed in PROFILE."
+  (let ((root-dir (guix-emacs-directory (or profile guix-user-profile
+(when (file-directory-p root-dir)
+  (let* ((pkgs-dir  (expand-file-name "guix.d" root-dir))
+ (pkgs-dirs (when (file-directory-p pkgs-dir)
+  (guix-emacs-subdirs pkgs-dir
+(cons root-dir pkgs-dirs)
 
 ;;;###autoload
-(defun guix-emacs-load-autoloads ( profile)
-  "Load autoloads for Emacs packages installed in PROFILE.
+(defun guix-emacs-autoload-packages ( profile)
+  "Autoload Emacs packages installed in PROFILE.
 If PROFILE is nil, use `guix-user-profile'.
-Add autoloads directories to `load-path'."
+
+'Autoload' means add directories with Emacs packages to
+`load-path' and load 'autoloads' files matching
+`guix-emacs-autoloads-regexp'."
   (interactive (list (if (fboundp 'guix-profile-prompt)
  (funcall 'guix-profile-prompt)
guix-user-profile)))
-  (let* ((autoloads (guix-emacs-find-autoloads profile))
- (new-autoloads (cl-nset-difference autoloads
-guix-emacs-autoloads
-:test #'string=)))
-(dolist (file new-autoloads)
-  (cl-pushnew (directory-file-name (file-name-directory file))
-  load-path
-  :test #'string=)
-  (load 

[PATCH 3/4] system: Fix EMACSLOADPATH.

2016-02-05 Thread Alex Kost
After commit 13fe4891fa247d306e203ee14c6886513bd86b52, Emacs package
includes "site-start.el", and it has a priority over
"/etc/emacs/site-start.el" on GuixSD because "/etc/emacs" is added to
the end of 'load-path'.

* gnu/system.scm (operating-system-environment-variables): Change
  EMACSLOADPATH to prepend "/etc/emacs" to 'load-path' instead of
  appending.
---
 gnu/system.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/system.scm b/gnu/system.scm
index d4759a0..82dba7f 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -581,8 +581,8 @@ use 'plain-file' instead~%")
 ("SSL_CERT_DIR" . "/etc/ssl/certs")
 ("SSL_CERT_FILE" . "/etc/ssl/certs/ca-certificates.crt")
 ("GIT_SSL_CAINFO" . "/etc/ssl/certs/ca-certificates.crt")
-;; Append the directory of 'site-start.el' to the search path.
-("EMACSLOADPATH" . ":/etc/emacs")
+;; Prepend the directory of 'site-start.el' to the search path.
+("EMACSLOADPATH" . "/etc/emacs:")
 ;; By default, applications that use D-Bus, such as Emacs, abort at startup
 ;; when /etc/machine-id is missing.  Make sure these warnings are 
non-fatal.
 ("DBUS_FATAL_WARNINGS" . "0")))
-- 
2.6.3




Re: R

2016-02-05 Thread Ricardo Wurmus

Andreas Enge  writes:

> I did get a reply, but not using R, I do not quite know what to make of it:
>https://bugs.r-project.org/bugzilla/show_bug.cgi?id=16697
> It would be nice if someone using R could help me out; if you send me an
> ssh key, I could give you access to an arm machine.
>
> To start, a probably simple question: Why do we use "--with-blas=openblas"?

I did this when we switched from ATLAS to OpenBLAS (for substitutability
reasons).  It is possible I have misunderstood the meaning of this
configure flag.

Here’s the installation manual on building with a specific BLAS
implementation:

https://cran.r-project.org/doc/manuals/r-release/R-admin.html#BLAS

According to this section,

“R can make use of enhanced BLAS (Basic Linear Algebra Subprograms,
http://www.netlib.org/blas/faq.html) routines. However, these have
to be explicitly requested at configure time: R provides an internal
BLAS which is well-tested and will be adequate for most uses of R.”

There’s a separate section for OpenBLAS, which also mentions that using
a “shared BLAS” is a preferred alternative to linking with a particular
BLAS implementation.  We already pass “--enable-BLAS-shlib”, so we
actually do use a shared BLAS, IIUC.

I guess we could drop the “--with-blas” flag and see if that helps.  I
remember struggling with this a lot in the past.  I’ll try building R
again without that flag and see if it still works.

I’m sorry if that’s what’s responsible for the failures, but it’s pretty
hard for me to understand how linking with a high-performance BLAS
implementation could have caused these build/test failures on other
platforms.  I’ll report back when I have a successful build or an
interesting failure to share.

~~ Ricardo



[PATCH] build: syscalls: Delay syscalls evaluation.

2016-02-05 Thread Manolis Ragkousis
Hello hackers,

Justus tried to build Guix on his Hurd machine and he found out that
even though we disable (guix build syscalls) from building when
sys/mount.h is not present, it still tries to build it.

As I found out, (guix utils) module uses the syscalls module so that's
why it still tried to build it. That's why I followed a different approach.
I delayed the evaluation of ptr and proc on mount, umount, swapon, etc.
and it builds now.

WDYT? If you agree with the change I will push it to wip-hurd and/or
master.

Manolis
>From 0e05ab007e312800d22949543e935d9b91093aee Mon Sep 17 00:00:00 2001
From: Manolis Ragkousis 
Date: Fri, 5 Feb 2016 14:22:20 +0200
Subject: [PATCH] build: syscalls: Delay syscalls evaluation.

* guix/build/syscalls.scm (mount, umount, swapon,
  swapoff, clone, pivot-root): Delay syscalls evaluation.
---
 guix/build/syscalls.scm | 66 ++---
 1 file changed, 35 insertions(+), 31 deletions(-)

diff --git a/guix/build/syscalls.scm b/guix/build/syscalls.scm
index ea68b22..60e6f50 100644
--- a/guix/build/syscalls.scm
+++ b/guix/build/syscalls.scm
@@ -22,6 +22,7 @@
   #:use-module (rnrs bytevectors)
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-9)
+  #:use-module (srfi srfi-45)
   #:use-module (srfi srfi-9 gnu)
   #:use-module (ice-9 rdelim)
   #:use-module (ice-9 regex)
@@ -184,9 +185,11 @@
 (define MNT_EXPIRE  4)
 (define UMOUNT_NOFOLLOW 8)
 
+;; Delay syscalls evaluation so we can workaround the fact that they do not
+;; exist on GNU Hurd.
 (define mount
-  (let* ((ptr  (dynamic-func "mount" (dynamic-link)))
- (proc (pointer->procedure int ptr `(* * * ,unsigned-long *
+  (let* ((ptr  (delay (dynamic-func "mount" (dynamic-link
+ (proc (delay (pointer->procedure int (force ptr) `(* * * ,unsigned-long *)
 (lambda* (source target type #:optional (flags 0) options
  #:key (update-mtab? #f))
   "Mount device SOURCE on TARGET as a file system TYPE.  Optionally, FLAGS
@@ -194,17 +197,18 @@ may be a bitwise-or of the MS_*  constants, and OPTIONS may be a
 string.  When FLAGS contains MS_REMOUNT, SOURCE and TYPE are ignored.  When
 UPDATE-MTAB? is true, update /etc/mtab.  Raise a 'system-error' exception on
 error."
-  (let ((ret (proc (if source
-   (string->pointer source)
-   %null-pointer)
-   (string->pointer target)
-   (if type
-   (string->pointer type)
-   %null-pointer)
-   flags
-   (if options
-   (string->pointer options)
-   %null-pointer)))
+  (let ((ret ((force proc)
+  (if source
+  (string->pointer source)
+  %null-pointer)
+  (string->pointer target)
+  (if type
+  (string->pointer type)
+  %null-pointer)
+  flags
+  (if options
+  (string->pointer options)
+  %null-pointer)))
 (err (errno)))
 (unless (zero? ret)
   (throw 'system-error "mount" "mount ~S on ~S: ~A"
@@ -214,13 +218,13 @@ error."
   (augment-mtab source target type options))
 
 (define umount
-  (let* ((ptr  (dynamic-func "umount2" (dynamic-link)))
- (proc (pointer->procedure int ptr `(* ,int
+  (let* ((ptr  (delay (dynamic-func "umount2" (dynamic-link
+ (proc (delay (pointer->procedure int (force ptr) `(* ,int)
 (lambda* (target #:optional (flags 0)
  #:key (update-mtab? #f))
   "Unmount TARGET.  Optionally FLAGS may be one of the MNT_* or UMOUNT_*
 constants from ."
-  (let ((ret (proc (string->pointer target) flags))
+  (let ((ret ((force proc) (string->pointer target) flags))
 (err (errno)))
 (unless (zero? ret)
   (throw 'system-error "umount" "~S: ~A"
@@ -242,11 +246,11 @@ constants from ."
  (loop (cons mount-point result))
 
 (define swapon
-  (let* ((ptr  (dynamic-func "swapon" (dynamic-link)))
- (proc (pointer->procedure int ptr (list '* int
+  (let* ((ptr  (delay (dynamic-func "swapon" (dynamic-link
+ (proc (delay (pointer->procedure int (force ptr) (list '* int)
 (lambda* (device #:optional (flags 0))
   "Use the block special device at DEVICE for swapping."
-  (let ((ret (proc (string->pointer device) flags))
+  (let ((ret ((force proc) (string->pointer device) flags))
 (err (errno)))
 (unless (zero? ret)
   (throw 'system-error "swapon" "~S: ~A"
@@ -254,11 +258,11 @@ constants from ."
  (list err)))
 
 (define swapoff
-  (let* ((ptr  (dynamic-func "swapoff" (dynamic-link)))
- (proc 

Re: Heads-up: ‘guix system reconfigure’ reloads services

2016-02-05 Thread Ludovic Courtès
l...@gnu.org (Ludovic Courtès) skribis:

> If you haven’t been following , ‘guix system
> reconfigure’ is now able to dynamically load/start new system services,
> unless they are already running.

On IRC calher & Jookia reported that, when upgrading from dmd, this
would cause this kind of error:

--8<---cut here---start->8---
populating /etc from /gnu/store/z7x13js9dpinlrq92l1d5hnfn2gn765s-etc...
usermod: no changes
usermod: no changes
usermod: no changes
usermod: no changes
usermod: no changes
usermod: no changes
usermod: no changes
usermod: no changes
usermod: no changes
making '/gnu/store/7z97a0h5gyqkxil4qdnknii00xva6brz-system' the current 
system...
guix system: warning: cannot connect to /var/run/shepherd/socket: No such file 
or directory
Backtrace:
In ice-9/boot-9.scm:
 157: 16 [catch #t # ...]
In unknown file:
   ?: 15 [apply-smob/1 #]
In ice-9/boot-9.scm:
  63: 14 [call-with-prompt prompt0 ...]
In ice-9/eval.scm:
 432: 13 [eval # #]
In ice-9/boot-9.scm:
2401: 12 [save-module-excursion #]
4050: 11 [#]
1724: 10 [%start-stack load-stack ...]
1729: 9 [#]
In unknown file:
   ?: 8 [primitive-load 
"/gnu/store/24mbii9wjlyzfzsqwfmcvz6vz2fv5n6g-guix-0.9.0.c3f29bc/bin/.guix-real"]
In guix/ui.scm:
1177: 7 [run-guix-command system "reconfigure" "/etc/config.scm"]
In ice-9/boot-9.scm:
 157: 6 [catch srfi-34 # ...]
 157: 5 [catch system-error ...]
In guix/scripts/system.scm:
 689: 4 [process-action reconfigure ("/etc/config.scm") ...]
In guix/store.scm:
1061: 3 [run-with-store # ...]
In guix/scripts/system.scm:
 508: 2 [# #]
 293: 1 [# #]
 233: 0 [upgrade-shepherd-services #]

guix/scripts/system.scm:233:2: In procedure upgrade-shepherd-services:
guix/scripts/system.scm:233:2: Throw to key `vm-error' with args `(vm-run "Too 
few values returned to continuation" ())'.
--8<---cut here---end--->8---

This is fixed by commit 1d6b7d5.

Ludo’.



Releasing 0.9.1

2016-02-05 Thread Ludovic Courtès
Hello!

I suggest that we release 0.9.1 as soon as we get less than 2 kernel
panic reports per day!

(Just kidding.)

Seriously, I think we should be aiming for a release by the end of the
month.  Here a few rather low-hanging fruits that I think we should
address:

  • Have a GNOME meta-package, or a ‘%gnome-packages’ variable, or
something like that.  We should provide an example of how to get a
GNOME setup.  I think several of you have that already.  宋文武?

  • Proper ‘package-with-python2’ (see .)
It just needs more testing and adjusting existing packages (fewer
lines of code, yay!).

  • There are several bugs reports open regarding container-related test
failures.  I think we should make sure they are addressed and close
them.  David?

  • The nscd issue in the installer image: .
I’ll try to reproduce it in a VM and debug from there.

  • Incorporate root-encryption fixes () and
documentation by Petter.  Petter and Albin, among others, are
already using an encrypted-root setup AIUI, so it’s “just a matter”
of consolidating it.  See also
.

  • The ‘guile@1.8’ syntax patch.  Mathieu?

  • Possibly the GitHub updater, which seemed pretty much ready.  Ben?

Anything else?

I think we should all focus on these tasks and other bugs at
 (help on bug triage is welcome!).

It may be that I won’t be able to handle this release myself because
I’ll soon be busy for family reasons.  :-)  I think it’s a great
opportunity to try and delegate to someone else (I have a few potential
victims in mind that I need to contact ;-)).  The whole process is
documented in ‘doc/release.org’ in guix-maintenance.git and hopefully
intelligible.

Ludo’.



Re: Releasing 0.9.1

2016-02-05 Thread Andreas Enge
On Fri, Feb 05, 2016 at 02:46:24PM +0100, Ludovic Courtès wrote:
> I suggest that we release 0.9.1 as soon as we get less than 2 kernel
> panic reports per day!

Or a week without security update and rebuilding the world.

Andreas




Re: [PATCH] gnu: libcanberra: Add input gtk+-2.

2016-02-05 Thread 宋文武
Fabian Harfert  writes:

> On Thu,  4 Feb 2016 17:04:42 +0100
> Fabian Harfert  wrote:
>
>> * gnu/packages/libcanberra.scm (libcanberra): Add input gtk+-2.
>> ---
>>  gnu/packages/libcanberra.scm | 1 +
>>  1 file changed, 1 insertion(+)
>> 
>> diff --git a/gnu/packages/libcanberra.scm
>> b/gnu/packages/libcanberra.scm index 3769e3f..4110e88 100644
>> --- a/gnu/packages/libcanberra.scm
>> +++ b/gnu/packages/libcanberra.scm
>> @@ -67,6 +67,7 @@
>>  (inputs
>>   `(("alsa-lib" ,alsa-lib)
>> ("gstreamer" ,gstreamer)
>> +   ("gtk+" ,gtk+-2)
>> ("gtk+" ,gtk+)
>> ("libltdl" ,libltdl)
>> ("libvorbis" ,libvorbis)
This will add gtk+-2 to the closure of every gtk+-3 application,
How about add a new libcanberra/gtk+-2 package?



[PATCH 03/04] gnu: Add python2-xdo

2016-02-05 Thread Christopher Allan Webber
>From a3c499a7a2feb3718cc1217cb59f87435dfd271c Mon Sep 17 00:00:00 2001
From: Christopher Allan Webber 
Date: Fri, 5 Feb 2016 19:07:11 -0800
Subject: [PATCH 3/4] gnu: Add python2-xdo

* gnu/packages/python.scm (python2-xdo): New variable.
---
 gnu/packages/python.scm | 31 ++-
 1 file changed, 30 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 48f65b5..5d8c1b4 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -8,7 +8,7 @@
 ;;; Copyright © 2015 Omar Radwan 
 ;;; Copyright © 2015 Pierre-Antoine Rault 
 ;;; Copyright © 2015 Ricardo Wurmus 
-;;; Copyright © 2015 Christopher Allan Webber 
+;;; Copyright © 2015, 2016 Christopher Allan Webber 
 ;;; Copyright © 2015 Eric Dvorsak 
 ;;; Copyright © 2015, 2016 David Thompson 
 ;;; Copyright © 2015, 2016 Leo Famulari 
@@ -72,6 +72,7 @@
   #:use-module (gnu packages base)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
+  #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages zip)
   #:use-module (gnu packages tcl)
   #:use-module (guix packages)
@@ -7498,3 +7499,31 @@ normally the case.")
 
 (define-public python2-pytest-subtesthack
   (package-with-python2 python-pytest-subtesthack))
+
+(define-public python2-xdo
+  (package
+(name "python2-xdo")
+(version "0.2")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"http://http.debian.net/debian/pool/main/p/python-xdo/python-xdo_;
+version ".orig.tar.gz"))
+  (sha256
+   (base32
+"1kl5c1p0dyxf62plnk6fl77ycfb4whwjms16r14dxx8kn90hlqz4"
+(build-system python-build-system)
+(arguments
+ `(#:python ,python-2
+   #:tests? #f))  ; no tests provided
+(inputs
+ `(("xdotool" ,xdotool)
+   ("libX11" ,libx11)))
+(home-page "https://tracker.debian.org/pkg/python-xdo;)
+(synopsis "Python library for simulating X11 keyboard/mouse input (libxdo bindings)")
+;; Note about this being a legacy
+(description "Provides bindings to libxdo for manipulating X11 via simulated
+input.  (Note that this is mostly a legacy library; you may wish to look at
+python-xdo for newer bindings.)")
+(license bsd-3)))
+
-- 
2.6.3




[PATCH 02/04] gnu: xdotools: Update to 3.20150503.1

2016-02-05 Thread Christopher Allan Webber
>From fa531a1f2a6d84232d9c94feb5b3136cd11f83b5 Mon Sep 17 00:00:00 2001
From: Christopher Allan Webber 
Date: Fri, 5 Feb 2016 15:24:01 -0800
Subject: [PATCH 2/4] gnu: xdotools: Update to 3.20150503.1

* gnu/packages/xdisorg.scm (xdotools): Upgrade to 3.20150503.1.
* gnu/packages/patches/xdotool-fix-makefile.patch: New file.
---
 gnu/packages/patches/xdotool-fix-makefile.patch | 16 
 gnu/packages/xdisorg.scm| 14 +-
 2 files changed, 25 insertions(+), 5 deletions(-)
 create mode 100644 gnu/packages/patches/xdotool-fix-makefile.patch

diff --git a/gnu/packages/patches/xdotool-fix-makefile.patch b/gnu/packages/patches/xdotool-fix-makefile.patch
new file mode 100644
index 000..5fed41f
--- /dev/null
+++ b/gnu/packages/patches/xdotool-fix-makefile.patch
@@ -0,0 +1,16 @@
+Fix Makefile, which missed including a necessary library for compiling in the
+0.5.0 release.
+
+See https://github.com/jordansissel/xdotool/pull/81 for more information.
+
+--- xdotool-3.20150503.1/Makefile	2014-10-20 13:05:34.0 -0700
 xdotool-3.20150503.1/Makefile	2016-02-05 14:44:18.652734272 -0800
+@@ -28,7 +28,7 @@
+ CFLAGS+=-g # TODO(sissel): Comment before release
+ CFLAGS+=$(CPPFLAGS)
+ 
+-DEFAULT_LIBS=-L/usr/X11R6/lib -L/usr/local/lib -lX11 -lXtst -lXinerama
++DEFAULT_LIBS=-L/usr/X11R6/lib -L/usr/local/lib -lX11 -lXtst -lXinerama -lxkbcommon
+ DEFAULT_INC=-I/usr/X11R6/include -I/usr/local/include
+ 
+ XDOTOOL_LIBS=$(shell pkg-config --libs x11 2> /dev/null || echo "$(DEFAULT_LIBS)")  $(shell sh platform.sh extralibs)
\ No newline at end of file
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index dc01637..4662fad 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -9,6 +9,7 @@
 ;;; Copyright © 2015 Andy Wingo 
 ;;; Copyright © 2015 xd1le 
 ;;; Copyright © 2015 Florian Paul Schmidt 
+;;; Copyright © 2016 Christopher Allan Webber 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -48,6 +49,7 @@
   #:use-module (gnu packages guile)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages qt)
   #:use-module (gnu packages xorg))
 
 ;; packages outside the x.org system proper
@@ -107,16 +109,17 @@ avoiding password prompts when X11 forwarding has already been setup.")
 (define-public xdotool
   (package
 (name "xdotool")
-(version "2.20110530.1")
+(version "3.20150503.1")
 (source
   (origin
 (method url-fetch)
 (uri (string-append
-  "http://semicomplete.googlecode.com/files/; name "-"
-  version ".tar.gz"))
+  "https://github.com/jordansissel/xdotool/releases/download/v; version
+  "/xdotool-" version ".tar.gz"))
 (sha256
   (base32
-   "0rxggg1cy7nnkwidx8x2w3c5f3pk6dh2b6q0q7hp069r3n5jrd77"
+   "1lcngsw33fy9my21rdiz1gs474bfdqcfxjrnfggbx4aypn1nhcp8"))
+(patches (list (search-patch "xdotool-fix-makefile.patch")
 (build-system gnu-build-system)
 (arguments
  '(#:tests? #f ; Test suite requires a lot of black magic
@@ -134,7 +137,8 @@ avoiding password prompts when X11 forwarding has already been setup.")
   ("libxext" ,libxext)
   ("libxi" ,libxi)
   ("libxinerama" ,libxinerama)
-  ("libxtst" ,libxtst)))
+  ("libxtst" ,libxtst)
+  ("libxkbcommon" ,libxkbcommon)))
 (home-page "http://www.semicomplete.com/projects/xdotool;)
 (synopsis "Fake keyboard/mouse input, window management, and more")
 (description "Xdotool lets you simulate keyboard input and mouse activity,
-- 
2.6.3




[PATCH 01/04] gnu: Add python-pygpgme

2016-02-05 Thread Christopher Allan Webber
First of several patches on the path to assword!

>From 2137270785d39d2592e4ffc2b3c3253fd0daf540 Mon Sep 17 00:00:00 2001
From: Christopher Allan Webber 
Date: Fri, 5 Feb 2016 11:06:54 -0800
Subject: [PATCH 1/4] gnu: Add python-pygpgme

* gnu/packages/gnupg.scm (python-pygpgme, python2-pygpgme): New variables.
* gnu/packages/patches/pygpgme-disable-problematic-tests.patch: New file.
---
 gnu/packages/gnupg.scm | 42 ++
 .../pygpgme-disable-problematic-tests.patch| 37 +++
 2 files changed, 79 insertions(+)
 create mode 100644 gnu/packages/patches/pygpgme-disable-problematic-tests.patch

diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index 501cf55..bdc5e4a 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -5,6 +5,7 @@
 ;;; Copyright © 2014, 2015 Mark H Weaver 
 ;;; Copyright © 2015 Paul van der Walt 
 ;;; Copyright © 2015, 2016 Efraim Flashner 
+;;; Copyright © 2016 Christopher Allan Webber 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -23,6 +24,7 @@
 
 (define-module (gnu packages gnupg)
   #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (gnu packages)
   #:use-module (gnu packages adns)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages openldap)
@@ -332,6 +334,46 @@ instead.  This way bug fixes or improvements can be done at a central place
 and every application benefits from this.")
 (license license:lgpl2.1+)))
 
+(define-public python-pygpgme
+  (package
+(name "python-pygpgme")
+(version "0.3")
+(source
+ (origin
+   (method url-fetch)
+   (uri (pypi-uri "pygpgme" version))
+   (sha256
+(base32
+ "1q82p3gs6lwq8j8dxk4pvrwk3jpww1zqcjrzznl9clh10z28gn2z"))
+   ;; Unfortunately, we have to disable some tests due to some gpg-agent
+   ;; goofiness... see:
+   ;;   https://bugs.launchpad.net/pygpgme/+bug/49
+   (patches (list (search-patch "pygpgme-disable-problematic-tests.patch")
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (add-before 'build 'make-build
+ (lambda (. args)
+   (zero? (system* "make" "build"
+ (replace 'check
+   (lambda _
+ (zero? (system* "make" "check")))
+(build-system python-build-system)
+(inputs
+ `(("python-setuptools" ,python-setuptools)
+   ("gnupg" ,gnupg-2.0)
+   ("gpgme" ,gpgme)))
+(home-page "https://launchpad.net/pygpgme;)
+(synopsis
+ "A Python module for working with OpenPGP messages")
+(description
+ "PyGPGME is a Python module that lets you sign, verify, encrypt and
+decrypt messages using the OpenPGP format.")
+(license license:lgpl2.1+)))
+
+(define-public python2-pygpgme
+  (package-with-python2 python-pygpgme))
+
 (define-public python-gnupg
   (package
 (name "python-gnupg")
diff --git a/gnu/packages/patches/pygpgme-disable-problematic-tests.patch b/gnu/packages/patches/pygpgme-disable-problematic-tests.patch
new file mode 100644
index 000..2129d2f
--- /dev/null
+++ b/gnu/packages/patches/pygpgme-disable-problematic-tests.patch
@@ -0,0 +1,37 @@
+These tests require a gpg agent to run, and are difficult to get to work right
+in Guix's environment.  For more details, see:
+  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=713074
+  https://bugs.launchpad.net/pygpgme/+bug/49
+
+--- pygpgme-0.3/tests/test_encrypt_decrypt.py	2012-02-28 19:10:28.0 -0800
 pygpgme-0.3/tests/test_encrypt_decrypt.py	2016-02-05 10:21:58.966685384 -0800
+@@ -125,7 +125,7 @@
+ ctx.decrypt(ciphertext, plaintext)
+ self.assertEqual(plaintext.getvalue(), b'Hello World\n')
+ 
+-def test_encrypt_symmetric(self):
++def skip_test_encrypt_symmetric(self):
+ plaintext = BytesIO(b'Hello World\n')
+ ciphertext = BytesIO()
+ def passphrase(uid_hint, passphrase_info, prev_was_bad, fd):
+
+--- pygpgme-0.3/tests/test_passphrase.py	2012-02-28 19:04:17.0 -0800
 pygpgme-0.3/tests/test_passphrase.py	2016-02-05 10:21:47.990630956 -0800
+@@ -30,7 +30,7 @@
+ 
+ import_keys = ['passphrase.pub', 'passphrase.sec']
+ 
+-def test_sign_without_passphrase_cb(self):
++def skip_test_sign_without_passphrase_cb(self):
+ ctx = gpgme.Context()
+ key = ctx.get_key('EFB052B4230BBBC51914BCBB54DCBBC8DBFB9EB3')
+ ctx.signers = [key]
+@@ -51,7 +51,7 @@
+ self.prev_was_bad = prev_was_bad
+ os.write(fd, b'test\n')
+ 
+-def test_sign_with_passphrase_cb(self):
++def skip_test_sign_with_passphrase_cb(self):
+ ctx = gpgme.Context()
+ key = ctx.get_key('EFB052B4230BBBC51914BCBB54DCBBC8DBFB9EB3')
+ ctx.signers = [key]
-- 
2.6.3



[PATCH 04/04] gnu: Add assword

2016-02-05 Thread Christopher Allan Webber
Finally!

>From ae7427c9863b12281e4b23297f4c241548aa0d40 Mon Sep 17 00:00:00 2001
From: Christopher Allan Webber 
Date: Fri, 5 Feb 2016 19:18:41 -0800
Subject: [PATCH 4/4] gnu: Add assword

* gnu/packages/password-utils (assword): New variable.
---
 gnu/packages/password-utils.scm | 48 -
 1 file changed, 47 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm
index 9cd4846..41f32ef 100644
--- a/gnu/packages/password-utils.scm
+++ b/gnu/packages/password-utils.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2015 Steve Sprang 
 ;;; Copyright © 2015 Efraim Flashner 
 ;;; Copyright © 2015 Aljosha Papsch 
+;;; Copyright © 2016 Christopher Allan Webber 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -26,13 +27,17 @@
   #:use-module (guix packages)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages gnupg)
+  #:use-module (gnu packages gtk)
   #:use-module (gnu packages guile)
+  #:use-module (gnu packages man)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages python)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages xdisorg)
-  #:use-module (gnu packages xorg))
+  #:use-module (gnu packages xorg)
+  #:use-module (guix build-system python))
 
 (define-public pwgen
   (package
@@ -185,3 +190,44 @@ passwords that could be guessed by crack by filtering them out, at source.")
  "Libpwquality is a library for password quality checking and generation of
 random passwords that pass the checks.")
 (license license:gpl2+)))
+
+(define-public assword
+  (package
+(name "assword")
+(version "0.8")
+(source (origin
+  (method url-fetch)
+  (uri (list
+(string-append
+ "http://http.debian.net/debian/pool/main/a/assword/;
+ "assword_" version ".orig.tar.gz")))
+  (sha256
+   (base32
+"0dl4wizbi0r21wxzykm8s445xbvqim5nabi799dmpkdnnh8i546i"
+(arguments
+ `(#:python ,python-2
+   #:tests? #f
+   #:phases
+   (modify-phases %standard-phases
+ (add-after 'install 'manpage
+   (lambda* (#:key outputs #:allow-other-keys)
+ (zero? (system* "make" "assword.1"))
+ (install-file
+  "assword.1"
+  (string-append (assoc-ref outputs "out") "/share/man/man1")))
+(build-system python-build-system)
+(inputs
+ `(("python-setuptools" ,python2-setuptools)
+   ("python2-xdo" ,python2-xdo)
+   ("python2-pygpgme" ,python2-pygpgme)
+   ("python2-pygtk" ,python2-pygtk)
+   ("help2man" ,help2man)))
+(propagated-inputs
+ `(("xclip" ,xclip)))
+(home-page "https://finestructure.net/assword/;)
+(synopsis "Simple and secure password management system")
+(description "assword is a simple password manager using GPG-wrapped
+json files.  It has a command line interface as well as a very simple
+graphical interface, which can even \"type\" your passwords into
+any x11 window.")
+(license license:gpl3+)))
-- 
2.6.3



Re: [PATCH 04/04] gnu: Add assword

2016-02-05 Thread Eric Bavier
On Fri, 05 Feb 2016 19:49:30 -0800
Christopher Allan Webber  wrote:

> * gnu/packages/password-utils (assword): New variable.
> ---
>  gnu/packages/password-utils.scm | 48 
> -
>  1 file changed, 47 insertions(+), 1 deletion(-)
> 
> diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm
[...]
> +(define-public assword
> +  (package
> +(name "assword")
> +(version "0.8")
> +(source (origin
> +  (method url-fetch)
> +  (uri (list
> +(string-append
> + "http://http.debian.net/debian/pool/main/a/assword/;
> + "assword_" version ".orig.tar.gz")))
> +  (sha256
> +   (base32
> +"0dl4wizbi0r21wxzykm8s445xbvqim5nabi799dmpkdnnh8i546i"
> +(arguments
> + `(#:python ,python-2
> +   #:tests? #f

Could you add a comment saying why the tests are disabled, even if
just "no tests"?

> +   #:phases
> +   (modify-phases %standard-phases
> + (add-after 'install 'manpage
> +   (lambda* (#:key outputs #:allow-other-keys)
> + (zero? (system* "make" "assword.1"))
> + (install-file
> +  "assword.1"
> +  (string-append (assoc-ref outputs "out") 
> "/share/man/man1")))

You might need to wrap the two steps of this procedure in an "and" so
that the value of the "(zero? (system* ...))" isn't lost.

> +(build-system python-build-system)
> +(inputs
> + `(("python-setuptools" ,python2-setuptools)
> +   ("python2-xdo" ,python2-xdo)
> +   ("python2-pygpgme" ,python2-pygpgme)
> +   ("python2-pygtk" ,python2-pygtk)
> +   ("help2man" ,help2man)))

If help2man is only needed for manpage generation it would be best in
native-inputs.

> +(propagated-inputs
> + `(("xclip" ,xclip)))
> +(home-page "https://finestructure.net/assword/;)
> +(synopsis "Simple and secure password management system")

Perhaps just "Password manager"?

> +(description "assword is a simple password manager using GPG-wrapped
> +json files.  It has a command line interface as well as a very simple
> +graphical interface, which can even \"type\" your passwords into
> +any x11 window.")

s/json/JSON/;s/x11/X11/

Otherwise LGTM!

Thanks,
`~Eric