summary refs log tree commit diff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-05-01 02:20:05 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-05-31 14:53:45 -0400
commit26876b66001a1dc45ee6d05015fddd7f5a88676e (patch)
tree30af337f4ee2163ad2d3848441391ff1251b5b7d
parentfa4800461458e44196d9399b7880a69730933966 (diff)
downloadguix-26876b66001a1dc45ee6d05015fddd7f5a88676e.tar.gz
gnu: lightdm: Update to 1.30.0-0.b7fc321.
* gnu/packages/display-managers.scm (lightdm): Update to 1.30.0-0.b7fc321.
[source]: Use git.
[configure-flags]: Add CFLAGS=-Wno-error=missing-prototypes.
[phases]: Delete trailing #t.
{fix-paths}: Use search-input-file.
[inputs]: Add coreutils.
[native-inputs]: Use new style.  Replace python-2 by python-wrapper and
python2-pygobject by python-pygobject.  Add autoconf, automake, gtk-doc,
libtool, which and yelp-tools.
-rw-r--r--gnu/packages/display-managers.scm143
1 files changed, 81 insertions, 62 deletions
diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm
index 80aad1af5d..d567f7d3fe 100644
--- a/gnu/packages/display-managers.scm
+++ b/gnu/packages/display-managers.scm
@@ -12,6 +12,7 @@
 ;;; Copyright © 2021 Zheng Junjie <873216071@qq.com>
 ;;; Copyright © 2021 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
+;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -41,7 +42,9 @@
   #:use-module (guix utils)
   #:use-module (guix gexp)
   #:use-module (gnu packages)
+  #:use-module (gnu packages autotools)
   #:use-module (gnu packages admin)
+  #:use-module (gnu packages base)
   #:use-module (gnu packages bash)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
@@ -252,70 +255,86 @@ experience for your users, your family and yourself")
     (license license:gpl3+)))
 
 (define-public lightdm
-  (package
-    (name "lightdm")
-    (version "1.30.0")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "https://github.com/CanonicalLtd/lightdm/releases/download/"
-                    version "/lightdm-" version ".tar.xz"))
-              (sha256
-               (base32
-                "158zb2d0v1309a8v19hh32y4yj3v6yg4yg6m0l7v59d3a2b7f651"))))
-    (build-system gnu-build-system)
-    (arguments
-     '(#:parallel-tests? #f ; fails when run in parallel
-       #:configure-flags
-       (list "--localstatedir=/var")
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'fix-paths
-           (lambda _
-             (substitute* "src/shared-data-manager.c"
-               (("/bin/rm") (which "rm")))
-             (substitute* '("data/users.conf"
-                            "common/user-list.c")
-               (("/bin/false") (which "false"))
-               (("/usr/sbin/nologin") (which "nologin")))
-             (substitute* "src/seat.c"
-               (("/bin/sh") (which "sh")))
-             #t))
-         (add-before 'check 'pre-check
-           ;; Run test-suite under a dbus session.
-           (lambda* (#:key inputs #:allow-other-keys)
-             (wrap-program "tests/src/test-python-greeter"
-               `("GUIX_PYTHONPATH"      ":" prefix (,(getenv "GUIX_PYTHONPATH")))
-               `("GI_TYPELIB_PATH" ":" prefix (,(getenv "GI_TYPELIB_PATH"))))
+  ;; Use the latest commit, as the current official release doesn't build with
+  ;; glib >= 2.33.
+  (let ((revision "0")
+        (commit "b7fc3214cbaed09c73e963847443a0d648dfd896"))
+    (package
+      (name "lightdm")
+      (version (git-version "1.30.0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/canonical/lightdm")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "0378jacazpmdgdjkiilk3mbikz3iysb4s9q40hg9zv4yngwsix1m"))))
+      (build-system gnu-build-system)
+      (arguments
+       '(#:parallel-tests? #f           ; fails when run in parallel
+         #:configure-flags
+         (list "--localstatedir=/var"
+               ;; Otherwise the test suite fails on such a warning.
+               "CFLAGS=-Wno-error=missing-prototypes")
+         #:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'fix-paths
+             (lambda* (#:key inputs #:allow-other-keys)
+               (substitute* "src/shared-data-manager.c"
+                 (("/bin/rm")
+                  (search-input-file inputs "bin/rm")))
+               (substitute* '("data/users.conf"
+                              "common/user-list.c")
+                 (("/bin/false")
+                  (search-input-file inputs "bin/false"))
+                 (("/usr/sbin/nologin")
+                  (search-input-file inputs "sbin/nologin")))
+               (substitute* "src/seat.c"
+                 (("/bin/sh")
+                  (search-input-file inputs "bin/sh")))))
+           (add-before 'check 'pre-check
+             ;; Run test-suite under a dbus session.
+             (lambda _
+               (wrap-program "tests/src/test-python-greeter"
+                 `("GUIX_PYTHONPATH"      ":" prefix (,(getenv "GUIX_PYTHONPATH")))
+                 `("GI_TYPELIB_PATH" ":" prefix (,(getenv "GI_TYPELIB_PATH"))))
 
-             ;; Avoid printing locale warnings, which trip up the text
-             ;; matching tests.
-             (unsetenv "LC_ALL")
-             #t)))))
-    (inputs
-     (list audit
-           linux-pam
-           shadow ;for sbin/nologin
-           libgcrypt
-           libxcb))
-    (native-inputs
-     `(("gobject-introspection" ,gobject-introspection)
-       ("pkg-config" ,pkg-config)
-       ("itstool" ,itstool)
-       ("intltool" ,intltool)
-       ("vala" ,vala)                   ;for Vala bindings
-       ;; For tests
-       ("dbus" ,dbus)
-       ("python" ,python-2)
-       ("python-pygobject" ,python2-pygobject)))
-    ;; Required by liblightdm-gobject-1.pc.
-    (propagated-inputs
-     (list glib libx11 libxklavier))
-    (home-page "https://www.freedesktop.org/wiki/Software/LightDM/")
-    (synopsis "Lightweight display manager")
-    (description "The Light Display Manager (LightDM) is a cross-desktop
+               ;; Avoid printing locale warnings, which trip up the text
+               ;; matching tests.
+               (unsetenv "LC_ALL"))))))
+      (inputs
+       (list audit
+             coreutils                  ;for cross-compilation
+             linux-pam
+             shadow                     ;for sbin/nologin
+             libgcrypt
+             libxcb))
+      (native-inputs
+       (list autoconf
+             automake
+             gobject-introspection
+             gtk-doc
+             pkg-config
+             itstool
+             intltool
+             libtool
+             vala                       ;for Vala bindings
+             ;; For tests
+             dbus
+             ;; python-wrapper
+             ;; python-pygobject
+             which
+             yelp-tools))
+      ;; Required by liblightdm-gobject-1.pc.
+      (propagated-inputs
+       (list glib libx11 libxklavier))
+      (home-page "https://www.freedesktop.org/wiki/Software/LightDM/")
+      (synopsis "Lightweight display manager")
+      (description "The Light Display Manager (LightDM) is a cross-desktop
 display manager which supports different greeters.")
-    (license license:gpl3+)))
+      (license license:gpl3+))))
 
 (define-public lightdm-gtk-greeter
   (package