[PATCH 1/3] emacs: Add "c" key binding to copy a button link.

2014-11-09 Thread Alex Kost
I think it may be useful to copy the current URL or file path by
pressing "c".

>From c55a306d9a0588b3950e2905fb288200c27faa84 Mon Sep 17 00:00:00 2001
From: Alex Kost 
Date: Sat, 8 Nov 2014 20:13:32 +0300
Subject: [PATCH 1/3] emacs: Add "c" key binding to copy a button link.

* emacs/guix-info.el (guix-info-button-map): New variable.
  (guix-info-button-copy-label): New procedure.
* doc/emacs.texi (Emacs Info buffer): Mention a "c" key binding.
  (Emacs Keymaps): Add 'guix-info-button-map'.
---
 doc/emacs.texi |  6 ++
 emacs/guix-info.el | 16 
 2 files changed, 22 insertions(+)

diff --git a/doc/emacs.texi b/doc/emacs.texi
index 89e2570..ad2dcd8 100644
--- a/doc/emacs.texi
+++ b/doc/emacs.texi
@@ -290,6 +290,9 @@ emacs, The GNU Emacs Manual}) which can be used to:
 
 @end itemize
 
+It is also possible to copy a button label (a link to an URL or a file)
+by pressing @kbd{c} on a button.
+
 
 @node Emacs Configuration
 @subsection Configuration
@@ -397,6 +400,9 @@ Keymap with specific keys for ``output-info'' buffers.
 @item guix-generation-info-mode-map
 Keymap with specific keys for ``generation-info'' buffers.
 
+@item guix-info-button-map
+Keymap with keys available when a point is placed on a button.
+
 @end table
 
 @node Emacs Appearance
diff --git a/emacs/guix-info.el b/emacs/guix-info.el
index 88363e5..edb4450 100644
--- a/emacs/guix-info.el
+++ b/emacs/guix-info.el
@@ -313,7 +313,15 @@ VAL is a list, call the function on each element of this list."
 
 ;;; Buttons
 
+(defvar guix-info-button-map
+  (let ((map (make-sparse-keymap)))
+(set-keymap-parent map button-map)
+(define-key map (kbd "c") 'guix-info-button-copy-label)
+map)
+  "Keymap for buttons in info buffers.")
+
 (define-button-type 'guix
+  'keymap guix-info-button-map
   'follow-link t)
 
 (define-button-type 'guix-action
@@ -350,6 +358,14 @@ VAL is a list, call the function on each element of this list."
 (guix-get-show-entries guix-profile 'info guix-package-info-type
'name (button-label btn
 
+(defun guix-info-button-copy-label (&optional pos)
+  "Copy a label of the button at POS into kill ring.
+If POS is nil, use the current point position."
+  (interactive)
+  (let ((button (button-at (or pos (point)
+(when button
+  (kill-new (button-label button)
+
 (defun guix-info-insert-action-button (label action &optional message
  &rest properties)
   "Make action button with LABEL and insert it at point.
-- 
2.1.2



[PATCH 3/3] emacs: Add "Source" field to 'guix-info' buffers.

2014-11-09 Thread Alex Kost
This patch adds URL of a package source and 2 buttons ("Show" and
"Download") to an ‘info’ buffer (see the attached screenshot).

Pushing the "Show" button displays a store path of the package source.
Pushing the "Download" button has the same meaning as “guix build -S …”.

>From c879b5520718726366a5afd83143315a16ab29a7 Mon Sep 17 00:00:00 2001
From: Alex Kost 
Date: Sun, 9 Nov 2014 11:03:39 +0300
Subject: [PATCH 3/3] emacs: Add "Source" field to 'guix-info' buffers.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Suggested by Ludovic Courtès.

* emacs/guix-info.el (guix-info-insert-methods, guix-info-displayed-params):
  Add 'source' parameter.
  (guix-package-info-source): New face.
  (guix-package-info-find-source-p): New variable.
  (guix-package-source): New button type.
  (guix-info-redisplay-entries, guix-package-info-insert-source-url,
  guix-package-info-show-source, guix-package-info-insert-source): New
  procedures.
* emacs/guix-base.el (guix-param-titles): Add 'source' parameter.
  (guix-package-source-path, guix-package-source-build-derivation): New
  procedures.
* emacs/guix-main.scm (%package-param-alist): Add 'source' parameter.
  (package-source-names, package-source-derivation->store-path,
  package-source-path, package-source-build-derivation): New procedures.
---
 emacs/guix-base.el  |  20 +
 emacs/guix-info.el  | 116 +---
 emacs/guix-main.scm |  49 ++
 3 files changed, 179 insertions(+), 6 deletions(-)

diff --git a/emacs/guix-base.el b/emacs/guix-base.el
index 784474e..a542a0c 100644
--- a/emacs/guix-base.el
+++ b/emacs/guix-base.el
@@ -82,6 +82,7 @@ Interactively, prompt for PATH.  With prefix, use
  (id. "ID")
  (name  . "Name")
  (version   . "Version")
+ (source. "Source")
  (license   . "License")
  (synopsis  . "Synopsis")
  (description   . "Description")
@@ -100,6 +101,7 @@ Interactively, prompt for PATH.  With prefix, use
  (id. "ID")
  (name  . "Name")
  (version   . "Version")
+ (source. "Source")
  (license   . "License")
  (synopsis  . "Synopsis")
  (description   . "Description")
@@ -1008,6 +1010,24 @@ Each element from GENERATIONS is a generation number."
   'switch-to-generation profile generation)
  operation-buffer)))
 
+(defun guix-package-source-path (package-id)
+  "Return a store file path to a source of a package PACKAGE-ID."
+  (message "Calculating the source derivation ...")
+  (guix-eval-read
+   (guix-make-guile-expression
+'package-source-path package-id)))
+
+(defun guix-package-source-build-derivation (package-id)
+  "Build source derivation of a package PACKAGE-ID."
+  (when (or (not guix-operation-confirm)
+(guix-operation-prompt))
+(guix-eval-in-repl
+ (guix-make-guile-expression
+  'package-source-build-derivation
+  package-id
+  :use-substitutes? (or guix-use-substitutes 'f)
+  :dry-run? (or guix-dry-run 'f)
+

 ;;; Pull
 
diff --git a/emacs/guix-info.el b/emacs/guix-info.el
index edb4450..bd56937 100644
--- a/emacs/guix-info.el
+++ b/emacs/guix-info.el
@@ -1,4 +1,4 @@
-;;; guix-info.el --- Info buffers for displaying entries
+;;; guix-info.el --- Info buffers for displaying entries   -*- lexical-binding: t -*-
 
 ;; Copyright © 2014 Alex Kost 
 
@@ -24,7 +24,6 @@
 
 ;;; Code:
 
-(require 'guix-history)
 (require 'guix-base)
 (require 'guix-utils)
 
@@ -107,6 +106,8 @@ number of characters, it will be split into several lines.")
 guix-info-insert-title-simple)
  (outputs   guix-package-info-insert-outputs
 guix-info-insert-title-simple)
+ (sourceguix-package-info-insert-source
+guix-info-insert-title-simple)
  (home-url  guix-info-insert-url)
  (inputsguix-package-info-insert-inputs)
  (native-inputs guix-package-info-insert-native-inputs)
@@ -121,6 +122,8 @@ number of characters, it will be split into several lines.")
  (name  guix-package-info-name)
  (version   guix-output-info-insert-version)
  (outputguix-output-info-insert-output)
+ (sourceguix-package-info-insert-source
+guix-info-insert-title-simple)
  (path  guix-package-info-insert-output-path
 guix-info-insert-title-simple)
  (dependencies  guix-package-info-insert-output-dependencies
@@ -157,10 +160,11 @@ is a function, this function is called with parameter title as
 argument.")
 
 (defvar guix-info-displayed-params
-  '((package name version synopsis outputs location home-url
+  '((package name version synopsis outputs source location home-url
  license 

[PATCH 2/3] emacs: Restore mode-line after operation prompt.

2014-11-09 Thread Alex Kost
Earlier a prompt “Continue operation? (y, n, s, d)” was used only with a
temporary buffer for package operations and there were no problems with
modifying a mode-line there.

But now (I mean after the next patch) it is also used to prompt before
building a source derivation (as "substitutes" and "dry-run" make sence
there too).  This patch will handle this case.

>From 8036ec72ef486c158683ce67a1a5f15056de0cc4 Mon Sep 17 00:00:00 2001
From: Alex Kost 
Date: Sun, 9 Nov 2014 11:00:35 +0300
Subject: [PATCH 2/3] emacs: Restore mode-line after operation prompt.

* emacs/guix-base.el (guix-operation-prompt): Restore 'mode-line-format' after
  prompting.
---
 emacs/guix-base.el | 10 ++
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/emacs/guix-base.el b/emacs/guix-base.el
index 3dda938..784474e 100644
--- a/emacs/guix-base.el
+++ b/emacs/guix-base.el
@@ -928,7 +928,7 @@ ENTRIES is a list of package entries to get info about packages."
 (insert "\n")))
 
 (defun guix-operation-prompt ()
-  "Prompt a user for continuing the current package operation.
+  "Prompt a user for continuing the current operation.
 Return non-nil, if the operation should be continued; nil otherwise."
   (let* ((option-keys (mapcar #'guix-operation-option-key
   guix-operation-options))
@@ -943,9 +943,11 @@ Return non-nil, if the operation should be continued; nil otherwise."
   keys
   ", ")
  ") ")))
-(prog1 (guix-operation-prompt-1 prompt keys)
-  ;; Clear the minibuffer after prompting.
-  (message ""
+(let ((mode-line mode-line-format))
+  (prog1 (guix-operation-prompt-1 prompt keys)
+(setq mode-line-format mode-line)
+;; Clear the minibuffer after prompting.
+(message "")
 
 (defun guix-operation-prompt-1 (prompt keys)
   "This function is internal for `guix-operation-prompt'."
-- 
2.1.2



Libtool

2014-11-09 Thread Andreas Enge
Hello,

I need a newer libtool, and thought it would have to go into core-updates. But:
$ guix refresh -l libtool
Building the following 93 packages would ensure 162 dependent packages are 
rebuilt

So should I update in master instead?

Andreas




1000

2014-11-09 Thread Andreas Enge
Hello,

if my count is correct, I just pushed package number 1000:
$ guix package -A|wc -l
1000

The package itself is not so exciting, but the number is something
to celebrate!

Andreas




Re: [PATCH] gnu: cross-base: Add libc/hurd.

2014-11-09 Thread Manolis Ragkousis
In crossbase.scm I merged libc and libc/hurd into libc. It chooses the
right libc based on target.
Also included a fix for the autoconf input on hurd-minimal.

Before testing it, do make clean && make on the wip-hurd branch.

Manolis
From e0fa86ca6fa59e8365188e19b4360ccf71e309f2 Mon Sep 17 00:00:00 2001
From: Manolis Ragkousis 
Date: Sun, 26 Oct 2014 11:29:41 +
Subject: [PATCH] gnu: cross-base: Add libc/hurd.

* gnu/packages/cross-base.scm (cross-libc): Added libc/hurd.
---
 gnu/packages/cross-base.scm | 159 +---
 gnu/packages/hurd.scm   |   2 +-
 2 files changed, 137 insertions(+), 24 deletions(-)

diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index 90fc606..4ea6076 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -23,6 +23,7 @@
   #:use-module (gnu packages base)
   #:use-module (gnu packages commencement)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages hurd)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix utils)
@@ -238,30 +239,142 @@ XBINUTILS and the cross tool chain."
   (native-inputs `(("cross-gcc" ,xgcc)
("cross-binutils" ,xbinutils)
,@(package-native-inputs linux-libre-headers)
+  
+  (define xgnumach-headers
+(package (inherit gnumach-headers)
+  (name (string-append (package-name gnumach-headers)
+   "-cross-" target))
 
-  (package (inherit glibc)
-(name (string-append "glibc-cross-" target))
-(arguments
- (substitute-keyword-arguments
- `(#:strip-binaries? #f; disable stripping (see above)
-   ,@(package-arguments glibc))
-   ((#:configure-flags flags)
-`(cons ,(string-append "--host=" target)
-   ,flags))
-   ((#:phases phases)
-`(alist-cons-before
-  'configure 'set-cross-linux-headers-path
-  (lambda* (#:key inputs #:allow-other-keys)
-(let ((linux (assoc-ref inputs "cross-linux-headers")))
-  (setenv "CROSS_CPATH"
-  (string-append linux "/include"))
-  #t))
-  ,phases
-
-(propagated-inputs `(("cross-linux-headers" ,xlinux-headers)))
-(native-inputs `(("cross-gcc" ,xgcc)
- ("cross-binutils" ,xbinutils)
- ,@(package-native-inputs glibc)
+  (native-inputs `(("cross-gcc" ,xgcc)
+   ("cross-binutils" ,xbinutils)
+   ,@(package-native-inputs gnumach-headers)
+
+  (define xmig
+(package (inherit mig)
+  (name (string-append "mig-cross"))
+  (arguments
+   (substitute-keyword-arguments (package-arguments mig)
+ ((#:configure-flags flags)
+  `(cons ,(string-append "--host=" target)
+ ,flags
+
+  (propagated-inputs `(("cross-gnumach-headers" ,xgnumach-headers)))
+  (native-inputs `(("cross-gcc" ,xgcc)
+   ("cross-binutils" ,xbinutils)
+   ,@(package-native-inputs mig)
+
+  (define xhurd-headers
+(package (inherit hurd-headers)
+  (name (string-append (package-name hurd-headers)
+   "-cross-" target))
+
+  (native-inputs `(("cross-gcc" ,xgcc)
+   ("cross-binutils" ,xbinutils)
+   ("cross-mig" ,xmig)
+   ,@(alist-delete "mig"(package-native-inputs hurd-headers))
+
+  (define xglibc/hurd-headers
+(package (inherit glibc/hurd-headers)
+  (name (string-append (package-name glibc/hurd-headers)
+   "-cross-" target))
+
+  (arguments
+   (substitute-keyword-arguments (package-arguments glibc/hurd-headers)
+ ((#:phases phases)
+  `(alist-cons-before
+'pre-configure 'set-cross-headers-path
+(lambda* (#:key inputs #:allow-other-keys)
+  (let ((mach (assoc-ref inputs "gnumach-headers"))
+(hurd (assoc-ref inputs "hurd-headers")))
+(setenv "CROSS_CPATH"
+(string-append mach "/include:"
+   hurd "/include"
+,phases
+
+  (propagated-inputs `(("gnumach-headers" ,xgnumach-headers)
+   ("hurd-headers" ,xhurd-headers)))
+
+  (native-inputs `(("cross-gcc" ,xgcc)
+   ("cross-binutils" ,xbinutils)
+   ("cross-mig" ,xmig)
+   ,@(alist-delete "mig"(package-native-inputs glibc/hurd-headers))
+
+  (define xhurd-minimal
+(package (inherit hurd-minimal)
+  (name (string-append (package-name hurd-minimal)
+   "-cross-" target))
+  (arguments
+   (substitute-keyword-arguments (package-arguments hurd-minimal)
+ ((#:phases phases)
+  `(alist-cons-before
+'configur

Re: 1000

2014-11-09 Thread Alex Sassmannshausen
W00t! I'll drink to Guix tonight :-)

Alex

Andreas Enge writes:

> Hello,
>
> if my count is correct, I just pushed package number 1000:
> $ guix package -A|wc -l
> 1000
>
> The package itself is not so exciting, but the number is something
> to celebrate!
>
> Andreas




Re: [PATCH 1/2] gnu: Add sdl-union.

2014-11-09 Thread Ludovic Courtès
David Thompson  skribis:

> From 6b119f2ab64f84ff03d1ddf9a1b3c715a3b17e9f Mon Sep 17 00:00:00 2001
> From: David Thompson 
> Date: Sun, 2 Nov 2014 11:54:20 -0500
> Subject: [PATCH 1/2] gnu: Add sdl-union.
>
> * gnu/packages/sdl.scm (sdl-union): New variable.

LGTM!

> +(synopsis "Union of all SDL libraries.")
^
Please remove the period before committing.

Thanks,
Ludo’.



Re: [PATCH 2/2] gnu: Add guile-sdl.

2014-11-09 Thread Ludovic Courtès
David Thompson  skribis:

> From 215bd5af729055196da818518c816f7fd08e6a06 Mon Sep 17 00:00:00 2001
> From: David Thompson 
> Date: Sun, 2 Nov 2014 11:55:21 -0500
> Subject: [PATCH 2/2] gnu: Add guile-sdl.
>
> * gnu/packages/sdl.scm (guile-sdl): New variable.

LGTM!  Nice work with the tests.

> +(synopsis "SDL bindings for GNU Guile.")
> +(description "Guile-SDL is a set of modules that provide bindings for SDL
> +to enable Guile programmers to do all the nice things you can do with SDL.")

Please run ‘make sync-descriptions’ and use whatever synopsis and
description it suggests.

OK to commit with this change.

Thank you!

Ludo’.



Re: [PATCH 1/3] emacs: Add "c" key binding to copy a button link.

2014-11-09 Thread Ludovic Courtès
Alex Kost  skribis:

> I think it may be useful to copy the current URL or file path by
> pressing "c".
>
>
> From c55a306d9a0588b3950e2905fb288200c27faa84 Mon Sep 17 00:00:00 2001
> From: Alex Kost 
> Date: Sat, 8 Nov 2014 20:13:32 +0300
> Subject: [PATCH 1/3] emacs: Add "c" key binding to copy a button link.
>
> * emacs/guix-info.el (guix-info-button-map): New variable.
>   (guix-info-button-copy-label): New procedure.
> * doc/emacs.texi (Emacs Info buffer): Mention a "c" key binding.
>   (Emacs Keymaps): Add 'guix-info-button-map'.

Sure, please push, thanks!

Ludo’.




Re: [PATCH 2/3] emacs: Restore mode-line after operation prompt.

2014-11-09 Thread Ludovic Courtès
Alex Kost  skribis:

> Earlier a prompt “Continue operation? (y, n, s, d)” was used only with a
> temporary buffer for package operations and there were no problems with
> modifying a mode-line there.
>
> But now (I mean after the next patch) it is also used to prompt before
> building a source derivation (as "substitutes" and "dry-run" make sence
> there too).  This patch will handle this case.
>
>
> From 8036ec72ef486c158683ce67a1a5f15056de0cc4 Mon Sep 17 00:00:00 2001
> From: Alex Kost 
> Date: Sun, 9 Nov 2014 11:00:35 +0300
> Subject: [PATCH 2/3] emacs: Restore mode-line after operation prompt.
>
> * emacs/guix-base.el (guix-operation-prompt): Restore 'mode-line-format' after
>   prompting.

Okay!

Ludo'.



Re: [PATCH 3/3] emacs: Add "Source" field to 'guix-info' buffers.

2014-11-09 Thread Ludovic Courtès
Alex Kost  skribis:

> This patch adds URL of a package source and 2 buttons ("Show" and
> "Download") to an ‘info’ buffer (see the attached screenshot).
>
> Pushing the "Show" button displays a store path of the package source.
> Pushing the "Download" button has the same meaning as “guix build -S …”.

This is very cool!

I had in mind a slightly simpler user interface: just a “View source”
button.  The thing would build (package-source-derivation p),
effectively downloading it if it’s not already present, and opening it
in dired.

With the interface you propose, things might be slightly confusing:
sometimes clicking on “Download” will do nothing (because the source is
already there), sometime “Show” will work without “Download”, sometimes
not, etc.  Also it takes up quite a bit of space.

WDYT?

Thanks,
Ludo’.



Re: Libtool

2014-11-09 Thread Ludovic Courtès
Andreas Enge  skribis:

> I need a newer libtool, and thought it would have to go into core-updates. 
> But:
> $ guix refresh -l libtool
> Building the following 93 packages would ensure 162 dependent packages are 
> rebuilt
>
> So should I update in master instead?

core-updates, please: Guile depends on it, and everything depends
on Guile.

(Now, you’ve probably found a good case for Eric to study.  ;-))

Ludo’.



Re: 1000

2014-11-09 Thread Ludovic Courtès
Andreas Enge  skribis:

> if my count is correct, I just pushed package number 1000:
> $ guix package -A|wc -l
> 1000
>
> The package itself is not so exciting, but the number is something
> to celebrate!

Heheh, congrats and e-cheers to everyone celebrating it!  ;-)

Thanks to everyone who’s made it possible!

Ludo’.



Re: Libtool

2014-11-09 Thread Andreas Enge
On Sun, Nov 09, 2014 at 06:47:19PM +0100, Ludovic Courtès wrote:
> (Now, you’ve probably found a good case for Eric to study.  ;-))

I have another one:

$ guix refresh -l acl
Building the following 95 packages would ensure 195 dependent packages are 
rebuilt

Andreas




Re: Libtool

2014-11-09 Thread Andreas Enge
The test suite has been rewritten, the patches do not apply any more, and
some of the tests they disabled do not seem to exist any more. The current
test results are:
ERROR: 137 tests were run,
66 failed (59 expected failures).
32 tests were skipped.

So there are 7 failed tests now. I am attaching the testsuite.log and leave
it to the specialists (Ludovic?) to decide whether they fall into the same
category as the previously disabled tests.

Also the NEWS file speaks about tests:
  - The legacy tests have all been migrated to the Autotest harness.
  - The Autotest testsuite can be run without the especially time consuming
tests with:
make check-local TESTSUITEFLAGS='-k "!expensive"'

So I wonder whether the 'pre-check phase should not be dropped now.

Andreas



testsuite.log.bz2
Description: Binary data


Re: [PATCH 3/3] emacs: Add "Source" field to 'guix-info' buffers.

2014-11-09 Thread Alex Kost
Ludovic Courtès (2014-11-09 20:45 +0300) wrote:

> Alex Kost  skribis:
>
>> This patch adds URL of a package source and 2 buttons ("Show" and
>> "Download") to an ‘info’ buffer (see the attached screenshot).
>>
>> Pushing the "Show" button displays a store path of the package source.
>> Pushing the "Download" button has the same meaning as “guix build -S …”.
>
> This is very cool!
>
> I had in mind a slightly simpler user interface: just a “View source”
> button.  The thing would build (package-source-derivation p),
> effectively downloading it if it’s not already present, and opening it
> in dired.

I don't think opening in dired should be a default (although I made
‘guix-package-info-find-source-p’ variable +for you+ for this case)
because there may be a big compressed tarball that a user wouldn't like
to uncompress with emacs tar-mode.  I think displaying a link is the
preferable variant as a user can open the file or copy its path if he
wants.

Also you suggest to make “View source” synchronous: build a source
derivation, download it and open in dired.  Did I understand it right?

As this process may take a long time (for big sources or for git
checkouts if a user doesn't have a necessary git infrastructure), I
think it should be evaluated asynchronously in a REPL and it's not
possible (at least not easy) to define what value was returned by a REPL
command, so no way to define what file to open in dired.

Also what if I want to define whether there is a source in the store or
not?  (And I don't want to download it if it's not there.)  With your
variant of a single “View source” button it would not be possible, as
the source that doesn't exist in the store will be downloaded
unconditionally.

> With the interface you propose, things might be slightly confusing:
> sometimes clicking on “Download” will do nothing (because the source is
> already there), sometime “Show” will work without “Download”, sometimes
> not, etc.  Also it takes up quite a bit of space.

Sorry, I didn't get it.  What space do you mean?

> WDYT?

Pushing a “Download” button will always do something: it will run some
command in a REPL and will always display a store path in the end.  And
«Hey, USER, what did you expect from a “Download” button if the source
is already downloaded?»

But if you find it confusing what about the following variant: initially
there will be only “Show” button and when you press it, “Download”
button appears only if the source does not exist in the store.  After
a successful downloading, it disappears again.

-- 
Alex



address@hidden: ATLAS fails to build on mips]

2014-11-09 Thread Federico Beffa
Andreas Enge  writes:

> As I am not sure if Fede is subscribed to the bug mailing list,
> I am forwarding my report here. It is
>http://debbugs.gnu.org/cgi/bugreport.cgi?bug=18933
>
> Andreas
>
>
> - Forwarded message from Andreas Enge  -
> ATLAS fails to build on mipsel64:
>http://hydra.gnu.org/build/133025

As I have no practical experience with MIPS platforms, I'm writing here
to seek some advice.

The ATLAS build log for the mipsel64 platform seems to indicate that the
configure program is not able to find out the system architecture.  To
try to fix the problem we could specify the architecture with the help
of a configure parameter.  ATLAS supports the following two options for
MIPS:

49 = 'MIPSR1xK'
50 = 'MIPSICE9'

I have the following questions:

1. Do we support one, or both of these architectures?

2. If we do support both, what is the value of %current-system for them
both?

3. If they are the same, how can we distinguish between them?

As a side note: The Debian Wheezy package appears to use architecture
0 = 'UNKNOWN', which is what we currently do by not specifying any
architecture explicitly.  This tells ATLAS to find out by probing.  I'm
not sure why this is failing for us.

Thanks!
Fede



Re: bug#18534: problems with "guix pull"

2014-11-09 Thread Ludovic Courtès
l...@gnu.org (Ludovic Courtès) skribis:

> The old ‘guix pull’ didn’t now about the gnu.scm file, hence the error
> (this was fixed in June, in commit 9d0b8fbd.)
>
> That means you have to actually run ‘guix pull’ from 0.7, or from a
> recent checkout.
>
> The fact that ‘guix pull’ can potentially break for some future version
> is unfortunate.  It would be ideal if instead of using its own build
> recipe, it would use one from the tarball.

[...]

> Igor Gajsin  skribis:
> 
> > This is a output of `guix pull --verbose`
> >
> > compiling
> > /gnu/store/akma9bmmjnizkv9sj1669wa8x4abrzyp-guix-latest/guix/import/pypi.scm'...
> > ERROR: no code for module (json)
> 
> For now, this problem can be worked around as described here:
> 
>   http://lists.gnu.org/archive/html/guix-devel/2014-09/msg00488.html

This bug should be fixed by f81ac34.

The idea is that the build recipe that is executed is now taken from the
newly-downloaded Guix.  Before that, we would use the build recipe from
whatever Guix version was running, hence this kind of problems.

Comments and testing welcome!

Thanks,
Ludo’.



Propagated inputs

2014-11-09 Thread Andreas Enge
Hello,

polkit builds two libraries, polkit-agent and polkit-gobject. According to
pkg-config, the second one
   Requires: gio-2.0 >= 2.18 glib-2.0 >= 2.18,
while the first one requires nothing.

So I decided to not propagate the glib input (which also contains gio), as
potentially one could use the first library without glib. Or is it our
policy to propagate inputs as soon as any of the built libraries requires
them?

Andreas




Re: [PATCH 3/3] emacs: Add "Source" field to 'guix-info' buffers.

2014-11-09 Thread Ludovic Courtès
Alex Kost  skribis:

> Ludovic Courtès (2014-11-09 20:45 +0300) wrote:
>> I had in mind a slightly simpler user interface: just a “View source”
>> button.  The thing would build (package-source-derivation p),
>> effectively downloading it if it’s not already present, and opening it
>> in dired.
>
> I don't think opening in dired should be a default (although I made
> ‘guix-package-info-find-source-p’ variable +for you+ for this case)

:-)

> because there may be a big compressed tarball that a user wouldn't like
> to uncompress with emacs tar-mode.  I think displaying a link is the
> preferable variant as a user can open the file or copy its path if he
> wants.

Oh right, I didn’t think about big tarballs.

> Also you suggest to make “View source” synchronous: build a source
> derivation, download it and open in dired.  Did I understand it right?

Yes.

> As this process may take a long time (for big sources or for git
> checkouts if a user doesn't have a necessary git infrastructure), I
> think it should be evaluated asynchronously in a REPL and it's not
> possible (at least not easy) to define what value was returned by a REPL
> command, so no way to define what file to open in dired.

Oh, makes sense.  I completely overlooked “implementation details.”  :-)

> Also what if I want to define whether there is a source in the store or
> not?  (And I don't want to download it if it's not there.)

I don’t think it’s natural for a user to think in terms of downloads.
Personally, when I want to see the source of a package, I do:

  tar xf $(guix build -S foo)

and that’s it.  If it’s taking too long or something, I can still hit
C-c.  But typically, I don’t ask myself “is this already in the store?”.

> With your variant of a single “View source” button it would not be
> possible, as the source that doesn't exist in the store will be
> downloaded unconditionally.

Rather: the result of ‘package-source-derivation’ would be built
unconditionally; that entails a download if and only if the source is
not already in the store, otherwise nothing happens (which you probably
already know, but I just want to be clear.)

>> With the interface you propose, things might be slightly confusing:
>> sometimes clicking on “Download” will do nothing (because the source is
>> already there), sometime “Show” will work without “Download”, sometimes
>> not, etc.  Also it takes up quite a bit of space.
>
> Sorry, I didn't get it.  What space do you mean?

I meant visual space in the user interface; visual clutter.

> Pushing a “Download” button will always do something: it will run some
> command in a REPL and will always display a store path in the end.  And
> «Hey, USER, what did you expect from a “Download” button if the source
> is already downloaded?»

Right, but we don’t need the user’s mind to carry part of the store’s
state: there’s already a database for that.  :-)

> But if you find it confusing what about the following variant: initially
> there will be only “Show” button and when you press it, “Download”
> button appears only if the source does not exist in the store.  After
> a successful downloading, it disappears again.

That would work, yes.

But note that derivation outputs not obtained by a ‘build-derivations’
call with the current store connection may be garbage-collected anytime.
That makes it more difficult to reliably determine whether the
“Download” button should be displayed; to be safe, it would have to be
displayed by default.  Then we’re very close to the current patch, I
think, no?

If that’s fine with you, perhaps let’s just commit the patch as is, and
see in another patch whether “Download” can be made to disappear in safe
cases?

Thanks,
Ludo’.



Re: [PATCH 2/2] gnu: Add guile-sdl.

2014-11-09 Thread David Thompson
Ludovic Courtès  writes:

> Please run ‘make sync-descriptions’ and use whatever synopsis and
> description it suggests.
>
> OK to commit with this change.

Done and pushed.

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



Re: [PATCH 1/2] gnu: Add sdl-union.

2014-11-09 Thread David Thompson
Ludovic Courtès  writes:

> David Thompson  skribis:
>
>> +(synopsis "Union of all SDL libraries.")
> ^
> Please remove the period before committing.

Done and pushed.

Thanks for reviewing these patches.

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



Re: 1000

2014-11-09 Thread David Thompson
Andreas Enge  writes:

> Hello,
>
> if my count is correct, I just pushed package number 1000:
> $ guix package -A|wc -l
> 1000

Wow, congrats everyone!  Here's to the next 1000!

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