Re: Running X on Guix 0.8

2014-11-24 Thread Adam Pribyl

On Sun, 23 Nov 2014, Omar Radwan wrote:


I'm running Guix on one of my computers, I've installed icecat, xorg, and
windowmaker. I was wondering whether it was possible to run X.


I did not test it on 0.8 yet, but for 0.7 you have to start Xorg with 
module path to your profile like

Xorg -modulepath  /root/.guix-profile/lib/xorg/modules/

not sure if there is some more elegant way, but this worked.

Adam Pribyl



make polkit work

2014-11-24 Thread 宋文武
IIUC, our `polkit' can't see actions/rules from other packages.
In NixOS[0], the hardcoded ${out}/share/polkit-1 is overwrited to
/var/run/current-system/sw/share/polkit-1, provided by system
packages.
Instead of take a similar path, 
can we make a proper patch which will be accepted upstream?

The goal: (polkit-service (list udisks))


[0] 
https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/libraries/polkit/default.nix



Installing the system from another distro

2014-11-24 Thread Alex Kost
Hello, I've tried to install the Guix system from my current system
(Arch Linux) where I use the Guix package manager:

  ./pre-inst-env guix system init /path/to/my-os-config.scm /mnt/guix

Unfortunately it failed (os-config and the backtrace are attached).
So I wonder: is installing from another distro supported? or the only
right way is to use an usb image?

Thanks in advance.

(use-modules (gnu))

(operating-system
  (host-name hn)
  (timezone Europe/Paris)

  (bootloader
   (grub-configuration (device /dev/sda)))

  (file-systems
   (cons (file-system
   (device /dev/sda7)
   (mount-point /)
   (type ext4))
 %base-file-systems))

  (users
   (list (user-account
  (name al)
  (home-directory /home/al)
  (group users)
  (supplementary-groups '(wheel audio video))
Backtrace:
In ice-9/boot-9.scm:
 157: 17 [catch #t #catch-closure 85f7c10 ...]
In unknown file:
   ?: 16 [apply-smob/1 #catch-closure 85f7c10]
In ice-9/boot-9.scm:
  63: 15 [call-with-prompt prompt0 ...]
In ice-9/eval.scm:
 432: 14 [eval # #]
In ice-9/boot-9.scm:
2401: 13 [save-module-excursion #procedure 8606ca0 at ice-9/boot-9.scm:4045:3 
()]
4050: 12 [#procedure 8606ca0 at ice-9/boot-9.scm:4045:3 ()]
1724: 11 [%start-stack load-stack ...]
1729: 10 [#procedure 860c708 ()]
In unknown file:
   ?: 9 [primitive-load /media/storage/src/guix/scripts/guix]
In guix/ui.scm:
 776: 8 [run-guix-command system init ...]
In ice-9/boot-9.scm:
 157: 7 [catch srfi-34 #procedure 8f7ceb0 at guix/ui.scm:217:2 () ...]
 157: 6 [catch system-error ...]
In guix/monads.scm:
 469: 5 [run-with-store # ...]
In guix/scripts/system.scm:
 309: 4 [#procedure 92a7e10 at guix/scripts/system.scm:309:2 (store) #]
In gnu/system.scm:
 702: 3 [#procedure 9781150 at gnu/system.scm:702:2 (store) #]
 449: 2 [#procedure 9781168 at gnu/system.scm:449:2 (store) #]
 455: 1 [#procedure 8fd76e0 at gnu/system.scm:449:2 (services) (# # # # ...)]
In unknown file:
   ?: 0 [concatenate (() () () () () () () () () ...)]

ERROR: In procedure concatenate:
ERROR: In procedure append: Wrong type argument in position 19 (expecting empty 
list): #f


Re: [PATCH] gnu: Add Nmap.

2014-11-24 Thread Ludovic Courtès
taylanbayi...@gmail.com (Taylan Ulrich Bayırlı/Kammer) skribis:

 l...@gnu.org (Ludovic Courtès) writes:

 This is normally dealt with by using multiple outputs (info (guix)
 Packages with Multiple Outputs).  An example of that is Git: the Tcl
 GUIs are moved to a separate output, and so is git-svn support, such
 that the main output does not depend on Tcl, libx11, Subversion, etc.

 OK, will have a go at this.

Thanks, that seems like the best option.

 It seems Zenmap doesn't need X11/GTK libraries (rather headers) at build
 time because it only uses a Python GTK module.  This raises two general
 questions for me:

 1) Is it OK if users have to install additional packages for a given
component of a package to work, or should all dependencies, even if
purely run-time, be inputs?

Yes.  (There may be rare exceptions, but this is not one of them.)

Here you want users to be able to run ‘zenmap’ (or whatever the command
is called) and have it Just Work, regardless of whether they happen to
have installed Python and Python-GTK as well.

So that means that the zenmap (or nmap) package basically needs to
“close over” these inputs, probably using ‘wrap-program’.

 2) If purely-run-time dependencies are inputs, won't that trigger
unnecessary rebuilds of the package when a run-time dependency is
updated?

It’s rarely be “purely run-time”.  Normally, at the very least there’s a
configure script that makes sure at build-time that the dependencies are
satisfied, and a test suite that makes sure things work.

 After some pondering, I would say:

 1) There should be a way to run-time-depend on another package without
it being a build input at all.

The whole functional approach things means that bindings are static
(again, there may be exceptions, but zenmap has nothing exceptional
here.)

 2) When interface files of a dylib are needed during compilation of a
static lang (e.g. C headers), a special for-building package should
be used as input, thus the actual dylib can be updated without
causing rebuilds.  (Until ABI compatibility breaks I guess.)

You’re describing an imperative packaging system.  This is fine, but it
defeats the whole idea of functional packaging.  :-)

See http://nixos.org/docs/papers.html and
http://gnu.org/s/guix/#documentation for the rationale.

 3) Similarly, when a program is needed purely at build-time, like Bash
or SCons, a special for-building package should be used as input,
thus the actual program can be updated without causing rebuilds.
(The for-building package would be updated only when doing so will
improve the builds, like when a newer GCC version optimizes better.)

Build tools are listed in ‘native-inputs’.

 Runtime dependencies are found by scanning binaries for the hash parts
 of Nix store paths (such as r8vvq9kq…). This sounds risky, but it works
 extremely well.

 Perhaps we already do that?

Yes.  That means that run-time dependencies are a strict subset of
build-time dependencies.

I hope this clarifies things.  Otherwise let me know!

Thanks,
Ludo’.



Re: make polkit work

2014-11-24 Thread Ludovic Courtès
宋文武 iyzs...@gmail.com skribis:

 IIUC, our `polkit' can't see actions/rules from other packages.
 In NixOS[0], the hardcoded ${out}/share/polkit-1 is overwrited to
 /var/run/current-system/sw/share/polkit-1, provided by system
 packages.
 Instead of take a similar path, 
 can we make a proper patch which will be accepted upstream?

