Package: guix-patches;
Reported by: muradm <mail <at> muradm.net>
Date: Mon, 9 Aug 2021 19:04:01 UTC
Severity: normal
Tags: patch
Done: Lars-Dominik Braun <lars <at> 6xq.net>
Bug is archived. No further changes may be made.
Message #86 received at 49969 <at> debbugs.gnu.org (full text, mbox):
From: muradm <mail <at> muradm.net> To: Xinglu Chen <public <at> yoctocell.xyz> Cc: 49969 <at> debbugs.gnu.org Subject: Re: [bug#49969] [PATCH v2 3/7] gnu: freedesktop: Add greetd 0.7.0 Date: Thu, 12 Aug 2021 22:51:55 +0300
Xinglu Chen <public <at> yoctocell.xyz> writes: > On Wed, Aug 11 2021, muradm wrote: > >> Xinglu Chen <public <at> yoctocell.xyz> writes: >> >>> On Tue, Aug 10 2021, muradm wrote: >>> >>>> * gnu/packages/freedesktop.scm (greetd): Add greetd 0.7.0 >>>> --- >>>> gnu/packages/freedesktop.scm | 80 >>>> ++++++++++++++++++++++++++++++++++++ >>>> 1 file changed, 80 insertions(+) >>>> >>>> diff --git a/gnu/packages/freedesktop.scm >>>> b/gnu/packages/freedesktop.scm >>>> index 693a79c738..631d36e765 100644 >>>> --- a/gnu/packages/freedesktop.scm >>>> +++ b/gnu/packages/freedesktop.scm >>>> @@ -24,6 +24,7 @@ >>>> ;;; Copyright © 2020 Raghav Gururajan >>>> <raghavgururajan <at> disroot.org> >>>> ;;; Copyright © 2021 Brendan Tildesley <mail <at> brendan.scot> >>>> ;;; Copyright © 2021 pineapples >>>> <guixuser6392 <at> protonmail.com> >>>> +;;; Copyright © 2021 muradm <mail <at> muradm.net> >>>> ;;; >>>> ;;; This file is part of GNU Guix. >>>> ;;; >>>> @@ -46,6 +47,7 @@ >>>> #:use-module (guix packages) >>>> #:use-module (guix download) >>>> #:use-module (guix git-download) >>>> + #:use-module (guix build-system cargo) >>>> #:use-module (guix build-system cmake) >>>> #:use-module (guix build-system gnu) >>>> #:use-module (guix build-system meson) >>>> @@ -62,6 +64,7 @@ >>>> #:use-module (gnu packages check) >>>> #:use-module (gnu packages cmake) >>>> #:use-module (gnu packages compression) >>>> + #:use-module (gnu packages crates-io) >>>> #:use-module (gnu packages cryptsetup) >>>> #:use-module (gnu packages databases) >>>> #:use-module (gnu packages disk) >>>> @@ -862,6 +865,83 @@ that require it. It also provides a >>>> universal seat management library that >>>> allows applications to use whatever seat management is >>>> available.") >>>> (license license:expat))) >>>> >>>> +(define-public greetd >>>> + (package >>>> + (name "greetd") >>>> + (version "0.7.0") >>>> + (home-page "https://git.sr.ht/~kennylevinsen/greetd") >>>> + (source (origin >>>> + (method git-fetch) >>>> + (uri (git-reference >>>> + (url home-page) >>>> + (commit version))) >>>> + (file-name (git-file-name name version)) >>>> + (sha256 >>>> + (base32 >>>> "0lmwr5ld9x2wlq00i7mjgm9by8zndiq9girj8g93k0kww9zbgr3g")))) >>>> + (build-system cargo-build-system) >>>> + (arguments >>>> + `(#:cargo-inputs >>>> + (("rust-nix" ,rust-nix-0.17) >>>> + ("rust-pam-sys" ,rust-pam-sys-0.5.6) >>>> + ("rust-rpassword" ,rust-rpassword-4) >>>> + ("rust-users" ,rust-users-0.9) >>>> + ("rust-serde" ,rust-serde-1) >>>> + ("rust-serde-json" ,rust-serde-json-1) >>>> + ("rust-libc" ,rust-libc-0.2) >>>> + ("rust-tokio" ,rust-tokio-0.2) >>>> + ("rust-getopts" ,rust-getopts-0.2) >>>> + ("rust-thiserror" ,rust-thiserror-1) >>>> + ("rust-async-trait" ,rust-async-trait-0.1) >>>> + ("rust-enquote" ,rust-enquote-1)) >>>> + #:phases >>>> + (modify-phases %standard-phases >>>> + ;; once https://todo.sr.ht/~kennylevinsen/greetd/25 >>>> + ;; is solved, below patch can be removed >>>> + (add-after 'unpack 'patch-terminal-switch >>>> + (lambda* (#:key inputs #:allow-other-keys) >>>> + (substitute* "greetd/src/server.rs" >>>> + (("switch: true,") >>>> + "switch: false,")))) >>>> + (delete 'package) >>>> + (replace 'install >>>> + (lambda* (#:key inputs outputs >>>> #:allow-other-keys) >>>> + (let* ((out (assoc-ref outputs "out")) >>>> + (bin (string-append out "/bin")) >>>> + (sbin (string-append out "/sbin")) >>>> + (share (string-append out "/share")) >>>> + (man (string-append share "/man")) >>>> + (man1 (string-append man "/man1")) >>>> + (man5 (string-append man "/man5")) >>>> + (man7 (string-append man "/man7")) >>>> + (release "target/release") >>>> + (greetd-bin (string-append release >>>> "/greetd")) >>>> + (agreety-bin (string-append release >>>> "/agreety"))) >>>> + (install-file greetd-bin sbin) >>>> + (install-file agreety-bin bin) >>>> + (mkdir-p man1) >>>> + (mkdir-p man5) >>>> + (mkdir-p man7) >>> >>> No need to ‘mkdir-p’ if you will call ‘install-file’ on the >>> directory. >>> >> >> Didn't work for me, without it I get: >> In procedure copy-file: No such file or directory > > Hmm, weird, the docs for ‘install-file’ says > > -- Scheme Procedure: install-file FILE DIRECTORY > Create DIRECTORY if it does not exist and copy FILE in > there under > the same name. > Yeah, you are right, there was wrong excursions when i tested, now works as expected, i think i just forgot to delete this comment, thanks. >>>> + (with-directory-excursion "man" >>>> + (system "scdoc < greetd-1.scd > greetd.1") >>>> + (system "scdoc < greetd-5.scd > greetd.5") >>>> + (system "scdoc < greetd-ipc-7.scd > >>>> greetd-ipc.7") >>>> + (system "scdoc < agreety-1.scd > >>>> agreety.1")) >>>> + (install-file "man/greetd.1" man1) >>>> + (install-file "man/greetd.5" man5) >>>> + (install-file "man/greetd-ipc.7" man7) >>>> + (install-file "man/agreety.1" man1) >>> >>> Why not put these four lines inside the >>> (with-directory-excursion "man" >>> …) form, and remove the "man" prefix? >>> >> >> Refactored, scdoc moved to 'build-man-pages after 'build, >> install >> minimized >> >> (add-after 'build 'build-man-pages >> (lambda* (#:key inputs #:allow-other-keys) >> (define (scdoc-cmd doc lvl) >> (system (string-append "scdoc < " >> doc "-" lvl ".scd > " >> doc "." lvl))) >> (with-directory-excursion "man" >> (scdoc-cmd "greetd" "1") >> (scdoc-cmd "greetd" "5") >> (scdoc-cmd "greetd-ipc" "7") >> (scdoc-cmd "agreety" "1")))) >> (replace 'install >> (lambda* (#:key inputs outputs #:allow-other-keys) >> (let* ((out (assoc-ref outputs "out")) >> (bin (string-append out "/bin")) >> (sbin (string-append out "/sbin")) >> (share (string-append out "/share")) >> (man (string-append share "/man")) >> (man1 (string-append man "/man1")) >> (man5 (string-append man "/man5")) >> (man7 (string-append man "/man7")) >> (release "target/release") >> (greetd-bin (string-append release >> "/greetd")) >> (agreety-bin (string-append release >> "/agreety"))) >> (install-file greetd-bin sbin) >> (install-file agreety-bin bin) >> (with-directory-excursion "man" >> (install-file "greetd.1" man1) >> (install-file "greetd.5" man5) >> (install-file "greetd-ipc.7" man7) >> (install-file "agreety.1" man1)))))))) >> >> Noted for next update, thanks > > The phases LGTM! > >>>> + (description >>>> + "greetd is a minimal and flexible login manager daemon >>>> +that makes no assumptions about what you want to launch.") >>> >>> “what you want to launch” sounds a bit vague, is it referring >>> to >>> desktop >>> environment, window manager, or something else? >> >> As description says anything, it is from official >> documentation. >> Launches any thing, >> could be DE, WM, Emacs, top etc. literally any thing :) > > Ah, OK, then maybe “what program” instead of just “what”? > Someone might > try to launch a missile with it ;-) /gnu/store/....-missiles-1.01/bin/launch why not? :D in next update, i will try to put some more sentences from greetd description, it might be more useful may be.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.