guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02/03: gnu: lsh: lshd now supports X11 forwarding.


From: Ludovic Courtès
Subject: 02/03: gnu: lsh: lshd now supports X11 forwarding.
Date: Wed, 24 Feb 2016 12:11:58 +0000

civodul pushed a commit to branch master
in repository guix.

commit da35acf91d9d198c8dc61dc356825c867772eec9
Author: Ludovic Courtès <address@hidden>
Date:   Wed Feb 24 12:24:30 2016 +0100

    gnu: lsh: lshd now supports X11 forwarding.
    
    Reported by myglc2 <address@hidden>.
    
    * gnu/packages/lsh.scm (lsh)[inputs]: Add XAUTH.
    [arguments]: Modify 'XAUTH_PROGRAM' macro in 'server_x11.c'.
---
 gnu/packages/lsh.scm |   22 +++++++++++++++++++---
 1 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/lsh.scm b/gnu/packages/lsh.scm
index 90631e3..3b6487f 100644
--- a/gnu/packages/lsh.scm
+++ b/gnu/packages/lsh.scm
@@ -29,7 +29,8 @@
   #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages gperf)
-  #:use-module (gnu packages guile))
+  #:use-module (gnu packages guile)
+  #:use-module (gnu packages xorg))
 
 (define-public liboop
   (package
@@ -100,7 +101,11 @@ basis for almost any application.")
 
        ("liboop" ,liboop)
        ("zlib" ,guix:zlib)
-       ("gmp" ,gmp)))
+       ("gmp" ,gmp)
+
+       ;; The server (lshd) invokes xauth when X11 forwarding is requested.
+       ;; This adds 24 MiB (or 27%) to the closure of lsh.
+       ("xauth" ,xauth)))
     (arguments
      '(;; Skip the `configure' test that checks whether /dev/ptmx &
        ;; co. work as expected, because it relies on impurities (for
@@ -128,7 +133,18 @@ basis for almost any application.")
                ;; Same for the 'lsh-authorize' script.
                (substitute* "src/lsh-authorize"
                  (("=sexp-conv")
-                  (string-append "=" sexp-conv))))
+                  (string-append "=" sexp-conv)))
+
+               ;; Tell lshd where 'xauth' lives.  Another option would be to
+               ;; hardcode "/run/current-system/profile/bin/xauth", thereby
+               ;; reducing the closure size, but that wouldn't work on foreign
+               ;; distros.
+               (with-fluids ((%default-port-encoding "ISO-8859-1"))
+                 (substitute* "src/server_x11.c"
+                   (("define XAUTH_PROGRAM.*")
+                    (string-append "define XAUTH_PROGRAM \""
+                                   (assoc-ref inputs "xauth")
+                                   "/bin/xauth\"\n")))))
 
              ;; Tests rely on $USER being set.
              (setenv "USER" "guix"))))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]