Yes, I think it would best to have it honor $POLKIT_RULES_PATH and
$POLKIT_ACTIONS_PATH.  Apparently this would have to be done in
src/polkitbackend/polkitbackendjsauthority.c and
src/polkitbackend/polkitbackendinteractiveauthority.c.

Could you try to do this?

Once we have this patch, we can start using it, and submit it upstream
for inclusion.

 The goal: (polkit-service (list udisks))

Yes, that sounds like the right approach.

Thanks for looking into this!

Ludo’.



Re: [PATCH] Hotfix (repeat)

2014-11-24 Thread Deck Pickard
On 23 Nov 2014 21:49, Ludovic Courtès l...@gnu.org wrote:

 Deck Pickard deck.r.pick...@gmail.com skribis:

  From 8e297904d80b39cd510ba0cced37acdb9b1aeb89 Mon Sep 17 00:00:00 2001
  From: nebuli nebu@kipple
  Date: Sat, 22 Nov 2014 19:58:24 +0100
  Subject: [PATCH 2/4] guix build: Add --max-jobs option (without handling
   code).
 
  * doc/guix.texi: Mention in the docs.
  * guix/scripts/build.scm: Extend (show-build-options-help) and
(%standard-build-options) functions.

 Actually I had overlooked that this patch does nothing.   :-)

 Could you send an updated version that passes the right option to
 ‘set-build-options’?


No. Using '-c 0 -M 0' fails with cryptic message. On a four core system
innocent (and logically consistent, I mean, from the description of those
options, one expects the daemon to do some load balancing) '-c 4 -M 4' ends
up with the same annoying N^2 behaviour.

As it is now, not using one of the options leads to sub-optimal saturation
of the through-output by default. Not very impressive, if you want to
attract hackers who are willing to spend their time and resources to
actually build locally from source. After all it's the only way to test and
find possible bugs on a wide set of possible configurations.

If you want it right, either fix it yourself (and please think hard and
carefully what to put in '-from-commandline' function if you want to expose
both options to the user) or stop with the antics and apply the patch. I
can live with constant branch rebasing, but will end users appreciate their
machines locking up? I mean every proper Linux user is expected to tail
their logs...

Unimpressed,
drp
-- 
.sig place holder


[PATCH] gnu: xfig: Add 'wrap-xfig phase.

2014-11-24 Thread Federico Beffa
I would like to propose the attached patch for xfig.  It makes xfig
find its resource file so that it works properly.

On a side note: I've noticed that wrap-program generates two wrappers.
In fact I find the following files in .../bin/: xfig, .xfig-real and
.xfig-wrap-01.  What is the purpose of the latter?
(This happens with all packages using wrap-program.)

