bug#25793: wxMaxima output display error

2017-02-21 Thread Federico Beffa
On Tue, Feb 21, 2017 at 5:01 AM, Leo Famulari  wrote:
> Did you try building 5.38.1 with Guix? That could help us know if the
> problem is in maxima or in our packaging.

No, I didn't .





bug#25775: Attempts to fix bootstrap Guile bug

2017-02-21 Thread Leo Famulari
On Tue, Feb 21, 2017 at 11:34:55PM +0100, Ricardo Wurmus wrote:
> 
> Leo Famulari  writes:
> 
> > What about Ricardo's "really gross fix"? [0] I don't understand it enough to
> > know why it's gross. If it works and does not break other things, at
> > least it could protect people who have not yet hit the bug, but will hit
> > it the next time they run `guix pull`.
> 
> It’s gross because it’s just a band aid.  I don’t know if it might break
> other things (in my short tests it didn’t).  It shouldn’t affect people
> with new daemons, because they will use the daemon’s download feature.
> 
> I guess we could just push it to fix “guix pull” now and revert later
> once we have a good fix (or if it causes trouble).
> 
> What do you think?

Since you know my relative ignorance, take this with a grain of salt,
but that sounds good to me. You should probably wait for Andy's opinion,
though :)





bug#25775: Can't install packages after guix pull

2017-02-21 Thread Ricardo Wurmus

Ben Sturmfels  writes:

