[PATCH] gnu: Add lightdm-tiny-greeter.

  • Open
  • quality assurance status badge
Details
One participant
  • tumashu
Owner
unassigned
Submitted by
tumashu
Severity
normal
T
T
tumashu wrote 3 days ago
(address . guix-patches@gnu.org)(name . Feng Shu)(address . tumashu@163.com)
20250107051656.96492-1-tumashu@163.com
From: Feng Shu <tumashu@163.com>

* gnu/packages/display-managers.scm (lightdm-tiny-greeter): New variable.
(customize-lightdm-tiny-greeter): New variable.
(gnu): Export customize-lightdm-tiny-greeter.

Change-Id: I4c6d9df0fcc33179692c016bea5a45eaae3b029b
---
gnu/packages/display-managers.scm | 69 ++++++++++++++++++++++++++++++-
1 file changed, 68 insertions(+), 1 deletion(-)

Toggle diff (89 lines)
diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm
index cddd3f494f..a7578f0a8b 100644
--- a/gnu/packages/display-managers.scm
+++ b/gnu/packages/display-managers.scm
@@ -65,7 +65,8 @@ (define-module (gnu packages display-managers)
#:use-module (gnu packages qt)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xfce)
- #:use-module (gnu packages xorg))
+ #:use-module (gnu packages xorg)
+ #:export (customize-lightdm-tiny-greeter))
(define-public sddm
(package
@@ -592,6 +593,72 @@ (define-public lightdm-mini-greeter
Display Manager and LightDM GTK3 Greeter.")
(license license:gpl3))))
+(define-public lightdm-tiny-greeter
+ (let ((commit "6717c5853315ebd8164b1ddf85b9483f92cbcae8")
+ (revision "0"))
+ (package
+ (name "lightdm-tiny-greeter")
+ ;; Version 1.2 release in 2021, so we use a recent commit.
+ (version (git-version "1.2" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tobiohlala/lightdm-tiny-greeter")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1n970d6525fd918i1j09akxiacqbpxni8apkfi542bq5zg5crjbs"))))
+ (build-system glib-or-gtk-build-system)
+ (arguments
+ (list
+ #:tests? #f ; No test target.
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure)
+ (add-after 'unpack 'patch-hardcoded-paths
+ (lambda _
+ (substitute* "Makefile"
+ (("PREFIX = /usr")
+ (string-append "PREFIX = " #$output))
+ (("/usr/share/xgreeters")
+ (string-append #$output "/share/xgreeters"))
+ (("cp lightdm-tiny-greeter")
+ "mkdir -p $(PREFIX)/bin; cp lightdm-tiny-greeter"))))
+ (add-after 'install 'fix-.desktop-file
+ (lambda _
+ (substitute* (string-append
+ #$output "/share/xgreeters/lightdm-tiny-greeter.desktop")
+ (("Exec=lightdm-tiny-greeter")
+ (string-append "Exec="
+ (string-append
+ #$output "/bin/lightdm-tiny-greeter")))))))))
+ (native-inputs
+ (list autoconf automake pkg-config))
+ (inputs
+ (list gtk+ lightdm))
+ (synopsis "Tiny Greeter for LightDM")
+ (home-page "https://github.com/prikhi/lightdm-tiny-greeter")
+ (description "A tiny yet customizable GTK3 LightDM Greeter with focus on code and
+minimalism.")
+ (license license:bsd-3))))
+
+(define* (customize-lightdm-tiny-greeter #:key (session "default"))
+ "Make a customized lightdm-tiny-greeter package with SESSION."
+ (package
+ (inherit lightdm-tiny-greeter)
+ (name (string-append (package-name lightdm-tiny-greeter) "-" session))
+ (arguments
+ (substitute-keyword-arguments
+ (package-arguments lightdm-tiny-greeter)
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ (add-after 'unpack 'patch-config-h
+ (lambda _
+ (substitute* "config.h"
+ (("\\*session = \"default\";")
+ (string-append "*session = \"" #$session "\";")))))))))))
+
(define-public slim
(package
(name "slim")
--
2.45.2
T
T
tumashu wrote 37 hours ago
[PATCH v2] gnu: Add lightdm-tiny-greeter.
(address . 75417@debbugs.gnu.org)(name . Feng Shu)(address . tumashu@163.com)
20250108131807.15759-1-tumashu@163.com
From: Feng Shu <tumashu@163.com>

* gnu/packages/display-managers.scm (lightdm-tiny-greeter): New variable.
(customize-lightdm-tiny-greeter): New variable.
(gnu): Export customize-lightdm-tiny-greeter.

Change-Id: I4c6d9df0fcc33179692c016bea5a45eaae3b029b
Signed-off-by: Feng Shu <tumashu@163.com>
---
gnu/packages/display-managers.scm | 109 +++++++++++++++++++++++++++++-
1 file changed, 108 insertions(+), 1 deletion(-)

Toggle diff (129 lines)
diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm
index cddd3f494f..b43f4ece28 100644
--- a/gnu/packages/display-managers.scm
+++ b/gnu/packages/display-managers.scm
@@ -65,7 +65,8 @@ (define-module (gnu packages display-managers)
#:use-module (gnu packages qt)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xfce)
- #:use-module (gnu packages xorg))
+ #:use-module (gnu packages xorg)
+ #:export (customize-lightdm-tiny-greeter))
(define-public sddm
(package
@@ -592,6 +593,112 @@ (define-public lightdm-mini-greeter
Display Manager and LightDM GTK3 Greeter.")
(license license:gpl3))))
+(define-public lightdm-tiny-greeter
+ (let ((commit "6717c5853315ebd8164b1ddf85b9483f92cbcae8")
+ (revision "0"))
+ (package
+ (name "lightdm-tiny-greeter")
+ ;; Version 1.2 release in 2021, so we use a recent commit.
+ (version (git-version "1.2" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tobiohlala/lightdm-tiny-greeter")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1n970d6525fd918i1j09akxiacqbpxni8apkfi542bq5zg5crjbs"))))
+ (build-system glib-or-gtk-build-system)
+ (arguments
+ (list
+ #:tests? #f ; No test target.
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure)
+ (add-after 'unpack 'patch-hardcoded-paths
+ (lambda _
+ (substitute* "Makefile"
+ (("PREFIX = /usr")
+ (string-append "PREFIX = " #$output))
+ (("/usr/share/xgreeters")
+ (string-append #$output "/share/xgreeters"))
+ (("cp lightdm-tiny-greeter")
+ "mkdir -p $(PREFIX)/bin; cp lightdm-tiny-greeter"))))
+ (add-after 'glib-or-gtk-wrap 'custom-wrap
+ (lambda _
+ (wrap-script (string-append #$output "/bin/lightdm-tiny-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" =
+ (,(string-append
+ #$output
+ "/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 'fix-.desktop-file
+ (lambda _
+ (substitute* (string-append
+ #$output "/share/xgreeters/lightdm-tiny-greeter.desktop")
+ (("Exec=lightdm-tiny-greeter")
+ (string-append "Exec="
+ (string-append
+ #$output "/bin/lightdm-tiny-greeter")))))))))
+ (native-inputs
+ (list autoconf automake pkg-config))
+ (inputs
+ (list gtk+ guile-3.0 lightdm))
+ (synopsis "Tiny Greeter for LightDM")
+ (home-page "https://github.com/tobiohlala/lightdm-tiny-greeter")
+ (description "A tiny yet customizable GTK3 LightDM Greeter
+with focus on code and minimalism.")
+ (license license:bsd-3))))
+
+(define* (customize-lightdm-tiny-greeter #:key name session
+ user_text pass_text
+ fontname fontsize)
+ "Make a customized lightdm-tiny-greeter package which name is NAME.
+
+This function will change SESSION, USER_TEXT, PASS_TEXT, FONTNAME and FONTSIZE
+in config.h of lightdm-tiny-greeter."
+ (package
+ (inherit lightdm-tiny-greeter)
+ (name (or name (string-append
+ (package-name lightdm-tiny-greeter)
+ "-" (or session "default"))))
+ (arguments
+ (substitute-keyword-arguments
+ (package-arguments lightdm-tiny-greeter)
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ (add-after 'unpack 'patch-config-h
+ (lambda _
+ (when #$user_text
+ (substitute* "config.h"
+ (("\\*user_text = .*;")
+ (string-append "*user_text = \"" #$user_text "\";"))))
+ (when #$pass_text
+ (substitute* "config.h"
+ (("\\*pass_text = .*;")
+ (string-append "*pass_text = \"" #$pass_text "\";"))))
+ (when #$session
+ (substitute* "config.h"
+ (("\\*session = .*;")
+ (string-append "*session = \"" #$session "\";"))))
+ (when #$fontname
+ (substitute* "config.h"
+ (("font: .*px .*;")
+ (string-append "font: 16px \\\"" #$fontname "\\\";"))))
+ (when #$fontsize
+ (substitute* "config.h"
+ (("font: .*px")
+ (string-append "font: " #$fontsize "px"))))))))))))
+
(define-public slim
(package
(name "slim")
--
2.47.1
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 75417@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 75417
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch