Re: Few notes to 0.8

2014-11-29 Thread 宋文武
Ludovic Courtès  writes:

> Adam Pribyl  skribis:
>
>> I have now, with the help of people from this list, running
>> installation, with more or less complete config.scm. Guix gets better
>> with every version.
>
> Thanks for the detailed feedback, as usual!
>
>> 1. even thou networking and lsh-service are configured, networking
>> does not start, "deco status networking" prints it is running and is
>> e.g. PID 186, but there is no such process... weird as it should
>> respawn.
>
> Are you using ‘dhcp-client-service’?  What does
> ‘ps aux | grep dhc’ show?
>
>> 2. during boot the system twice sets the console font, each time to a
>> different one (this is not always reproducible). Minor.
>
> Hmm, you mean on the same tty?
Yeah, I have issue too, solved by:

  (initrd (lambda (fs . args)
(apply base-initrd fs
   #:extra-modules '("i915")
   args)))

To get fbcon in initrd before udev-service and console-font-service.
I think the 'Console' lines of `dmesg' tell the reason.
>
>> 3. fstab is not "used", I am not sure how to mount additional file
>> systems and swap.
>
> Right.  I used the ‘mount’ command, and I would use ‘swapon’, but yes,
> it would be useful to be able to populate /etc/fstab so one can easily
> mount a pre-defined file system.
>
>> 4. I do not have e.g. /root/.guix-profile/sbin in PATH by default, not
>> sure why.
>
> I see, that’s because ‘root’ is not created with ‘useradd’, so it does
> not get .bashrc from the Shadow skeletons.
>
>> 5. still strugglig in how to install a package for global use,
>> probably only thru a "guix system reconfigure" otherwise every user
>> has to do a "guix package -i" to get the app into his profile.
>
> To install a package for global use, just add it to the ‘packages’ field
> of ‘operating-system’, and run ‘guix system reconfigure’.
>
> I find it more convenient to have most packages managed in my user
> account.
>
>> 6. I am still not able to add any service myself,
I just put it in my config.scm:

  (define (console-layout-service layout)
(with-monad %store-monad
 (return
  (service
   (document "Setup keyboard layout for console")
   (provision '(console-layout))
   (start #~(lambda _
  (system* (string-append #kbd "/bin/loadkeys") #$layout)))
   (stop #~(const #t))
   (respawn? #f)
>
> You mean to add a service definition?
>
>> if there is at least something like rc.local available, it would be
>> fine to have a last resort to start anything upon boot.
>
> Yeah I’m not sure exactly how to do it.  I think the priority should be
> to make the “regular” service mechanism be more usable for non
> experts.
Any plan for user services?
Get guix build a dmd.conf for user should be really cool.
>
>> 7. Not sure how to properly add a user (again guix system reconfigure
>> would help), as useradd makes the usuall unix user, but is missing
>> some other things like a build directory...
>
> Yes, the ‘users’ field, and then run ‘reconfigure’.
>
> ‘useradd’ should work as well, but user accounts created that way are
> not under Guix control.
>
> What do you mean by “build directory” here?
>
> Thanks,
> Ludo’.



poor scrolling in qemu-kvm

2014-11-29 Thread Federico Beffa
Hi,

I'm experimenting with the system in a qemu-kvm virtual machine. I
created an image and successfully booted. However, scrolling of the
display is unusably slow (e.g. displaying dmesg). The same problem is
also visible in Ludovic's presentation

http://audio-video.gnu.org/video/ghm2014/2014-08--courtes--were-building-the-gnu-system--ghm.webm

at about min. 41.

For comparison I run an ubuntu live cd (in text mode) and it performs very well.

Have someone found out the reason for this poor performance in
qemu-kvm and how to fix it?

Thanks,
Fede



Re: poor scrolling in qemu-kvm

2014-11-29 Thread Federico Beffa
On Sat, Nov 29, 2014 at 5:23 PM, Federico Beffa  wrote:
> Hi,
>
> I'm experimenting with the system in a qemu-kvm virtual machine. I
> created an image and successfully booted. However, scrolling of the
> display is unusably slow (e.g. displaying dmesg). The same problem is
> also visible in Ludovic's presentation
>
> http://audio-video.gnu.org/video/ghm2014/2014-08--courtes--were-building-the-gnu-system--ghm.webm
>
> at about min. 41.
>
> For comparison I run an ubuntu live cd (in text mode) and it performs very 
> well.
>
> Have someone found out the reason for this poor performance in
> qemu-kvm and how to fix it?
>

Interestingly, under X the system performs pretty well. So, its a text
mode problem.

Fede



Re: Few notes to 0.8

2014-11-29 Thread Ludovic Courtès
宋文武  skribis:

> Ludovic Courtès  writes:
>
>> Adam Pribyl  skribis:

[...]

>>> 2. during boot the system twice sets the console font, each time to a
>>> different one (this is not always reproducible). Minor.
>>
>> Hmm, you mean on the same tty?
> Yeah, I have issue too, solved by:
>
>   (initrd (lambda (fs . args)
> (apply base-initrd fs
>#:extra-modules '("i915")
>args)))
>
> To get fbcon in initrd before udev-service and console-font-service.

Oh, OK.

> I think the 'Console' lines of `dmesg' tell the reason.

