Re: none

2014-12-05 Thread Tomas Cech
At Fri, 05 Dec 2014 00:04:23 +0100,
Ludovic Courtès wrote:
 
 Tomas Cech sleep_wal...@suse.cz skribis:
 
  I tried to install Guix as alternative OS to my Gentoo and openSUSE
  installations to give a try. I tried unsupported scenario -
  installation on LVM volume and separate /boot partition until I was
  told it is unsupported. Separate boot wasn't hard as I had to just
  copy generated files so they are loaded.
 
 OK, but there’s still an open bug on that topic.  :-)
 http://bugs.gnu.org/19220

Good, I'll give a try again.

  1] if you set device to partition (and not to disk) in your 
  grub-configuration like this:
 
   (bootloader (grub-configuration
 (device /dev/sda4)))
 
 Why would you want to use a partition and not a disk?  I didn’t know
 this was even possible.

Because this way I can separate Grub managed by Guix and Grub from my
Gentoo. As I'm playing with that on my notebook I need for work, this
way can reduce risks.

I'm not sure how Guix installer can manipulate with grub.cfg and I'd
like to always have some working system...

 
  `guix system init' will fail on grub installation. By default Grub
  tries to fit in the beginning of partition and fails if it can't fit
  in. I asked about this behaviour on Grub mailing list and it seems
  that there are two options:
 
a] add `--force' to command line and use block list for keeping 
  information about position of Grub's core.img
b] use filesystem which allows embedding - BtrFS or ZFS
 
  I verified both options (a] and then b] with BtrFS) and it no longer fails.
 
  But,
  ad a] - I don't feel safe passing `--force' to grub-install every
  time. So if installation fails on this point and you'd like to use
  your FS anyway, you can pass `--no-grub' to `guix system init' and
  then rung grub-install manually.
 
  ad b] - I don't feel safe using still experimental BtrFS.
 
 OK.  I think the conclusion for Guix is to leave the defaults unchanged.
 Perhaps we could add a ‘force?’ field to the ‘grub-configuration’ data
 type to allow those who know what they doing to get the effect of
 ‘--force’.  WDYT?

After some more mails with help-grub ML It seems that Grub can do even better -
it can load core.img right from Guix's filesystem or just read new
configuration (multiboot, resp. config - both shown here
http://www.gnu.org/software/grub/manual/grub.html#Multi_002dboot-manual-config
)... But these are just Grub chainloading Grub solutions...

From Guix perspective I don't think it is possible to do it
automatically. I think you can consider installation of Grub to
partiotion as something just for advanced users. With that in mind I
believe guix should refuse (with some warning) installing grub that
way. Advanced users can use `--no-grub' option which will prevent guix
from fail and do manually anything they desire. And in the
documentation I'd give some short notice about that with link to Grub
manual. IMHO information that only ZFS and BtrFS can embed core.img
into boot sector belongs there.

  2] current Grub version in Guix during boots generated this error:
 
  error: symbol 'grub_term_highlight_color' not found
 
  and started rescue shell.
  It seems to be a bit mystic bug:
  https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1289977
 
 Strange.  I haven’t experienced it.  Sounds like a .mod wasn’t found or
 something like that?  That could be a bug related to separate /boot.

Yes, sounds like something like that. Important for me is that the
same command with same configuration worked when I used version from
Gentoo so I don't think it's bug elsewhere but in Grub version.


  I'm also interested in running chroot in Guix. This is something I
  like about all Linux distribution I use - I can run Linux and at the
  same time I prepare another Linux root filesystem for use. It seems
  that chrooting into Guix may be tricky.
 
  I prepared this script to be placed somewhere into Guix:
 
  --%-
  #!/run/current-system/profile/bin/bash
 
  export LIBRARY_PATH=LIBRARY_PATH=/root/.guix-profile/lib
  export CPATH=/root/.guix-profile/include
  export 
  PATH=/run/setuid-programs:/run/current-system/profile/sbin:/root/.guix-profile/bin:/run/current-system/profile/bin
  export 
  INFOPATH=/root/.guix-profile/share/info:/run/current-system/profile/share/info
 
  exec bash -i
  --%
 
  for i in dev proc sys; do mount -R /$i /guix_mountpoint/$i; done
  chroot /guix_mountpoint/ /helper_script.sh
 
 I suppose this works, right?

Yes :)

 
  Ludovic said that `guix packages --search-paths' should generate similar 
  path configuration so it may be the right way, but it didn't work for me.
 
 I realize ‘guix package --search-paths’ wouldn’t suffice here.  You may
 want to source /etc/profile from within the chroot.

