L p R n d n wrote 6 years ago
(address . guix-patches@gnu.org)
Hello,
Wanted to work on Guix's website but fate led me to try my way on a
lightdm service...
So, here is what I got for now.
It fails to start a window manager but I don't think I'll be able to
debug the last mile with my sole knowledge.
Beside that, here is a list of possible improvements before merging:
* lightdm-greeter-gtk configuration is a part of lightdm's service.
It might be a good idea to give it its own service but it would
mean we need to write a service for each lightdm greeter.
* lightdm complains about the lack of
org.freedesktop.DisplayManager.AccountsService interface.
The lightdm package provides the relevent files but it seems
accountsservice doesn't find them. I think it searches them in
$XDG_DATA_DIRS/accountservices . See
* lightdm-gtk-greeter's wrapper is handmade and ugly.
* General refining.
A thorough review would also be welcome as I'm not really sure I know
what I'm doing.
Thanks!
L p R n d n
From 826ca620f71f5b219f1402fe4ea582de621b061a Mon Sep 17 00:00:00 2001
From: Lprndn <lprndn@gmail.com>
Date: Tue, 16 Apr 2019 13:16:39 +0200
Subject: [PATCH 01/10] gnu: lightdm: Update 1.28.0.
* gnu/packages/display-managers.scm (lightdm): Update to 1.28.0.
---
gnu/packages/display-managers.scm | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
Toggle diff (28 lines)
diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm
index afe5cc2b7b..243baebb3d 100644
--- a/gnu/packages/display-managers.scm
+++ b/gnu/packages/display-managers.scm
@@ -208,16 +208,15 @@ create smooth, animated user interfaces.")
(define-public lightdm
(package
(name "lightdm")
- (version "1.24.0")
+ (version "1.28.0")
(source (origin
(method url-fetch)
- (uri (string-append "https://launchpad.net/lightdm/"
- (version-major+minor version) "/"
- version "/+download/lightdm-"
- version ".tar.xz"))
+ (uri (string-append
+ "https://github.com/CanonicalLtd/lightdm/releases/download/"
+ version "/lightdm-" version ".tar.xz"))
(sha256
(base32
- "18j33bm54i8k7ncxcs69zqi4105s62n58jrydqn3ikrb71s9nl6d"))))
+ "01zsxim662n2w66j46rv291w9aqmwvlwccyzl9vhpybwinfmj3zj"))))
(build-system gnu-build-system)
(arguments
'(#:parallel-tests? #f ; fails when run in parallel
--
2.21.0
From c2ead5265c209315fa57cb07b84ead557e191175 Mon Sep 17 00:00:00 2001
From: Lprndn <lprndn@gmail.com>
Date: Tue, 16 Apr 2019 13:21:55 +0200
Subject: [PATCH 02/10] gnu: lightdm: Add vala bindings.
* gnu/packages/display-managers.scm (lightdm) [native-inputs]: Add vala.
---
gnu/packages/display-managers.scm | 1 +
1 file changed, 1 insertion(+)
Toggle diff (14 lines)
diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm
index 243baebb3d..d1eb3f146e 100644
--- a/gnu/packages/display-managers.scm
+++ b/gnu/packages/display-managers.scm
@@ -263,6 +263,7 @@ create smooth, animated user interfaces.")
("pkg-config" ,pkg-config)
("itstool" ,itstool)
("intltool" ,intltool)
+ ("vala" ,vala) ;For vala bindings
;; For tests
("dbus" ,dbus)
("python" ,python-2)
--
2.21.0
From 6e0bf56cd21964c868b6eaf2867dfbd412c4d279 Mon Sep 17 00:00:00 2001
From: Lprndn <lprndn@gmail.com>
Date: Tue, 16 Apr 2019 13:26:22 +0200
Subject: [PATCH 03/10] gnu: lightdm: Re-enable all tests.
* gnu/packages/display-managers.scm (lightdm)[arguments]: Remove disable-broken-phase.
---
gnu/packages/display-managers.scm | 6 ------
1 file changed, 6 deletions(-)
Toggle diff (19 lines)
diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm
index d1eb3f146e..7f5678f459 100644
--- a/gnu/packages/display-managers.scm
+++ b/gnu/packages/display-managers.scm
@@ -235,12 +235,6 @@ create smooth, animated user interfaces.")
(substitute* "src/seat.c"
(("/bin/sh") (which "sh")))
#t))
- (add-after 'unpack 'disable-broken-tests
- (lambda _
- (substitute* "tests/Makefile.in"
- (("test-sessions-gobject ") "")
- ((" test-sessions-python ") " "))
- #t))
(add-before 'check 'pre-check
;; Run test-suite under a dbus session.
(lambda* (#:key inputs #:allow-other-keys)
--
2.21.0
From c31f542d6c551ef2b7bef4d576ff7c2ad1e4a01a Mon Sep 17 00:00:00 2001
From: Lprndn <lprndn@gmail.com>
Date: Tue, 16 Apr 2019 13:40:38 +0200
Subject: [PATCH 04/10] gnu: lightdm-gtk-greeter: Update to 2.0.6.
* gnu/packages/display-manager.scm (lightdm-gtk-greeter): Update to 2.0.6.
---
gnu/packages/display-managers.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
Toggle diff (24 lines)
diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm
index 7f5678f459..be365df6a2 100644
--- a/gnu/packages/display-managers.scm
+++ b/gnu/packages/display-managers.scm
@@ -276,7 +276,7 @@ display manager which supports different greeters.")
(define-public lightdm-gtk-greeter
(package
(name "lightdm-gtk-greeter")
- (version "2.0.2")
+ (version "2.0.6")
(source (origin
(method url-fetch)
(uri (string-append
@@ -285,7 +285,7 @@ display manager which supports different greeters.")
"/+download/lightdm-gtk-greeter-" version ".tar.gz"))
(sha256
(base32
- "1436sdm83xqhxyr1rzqxhsl8if2xmidlvb341xcv6dv83lyxkrlf"))))
+ "1pis5qyg95pg31dvnfqq34bzgj00hg4vs547r8h60lxjk81z8p15"))))
(build-system gnu-build-system)
(native-inputs
`(("exo" ,exo)
--
2.21.0
From 8b4354bd30dc44c47509f0bc0da9fe95e6b4db8d Mon Sep 17 00:00:00 2001
From: Lprndn <lprndn@gmail.com>
Date: Tue, 16 Apr 2019 13:50:58 +0200
Subject: [PATCH 05/10] gnu: lightdm-gtk-greeter: Fix at-spi runtime
dependency.
* gnu/packages/display-manager.scm (lightdm): Fix at-spi runtime dependency.
[inputs]: Add at-spi2-core.
[arguments]: Add '--enable-at-spi-command' configure flag.
---
gnu/packages/display-managers.scm | 7 +++++++
1 file changed, 7 insertions(+)
Toggle diff (21 lines)
diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm
index be365df6a2..352ad19efa 100644
--- a/gnu/packages/display-managers.scm
+++ b/gnu/packages/display-managers.scm
@@ -293,7 +293,14 @@ display manager which supports different greeters.")
("pkg-config" ,pkg-config)))
(inputs
`(("lightdm" ,lightdm)
+ ("at-spi2-core" ,at-spi2-core)
("gtk+" ,gtk+)))
+ (arguments
+ `(#:configure-flags
+ (list "--localstatedir=/var"
+ (string-append "--enable-at-spi-command="
+ (assoc-ref %build-inputs "at-spi2-core")
+ "/libexec/at-spi-bus-launcher"))))
(synopsis "GTK+ greeter for LightDM")
(home-page "https://launchpad.net/lightdm-gtk-greeter")
(description "This package provides a LightDM greeter implementation using
--
2.21.0
From ef95fd1a611d24cb5a2f77f758a0495ab231a444 Mon Sep 17 00:00:00 2001
From: Lprndn <lprndn@gmail.com>
Date: Tue, 16 Apr 2019 13:58:26 +0200
Subject: [PATCH 06/10] gnu: lightdm-gtk-greeter: Fix .desktop file.
* gnu/packages/display-managers.scm (lightdm-gtk-greeter): Fix .desktop file
path.
[arguments]: Add fix-.desktop-path phase.
---
gnu/packages/display-managers.scm | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
Toggle diff (25 lines)
diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm
index 352ad19efa..4d22d28f02 100644
--- a/gnu/packages/display-managers.scm
+++ b/gnu/packages/display-managers.scm
@@ -300,7 +300,17 @@ display manager which supports different greeters.")
(list "--localstatedir=/var"
(string-append "--enable-at-spi-command="
(assoc-ref %build-inputs "at-spi2-core")
- "/libexec/at-spi-bus-launcher"))))
+ "/libexec/at-spi-bus-launcher"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'fix-.desktop-path
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (substitute* (string-append
+ out "/share/xgreeters/lightdm-gtk-greeter.desktop")
+ (("Exec=lightdm-gtk-greeter")
+ (string-append "Exec=" out "/sbin/lightdm-gtk-greeter")))
+ #t))))))
(synopsis "GTK+ greeter for LightDM")
(home-page "https://launchpad.net/lightdm-gtk-greeter")
(description "This package provides a LightDM greeter implementation using
--
2.21.0
From 8ed5177d5a188f8722e4cfdede4967b3e73968f8 Mon Sep 17 00:00:00 2001
From: Lprndn <lprndn@gmail.com>
Date: Tue, 16 Apr 2019 14:17:18 +0200
Subject: [PATCH 07/10] gnu: lightdm-gtk-greeter: Wrap binary.
* gnu/package/display-managers.scm (lightdm-gtk-greeter): Wrap binary.
[inputs]: Add hicolor-icon-theme.
[arguments]: Add wrap-program phase.
---
gnu/packages/display-managers.scm | 23 ++++++++++++++++++++++-
1 file changed, 22 insertions(+), 1 deletion(-)
Toggle diff (43 lines)
diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm
index 4d22d28f02..de2b45d4d6 100644
--- a/gnu/packages/display-managers.scm
+++ b/gnu/packages/display-managers.scm
@@ -294,6 +294,7 @@ display manager which supports different greeters.")
(inputs
`(("lightdm" ,lightdm)
("at-spi2-core" ,at-spi2-core)
+ ("hicolor-icon-theme" ,hicolor-icon-theme)
("gtk+" ,gtk+)))
(arguments
`(#:configure-flags
@@ -310,7 +311,27 @@ display manager which supports different greeters.")
out "/share/xgreeters/lightdm-gtk-greeter.desktop")
(("Exec=lightdm-gtk-greeter")
(string-append "Exec=" out "/sbin/lightdm-gtk-greeter")))
- #t))))))
+ #t)))
+ (add-after 'fix-.desktop-path 'wrap-program
+ (lambda* (#:key outputs inputs #:allow-other-keys)
+ (wrap-program (string-append (assoc-ref outputs "out")
+ "/sbin/lightdm-gtk-greeter")
+ `("XDG_DATA_DIRS" ":" prefix (,(string-append (assoc-ref inputs "hicolor-icon-theme")
+ "/share")
+ ,(string-append (assoc-ref inputs "glib")
+ "/share")
+ ,(string-append (assoc-ref inputs "shared-mime-info")
+ "/share")
+ ,(string-append (assoc-ref inputs "gtk+")
+ "/share")
+ ,(string-append (assoc-ref inputs "exo")
+ "/share")
+ ,(string-append (assoc-ref outputs "out")
+ "/share")
+ "/run/current-system/profile/share"))
+ `("GTK_PATH" ":" prefix (,(assoc-ref inputs "gtk+")))
+ `("GIO_EXTRA_MODULES" ":" prefix (,(assoc-ref inputs "gtk+"))))
+ #t)))))
(synopsis "GTK+ greeter for LightDM")
(home-page "https://launchpad.net/lightdm-gtk-greeter")
(description "This package provides a LightDM greeter implementation using
--
2.21.0
From 56c962ccc54f3c7f83ea288c9ac26524af19b5a0 Mon Sep 17 00:00:00 2001
From: Lprndn <lprndn@gmail.com>
Date: Tue, 16 Apr 2019 19:46:44 +0200
Subject: [PATCH 08/10] gnu: lightdm: Build accountsservice files.
* gnu/packages/display-managers.scm (lightdm)[native-inputs]: Add accountsservice.
---
gnu/packages/display-managers.scm | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
Toggle diff (16 lines)
diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm
index de2b45d4d6..a829e74604 100644
--- a/gnu/packages/display-managers.scm
+++ b/gnu/packages/display-managers.scm
@@ -253,7 +253,8 @@ create smooth, animated user interfaces.")
("libgcrypt" ,libgcrypt)
("libxcb" ,libxcb)))
(native-inputs
- `(("gobject-introspection" ,gobject-introspection)
+ `(("accountsservice" ,accountsservice)
+ ("gobject-introspection" ,gobject-introspection)
("pkg-config" ,pkg-config)
("itstool" ,itstool)
("intltool" ,intltool)
--
2.21.0
From 0d2fa80019cd9d95a0008576fc768fac8ac49c6c Mon Sep 17 00:00:00 2001
From: Lprndn <lprndn@gmail.com>
Date: Wed, 17 Apr 2019 12:44:07 +0200
Subject: [PATCH 09/10] gnu: lightdm-gtk-greeter: Fix some warnings.
* gnu/packages/display-managers.scm (lightdm-gtk-greeter): Fix some warnings.
[arguments]: Add '--disable-indicator-services-command' configure flags.
---
gnu/packages/display-managers.scm | 1 +
1 file changed, 1 insertion(+)
Toggle diff (14 lines)
diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm
index a829e74604..67d6d9e5c6 100644
--- a/gnu/packages/display-managers.scm
+++ b/gnu/packages/display-managers.scm
@@ -300,6 +300,7 @@ display manager which supports different greeters.")
(arguments
`(#:configure-flags
(list "--localstatedir=/var"
+ "--disable-indicator-services-command"
(string-append "--enable-at-spi-command="
(assoc-ref %build-inputs "at-spi2-core")
"/libexec/at-spi-bus-launcher"))
--
2.21.0