From: tumashu@163.com
To: 75043@debbugs.gnu.org
Cc: Feng Shu <tumashu@163.com>, Feng Shu <tumashu@163.com>
Subject: [bug#75043] [PATCH v3] gnu: Add slick-greeter.
Date: Wed, 25 Dec 2024 10:58:11 +0800 [thread overview]
Message-ID: <20241225025814.13255-1-tumashu@163.com> (raw)
In-Reply-To: <87ldw6vj2v.fsf@163.com>
From: Feng Shu <tumashu@163.com>
* gnu/packages/display-managers.scm (slick-greeter): New variable.
Change-Id: I9f117bd91bfe9edbd0619f434ad46399e3c59b99
---
gnu/packages/display-managers.scm | 106 ++++++++++++++++++++++++++++++
1 file changed, 106 insertions(+)
diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm
index df5fc0a857..4bb90a210b 100644
--- a/gnu/packages/display-managers.scm
+++ b/gnu/packages/display-managers.scm
@@ -39,6 +39,7 @@ (define-module (gnu packages display-managers)
#:use-module (guix build-system qt)
#:use-module (guix build-system gnu)
#:use-module (guix build-system glib-or-gtk)
+ #:use-module (guix build-system meson)
#:use-module (guix build-system trivial)
#:use-module (guix packages)
#:use-module (guix utils)
@@ -48,9 +49,11 @@ (define-module (gnu packages display-managers)
#:use-module (gnu packages admin)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
+ #:use-module (gnu packages cinnamon)
#:use-module (gnu packages crypto)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
+ #:use-module (gnu packages gettext)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
@@ -59,6 +62,7 @@ (define-module (gnu packages display-managers)
#:use-module (gnu packages guile)
#:use-module (gnu packages image)
#:use-module (gnu packages kde-frameworks)
+ #:use-module (gnu packages libcanberra)
#:use-module (gnu packages linux)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
@@ -461,6 +465,108 @@ (define make-flags*
display manager which supports different greeters.")
(license license:gpl3+)))
+(define-public slick-greeter
+ (package
+ (name "slick-greeter")
+ (version "2.0.8")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/linuxmint/slick-greeter")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0pk8d8mpnrh70xdi9mfn1h5xkrf09v06vbi1p1wzqdskzfh3ci1n"))))
+ (build-system meson-build-system)
+ (arguments
+ (list
+ #:glib-or-gtk? #t
+ #:configure-flags
+ #~(list
+ ;; Put the binary under /bin rather than /sbin, so that it gets
+ ;; wrapped by the glib-or-gtk-wrap phase.
+ (string-append "--sbindir=" #$output "/bin"))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-hardcoded-paths
+ (lambda _
+ (substitute* '("src/slick-greeter.vala"
+ "src/session-list.vala")
+ (("/usr/bin/slick-greeter-")
+ (string-append #$output "/bin/slick-greeter-"))
+ (("/usr/share/slick-greeter/badges/")
+ (string-append #$output "/share/slick-greeter/badges/"))
+ (("/usr/share/xsessions/")
+ "/run/current-system/profile/share/xsessions/")
+ (("/usr/share/wayland-sessions/")
+ "/run/current-system/profile/share/wayland-sessions/"))))
+ (add-after 'glib-or-gtk-wrap 'custom-wrap
+ (lambda* (#:key outputs #:allow-other-keys)
+ (wrap-script (search-input-file
+ outputs "bin/slick-greeter")
+ ;; Wrap GDK_PIXBUF_MODULE_FILE, so that the SVG loader is
+ ;; available at all times even outside of profiles, such as
+ ;; when used in the lightdm-service-type. Otherwise, it
+ ;; wouldn't be able to display its own icons.
+ `("GDK_PIXBUF_MODULE_FILE" =
+ (,(search-input-file
+ outputs
+ "lib/gdk-pixbuf-2.0/2.10.0/loaders.cache")))
+ `("XDG_DATA_DIRS" ":" prefix
+ (,(string-append "/run/current-system/profile/share:"
+ (getenv "XDG_DATA_DIRS"))))
+ '("XCURSOR_PATH" ":" prefix
+ ("/run/current-system/profile/share/icons")))))
+ (add-after 'install 'wrap-program
+ (lambda* (#:key outputs #:allow-other-keys)
+ (for-each (lambda (prog)
+ (wrap-program (string-append #$output "/bin/" prog)
+ `("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH")))
+ `("GI_TYPELIB_PATH" ":" prefix (,(getenv "GI_TYPELIB_PATH")))))
+ '("slick-greeter-check-hidpi"
+ "slick-greeter-set-keyboard-layout"
+ "slick-greeter-enable-tap-to-click"))))
+ (add-after 'install 'fix-.desktop-file
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* (search-input-file
+ outputs
+ "share/xgreeters/slick-greeter.desktop")
+ (("Exec=slick-greeter")
+ (string-append "Exec="
+ (search-input-file
+ outputs "bin/slick-greeter")))))))))
+ (native-inputs
+ (list gettext-minimal
+ gnome-common
+ (list glib "bin")
+ pkg-config
+ vala))
+ (inputs
+ (list at-spi2-core
+ bash-minimal ;for wrap-program
+ dbus
+ dbus-glib
+ gtk+
+ guile-3.0
+ libcanberra
+ libgnomekbd
+ libxapp
+ libxkbfile
+ lightdm
+ pixman
+ python-wrapper
+ python-pygobject
+ shared-mime-info
+ xvfb-run))
+ (synopsis "A slick-looking LightDM greeter")
+ (home-page "https://github.com/linuxmint/slick-greeter")
+ (description "Slick-Greeter is a fork of Unity Greeter 16.04.2, it is
+cross-distribution and work pretty much anywhere, it supports HiDPI, If a
+default/chosen session isn't present on the system, it will scans for known
+sessions dirs and replaces the invalid session choice with a valid session.")
+ (license license:gpl3)))
+
(define-public lightdm-gtk-greeter
(package
(name "lightdm-gtk-greeter")
--
2.45.2
next parent reply other threads:[~2024-12-25 2:59 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <87ldw6vj2v.fsf@163.com>
2024-12-25 2:58 ` tumashu [this message]
2024-12-28 9:41 ` [bug#75043] [PATCH v4] gnu: Add slick-greeter tumashu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20241225025814.13255-1-tumashu@163.com \
--to=tumashu@163.com \
--cc=75043@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.