Camlp4 error

2015-08-23 Thread Andreas Enge
Hello,

the attached (partial) package is supposed to add GTK+ bindings for OCaml, which
I would like to have for unison. Building currently fails with the following
message:
camlp4o pa_macro.cmo -D HAS_PRINTEXC_BACKTRACE -impl gtkSignal.ml4 -o 
gtkSignal.ml
Camlp4: Uncaught exception: DynLoader.Error (Camlp4MacroParser.cmo, file not 
found in path)
Makefile:515: recipe for target 'gtkSignal.ml' failed

The file Camlp4MacroParser.cmo is available in
/gnu/store/ikshd53q3pp3mdcsjqp5kkfakmcjs4xp-camlp4-4.02.0+1/lib/camlp4/Camlp4Parsers/

Does someone familiar with OCaml know what to do? Do we need a search path
specification?

Maybe relevant: configure complains about
checking for ocamlfind... no
./configure: line 2670: no: command not found
configure: WARNING: Ignoring ocamlfind

Thanks for your help!

Andreas

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 12d813f..3e68917 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -26,6 +26,7 @@
   #:use-module (guix build-system gnu)
   #:use-module (gnu packages)
   #:use-module (gnu packages gcc)
+  #:use-module (gnu packages gtk)
   #:use-module (gnu packages base)
   #:use-module (gnu packages emacs)
   #:use-module (gnu packages texinfo)
@@ -472,3 +473,37 @@ a collection of files and directories to be stored on 
different hosts
 brought up to date by propagating the changes in each replica
 to the other.)
 (license gpl3+)))