Regards,
Fede
From b420b54a2dc5b2f39bb439b900b178e24b6f4d80 Mon Sep 17 00:00:00 2001
From: Federico Beffa be...@fbengineering.ch
Date: Mon, 24 Nov 2014 14:22:16 +0100
Subject: [PATCH] gnu: xfig: Add 'wrap-xfig phase.

* gnu/packages/xfig.scm (xfig): Set XAPPLRESDIR environment variable to help
  xfig find the app-defaults resource files.
---
 gnu/packages/xfig.scm | 10 +-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/xfig.scm b/gnu/packages/xfig.scm
index b154074..b637db7 100644
--- a/gnu/packages/xfig.scm
+++ b/gnu/packages/xfig.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014 Eric Bavier bav...@member.fsf.org
+;;; Copyright © 2014 Federico Beffa be...@fbengineering.ch
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -118,7 +119,14 @@
   (close-pipe in)
   (close-port out)))
   (zero? (system* make install.doc
-  %standard-phases)
+  (alist-cons-after
+   'install 'wrap-xfig
+   (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs out)))
+   (wrap-program (string-append out /bin/xfig)
+   `(XAPPLRESDIR suffix
+ (,(string-append out /etc/X11/app-defaults))
+   %standard-phases))
 (home-page http://xfig.org/;)
 (synopsis Interactive drawing tool)
 (description
-- 
1.8.4



Re: Running X on Guix 0.8

2014-11-24 Thread Omar Radwan
Can't I just use deco?
On Nov 24, 2014 6:25 AM, Ludovic Courtès l...@gnu.org wrote:

 Currently the easiest way to get X running is to use ‘slim-service’:

   http://www.gnu.org/software/guix/manual/guix.html#X-Window

 Add it to the operating system declaration, like:

   (operating-system
 ;; ...
 (services (cons (slim-service) %base-services)))

 Then ‘guix system reconfigure config.scm’, restart, and the system
 should get straight to the graphical log-in screen (SLiM).

 HTH!

 Ludo’.



Re: [PATCH] gnu: xfig: Add 'wrap-xfig phase.

2014-11-24 Thread Eric Bavier

Federico Beffa writes:

 I would like to propose the attached patch for xfig.  It makes xfig
 find its resource file so that it works properly.

Thanks for looking into it.

+   (wrap-program (string-append out /bin/xfig)
+   `(XAPPLRESDIR suffix
+ (,(string-append out /etc/X11/app-defaults))

Could you align the arguments to wrap-program here?

 On a side note: I've noticed that wrap-program generates two wrappers.
 In fact I find the following files in .../bin/: xfig, .xfig-real and
 .xfig-wrap-01.  What is the purpose of the latter?
 (This happens with all packages using wrap-program.)

See commit de61113, and the discussion at
https://lists.gnu.org/archive/html/guix-devel/2014-09/msg00190.html

-- 
Eric Bavier

Please avoid sending me Word or PowerPoint attachments.
See http://www.gnu.org/philosophy/no-word-attachments.html



Libreoffice building (sort of)

2014-11-24 Thread John Darrington
Well currently the libreoffice package in wip-libreoffice branch, builds, 
installs and 
seems to work ok.

Slightly worrying is that the first few builds crashed in one of LO's 
unittests.  I added
the line (setenv CPPUNITTRACE gdb --args) which I expected just to give me 
a backtrace
to help me diagnose the problem.  I was very surprised doing this, caused the 
package to 
build, test and install without error! -- A Heisenbug.

Anyway, like I say, the  package works, but is a bit rough.   I suggest that 
some of the
dependencies are tidied up, reviewed and pushed to master,  and the deeper 
issues investigated
later.  Help doing this is welcome.

J'

-- 
PGP Public key ID: 1024D/2DE827B3 
fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
See http://sks-keyservers.net or any PGP keyserver for public key.



signature.asc
Description: Digital signature


Re: [PATCH] gnu: xfig: Add 'wrap-xfig phase.

2014-11-24 Thread Federico Beffa
On Mon, Nov 24, 2014 at 6:04 PM, Eric Bavier ericbav...@gmail.com wrote:
 Could you align the arguments to wrap-program here?

Does this correspond to the expected alignment? (This is formatted by
emacs. Indeed in the previous version I forgot to press TAB on a
line.)

 See commit de61113, and the discussion at
 https://lists.gnu.org/archive/html/guix-devel/2014-09/msg00190.html


OK

Thanks,
Fede
From 608884dfbf6cf2995531dcfb16986ab972803db3 Mon Sep 17 00:00:00 2001
From: Federico Beffa be...@fbengineering.ch
Date: Mon, 24 Nov 2014 14:22:16 +0100
Subject: [PATCH] gnu: xfig: Add 'wrap-xfig phase.

* gnu/packages/xfig.scm (xfig): Set XAPPLRESDIR environment variable to help
  xfig find the app-defaults resource files.
---
 gnu/packages/xfig.scm | 10 +-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/xfig.scm b/gnu/packages/xfig.scm
index b154074..6436e52 100644
--- a/gnu/packages/xfig.scm
+++ b/gnu/packages/xfig.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014 Eric Bavier bav...@member.fsf.org
+;;; Copyright © 2014 Federico Beffa be...@fbengineering.ch
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -118,7 +119,14 @@
   (close-pipe in)
   (close-port out)))
   (zero? (system* make install.doc
-  %standard-phases)
+  (alist-cons-after
+   'install 'wrap-xfig
+   (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs out)))
+   (wrap-program (string-append out /bin/xfig)
+ `(XAPPLRESDIR suffix
+   (,(string-append out /etc/X11/app-defaults))
+   %standard-phases))
 (home-page http://xfig.org/;)
 (synopsis Interactive drawing tool)
 (description
-- 
1.8.4



Re: [PATCH] gnu: xfig: Add 'wrap-xfig phase.

2014-11-24 Thread Eric Bavier

Federico Beffa writes:

 On Mon, Nov 24, 2014 at 6:04 PM, Eric Bavier ericbav...@gmail.com wrote:
 Could you align the arguments to wrap-program here?

 Does this correspond to the expected alignment? (This is formatted by
 emacs. Indeed in the previous version I forgot to press TAB on a
 line.)

LGTM!  Ok to push.

-- 
Eric Bavier

Please avoid sending me Word or PowerPoint attachments.
See http://www.gnu.org/philosophy/no-word-attachments.html



Re: Libreoffice building (sort of)

2014-11-24 Thread Ludovic Courtès
John Darrington j...@darrington.wattle.id.au skribis:

 Well currently the libreoffice package in wip-libreoffice branch, builds, 
 installs and 
 seems to work ok.

Wo0t!  Excellent!

 Slightly worrying is that the first few builds crashed in one of LO's 
 unittests.  I added
 the line (setenv CPPUNITTRACE gdb --args) which I expected just to give 
 me a backtrace
 to help me diagnose the problem.  I was very surprised doing this, caused the 
 package to 
 build, test and install without error! -- A Heisenbug.

How is $CPPUNITTRACE used exactly?  If it’s used as in:

  sh -c $CPPUNITTRACE test-program

then I’m surprised it works at all, because ‘gdb --args test-program’
just spawns an interactive GDB session.

Any idea what happens?

 Anyway, like I say, the  package works, but is a bit rough.   I suggest that 
 some of the
 dependencies are tidied up, reviewed and pushed to master,  and the deeper 
 issues investigated
 later.  Help doing this is welcome.

Sounds like a good plan!

Ludo’.



Re: Libreoffice building (sort of)

2014-11-24 Thread John Darrington
On Mon, Nov 24, 2014 at 07:03:58PM +0100, Ludovic Court??s wrote:
 John Darrington j...@darrington.wattle.id.au skribis:
 
  Well currently the libreoffice package in wip-libreoffice branch, 
builds, installs and 
  seems to work ok.
 
 Wo0t!  Excellent!
 
  Slightly worrying is that the first few builds crashed in one of LO's 
unittests.  I added
  the line (setenv CPPUNITTRACE gdb --args) which I expected just to 
give me a backtrace
  to help me diagnose the problem.  I was very surprised doing this, 
caused the package to 
  build, test and install without error! -- A Heisenbug.
 
 How is $CPPUNITTRACE used exactly?  If it???s used as in:
 
   sh -c $CPPUNITTRACE test-program
 
 then I???m surprised it works at all, because ???gdb --args test-program???
 just spawns an interactive GDB session.
 
 Any idea what happens?

Yes, I was suprised too.  Maybe it runs some preprepared script.
 
J'

-- 
PGP Public key ID: 1024D/2DE827B3 
fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
See http://sks-keyservers.net or any PGP keyserver for public key.



signature.asc
Description: Digital signature


Re: [PATCH 1/2] gnu: Add numpy

2014-11-24 Thread Federico Beffa
On Sat, Nov 22, 2014 at 6:21 PM, Ludovic Courtès l...@gnu.org wrote:
 Sounds like a good plan.

Please find attached the first step with initial (bootstrap) numpy
versions.  I've tested that the packages build before changing
define-public to define.

Regards,
Fede
From 9be3873522b2c4b642a467e421bd8684068feb40 Mon Sep 17 00:00:00 2001
From: Federico Beffa be...@fbengineering.ch
Date: Mon, 24 Nov 2014 20:51:29 +0100
Subject: [PATCH] gnu: Add numpy-bootstrap.

* gnu/packages/python.scm (python-numpy-bootstrap, python2-numpy-bootstrap):
  New file-local variables.
---
 gnu/packages/python.scm | 59 +
 1 file changed, 59 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 3786604..7967201 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -35,6 +35,8 @@
   #:use-module (gnu packages readline)
   #:use-module (gnu packages openssl)
   #:use-module (gnu packages elf)
+  #:use-module (gnu packages maths)
+  #:use-module (gnu packages gcc)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages zip)
@@ -1873,3 +1875,60 @@ writing C extensions for Python as easy as Python itself.)
 (name python2-cython)
 (inputs
  `((python-2 ,python-2) ; this is not automatically changed
+
+;; This version of numpy is missing the documentation and is only used to
+;; build matplotlib which is required to build numpy's documentation.
+(define python-numpy-bootstrap
+  (package
+(name python-numpy-bootstrap)
+(version 1.9.1)
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append mirror://sourceforge/numpy
+   /numpy- version .tar.gz))
+   (sha256
+(base32
+ 070ybfvpgfmiz2hs94x445hvkh9dh52nyi0m8jp5kdihgvhbnx80
+(build-system python-build-system)
+(inputs
+ `((python-nose ,python-nose)
+   (atlas ,atlas)))
+(native-inputs
+ `((gfortran ,gfortran-4.8)))
+(arguments
+ `(#:phases
+   (alist-cons-before
+'build 'set-environment-variables
+(lambda* (#:key inputs #:allow-other-keys)
+  (let* ((atlas-threaded
+  (string-append (assoc-ref inputs atlas) 
+ /lib/libtatlas.so))
+ ;; On single core CPUs only the serial library is created.
+ (atlas-lib
+  (if (file-exists? atlas-threaded)
+  atlas-threaded
+  (string-append (assoc-ref inputs atlas) 
+ /lib/libsatlas.so
+(setenv ATLAS atlas-lib)))
+;; Tests can only be run after the library has been installed and not
+;; within the source directory.
+(alist-cons-after
+ 'install 'check
+ (lambda _ 
+   (with-directory-excursion /tmp
+ (zero? (system* python -c import numpy; numpy.test()
+ (alist-delete 
+  'check 
+  %standard-phases)
+(home-page http://www.numpy.org/;)
+(synopsis Fundamental package for scientific computing with Python)
+(description NumPy is the fundamental package for scientific computing
+with Python. It contains among other things: a powerful N-dimensional array
+object, sophisticated (broadcasting) functions, tools for integrating C/C++
+and Fortran code, useful linear algebra, Fourier transform, and random number
+capabilities.)
+(license bsd-3)))
+
+(define python2-numpy-bootstrap
+  (package-with-python2 python-numpy-bootstrap))
-- 
1.8.4



Re: [PATCH] HACKING: Mention 'guix environment'.

2014-11-24 Thread Ludovic Courtès
David Thompson dthomps...@worcester.edu skribis:

 Ludovic Courtès l...@gnu.org writes:

 David Thompson dthomps...@worcester.edu skribis:

 Just today I used 'guix environment guix' to quickly create a
 development environment for Guix hacking.  I figured it should be
 mentioned in the HACKING file to assist developers that happen to
 already by using a Guix system.

 WDYT?

 Sure, please commit!  I thought I had done it, but no.

 +If you are building Guix on a system that already runs Guix, you can use 
 'guix
 +environment' to spawn a shell whose environment contains all of the 
 necessary
 +packages without installing them to your user profile:
 +
 +  guix environment guix

 This is true only when ‘guix’ refers to the development version, which
 has the autotools etc. as inputs.

 Okay, so that's not always the case?  In that case, we could say:

   guix environment -e '(@@ (gnu packages package-management) guix-devel)'

You’re right that it will always work in practice, because there’ll
always be a ‘guix-devel’ more recent than ‘guix’.  So the wording above
is OK.

The problem I was raising does not really apply here; I’m shamelessly
sidetracking, I admit.  ;-)

 I think it would be nice to have a ‘--install’ option to specify
 additional packages to add to the environment, so that one could do
 (say):

   guix environment mpc -i autoconf automake libtool

 and get a really complete development environment.

 (We discussed this on IRC some time ago, but I think we had overlooked
 this simple solution.)

 I think that is a good idea in general, so I will work on adding it.

OK.

Ludo’.



Re: Advice needed on gcc error

2014-11-24 Thread Ludovic Courtès
Adam Pribyl pri...@lowlevel.cz skribis:

 I would suggest improving the
 http://www.gnu.org/software/guix/manual/guix.html#Using-the-Configuration-System
 example and incorporating most of the options in the configuration
 example as e.g. starting lsh-service without [#:initialize? #f] for
 the first time makes no sense. Also it could be present in the config
 template in the distribution itself.

 This would help most of us not very familiar with all the details to
 do a fluent installation.

I was uneasy having #:initialize? default to #t.  That would work, but
I’d rather have people create key handle that explicitly by themselves,
because it’s pretty sensitive, #:initialize? runs ‘lsh-make-seed’ with
--sloppy, which is not so great, and they might want to reuse existing
keys, etc.

To begin with, I’ve clarified the documention, with links to the lsh
manual (patch below.)

Thanks for the suggestion,
Ludo’.

commit aba747bda84d99fc7dc7b5ff40562217d6d304dc (HEAD, refs/heads/master)
Author: Ludovic Courtès l...@gnu.org
Date:   Mon Nov 24 21:15:40 2014 +0100

doc: Add xrefs to the lsh manual.

Suggested by Adam Pribyl pri...@lowlevel.cz.

* gnu/services/ssh.scm (lsh-service): Update docstring with xrefs to
  the lsh manual.  Fix typos.
* doc/guix.texi (Networking Services): Synchronize.

	Modified   doc/guix.texi
diff --git a/doc/guix.texi b/doc/guix.texi
index a2f881f..3d49f7d 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -4033,12 +4033,17 @@ When @var{initialize?} is true, automatically create the seed and host key
 upon service activation if they do not exist yet.  This may take long and
 require interaction.
 
+When @var{initialize?} is false, it is up to the user to initialize the
+randomness generator (@pxref{lsh-make-seed,,, lsh, LSH Manual}), and to create
+a key pair with the private key stored in file @var{host-key} (@pxref{lshd
+basics,,, lsh, LSH Manual}).
+
 When @var{interfaces} is empty, lshd listens for connections on all the
 network interfaces; otherwise, @var{interfaces} must be a list of host names
 or addresses.
 
-@var{allow-empty-passwords?} specifies whether to accepts log-ins with empty
-passwords, and @var{root-login?} specifies whether to accepts log-ins as
+@var{allow-empty-passwords?} specifies whether to accept log-ins with empty
+passwords, and @var{root-login?} specifies whether to accept log-ins as
 root.
 
 The other options should be self-descriptive.
	Modified   gnu/services/ssh.scm
diff --git a/gnu/services/ssh.scm b/gnu/services/ssh.scm
index 5fc98e9..2b52c77 100644
--- a/gnu/services/ssh.scm
+++ b/gnu/services/ssh.scm
@@ -91,12 +91,17 @@ When @var{initialize?} is true, automatically create the seed and host key
 upon service activation if they do not exist yet.  This may take long and
 require interaction.
 
+When @var{initialize?} is false, it is up to the user to initialize the
+randomness generator (@pxref{lsh-make-seed,,, lsh, LSH Manual}), and to create
+a key pair with the private key stored in file @var{host-key} (@pxref{lshd
+basics,,, lsh, LSH Manual}).
+
 When @var{interfaces} is empty, lshd listens for connections on all the
 network interfaces; otherwise, @var{interfaces} must be a list of host names
 or addresses.
 
-@var{allow-empty-passwords?} specifies whether to accepts log-ins with empty
-passwords, and @var{root-login?} specifies whether to accepts log-ins as
+@var{allow-empty-passwords?} specifies whether to accept log-ins with empty
+passwords, and @var{root-login?} specifies whether to accept log-ins as
 root.
 
 The other options should be self-descriptive.



Re: Claws-mail

2014-11-24 Thread Ludovic Courtès
Julien Lepiller jul...@lepiller.eu skribis:

 here is the patch I was invited to write for claws-mail.

Thanks for honoring the invitation.  ;-)

 From b920081174eb3f4e0a04157efb6f83e1b984dd68 Mon Sep 17 00:00:00 2001
 From: Julien Lepiller jul...@lepiller.eu
 Date: Sat, 22 Nov 2014 10:34:07 +0100
 Subject: [PATCH 1/2] gnu: Add libetpan.

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

Applied, with a comment explaining why inputs need to be propagated.

 From 1ca24d2a820034b3c75261807f73c4770c9fe2f7 Mon Sep 17 00:00:00 2001
 From: Julien Lepiller jul...@lepiller.eu
 Date: Sun, 23 Nov 2014 01:48:53 +0100
 Subject: [PATCH 2/2] gnu: Add claws-mail.

 * gnu/packages/mail.scm (claws-mail): New variable.

Applied.

Thanks!

Ludo’.



Re: [PATCH] gnu: Add Nmap.

2014-11-24 Thread Taylan Ulrich Bayırlı/Kammer
l...@gnu.org (Ludovic Courtès) writes:

 So that means that the zenmap (or nmap) package basically needs to
 “close over” these inputs, probably using ‘wrap-program’.

Thanks for the pointer; I'll look into 'wrap-program'.

 2) If purely-run-time dependencies are inputs, won't that trigger
unnecessary rebuilds of the package when a run-time dependency is
updated?

 It’s rarely be “purely run-time”.  Normally, at the very least there’s
 a configure script that makes sure at build-time that the dependencies
 are satisfied, and a test suite that makes sure things work.

You're right; now that I think of it, it's probably a bug that Nmap's
build process doesn't check for the presence of a GTK module.  I'll talk
to their developers to clarify.  (ML thread should pop up at the bottom
of http://seclists.org/nmap-dev/2014/q4/index.html soon.)

 1) There should be a way to run-time-depend on another package
without it being a build input at all.

 The whole functional approach things means that bindings are static

That's a neat analogy. :-) However, we needn't recompile C code when
there's an update to some dynlang library the program uses, do we?

Then again, we want to re-run a potential test suite that might be using
that library.  I guess it's OK to be conservative for now, until One
Day™ we can be more precise and separate testing from building...

(If that day comes though, we better find a way to automatically discern
run-time-only inputs.  (Regarding test suites to be run-time too.)
Otherwise we'll have a lot to do.)

Also, configure scripts that check for such dynlang libraries' presence
might become a problem.  I imagine one could provide some for-building
version of said library that's merely of the same major version, to
shut up the configure script, since it only gets in the way in this
case.  (Complaining about the lack of a run-time dependency, at
build-time...  Yes, above I said *not* doing this is probably a bug in
Nmap's build process, but for us it would become an annoyance.)
Alternatively, the script might simply take a flag telling it to enable
a feature even if it can't find a run-time dependency; I don't how many
configure scripts have this.

 2) When interface files of a dylib are needed during compilation of a
static lang (e.g. C headers), a special for-building package should
be used as input, thus the actual dylib can be updated without
causing rebuilds.  (Until ABI compatibility breaks I guess.)

 You’re describing an imperative packaging system.  This is fine, but
 it defeats the whole idea of functional packaging.  :-)

 See http://nixos.org/docs/papers.html and
 http://gnu.org/s/guix/#documentation for the rationale.

Same thing as above really.  Until the ABI of a dylib changes, updates
to it needn't ignite recompilation of C code which uses that lib; it
won't affect the compiler output anyway.  (Tell me if I'm technically
wrong; not an expert on C compilation etc.)  But again, test suites...

It does sound like breaking functional purity, but is it really so when
an input has *no* effect on a build process other than the test suite?
Once the test suite is separated, the real package and for-building
package become operationally equivalent under the given build process,
so providing one in place of the other would be a correctness preserving
optimization. :-)

 3) Similarly, when a program is needed purely at build-time, like Bash
or SCons, a special for-building package should be used as input,
thus the actual program can be updated without causing rebuilds.
(The for-building package would be updated only when doing so will
improve the builds, like when a newer GCC version optimizes better.)

 Build tools are listed in ‘native-inputs’.

Ah, thanks for clarifying.  (BTW 'native-inputs' seems undocumented.)

In that case, we should already be able to do at least this, no?  (The
other ideas are sadly high up in the air.)  It could have prevented
world-rebuilds upon the bash security patches, for example.  (Given it's
acceptable to use a buggy (even security-holy) Bash for some ./configure
scripts and the like, so long as it doesn't break specifically them.)

 Runtime dependencies are found by scanning binaries for the hash
 parts of Nix store paths (such as r8vvq9kq…). This sounds risky, but
 it works extremely well.

 Perhaps we already do that?

 Yes.  That means that run-time dependencies are a strict subset of
 build-time dependencies.

I see.  One confusion remains: wouldn't that mean it would drop a
dependency such as the Python GTK module in our case, because its hash
doesn't appear anywhere, and instead it's only referenced by module name
which is expected to be in some Python load path at run-time?


Thanks a lot and sorry for taking your time!  I might be dumping out
many dubious ideas.

Taylan



Re: [PATCH] gnu: Add rtorrent and libtorrent.

2014-11-24 Thread Ludovic Courtès
taylanbayi...@gmail.com (Taylan Ulrich Bayırlı/Kammer) skribis:

 From 608d40907185b70bb4256ee48afecc3cc93e771b Mon Sep 17 00:00:00 2001
 From: Taylan Ulrich B taylanbayi...@gmail.com
 Date: Sat, 22 Nov 2014 15:49:07 +0100
 Subject: [PATCH 1/2] gnu: Add libTorrent.

 * gnu/packages/bittorrent.scm (libtorrent): New variable.

Applied.

[...]

 +(home-page http://libtorrent.rakshasa.no/;)
 +(license l:gpl2)))

I changed it to ‘gpl2+’ since that’s what the file headers say.

Thanks,
Ludo’.



Re: [PATCH 1/2] gnu: Add numpy

2014-11-24 Thread Ludovic Courtès
Federico Beffa be...@ieee.org skribis:

 Please find attached the first step with initial (bootstrap) numpy
 versions.  I've tested that the packages build before changing
 define-public to define.

OK.  Note that you can also test once it’s private, with

  guix build -e '(@@ (gnu packages python) python-numpy-bootstrap)'

 From 9be3873522b2c4b642a467e421bd8684068feb40 Mon Sep 17 00:00:00 2001
 From: Federico Beffa be...@fbengineering.ch
 Date: Mon, 24 Nov 2014 20:51:29 +0100
 Subject: [PATCH] gnu: Add numpy-bootstrap.

 * gnu/packages/python.scm (python-numpy-bootstrap, python2-numpy-bootstrap):
   New file-local variables.

LGTM, please push.

Thank you,
Ludo’.



Re: [PATCH 1/2] gnu: Add numpy

2014-11-24 Thread Federico Beffa
On Mon, Nov 24, 2014 at 10:06 PM, Ludovic Courtès l...@gnu.org wrote:
 OK.  Note that you can also test once it’s private, with

   guix build -e '(@@ (gnu packages python) python-numpy-bootstrap)'


OK, thanks. Will keep in mind for the future.

 LGTM, please push.

Pushed.Thanks.
Fede



Re: Gluglug X60 Guix howto

2014-11-24 Thread Jason Self
Alex Sassmannshausen alex.sassmannshau...@gmail.com wrote ..
 Hello,

 I received a request for instructions on how to get Guix running as
 standalone on the Gluglug X60 — my work is ongoing (I haven't
 reconfigured the Grub BIOS, nor have I got wireless working yet), but
 a first draft may help other owners.

 You can read my experience at http://glean.eu/guix-gluglug.html.

 HTH,

 Alex

This it great - Thanks! Can you please make it available under an
appropriate Free license [0]?

[0] http://freedomdefined.org/Licenses#Comparison_of_Licenses


signature.asc
Description: PGP signature


Re: [PATCH 01/13] gnu: subversion: Propagate env variables to hooks.

2014-11-24 Thread Eric Bavier
On Sat, Nov 22, 2014 at 5:02 AM, Ludovic Courtès l...@gnu.org wrote:

 Eric Bavier ericbav...@gmail.com skribis:

  On Fri, Nov 21, 2014 at 4:24 PM, Eric Bavier ericbav...@gmail.com
 wrote:
 
 
  Ludovic Courtès writes:
 
   Eric Bavier ericbav...@gmail.com skribis:
  
   * gnu/packages/patches/subversion-propagate-env-to-hooks.patch: New
  patch.
   * gnu-system.am (dist_patch_DATA): Add it.
   * gnu/packages/version-control.scm (subversion): Use it.
  
   [...]
  
   +++ b/gnu/packages/patches/subversion-propagate-env-to-hooks.patch
   @@ -0,0 +1,14 @@
   +* Hooks need to inherit environment variables such as PATH,
 otherwise
  simple
   +  things like `ls` might fail in a hook.
  
   That looks good, but I want to make sure we’re not changing something
   that was purposefully made this way.
 
  If the behavior is similar in 1.8.10, I'll get in contact with the
  developers.
 
 
  According to the subversion documentation, the desired behavior is to
  execute hooks in an empty environment for security reasons (see
 
 http://svnbook.red-bean.com/en/1.7/svn.reposadmin.create.html#svn.reposadmin.create.hooks
  ).

 OK, so I think it’s important to stick to this behavior.


Agreed.



  So it looks like this is a small bug in libtool.  The wrapper scripts
  libtool generates for programs use `ls' to resolve symbolic links and is
  the only utility program invoked without an absolute file name (the only
  other utility being sed).  If such a wrapper script is executed with no
  PATH set, then we get ls: command not found errors.  I don't think it's
  unreasonable to expect libtool's wrappers to be able to execute in an
 empty
  environment.

 I see.  So the patch is there “just” to allow tests to run, right?


Only for tests to pass, yes.


 Second, the problem should affect everyone, including FHS systems, no?


The culprit, I think, is a small difference in behavior of bash.  If PATH
is unset (such as within svn's hook environment), then `bash -c 'echo
$PATH'` on an FHS system prints something like
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin, but Guix's
bash prints /no-such-path.  In the first case, `ls` will resolve to
/bin/ls, but will not be found in the second.


 How do people work around it?


Given that behavior, people have nothing to work around.  Does Nix's bash
behave differently?

I'm not sure that our bash needs to be changed in any way.  It's current
behavior seems in line with Guix's way of things.

I was able to get the tests to pass by simply patching the references to ls
that libtool emits in its wrappers.  I think this might be the way to go
for now, while also submitting a bug to libtool.

Thoughts?

`~Eric

-- 
Please avoid sending me Word or PowerPoint attachments.
See http://www.gnu.org/philosophy/no-word-attachments.html