> On Tue, 21 Feb 2017 09:52:11 +1100
> Ben Sturmfels  wrote:
>
>> > Could I trouble you to walk through the steps for manually
>> > installing a different version of guix-daemon? I'm stuck in the
>> > same situation where I can't `guix package --install`.  
>> 
>> (Also can't `guix pull` without an error)
>
> I'm attempting to fix my GuixSD system by downloading Guix
> 0.12.0 Binary, extracting and running guix-daemon, then running `guix
> pull` against that. The daemon runs ok, but `guix pull` is expecting
> its dependencies to be at /gnu, when they're actually at
> ~/Downloads/gnu. Any suggestions?

How did you end up having dependencies outside of /gnu?  All Guix
packages depend only on things inside the store.  If you want to use
substitutes you cannot avoid /gnu.

-- 
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net






bug#25775: Attempts to fix bootstrap Guile bug

2017-02-21 Thread Ricardo Wurmus

Leo Famulari  writes:

> What about Ricardo's "really gross fix"? [0] I don't understand it enough to
> know why it's gross. If it works and does not break other things, at
> least it could protect people who have not yet hit the bug, but will hit
> it the next time they run `guix pull`.

It’s gross because it’s just a band aid.  I don’t know if it might break
other things (in my short tests it didn’t).  It shouldn’t affect people
with new daemons, because they will use the daemon’s download feature.

I guess we could just push it to fix “guix pull” now and revert later
once we have a good fix (or if it causes trouble).

What do you think?

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net






bug#25177: python-tests: python-oslosphinx fixed. Please evaluate.

2017-02-21 Thread Ricardo Wurmus

Leo Famulari  writes:

> On Tue, Feb 21, 2017 at 06:30:12PM +0100, Ricardo Wurmus wrote:
>> From 1ac5166df11766b47cd1ac723a464063a89afc96 Mon Sep 17 00:00:00 2001
>> From: Ricardo Wurmus 
>> Date: Tue, 21 Feb 2017 18:28:21 +0100
>> Subject: [PATCH] gnu: python-dendropy: Disable failing tests.
>> 
>> * gnu/packages/bioinformatics.scm (python-dendropy): Disable two failing
>> tests.
>
> LGTM

The problem was fixed in the upstream commit 93f984b in response to my
bug report:


https://github.com/jeetsukumaran/DendroPy/commit/93f984bba7a6c588a28ca87f4e557ce283809453

I believe we can just backport this fix instead of deleting the test.

-- 
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net






bug#25177: python-tests: python-oslosphinx fixed. Please evaluate.

2017-02-21 Thread Ben Woodcroft

Hi Ricardo,


On 22/02/17 03:47, Leo Famulari wrote:

On Tue, Feb 21, 2017 at 06:30:12PM +0100, Ricardo Wurmus wrote:

 From 1ac5166df11766b47cd1ac723a464063a89afc96 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus 
Date: Tue, 21 Feb 2017 18:28:21 +0100
Subject: [PATCH] gnu: python-dendropy: Disable failing tests.

* gnu/packages/bioinformatics.scm (python-dendropy): Disable two failing
tests.

LGTM


Me too, though perhaps it might be good to include a comment pointing to 
the GitHub issue you raised.


Thanks for chasing this down - you beat me to the same conclusions.
ben





bug#25831: Expose http_proxy setting on GuixSD

2017-02-21 Thread Leo Famulari
On Tue, Feb 21, 2017 at 07:17:03PM +0100, Mathieu Lirzin wrote:
> Not sure if this is an appropriate answer, but to customize the guix daemon
> service field like described in the example here:
> 
>   
> https://www.gnu.org/software/guix/manual/html_node/Using-the-Configuration-System.html#System-Services
> 
> you would have to patch "gnu/services/base.scm" by adding a field to the
> 'guix-configuration' that would be then be passed to the
> '#:environment-variables' option of 'make-forkexec-constructor' in
> 'guix-shepherd-service'.

Thank you, that helped a lot!

What do the two of you think of the attached patch?

Using the attached OS declaration, I verified that the http_proxy
environment variable is set in the guix-daemon's environment, but I
don't have a proxy to test with.
>From 1e6e95ea5b43231d09279b9e54f5c581462486f6 Mon Sep 17 00:00:00 2001
From: Leo Famulari 
Date: Tue, 21 Feb 2017 14:57:02 -0500
Subject: [PATCH] services: guix: Support using an HTTP proxy.

* gnu/services/base.scm ()[http-proxy]: New field.
(guix-shepherd-service): Use 'http-proxy' in #:environment-variables.
* doc/guix.texi ...
---
 doc/guix.texi |  4 
 gnu/services/base.scm | 13 +
 2 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 6cdb5e592..19a31c659 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -8611,6 +8611,10 @@ are written.
 @item @code{lsof} (default: @var{lsof})
 The lsof package to use.
 
+@item @code{http-proxy} (default: @code{#f})
+The HTTP proxy used for downloading fixed-output derivations and
+substitutes.
+
 @end table
 @end deftp
 
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 57601eab8..352a90be7 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -3,7 +3,7 @@
 ;;; Copyright © 2015, 2016 Alex Kost 
 ;;; Copyright © 2015, 2016 Mark H Weaver 
 ;;; Copyright © 2015 Sou Bunnbu 
-;;; Copyright © 2016 Leo Famulari 
+;;; Copyright © 2016, 2017 Leo Famulari 
 ;;; Copyright © 2016 David Craven 
 ;;; Copyright © 2016 Ricardo Wurmus 
 ;;;
@@ -1114,7 +1114,9 @@ failed to register hydra.gnu.org public key: ~a~%" 
status
   (log-file guix-configuration-log-file   ;string
 (default "/var/log/guix-daemon.log"))
   (lsof guix-configuration-lsof   ;
-(default lsof)))
+(default lsof))
+  (http-proxy   guix-http-proxy   ;string
+(default #f)))
 
 (define %default-guix-configuration
   (guix-configuration))
@@ -1125,7 +1127,7 @@ failed to register hydra.gnu.org public key: ~a~%" 
status
 (($  guix build-group build-accounts
  authorize-key? keys
  use-substitutes? substitute-urls extra-options
- log-file lsof)
+ log-file lsof http-proxy)
  (list (shepherd-service
 (documentation "Run the Guix daemon.")
 (provision '(guix-daemon))
@@ -1142,7 +1144,10 @@ failed to register hydra.gnu.org public key: ~a~%" 
status
 
 ;; Add 'lsof' (for the GC) to the daemon's $PATH.
 #:environment-variables
-(list (string-append "PATH=" #$lsof "/bin"))
+(list (string-append "PATH=" #$lsof "/bin")
+  #$@(if http-proxy
+   #~((string-append"http_proxy=" #$http-proxy))
+   #~()))
 
 #:log-file #$log-file))
 (stop #~(make-kill-destructor)))
-- 
2.11.1

;; This is an operating system configuration template
;; for a "bare bones" setup, with no X11 display server.

(use-modules (gnu))
(use-service-modules networking ssh)
(use-package-modules admin)

(operating-system
  (host-name "komputilo")
  (timezone "Europe/Berlin")
  (locale "en_US.utf8")

  ;; Assuming /dev/sdX is the target hard disk, and "my-root" is
  ;; the label of the target root file system.
  (bootloader (grub-configuration (device "/dev/sdX")))
  (file-systems (cons (file-system
(device "my-root")
(title 'label)
(mount-point "/")
(type "ext4"))
  %base-file-systems))

  ;; This is where user accounts are specified.  The "root"
  ;; account is implicit, and is initially created with the
  ;; empty password.
  (users (cons (user-account
(name "alice")
(comment "Bob's sister")
(group "users")

;; Adding the account to the "wheel" group
;; makes it a sudoer.  Adding it to "audio"
;; and "video" allows the user to play sound
;; and access the webcam.
(supplementary-groups '("wheel"
"audio" "video"))
(home-directory "/home/alice"))
   %ba

bug#25177: python-tests: python-oslosphinx fixed. Please evaluate.

2017-02-21 Thread Ricardo Wurmus

Ricardo Wurmus  writes:

> Leo Famulari  writes:
>
>> On Mon, Feb 20, 2017 at 12:00:21AM +0100, Marius Bakke wrote:
>>> Danny Milosavljevic  writes:
>>> > @Leo: Can you please start a new evaluation of python-tests?
>>> 
>>> I pushed some other fixes recently and built most of `guix package -A
>>> python`, so I think we're ready for a new evaluation. I suggest we do a
>>> new evaluation on 'master' after fixing the most critical packages so we
>>> can include this in 'core-updates'. How does that sound?
>>
>> I just started a new evaluation of the branch.
>>
>>> These packages are known to fail still:
>>> 
>>> python-dendropy
>>> python2-fastlmm
>>> python2-bandit
>>> python-openid
>>> python-axolotl
>>> 
>>> + Many of the python2 variants of the openstack family libraries (oslo
>>> etc), which seems to have a unittest2 version mismatch. Should be
>>> easy to fix, but let's get some substitutes first :-)
>>
>> I think we should set '#:tests? #f' in these packages and build and
>> merge the branch.
>>
>> If these remaining test suite failures indicate that the packages are
>> broken, they will be equally broken with the test suites disabled. But
>> overall we will benefit from fixing this bug in python-build-system.
>
> I agree.
>
> Only two tests (out of 820) for python-dendropy fail:
>
> + test_fixed_species_tree_fitting 
> (dendropy.test.test_multispeciescoalescent.MultispeciesCoalescentBasicTestCase)
> + test1 
> (dendropy.test.test_multispeciescoalescent.MultispeciesCoalescentFixedSingleTreesCalculationTestCase)
>
> Both fail with
>
> TypeError: unorderable types: Edge() < Edge()
>
> I think it’s worth building the package anyway after disabling these two
> tests.  I reported the test failures upstream:
>
> https://github.com/jeetsukumaran/DendroPy/issues/77

Attached is a patch to delete the failing tests for DendroPy.

>From 1ac5166df11766b47cd1ac723a464063a89afc96 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus 
Date: Tue, 21 Feb 2017 18:28:21 +0100
Subject: [PATCH] gnu: python-dendropy: Disable failing tests.

* gnu/packages/bioinformatics.scm (python-dendropy): Disable two failing
tests.
---
 gnu/packages/bioinformatics.scm | 7 +++
 1 file changed, 7 insertions(+)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 5a1738b93..8295479a2 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -1983,6 +1983,13 @@ accessing bigWig files.")
 (base32
  "15c7s3d5gf19ljsxvq5advaa752wfi7pwrdjyhzmg85hccyvp47p"
 (build-system python-build-system)
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (add-after 'unpack 'delete-broken-tests
+   (lambda _
+ (delete-file "dendropy/test/test_multispeciescoalescent.py")
+ #t)
 (home-page "http://packages.python.org/DendroPy/";)
 (synopsis "Library for phylogenetics and phylogenetic computing")
 (description
-- 
2.11.1


-- 
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net


bug#25831: Expose http_proxy setting on GuixSD

2017-02-21 Thread Mathieu Lirzin
Hello,

Leo Famulari  writes:

> From: ng0 
> Subject: Re: Proxy documentation is not clear
> To: Leo Famulari 
> Cc: help-g...@gnu.org
> Date: Tue, 21 Feb 2017 09:43:35 + (8 hours, 8 minutes, 14 seconds ago)
>
> On 17-02-20 22:32:40, Leo Famulari wrote:
>> On Sun, Feb 19, 2017 at 05:06:23PM +, ng0 wrote:
>> > Substitutes are downloaded over HTTP or HTTPS. The http_proxy
>> > environment variable can be set in the environment of guix-daemon and
>> > is honored for downloads of substitutes. Note that the value of
>> > http_proxy in the environment where guix build, guix package, and
>> > other client commands are run has absolutely no effect. 
>> > 
>> > None of these pages provides any example or further explanation on how
>> > this could be achieved, for example to make Guix use a socks5 proxy
>> > systemwide. I know how this can be achieved with iptables etc, but it
>> > would be better if the documentation is fixed. I have no idea how in
>> > this case as the documentation is not clear.
>> 
>> It depends on how you start the daemon. For systemd, you can set the
>> environment variable from the service file. I'm not sure how to pass
>> this variable to the daemon on GuixSD.
>
> Exactly, for systemd I would have been able to find it out, but I wonder
> how to achieve this in GuixSD. 
>
> --
>

Not sure if this is an appropriate answer, but to customize the guix daemon
service field like described in the example here:

  
https://www.gnu.org/software/guix/manual/html_node/Using-the-Configuration-System.html#System-Services

you would have to patch "gnu/services/base.scm" by adding a field to the
'guix-configuration' that would be then be passed to the
'#:environment-variables' option of 'make-forkexec-constructor' in
'guix-shepherd-service'.

HTH.

-- 
Mathieu Lirzin
GPG: F2A3 8D7E EB2B 6640 5761  070D 0ADE E100 9460 4D37





bug#25775: Attempts to fix bootstrap Guile bug

2017-02-21 Thread Leo Famulari
On Tue, Feb 21, 2017 at 09:52:09AM +0100, Andy Wingo wrote:
> I think in the meantime it would be acceptable to insert an
> 
>   (unless guile
> (error "update your guix daemon from git and restart it (#25775)"))
> 
> to url-fetch/reset-patch-level, or something like that.  WDYT?

I think it would be better if users didn't have to set up a Guix
development environment to work around this bug.

My hunch is that the people who never updated root's packages and thus
experienced the bug are the people who are least comfortable with such a
solution.

What about Ricardo's "really gross fix"? [0] I don't understand it enough to
know why it's gross. If it works and does not break other things, at
least it could protect people who have not yet hit the bug, but will hit
it the next time they run `guix pull`.
 
[0]
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25775#35





bug#25177: python-tests: python-oslosphinx fixed. Please evaluate.

2017-02-21 Thread Leo Famulari
On Tue, Feb 21, 2017 at 06:30:12PM +0100, Ricardo Wurmus wrote:
> From 1ac5166df11766b47cd1ac723a464063a89afc96 Mon Sep 17 00:00:00 2001
> From: Ricardo Wurmus 
> Date: Tue, 21 Feb 2017 18:28:21 +0100
> Subject: [PATCH] gnu: python-dendropy: Disable failing tests.
> 
> * gnu/packages/bioinformatics.scm (python-dendropy): Disable two failing
> tests.

LGTM





bug#25831: Expose http_proxy setting on GuixSD

2017-02-21 Thread Leo Famulari
- Forwarded message from ng0  -

Date: Tue, 21 Feb 2017 09:43:35 +
From: ng0 
To: Leo Famulari 
Cc: help-g...@gnu.org
Subject: Re: Proxy documentation is not clear

On 17-02-20 22:32:40, Leo Famulari wrote:
> On Sun, Feb 19, 2017 at 05:06:23PM +, ng0 wrote:
> > Substitutes are downloaded over HTTP or HTTPS. The http_proxy
> > environment variable can be set in the environment of guix-daemon and
> > is honored for downloads of substitutes. Note that the value of
> > http_proxy in the environment where guix build, guix package, and
> > other client commands are run has absolutely no effect. 
> > 
> > None of these pages provides any example or further explanation on how
> > this could be achieved, for example to make Guix use a socks5 proxy
> > systemwide. I know how this can be achieved with iptables etc, but it
> > would be better if the documentation is fixed. I have no idea how in
> > this case as the documentation is not clear.
> 
> It depends on how you start the daemon. For systemd, you can set the
> environment variable from the service file. I'm not sure how to pass
> this variable to the daemon on GuixSD.

Exactly, for systemd I would have been able to find it out, but I wonder
how to achieve this in GuixSD. 

- End forwarded message -





bug#25704: guix on other distribution fails to pull

2017-02-21 Thread Leo Famulari
On Tue, Feb 21, 2017 at 08:41:58AM +0100, Tomas Cech wrote:
> On Tue, 21 Feb 2017 04:58:33 +0100,
> Leo Famulari wrote:
> > 
> > On Mon, Feb 13, 2017 at 02:11:34PM +0100, Tomas Cech wrote:
> > Try starting the guix-daemon with
> > '--substitute-urls=https://hydra.gnu.org'. This will bypass the mirror
> > completely.
> > 
> > Let us know if it works and be sure to remove that URL afterwards; that
> > server cannot handle much traffic.
> > 
> 
> Thanks, I solved it some other way in the meantime. But thanks, this
> could work as well...
> 
> From single user perspective it is valid workaround but I'm aftraid
> that from guix package maintainer on foreign distribution it is not
> usable workaround...

Sure, and we know that `guix pull` needs to be overhauled. We've been
discussing its shortcomings and designing the replacement:

https://debbugs.gnu.org/cgi/bugreport.cgi?bug=22629
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=22883





bug#25775: Attempts to fix bootstrap Guile bug

2017-02-21 Thread Andy Wingo
Hi,

It seems that this bug is related to the introduction of
url-fetch/reset-patch-level.  It takes a #:guile kwarg but defaults to
#f; if not given #:guile, that #f propagates through instead of a
package object.

So one fix is here:

  diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm
  index c8d94c8..d070cca 100644
  --- a/gnu/packages/bootstrap.scm
  +++ b/gnu/packages/bootstrap.scm
  @@ -76,8 +76,10 @@
   
 (let ((orig-method (origin-method source)))
   (origin (inherit source)
  -  (method (cond ((eq? orig-method url-fetch)
  - (boot url-fetch))
  +  (method (cond ((or (eq? orig-method url-fetch)
  + (eq? orig-method
  +  (@@ (gnu packages bash) 
url-fetch/reset-patch-level)))
  + (boot orig-method))
   (else orig-method)))
 (patch-guile %bootstrap-guile)
 (patch-inputs %bootstrap-patch-inputs)

I think anyway.  If you look at this code, the "boot" helper decorates
the url-fetch call with a #:guile.  But I don't think this function is
called for bash because I still see an error.

Another fix is here I think:

  diff --git a/gnu/packages/bash.scm b/gnu/packages/bash.scm
  index c121fd8..fdb3aa8 100644
  --- a/gnu/packages/bash.scm
  +++ b/gnu/packages/bash.scm
  @@ -250,7 +250,8 @@ can apply to a patch-level 0 Bash."
  (patch (url-fetch url hash-algo hash
(string-append name ".orig")
#:system system
  - #:guile guile)))
  + #:guile guile))
  +   (guile (package->derivation guile system)))
   (gexp->derivation name
 (with-imported-modules '((guix build utils))
   #~(begin

Here this "guile" propagates below to #:guile-for-build, which AFAIU
should be a derivation, not a package.

But even with this, I still get an error.  Add (unless guile (error
"what")) to the top of url-fetch/reset-patch-level, and I get:

  [6h8mzf08ld7r69yy9gdbxw9vba0l9sr2-profile] wingo@clucks:~/src/guix$ guix 
build guile-next
  Backtrace:
  In srfi/srfi-1.scm:
   575: 19 [map # 
(#)]
  In guix/scripts/build.scm:
   634: 18 [# #]
  In guix/packages.scm:
   786: 17 [cache! # # # ...]
  1095: 16 [thunk]
   982: 15 [bag-grafts # #]
   966: 14 [fold-bag-dependencies # ...]
   983: 13 [# # 
#]
   786: 12 [cache! # # "x86_64-linux" ...]
   910: 11 [thunk]
   786: 10 [cache! # # # ...]
  1092: 9 [thunk]
  1024: 8 [bag->derivation # # #]
  In srfi/srfi-1.scm:
   575: 7 [map # #]
  In guix/packages.scm:
   846: 6 [expand-input # # # ...]
  In guix/store.scm:
  1249: 5 [run-with-store # ...]
  In guix/packages.scm:
  1200: 4 [# #]
   486: 3 [patch-and-repack # # # ...]
  In srfi/srfi-1.scm:
   575: 2 [map # (#)]
  In gnu/packages/bash.scm:
   249: 1 [url-fetch/reset-patch-level 
"mirror://gnu/bash/bash-4.4-patches/bash44-007" ...]
  In unknown file:
 ?: 0 [scm-error misc-error #f "~A" ("what") #f]

  ERROR: In procedure scm-error:
  ERROR: what

That indicates to me that somehow the origin for this bash (or is it
bash/fixed?) isn't getting its url-fetch call appropriately decorated.

I think in the meantime it would be acceptable to insert an

  (unless guile
(error "update your guix daemon from git and restart it (#25775)"))

to url-fetch/reset-patch-level, or something like that.  WDYT?

Andy