OK, I'll play with this to improve it.


S_W

Re: Packaging Coq

2014-12-05 Thread Andreas Enge
On Thu, Dec 04, 2014 at 06:56:25PM -0500, Mark H Weaver wrote:
 Andreas Enge andr...@enge.fr writes:
  Instead of this, you could use
#:make-flags '(world)
 IMO, this is a misuse of #:make-flags.  'world' is not a make flag, it
 is a make *target*.  The make flags are also passed to 'make' during the
 default 'check' and 'install' phases.

In that case, maybe we should add a variable 'build-target' to our build
system.

Andreas




Re: use zsh as login shell

2014-12-05 Thread 宋文武
Here are my new patches:
Yeh, just add ~/.zshrc to source /etc/profie is enough.

From 42ccd7a445c9676db6d2c7b2b0583db45be245aa Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= iyzs...@gmail.com
Date: Fri, 5 Dec 2014 20:01:07 +0800
Subject: [PATCH 1/2] system: Cleanup bash startup files.

* gnu/system.scm (etc-directory) (bashrc): Rename to (profile).
  'CPATH', 'LIBRARY_PATH': Remove.
  'PS1', 'alias ls', 'alias ll': Move to ...
* gnu/system/shadow.scm (default-skeletons):
  (.bashrc): ... here. Don't source /etc/profile.
  (.bash_profile): New skeleton.
---
 gnu/system.scm| 13 -
 gnu/system/shadow.scm | 13 +
 2 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/gnu/system.scm b/gnu/system.scm
index e1ed1a2..a851ff2 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -384,10 +384,9 @@ This is the GNU system.  Welcome.\n)
(nsswitch   (text-file nsswitch.conf
   hosts: files dns\n))
 
