Re: [PATCH] gnu: Add figlet.

2015-08-20 Thread Ricardo Wurmus

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

 Ricardo Wurmus rek...@elephly.net skribis:

 The only thing that I’m not entirely happy with is the length of the
 synopsis, but I’m probably just too picky.

 I would replace “Program for making” with just “Make”.

Done.

 Unless someone else has any objections, I think this can be accepted.

 Agreed.  Could you push it?

Pushed!

~~ Ricardo




Re: [PATCH 1/2] gnu: itstool: Wrap with PTYHONPATH.

2015-08-20 Thread 宋文武
 * gnu/packages/glib.scm (itstool): Change 'propagated-inputs' to 'inputs'.
   [arguments]: New field.
 ---
  gnu/packages/glib.scm | 10 +-
  1 file changed, 9 insertions(+), 1 deletion(-)

 diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
 index 88c61b6..59d64e9 100644
 --- a/gnu/packages/glib.scm
 +++ b/gnu/packages/glib.scm
 @@ -315,10 +315,18 @@ The intltool collection can be used to do these things:
(base32
 0fh34wi52i0qikgvlmrcpf1vx6gc1xqdad4539l4d9hikfsrz45z
  (build-system gnu-build-system)
 -(propagated-inputs
 +(inputs
   `((libxml2 ,libxml2)
 (python2-libxml2 ,python2-libxml2)
 (python-2 ,python-2)))
 +(arguments
 + '(#:phases
 +   (modify-phases %standard-phases
 + (add-after
 +  'install 'wrap-program
 +  (lambda _
 +(wrap-program (string-append %output /bin/itstool)
 +  `(PYTHONPATH = (,(getenv PYTHONPATH)
  (home-page http://www.itstool.org;)
  (synopsis Tool to translate XML documents with PO files)
  (description
 -- 
 2.4.3
Don't propagate python2 things, so that packages using itstool could
use python3. (eg: d-feet and totem?).



Re: [PATCH] dmd: Add support for exec'ing processes as other users

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

 The attached patch adds #:user and #:group kwargs to
 make-fork+exec-constructor in DMD, to allow DMD to change users before
 execing the sub-process.  I couldn't figure out how to make a proper
 test but it works for me and GeoClue.

Nice!

 The patch is formulated as a patch against Guix adding a DMD patch.  The
 DMD patch itself can be applied directly to DMD's git repo.  As they are
 maintained together AFAIU I guess this is the right thing?  Let me know.

I ended up doing it slightly differently: I pushed the patch to dmd,
then add the ‘patches’ field, which gets it over HTTP.

One thing we can do, but which is not very convenient, is to just add
whatever code we need in dmd in a module maintained in Guix, and then
have that module loaded wherever we need it.

For instance, ‘call-with-container’ will land in Guix itself, but we’ll
be able to use it to launch services in containers (BTW, I have “no
horse in the systemd race” either, but I think this flexibility we have
is Pretty Cool  Unprecedented™ :-)).

 ++ (when group
 ++   (catch #t
 ++ (lambda ()
 ++   (setgid (group:gid (getgr group

Maybe we should add:

  (setgroups #())

for good measure?

Thank you!

Ludo’.



[PATCH v2 1/7] guix: git: Support shallow git clones if a tag is available

2015-08-20 Thread Andy Wingo
* guix/build/git.scm (git-fetch): Instead of cloning the remote repo, use the
  lower-level init / fetch / checkout operations.  This lets us make a
  shallow checkout if we are checking out a tag.

* guix/git-download.scm (git-reference): Add tag field.
  (git-fetch): Support git references with tags but no commits.
---
 guix/build/git.scm| 58 ++-
 guix/git-download.scm | 10 +++--
 2 files changed, 47 insertions(+), 21 deletions(-)

diff --git a/guix/build/git.scm b/guix/build/git.scm
index 121f07a..1af547f 100644
--- a/guix/build/git.scm
+++ b/guix/build/git.scm
@@ -28,32 +28,52 @@
 ;;; Code:
 
 (define* (git-fetch url commit directory
-#:key (git-command git) recursive?)
+#:key tag (git-command git) recursive?)
   Fetch COMMIT from URL into DIRECTORY.  COMMIT must be a valid Git commit
 identifier.  When RECURSIVE? is true, all the sub-modules of URL are fetched,
 recursively.  Return #t on success, #f otherwise.
-
   ;; Disable TLS certificate verification.  The hash of the checkout is known
   ;; in advance anyway.
   (setenv GIT_SSL_NO_VERIFY true)
 
-  (let ((args `(clone ,@(if recursive? '(--recursive) '())
-,url ,directory)))
-(and (zero? (apply system* git-command args))
- (with-directory-excursion directory
-   (system* git-command tag -l)
-   (and (zero? (system* git-command checkout commit))
-(begin
-  ;; The contents of '.git' vary as a function of the current
-  ;; status of the Git repo.  Since we want a fixed output, 
this
-  ;; directory needs to be taken out.
-  (delete-file-recursively .git)
+  (mkdir directory)
+  (with-directory-excursion directory
+(and (zero? (system* git-command init))
+ (zero? (system* git-command remote add origin url))
+ (cond
+  ;; If there's a tag, do a shallow fetch.  Otherwise we do a full
+  ;; fetch.
+  (tag
+   (and (zero? (system* git-command fetch --depth=1 origin tag))
+;; Either there is no commit specified, in which case we are
+;; good, or there is a commit and it is the same as the tag,
+;; in which case we're still good, or there's a commit and
+;; it's under the tag so we have to unshallow the checkout and
+;; try again.
+(if commit
+(or (zero? (system* git-command checkout commit))
+(and (zero? (system* git-command fetch 
--unshallow))
+ (zero? (system* git-command checkout commit
+(zero? (system* git-command checkout FETCH_HEAD)
+  (else
+   ;; Fall back to a full fetch.  In that case print available tags.
+   (and (zero? (system* git-command fetch origin))
+(zero? (system* git-command tag -l))
+(zero? (system* git-command checkout commit)
+ (or (not recursive?)
+ (zero? (system* git-command
+ submodule update --init --recursive)))
+ (begin
+   ;; The contents of '.git' vary as a function of the current
+   ;; status of the Git repo.  Since we want a fixed output, this
+   ;; directory needs to be taken out.
+   (delete-file-recursively .git)
 
-  (when recursive?
-;; In sub-modules, '.git' is a flat file, not a directory,
-;; so we can use 'find-files' here.
-(for-each delete-file-recursively
-  (find-files directory ^\\.git$)))
-  #t))
+   (when recursive?
+ ;; In sub-modules, '.git' is a flat file, not a directory,
+ ;; so we can use 'find-files' here.
+ (for-each delete-file-recursively
+   (find-files directory ^\\.git$)))
+   #t
 
 ;;; git.scm ends here
diff --git a/guix/git-download.scm b/guix/git-download.scm
index 0f2218c..43bc466 100644
--- a/guix/git-download.scm
+++ b/guix/git-download.scm
@@ -28,6 +28,7 @@
 git-reference?
 git-reference-url
 git-reference-commit
+git-reference-tag
 git-reference-recursive?
 
 git-fetch))
@@ -44,7 +45,8 @@
   git-reference make-git-reference
   git-reference?
   (urlgit-reference-url)
-  (commit git-reference-commit)
+  (commit git-reference-commit (default #f))
+  (taggit-reference-tag (default #f))
   (recursive? git-reference-recursive?   ; whether to recurse into sub-modules
   (default #f)))
 
@@ -81,8 +83,12 @@ HASH-ALGO (a symbol).  Use NAME as the file name, or a 
generic name if #f.
   dirs)))
 
 (git-fetch '#$(git-reference-url ref)
-  

screen locker

2015-08-20 Thread Marcus Moeller
Hi all.

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

Sadly when I try to start it as unprivileged user, I got an error like:

cannot disable the out-of-memory-killer for this process

Greets
Marcus



smime.p7s
Description: S/MIME Cryptographic Signature


Re: Duplicate entries in $profile/etc/profile

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

 With this manifest:

 (use-package-modules gcc llvm base python version-control less ccache)

 (packages-manifest
  (list clang
coreutils
diffutils
findutils
tar
patch
sed
grep
binutils
glibc
glibc-locales
which
gnu-make
python-2
git
less
libstdc++-4.9
gcc-4.9
(list gcc-4.9 lib)
ccache))

 If I install these packages via:

   guix package -p ~/profiles/v8 -m ~/profiles/v8.scm

 And then:

   cat ~/profiles/v8/etc/profile

 I get:

[...]

 Which obviously includes three identical copies of CPATH and
 LIBRARY_PATH.  What's up with that?

Duplication comes from the fact that 3 entries in the manifest claim
these two variables: clang, gcc, and gcc:lib.

In this case all three search path specifications are identical, so this
is harmless.  Commit fa96048 fixes that.

To be complete, we should perhaps warn the user when different
specifications are given for the same variable.  That seems rather
unlikely, though.

Thanks for the report!

Ludo’.



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

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

 From d94d4fb4c89ec6cde152ab031244a3977e216b1e Mon Sep 17 00:00:00 2001
 From: Andy Wingo wi...@pobox.com
 Date: Sat, 15 Aug 2015 20:43:03 +0200
 Subject: [PATCH 2/2] Add GeoClue service.

 * gnu/services/desktop.scm (bool): New top-level helper.
   (upower-configuration-file): Use top-level `bool'.
   (geoclue-application): New public function.
   (%standard-geoclue-applications): New public variable.
   (geoclue-service): New public variable.
   (%desktop-services): Add GeoClue.  Add a comment about activation.

 * doc/guix.texi (Desktop Services): Document the GeoClue service.

Applied, thanks!

 +@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.

WDYT?

Thanks,
Ludo’.



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

2015-08-20 Thread Daniel Pimentel

On 2015-08-19 17:27, taylanbayi...@gmail.com wrote:

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


[...]

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

[...]


Amazing news! :-)

Thanks so much for working on this.  I haven't tried out Hurd so far 
but
am meaning to do so eventually; sounds like my first Hurd system will 
be

GuixSD at the same time.  So much awesome in one system.

Taylan

Amazing!

GuixSD + Hurd = 3:D

Thanks Guixs 3:)

3:) = GNU Head kkk

--
Daniel Pimentel (d4n1 3:)



[PATCH] daemon: Split CHROOT_ENABLED into CHROOT_ENABLED and CONTAINER_ENABLED.

2015-08-20 Thread Manolis Ragkousis
With this patch, the daemon can perform chrooted builds on Hurd, without
creating problems to other parts of the daemon that can't be supported.

So as Mark said, the cases are:

1. CONTAINER_ENABLED and CHROOT_ENABLED are both true.
In this case, the daemon works as expected, which is what happens in Linux now.

2. CONTAINER_ENABLED is false and CHROOT_ENABLED is true.
Here, things like namespaces cannot be supported, but we can still
perform chrooted builds.

3. CONTAINER_ENABLED and CHROOT_ENABLED are both false.
Here, the daemon is unusable on the system, as it should.
From 9faae6784c63a47f3cc8faa160c208f60dad1e9c Mon Sep 17 00:00:00 2001
From: Manolis Ragkousis manolis...@gmail.com
Date: Thu, 20 Aug 2015 13:50:04 +0300
Subject: [PATCH] daemon: Split CHROOT_ENABLED into CHROOT_ENABLED and
 CONTAINER_ENABLED.

* nix/libstore/build.cc (CHROOT_ENABLED): Split.
  (DerivationGoal::startBuilder): Replace CHROOT_ENABLED with CONTAINER_ENABLED.
  (DerivationGoal::runChild): Same.
---
 nix/libstore/build.cc | 14 +++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/nix/libstore/build.cc b/nix/libstore/build.cc
index a9eedce..7cde735 100644
--- a/nix/libstore/build.cc
+++ b/nix/libstore/build.cc
@@ -51,7 +51,15 @@
 #include linux/fs.h
 #endif
 
-#define CHROOT_ENABLED HAVE_CHROOT  HAVE_UNSHARE  HAVE_SYS_MOUNT_H  defined(MS_BIND)  defined(MS_PRIVATE)  defined(CLONE_NEWNS)  defined(SYS_pivot_root)
+/* In non Linux systems we can still support chroot builds, even
+   though sys/mount.h doesn't exist.*/
+#if __linux__
+#define CHROOT_ENABLED HAVE_CHROOT  HAVE_SYS_MOUNT_H
+#else
+#define CHROOT_ENABLED HAVE_CHROOT
+#endif
+
+#define CONTAINER_ENABLED CHROOT_ENABLED  defined(MS_BIND)  defined(MS_PRIVATE)  defined(CLONE_NEWNS)  defined(SYS_pivot_root)
 
 #if CHROOT_ENABLED
 #include sys/socket.h
@@ -1946,7 +1954,7 @@ void DerivationGoal::startBuilder()
- The UTS namespace ensures that builders see a hostname of
  localhost rather than the actual hostname.
 */
-#if CHROOT_ENABLED
+#if CONTAINER_ENABLED
 if (useChroot) {
 	char stack[32 * 1024];
 	int flags = CLONE_NEWPID | CLONE_NEWNS | CLONE_NEWIPC | CLONE_NEWUTS | SIGCHLD;
@@ -1994,7 +2002,7 @@ void DerivationGoal::runChild()
 
 commonChildInit(builderOut);
 
-#if CHROOT_ENABLED
+#if CONTAINER_ENABLED
 if (useChroot) {
 /* Initialise the loopback interface. */
 AutoCloseFD fd(socket(PF_INET, SOCK_DGRAM, IPPROTO_IP));
-- 
2.5.0



[PATCH 1/2] gnu: itstool: Wrap with PTYHONPATH.

2015-08-20 Thread 宋文武
* gnu/packages/glib.scm (itstool): Change 'propagated-inputs' to 'inputs'.
  [arguments]: New field.
---
 gnu/packages/glib.scm | 10 +-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 88c61b6..59d64e9 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -315,10 +315,18 @@ The intltool collection can be used to do these things:
   (base32
0fh34wi52i0qikgvlmrcpf1vx6gc1xqdad4539l4d9hikfsrz45z
 (build-system gnu-build-system)
-(propagated-inputs
+(inputs
  `((libxml2 ,libxml2)
(python2-libxml2 ,python2-libxml2)
(python-2 ,python-2)))
+(arguments
+ '(#:phases
+   (modify-phases %standard-phases
+ (add-after
+  'install 'wrap-program
+  (lambda _
+(wrap-program (string-append %output /bin/itstool)
+  `(PYTHONPATH = (,(getenv PYTHONPATH)
 (home-page http://www.itstool.org;)
 (synopsis Tool to translate XML documents with PO files)
 (description
-- 
2.4.3




[PATCH 2/2] gnu: git-modes: Update to 1.2.0.

2015-08-20 Thread Alex Kost
From b2f3b8873f7243c13cbfdd8395c8adc9a5678418 Mon Sep 17 00:00:00 2001
From: Alex Kost alez...@gmail.com
Date: Wed, 19 Aug 2015 23:06:12 +0300
Subject: [PATCH 2/2] gnu: git-modes: Update to 1.2.0.

* gnu/packages/emacs.scm (git-modes): Update to 1.2.0.
  [arguments]: Disable tests.
---
 gnu/packages/emacs.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 5c18154..10634c2 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -265,7 +265,7 @@ when typing parentheses directly or commenting out code line by line.)
 (define-public git-modes
   (package
 (name git-modes)
-(version 1.0.0)
+(version 1.2.0)
 (source (origin
   (method url-fetch)
   (uri (string-append
@@ -274,7 +274,7 @@ when typing parentheses directly or commenting out code line by line.)
   (file-name (string-append name - version .tar.gz))
   (sha256
(base32
-1biiss75bswx4alk85k3g9p0a3q3sc9i74h4mnrxc2rsk2iwhws0
+09dv7ikbj2bi4y3lmvjfzqpdmx2f9bd4w7jkp10bkap62d05iqhk
 (build-system gnu-build-system)
 (arguments
  `(#:modules ((guix build gnu-build-system)
@@ -290,7 +290,7 @@ when typing parentheses directly or commenting out code line by line.)
   (string-append LISPDIR=
  (assoc-ref %outputs out)
  /share/emacs/site-lisp))
-   #:test-target test
+   #:tests? #f  ; no check target
#:phases (modify-phases %standard-phases
   (delete 'configure)
   (add-after 'install 'emacs-autoloads
-- 
2.4.3




libinput

2015-08-20 Thread Marcus Moeller
Hi all,

I am using libinput to detect my touchpad. It works in general, but
neither edge scrolling nor two finger scrolling works. I guess it's
related to the version 0.14.X - if I am right it seems to be available
in 0.20.X:

http://who-t.blogspot.ch/2015/03/why-libinput-doesnt-support-edge.html

So I would kindly like to ask the maintainer of this package to upgrade
it to a recent version.

Greets
Marcus



smime.p7s
Description: S/MIME Cryptographic Signature


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

2015-08-20 Thread Daniel Pimentel

On 2015-08-19 16:23, Manolis Ragkousis wrote:

Hello everyone,

As the hard pencil down date approaches, I believe it's time for a 
detailed
report on my progress till now. I will start with what we have right 
now and

then continue with what problems I had and what I did.
First let's see what we have now, working.

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. :-)

Now problems I have faced during my work.

1) CHROOT_ENABLED was evaluated to false in the daemon 
nix/libstore/build.cc.
Mark pointed out the correct solution and I will send the patch 
shortly.

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.
3) We had a problem with binaries not being able to find and link
against libmachuser 
libhurduser It seems adding the two to libc.so's search path was 
enough.

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.
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 :-).
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.
7) glibc-final's debug output refers to %glibc-bootstrap. I think this
happens indirectly through
the headers, currently solving that.

I think those are most of the problems I faced. Well those are the
ones that were worked on and
solved after Ludo left for vacations. I avoid referring to problems
discussed and solved in mails earlier
than that.

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

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.

Please feel free to ask me anything.

Thank you,
Manolis

Congratulation Manolis, Ludo and Guixs 3:)

Thanks,
--
Daniel Pimentel (d4n1 3:)



[PATCH v2 3/7] gnu: Allow OS configurations to add PAM session modules

2015-08-20 Thread Andy Wingo
* gnu/services/base.scm (mingetty-service):
* gnu/services/xorg.scm (slim-service):
* gnu/services/ssh.scm (lsh-service):
* gnu/system/linux.scm (unix-pam-service, base-pam-services): Add
  #:additional-session-modules keyword argument.
---
 gnu/services/base.scm |  6 --
 gnu/services/ssh.scm  |  6 --
 gnu/services/xorg.scm |  6 --
 gnu/system/linux.scm  | 27 ---
 4 files changed, 28 insertions(+), 17 deletions(-)

diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 888e446..60dc93b 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -364,7 +364,8 @@ stopped before 'kill' is called.
;; Allow empty passwords by default so that
;; first-time users can log in when the 'root'
;; account has just been created.
-   (allow-empty-passwords? #t))
+   (allow-empty-passwords? #t)
+   (additional-session-modules '()))
   Return a service to run mingetty on @var{tty}.
 
 When @var{allow-empty-passwords?} is true, allow empty log-in password.  When
@@ -416,7 +417,8 @@ the ``message of the day''.
;; duplicates are removed.
(list (unix-pam-service login
#:allow-empty-passwords? allow-empty-passwords?
-   #:motd motd)))
+   #:motd motd
+   #:additional-session-modules 
additional-session-modules)))
 
 (define-record-type* nscd-configuration nscd-configuration
   make-nscd-configuration
diff --git a/gnu/services/ssh.scm b/gnu/services/ssh.scm
index e2f8542..15e4052 100644
--- a/gnu/services/ssh.scm
+++ b/gnu/services/ssh.scm
@@ -86,7 +86,8 @@
   (tcp/ip-forwarding? #t)
   (password-authentication? #t)
   (public-key-authentication? #t)
-  (initialize? #t))
+  (initialize? #t)
+  (additional-session-modules '()))
   Run the @command{lshd} program from @var{lsh} to listen on port 
@var{port-number}.
 @var{host-key} must designate a file containing the host key, and readable
 only by root.
@@ -162,7 +163,8 @@ The other options should be self-descriptive.
  (pam-services
   (list (unix-pam-service
  lshd
- #:allow-empty-passwords? allow-empty-passwords?)))
+ #:allow-empty-passwords? allow-empty-passwords?
+ #:additional-session-modules additional-session-modules)))
  (activate #~(begin
(use-modules (guix build utils))
(mkdir-p /var/spool/lsh)
diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm
index 9ee8817..71bbb32 100644
--- a/gnu/services/xorg.scm
+++ b/gnu/services/xorg.scm
@@ -224,7 +224,8 @@ which should be passed to this script as the first 
argument.  If not, the
(xauth xauth) (dmd dmd) (bash bash)
(auto-login-session #~(string-append #$windowmaker
 /bin/wmaker))
-   startx)
+   startx
+   (additional-session-modules '()))
   Return a service that spawns the SLiM graphical login manager, which in
 turn starts the X display server with @var{startx}, a command as returned by
 @code{xorg-start-command}.
@@ -305,6 +306,7 @@ reboot_cmd  dmd /sbin/reboot
;; Tell PAM about 'slim'.
(list (unix-pam-service
   slim
-  #:allow-empty-passwords? allow-empty-passwords?)))
+  #:allow-empty-passwords? allow-empty-passwords?
+  #:additional-session-modules additional-session-modules)))
 
 ;;; xorg.scm ends here
diff --git a/gnu/system/linux.scm b/gnu/system/linux.scm
index 8c6..d6a9959 100644
--- a/gnu/system/linux.scm
+++ b/gnu/system/linux.scm
@@ -133,7 +133,8 @@ dumped in /etc/pam.d/NAME, where NAME is the name of 
SERVICE.
   (let ((unix (pam-entry
(control required)
(module pam_unix.so
-(lambda* (name #:key allow-empty-passwords? motd)
+(lambda* (name #:key allow-empty-passwords? motd
+   (additional-session-modules '()))
   Return a standard Unix-style PAM service for NAME.  When
 ALLOW-EMPTY-PASSWORDS? is true, allow empty passwords.  When MOTD is true, it
 should be the name of a file used as the message-of-the-day.
@@ -149,14 +150,16 @@ should be the name of a file used as the 
message-of-the-day.
   (arguments '(nullok)))
  unix)))
  (password (list unix))
- (session (if motd
-  (list unix
-(pam-entry
- (control optional)
-   

Re: [PATCH 0/7] Add guix-devel-… commands.

2015-08-20 Thread Alex Kost
Ludovic Courtès (2015-08-18 16:50 +0300) wrote:

 Alex Kost alez...@gmail.com skribis:

 And finally, I'm afraid building guix package in a Geiser REPL may not
 be very useful because of https://github.com/jaor/geiser/issues/28
 (you have wait for the REPL command to be finished before continuing to
 edit .scm-file).

 Bummer, indeed.  I wonder if that could be worked around by spawning a
 new Guile server thread that would be used to build the package, and
 opening a new Geiser REPL connected to that thread?  Maybe too complex,
 though.

That's what I did for *Guix REPL*: it is a server by default, and there
is *Guix Internal REPL* which connects to it (there is a commentary
about it in emacs/guix-backend.el).

But I don't think it should be done here: as a user I expect that the
building will be performed in the current Geiser REPL, so it's up to me
(as a user) to decide what repl it is.

Also to avoid that limitation, a user can just run another Geiser REPL
after the building begins, and can continue to edit a scheme file with
the help of the current REPL, while the building will continue in the
previous one.  (I will mention this in the manual)

-- 
Alex



[PATCH] gnu: lua: Add patch to generate pkg-config file.

2015-08-20 Thread Siniša Biđin
* gnu/packages/patches/lua-pkgconfig.patch: New file.
* gnu/packages/lua.scm (lua)[source]: Add patch.
* gnu-system.am (dist_patch_DATA): Register patch.
---
 gnu-system.am|   1 +
 gnu/packages/lua.scm |  13 ++--
 gnu/packages/patches/lua-pkgconfig.patch | 107 +++
 3 files changed, 115 insertions(+), 6 deletions(-)
 create mode 100644 gnu/packages/patches/lua-pkgconfig.patch

diff --git a/gnu-system.am b/gnu-system.am
index 688a10f..b43dc5b 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -547,6 +547,7 @@ dist_patch_DATA =   
\
   gnu/packages/patches/libwmf-CVE-2015-0848+4588+4695+4696.patch \
   gnu/packages/patches/lirc-localstatedir.patch\
   gnu/packages/patches/lm-sensors-hwmon-attrs.patch\
+  gnu/packages/patches/lua-pkgconfig.patch  \
   gnu/packages/patches/lua51-liblua-so.patch\
   gnu/packages/patches/luajit-no_ldconfig.patch\
   gnu/packages/patches/luajit-symlinks.patch   \
diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm
index 9a3a83f..fcdd13e 100644
--- a/gnu/packages/lua.scm
+++ b/gnu/packages/lua.scm
@@ -31,12 +31,13 @@
   (package
 (name lua)
 (version 5.2.3)
-(source (origin
- (method url-fetch)
- (uri (string-append http://www.lua.org/ftp/lua-;
- version .tar.gz))
- (sha256
-  (base32 
0b8034v1s82n4dg5rzcn12067ha3nxaylp2vdp8gg08kjsbzphhk
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append http://www.lua.org/ftp/lua-; version .tar.gz))
+   (sha256
+(base32 0b8034v1s82n4dg5rzcn12067ha3nxaylp2vdp8gg08kjsbzphhk))
+   (patches (list (search-patch lua-pkgconfig.patch)
 (build-system gnu-build-system)
 (inputs `((readline, readline)))
 (arguments
diff --git a/gnu/packages/patches/lua-pkgconfig.patch 
b/gnu/packages/patches/lua-pkgconfig.patch
new file mode 100644
index 000..85b131c
--- /dev/null
+++ b/gnu/packages/patches/lua-pkgconfig.patch
@@ -0,0 +1,107 @@
+Enables generating the lua.pc pkg-config file.
+
+--- a/Makefile 2014-10-30 00:14:41.0 +0100
 b/Makefile 2015-03-26 18:54:37.678374827 +0100
+@@ -14,6 +14,7 @@
+ INSTALL_BIN= $(INSTALL_TOP)/bin
+ INSTALL_INC= $(INSTALL_TOP)/include
+ INSTALL_LIB= $(INSTALL_TOP)/lib
++INSTALL_PC= $(INSTALL_LIB)/pkgconfig
+ INSTALL_MAN= $(INSTALL_TOP)/man/man1
+ INSTALL_LMOD= $(INSTALL_TOP)/share/lua/$V
+ INSTALL_CMOD= $(INSTALL_TOP)/lib/lua/$V
+@@ -39,9 +40,12 @@
+ PLATS= aix bsd c89 freebsd generic linux macosx mingw posix solaris
+
+ # What to install.
+-TO_BIN= lua luac
++INTERPRETER= lua
++COMPILER= luac
++TO_BIN= $(INTERPRETER) $(COMPILER)
+ TO_INC= lua.h luaconf.h lualib.h lauxlib.h lua.hpp
+ TO_LIB= liblua.a
++TO_PC=  lua-$(V).pc
+ TO_MAN= lua.1 luac.1
+
+ # Lua version and release.
+@@ -51,23 +55,29 @@
+ # Targets start here.
+ all:  $(PLAT)
+
+-$(PLATS) clean:
++$(PLATS):
+   cd src  $(MAKE) $@
+
++clean:
++  cd src  $(MAKE) $@
++  $(RM) $(TO_PC)
++
+ test: dummy
+   src/lua -v
+
+-install: dummy
+-  cd src  $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) 
$(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD)
++install: dummy $(TO_PC)
++  cd src  $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) 
$(INSTALL_PC) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD)
+   cd src  $(INSTALL_EXEC) $(TO_BIN) $(INSTALL_BIN)
+   cd src  $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC)
+   cd src  $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB)
++  cd src  $(INSTALL_DATA) ../$(TO_PC) $(INSTALL_PC)
+   cd doc  $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN)
+
+ uninstall:
+   cd src  cd $(INSTALL_BIN)  $(RM) $(TO_BIN)
+   cd src  cd $(INSTALL_INC)  $(RM) $(TO_INC)
+   cd src  cd $(INSTALL_LIB)  $(RM) $(TO_LIB)
++  cd src  cd $(INSTALL_PC)   $(RM) $(TO_PC)
+   cd doc  cd $(INSTALL_MAN)  $(RM) $(TO_MAN)
+
+ local:
+@@ -90,11 +100,13 @@
+   @echo TO_BIN= $(TO_BIN)
+   @echo TO_INC= $(TO_INC)
+   @echo TO_LIB= $(TO_LIB)
++  @echo TO_PC= $(TO_PC)
+   @echo TO_MAN= $(TO_MAN)
+   @echo INSTALL_TOP= $(INSTALL_TOP)
+   @echo INSTALL_BIN= $(INSTALL_BIN)
+   @echo INSTALL_INC= $(INSTALL_INC)
+   @echo INSTALL_LIB= $(INSTALL_LIB)
++  @echo INSTALL_PC= $(INSTALL_PC)
+   @echo INSTALL_MAN= $(INSTALL_MAN)
+   @echo INSTALL_LMOD= $(INSTALL_LMOD)
+   @echo INSTALL_CMOD= $(INSTALL_CMOD)
+@@ -103,12 +115,28 @@
+
+ # echo pkg-config data
+ pc:
+-  @echo version=$R
+-  @echo prefix=$(INSTALL_TOP)
+-  @echo libdir=$(INSTALL_LIB)
+-  @echo includedir=$(INSTALL_INC)
++  @echo 'prefix=$(INSTALL_TOP)'
++  @echo 'libdir=$(INSTALL_LIB)'
++  @echo 'includedir=$(INSTALL_INC)'
++  @echo 'bindir=$(INSTALL_BIN)'
++  @echo
++  @echo 

[PATCH v2 4/7] gnu: polkit: Use elogind for seat management.

2015-08-20 Thread Andy Wingo
* gnu/packages/polkit.scm (polkit): Depend on elogind.
---
 gnu/packages/polkit.scm | 23 ++-
 1 file changed, 22 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/polkit.scm b/gnu/packages/polkit.scm
index 172b0e1..6a89d6b 100644
--- a/gnu/packages/polkit.scm
+++ b/gnu/packages/polkit.scm
@@ -23,6 +23,7 @@
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
   #:use-module (gnu packages)
+  #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnuzilla)
   #:use-module (gnu packages linux)
@@ -44,13 +45,33 @@
  (sha256
   (base32
109w86kfqrgz83g9ivggplmgc77rz8kx8646izvm2jb57h4rbh71))
- (patches (list (search-patch polkit-drop-test.patch)
+ (patches (list (search-patch polkit-drop-test.patch)))
+ (modules '((guix build utils)))
+ (snippet
+  '(begin
+ (use-modules (guix build utils))
+ (substitute* configure
+   ;; Replace libsystemd-login with libelogind.
+   ((libsystemd-login) libelogind)
+   ;; Skip the sanity check that the current system runs
+   ;; systemd.
+   ((test ! -d /sys/fs/cgroup/systemd/) false))
+ (substitute* src/polkit/polkitunixsession-systemd.c
+   ((systemd) elogind))
+ (substitute* 
src/polkitbackend/polkitbackendsessionmonitor-systemd.c
+   ((systemd) elogind))
+ (substitute* src/polkitbackend/polkitbackendjsauthority.c
+   ((systemd) elogind))
 (build-system gnu-build-system)
 (inputs
   `((expat ,expat)
 (glib:bin ,glib bin) ; for glib-mkenums
+(elogind ,elogind)
 (intltool ,intltool)
 (linux-pam ,linux-pam)
+;; FIXME: Shouldn't need libcap, it should be correctly propagated
+;; from elogind.
+(libcap ,libcap)
 (mozjs ,mozjs)
 (nspr ,nspr)))
 (propagated-inputs
-- 
2.4.3




Re: libinput

2015-08-20 Thread 宋文武
Marcus Moeller marcus.moel...@gmx.ch writes:

 Hi all,

 I am using libinput to detect my touchpad. It works in general, but
 neither edge scrolling nor two finger scrolling works. I guess it's
 related to the version 0.14.X - if I am right it seems to be available
 in 0.20.X:

 http://who-t.blogspot.ch/2015/03/why-libinput-doesnt-support-edge.html

 So I would kindly like to ask the maintainer of this package to upgrade
 it to a recent version.
Done in commit 5084eb4, thanks for your report.



[PATCH] gnu: Add sassc.

2015-08-20 Thread David Thompson
From 4a6d1a798a0625d8bc104b86db56f5d2594a5d80 Mon Sep 17 00:00:00 2001
From: David Thompson dthomps...@worcester.edu
Date: Wed, 19 Aug 2015 21:54:57 -0400
Subject: [PATCH] gnu: Add sassc.

* gnu/packages/web.scm (sassc): New variable.
---
 gnu/packages/web.scm | 53 
 1 file changed, 53 insertions(+)

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 48bfbc7..ce4cfeb 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -642,6 +642,59 @@ minimum to provide high performance operation.)
 ;; bundled CuTest framework uses a different non-copyleft license.
 (license (list l:asl2.0 (l:non-copyleft file://test/CuTest-README.txt)
 
+(define-public sassc
+  ;; libsass must be statically linked and it isn't included in source the
+  ;; sassc release tarballs, hence this odd package recipe.
+  (let* ((version 3.2.5)
+ (libsass
+  (origin
+(method url-fetch)
+(uri (string-append
+  https://github.com/sass/libsass/archive/;
+  version .tar.gz))
+(file-name (string-append libsass- version .tar.gz))
+(sha256
+ (base32
+  1x25k6p1s1yzsdpzb7bzh8japilmi1mk3z96q66pycbinj9z9is4)
+(package
+  (name sassc)
+  (version version)
+  (source (origin
+(method url-fetch)
+(uri (string-append https://github.com/sass/sassc/archive/;
+version .tar.gz))
+(sha256
+ (base32
+  1xf3w75w840rj0nx375rxi7mcv1ngqqq8p3zrzjlyx8jfpnldmv5
+  (build-system gnu-build-system)
+  (arguments
+   `(#:make-flags '(CC=gcc)
+ #:test-target test
+ #:phases
+ (modify-phases %standard-phases
+   (delete 'configure)
+   (add-before 'build 'set-libsass-path
+ (lambda* (#:key inputs #:allow-other-keys)
+   (system* tar xvf (assoc-ref inputs libsass))
+   (setenv SASS_LIBSASS_PATH
+   (string-append (getcwd) /libsass- ,version))
+
+   #t))
+   (replace 'install ; no install target
+ (lambda* (#:key outputs #:allow-other-keys)
+   (let ((bin (string-append (assoc-ref outputs out) /bin)))
+ (mkdir-p bin)
+ (copy-file bin/sassc
+(string-append bin /sassc))
+ #t))
+  (inputs
+   `((libsass ,libsass)))
+  (synopsis CSS pre-processor)
+  (description SassC is a compiler written in C for the CSS pre-processor
+language known as SASS.)
+  (home-page http://sass-lang.com/libsass;)
+  (license l:expat
+
 
 (define-public perl-apache-logformat-compiler
   (package
-- 
2.4.3


-- 
David Thompson
GPG Key: 0FF1D807


Re: [PATCH] scripts: package: Add --install-from-file option.

2015-08-20 Thread Taylan Ulrich Bayırlı/Kammer
Thompson, David dthomps...@worcester.edu writes:

 On Wed, Aug 19, 2015 at 4:27 AM, Amirouche Boubekki
 amirou...@hypermove.net wrote:

 What about dispatch `guix package -i` depending on the argument. In
 principle there will be no *.scm$ packages so the above could be

   guix package -i package.scm

 The idea behind that is to keep the number of command to minimum. In this
 case, IMO, it makes sens to merge both logic inside the same UI.

 That won't work because it creates ambiguities in the package spec
 syntax.  How can one tell if a package spec or a file name was passed
 with 100% accuracy?  You can't, and we'd have to use a heuristic that
 would surely fail in some awful way for someone.  It's best for this
 to be a separate argument.

 - Dave

Sometimes a 99.9% solution is acceptable IMO.  Packages named foo.scm
should be exceedingly rare in first place, and then if you also have a
file of that name in the current directory...

Another option might be to expect a slash in the string, i.e. forcing
./ if the file's in the current directory:

guix package -i ./package.scm

Happening to have a package with a slash in its name, ending in .scm,
and coinciding with the relative or absolute path of a file existing on
your filesystem, ought to be implausible.

Just my two cents from glancing over the discussion though.  No strong
opinions.  Additional flag is fine too by me.

Taylan



Re: New ‘formatting’ checker

2015-08-20 Thread Andy Wingo
On Wed 19 Aug 2015 11:42, l...@gnu.org (Ludovic Courtès) writes:

 Hi!

 ‘guix lint’ now has a ‘formatting’ checker, which currently just checks
 for tabs, trailing white space, and long lines.  The idea is to remove
 the burden of checking those things from reviewers, and to avoid
 frustrations caused by reviews that report trailing white space.  :-)

 It’s not perfect because it doesn’t know about sexp boundaries, so it
 might report about issues in the package that comes next.  It’s OK
 though.

 Comments welcome!

How about a git hook that runs guix lint and also checks the formatting
of commit logs?

A



Re: [PATCH] gnu: pavucontrol: Update to 3.0

2015-08-20 Thread Ludovic Courtès
Jeff Mickey j...@codemac.net skribis:

 From 92a1d757059451b5a468f5dec9b85d8abca2651d Mon Sep 17 00:00:00 2001
 From: Jeff Mickey j...@codemac.net
 Date: Mon, 17 Aug 2015 00:42:05 -0700
 Subject: [PATCH] gnu: pavucontrol: Update to 3.0

 * gnu/packages/pulseaudio.scm (pavucontrol): Update to 3.0.
 * gnu/packages/patches/pavucontrol-sigsegv.patch: Removed.

I removed the patch from gnu-system.am, adjusted the commit log
accordingly, and applied it.  Thanks!

Ludo’.



Re: Why does glibc provide bash?

2015-08-20 Thread Ludovic Courtès
I’ve pushed an attempt for it in wip-core-updates, specifically this
commit:

  
http://git.savannah.gnu.org/cgit/guix.git/commit/?h=wip-core-updatesid=e0a33ce07b56111329575b0ccc90c9c314fbd221

The trick is simply to not copy the ‘bash’ binary to libc (not sure why
I didn’t do it this way from the start.)

Mark: WDYT?  I think it solves the problem at hand and it’s a reasonably
simple solution.

(The branch is called ‘wip-’ because the glibc upgrade happens to cause
troubles: since it has new locale category elements, the locale data is
incompatible with that older libcs expect, which means the bootstrap
binaries fail with an assertion failure when trying to load the new
locale data, like:

  xz: loadlocale.c:130: _nl_intern_locale_data: Assertion `cnt  (sizeof 
(_nl_value_type_LC_COLLATE) / sizeof (_nl_value_type_LC_COLLATE[0]))' failed.

I’m looking for a fix a will otherwise postpone the upgrade.)

Ludo’.



[PATCH v2 5/7] gnu: colord: Add libcap input.

2015-08-20 Thread Andy Wingo
* gnu/packages/gnome.scm (colord): Add libcap as an input.  I don't know why;
  I suspect something libtool-related with libelogind.la.
---
 gnu/packages/gnome.scm | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 1c31be2..8763380 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -2202,6 +2202,8 @@ keyboard shortcuts.)
 (inputs
  `((dbus-glib ,dbus-glib)
(libusb ,libusb)
+   ;; FIXME: propagated in from elogind via polkit.  Why?
+   (libcap ,libcap)
(sqlite ,sqlite)
(polkit ,polkit)
(sane-backends ,sane-backends)))
-- 
2.4.3




Re: [PATCH] gnu: tinc: Add tinc vpn

2015-08-20 Thread Ludovic Courtès
Jeff Mickey j...@codemac.net skribis:

 From c30ef5476a852df84d30b5e3d39ec7fc27bb55cf Mon Sep 17 00:00:00 2001
 From: Jeff Mickey j...@codemac.net
 Date: Mon, 17 Aug 2015 01:16:45 -0700
 Subject: [PATCH] gnu: Add tinc.

 * gnu/packages/vpn.scm (tinc): New variable.

I remove the “A” in the synopsis, as suggested by ‘guix lint’, and
applied it.  Thanks!

Ludo’.



Re: [PATCH 1/2] gnu: Add eyed3.

2015-08-20 Thread Efraim Flashner
On Thu, 20 Aug 2015 17:50:10 +0800
宋文武 iyzs...@gmail.com wrote:

 Efraim Flashner efr...@flashner.co.il writes:
 
  * gnu/packages/mp3.scm (eyed3): New variable.
  ---
   gnu/packages/mp3.scm | 25 +
   1 file changed, 25 insertions(+)
  [...]
  +(license license:gpl2)))
 The sources have any later version, so it's 'gpl2+'.

The website says: eyeD3 is written and maintained by Travis Shirk and is
licensed under version 2 of the GPL. And that is backed up by the COPYING
file in the mercurial repo: https://bitbucket.org/nicfit/eyed3/src. Upon
checking the actual source files, it does indeed say (at your option) any
later version, so it looks like I was mislead by not finding that wording in
the COPYING file.

 eyeD3 is both a tool and python library, I wonder whether
 'python-eyed3' fits better.

'python-eyed3' is probably a better name. I wonder perhaps as a python
library it should be in python.scm instead of mp3.scm. Anyone have a
suggestion on that front?

-- 
Efraim Flashner   efr...@flashner.co.il   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted


pgp6Us8vRpN51.pgp
Description: OpenPGP digital signature


[PATCH v2 7/7] gnu: Add polkit service.

2015-08-20 Thread Andy Wingo
* gnu/services/desktop.scm (polkit-service): New function.
  (%desktop-services): Add polkit service.
---
 gnu/services/desktop.scm | 48 +++-
 1 file changed, 43 insertions(+), 5 deletions(-)

diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index 4973e82..543b452 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -30,6 +30,7 @@
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages avahi)
   #:use-module (gnu packages wicd)
+  #:use-module (gnu packages polkit)
   #:use-module (guix monads)
   #:use-module (guix store)
   #:use-module (guix gexp)
@@ -40,6 +41,7 @@
 geoclue-application
 %standard-geoclue-applications
 geoclue-service
+polkit-service
 elogind-service
 %desktop-services))
 
@@ -376,6 +378,40 @@ site} for more information.
 
 
 ;;;
+;;; Polkit privilege management service.
+;;;
+
+(define* (polkit-service #:key (polkit polkit))
+  Return a service that runs the @command{polkit} privilege management
+service.  By querying the @command{polkit} service, a privileged system
+component can know when it should grant additional capabilities to ordinary
+users.  For example, an ordinary user can be granted the capability to suspend
+the system if the user is logged in locally.
+  (with-monad %store-monad
+(return
+ (service
+  (documentation Run the polkit privilege management service.)
+  (provision '(polkit-daemon))
+  (requirement '(dbus-system))
+
+  (start #~(make-forkexec-constructor
+(list (string-append #$polkit /lib/polkit-1/polkitd
+  (stop #~(make-kill-destructor))
+
+  (user-groups (list (user-group
+  (name polkitd)
+  (system? #t
+  (user-accounts (list (user-account
+(name polkitd)
+(group polkitd)
+(system? #t)
+(comment Polkit daemon user)
+(home-directory /var/empty)
+(shell
+ /run/current-system/profile/sbin/nologin
+
+
+;;;
 ;;; Elogind login and seat management service.
 ;;;
 
@@ -407,14 +443,16 @@ when they log out.
  (avahi-service)
  (wicd-service)
  (upower-service)
- ;; FIXME: The colord and geoclue services could all be bus-activated
- ;; by default, so they don't run at program startup.  However, user
- ;; creation and /var/lib.colord creation happen at service activation
- ;; time, so we currently add them to the set of default services.
+ ;; FIXME: The colord, geoclue, and polkit services could all be
+ ;; bus-activated by default, so they don't run at program startup.
+ ;; However, user creation and /var/lib/colord creation happen at
+ ;; service activation time, so we currently add them to the set of
+ ;; default services.
  (colord-service)
  (geoclue-service)
+ (polkit-service)
  (elogind-service)
- (dbus-service (list avahi wicd upower colord geoclue elogind))
+ (dbus-service (list avahi wicd upower colord geoclue polkit elogind))
 
  (ntp-service)
 
-- 
2.4.3




[PATCH v2 2/7] gnu: elogind: Update to version 219.5.

2015-08-20 Thread Andy Wingo
* gnu/packages/freedesktop.scm (elogind): Update to 219.5.
---
 gnu/packages/freedesktop.scm | 110 +--
 1 file changed, 54 insertions(+), 56 deletions(-)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index cbf26dc..7413456 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -130,65 +130,63 @@ the freedesktop.org XDG Base Directory specification.)
 (license license:expat)))
 
 (define-public elogind
-  (let ((commit 14405a9))
-(package
-  (name elogind)
-  (version (string-append 219. commit))
-  (source (origin
-(method git-fetch)
-(uri (git-reference
-  (url http://git.elephly.net/software/elogind.git;)
-  (commit commit)))
-(sha256
- (base32
-  1wz5lxj95qg64x2q5hf4zcb35hpxlw3wfswx6sb2srvsg50y3y72))
-(file-name (string-append name -checkout- commit))
-(modules '((guix build utils)))
-(snippet
- '(begin
-(use-modules (guix build utils))
-(substitute* Makefile.am
-  ;; Avoid validation against DTD because the DTDs for
-  ;; both doctype 4.2 and 4.5 are needed.
-  ((XSLTPROC_FLAGS = ) XSLTPROC_FLAGS = --novalid))
-  (build-system gnu-build-system)
-  (arguments
-   `(#:configure-flags
- (list
-  ;; pam_elogind fails because of bus-error.c hackery
-  --disable-pam
-  (string-append --with-rootprefix= (assoc-ref %outputs out)))
- #:phases
- (modify-phases %standard-phases
-   (add-after 'unpack 'autogen
-  (lambda _
-(and (zero? (system* intltoolize --force 
--automake))
- (zero? (system* autoreconf -vif
-  (native-inputs
-   `((intltool ,intltool)
- (gettext ,gnu-gettext)
- (docbook-xsl ,docbook-xsl)
- (docbook-xml ,docbook-xml)
- (xsltproc ,libxslt)
- (libxml2 ,libxml2) ;for XML_CATALOG_FILES
- (pkg-config, pkg-config)
- (autoconf ,autoconf)
- (automake ,automake)
- (libtool ,libtool)
- (gperf ,gperf)))
-  (inputs
-   `((linux-pam ,linux-pam)
- (linux-libre-headers ,linux-libre-headers)
- (libcap ,libcap)
- (dbus ,dbus)
- (eudev ,eudev)))
-  (home-page https://github.com/andywingo/elogind;)
-  (synopsis User, seat, and session management service)
-  (description Elogind is the systemd project's \logind\ service,
+  (package
+(name elogind)
+(version 219.5)
+(source (origin
+  (method git-fetch)
+  (uri (git-reference
+(url https://github.com/andywingo/elogind;)
+(tag (string-append v version
+  (sha256
+   (base32
+09ipra2q6gsdll3356jcb1yx2za9p4qab5qfk9g2z40msvb93hs5))
+  (file-name (string-append name -checkout- version))
+  (modules '((guix build utils)))
+  (snippet
+   '(begin
+  (use-modules (guix build utils))
+  (substitute* Makefile.am
+;; Avoid validation against DTD because the DTDs for
+;; both doctype 4.2 and 4.5 are needed.
+((XSLTPROC_FLAGS = ) XSLTPROC_FLAGS = --novalid))
+(build-system gnu-build-system)
+(arguments
+ `(#:configure-flags
+   (list (string-append --with-udevrulesdir=
+(assoc-ref %outputs out)
+/lib/udev/rules.d))
+   #:phases
+   (modify-phases %standard-phases
+ (add-after 'unpack 'autogen
+(lambda _
+  (and (zero? (system* intltoolize --force 
--automake))
+   (zero? (system* autoreconf -vif
+(native-inputs
+ `((intltool ,intltool)
+   (gettext ,gnu-gettext)
+   (docbook-xsl ,docbook-xsl)
+   (docbook-xml ,docbook-xml)
+   (xsltproc ,libxslt)
+   (libxml2 ,libxml2) ;for XML_CATALOG_FILES
+   (pkg-config, pkg-config)
+   (autoconf ,autoconf)
+   (automake ,automake)
+   (libtool ,libtool)
+   (gperf ,gperf)))
+(inputs
+ `((linux-pam ,linux-pam)
+   (linux-libre-headers ,linux-libre-headers)
+   (libcap ,libcap)
+   (dbus ,dbus)
+   (eudev ,eudev)))
+(home-page https://github.com/andywingo/elogind;)
+(synopsis User, seat, and session management service)
+(description Elogind is the systemd project's \logind\ service,
 extracted out as a separate project.  Elogind integrates with PAM to provide
 the org.freedesktop.login1 interface over the system bus, allowing 

Re: Set screen resolution in X.

2015-08-20 Thread 宋文武
Camel camelthe...@gmail.com writes:

 On 12 August 2015 at 10:08, Camel camelthe...@gmail.com wrote:

 On 10 August 2015 at 23:16, Thompson, David dthomps...@worcester.edu
 wrote:

 I believe this is because the return value of
 'xorg-configuration-file' is a monadic value, and thus it needs to
 unwrapped in order to pass the configuration file to
 'xorg-start-command'.

 Try this:

 (mlet %store-monad ((config
  (xorg-configuration-file #:drivers '(radeon
 vesa)
   #:resolutions '((1366
 768)
   (1024
 768)
   (slim-service #:startx (xorg-start-command #:configuration-file
 config)))


 I've found another possible solution:

 https://lists.gnu.org/archive/html/guix-devel/2015-05/msg00395.html

   (define input-class
 Section \InputClass ...)

   (define (my-slim-service)
 (mlet %store-monad ((config (xorg-configuration-file
it should be 'mlet*'.
  #:extra-config (list input-class)))
 (startx (xorg-start-command
  #:configuration-file config)))
   (slim-service #:startx startx)))

   (operating-system
 ;; ...
 (services (cons (my-slim-service) ...)))

 I'll try it later.

 Nope. Didn't help. Same error:

 ERROR: In procedure primitive-load:
 ERROR: In procedure scm_lreadr:
 /gnu/store/6bhrflbps4mav5yv5mas6fazcb59734f-slim.cfg-builder:1:159: Unknown
 # object: #\

 Does anyone could give me an example of configured slim-service with
 xorg-configuration-file?
here is mine:



config.scm
Description: Binary data


Re: New ‘formatting’ checker

2015-08-20 Thread Andy Wingo
On Thu 20 Aug 2015 00:27, l...@gnu.org (Ludovic Courtès) writes:

 Andy Wingo wi...@igalia.com skribis:

 How about a git hook that runs guix lint and also checks the formatting
 of commit logs?

 Having a hook that runs Guix on Savannah doesn’t really seem doable
 unfortunately; however, a review bot may be even better, we’ll see.

 I wouldn’t know how to check the formatting of commit logs
 automatically.

We can have hooks locally.  Simply being able to tell contributors
enable this hook, it will reduce your review latency would be helpful.

A



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

2015-08-20 Thread Samuel Thibault
Hello,

Congrats!!

Samuel



Re: [PATCH 1/2] gnu: Add eyed3.

2015-08-20 Thread 宋文武
Efraim Flashner efr...@flashner.co.il writes:

 * gnu/packages/mp3.scm (eyed3): New variable.
 ---
  gnu/packages/mp3.scm | 25 +
  1 file changed, 25 insertions(+)
 [...]
 +(license license:gpl2)))
The sources have any later version, so it's 'gpl2+'.
 -- 
 2.5.0
eyeD3 is both a tool and python library, I wonder whether
'python-eyed3' fits better.



[PATCH v2 6/7] gnu: Add elogind service.

2015-08-20 Thread Andy Wingo
* gnu/services/desktop.scm (elogind-service): New function.
  (%desktop-services): Add elogind-service.
---
 gnu/services/desktop.scm | 27 ++-
 1 file changed, 26 insertions(+), 1 deletion(-)

diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index 4e4b49d..4973e82 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -26,6 +26,7 @@
   #:use-module (gnu system shadow)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages admin)
+  #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages avahi)
   #:use-module (gnu packages wicd)
@@ -39,6 +40,7 @@
 geoclue-application
 %standard-geoclue-applications
 geoclue-service
+elogind-service
 %desktop-services))
 
 ;;; Commentary:
@@ -374,6 +376,28 @@ site} for more information.
 
 
 ;;;
+;;; Elogind login and seat management service.
+;;;
+
+(define* (elogind-service #:key (elogind elogind))
+  Return a service that runs the @command{elogind} login and seat management
+service.  The @command{elogind} service integrates with PAM to allow other
+system components to know the set of logged-in users as well as their session
+types (graphical, console, remote, etc.).  It can also clean up after users
+when they log out.
+  (with-monad %store-monad
+(return
+ (service
+  (documentation Run the elogind login and seat management service.)
+  (provision '(elogind))
+  (requirement '(dbus-system))
+
+  (start #~(make-forkexec-constructor
+(list (string-append #$elogind /libexec/elogind/elogind
+  (stop #~(make-kill-destructor))
+
+
+;;;
 ;;; The default set of desktop services.
 ;;;
 (define %desktop-services
@@ -389,7 +413,8 @@ site} for more information.
  ;; time, so we currently add them to the set of default services.
  (colord-service)
  (geoclue-service)
- (dbus-service (list avahi wicd upower colord geoclue))
+ (elogind-service)
+ (dbus-service (list avahi wicd upower colord geoclue elogind))
 
  (ntp-service)
 
-- 
2.4.3




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

2015-08-20 Thread Andy Wingo
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.

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

Andy



Re: [PATCH 1/2] gnu: Add eyed3.

2015-08-20 Thread Efraim Flashner
On Thu, 20 Aug 2015 17:50:10 +0800
宋文武 iyzs...@gmail.com wrote:

 Efraim Flashner efr...@flashner.co.il writes:
 
  * gnu/packages/mp3.scm (eyed3): New variable.
  ---
   gnu/packages/mp3.scm | 25 +
   1 file changed, 25 insertions(+)
  [...]
  +(license license:gpl2)))
 The sources have any later version, so it's 'gpl2+'.

The website says: eyeD3 is written and maintained by Travis Shirk and is
licensed under version 2 of the GPL. And that is backed up by the COPYING
file in the mercurial repo: https://bitbucket.org/nicfit/eyed3/src. Upon
checking the actual source files, it does indeed say (at your option) any
later version, so it looks like I was mislead by not finding that wording in
the COPYING file.

 eyeD3 is both a tool and python library, I wonder whether
 'python-eyed3' fits better.

'python-eyed3' is probably a better name. I wonder perhaps as a python
library it should be in python.scm instead of mp3.scm. Anyone have a
suggestion on that front?

-- 
Efraim Flashner   efr...@flashner.co.il   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted


pgph0ORc4GBgL.pgp
Description: OpenPGP digital signature


Re: [PATCH] doc: Add missing gawk dependency to hello recipe.

2015-08-20 Thread Ludovic Courtès
Siniša Biđin sin...@bidin.eu skribis:

 The example GNU Hello package recipe from the docs wasn't actually
 buildable, due to a missing gawk import.

Indeed.  Applied, thanks!

Ludo’.



question

2015-08-20 Thread Dika Setya Prayogi
hi. is there any guixhurd available to dowoload, or is still under development ?



Re: [PATCH] gnu: Add figlet.

2015-08-20 Thread Ludovic Courtès
Ricardo Wurmus rek...@elephly.net skribis:

 The only thing that I’m not entirely happy with is the length of the
 synopsis, but I’m probably just too picky.

I would replace “Program for making” with just “Make”.

 Unless someone else has any objections, I think this can be accepted.

Agreed.  Could you push it?

Thanks,
Ludo’.



Re: Security updates for bundled copies of libraries in Qt

2015-08-20 Thread Ludovic Courtès
Andreas Enge andr...@enge.fr skribis:

 On Tue, Aug 18, 2015 at 04:59:13PM +0200, Ludovic Courtès wrote:
 In https://lists.gnu.org/archive/html/guix-devel/2015-06/msg00302.html
 there was consensus that, to begin with, we should remove the bundled
 Chromium and all the things it pulls from Qt5

 This was done in commit f7fb0ccb6980de7e54eabe008c0c7b73241b3494.

Oh nice, thanks.

Ludo’.



Re: [PATCH 2/2] gnu: Add font-inconsolata

2015-08-20 Thread Ludovic Courtès
Eric Dvorsak e...@dvorsak.fr skribis:

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

Applied, thanks.

Ludo’.



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

2015-08-20 Thread Amirouche Boubekki

Le 2015-08-19 22:27, taylanbayi...@gmail.com a écrit :

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


[...]

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

[...]


Amazing news! :-)

Thanks so much for working on this.  I haven't tried out Hurd so far 
but
am meaning to do so eventually; sounds like my first Hurd system will 
be

GuixSD at the same time.  So much awesome in one system.


I second that. Thanks :)


--
Amirouche ~ amz3 ~ http://www.hyperdev.fr