I have:

--8<---cut here---start->8---
$ dmesg |grep -E '(udevd.*starting|Conso)'
[0.00] Console: colour VGA+ 80x25
[3.750956] udevd[190]: starting version 1.10
[4.536397] Console: switching to colour dummy device 80x25
[5.421016] Console: switching to colour frame buffer device 170x48
--8<---cut here---end--->8---

I don’t think we can solve it generically without adding udev and all
the graphics drivers to the initrd, can we?  Or perhaps we could just
include a few common graphics drivers by default?

> I just put it in my config.scm:
>
>   (define (console-layout-service layout)
> (with-monad %store-monad
>  (return
>   (service
>(document "Setup keyboard layout for console")
>(provision '(console-layout))
>(start #~(lambda _
>   (system* (string-append #kbd "/bin/loadkeys") #$layout)))
>(stop #~(const #t))
>(respawn? #f)

Excellent.  I was thinking that we should have a keyboard layout setting
in the OS declaration, that would lead to a service like the one above
as well as the appropriate X settings.

> Any plan for user services?
> Get guix build a dmd.conf for user should be really cool.

Yeah, that could be nice.

I wonder how this should work.  Currently we’d have to start one dmd
instance per user; I’m not sure where/when this should be started.
Also, should the global OS declaration include user-specific service
lists?  WDYT?

Thanks for your feedback!

Ludo’.



Re: [PATCH] gnu: wireless-tools: Install the manual pages under $out/share/man

2014-11-29 Thread Ludovic Courtès
宋文武  skribis:

> From f961e72823cda48406d0058902c67b6b663da791 Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= 
> Date: Sat, 29 Nov 2014 12:52:59 +0800
> Subject: [PATCH] gnu: wireless-tools: Install the manual pages under
>  $out/share/man.
>
> * gnu/packages/linux.scm (wireless-tools)[origin]: Add snippet.

Thanks, applied.

It may be a good time to get commit access.  Could you create an account
on Savannah and let me know?

> We could get rid of MANPATH, if all man pages install to $out/share/man.

Yes, it’s always been the goal to uniformly use share/man.

In core-updates, I’d like to add a build phase at the very end that
checks a few things like that, and aborts on failure.  WDYT?

> Assume a suitable PATH is set, try:
>   $ guix package -r wireless-tools
>   $ env MANPATH= manpath
> Get:
>   /run/current-system/profile/man:/home/iyzsong/.guix-profile/share/man
> It's because wireless-tools having man pages in $out/man, after apply
> this patch, we should get:
>   /run/current-system/profile/share/man:/home/iyzsong/.guix-profile/share/man
> 
> Then `man' will just work even without MANPATH.

Indeed.  I didn’t know MANPATH was unneeded in this case.

Thanks!

Ludo’.



Re: poor scrolling in qemu-kvm

2014-11-29 Thread Ludovic Courtès
Federico Beffa  skribis:

> Have someone found out the reason for this poor performance in
> qemu-kvm and how to fix it?

Yes, I eventually found out: by default, QEMU uses a Cirrus VGA graphics
adapter emulator, which is damn slow for this kind of framebuffer thing.

The right thing is to use ‘-vga std’, which uses a “standard VGA”
emulator, which doesn’t have this problem.

However, X will fail to start currently when using this.  The fix is to
use xf86-video-modesetting.  But this driver is not currently usable
because it requires a version of libdrm incompatible with that currently
used by xorg-server/MESA.

Long story short: we just need to update MESA to use the newer libdrm,
and we should be able to fix that.

Would you like to try?  :-)

Thanks,
Ludo’.



Re: gnu: Add mg.

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

> From 9946ebe13954913513956c8d8130f58149daf45f Mon Sep 17 00:00:00 2001
> From: Taylan Ulrich B 
> Date: Wed, 26 Nov 2014 23:14:16 +0100
> Subject: [PATCH] gnu: Add mg.
>
> * gnu/packages/mg.scm: New file.
> * gnu-system.am (GNU_SYSTEM_MODULES): Add mg.scm.

Applied, thanks!

(I was hoping someone would pick up the review, but that didn’t
happen. ;-))

Ludo’.



[PATCH] gnu: Rename fonts according to our new naming scheme.

2014-11-29 Thread Andreas Enge
What do you think of keeping "gnu" as a foundry in the third font?
There I added "-ttf"; so far, this is the only format we have packaged,
but the ftp site provides more formats in separate tarballs.

If someone interested in fonts feels up to it, there is a newer version
20120503, but as a .zip instead of a .tar.gz. Is that why it is not suggested
by "guix refresh"?

Andreas


* gnu/packages/fonts.scm (ttf-dejavu): Rename to ...
* gnu/packages/fonts.scm (font-dejavu): ... this.
* gnu/packages/fonts.scm (ttf-bitstream-vera): Rename to ...
* gnu/packages/fonts.scm (font-bitstream-vera): ... this.
* gnu/packages/fonts.scm (freefont-ttf): Rename to ...
* gnu/packages/fonts.scm (font-gnu-freefont-ttf): ... this.
* gnu/packages/fonts.scm (terminus-font): Rename to ...
* gnu/packages/fonts.scm (font-terminus): ... this.
---
 gnu/packages/fonts.scm | 16 
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index 0181420..74cfc9d 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -32,9 +32,9 @@
   #:use-module (gnu packages xorg)
   #:use-module (gnu packages pkg-config))
 
-(define-public ttf-dejavu
+(define-public font-dejavu
   (package
-(name "ttf-dejavu")
+(name "font-dejavu")
 (version "2.34")
 (source (origin
  (method url-fetch)
@@ -98,9 +98,9 @@ provide serif, sans and monospaced variants.")
  (license:x11-style
   "http://dejavu-fonts.org/";
 
-(define-public ttf-bitstream-vera
+(define-public font-bitstream-vera
   (package
-(name "ttf-bitstream-vera")
+(name "font-bitstream-vera")
 (version "1.10")
 (source (origin
  (method url-fetch)
@@ -152,9 +152,9 @@ package provides the TrueType (TTF) files.")
  (license:x11-style
   "https://www-old.gnome.org/fonts/#Final_Bitstream_Vera_Fonts";
 
-(define-public freefont-ttf
+(define-public font-gnu-freefont-ttf
   (package
-(name "freefont-ttf")
+(name "font-gnu-freefont-ttf")
 (version "20100919")
 (source (origin
  (method url-fetch)
@@ -269,9 +269,9 @@ and Bitstream Vera Sans Mono).
 The Liberation Fonts are sponsored by Red Hat.")
 (license license:silofl1.1)))
 
-(define-public terminus-font
+(define-public font-terminus
   (package
-(name "terminus-font")
+(name "font-terminus")
 (version "4.39")
 (source
   (origin
-- 
2.1.2




Re: Installing the system from another distro

2014-11-29 Thread Alex Kost
Ludovic Courtès (2014-11-27 01:06 +0300) wrote:

> Alex Kost  skribis:

[...]

>> Thanks for the pointers!  You helped to figure it out.  And the system
>> is awesome!!  The only big issue I've noticed so far is: the screen
>> resolution was 800x600 for me and xrandr didn't give any other option.
>> "/var/log/Xorg.0.log" told me that the module for my videocard ("sis")
>> wasn't loaded.  I looked at (gnu services xorg) and found that not all
>> available "xf86-video-…" modules are placed at "xserver.conf".  Is there
>> a reason for that?
>
> No reason!  Please do add it.

I checked that adding xf86-video-sis fixes the resolution problem.  But
did you mean to add just xf86-video-sis (a trivial patch for this is
attached) or all modules?  I see that you added a commented line for
xf86-video-modesetting, so I assume that adding all available modules
may introduce unexpected issues.

>> Hm, perhaps I just need to install "xf86-video-sis" package (I should
>> have tried it before asking).
>
> X would not find it; it really needed to be listed in the search path in
> xorg.conf.
>
>> Also I have a question.  I usually add some custom lines to "xorg.conf".
>> I suppose currently there is no other way to do it but to make my own
>> xorg (slim) service.  Right?
>
> Actually it’s ‘xorg-start-command’ that creates xorg.conf.
>
> The best thing would be to add a parameter to that function to allow
> arbitrary text to be appended.  (Well, not just text, but a list of
> strings and possibly packages; the ‘xserver.conf’ procedure would do
> (apply text-file* "xserver.conf" ... user-text).)
>
> WDYT?

Yes, it would be good.  Currently I don't need it, but I'll look at it
if I will have such need :-)

>From 35119792b81cc7f0fbb68f096df2bd6f6727eaeb Mon Sep 17 00:00:00 2001
From: Alex Kost 
Date: Fri, 28 Nov 2014 23:49:58 +0300
Subject: [PATCH] services: xorg: Add 'xf86-video-sis'.

* gnu/services/xorg.scm (xorg-start-command)[xserver.conf]: Add
  ModulePath for 'xf86-video-sis'.
---
 gnu/services/xorg.scm | 1 +
 1 file changed, 1 insertion(+)

diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm
index 5236573..c813f0f 100644
--- a/gnu/services/xorg.scm
+++ b/gnu/services/xorg.scm
@@ -96,6 +96,7 @@ Section \"Files\"
   ModulePath \"" xf86-video-intel "/lib/xorg/modules/drivers\"
   ModulePath \"" xf86-video-mach64 "/lib/xorg/modules/drivers\"
   ModulePath \"" xf86-video-nv "/lib/xorg/modules/drivers\"
+  ModulePath \"" xf86-video-sis "/lib/xorg/modules/drivers\"
   ModulePath \"" xf86-input-keyboard "/lib/xorg/modules/input\"
   ModulePath \"" xf86-input-mouse "/lib/xorg/modules/input\"
   ModulePath \"" xf86-input-synaptics "/lib/xorg/modules/input\"
-- 
2.1.3



Re: [PATCH] gnu: Add matplotlib.

2014-11-29 Thread Ludovic Courtès
Federico Beffa  skribis:

> For python2-matplotlib I've noticed a behavior that I do not
> understand: matplotlib depends on numpydoc which I pushed yesterday
> and appears not to be ready yet on hydra. If I build
> python2-matplotlib with
>
> ./pre-inst-env guix build python2-matplotlib
>
> guix tells me that it will build among other packages
>
> /gnu/store/gjfrir5iykxwxicp9dxjv3adk5vpifb4-python2-numpydoc-0.5.drv
>
> However, the build process for this package fails, because a test
> fails. Since I prepared the numpydoc package I know about this test
> and know that the package includes the parameter #:tests? #f.
>
> In fact, if I explicitly build python2-numpydoc with
>
> ./pre-inst-env guix build python2-numpydoc
>
> it finished successfully (skipping the tests).
>
> The two ways of causing numpydoc to be built (direct and indirect)
> generate two independent
>
> /gnu/store/...-python2-numpydoc-0.5-guile-builder
>
> The one generated by an explicit build command includes the #:tests?
> #f flag as expected. However, the indirect one includes a #:tests? #t
> flag! I'm confused. Am I missing something?

What happens is that ‘package-with-python2’ automatically generates
python2 variants of the dependencies of the package you give it.  So
(package-with-python2 python-matplotlib) generates a package with an
input that is exactly (package-with-python2 python-numpydoc), hence with
#:tests? #t.

The fix is to explicitly use the right python2-numpydoc, along the lines
of:

  (define-public python2-matplotlib
(let ((matplotlib (package-with-python2 python-matplotlib)))
  (package (inherit matplotlib)
;; Make sure we use exactly PYTHON2-NUMPYDOC, which is
;; customized for Python 2.
(inputs `(("numpydoc" ,python2-numpydoc)
  ,@(alist-delete "numpydoc" (package-inputs matplotlib)))


> +   ;; FIX-ME: Add backends when available.

Please write “FIXME” for easier grepping and highlighting.

Otherwise the patch looks good to me, thanks for working on it!

Ludo’.



Re: Few notes to 0.8

2014-11-29 Thread Alex Kost
宋文武 (2014-11-29 14:57 +0300) wrote:

[...]
> I just put it in my config.scm:
>
>   (define (console-layout-service layout)
> (with-monad %store-monad
>  (return
>   (service
>(document "Setup keyboard layout for console")
>(provision '(console-layout))
>(start #~(lambda _
>   (system* (string-append #kbd "/bin/loadkeys") #$layout)))
>(stop #~(const #t))
>(respawn? #f)

Hey, this is cool!  I think it's worth adding it to the repo.

-- 
Alex



Re: [PATCH] gnu: Rename fonts according to our new naming scheme.

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

> What do you think of keeping "gnu" as a foundry in the third font?

Fine with me.

> There I added "-ttf"; so far, this is the only format we have packaged,
> but the ftp site provides more formats in separate tarballs.

OK.

> If someone interested in fonts feels up to it, there is a newer version
> 20120503, but as a .zip instead of a .tar.gz. Is that why it is not suggested
> by "guix refresh"?

Indeed.  I’ve just fixed it:

--8<---cut here---start->8---
scheme@(guile-user)> ,use(guix gnu-maintenance)
scheme@(guile-user)> (latest-release "freefont-ttf")
$4 = #< package: "freefont-ttf" version: "20120503" directory: 
"/gnu/freefont" files: ("freefont-ttf-20120503.zip")>
--8<---cut here---end--->8---

> * gnu/packages/fonts.scm (ttf-dejavu): Rename to ...
> * gnu/packages/fonts.scm (font-dejavu): ... this.
> * gnu/packages/fonts.scm (ttf-bitstream-vera): Rename to ...
> * gnu/packages/fonts.scm (font-bitstream-vera): ... this.
> * gnu/packages/fonts.scm (freefont-ttf): Rename to ...
> * gnu/packages/fonts.scm (font-gnu-freefont-ttf): ... this.
> * gnu/packages/fonts.scm (terminus-font): Rename to ...
> * gnu/packages/fonts.scm (font-terminus): ... this.

LGTM, thank you!

Ludo’.



Re: Installing the system from another distro

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

> Ludovic Courtès (2014-11-27 01:06 +0300) wrote:
>
>> Alex Kost  skribis:
>
> [...]
>
>>> Thanks for the pointers!  You helped to figure it out.  And the system
>>> is awesome!!  The only big issue I've noticed so far is: the screen
>>> resolution was 800x600 for me and xrandr didn't give any other option.
>>> "/var/log/Xorg.0.log" told me that the module for my videocard ("sis")
>>> wasn't loaded.  I looked at (gnu services xorg) and found that not all
>>> available "xf86-video-…" modules are placed at "xserver.conf".  Is there
>>> a reason for that?
>>
>> No reason!  Please do add it.
>
> I checked that adding xf86-video-sis fixes the resolution problem.  But
> did you mean to add just xf86-video-sis (a trivial patch for this is
> attached) or all modules?

In theory we could add all of them by default, but ISTR that some of
them didn’t build, or are only useful for VM guests.

> I see that you added a commented line for xf86-video-modesetting, so I
> assume that adding all available modules may introduce unexpected
> issues.

xf86-video-modesetting is not currently usable due to a libdrm version
mismatch, as I just wrote to Federico.

> From 35119792b81cc7f0fbb68f096df2bd6f6727eaeb Mon Sep 17 00:00:00 2001
> From: Alex Kost 
> Date: Fri, 28 Nov 2014 23:49:58 +0300
> Subject: [PATCH] services: xorg: Add 'xf86-video-sis'.
>
> * gnu/services/xorg.scm (xorg-start-command)[xserver.conf]: Add
>   ModulePath for 'xf86-video-sis'.

Please push.

Thanks!

Ludo’.



Re: poor scrolling in qemu-kvm

2014-11-29 Thread Andreas Enge
On Sat, Nov 29, 2014 at 09:53:54PM +0100, Ludovic Courtès wrote:
> Long story short: we just need to update MESA to use the newer libdrm,
> and we should be able to fix that.
> Would you like to try?  :-)

I did try to update mesa, which was the source of some new packages in the
xorg module. However, if I remember correctly, a newer mesa would essentially
force us to upgrade all of our X. And so far, the policy has been to stay with
the releases stable R7.7. Just as a warning that by upgrading something, you
may be in for upgrading a lot, which we might not wish to do.

Andreas




Re: poor scrolling in qemu-kvm

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

> On Sat, Nov 29, 2014 at 09:53:54PM +0100, Ludovic Courtès wrote:
>> Long story short: we just need to update MESA to use the newer libdrm,
>> and we should be able to fix that.
>> Would you like to try?  :-)
>
> I did try to update mesa, which was the source of some new packages in the
> xorg module. However, if I remember correctly, a newer mesa would essentially
> force us to upgrade all of our X. And so far, the policy has been to stay with
> the releases stable R7.7. Just as a warning that by upgrading something, you
> may be in for upgrading a lot, which we might not wish to do.

Oh, right.

OTOH the real R7.7 is getting old, no?  Should we really wait for the
next big joint release?

Thanks,
Ludo’.



Re: [PATCH] gnu: wireless-tools: Install the manual pages under $out/share/man

2014-11-29 Thread 宋文武
Ludovic Courtès  writes:

> 宋文武  skribis:
>
>> From f961e72823cda48406d0058902c67b6b663da791 Mon Sep 17 00:00:00 2001
>> From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= 
>> Date: Sat, 29 Nov 2014 12:52:59 +0800
>> Subject: [PATCH] gnu: wireless-tools: Install the manual pages under
>>  $out/share/man.
>>
>> * gnu/packages/linux.scm (wireless-tools)[origin]: Add snippet.
>
> Thanks, applied.
>
> It may be a good time to get commit access.  Could you create an account
> on Savannah and let me know?
Thanks for the trust!
I have some problems to get the account activated now,
once done, I will ping you :)
>
>> We could get rid of MANPATH, if all man pages install to $out/share/man.
>
> Yes, it’s always been the goal to uniformly use share/man.
>
> In core-updates, I’d like to add a build phase at the very end that
> checks a few things like that, and aborts on failure.  WDYT?
Yes, sounds great.
>
>> Assume a suitable PATH is set, try:
>>   $ guix package -r wireless-tools
>>   $ env MANPATH= manpath
>> Get:
>>   /run/current-system/profile/man:/home/iyzsong/.guix-profile/share/man
>> It's because wireless-tools having man pages in $out/man, after apply
>> this patch, we should get:
>>   /run/current-system/profile/share/man:/home/iyzsong/.guix-profile/share/man
>> 
>> Then `man' will just work even without MANPATH.
>
> Indeed.  I didn’t know MANPATH was unneeded in this case.
>
> Thanks!
>
> Ludo’.