-   ;; TODO: Generate bashrc from packages' search-paths.
-   (bashrc(text-file* bashrc  
-export PS1='\\u@\\h \\w\\$ '
-
+   ;; Startup file for POSIX-compliant login shells, which set system-wide
+   ;; environment variables.
+   (profile(text-file* profile  \
 export LC_ALL=\ locale \
 export TZ=\ timezone \
 export TZDIR=\ tzdata /share/zoneinfo\
@@ -397,11 +396,7 @@ export LINUX_MODULE_DIRECTORY=/run/booted-system/kernel/lib/modules
 
 export PATH=$HOME/.guix-profile/bin:/run/current-system/profile/bin
 export PATH=/run/setuid-programs:/run/current-system/profile/sbin:$PATH
-export CPATH=$HOME/.guix-profile/include: profile /include
-export LIBRARY_PATH=$HOME/.guix-profile/lib: profile /lib
 export INFOPATH=$HOME/.guix-profile/share/info:/run/current-system/profile/share/info
-alias ls='ls -p --color'
-alias ll='ls -l'
 ))
(skel  (skeleton-directory skeletons)))
 (file-union etc
@@ -414,7 +409,7 @@ alias ll='ls -l'
   (nsswitch.conf ,#~#$nsswitch)
   (skel ,#~#$skel)
   (shells ,#~#$shells)
-  (profile ,#~#$bashrc)
+  (profile ,#~#$profile)
   (hosts ,#~#$hosts-file)
   (localtime ,#~(string-append #$tzdata /share/zoneinfo/
  #$timezone))
diff --git a/gnu/system/shadow.scm b/gnu/system/shadow.scm
index 6970021..4a2322b 100644
--- a/gnu/system/shadow.scm
+++ b/gnu/system/shadow.scm
@@ -115,9 +115,13 @@
 (copy-file (car (find-files #$guile-wm wm-init-sample.scm))
#$output)))
 
-  (mlet %store-monad ((bashrc (text-file bashrc \
-# Allow non-login shells such as an xterm to get things right.
-test -f /etc/profile  source /etc/profile\n))
+  (mlet %store-monad ((profile (text-file bash_profile \
+# Honor per-interactive-shell startup file
+if [ -f ~/.bashrc ]; then . ~/.bashrc; fi\n))
+  (bashrc (text-file bashrc \
+PS1='\\u@\\h \\w\\$ '
+alias ls='ls -p --color'
+alias ll='ls -l'\n))
   (guile-wm (gexp-derivation guile-wm copy-guile-wm
   #:modules
   '((guix build utils
@@ -127,7 +131,8 @@ XTerm*metaSendsEscape: true\n))
   (gdbinit   (text-file gdbinit \
 # Tell GDB where to look for separate debugging files.
 set debug-file-directory ~/.guix-profile/lib/debug\n)))
-(return `((.bashrc ,bashrc)
+(return `((.bash_profile ,profile)
+  (.bashrc ,bashrc)
   (.Xdefaults ,xdefaults)
   (.guile-wm ,guile-wm)
   (.gdbinit ,gdbinit)
-- 
2.1.2

From 043e4d9b6743654e048d3495cb5bfa592d17e6c4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= iyzs...@gmail.com
Date: Fri, 5 Dec 2014 21:17:49 +0800
Subject: [PATCH 2/2] system: Add skeleton '.zshrc'.

* gnu/system/shadow.scm (default-skeletons): Add .zshrc.
---
 gnu/system/shadow.scm | 4 
 1 file changed, 4 insertions(+)

diff --git a/gnu/system/shadow.scm b/gnu/system/shadow.scm
index 4a2322b..a0b9f56 100644
--- a/gnu/system/shadow.scm
+++ b/gnu/system/shadow.scm
@@ -122,6 +122,9 @@ if [ -f ~/.bashrc ]; then . ~/.bashrc; fi\n))
 PS1='\\u@\\h \\w\\$ '
 alias ls='ls -p --color'
 alias ll='ls -l'\n))
+  (zshrc (text-file zshrc \
+# Honor system-wide environment variables
+source /etc/profile\n))
   (guile-wm (gexp-derivation guile-wm copy-guile-wm
   #:modules
   '((guix build utils
@@ -133,6 +136,7 @@ XTerm*metaSendsEscape: true\n))
 set debug-file-directory ~/.guix-profile/lib/debug\n)))
 (return `((.bash_profile ,profile)
   (.bashrc ,bashrc)
+  (.zshrc ,zshrc)
   (.Xdefaults ,xdefaults)
   (.guile-wm ,guile-wm)
   

Re: [PATCH] gnu: tzdata: Upgrade to 2014j.

2014-12-05 Thread 宋文武
Alex Kost alez...@gmail.com writes:

 If I understand correctly this upgrade should be pushed into
 core-updates, right?

 From f413da0721cbf8558a692f2707bcf9cb778def58 Mon Sep 17 00:00:00 2001
 From: Alex Kost alez...@gmail.com
 Date: Fri, 5 Dec 2014 15:59:00 +0300
 Subject: [PATCH] gnu: tzdata: Upgrade to 2014j.

 ---
  gnu/packages/base.scm | 7 ---
  1 file changed, 4 insertions(+), 3 deletions(-)

 diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
 index 4f28306..85e92aa 100644
 --- a/gnu/packages/base.scm
 +++ b/gnu/packages/base.scm
 @@ -3,6 +3,7 @@
  ;;; Copyright © 2014 Andreas Enge andr...@enge.fr
  ;;; Copyright © 2012 Nikita Karetnikov nik...@karetnikov.org
  ;;; Copyright © 2014 Mark H Weaver m...@netris.org
 +;;; Copyright © 2014 Alex Kost alez...@gmail.com
  ;;;
  ;;; This file is part of GNU Guix.
  ;;;
 @@ -502,7 +503,7 @@ with the Linux kernel.)
  (define-public tzdata
(package
  (name tzdata)
 -(version 2014a)
 +(version 2014j)
  (source (origin
   (method url-fetch)
   (uri (string-append
 @@ -510,7 +511,7 @@ with the Linux kernel.)
 version .tar.gz))
   (sha256
(base32
 -   1cg843ajz4g16axpz56zvalwsbp1s764na2bk4fb44ayx162bzvw
 +   038fvj6zf51k6z9sbbxbj87ajaf69l3whal2vwshbm4l0qr71n52
  (build-system gnu-build-system)
  (arguments
   '(#:tests? #f
 @@ -557,7 +558,7 @@ with the Linux kernel.)
  version .tar.gz))
(sha256
 (base32
 -
 1xfkqi1q8cnxqbv8azdj5pqlzhkjz6xag09f1z0s8rxi86jkpf85))
 +
 1qpd12imy7q5hb5fhk48mfw65s0xlrkmms0zr2gk0mj88qjn3m3z))
  (home-page http://www.iana.org/time-zones;)
  (synopsis Database of current and historical time zones)
  (description The Time Zone Database (often called tz or zoneinfo)
 -- 
 2.1.3
I thinks it's fine to push.

run:
  guix gc --referrers /gnu/store/q3w00wn1k1bv13yngyr2ysqvvspi09vf-tzdata-2014a
just give me:
  /gnu/store/1pfk74cdy9qpc0w745k19wdb704bkmp8-environment
  /gnu/store/nxxmr96fsib315nrwh945833imvhqc21-etc
  ... (other etc and environment)



Re: Packaging Coq

2014-12-05 Thread Mark H Weaver
Andreas Enge andr...@enge.fr writes:

 On Thu, Dec 04, 2014 at 06:56:25PM -0500, Mark H Weaver wrote:
 Andreas Enge andr...@enge.fr writes:
  Instead of this, you could use
#:make-flags '(world)
 IMO, this is a misuse of #:make-flags.  'world' is not a make flag, it
 is a make *target*.  The make flags are also passed to 'make' during the
 default 'check' and 'install' phases.

 In that case, maybe we should add a variable 'build-target' to our build
 system.

Sounds reasonable to me, although it should be 'build-targets' since
there is often more than one.  Ditto for 'install-targets' and
'check-targets' (or 'test-targets') if we don't already have them.

On the other hand, I'm not sure that these are needed often enough to
justify these new variables.  What do others think?

 Mark



Re: use zsh as login shell

2014-12-05 Thread Ludovic Courtès
Mark H Weaver m...@netris.org skribis:

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

 宋文武 iyzs...@gmail.com skribis:

 +  (mlet %store-monad ((bash-profile (text-file bash_profile \
 +# honor ~/.bashrc if the shell is interactive
 +[[ $- == *i* ]]  source ~/.bashrc

 I don’t think the test is needed, because ~/.bash_profile is only read
 by interactive Bash.

 Indeed.  However, it would be good to check if ~/.bashrc exists.
 Section 6.2 of the Bash manual suggests this:

   if [ -f ~/.bashrc ]; then . ~/.bashrc; fi

Yes.

 +# load system-wide environment varibales
 +source /etc/environment
 +
 +# common varibales for user profile
 +export PATH=$HOME/.guix-profile/bin:$HOME/.guix-profile/sbin:$PATH
 +export INFOPATH=$HOME/.guix-profile/share/info:$INFOPATH\n))
 +  (bashrc (text-file bashrc \
 +PS1='\\u@\\h \\w\\$ '

 I think PS1 should go to /etc/profile.  WDYT?

 I agree with 宋文武 that the PS1 setting belongs in the default
 ~/.bashrc skeleton.  I would prefer to keep settings like this, that are
 purely a matter of personal taste, out of system-wide files.  Also,
 /etc/profile is read by other shells, and I don't know that the syntax
 above is portable.

OK, that makes sense to me.

Ludo’.



Re: poor scrolling in qemu-kvm

2014-12-05 Thread Andreas Enge
On Mon, Dec 01, 2014 at 09:20:49AM +0100, Federico Beffa wrote:
 It sounds like you did quite some work on it already.  Please go on if
 you like. I'm not trying to step on anyone's feet :-)

Difficult to step on anyone's feet by doing work ;-)

I am definitely not going to work on guix refresh in the near future.

I could work on updating x.org, but not before next year, or maybe leisurely
during Christmas holidays.

Andreas




[PATCH 2/2] gnu: fish: Use /etc as sysconfdir

2014-12-05 Thread 宋文武
From c013b47d1947b1d0f01ce95e2ed8ecf98c236b65 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= iyzs...@gmail.com
Date: Sat, 6 Dec 2014 14:53:00 +0800
Subject: [PATCH 2/2] gnu: fish: Use /etc as sysconfdir.

* gnu/packages/fish.scm (fish) [arguments]: Add #:configure-flags.
  [origin]: Add snippet.
---
 gnu/packages/fish.scm | 10 --
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/fish.scm b/gnu/packages/fish.scm
index ee11124..9398446 100644
--- a/gnu/packages/fish.scm
+++ b/gnu/packages/fish.scm
@@ -35,14 +35,20 @@
   version /fish- version .tar.gz))
   (sha256
(base32
-096rhi911s3j618cvp8fj9pb4jniy3y6415jvjg8bhszsp1x7r5p
+096rhi911s3j618cvp8fj9pb4jniy3y6415jvjg8bhszsp1x7r5p))
+  (modules '((guix build utils)))
+  ;; Don't try to install /etc/fish/config.fish.
+  (snippet
+   '(substitute* Makefile.in
+  ((.*INSTALL.*sysconfdir.*fish.*) )
 (build-system gnu-build-system)
 (native-inputs
  `((doxygen ,doxygen)))
 (inputs
  `((ncurses ,ncurses)))
 (arguments
- '(#:tests? #f)) ; no check target
+ '(#:tests? #f ; no check target
+   #:configure-flags '(--sysconfdir=/etc)))
 (synopsis The friendly interactive shell)
 (description
  Fish (friendly interactive shell) is a shell focused on interactive use,
-- 
2.1.2