Archived
1
0
Fork 0

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.
This commit is contained in:
Maxim Cournoyer 2022-05-01 02:20:05 -04:00
parent fa48004614
commit 26876b6600
No known key found for this signature in database
GPG key ID: 1260E46482E63562

View file

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