+
+(define-public lablgtk
+  (package
+(name lablgtk)
+(version 2.18.3)
+(source
+  (origin
+(method url-fetch)
+  (uri (string-append https://forge.ocamlcore.org/frs/download.php/;
+  1479/lablgtk-2.18.3.tar.gz))
+  (sha256
+(base32
+  1bybn3jafxf4cx25zvn8h2xj9agn1xjbn7j3ywxxqx6az7rfnnwp
+(build-system gnu-build-system)
+(native-inputs
+ `((camlp4 ,camlp4)
+   (ocaml ,ocaml)
+   (pkg-config ,pkg-config)))
+(inputs
+ `((gtk+ ,gtk+-2)))
+(arguments
+ `(#:parallel-build? #f)) ; just in case
+(home-page http://lablgtk.forge.ocamlcore.org/;)
+(synopsis GTK+ bindings for OCaml)
+(description
+ LablGtk is an OCaml interface to GTK+ 1.2 and 2.x.  It provides
+a strongly-typed object-oriented interface that is compatible with the
+dynamic typing of GTK+.  Most widgets and methods are available.  LablGtk
+also provides bindings to
+gdk-pixbuf, the GLArea widget (in combination with LablGL), gnomecanvas,
+gnomeui, gtksourceview, gtkspell,
+libglade (and it an generate OCaml code from .glade files),
+libpanel, librsvg and quartz.)
+(license lgpl2.1)))


Re: FOSDEM 2016

2015-08-23 Thread Ludovic Courtès
Hello!

(Sorry for the late reply.)

Pjotr Prins pjotr.publi...@thebird.nl skribis:

 We should propose a Guile + Guix developers track for FOSDEM. They usually 
 have
 Ruby/Perl/Python dev tracks, so Guile will fit right in. I am sure we can
 generate enough interesting talks on aspects of Guix packaging, for one.

 Deadline for dev room proposals is half September.

That’s a good idea.  In the past, Alex Sassmannshausen (Cc’d) took care
of submitting dev room proposals for GNU as a whole.  Alex: What would
you think of making a Guix or Guile+Guix (instead of GNU) dev room?
Would you like to give a hand?

If we fail to get a dev room, we can surely submit one or two talk
proposals.

Thanks,
Ludo’.



[PATCH] system: grub: Adjust eye-candy to work on non-Intel systems

2015-08-23 Thread Mark H Weaver
This patch adjusts the 'eye-candy' portion of our GRUB configuration to
work properly on non-Intel systems, and specially on Loongson machines.

  Mark


From 943a4a9e30e1e659a6e1591e965d215bf8e8f351 Mon Sep 17 00:00:00 2001
From: Mark H Weaver m...@netris.org
Date: Sun, 9 Aug 2015 18:45:49 -0400
Subject: [PATCH] system: grub: Adjust eye-candy to work on non-Intel systems.

* gnu/system/grub.scm (eye-candy): Accept additional 'system' argument.  Add
  local 'intel?' variable.  Replace the 'load_video' grub function with
  'setup_gfxterm', which includes everything in the 'if loadfont' form on
  Intel systems, but is empty on non-Intel.
  (grub-configuration-file): Pass 'system' to 'eye-candy.
---
 gnu/system/grub.scm | 36 +++-
 1 file changed, 23 insertions(+), 13 deletions(-)

diff --git a/gnu/system/grub.scm b/gnu/system/grub.scm
index 1378f5f..4e095c5 100644
--- a/gnu/system/grub.scm
+++ b/gnu/system/grub.scm
@@ -167,10 +167,14 @@ WIDTH/HEIGHT, or #f if none was found.
 (with-monad %store-monad
   (return #f)
 
-(define (eye-candy config port)
+(define (eye-candy config system port)
   Return in %STORE-MONAD a gexp that writes to PORT (a port-valued gexp) the
 'grub.cfg' part concerned with graphics mode, background images, colors, and
 all that.
+  (define intel? (or (string-prefix? x86_64- system)
+ (string-prefix? i686- system)
+ (string-prefix? i586- system)))
+
   (define (theme-colors type)
 (let* ((theme  (grub-configuration-theme config))
(colors (type theme)))
@@ -178,22 +182,27 @@ all that.
  (symbol-string (assoc-ref colors 'bg)
 
   (mlet* %store-monad ((image (grub-background-image config)))
-(return (and image #~(format #$port 
-function load_video {
+(return (and image
+ #~(let ((setup-gfxterm-body
+  (if #$intel?
+  
+  set gfxmode=640x480
   insmod vbe
   insmod vga
   insmod video_bochs
   insmod video_cirrus
-}
+  insmod gfxterm
+  terminal_output gfxterm
+
+  )))
+ (format #$port 
+function setup_gfxterm {~a}
 
 # Set 'root' to the partition that contains /gnu/store.
 search --file --set ~a/share/grub/unicode.pf2
 
 if loadfont ~a/share/grub/unicode.pf2; then
-  set gfxmode=640x480
-  load_video
-  insmod gfxterm
-  terminal_output gfxterm
+  setup_gfxterm
 fi
 
 insmod png
@@ -204,10 +213,11 @@ else
   set menu_color_normal=cyan/blue
   set menu_color_highlight=white/blue
 fi~%
-#$grub #$grub
-#$image
-#$(theme-colors grub-theme-color-normal)
-#$(theme-colors grub-theme-color-highlight))
+ setup-gfxterm-body
+ #$grub #$grub
+ #$image
+ #$(theme-colors grub-theme-color-normal)
+ #$(theme-colors grub-theme-color-highlight)))
 
 
 ;;;
@@ -244,7 +254,7 @@ entries corresponding to old generations of the system.
 #$linux #$linux-image-name (string-join (list #$@arguments))
 #$initrd
 
-  (mlet %store-monad ((sugar (eye-candy config #~port)))
+  (mlet %store-monad ((sugar (eye-candy config system #~port)))
 (define builder
   #~(call-with-output-file #$output
   (lambda (port)
-- 
2.5.0



Re: Running guix-daemon as an unprivileged user

2015-08-23 Thread Ludovic Courtès
Thompson, David dthomps...@worcester.edu skribis:

 Yes, user namespaces can be created by unprivileged users. The user
 that created the namespace then has root in the context of the new
 namespace, which allows for creating all of the other types of
 namespaces.  There's been some bumps along the way, such as a security
 bug with groups that prompted the addition of the
 /proc/pid/setgroups file in Linux 3.19 (I think) that has since been
 backported to earlier kernel releases, the oldest I know of being
 3.13.  But overall, this feature is very good and using it for Guix
 would allow for the unprivileged daemon to take advantage of almost
 all of the isolation techniques used by the privileged daemon.

That’d be a very nice thing to have.

Thanks,
Ludo’.



Re: [GSoC update] Porting Guix to GNU/Hurd

2015-08-23 Thread Ludovic Courtès
Hi!

Manolis Ragkousis manolis...@gmail.com skribis:

 1) Guix can successfully cross-build any package for the Hurd and produce
 the bootstrap-tarballs to build packages with Guix natively on such a system.

 2) Guix can build the native final toolchain.

 3) Guix can build packages natively using the final toolchain.

 Even though most of the work is already present in the wip-hurd branch, there
 are still some patches to be reviewed/merged. This will happen asap.

 But nevertheless we can safely say we have ported Guix to Hurd. :-)

Congratulations on that!  That’s a great achievement, and I know there
were some bumps on the road, and the project covers several very
different pieces of software, so thumbs up!

 2) guix/build/syscalls (mount, umount, setns ) Those aren't available
 on Hurd, so
 building Guix would fail. It seems turning them into procedures is
 enough to work
 around this.

This module is only used by GuixSD anyway (not Guix itself), so no
problem.

In the interim, we should perhaps arrange to not build that module when,
say, ‘mount’ is missing (using an ‘AM_CONDITIONAL’.)

 4) Perl could not be build because of a problem with memmove in hurd's
 glibc. Together
 with Samuel and Justus we traced the problem to a not properly tested
 part of glibc.
 Fixed.

Pheew.  :-)

 5) glibc-intermediate could not find the gnumach/hurd headers because
 of unsetting the
 path during the build process. It seems that glibc's sysdeps/mach and
 sysdeps/mach/hurd
 configure weren't using the --with-headers variable to get the
 headers. Fixed that and sent
 the patch to bug-hurd :-).

OK.

 6) Binaries produced from gcc-boot0 had problems with their runpath
 and validate-runpath?
 was failing. It seems ld wasn't passing -rpath to them. Added an
 ld-wrapper, solved.

Interesting, will look at the patch hopefully soon.

 7) glibc-final's debug output refers to %glibc-bootstrap. I think this
 happens indirectly through
 the headers, currently solving that.

Would be nice to understand why that happens.  In the meantime you could
disable #:allowed-references altogether for that package when on
GNU/Hurd, if you want.

 Also, I am near finishing sys/mount.h for Hurd. Will finish it as soon
 as possible.

Great!

 I get the feeling I forgot some things so please remind/ask me
 anything. For the next two
 days I will wrap up patches and push them to wip-hurd. After that I
 will continue working on
 getting the full GuixSD experience on Hurd. And one of these days we
 will deploy guix on
 darnassus together with rbraunr. I will inform you when that happens.

Excellent.  Thanks to the Hurd and Guix people for giving you a hand!

Cheers,
Ludo’.



[PATCH] linux-initrd: Make platform-specific linux modules optional

2015-08-23 Thread Mark H Weaver
I now have GuixSD running well on my MIPS-based Lemote Yeeloong 8101B
with XFCE, and many of the patches are now ready for submission
upstream.  Here's the first.

Our 'base-initrd' has a hard-coded set of modules to include, some of
which are only available on Intel platforms.  It does not accept a
'system' argument, so it's not clear to me how to parameterize the set
of modules based on the system.  Since 'base-initrd' is used within OS
configuration files and thus a part of our API, I was reluctant to add
'system' to its argument list.

So, the approach I took here is to allow some of the modules to be
optional, such that if they are not available, a warning is issued but
not an error.  I'm not wedded to this approach, and am open to
suggestions.

What do you think?

  Mark


From 6201794d7a1aa36b5596048b890d65c0635e0d14 Mon Sep 17 00:00:00 2001
From: Mark H Weaver m...@netris.org
Date: Sun, 9 Aug 2015 03:40:25 -0400
Subject: [PATCH] linux-initrd: Make platform-specific linux modules optional.

* gnu/system/linux-initrd.scm (flat-linux-module-directory): Add
  'optional-modules' argument.  Add 'required?' argument to internal 'lookup'
  procedure.  Use it when producing the list of modules to copy.
  (base-initrd): Add 'optional-linux-modules' internal variable.  Pass it to
  'flat-linux-module-directory'.  Move 'pata_acpi', 'pata_atiixp' and 'isci'
  from 'linux-modules' to 'optional-linux-modules'.
---
 gnu/system/linux-initrd.scm | 33 -
 1 file changed, 24 insertions(+), 9 deletions(-)

diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm
index 48b855b..b2d961b 100644
--- a/gnu/system/linux-initrd.scm
+++ b/gnu/system/linux-initrd.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès l...@gnu.org
+;;; Copyright © 2015 Mark H Weaver m...@netris.org
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -85,13 +86,14 @@ MODULES is a list of Guile module names to be embedded in the initrd.
  (gnu build linux-initrd))
  #:references-graphs `((closure ,init)
 
-(define (flat-linux-module-directory linux modules)
+(define (flat-linux-module-directory linux modules optional-modules)
   Return a flat directory containing the Linux kernel modules listed in
 MODULES and taken from LINUX.
   (define build-exp
 #~(begin
 (use-modules (ice-9 match) (ice-9 regex)
  (srfi srfi-1)
+ (srfi srfi-26)
  (guix build utils)
  (gnu build linux-modules))
 
@@ -102,22 +104,29 @@ MODULES and taken from LINUX.
 (define module-dir
   (string-append #$linux /lib/modules))
 
-(define (lookup module)
+(define (lookup module required?)
   (let ((name (ensure-dot-ko module)))
 (match (find-files module-dir (string-regexp name))
   ((file)
file)
   (()
-   (error module not found name module-dir))
+   (if required?
+   (error module not found name module-dir)
+   (begin
+ (format #t warning: module not found: ~a~% name)
+ #f)))
   ((_ ...)
(error several modules by that name
   name module-dir)
 
 (define modules
-  (let ((modules (map lookup '#$modules)))
+  (let ((modules
+ (append (map(cut lookup  #t) '#$modules)
+ (filter-map (cut lookup  #f) '#$optional-modules
 (append modules
 (recursive-module-dependencies modules
-   #:lookup-module lookup
+   #:lookup-module
+   (cut lookup  #t)
 
 (mkdir #$output)
 (for-each (lambda (module)
@@ -178,8 +187,6 @@ loaded at boot time in the order in which they appear.
   (define linux-modules
 ;; Modules added to the initrd and loaded from the initrd.
 `(ahci  ;for SATA controllers
-  pata_acpi pata_atiixp   ;for ATA controllers
-  isci  ;for SAS controllers like Intel C602
   usb-storage uas ;for the installation image etc.
   usbkbd usbhid   ;USB keyboards, for debugging
   ,@(if (or virtio? qemu-networking?)
@@ -196,6 +203,12 @@ loaded at boot time in the order in which they appear.
 '())
   ,@extra-modules))
 
+  (define optional-linux-modules
+;; Like linux-modules (above), but if these modules are not available, a
+;; warning is issued instead of an error.
+`(pata_acpi pata_atiixp   ;for ATA controllers
+  isci))

[PATCH] system: grub: On MIPS, the linux image name is vmlinuz

2015-08-23 Thread Mark H Weaver
Currently, we assume that the linux image name is bzImage, but this
varies depending on platform.  On MIPS, the name is vmlinuz.  This
modifies our 'grub-configuation-file' generation code to use vmlinuz
on MIPS.

  Mark

From a15b9a1eedd5b110b94e13f0fea17323aa1e160e Mon Sep 17 00:00:00 2001
From: Mark H Weaver m...@netris.org
Date: Wed, 19 Aug 2015 16:30:02 -0400
Subject: [PATCH] system: grub: On MIPS, the linux image name is vmlinuz, not
 bzImage.

* gnu/system/grub.scm (grub-configuration-file): Add 'linux-image-name'
  internal procedure.  Use it from 'entry-gexp'.
---
 gnu/system/grub.scm | 12 +---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/gnu/system/grub.scm b/gnu/system/grub.scm
index fe7400a..1378f5f 100644
--- a/gnu/system/grub.scm
+++ b/gnu/system/grub.scm
@@ -221,6 +221,11 @@ fi~%
   Return the GRUB configuration file corresponding to CONFIG, a
 grub-configuration object.  OLD-ENTRIES is taken to be a list of menu
 entries corresponding to old generations of the system.
+  (define linux-image-name
+(if (string-prefix? mips system)
+vmlinuz
+bzImage))
+
   (define all-entries
 (append entries (grub-configuration-menu-entries config)))
 
@@ -229,13 +234,14 @@ entries corresponding to old generations of the system.
  (($ menu-entry label linux arguments initrd)
   #~(format port menuentry ~s {
   # Set 'root' to the partition that contains the kernel.
-  search --file --set ~a/bzImage~%
+  search --file --set ~a/~a~%
 
-  linux ~a/bzImage ~a
+  linux ~a/~a ~a
   initrd ~a
 }~%
 #$label
-#$linux #$linux (string-join (list #$@arguments))
+#$linux #$linux-image-name
+#$linux #$linux-image-name (string-join (list #$@arguments))
 #$initrd
 
   (mlet %store-monad ((sugar (eye-candy config #~port)))
-- 
2.5.0



Re: Running guix-daemon as an unprivileged user

2015-08-23 Thread Ludovic Courtès
Eric Bavier ericbav...@openmailbox.org skribis:

 On 2015-08-17 15:46, Claes Wallin wrote:
 On Mon, Aug 17, 2015 at 10:33 AM, Eric Bavier
 ericbav...@openmailbox.org wrote:

 I have experimented with this a bit lately.  It works to some extent,
 but I have had to apply a few patches to some package recipes.  Some
 packages have failing tests (where presumably they would pass or be
 skipped in the chroot), which I have disabled for the time being just
 to move along.

 I can post a few of the patches to the ML later.


 Any patches related to bootstrapping gcc? I'm getting lib/lib64
 confusion.

 Yes, that's been one issue.

I’m afraid there are many such issues, with build systems sometimes
deciding what to do based on existence of files such as /lib64 or the
output of /usr/bin/gcc.  :-/

I really look forward to user name space support in the daemon.

Thanks,
Ludo’.



[PATCH] system: grub: Convert grub background using rsvg-convert

2015-08-23 Thread Mark H Weaver
This patch modifies 'svg-png' in (gnu system grub) to use rsvg-convert
instead of inkscape.  Inkscape is a rather heavy dependency to convert
an image.  This is important for users who choose to avoid binary
substitutes.

The main difficulty here was that our SVG artwork is partially
transparent, and includes a Background layer with a checker-board
pattern.  I guess this layer is for convenience when editing in
Inkscape, and apparently Inkscape excludes the Background layer when
exporting to png.  Other tools render all layers.  Therefore, avoiding
Inkscape required code to remove that layer before conversion to png.

Comments and suggestions welcome,

  Mark


From 0b3066420f72ecf15b65406bd417768450bfcac7 Mon Sep 17 00:00:00 2001
From: Mark H Weaver m...@netris.org
Date: Wed, 19 Aug 2015 17:26:02 -0400
Subject: [PATCH] system: grub: Convert grub background using rsvg-convert, not
 inkscape.

* gnu/system/grub.scm (svg-png): Accept additional arguments 'width' and
  'height'.  Reimplement using rsvg-convert and emacs instead of inkscape.
  (resize-image): Remove.
  (grub-background-image): Remove 'resize-image' step.  Pass 'width' and
  'height' to 'svg-png'.
---
 gnu/system/grub.scm | 57 +
 1 file changed, 36 insertions(+), 21 deletions(-)

diff --git a/gnu/system/grub.scm b/gnu/system/grub.scm
index e49b6db..fe7400a 100644
--- a/gnu/system/grub.scm
+++ b/gnu/system/grub.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès l...@gnu.org
+;;; Copyright © 2015 Mark H Weaver m...@netris.org
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -26,8 +27,8 @@
   #:use-module (guix download)
   #:use-module (gnu artwork)
   #:autoload   (gnu packages grub) (grub)
-  #:autoload   (gnu packages inkscape) (inkscape)
-  #:autoload   (gnu packages imagemagick) (imagemagick)
+  #:autoload   (gnu packages emacs) (emacs)
+  #:autoload   (gnu packages gnome) (librsvg)
   #:autoload   (gnu packages compression) (gzip)
   #:use-module (ice-9 match)
   #:use-module (srfi srfi-1)
@@ -119,25 +120,40 @@
 ;;; Background image  themes.
 ;;;
 
-(define (svg-png svg)
+(define (svg-png svg width height)
   Build a PNG from SVG.
   ;; Don't use #:local-build? so that it's substitutable.
-  (gexp-derivation grub-image.png
-#~(zero?
-   (system* (string-append #$inkscape /bin/inkscape)
---without-gui
-(string-append --export-png= #$output)
-#$svg
-
-(define (resize-image image width height)
-  Resize IMAGE to WIDTHxHEIGHT.
-  ;; Don't use #:local-build? so that it's substitutable.
-  (let ((size (string-append (number-string width)
- x (number-string height
-(gexp-derivation grub-image.resized.png
-  #~(zero?
- (system* (string-append #$imagemagick /bin/convert)
-  -resize #$size #$image #$output)
+  (let ((width  (number-string width))
+(height (number-string height)))
+(gexp-derivation
+ grub-image.png
+ #~(begin
+ (use-modules (guix build emacs-utils))
+ (let ((image-file /tmp/image.svg))
+   ;; The SVG images in the guix-artwork repository contain a bottom
+   ;; Background layer containing a checkerboard pattern.  Here we
+   ;; remove that layer.
+   (copy-file #$svg image-file)
+   (chmod image-file #o644)
+   (parameterize ((%emacs (string-append #$emacs /bin/emacs)))
+ (emacs-batch-edit-file image-file
+   '(progn (goto-char (point-min))
+   (when (re-search-forward inkscape:label=\Background\
+nil nil)
+ (nxml-backward-up-element)
+ (set-mark (point))
+ (nxml-forward-element)
+ (kill-region (mark) (point))
+ (basic-save-buffer)
+   (zero?
+(system* (string-append #$librsvg /bin/rsvg-convert)
+ --width #$width
+ --height #$height
+ --background-color black
+ --format png
+ --output #$output
+ image-file
+ #:modules '((guix build emacs-utils)
 
 (define* (grub-background-image config #:key (width 640) (height 480))
   Return the GRUB background image defined in CONFIG with a ratio of
@@ -147,8 +163,7 @@ WIDTH/HEIGHT, or #f if none was found.
 (= (grub-image-aspect-ratio image) ratio))
   (grub-theme-images (grub-configuration-theme config)
 (if image
-(mlet %store-monad ((png (svg-png (grub-image-file image
-  (resize-image png width 

Re: Camlp4 error

2015-08-23 Thread Andreas Enge
PS: Or do I need to update to a special version of camlp4? Their version
numbers are a bit confusing. Their latest releases (counting backwards)
are 4.02+6, 4.02.1+3, 4.02+5, 4.02+4, 4.02,1+1, 
The part before the + looks like the OCaml version, the +X like the
patch level of camlp4. But there is no version 4.02.3*.




Re: Camlp4 error

2015-08-23 Thread Andreas Enge
On Sun, Aug 23, 2015 at 06:40:01PM +0200, Andreas Enge wrote:
 PS: Or do I need to update to a special version of camlp4? Their version
 numbers are a bit confusing. Their latest releases (counting backwards)
 are 4.02+6, 4.02.1+3, 4.02+5, 4.02+4, 4.02,1+1, 
 The part before the + looks like the OCaml version, the +X like the
 patch level of camlp4. But there is no version 4.02.3*.

Updating to 4.02+6, which is also the version available in Nix, solves my
problem. So please disregard my previous messages.

Andreas




Re: [PATCH 1/2] gnu: glibc/linux: Rename linux-headers input to kernel-headers.

2015-08-23 Thread Manolis Ragkousis
Can I push this to wip-hurd?



Re: 01/02: gnu: itstool: Wrap with PYTHONPATH.

2015-08-23 Thread 宋文武
Mark H Weaver m...@netris.org writes:

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

 iyzsong pushed a commit to branch master
 in repository guix.

 commit 4b58d88bcde652e3307fb66d1da4f93dc10ac7a8
 Author: 宋文武 iyzs...@gmail.com
 Date:   Thu Aug 20 16:36:25 2015 +0800

 gnu: itstool: Wrap with PYTHONPATH.
 
 * gnu/packages/glib.scm (itstool): Change 'propagated-inputs' to 
 'inputs'.
   [arguments]: New field.

 This caused 30 new build failures on hydra:

   http://hydra.gnu.org/eval/106345#tabs-now-fail

 Can you either fix them soon or else revert this commit?
Fix pushed, thanks for notice!



Re: 01/02: gnu: itstool: Wrap with PYTHONPATH.

2015-08-23 Thread Mark H Weaver
宋文武 iyzs...@gmail.com writes:

 iyzsong pushed a commit to branch master
 in repository guix.

 commit 4b58d88bcde652e3307fb66d1da4f93dc10ac7a8
 Author: 宋文武 iyzs...@gmail.com
 Date:   Thu Aug 20 16:36:25 2015 +0800

 gnu: itstool: Wrap with PYTHONPATH.
 
 * gnu/packages/glib.scm (itstool): Change 'propagated-inputs' to 'inputs'.
   [arguments]: New field.

This caused 30 new build failures on hydra:

  http://hydra.gnu.org/eval/106345#tabs-now-fail

Can you either fix them soon or else revert this commit?

 Thanks!
   Mark



Re: [PATCH] gnu: Add GeoClue desktop service.

2015-08-23 Thread Ludovic Courtès
Andy Wingo wi...@igalia.com skribis:

 On Thu 20 Aug 2015 17:09, l...@gnu.org (Ludovic Courtès) writes:

 +@defvr {Scheme Variable} %standard-geoclue-applications
 +The standard list of well-known GeoClue application configurations,
 +granting authority to GNOME's date-and-time utility to ask for the
 +current location in order to set the time zone, and allowing the Firefox
 +(IceCat) and Epiphany web browsers to request location information.
 +Firefox and Epiphany both query the user before allowing a web page to
 +know the user's location.
 +@end defvr

 Does that mean that all these applications get blanket access to
 location info, and just happen to be nice enough to ask the user?

 If the answer is yes, I would rather remove the Web browsers from this
 list by default.

 I think that's right.  I'm still figuring some of this out :P But yeah,
 I think the reasoning is that since web browsers ask you already, don't
 default to giving the web access, and you already trust the web browser
 in other ways, that this is a reasonable default that prevents
 double-asking.

OK.  But then that raises the question of how applications are
authenticated: if I call my binary ‘epiphany’, will GeoClue consider it
to be the authorized application?  (Sorry for the newbie question...)

 I guess ideally it would be going through policykit and asking the user
 through the session manager.  Maybe that's a TODO; dunno.

My only concern is to make sure the default settings are
privacy-preserving.  I realize that’s a question that goes beyond GuixSD
itself though.

Thank you,
Ludo’.



Re: [PATCH 5/7] gnu: Add i3-wm.

2015-08-23 Thread Eric Bavier
On Mon, 17 Aug 2015 22:06:04 +0200
Eric Dvorsak e...@dvorsak.fr wrote:

 * gnu/packages/i3.scm: New file.
 * gnu-system.am (GNU_SYSTEM_MODULES): Add it.
 ---
  gnu-system.am   |  1 +
  gnu/packages/i3.scm | 87 
 +
  2 files changed, 88 insertions(+)
  create mode 100644 gnu/packages/i3.scm

We discussed briefly on IRC starting a new (gnu packages wm) module, so
I pushed this patch with everything here moved to gnu/packages/wm.scm.

Thanks,
`~Eric



Re: [PATCH 6/7] gnu: Add libconfuse.

2015-08-23 Thread Eric Bavier
On Mon, 17 Aug 2015 22:06:05 +0200
Eric Dvorsak e...@dvorsak.fr wrote:

 * gnu/packages/i3.scm (libconfuse): New variable.
 ---
  gnu/packages/i3.scm | 21 +
  1 file changed, 21 insertions(+)
 
 diff --git a/gnu/packages/i3.scm b/gnu/packages/i3.scm
 index 89837db..3daaa9b 100644
 --- a/gnu/packages/i3.scm
 +++ b/gnu/packages/i3.scm
 @@ -39,6 +39,27 @@
#:use-module (guix download)
#:use-module (guix git-download))
  
 +(define-public libconfuse
 +  (package
 +(name libconfuse)
 +(version 2.7)
 +(source (origin
 +  (method url-fetch)
 +  (uri (string-append 
 http://savannah.nongnu.org/download/confuse/;
 +  confuse- version .tar.gz))
 +  (sha256
 +   (base32
 +0y47r2ashz44wvnxdb18ivpmj8nxhw3y9bf7v9w0g5byhgyp89g3
 +(build-system gnu-build-system)
 +(home-page http://www.nongnu.org/confuse/;)
 +(synopsis Configuration file parser library)
 +(description A configuration file parser library.  It supports
 +sections and (lists of) values (strings, integers, floats, booleans or
 +other sections), as well as some other features (such as
 +single/double-quoted strings, environment variable expansion,
 +functions and nested include statements).)
 +(license isc)))
 +
  (define-public i3-wm
(package
  (name i3-wm)

This is pushed with a small change to the description: libconfuse is a
configuration file parser library...

Thanks,
`~Eric



Re: screen locker

2015-08-23 Thread Ludovic Courtès
Leo Famulari l...@famulari.name skribis:

 It seems that slock wants to have the setuid bit set.

 I see in the docs [1] that the store cannot contain setuid programs. Is
 the workaround in the docs only applicable to GuixSD, or can it be used
 with the standalone package manager?

It’s only applicable to GuixSD: The ‘setuid-programs’ field mentioned
there is for an ‘operating-system’ declaration.

Ludo’.



Re: [PATCH 1/7] gnu: Add Pod-Simple.

2015-08-23 Thread Eric Bavier
On Mon, 17 Aug 2015 22:06:00 +0200
Eric Dvorsak e...@dvorsak.fr wrote:

 * gnu/packages/perl.scm (perl-pod-simple): New variable.
 ---
  gnu/packages/perl.scm | 20 
  1 file changed, 20 insertions(+)
 
 diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
 index d2e38cc..8f9d599 100644
 --- a/gnu/packages/perl.scm
 +++ b/gnu/packages/perl.scm
 @@ -3,6 +3,7 @@
  ;;; Copyright © 2013 Andreas Enge andr...@enge.fr
  ;;; Copyright © 2015 Ricardo Wurmus rek...@elephly.net
  ;;; Copyright © 2015 Eric Bavier bav...@member.fsf.org
 +;;; Copyright © 2015 Eric Dvorsak e...@dvorsak.fr
  ;;;
  ;;; This file is part of GNU Guix.
  ;;;
 @@ -3941,6 +3942,25 @@ directory specifications in a cross-platform manner.)
  for a given module is comprehensive.)
  (license (package-license perl
  
 +(define-public perl-pod-simple
 +  (package
 +(name perl-pod-simple)
 +(version 3.30)

I pushed this patch with version 3.31 which was released today. ;)

 +(source (origin
 +  (method url-fetch)
 +  (uri (string-append mirror://cpan/authors/id/D/DW/DWHEELER/
 +Pod-Simple- version .tar.gz))

I aligned the two arguments to 'string-append'.

Thanks,
`~Eric



Re: [PATCH 2/7] gnu: Add libyajl.

2015-08-23 Thread Eric Bavier
On Mon, 17 Aug 2015 22:06:01 +0200
Eric Dvorsak e...@dvorsak.fr wrote:

 * gnu/packages/web.scm (libyajl): New variable.
 ---
  gnu/packages/web.scm | 21 +
  1 file changed, 21 insertions(+)
 
 diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
 index 48bfbc7..b93b569 100644
 --- a/gnu/packages/web.scm
 +++ b/gnu/packages/web.scm
 @@ -6,6 +6,7 @@
  ;;; Copyright © 2015 Ricardo Wurmus rek...@elephly.net
  ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer taylanbayi...@gmail.com
  ;;; Copyright © 2015 Eric Bavier bav...@member.fsf.org
 +;;; Copyright © 2015 Eric Dvorsak e...@dvorsak.fr
  ;;;
  ;;; This file is part of GNU Guix.
  ;;;
 @@ -287,6 +288,26 @@ parse JSON formatted strings back into the C 
 representation of JSON objects.)
  style API.)
  (license l:expat)))
  
 +(define-public libyajl
 +  (package
 +(name libyajl)
 +(version 2.1.0)
 +(source (origin
 +  (method url-fetch)
 +  (uri (string-append https://github.com/lloyd/yajl/;
 +  archive/ version .tar.gz))
 +  (file-name (string-append name - version .tar.gz))
 +  (sha256
 +   (base32
 +0nmcqpaiq4pv7dymyg3n3jsd57yhp5npxl26a1hzw3m3lmj37drz
 +(build-system cmake-build-system)
 +(home-page https://lloyd.github.io/yajl/;)
 +(synopsis C library for parsing JSON)
 +(description Yet Another JSON Library.  YAJL is a small
 +event-driven (SAX-style) JSON parser written in ANSI C, and a small
 +validating JSON generator.)
 +(license l:isc)))
 +
  (define-public libwebsockets
(package
  (name libwebsockets)

I pushed this patch with a slightly adjusted description.

Thanks,
`~Eric



Re: [PATCH 7/7] gnu: Add i3status.

2015-08-23 Thread Eric Bavier
On Mon, 17 Aug 2015 05:05:37 +0200
Eric Dvorsak e...@dvorsak.fr wrote:

 * gnu/packages/i3.scm (i3status): New variable.
 ---
  gnu/packages/i3.scm | 38 ++
  1 file changed, 38 insertions(+)

As I noted in the i3-wm patch, I moved gnu/packages/i3.scm to
gnu/packages/wm.scm.

 
 diff --git a/gnu/packages/i3.scm b/gnu/packages/i3.scm
 index 725fdb6..a9a5640 100644
 --- a/gnu/packages/i3.scm
 +++ b/gnu/packages/i3.scm
 @@ -61,6 +61,44 @@ functions and nested include statements).  It makes it 
 very easy to
  add configuration file capability to a program using a simple API. )
  (license isc)))
  
 +(define-public i3status
 +  (package
 +(name i3status)
 +(version 2.9)
 +(source (origin
 +  (method url-fetch)
 +  (uri (string-append http://i3wm.org/i3status/i3status-;
 +  version .tar.bz2))
 +  (sha256
 +   (base32
 +1qwxbrga2fi5wf742hh9ajwa8b2kpzkjjnhjlz4wlpv21i80kss2
 +(build-system gnu-build-system)
 +(arguments
 + `(#:make-flags (list CC=gcc (string-append PREFIX= %output))
 +   #:phases
 +   (modify-phases %standard-phases
 + (delete 'configure))
 +   #:tests? #f)) ; no test suite
 +(inputs
 + `((openlibm ,openlibm)
 +   (libconfuse ,libconfuse)
 +   (libyajl ,libyajl)
 +   (alsa-lib ,alsa-lib)
 +   (wireless-tools ,wireless-tools)
 +   (libcap ,libcap)
 +   (asciidoc ,asciidoc)))
 +(home-page http://i3wm.org/i3status/;)
 +(synopsis Generating a status bar for i3bar, dzen2, xmobar or
 +similar programs)

I changed this to Status bar for... to get rid of the active voice.

 +(description i3status is a small program for generating a status
 +bar for i3bar, dzen2, xmobar or similar programs.  It is designed to
 +be very efficient by issuing a very small number of system calls, as
 +one generally wants to update such a status line every second. This
 +ensures that even under high load, your status bar is updated
 +correctly.  Also, it saves a bit of energy by not hogging your CPU as
 +much as spawning the corresponding amount of shell commands would.)
 +(license bsd-3)))
 +
  (define-public i3-wm
(package
  (name i3-wm)

Again, thanks for all these new packages, and welcome aboard. :)
`~Eric



Re: Set screen resolution in X.

2015-08-23 Thread Ludovic Courtès
Sorry for the late reply.

Dmitry Nikolaev camelthe...@gmail.com skribis:

 (define (my-slim-service)
 (mlet %store-monad ((config (xorg-configuration-file
 #:resolutions '((1366 768)
 (slim-service #:startx
 (xorg-start-command #:configuration-file config

The problem is in the line above: ‘xorg-start-command’ is a “monadic
procedure” so its result must be bound in an ‘mlet’:

  (define (my-slim-service)
(mlet %store-monad ((config (xorg-configuration-file ...))
(startx (xorg-start-command ...)))
  (slim-service #:startx startx)))

HTH!

Ludo’.

PS: Somebody reported the same thing on IRC last week, maybe it was you
or Camel?



Re: [PATCH 1/2] gnu: Add font-ubuntu

2015-08-23 Thread Mark H Weaver
l...@gnu.org (Ludovic Courtès) writes:

 Mark H Weaver m...@netris.org skribis:

 I'm not entirely sure it's a free software license as indicated by
 'fsf-free' either,

 Why?

The main thing that worries me is this combination of facts:

1. The license requires that both original and modified versions which
   are not Substantially Changed must retain the original name, which
   in this case contains ubuntu.

2. The license explicitly says: This licence does not grant any rights
   under trademark law and all such rights are reserved.

3. Ubuntu trademark policy, which states, among other things:

   * You can use the Trademarks, in accordance with Canonical’s brand
 guidelines, with Canonical’s permission in writing.  If you require
 a Trademark licence, please contact us (as set out below).

   * You cannot use the Trademarks in software titles.  [...]

Here's a relevant comment on the subject:

  https://bugs.launchpad.net/ubuntu-font-licence/+bug/769874/comments/21

If Canonical were still a friendly member of our community, I probably
wouldn't worry too much about this.  However, ever since I learned about
this:

  Matthew Garrett: Canonical's Ubuntu IP policy is garbage
  https://mjg59.dreamwidth.org/35969.html

and the way they treated Jonathan Riddell (creator of Kubuntu) who had
been trying to rectify this issue for years:

  
http://jriddell.org/2015/07/15/ubuntu-policy-complies-with-gpl-but-fails-to-address-other-important-software-freedom-issues/

and the fact that they stubbornly refused to do more than the absolute
minimum needed to retain their right to distribute software covered by
the GNU GPL:

  https://www.fsf.org/news/canonical-updated-licensing-terms
  https://sfconservancy.org/news/2015/jul/15/ubuntu-ip-policy/
  http://www.ebb.org/bkuhn/blog/2015/07/15/ubuntu-ip-policy.html

I no longer consider Canonical a friend to the free software movement,
and frankly I don't want to touch any of their stuff with a ten foot
pole, unless it is crystal clear in legalese that we and our users have
the rights we need.  In this case, it is not clear to me.

   Thanks,
 Mark



Re: [PATCH 1/2] gnu: Add font-ubuntu

2015-08-23 Thread Ludovic Courtès
Mark H Weaver m...@netris.org skribis:

 l...@gnu.org (Ludovic Courtès) writes:
 Eric Dvorsak e...@dvorsak.fr skribis:

 * gnu/packages/fonts/scm (font-ubuntu): New variable.

 That last / should have been a ..  Oh well.

Oops. my bad.

 I changed the license URL to
 http://font.ubuntu.com/ufl/ubuntu-font-licence-1.0.txt and applied it.
 Thank you!

 The patch labelled this license as 'non-copyleft', but I'm not sure
 that's right.  It includes this text:

   4) The Font Software, modified or unmodified, in part or in whole,
   must be distributed entirely under this licence, and must not be
   distributed under any other licence.  [...]

 So this ensures that additional restrictions cannot be added later, like
 a copyleft license.

Good point.

 I'm not entirely sure it's a free software license as indicated by
 'fsf-free' either,

Why?

 but that's okay because fonts qualify as non-functional data.  It
 might be that we don't yet have anything in (guix licenses) that
 applies here.  Maybe we need another license-producing procedure for
 non-functional works that satify the FSDG requirements?

Right, that’s something we could do in this case.  I’d be surprised if
this one were not considered FSF-free though?

Thank you,
Ludo’.



Re: [PATCH 3/7] gnu: Add libev

2015-08-23 Thread Eric Bavier
On Mon, 17 Aug 2015 22:06:02 +0200
Eric Dvorsak e...@dvorsak.fr wrote:

 * gnu/packages/libevent.scm (libev): New variable.
 ---
  gnu/packages/libevent.scm | 24 
  1 file changed, 24 insertions(+)
 
 diff --git a/gnu/packages/libevent.scm b/gnu/packages/libevent.scm
 index 88b13ec..c9da139 100644
 --- a/gnu/packages/libevent.scm
 +++ b/gnu/packages/libevent.scm
 @@ -1,6 +1,7 @@
  ;;; GNU Guix --- Functional package management for GNU
  ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès l...@gnu.org
  ;;; Copyright © 2015 Mark H Weaver m...@netris.org
 +;;; Copyright © 2015 Eric Dvorsak e...@dvorsak.fr
  ;;;
  ;;; This file is part of GNU Guix.
  ;;;
 @@ -61,6 +62,29 @@ then add or remove events dynamically without having to 
 change the event
  loop.)
  (license bsd-3)))
  
 +(define-public libev
 +  (package
 +(name libev)
 +(version 4.20)
 +(source (origin
 +  (method url-fetch)
 +  (uri (string-append http://dist.schmorp.de/libev/libev-;
 +  version
 +  .tar.gz))
 +  (sha256
 +   (base32
 +17j47pbkr65a18mfvy2861p5k7w4pxmdgiw723ryfqd9gx636w7q
 +(build-system gnu-build-system)
 +(home-page http://software.schmorp.de/pkg/libev.html;)
 +(synopsis An event loop that is loosely modelled after libevent)
 +(description A full-featured and high-performance event loop that
 +is loosely modelled after libevent, but without its limitations and
 +bugs.  It is used in GNU Virtual Private Ethernet, rxvt-unicode,
 +auditd, the Deliantra MORPG Server and Client, and many other
 +programs.)
 +(license
 + (list bsd-2 gpl2+
 +
  (define-public libuv
(package
  (name libuv)

I pushed this patch with adjusted synopsis and description fields:
Removed the An according to 'guix lint libev'

Thanks,
`~Eric



Re: [PATCH] system: Make PAM use SHA-512 to encrypt passwords.

2015-08-23 Thread Ludovic Courtès
宋文武 iyzs...@gmail.com skribis:

 From 34a324e398c521954cc275211eabd44a92906aad Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= iyzs...@gmail.com
 Date: Sun, 23 Aug 2015 06:33:59 +0800
 Subject: [PATCH] system: Make PAM store SHA-512 encrypted passwords in
  /etc/shadow.

 Fixes http://bugs.gnu.org/21318.

 * gnu/system/linux.scm (unix-pam-service)[password]: Add 'sha512' and
   'shadow' to arguments.

[...]

 - (password (list unix))
 + (password (list (pam-entry
 +  (control required)
 +  (module pam_unix.so)
 +  (arguments '(sha512 shadow)

One last thing: a one-line comment explaining what these arguments do.
Then OK to push ASAP!

Thanks to both of you!

Ludo’.



Re: [PATCH 4/7] gnu: Add xcb-util-cursor.

2015-08-23 Thread Eric Bavier
On Mon, 17 Aug 2015 22:06:03 +0200
Eric Dvorsak e...@dvorsak.fr wrote:

 * gnu/packages/xorg.scm (xcb-util-cursor): New variable.
 ---
  gnu/packages/xorg.scm | 30 ++
  1 file changed, 30 insertions(+)
 
 diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
 index a9ecc1e..c5813a0 100644
 --- a/gnu/packages/xorg.scm
 +++ b/gnu/packages/xorg.scm
 @@ -3,6 +3,7 @@
  ;;; Copyright © 2014, 2015 Mark H Weaver m...@netris.org
  ;;; Copyright © 2014 Eric Bavier bav...@member.fsf.org
  ;;; Copyright © 2015 Ludovic Courtès l...@gnu.org
 +;;; Copyright © 2015 Eric Dvorsak e...@dvorsak.fr
  ;;;
  ;;; This file is part of GNU Guix.
  ;;;
 @@ -2033,6 +2034,35 @@ legacy X clients.)
  (license license:x11)))
  
  
 +(define-public xcb-util-cursor
 +  (package
 +(name xcb-util-cursor)
 +(version 0.1.2)
 +(source (origin
 +  (method url-fetch)
 +  (uri (string-append http://xcb.freedesktop.org/dist/;
 +  xcb-util-cursor- version .tar.gz))
 +  (sha256
 +   (base32
 +0bm0mp99abdfb6v4v60hq3msvk67b2x9ml3kbx5y2g18xdhm3rdr
 +(build-system gnu-build-system)
 +(native-inputs
 + `((m4 ,m4)
 +   (pkg-config ,pkg-config)))
 +(inputs
 + `((libxcb ,libxcb)
 +   (xcb-util-renderutil ,xcb-util-renderutil)
 +   (xcb-util-image ,xcb-util-image)))
 +(home-page http://cgit.freedesktop.org/xcb/util-cursor/;)
 +(synopsis Port of libxcursor)
 +(description Port of libxcursor.)
 +(license
 + ; expat license  with added clause regarding advertising
 + (license:non-copyleft
 +  file://COPYING
 +  See COPYING in the distribution.
 +
 +
  (define-public xcb-proto
(package
  (name xcb-proto)

I moved this package nearer to the other xcb-util-* packages,
adjusted the description slightly and pushed.

Thanks,
`~Eric



Re: [GSoC] Guix + GNUnet: report

2015-08-23 Thread Ludovic Courtès
[+Cc: gnunet-developers]

Hi Rémi,

Thanks for the report.

asg...@free.fr skribis:

 Once these problems have been addressed (i.e. a week ago), I could
 finally start working on the GNUnet publisher for Guix. Its first
 version can only upload one store item at a time, and isn’t even
 functional yet: a fikle segfault deems it unusable. Before noticing
 this segfault (it doesn’t always happen), I started working on a more
 complex version that would allow bulk publication of store items, but
 this gain in complexity came with a hole new set of strange and hardly
 traceable errors (SIGILL and SIGBUS), and it’s far from being
 usable. Moreover, the two version seem to have difficulties handling
 symlinks.

OK.  The FFI makes it easy to shoot oneself in the foot in such ways
(for instance when using invalid struct layout, or if the FFI uses the
wrong binary interface for a function.)  Hopefully you’ll be able to
pinpoint them eventually.  But at least, it’s nice you’ve been able to
make progress on the publisher!

 The bindings are focused on the FileSharing service, and seem
 usable. I’ll write detailed documentation before the end of the GSoC,
 and list the pitfalls to avoid (at least those I’m aware of). There’s
 still work to do, notably:

Sounds like a good plan.

 Eclosed you’ll find the more usable version of the publisher, “tested”
 with the following software:

   — Guix: commit 7cb6f648b2486b0e6060a333564432a0830637de
   — GNUnet:   rev.   36242
   — Libextractor: rev. 36031
   — the bindings: commit dc6f74d269fcb324d8649f3c511299b7ba2be2a4

 It’s important to use a recent version of GNUnet, because its API
 changed recently (especially, Guix’s currently packaged version isn’t
 good).

Could you add a package recipe to Guix for the right version of GNUnet?
I started setting things up to test the code you sent and then realized
I wasn’t using the right version.

I hope we’ll be able to rely on stable versions of GNUnet soon.

 This publisher can be tested: for that you’ll have to put
 `publish-gnunet.scm` and `publish-utils.scm` in `guix/scripts`, and
 start GNUnet (see my previous reports). Then you can create an ego:

   $ gnunet-identity -C mytestego

 and call the publisher with:

   $ guix publish-gnunet -c /path/to/gnunet.conf -P mytestego \
/gnu/store/somedirectory

Could you remind me what the right GNUnet command is to check whether
the thing is actually published and visible?

Nitpick: it’s a bit annoying that we have to specify a GNUnet
configuration file.

 The file `publish-utils.scm` contains code shared between the HTTP
 publisher and this one; I did not knew were to store it, thus the
 improper module in (guix scripts). `publish-gnunet-multi.scm` is the
 WIP second version, not usable at all :(

Instead of using ‘file-system-tree’, this variant should probably use
‘live-paths’ from (guix store), which returns the list of live store
items.  Still, I guess startup time may not be very good (I hadn’t
realized that), but unlike with ‘guix publish’, we cannot do things
lazily.

BTW, I noticed there’s quite a bunch of global variables that are
‘set!’.  It would be better to avoid that, but I suppose the
continuation-passing style that the GNUnet libraries impose makes it
difficult.

Thanks for your report!

Ludo’.



Re: screen locker

2015-08-23 Thread Ludovic Courtès
Marcus Moeller marcus.moel...@gmx.ch skribis:

 I wanted to install a screen locker on GuixSD and all I found was slock.

FWIW I use xlockmore and I have this:

  (operating-system
;; ...
(setuid-programs (cons #~(string-append #$xlockmore /bin/xlock)
   %setuid-programs)))

From what others wrote, slock may need to be listed there as well.

HTH,
Ludo’.