screen-lockers: i3lock-color and i3lock-fancy

DoneSubmitted by ng0.
Details
5 participants
  • Chris Marusich
  • Ludovic Courtès
  • ng0
  • ng0
  • ng0
Owner
unassigned
Severity
normal
N
(name . guix-patches)(address . guix-patches@gnu.org)
E1dEDUZ-0006gP-3L@rmmprod05.runbox
I have no idea about the error of i3lock-fancy (password is not accepted).An commented phase in i3lock-color is still included where I tried to fix this, but I don't know much about PAM at this point.
Finishing touches welcome!
C
C
Chris Marusich wrote on 17 Nov 2017 10:55
(address . ng0@pragmatique.xyz)(address . 27083@debbugs.gnu.org)
871skx9ql3.fsf@gmail.com
<ng0@pragmatique.xyz> writes:
Toggle quote (4 lines)> I have no idea about the error of i3lock-fancy (password is not> accepted). An commented phase in i3lock-color is still included where> I tried to fix this, but I don't know much about PAM at this point.
When I checked using "guix system vm", the reason i3lock refused toaccept the password was because it could not read /etc/shadow. Onesolution to this problem is to do both of the following:
1) Do not wrap i3lock in a wrapper script.
2) Install the i3lock executable as setuid-root.
When installing i3lock as a setuid-root program, it is important not towrap it in a script. It is common in UNIX-like systems to ignore thesetuid bit when the program is an interpreted script instead of anexecutable (a simple Internet search for a phrase like "setuid bashscript" will provide lots of supporting information about this). If youdo (2) without also removing the wrapping logic that you put into thepackage definition, you will find that i3lock still rejects yourpassword - this is because it still can't read /etc/shadow.
The attached patch is a revised version of your first patch to addi3lock-color. I have basically just removed the wrapping phase. Toinstall it setuid-root along with an appropriate PAM configuration file,just add a screen-locker service like the following to your services inyour operating system declaration:
(screen-locker-service i3lock-color "i3lock")
Note that this will create an appropriate PAM configuration file at/etc/pam.d/i3lock, so you don't need to bother messing around with thePAM configuration file that comes with i3lock-color.
I haven't looked at the fancy version yet. I'll check it out when I geta little more time.
Toggle quote (3 lines)> + %D%/packages/patches/hypre-doc-tables.patch \> + %D%/packages/patches/hypre-ldflags.patch \
Did you intend to include these in the patch? They aren't used, so I'veremoved them in my version of the patch.
Toggle quote (32 lines)> +---> + Makefile | 7 +------> + 1 file changed, 1 insertion(+), 6 deletions(-)> +> +diff --git a/Makefile b/Makefile> +index c0fe888..b4b6cd9 100644> +--- a/Makefile> ++++ b/Makefile> +@@ -6,11 +6,6 @@ SYSCONFDIR=/etc> + PKG_CONFIG=pkg-config> + MANDIR=/usr/share/man> + > +-# Check if pkg-config is installed, we need it for building CFLAGS/LIBS> +-ifeq ($(shell which $(PKG_CONFIG) 2>/dev/null 1>/dev/null || echo 1),1)> +-$(error "$(PKG_CONFIG) was not found")> +-endif> +-> + CFLAGS += -std=c99> + CFLAGS += -pipe> + CFLAGS += -Wall> +@@ -18,7 +13,7 @@ CFLAGS += -O2> + SIMD_CFLAGS += -funroll-loops> + SIMD_CFLAGS += -msse2> + CPPFLAGS += -D_GNU_SOURCE> +-CPPFLAGS += -DXKBCOMPOSE=$(shell if test -e /usr/include/xkbcommon/xkbcommon-compose.h ; then echo 1 ; else echo 0 ; fi )> ++CPPFLAGS += -DXKBCOMPOSE=1> + CFLAGS += $(shell $(PKG_CONFIG) --cflags cairo xcb-composite xcb-xinerama xcb-atom xcb-image xcb-xkb xkbcommon xkbcommon-x11)> + LIBS += $(shell $(PKG_CONFIG) --libs cairo xcb-composite xcb-xinerama xcb-atom xcb-image xcb-xkb xkbcommon xkbcommon-x11)> + LIBS += -lpam> +-- > +2.13.0
FYI, it looks like maybe we could probably remove this patch fileentirely, and just use substitute* to modify the Makefile, if weprovided the "which" program as an input. Specifically, if the whichprogram were present, then probably the check you removed wouldsucceed. I haven't tried it myself, though.
Toggle quote (3 lines)> -;;; Copyright (c) 2016, 2017 ng0 <contact.ng0@cryptolab.net>> +;;; Copyright (c) 2016, 2017 ng0 <ng0@no-reply.pragmatique.xyz>
FYI, the contact.ng0@cryptolab.net email address is still mentioned inmultiple other files, too.
Toggle quote (10 lines)> + (description> + "I3lock-color is a screen locker. It is a re-patched version of> +i3lock, which is a simple screen locker like slock. Features include:> +> +@enumerate> +@item forking process, the locked screen is preserved when you suspend from RAM> +@item specify background color or PNG image to be displayed in the lock screen> +@item many additional color options> +@end enumerate\n")
I'm not sure if the trailing newline is necessary. Unless you beat meto it, I'll check on this detail the next time I return to this thread.
-- Chris
From 53edb9d43966ec9fbea8292608875d0c894adaea Mon Sep 17 00:00:00 2001From: ng0 <ng0@no-reply.pragmatique.xyz>Date: Fri, 17 Nov 2017 01:38:14 -0800Subject: [PATCH] gnu: Add i3lock-color.
* gnu/local.mk (dist_patch_DATA): Add i3lock-color-fix-makefile.patch.* gnu/packages/patches/i3lock-color-fix-makefile.patch: New file.* gnu/packages/wm.scm: Add i3lock-color.
Signed-off-by: Chris Marusich <cmmarusich@gmail.com>--- gnu/local.mk | 1 + .../patches/i3lock-color-fix-makefile.patch | 38 +++++++++++++ gnu/packages/wm.scm | 66 ++++++++++++++++++++++ 3 files changed, 105 insertions(+) create mode 100644 gnu/packages/patches/i3lock-color-fix-makefile.patch
Toggle diff (142 lines)diff --git a/gnu/local.mk b/gnu/local.mkindex 61bebe662..575d88506 100644--- a/gnu/local.mk+++ b/gnu/local.mk@@ -738,6 +738,7 @@ dist_patch_DATA = \ %D%/packages/patches/hubbub-sort-entities.patch \ %D%/packages/patches/hurd-fix-eth-multiplexer-dependency.patch \ %D%/packages/patches/hydra-disable-darcs-test.patch \+ %D%/packages/patches/i3lock-color-fix-makefile.patch \ %D%/packages/patches/icecat-avoid-bundled-libraries.patch \ %D%/packages/patches/icu4c-CVE-2017-7867-CVE-2017-7868.patch \ %D%/packages/patches/icu4c-CVE-2017-14952.patch \diff --git a/gnu/packages/patches/i3lock-color-fix-makefile.patch b/gnu/packages/patches/i3lock-color-fix-makefile.patchnew file mode 100644index 000000000..8243dc548--- /dev/null+++ b/gnu/packages/patches/i3lock-color-fix-makefile.patch@@ -0,0 +1,38 @@+From eaca36ed78bafb82bd51a9e83c6445ef8f1698c8 Mon Sep 17 00:00:00 2001+From: ng0 <ng0@no-reply.pragmatique.xyz>+Date: Mon, 22 May 2017 18:22:19 +0000+Subject: [PATCH] This fix to the Makefile is required to make i3lock-color+ build on Guix.++---+ Makefile | 7 +------+ 1 file changed, 1 insertion(+), 6 deletions(-)++diff --git a/Makefile b/Makefile+index c0fe888..b4b6cd9 100644+--- a/Makefile++++ b/Makefile+@@ -6,11 +6,6 @@ SYSCONFDIR=/etc+ PKG_CONFIG=pkg-config+ MANDIR=/usr/share/man+ +-# Check if pkg-config is installed, we need it for building CFLAGS/LIBS+-ifeq ($(shell which $(PKG_CONFIG) 2>/dev/null 1>/dev/null || echo 1),1)+-$(error "$(PKG_CONFIG) was not found")+-endif+-+ CFLAGS += -std=c99+ CFLAGS += -pipe+ CFLAGS += -Wall+@@ -18,7 +13,7 @@ CFLAGS += -O2+ SIMD_CFLAGS += -funroll-loops+ SIMD_CFLAGS += -msse2+ CPPFLAGS += -D_GNU_SOURCE+-CPPFLAGS += -DXKBCOMPOSE=$(shell if test -e /usr/include/xkbcommon/xkbcommon-compose.h ; then echo 1 ; else echo 0 ; fi )++CPPFLAGS += -DXKBCOMPOSE=1+ CFLAGS += $(shell $(PKG_CONFIG) --cflags cairo xcb-composite xcb-xinerama xcb-atom xcb-image xcb-xkb xkbcommon xkbcommon-x11)+ LIBS += $(shell $(PKG_CONFIG) --libs cairo xcb-composite xcb-xinerama xcb-atom xcb-image xcb-xkb xkbcommon xkbcommon-x11)+ LIBS += -lpam+-- +2.13.0+diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scmindex 09c10eaa0..3d5a0ef7a 100644--- a/gnu/packages/wm.scm+++ b/gnu/packages/wm.scm@@ -66,6 +66,7 @@ #:use-module (gnu packages gperf) #:use-module (gnu packages imagemagick) #:use-module (gnu packages lua)+ #:use-module (gnu packages linux) #:use-module (gnu packages suckless) #:use-module (guix download) #:use-module (guix git-download))@@ -333,6 +334,71 @@ and locate windows on all your workspaces, using an interactive dmenu prompt.") (license (license:non-copyleft "http://www.wtfpl.net/txt/copying/"))))) +;; The last release is from 2015, use the git commit.+(define-public i3lock-color+ (let ((commit "275ff68f6a6b7985c65fbaac537f4c018b47942f")+ (revision "1"))+ (package+ (name "i3lock-color")+ (version (string-append "2.8-" revision "." (string-take commit 7)))+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/chrjguill/i3lock-color")+ (commit commit)))+ (file-name (string-append name "-" version "-checkout"))+ (snippet+ ;; The Makefile is read-only, we are going to patch it.+ '(chmod "Makefile" #o755))+ (patches (search-patches "i3lock-color-fix-makefile.patch"))+ (sha256+ (base32+ "1qhxqj1gwmf473b4b1bfqxdxiw1y6gq9rf97d77jc9s9z267fjm5"))))+ (build-system gnu-build-system)+ (arguments+ `(#:tests? #f ; No tests included.+ #:make-flags (list "CC=gcc")+ #:phases+ (modify-phases %standard-phases+ (replace 'configure+ (lambda* (#:key outputs #:allow-other-keys)+ (let* ((out (assoc-ref outputs "out"))+ (man (string-append out "/share/man"))+ (etc (string-append out "/etc")))+ (substitute* "Makefile"+ (("PREFIX=/usr")+ (string-append "PREFIX=" out))+ (("SYSCONFDIR=/etc")+ (string-append "SYSCONFDIR=" etc))+ (("MANDIR=/usr/share/man")+ (string-append "MANDIR=" man)))+ #t))))))+ (inputs+ `(("xcb-util-image" ,xcb-util-image)+ ("xcb-util-keysyms" ,xcb-util-keysyms)+ ("xcb-util" ,xcb-util)+ ("libxcb" ,libxcb)+ ("linux-pam" ,linux-pam)+ ("libev" ,libev)+ ("libx11" ,libx11)+ ("cairo" ,cairo)))+ (native-inputs+ `(("libxkbcommon" ,libxkbcommon)+ ("pkg-config" ,pkg-config)))+ (home-page "https://github.com/chrjguill/i3lock-color")+ (synopsis "Screenlocker with color configuration support")+ (description+ "I3lock-color is a screen locker. It is a re-patched version of+i3lock, which is a simple screen locker like slock. Features include:++@enumerate+@item forking process, the locked screen is preserved when you suspend from RAM+@item specify background color or PNG image to be displayed in the lock screen+@item many additional color options+@end enumerate\n")+ (license license:bsd-3))))+ (define-public xmonad (package (name "xmonad")-- 2.14.2
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEy/WXVcvn5+/vGD+x3UCaFdgiRp0FAloOsigACgkQ3UCaFdgiRp3VyQ/+NkcqLogsN4Gqe1n93ePbzGrxMtBAoSCSSYBkXkpd5apL4NsNf1NoUmQ4Qt3zhRqKGaRNo2aYKKpmPviiUf7vYn3HQhqtolck3v3Fuc0T+MwpfAyvPMmJXv9jFIfOpG7CbjtkvulnMjkwSHjpWuPFbuzCmiHAXKk+Yy0+Rjh82gQ0LR8CJRkogHGcxvnlKP0vMDdCog1G2DB/Oc0g8YY4hHv8KK6XwwWTco+nOminKv0uU9BNNlp+c63x61F4qwAUyFnYmrwx57zfHNfNuRxPbFC85GH+l9sgeYnaJ9rdlWhwe16AyHAyRHRenyCBNsb5ioFEh5sisRp9aR1S67k7fjyS2PFXDb4oDGUB5cpt/1EE/48nngI63WVhfMpVvpMnsYPz0d2ErV2amvhPGAugIeGnAUsSNYZ1Dpmd4FhZQVlUtQ2LQ5glSW4tLp0574/8JK4HBxXOQKPPiUNrCWwiedgxAFhV0mlXOG2O20xKW4TUSonLi36C4nhAeqld+xMXXBiV5MNMlNBK3cdvgznqVFFkpJEXxoGl8qFftof9da1Jn+v+CvN9epyeYQE8vE462A1Xw75caQGhzJpYA98sdnnoqnqxYhPPQHexf/+jqx0CmYXqAuTHdediVrl+yg+cDhe6g4mUFtp1+1IsWzj67Qj9TZg5ATcrjwdSFa5NLrI==bDBV-----END PGP SIGNATURE-----
N
Re: [bug#27083] screen-lockers: i3lock-color and i3lock-fancy
(name . Chris Marusich)(address . cmmarusich@gmail.com)
20171117101835.whd5f7lincppxlgy@abyayala
Hi Chris,
thanks for your input. I think I was just stuck by too manyrepetive attempts. Thanks for a fresh view :)I'll send applied changes as soon as I can (probably next week).
Chris Marusich transcribed 11K bytes:
Toggle quote (14 lines)> <ng0@pragmatique.xyz> writes:> > > I have no idea about the error of i3lock-fancy (password is not> > accepted). An commented phase in i3lock-color is still included where> > I tried to fix this, but I don't know much about PAM at this point.> > When I checked using "guix system vm", the reason i3lock refused to> accept the password was because it could not read /etc/shadow. One> solution to this problem is to do both of the following:> > 1) Do not wrap i3lock in a wrapper script.> > 2) Install the i3lock executable as setuid-root.
Oh, 2 was what I was thinking of that might fixit. I just had no time to test it.
Toggle quote (24 lines)> When installing i3lock as a setuid-root program, it is important not to> wrap it in a script. It is common in UNIX-like systems to ignore the> setuid bit when the program is an interpreted script instead of an> executable (a simple Internet search for a phrase like "setuid bash> script" will provide lots of supporting information about this). If you> do (2) without also removing the wrapping logic that you put into the> package definition, you will find that i3lock still rejects your> password - this is because it still can't read /etc/shadow.> > The attached patch is a revised version of your first patch to add> i3lock-color. I have basically just removed the wrapping phase. To> install it setuid-root along with an appropriate PAM configuration file,> just add a screen-locker service like the following to your services in> your operating system declaration:> > (screen-locker-service i3lock-color "i3lock")> > Note that this will create an appropriate PAM configuration file at> /etc/pam.d/i3lock, so you don't need to bother messing around with the> PAM configuration file that comes with i3lock-color.> > I haven't looked at the fancy version yet. I'll check it out when I get> a little more time.
The fancy version is basically a fork with some more fancy visual elements.It should be similar.
Toggle quote (6 lines)> > + %D%/packages/patches/hypre-doc-tables.patch \> > + %D%/packages/patches/hypre-ldflags.patch \> > Did you intend to include these in the patch? They aren't used, so I've> removed them in my version of the patch.
Many weeks ago, I don't know what happened there.Maybe a mistake in rebase.
Toggle quote (38 lines)> > +---> > + Makefile | 7 +------> > + 1 file changed, 1 insertion(+), 6 deletions(-)> > +> > +diff --git a/Makefile b/Makefile> > +index c0fe888..b4b6cd9 100644> > +--- a/Makefile> > ++++ b/Makefile> > +@@ -6,11 +6,6 @@ SYSCONFDIR=/etc> > + PKG_CONFIG=pkg-config> > + MANDIR=/usr/share/man> > + > > +-# Check if pkg-config is installed, we need it for building CFLAGS/LIBS> > +-ifeq ($(shell which $(PKG_CONFIG) 2>/dev/null 1>/dev/null || echo 1),1)> > +-$(error "$(PKG_CONFIG) was not found")> > +-endif> > +-> > + CFLAGS += -std=c99> > + CFLAGS += -pipe> > + CFLAGS += -Wall> > +@@ -18,7 +13,7 @@ CFLAGS += -O2> > + SIMD_CFLAGS += -funroll-loops> > + SIMD_CFLAGS += -msse2> > + CPPFLAGS += -D_GNU_SOURCE> > +-CPPFLAGS += -DXKBCOMPOSE=$(shell if test -e /usr/include/xkbcommon/xkbcommon-compose.h ; then echo 1 ; else echo 0 ; fi )> > ++CPPFLAGS += -DXKBCOMPOSE=1> > + CFLAGS += $(shell $(PKG_CONFIG) --cflags cairo xcb-composite xcb-xinerama xcb-atom xcb-image xcb-xkb xkbcommon xkbcommon-x11)> > + LIBS += $(shell $(PKG_CONFIG) --libs cairo xcb-composite xcb-xinerama xcb-atom xcb-image xcb-xkb xkbcommon xkbcommon-x11)> > + LIBS += -lpam> > +-- > > +2.13.0> > FYI, it looks like maybe we could probably remove this patch file> entirely, and just use substitute* to modify the Makefile, if we> provided the "which" program as an input. Specifically, if the which> program were present, then probably the check you removed would> succeed. I haven't tried it myself, though.
Okay, I will give it a try.
Toggle quote (6 lines)> > -;;; Copyright (c) 2016, 2017 ng0 <contact.ng0@cryptolab.net>> > +;;; Copyright (c) 2016, 2017 ng0 <ng0@no-reply.pragmatique.xyz>> > FYI, the contact.ng0@cryptolab.net email address is still mentioned in> multiple other files, too.
Yes. I'm only changing addresses once I touch the file. So oldaddresses might be in there for a long time. Otoh, I willprepare a patch and change all my header addresses.
Toggle quote (13 lines)> > + (description> > + "I3lock-color is a screen locker. It is a re-patched version of> > +i3lock, which is a simple screen locker like slock. Features include:> > +> > +@enumerate> > +@item forking process, the locked screen is preserved when you suspend from RAM> > +@item specify background color or PNG image to be displayed in the lock screen> > +@item many additional color options> > +@end enumerate\n")> > I'm not sure if the trailing newline is necessary. Unless you beat me> to it, I'll check on this detail the next time I return to this thread.
I've seen this multiple times before and have just followed this style.
Toggle quote (167 lines)> -- > Chris
> From 53edb9d43966ec9fbea8292608875d0c894adaea Mon Sep 17 00:00:00 2001> From: ng0 <ng0@no-reply.pragmatique.xyz>> Date: Fri, 17 Nov 2017 01:38:14 -0800> Subject: [PATCH] gnu: Add i3lock-color.> > * gnu/local.mk (dist_patch_DATA): Add i3lock-color-fix-makefile.patch.> * gnu/packages/patches/i3lock-color-fix-makefile.patch: New file.> * gnu/packages/wm.scm: Add i3lock-color.> > Signed-off-by: Chris Marusich <cmmarusich@gmail.com>> ---> gnu/local.mk | 1 +> .../patches/i3lock-color-fix-makefile.patch | 38 +++++++++++++> gnu/packages/wm.scm | 66 ++++++++++++++++++++++> 3 files changed, 105 insertions(+)> create mode 100644 gnu/packages/patches/i3lock-color-fix-makefile.patch> > diff --git a/gnu/local.mk b/gnu/local.mk> index 61bebe662..575d88506 100644> --- a/gnu/local.mk> +++ b/gnu/local.mk> @@ -738,6 +738,7 @@ dist_patch_DATA = \> %D%/packages/patches/hubbub-sort-entities.patch \> %D%/packages/patches/hurd-fix-eth-multiplexer-dependency.patch \> %D%/packages/patches/hydra-disable-darcs-test.patch \> + %D%/packages/patches/i3lock-color-fix-makefile.patch \> %D%/packages/patches/icecat-avoid-bundled-libraries.patch \> %D%/packages/patches/icu4c-CVE-2017-7867-CVE-2017-7868.patch \> %D%/packages/patches/icu4c-CVE-2017-14952.patch \> diff --git a/gnu/packages/patches/i3lock-color-fix-makefile.patch b/gnu/packages/patches/i3lock-color-fix-makefile.patch> new file mode 100644> index 000000000..8243dc548> --- /dev/null> +++ b/gnu/packages/patches/i3lock-color-fix-makefile.patch> @@ -0,0 +1,38 @@> +From eaca36ed78bafb82bd51a9e83c6445ef8f1698c8 Mon Sep 17 00:00:00 2001> +From: ng0 <ng0@no-reply.pragmatique.xyz>> +Date: Mon, 22 May 2017 18:22:19 +0000> +Subject: [PATCH] This fix to the Makefile is required to make i3lock-color> + build on Guix.> +> +---> + Makefile | 7 +------> + 1 file changed, 1 insertion(+), 6 deletions(-)> +> +diff --git a/Makefile b/Makefile> +index c0fe888..b4b6cd9 100644> +--- a/Makefile> ++++ b/Makefile> +@@ -6,11 +6,6 @@ SYSCONFDIR=/etc> + PKG_CONFIG=pkg-config> + MANDIR=/usr/share/man> + > +-# Check if pkg-config is installed, we need it for building CFLAGS/LIBS> +-ifeq ($(shell which $(PKG_CONFIG) 2>/dev/null 1>/dev/null || echo 1),1)> +-$(error "$(PKG_CONFIG) was not found")> +-endif> +-> + CFLAGS += -std=c99> + CFLAGS += -pipe> + CFLAGS += -Wall> +@@ -18,7 +13,7 @@ CFLAGS += -O2> + SIMD_CFLAGS += -funroll-loops> + SIMD_CFLAGS += -msse2> + CPPFLAGS += -D_GNU_SOURCE> +-CPPFLAGS += -DXKBCOMPOSE=$(shell if test -e /usr/include/xkbcommon/xkbcommon-compose.h ; then echo 1 ; else echo 0 ; fi )> ++CPPFLAGS += -DXKBCOMPOSE=1> + CFLAGS += $(shell $(PKG_CONFIG) --cflags cairo xcb-composite xcb-xinerama xcb-atom xcb-image xcb-xkb xkbcommon xkbcommon-x11)> + LIBS += $(shell $(PKG_CONFIG) --libs cairo xcb-composite xcb-xinerama xcb-atom xcb-image xcb-xkb xkbcommon xkbcommon-x11)> + LIBS += -lpam> +-- > +2.13.0> +> diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm> index 09c10eaa0..3d5a0ef7a 100644> --- a/gnu/packages/wm.scm> +++ b/gnu/packages/wm.scm> @@ -66,6 +66,7 @@> #:use-module (gnu packages gperf)> #:use-module (gnu packages imagemagick)> #:use-module (gnu packages lua)> + #:use-module (gnu packages linux)> #:use-module (gnu packages suckless)> #:use-module (guix download)> #:use-module (guix git-download))> @@ -333,6 +334,71 @@ and locate windows on all your workspaces, using an interactive dmenu> prompt.")> (license (license:non-copyleft "http://www.wtfpl.net/txt/copying/")))))> > +;; The last release is from 2015, use the git commit.> +(define-public i3lock-color> + (let ((commit "275ff68f6a6b7985c65fbaac537f4c018b47942f")> + (revision "1"))> + (package> + (name "i3lock-color")> + (version (string-append "2.8-" revision "." (string-take commit 7)))> + (source> + (origin> + (method git-fetch)> + (uri (git-reference> + (url "https://github.com/chrjguill/i3lock-color")> + (commit commit)))> + (file-name (string-append name "-" version "-checkout"))> + (snippet> + ;; The Makefile is read-only, we are going to patch it.> + '(chmod "Makefile" #o755))> + (patches (search-patches "i3lock-color-fix-makefile.patch"))> + (sha256> + (base32> + "1qhxqj1gwmf473b4b1bfqxdxiw1y6gq9rf97d77jc9s9z267fjm5"))))> + (build-system gnu-build-system)> + (arguments> + `(#:tests? #f ; No tests included.> + #:make-flags (list "CC=gcc")> + #:phases> + (modify-phases %standard-phases> + (replace 'configure> + (lambda* (#:key outputs #:allow-other-keys)> + (let* ((out (assoc-ref outputs "out"))> + (man (string-append out "/share/man"))> + (etc (string-append out "/etc")))> + (substitute* "Makefile"> + (("PREFIX=/usr")> + (string-append "PREFIX=" out))> + (("SYSCONFDIR=/etc")> + (string-append "SYSCONFDIR=" etc))> + (("MANDIR=/usr/share/man")> + (string-append "MANDIR=" man)))> + #t))))))> + (inputs> + `(("xcb-util-image" ,xcb-util-image)> + ("xcb-util-keysyms" ,xcb-util-keysyms)> + ("xcb-util" ,xcb-util)> + ("libxcb" ,libxcb)> + ("linux-pam" ,linux-pam)> + ("libev" ,libev)> + ("libx11" ,libx11)> + ("cairo" ,cairo)))> + (native-inputs> + `(("libxkbcommon" ,libxkbcommon)> + ("pkg-config" ,pkg-config)))> + (home-page "https://github.com/chrjguill/i3lock-color")> + (synopsis "Screenlocker with color configuration support")> + (description> + "I3lock-color is a screen locker. It is a re-patched version of> +i3lock, which is a simple screen locker like slock. Features include:> +> +@enumerate> +@item forking process, the locked screen is preserved when you suspend from RAM> +@item specify background color or PNG image to be displayed in the lock screen> +@item many additional color options> +@end enumerate\n")> + (license license:bsd-3))))> +> (define-public xmonad> (package> (name "xmonad")> -- > 2.14.2>



-- GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588GnuPG: https://dl.n0.is/dist/keys/ WWW: https://we.make.ritual.n0.is
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEqIyK3RKYKNfqwC5S4i+bv+40hYgFAloOt3sACgkQ4i+bv+40hYh46g/+I/ZqzBse72vgemdsf/FdX1JWKzdSWtz+wBrxSl5fLHmj32IWA1818of4icgfEYPa7KBA9+3S3OaZ5JZ2Gv7j6DRkwLugWFpItZQac7F2oBmH8yM4mBJisZVoYjV99N37nDgw4HW5f/ybzz1ZyujCTaJ6WuJ/D0t3kkWKuC4+qecrcX9OGH6Gb4RTD3oCt+RcmAcafo29jOREfClXXuBGC1wUtnC5xc9fyNTYPAkVNxUa8yoLo5dHz27rYnjbAY+cTObnGtRo/J+nxJSj5k8J/NIKsEfLVN4kuz8cRFR/sScXHGaLFKblK7ngixVlUsISGQX+zRokiBm6TRcOfQSDEzdeYgwYX0UKKth54nhqqQt0UFrlCs63Xyq1UiN1ha7dGdKiPHG2bGHcSl2QVuxnY9fRu1kUzV51s9X5IgpUFal3/RdkhMjP3TYx8QNzDtuEnb5zgaaFtnCq+QWqd0zqeUAqxhCdVPe8GJlvvJINYIfATaknzLFhsKbGwE6SXaxghzXjRUpdhXIUvd7ROpKlecVufhCiwit1d46ScYtUHwPPLWqF3oqOknDzlPXyeh7DreGByTzPRbJQfB46EdKOGP7boQbAt4JTgJjBKlTrk09Qx2YhRQlDz2I4fgxDaDqSsqy5T6stz5XNbglJe6OBMotPKwyJlvP9EznIKER81qc==VS6M-----END PGP SIGNATURE-----

N
(name . Chris Marusich)(address . cmmarusich@gmail.com)
20171117201705.75ldk4yxnpd7m3qa@abyayala
New version appended. i3lock-fancy needs some fixes, but I can confirmthat i3lock-color works!
ng0 transcribed 12K bytes:
Toggle quote (299 lines)> Hi Chris,> > thanks for your input. I think I was just stuck by too many> repetive attempts. Thanks for a fresh view :)> I'll send applied changes as soon as I can (probably next week).> > Chris Marusich transcribed 11K bytes:> > <ng0@pragmatique.xyz> writes:> > > > > I have no idea about the error of i3lock-fancy (password is not> > > accepted). An commented phase in i3lock-color is still included where> > > I tried to fix this, but I don't know much about PAM at this point.> > > > When I checked using "guix system vm", the reason i3lock refused to> > accept the password was because it could not read /etc/shadow. One> > solution to this problem is to do both of the following:> > > > 1) Do not wrap i3lock in a wrapper script.> > > > 2) Install the i3lock executable as setuid-root.> > Oh, 2 was what I was thinking of that might fix> it. I just had no time to test it.> > > When installing i3lock as a setuid-root program, it is important not to> > wrap it in a script. It is common in UNIX-like systems to ignore the> > setuid bit when the program is an interpreted script instead of an> > executable (a simple Internet search for a phrase like "setuid bash> > script" will provide lots of supporting information about this). If you> > do (2) without also removing the wrapping logic that you put into the> > package definition, you will find that i3lock still rejects your> > password - this is because it still can't read /etc/shadow.> > > > The attached patch is a revised version of your first patch to add> > i3lock-color. I have basically just removed the wrapping phase. To> > install it setuid-root along with an appropriate PAM configuration file,> > just add a screen-locker service like the following to your services in> > your operating system declaration:> > > > (screen-locker-service i3lock-color "i3lock")> > > > Note that this will create an appropriate PAM configuration file at> > /etc/pam.d/i3lock, so you don't need to bother messing around with the> > PAM configuration file that comes with i3lock-color.> > > > I haven't looked at the fancy version yet. I'll check it out when I get> > a little more time.> > The fancy version is basically a fork with some more fancy visual elements.> It should be similar.> > > > + %D%/packages/patches/hypre-doc-tables.patch \> > > + %D%/packages/patches/hypre-ldflags.patch \> > > > Did you intend to include these in the patch? They aren't used, so I've> > removed them in my version of the patch.> > Many weeks ago, I don't know what happened there.> Maybe a mistake in rebase.> > > > +---> > > + Makefile | 7 +------> > > + 1 file changed, 1 insertion(+), 6 deletions(-)> > > +> > > +diff --git a/Makefile b/Makefile> > > +index c0fe888..b4b6cd9 100644> > > +--- a/Makefile> > > ++++ b/Makefile> > > +@@ -6,11 +6,6 @@ SYSCONFDIR=/etc> > > + PKG_CONFIG=pkg-config> > > + MANDIR=/usr/share/man> > > + > > > +-# Check if pkg-config is installed, we need it for building CFLAGS/LIBS> > > +-ifeq ($(shell which $(PKG_CONFIG) 2>/dev/null 1>/dev/null || echo 1),1)> > > +-$(error "$(PKG_CONFIG) was not found")> > > +-endif> > > +-> > > + CFLAGS += -std=c99> > > + CFLAGS += -pipe> > > + CFLAGS += -Wall> > > +@@ -18,7 +13,7 @@ CFLAGS += -O2> > > + SIMD_CFLAGS += -funroll-loops> > > + SIMD_CFLAGS += -msse2> > > + CPPFLAGS += -D_GNU_SOURCE> > > +-CPPFLAGS += -DXKBCOMPOSE=$(shell if test -e /usr/include/xkbcommon/xkbcommon-compose.h ; then echo 1 ; else echo 0 ; fi )> > > ++CPPFLAGS += -DXKBCOMPOSE=1> > > + CFLAGS += $(shell $(PKG_CONFIG) --cflags cairo xcb-composite xcb-xinerama xcb-atom xcb-image xcb-xkb xkbcommon xkbcommon-x11)> > > + LIBS += $(shell $(PKG_CONFIG) --libs cairo xcb-composite xcb-xinerama xcb-atom xcb-image xcb-xkb xkbcommon xkbcommon-x11)> > > + LIBS += -lpam> > > +-- > > > +2.13.0> > > > FYI, it looks like maybe we could probably remove this patch file> > entirely, and just use substitute* to modify the Makefile, if we> > provided the "which" program as an input. Specifically, if the which> > program were present, then probably the check you removed would> > succeed. I haven't tried it myself, though.> > Okay, I will give it a try.> > > > -;;; Copyright (c) 2016, 2017 ng0 <contact.ng0@cryptolab.net>> > > +;;; Copyright (c) 2016, 2017 ng0 <ng0@no-reply.pragmatique.xyz>> > > > FYI, the contact.ng0@cryptolab.net email address is still mentioned in> > multiple other files, too.> > Yes. I'm only changing addresses once I touch the file. So old> addresses might be in there for a long time. Otoh, I will> prepare a patch and change all my header addresses.> > > > + (description> > > + "I3lock-color is a screen locker. It is a re-patched version of> > > +i3lock, which is a simple screen locker like slock. Features include:> > > +> > > +@enumerate> > > +@item forking process, the locked screen is preserved when you suspend from RAM> > > +@item specify background color or PNG image to be displayed in the lock screen> > > +@item many additional color options> > > +@end enumerate\n")> > > > I'm not sure if the trailing newline is necessary. Unless you beat me> > to it, I'll check on this detail the next time I return to this thread.> > I've seen this multiple times before and have just followed this style.> > > -- > > Chris> > > From 53edb9d43966ec9fbea8292608875d0c894adaea Mon Sep 17 00:00:00 2001> > From: ng0 <ng0@no-reply.pragmatique.xyz>> > Date: Fri, 17 Nov 2017 01:38:14 -0800> > Subject: [PATCH] gnu: Add i3lock-color.> > > > * gnu/local.mk (dist_patch_DATA): Add i3lock-color-fix-makefile.patch.> > * gnu/packages/patches/i3lock-color-fix-makefile.patch: New file.> > * gnu/packages/wm.scm: Add i3lock-color.> > > > Signed-off-by: Chris Marusich <cmmarusich@gmail.com>> > ---> > gnu/local.mk | 1 +> > .../patches/i3lock-color-fix-makefile.patch | 38 +++++++++++++> > gnu/packages/wm.scm | 66 ++++++++++++++++++++++> > 3 files changed, 105 insertions(+)> > create mode 100644 gnu/packages/patches/i3lock-color-fix-makefile.patch> > > > diff --git a/gnu/local.mk b/gnu/local.mk> > index 61bebe662..575d88506 100644> > --- a/gnu/local.mk> > +++ b/gnu/local.mk> > @@ -738,6 +738,7 @@ dist_patch_DATA = \> > %D%/packages/patches/hubbub-sort-entities.patch \> > %D%/packages/patches/hurd-fix-eth-multiplexer-dependency.patch \> > %D%/packages/patches/hydra-disable-darcs-test.patch \> > + %D%/packages/patches/i3lock-color-fix-makefile.patch \> > %D%/packages/patches/icecat-avoid-bundled-libraries.patch \> > %D%/packages/patches/icu4c-CVE-2017-7867-CVE-2017-7868.patch \> > %D%/packages/patches/icu4c-CVE-2017-14952.patch \> > diff --git a/gnu/packages/patches/i3lock-color-fix-makefile.patch b/gnu/packages/patches/i3lock-color-fix-makefile.patch> > new file mode 100644> > index 000000000..8243dc548> > --- /dev/null> > +++ b/gnu/packages/patches/i3lock-color-fix-makefile.patch> > @@ -0,0 +1,38 @@> > +From eaca36ed78bafb82bd51a9e83c6445ef8f1698c8 Mon Sep 17 00:00:00 2001> > +From: ng0 <ng0@no-reply.pragmatique.xyz>> > +Date: Mon, 22 May 2017 18:22:19 +0000> > +Subject: [PATCH] This fix to the Makefile is required to make i3lock-color> > + build on Guix.> > +> > +---> > + Makefile | 7 +------> > + 1 file changed, 1 insertion(+), 6 deletions(-)> > +> > +diff --git a/Makefile b/Makefile> > +index c0fe888..b4b6cd9 100644> > +--- a/Makefile> > ++++ b/Makefile> > +@@ -6,11 +6,6 @@ SYSCONFDIR=/etc> > + PKG_CONFIG=pkg-config> > + MANDIR=/usr/share/man> > + > > +-# Check if pkg-config is installed, we need it for building CFLAGS/LIBS> > +-ifeq ($(shell which $(PKG_CONFIG) 2>/dev/null 1>/dev/null || echo 1),1)> > +-$(error "$(PKG_CONFIG) was not found")> > +-endif> > +-> > + CFLAGS += -std=c99> > + CFLAGS += -pipe> > + CFLAGS += -Wall> > +@@ -18,7 +13,7 @@ CFLAGS += -O2> > + SIMD_CFLAGS += -funroll-loops> > + SIMD_CFLAGS += -msse2> > + CPPFLAGS += -D_GNU_SOURCE> > +-CPPFLAGS += -DXKBCOMPOSE=$(shell if test -e /usr/include/xkbcommon/xkbcommon-compose.h ; then echo 1 ; else echo 0 ; fi )> > ++CPPFLAGS += -DXKBCOMPOSE=1> > + CFLAGS += $(shell $(PKG_CONFIG) --cflags cairo xcb-composite xcb-xinerama xcb-atom xcb-image xcb-xkb xkbcommon xkbcommon-x11)> > + LIBS += $(shell $(PKG_CONFIG) --libs cairo xcb-composite xcb-xinerama xcb-atom xcb-image xcb-xkb xkbcommon xkbcommon-x11)> > + LIBS += -lpam> > +-- > > +2.13.0> > +> > diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm> > index 09c10eaa0..3d5a0ef7a 100644> > --- a/gnu/packages/wm.scm> > +++ b/gnu/packages/wm.scm> > @@ -66,6 +66,7 @@> > #:use-module (gnu packages gperf)> > #:use-module (gnu packages imagemagick)> > #:use-module (gnu packages lua)> > + #:use-module (gnu packages linux)> > #:use-module (gnu packages suckless)> > #:use-module (guix download)> > #:use-module (guix git-download))> > @@ -333,6 +334,71 @@ and locate windows on all your workspaces, using an interactive dmenu> > prompt.")> > (license (license:non-copyleft "http://www.wtfpl.net/txt/copying/")))))> > > > +;; The last release is from 2015, use the git commit.> > +(define-public i3lock-color> > + (let ((commit "275ff68f6a6b7985c65fbaac537f4c018b47942f")> > + (revision "1"))> > + (package> > + (name "i3lock-color")> > + (version (string-append "2.8-" revision "." (string-take commit 7)))> > + (source> > + (origin> > + (method git-fetch)> > + (uri (git-reference> > + (url "https://github.com/chrjguill/i3lock-color")> > + (commit commit)))> > + (file-name (string-append name "-" version "-checkout"))> > + (snippet> > + ;; The Makefile is read-only, we are going to patch it.> > + '(chmod "Makefile" #o755))> > + (patches (search-patches "i3lock-color-fix-makefile.patch"))> > + (sha256> > + (base32> > + "1qhxqj1gwmf473b4b1bfqxdxiw1y6gq9rf97d77jc9s9z267fjm5"))))> > + (build-system gnu-build-system)> > + (arguments> > + `(#:tests? #f ; No tests included.> > + #:make-flags (list "CC=gcc")> > + #:phases> > + (modify-phases %standard-phases> > + (replace 'configure> > + (lambda* (#:key outputs #:allow-other-keys)> > + (let* ((out (assoc-ref outputs "out"))> > + (man (string-append out "/share/man"))> > + (etc (string-append out "/etc")))> > + (substitute* "Makefile"> > + (("PREFIX=/usr")> > + (string-append "PREFIX=" out))> > + (("SYSCONFDIR=/etc")> > + (string-append "SYSCONFDIR=" etc))> > + (("MANDIR=/usr/share/man")> > + (string-append "MANDIR=" man)))> > + #t))))))> > + (inputs> > + `(("xcb-util-image" ,xcb-util-image)> > + ("xcb-util-keysyms" ,xcb-util-keysyms)> > + ("xcb-util" ,xcb-util)> > + ("libxcb" ,libxcb)> > + ("linux-pam" ,linux-pam)> > + ("libev" ,libev)> > + ("libx11" ,libx11)> > + ("cairo" ,cairo)))> > + (native-inputs> > + `(("libxkbcommon" ,libxkbcommon)> > + ("pkg-config" ,pkg-config)))> > + (home-page "https://github.com/chrjguill/i3lock-color")> > + (synopsis "Screenlocker with color configuration support")> > + (description> > + "I3lock-color is a screen locker. It is a re-patched version of> > +i3lock, which is a simple screen locker like slock. Features include:> > +> > +@enumerate> > +@item forking process, the locked screen is preserved when you suspend from RAM> > +@item specify background color or PNG image to be displayed in the lock screen> > +@item many additional color options> > +@end enumerate\n")> > + (license license:bsd-3))))> > +> > (define-public xmonad> > (package> > (name "xmonad")> > -- > > 2.14.2> > > > > > > -- > GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588> GnuPG: https://dl.n0.is/dist/keys/> WWW: https://we.make.ritual.n0.is


-- GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588GnuPG: https://dl.n0.is/dist/keys/ WWW: https://we.make.ritual.n0.is
From ba2a83195afb10ca7c65833f81cdc10748212873 Mon Sep 17 00:00:00 2001From: ng0 <contact.ng0@cryptolab.net>Date: Tue, 24 Jan 2017 13:03:42 +0000Subject: [PATCH 1/2] gnu: Add i3lock-color.
* gnu/packages/wm.scm (i3lock-color): New variable.--- gnu/local.mk | 1 + gnu/packages/wm.scm | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+)
Toggle diff (100 lines)diff --git a/gnu/local.mk b/gnu/local.mkindex 54d1ac91c..2ec5844dc 100644--- a/gnu/local.mk+++ b/gnu/local.mk@@ -744,6 +744,7 @@ dist_patch_DATA = \ %D%/packages/patches/hubbub-sort-entities.patch \ %D%/packages/patches/hurd-fix-eth-multiplexer-dependency.patch \ %D%/packages/patches/hydra-disable-darcs-test.patch \+ %D%/packages/patches/i3lock-color-fix-makefile.patch \ %D%/packages/patches/icecat-avoid-bundled-libraries.patch \ %D%/packages/patches/icecat-bug-1348660-pt5.patch \ %D%/packages/patches/icecat-bug-1415133.patch \diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scmindex 62a5b5460..e4db72a6f 100644--- a/gnu/packages/wm.scm+++ b/gnu/packages/wm.scm@@ -68,6 +68,7 @@ #:use-module (gnu packages gperf) #:use-module (gnu packages imagemagick) #:use-module (gnu packages lua)+ #:use-module (gnu packages linux) #:use-module (gnu packages suckless) #:use-module (guix download) #:use-module (guix git-download))@@ -335,6 +336,73 @@ and locate windows on all your workspaces, using an interactive dmenu prompt.") (license (license:non-copyleft "http://www.wtfpl.net/txt/copying/"))))) +(define-public i3lock-color+ (package+ (name "i3lock-color")+ (version "2.9.1-c")+ (source+ (origin+ (method url-fetch)+ (uri (string-append "https://github.com/chrjguill/i3lock-color/"+ "archive/" version ".tar.gz"))+ (file-name (string-append name "-" version ".tar.gz"))+ (sha256+ (base32+ "18ql0kb24qlqsijs6j99algf2lprl78mzsz53b1hshmc8jjd4m27"))))+ (build-system gnu-build-system)+ (arguments+ `(#:tests? #f ; No tests included.+ #:make-flags (list "CC=gcc")+ #:phases+ (modify-phases %standard-phases+ (replace 'configure+ (lambda* (#:key outputs inputs #:allow-other-keys)+ (let* ((out (assoc-ref outputs "out"))+ (etc (string-append out "/etc"))+ (man (string-append out "/share/man"))+ (xkb (assoc-ref inputs "libxkbcommon"))+ (xkbheader (string-append xkb+ "/include/xkbcommon/"+ "xkbcommon-compose.h")))+ (substitute* "Makefile"+ (("PKG_CONFIG=pkg-config")+ (string-append "PKG_CONFIG="+ (which "pkg-config")))+ (("/usr/include/xkbcommon/xkbcommon-compose.h")+ xkbheader)+ (("PREFIX=/usr")+ (string-append "PREFIX=" out))+ (("SYSCONFDIR=/etc")+ (string-append "SYSCONFDIR=" etc))+ (("MANDIR=/usr/share/man")+ (string-append "MANDIR=" man)))+ #t))))))+ (inputs+ `(("xcb-util-image" ,xcb-util-image)+ ("xcb-util-keysyms" ,xcb-util-keysyms)+ ("xcb-util" ,xcb-util)+ ("libxcb" ,libxcb)+ ("linux-pam" ,linux-pam)+ ("libev" ,libev)+ ("libx11" ,libx11)+ ("cairo" ,cairo)))+ (native-inputs+ `(("libxkbcommon" ,libxkbcommon)+ ("pkg-config" ,pkg-config)+ ("which" ,which)))+ (home-page "https://github.com/chrjguill/i3lock-color")+ (synopsis "Screenlocker with color configuration support")+ (description+ "I3lock-color is a screen locker. It is a re-patched version of+i3lock, which is a simple screen locker like slock. Features include:++@enumerate+@item forking process, the locked screen is preserved when you suspend from RAM+@item specify background color or PNG image to be displayed in the lock screen+@item many additional color options+@end enumerate\n")+ (license license:bsd-3)))+ (define-public xmonad (package (name "xmonad")-- 2.15.0
From 49f8940d64ecab73d246d7652ba7358b748d0c2d Mon Sep 17 00:00:00 2001From: ng0 <contact.ng0@cryptolab.net>Date: Tue, 24 Jan 2017 15:57:13 +0000Subject: [PATCH 2/2] gnu: Add i3lock-fancy.
* gnu/packages/wm.scm (i3lock-fancy): New variable.--- gnu/packages/wm.scm | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+)
Toggle diff (91 lines)diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scmindex e4db72a6f..cf861e77e 100644--- a/gnu/packages/wm.scm+++ b/gnu/packages/wm.scm@@ -44,6 +44,7 @@ #:use-module (gnu packages haskell) #:use-module (gnu packages haskell-check) #:use-module (gnu packages haskell-web)+ #:use-module (gnu packages gawk) #:use-module (gnu packages base) #:use-module (gnu packages pkg-config) #:use-module (gnu packages perl)@@ -403,6 +404,76 @@ i3lock, which is a simple screen locker like slock. Features include: @end enumerate\n") (license license:bsd-3))) +(define-public i3lock-fancy+ (package+ (name "i3lock-fancy")+ (version "0.2")+ (source+ (origin+ (method url-fetch)+ (uri (string-append "https://github.com/meskarune/i3lock-fancy/archive/"+ version ".tar.gz"))+ (file-name (string-append name "-" version ".tar.gz"))+ (sha256+ (base32+ "020m7mnfq5cvir7p9v3hkb7cvb4cai33wppxl2zdwscwwjnchc5y"))))+ (build-system gnu-build-system)+ (arguments+ `(#:tests? #f ;No tests included+ #:phases+ (modify-phases %standard-phases+ (replace 'configure+ (lambda* (#:key inputs outputs #:allow-other-keys)+ (let* ((out (assoc-ref outputs "out"))+ (icons (string-append out "/share/i3lock-fancy/icons/"))+ (i3lock (string-append (assoc-ref inputs "i3lock-color")+ "/bin/i3lock"))+ (wmctrl (string-append (assoc-ref inputs "wmctrl")+ "/bin/wmctrl"))+ (mconvert (string-append (assoc-ref inputs "imagemagick")+ "/bin/convert"))+ (mimport (string-append (assoc-ref inputs "imagemagick")+ "/bin/import"))+ (awk (string-append (assoc-ref inputs "gawk")+ "/bin/gawk")))++ (substitute* "lock"+ (("if ! i3lock") (string-append "if ! " i3lock))+ (("i3lock -n") (string-append i3lock " -n"))+ (("$(which wmctrl)") wmctrl)+ (("convert") mconvert)+ (("shot=\\(import") (string-append "shot=\(" mimport))+ (("awk -F") (string-append awk " -F"))+ ((" awk") awk)+ (("\\$scriptpath/icons/") icons))+ #t)))+ (delete 'build)+ (replace 'install+ (lambda* (#:key inputs outputs #:allow-other-keys)+ (let* ((out (assoc-ref outputs "out"))+ (bin (string-append out "/bin"))+ (icons (string-append out "/share/i3lock-fancy/icons/")))++ (install-file "lock" bin)+ (rename-file (string-append bin "/lock")+ (string-append bin "/i3lock-fancy"))+ (copy-recursively "icons" icons)+ #t))))))+ (native-inputs+ `(("imagemagick" ,imagemagick)+ ("i3lock-color" ,i3lock-color)+ ("wmctrl" ,wmctrl)+ ("gawk" ,gawk)))+ (home-page "https://github.com/meskarune/i3lock-fancy")+ (synopsis "Screenlocker with screenshot function")+ (description+ "@code{i3lock-fancy} is a Bash script that takes a screenshot of+the desktop, blurs the background and adds a lock icon and text.+It makes use of @code{i3lock-color} and can optionally be passed any+screenshot util like @code{scrot}. This screenlocker can be used with+any window manager or desktop environment.")+ (license license:expat)))+ (define-public xmonad (package (name "xmonad")-- 2.15.0
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEqIyK3RKYKNfqwC5S4i+bv+40hYgFAloPQ8EACgkQ4i+bv+40hYgTlg//eUxpJFGI1BKiSQcmhrfg2JzTgFBnOfuFg0uLSxchNtc0zttmvih5yZ6SDkrRCWL39O9KNS8NWa3Z4g0IAdm3BzSBwjXHlDWyzuhYx2YYRmr4f5HACvO0X5ZWzR2/0ufRUiAM8ik8mQJVeF8DYQOKtfrrm25ilMiH885ro3Nhu+QQsLokmXzz0dTNmKTb0RW1I/b6sgbeTCo/3PtP7MA0i3JrM5/bOIAEHb8JVfHXGBTwOPSgfa+ogfZAQMsmRM8KsqmLIMgAkrTyGsh7kotpwiZEK0smauNexTLPsnWga63/Lk2EQOCTqdZ6gdMGbhe2jFw5WXNYzpKX0qubz+hstCCziK71GQML6uoJ4ZRGdhkbSHdtBB3NN9s9QgvnNFLCSfpmYT2HpKSWhNdVxfxMU+0eltL9GBTBG99thsq8d+UAGMX80pkgOg3rnG1sxw7XhcqF0elmehaBc42gdjE22L0rLWPVSX3L9+iSNtqttyF4y4QWe8KmsJrQRvfRJ5mxcdSdU6+AWawOSJ8ppt0oegvWBh4h2pCF2YI9Sqnjsyaf+lugeveCDTkZqw+oEcvSX0lujDzr111iJ0K/SJXvaAnym/EiqwFnH8Mp8LT4s0pUshrkZ0+vO++TGn8KRv3oZiRvFnkHHYL37rKUMW7nMIQwxSgFgcieUNrwjhCZRkg==luKL-----END PGP SIGNATURE-----

N
(name . Chris Marusich)(address . cmmarusich@gmail.com)
20171117205734.63tbjhxqbcw6sis7@abyayala
ng0 transcribed 22K bytes:
Toggle quote (3 lines)> New version appended. i3lock-fancy needs some fixes, but I can confirm> that i3lock-color works!
in i3lock-fancy script:
# try to use a forked version of i3lock with prepared parametersif ! /gnu/store/kfymvwgm4g0avs3b97micq8477sa0if6-i3lock-color-2.9.1-c/bin/i3lock "${param_add[@]}" "${param[@]}" -i "$image" > /dev/null 2>&1; then # We have failed, lets get back to stock one i3lock "${param_add[@]}" -i "$image"fi

Would /run/current-system/profile/bin/i3lock-fancy be better?The most realistic scenario I see is to just set 'i3lock' andpropagate i3lock-color with i3lock-fancy.
Toggle quote (524 lines)> ng0 transcribed 12K bytes:> > Hi Chris,> > > > thanks for your input. I think I was just stuck by too many> > repetive attempts. Thanks for a fresh view :)> > I'll send applied changes as soon as I can (probably next week).> > > > Chris Marusich transcribed 11K bytes:> > > <ng0@pragmatique.xyz> writes:> > > > > > > I have no idea about the error of i3lock-fancy (password is not> > > > accepted). An commented phase in i3lock-color is still included where> > > > I tried to fix this, but I don't know much about PAM at this point.> > > > > > When I checked using "guix system vm", the reason i3lock refused to> > > accept the password was because it could not read /etc/shadow. One> > > solution to this problem is to do both of the following:> > > > > > 1) Do not wrap i3lock in a wrapper script.> > > > > > 2) Install the i3lock executable as setuid-root.> > > > Oh, 2 was what I was thinking of that might fix> > it. I just had no time to test it.> > > > > When installing i3lock as a setuid-root program, it is important not to> > > wrap it in a script. It is common in UNIX-like systems to ignore the> > > setuid bit when the program is an interpreted script instead of an> > > executable (a simple Internet search for a phrase like "setuid bash> > > script" will provide lots of supporting information about this). If you> > > do (2) without also removing the wrapping logic that you put into the> > > package definition, you will find that i3lock still rejects your> > > password - this is because it still can't read /etc/shadow.> > > > > > The attached patch is a revised version of your first patch to add> > > i3lock-color. I have basically just removed the wrapping phase. To> > > install it setuid-root along with an appropriate PAM configuration file,> > > just add a screen-locker service like the following to your services in> > > your operating system declaration:> > > > > > (screen-locker-service i3lock-color "i3lock")> > > > > > Note that this will create an appropriate PAM configuration file at> > > /etc/pam.d/i3lock, so you don't need to bother messing around with the> > > PAM configuration file that comes with i3lock-color.> > > > > > I haven't looked at the fancy version yet. I'll check it out when I get> > > a little more time.> > > > The fancy version is basically a fork with some more fancy visual elements.> > It should be similar.> > > > > > + %D%/packages/patches/hypre-doc-tables.patch \> > > > + %D%/packages/patches/hypre-ldflags.patch \> > > > > > Did you intend to include these in the patch? They aren't used, so I've> > > removed them in my version of the patch.> > > > Many weeks ago, I don't know what happened there.> > Maybe a mistake in rebase.> > > > > > +---> > > > + Makefile | 7 +------> > > > + 1 file changed, 1 insertion(+), 6 deletions(-)> > > > +> > > > +diff --git a/Makefile b/Makefile> > > > +index c0fe888..b4b6cd9 100644> > > > +--- a/Makefile> > > > ++++ b/Makefile> > > > +@@ -6,11 +6,6 @@ SYSCONFDIR=/etc> > > > + PKG_CONFIG=pkg-config> > > > + MANDIR=/usr/share/man> > > > + > > > > +-# Check if pkg-config is installed, we need it for building CFLAGS/LIBS> > > > +-ifeq ($(shell which $(PKG_CONFIG) 2>/dev/null 1>/dev/null || echo 1),1)> > > > +-$(error "$(PKG_CONFIG) was not found")> > > > +-endif> > > > +-> > > > + CFLAGS += -std=c99> > > > + CFLAGS += -pipe> > > > + CFLAGS += -Wall> > > > +@@ -18,7 +13,7 @@ CFLAGS += -O2> > > > + SIMD_CFLAGS += -funroll-loops> > > > + SIMD_CFLAGS += -msse2> > > > + CPPFLAGS += -D_GNU_SOURCE> > > > +-CPPFLAGS += -DXKBCOMPOSE=$(shell if test -e /usr/include/xkbcommon/xkbcommon-compose.h ; then echo 1 ; else echo 0 ; fi )> > > > ++CPPFLAGS += -DXKBCOMPOSE=1> > > > + CFLAGS += $(shell $(PKG_CONFIG) --cflags cairo xcb-composite xcb-xinerama xcb-atom xcb-image xcb-xkb xkbcommon xkbcommon-x11)> > > > + LIBS += $(shell $(PKG_CONFIG) --libs cairo xcb-composite xcb-xinerama xcb-atom xcb-image xcb-xkb xkbcommon xkbcommon-x11)> > > > + LIBS += -lpam> > > > +-- > > > > +2.13.0> > > > > > FYI, it looks like maybe we could probably remove this patch file> > > entirely, and just use substitute* to modify the Makefile, if we> > > provided the "which" program as an input. Specifically, if the which> > > program were present, then probably the check you removed would> > > succeed. I haven't tried it myself, though.> > > > Okay, I will give it a try.> > > > > > -;;; Copyright (c) 2016, 2017 ng0 <contact.ng0@cryptolab.net>> > > > +;;; Copyright (c) 2016, 2017 ng0 <ng0@no-reply.pragmatique.xyz>> > > > > > FYI, the contact.ng0@cryptolab.net email address is still mentioned in> > > multiple other files, too.> > > > Yes. I'm only changing addresses once I touch the file. So old> > addresses might be in there for a long time. Otoh, I will> > prepare a patch and change all my header addresses.> > > > > > + (description> > > > + "I3lock-color is a screen locker. It is a re-patched version of> > > > +i3lock, which is a simple screen locker like slock. Features include:> > > > +> > > > +@enumerate> > > > +@item forking process, the locked screen is preserved when you suspend from RAM> > > > +@item specify background color or PNG image to be displayed in the lock screen> > > > +@item many additional color options> > > > +@end enumerate\n")> > > > > > I'm not sure if the trailing newline is necessary. Unless you beat me> > > to it, I'll check on this detail the next time I return to this thread.> > > > I've seen this multiple times before and have just followed this style.> > > > > -- > > > Chris> > > > > From 53edb9d43966ec9fbea8292608875d0c894adaea Mon Sep 17 00:00:00 2001> > > From: ng0 <ng0@no-reply.pragmatique.xyz>> > > Date: Fri, 17 Nov 2017 01:38:14 -0800> > > Subject: [PATCH] gnu: Add i3lock-color.> > > > > > * gnu/local.mk (dist_patch_DATA): Add i3lock-color-fix-makefile.patch.> > > * gnu/packages/patches/i3lock-color-fix-makefile.patch: New file.> > > * gnu/packages/wm.scm: Add i3lock-color.> > > > > > Signed-off-by: Chris Marusich <cmmarusich@gmail.com>> > > ---> > > gnu/local.mk | 1 +> > > .../patches/i3lock-color-fix-makefile.patch | 38 +++++++++++++> > > gnu/packages/wm.scm | 66 ++++++++++++++++++++++> > > 3 files changed, 105 insertions(+)> > > create mode 100644 gnu/packages/patches/i3lock-color-fix-makefile.patch> > > > > > diff --git a/gnu/local.mk b/gnu/local.mk> > > index 61bebe662..575d88506 100644> > > --- a/gnu/local.mk> > > +++ b/gnu/local.mk> > > @@ -738,6 +738,7 @@ dist_patch_DATA = \> > > %D%/packages/patches/hubbub-sort-entities.patch \> > > %D%/packages/patches/hurd-fix-eth-multiplexer-dependency.patch \> > > %D%/packages/patches/hydra-disable-darcs-test.patch \> > > + %D%/packages/patches/i3lock-color-fix-makefile.patch \> > > %D%/packages/patches/icecat-avoid-bundled-libraries.patch \> > > %D%/packages/patches/icu4c-CVE-2017-7867-CVE-2017-7868.patch \> > > %D%/packages/patches/icu4c-CVE-2017-14952.patch \> > > diff --git a/gnu/packages/patches/i3lock-color-fix-makefile.patch b/gnu/packages/patches/i3lock-color-fix-makefile.patch> > > new file mode 100644> > > index 000000000..8243dc548> > > --- /dev/null> > > +++ b/gnu/packages/patches/i3lock-color-fix-makefile.patch> > > @@ -0,0 +1,38 @@> > > +From eaca36ed78bafb82bd51a9e83c6445ef8f1698c8 Mon Sep 17 00:00:00 2001> > > +From: ng0 <ng0@no-reply.pragmatique.xyz>> > > +Date: Mon, 22 May 2017 18:22:19 +0000> > > +Subject: [PATCH] This fix to the Makefile is required to make i3lock-color> > > + build on Guix.> > > +> > > +---> > > + Makefile | 7 +------> > > + 1 file changed, 1 insertion(+), 6 deletions(-)> > > +> > > +diff --git a/Makefile b/Makefile> > > +index c0fe888..b4b6cd9 100644> > > +--- a/Makefile> > > ++++ b/Makefile> > > +@@ -6,11 +6,6 @@ SYSCONFDIR=/etc> > > + PKG_CONFIG=pkg-config> > > + MANDIR=/usr/share/man> > > + > > > +-# Check if pkg-config is installed, we need it for building CFLAGS/LIBS> > > +-ifeq ($(shell which $(PKG_CONFIG) 2>/dev/null 1>/dev/null || echo 1),1)> > > +-$(error "$(PKG_CONFIG) was not found")> > > +-endif> > > +-> > > + CFLAGS += -std=c99> > > + CFLAGS += -pipe> > > + CFLAGS += -Wall> > > +@@ -18,7 +13,7 @@ CFLAGS += -O2> > > + SIMD_CFLAGS += -funroll-loops> > > + SIMD_CFLAGS += -msse2> > > + CPPFLAGS += -D_GNU_SOURCE> > > +-CPPFLAGS += -DXKBCOMPOSE=$(shell if test -e /usr/include/xkbcommon/xkbcommon-compose.h ; then echo 1 ; else echo 0 ; fi )> > > ++CPPFLAGS += -DXKBCOMPOSE=1> > > + CFLAGS += $(shell $(PKG_CONFIG) --cflags cairo xcb-composite xcb-xinerama xcb-atom xcb-image xcb-xkb xkbcommon xkbcommon-x11)> > > + LIBS += $(shell $(PKG_CONFIG) --libs cairo xcb-composite xcb-xinerama xcb-atom xcb-image xcb-xkb xkbcommon xkbcommon-x11)> > > + LIBS += -lpam> > > +-- > > > +2.13.0> > > +> > > diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm> > > index 09c10eaa0..3d5a0ef7a 100644> > > --- a/gnu/packages/wm.scm> > > +++ b/gnu/packages/wm.scm> > > @@ -66,6 +66,7 @@> > > #:use-module (gnu packages gperf)> > > #:use-module (gnu packages imagemagick)> > > #:use-module (gnu packages lua)> > > + #:use-module (gnu packages linux)> > > #:use-module (gnu packages suckless)> > > #:use-module (guix download)> > > #:use-module (guix git-download))> > > @@ -333,6 +334,71 @@ and locate windows on all your workspaces, using an interactive dmenu> > > prompt.")> > > (license (license:non-copyleft "http://www.wtfpl.net/txt/copying/")))))> > > > > > +;; The last release is from 2015, use the git commit.> > > +(define-public i3lock-color> > > + (let ((commit "275ff68f6a6b7985c65fbaac537f4c018b47942f")> > > + (revision "1"))> > > + (package> > > + (name "i3lock-color")> > > + (version (string-append "2.8-" revision "." (string-take commit 7)))> > > + (source> > > + (origin> > > + (method git-fetch)> > > + (uri (git-reference> > > + (url "https://github.com/chrjguill/i3lock-color")> > > + (commit commit)))> > > + (file-name (string-append name "-" version "-checkout"))> > > + (snippet> > > + ;; The Makefile is read-only, we are going to patch it.> > > + '(chmod "Makefile" #o755))> > > + (patches (search-patches "i3lock-color-fix-makefile.patch"))> > > + (sha256> > > + (base32> > > + "1qhxqj1gwmf473b4b1bfqxdxiw1y6gq9rf97d77jc9s9z267fjm5"))))> > > + (build-system gnu-build-system)> > > + (arguments> > > + `(#:tests? #f ; No tests included.> > > + #:make-flags (list "CC=gcc")> > > + #:phases> > > + (modify-phases %standard-phases> > > + (replace 'configure> > > + (lambda* (#:key outputs #:allow-other-keys)> > > + (let* ((out (assoc-ref outputs "out"))> > > + (man (string-append out "/share/man"))> > > + (etc (string-append out "/etc")))> > > + (substitute* "Makefile"> > > + (("PREFIX=/usr")> > > + (string-append "PREFIX=" out))> > > + (("SYSCONFDIR=/etc")> > > + (string-append "SYSCONFDIR=" etc))> > > + (("MANDIR=/usr/share/man")> > > + (string-append "MANDIR=" man)))> > > + #t))))))> > > + (inputs> > > + `(("xcb-util-image" ,xcb-util-image)> > > + ("xcb-util-keysyms" ,xcb-util-keysyms)> > > + ("xcb-util" ,xcb-util)> > > + ("libxcb" ,libxcb)> > > + ("linux-pam" ,linux-pam)> > > + ("libev" ,libev)> > > + ("libx11" ,libx11)> > > + ("cairo" ,cairo)))> > > + (native-inputs> > > + `(("libxkbcommon" ,libxkbcommon)> > > + ("pkg-config" ,pkg-config)))> > > + (home-page "https://github.com/chrjguill/i3lock-color")> > > + (synopsis "Screenlocker with color configuration support")> > > + (description> > > + "I3lock-color is a screen locker. It is a re-patched version of> > > +i3lock, which is a simple screen locker like slock. Features include:> > > +> > > +@enumerate> > > +@item forking process, the locked screen is preserved when you suspend from RAM> > > +@item specify background color or PNG image to be displayed in the lock screen> > > +@item many additional color options> > > +@end enumerate\n")> > > + (license license:bsd-3))))> > > +> > > (define-public xmonad> > > (package> > > (name "xmonad")> > > -- > > > 2.14.2> > > > > > > > > > > > > -- > > GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588> > GnuPG: https://dl.n0.is/dist/keys/> > WWW: https://we.make.ritual.n0.is> > > > -- > GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588> GnuPG: https://dl.n0.is/dist/keys/> WWW: https://we.make.ritual.n0.is
> From ba2a83195afb10ca7c65833f81cdc10748212873 Mon Sep 17 00:00:00 2001> From: ng0 <contact.ng0@cryptolab.net>> Date: Tue, 24 Jan 2017 13:03:42 +0000> Subject: [PATCH 1/2] gnu: Add i3lock-color.> > * gnu/packages/wm.scm (i3lock-color): New variable.> ---> gnu/local.mk | 1 +> gnu/packages/wm.scm | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++++> 2 files changed, 69 insertions(+)> > diff --git a/gnu/local.mk b/gnu/local.mk> index 54d1ac91c..2ec5844dc 100644> --- a/gnu/local.mk> +++ b/gnu/local.mk> @@ -744,6 +744,7 @@ dist_patch_DATA = \> %D%/packages/patches/hubbub-sort-entities.patch \> %D%/packages/patches/hurd-fix-eth-multiplexer-dependency.patch \> %D%/packages/patches/hydra-disable-darcs-test.patch \> + %D%/packages/patches/i3lock-color-fix-makefile.patch \> %D%/packages/patches/icecat-avoid-bundled-libraries.patch \> %D%/packages/patches/icecat-bug-1348660-pt5.patch \> %D%/packages/patches/icecat-bug-1415133.patch \> diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm> index 62a5b5460..e4db72a6f 100644> --- a/gnu/packages/wm.scm> +++ b/gnu/packages/wm.scm> @@ -68,6 +68,7 @@> #:use-module (gnu packages gperf)> #:use-module (gnu packages imagemagick)> #:use-module (gnu packages lua)> + #:use-module (gnu packages linux)> #:use-module (gnu packages suckless)> #:use-module (guix download)> #:use-module (guix git-download))> @@ -335,6 +336,73 @@ and locate windows on all your workspaces, using an interactive dmenu> prompt.")> (license (license:non-copyleft "http://www.wtfpl.net/txt/copying/")))))> > +(define-public i3lock-color> + (package> + (name "i3lock-color")> + (version "2.9.1-c")> + (source> + (origin> + (method url-fetch)> + (uri (string-append "https://github.com/chrjguill/i3lock-color/"> + "archive/" version ".tar.gz"))> + (file-name (string-append name "-" version ".tar.gz"))> + (sha256> + (base32> + "18ql0kb24qlqsijs6j99algf2lprl78mzsz53b1hshmc8jjd4m27"))))> + (build-system gnu-build-system)> + (arguments> + `(#:tests? #f ; No tests included.> + #:make-flags (list "CC=gcc")> + #:phases> + (modify-phases %standard-phases> + (replace 'configure> + (lambda* (#:key outputs inputs #:allow-other-keys)> + (let* ((out (assoc-ref outputs "out"))> + (etc (string-append out "/etc"))> + (man (string-append out "/share/man"))> + (xkb (assoc-ref inputs "libxkbcommon"))> + (xkbheader (string-append xkb> + "/include/xkbcommon/"> + "xkbcommon-compose.h")))> + (substitute* "Makefile"> + (("PKG_CONFIG=pkg-config")> + (string-append "PKG_CONFIG="> + (which "pkg-config")))> + (("/usr/include/xkbcommon/xkbcommon-compose.h")> + xkbheader)> + (("PREFIX=/usr")> + (string-append "PREFIX=" out))> + (("SYSCONFDIR=/etc")> + (string-append "SYSCONFDIR=" etc))> + (("MANDIR=/usr/share/man")> + (string-append "MANDIR=" man)))> + #t))))))> + (inputs> + `(("xcb-util-image" ,xcb-util-image)> + ("xcb-util-keysyms" ,xcb-util-keysyms)> + ("xcb-util" ,xcb-util)> + ("libxcb" ,libxcb)> + ("linux-pam" ,linux-pam)> + ("libev" ,libev)> + ("libx11" ,libx11)> + ("cairo" ,cairo)))> + (native-inputs> + `(("libxkbcommon" ,libxkbcommon)> + ("pkg-config" ,pkg-config)> + ("which" ,which)))> + (home-page "https://github.com/chrjguill/i3lock-color")> + (synopsis "Screenlocker with color configuration support")> + (description> + "I3lock-color is a screen locker. It is a re-patched version of> +i3lock, which is a simple screen locker like slock. Features include:> +> +@enumerate> +@item forking process, the locked screen is preserved when you suspend from RAM> +@item specify background color or PNG image to be displayed in the lock screen> +@item many additional color options> +@end enumerate\n")> + (license license:bsd-3)))> +> (define-public xmonad> (package> (name "xmonad")> -- > 2.15.0>
> From 49f8940d64ecab73d246d7652ba7358b748d0c2d Mon Sep 17 00:00:00 2001> From: ng0 <contact.ng0@cryptolab.net>> Date: Tue, 24 Jan 2017 15:57:13 +0000> Subject: [PATCH 2/2] gnu: Add i3lock-fancy.> > * gnu/packages/wm.scm (i3lock-fancy): New variable.> ---> gnu/packages/wm.scm | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++> 1 file changed, 71 insertions(+)> > diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm> index e4db72a6f..cf861e77e 100644> --- a/gnu/packages/wm.scm> +++ b/gnu/packages/wm.scm> @@ -44,6 +44,7 @@> #:use-module (gnu packages haskell)> #:use-module (gnu packages haskell-check)> #:use-module (gnu packages haskell-web)> + #:use-module (gnu packages gawk)> #:use-module (gnu packages base)> #:use-module (gnu packages pkg-config)> #:use-module (gnu packages perl)> @@ -403,6 +404,76 @@ i3lock, which is a simple screen locker like slock. Features include:> @end enumerate\n")> (license license:bsd-3)))> > +(define-public i3lock-fancy> + (package> + (name "i3lock-fancy")> + (version "0.2")> + (source> + (origin> + (method url-fetch)> + (uri (string-append "https://github.com/meskarune/i3lock-fancy/archive/"> + version ".tar.gz"))> + (file-name (string-append name "-" version ".tar.gz"))> + (sha256> + (base32> + "020m7mnfq5cvir7p9v3hkb7cvb4cai33wppxl2zdwscwwjnchc5y"))))> + (build-system gnu-build-system)> + (arguments> + `(#:tests? #f ;No tests included> + #:phases> + (modify-phases %standard-phases> + (replace 'configure> + (lambda* (#:key inputs outputs #:allow-other-keys)> + (let* ((out (assoc-ref outputs "out"))> + (icons (string-append out "/share/i3lock-fancy/icons/"))> + (i3lock (string-append (assoc-ref inputs "i3lock-color")> + "/bin/i3lock"))> + (wmctrl (string-append (assoc-ref inputs "wmctrl")> + "/bin/wmctrl"))> + (mconvert (string-append (assoc-ref inputs "imagemagick")> + "/bin/convert"))> + (mimport (string-append (assoc-ref inputs "imagemagick")> + "/bin/import"))> + (awk (string-append (assoc-ref inputs "gawk")> + "/bin/gawk")))> +> + (substitute* "lock"> + (("if ! i3lock") (string-append "if ! " i3lock))> + (("i3lock -n") (string-append i3lock " -n"))> + (("$(which wmctrl)") wmctrl)> + (("convert") mconvert)> + (("shot=\\(import") (string-append "shot=\(" mimport))> + (("awk -F") (string-append awk " -F"))> + ((" awk") awk)> + (("\\$scriptpath/icons/") icons))> + #t)))> + (delete 'build)> + (replace 'install> + (lambda* (#:key inputs outputs #:allow-other-keys)> + (let* ((out (assoc-ref outputs "out"))> + (bin (string-append out "/bin"))> + (icons (string-append out "/share/i3lock-fancy/icons/")))> +> + (install-file "lock" bin)> + (rename-file (string-append bin "/lock")> + (string-append bin "/i3lock-fancy"))> + (copy-recursively "icons" icons)> + #t))))))> + (native-inputs> + `(("imagemagick" ,imagemagick)> + ("i3lock-color" ,i3lock-color)> + ("wmctrl" ,wmctrl)> + ("gawk" ,gawk)))> + (home-page "https://github.com/meskarune/i3lock-fancy")> + (synopsis "Screenlocker with screenshot function")> + (description> + "@code{i3lock-fancy} is a Bash script that takes a screenshot of> +the desktop, blurs the background and adds a lock icon and text.> +It makes use of @code{i3lock-color} and can optionally be passed any> +screenshot util like @code{scrot}. This screenlocker can be used with> +any window manager or desktop environment.")> + (license license:expat)))> +> (define-public xmonad> (package> (name "xmonad")> -- > 2.15.0>



-- GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588GnuPG: https://dl.n0.is/dist/keys/ WWW: https://we.make.ritual.n0.is
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEqIyK3RKYKNfqwC5S4i+bv+40hYgFAloPTT0ACgkQ4i+bv+40hYjxpxAAgQGbXIPGfUtaD0F11Z/o5mO5gY8Osg4XaQiWXgBeSVUNEw6eKitTcEw4aQBi2kgyNrgPqG9fJwa41l61EyJ0qMEQvrMcQLtrdCp5OpzXCF8IyTr7+AuDCRAWhmxGFhi/J7Pkb/AMNkMi2w8NztsjefVskSgNpsPlYHb8sX8DALk24Qqv5EIY3OazfOQ5ng/BfaI9zsst4oD2XX/B9+o1UaCEe+tuFreax2PGO1fHdKI/C1SK4SCutq2HSyV8OFIT5FzjBKSq9zsrdnSVo7IwLqB7Lh9Vvx0ZkaUIWAsNRjHd+5ICYBZULwtSutBI6ypbEfNpzUUh4lL3Ib7fZiX5bsQY+v+1L1hKcrXmKFyXqxojQXa3d/OD5tlr4i6SAmkbqK4j4/lCvVB67gTXx0Jmdo95v74f227q7IZVEj21RiiRemKq488naugEy7Um//axjcDMkxXUPxec3MdxW7fHeAm9P69uLN2CFFd8CrLcAIJH+WyszFs0Xp5m5a5Y56fD7/T73BuGy9YH3OxfkPUiKZuPZYxB7HMNxbrT7V2hSx2q+wYT0aoaelPxfv3URfseoROeDVvVXo8O8x/9UUI631Bh7Ma+ldB8Y9Ze/rgX2vao3zhKeD10rrIMu0rY+xgXEQyVEB5CXMitINnGOQZQ+MKGOrStuRvPqAfqyQQezSg==hYUU-----END PGP SIGNATURE-----

N
(name . Chris Marusich)(address . cmmarusich@gmail.com)
20171117210211.vdauzbvhrjubwamt@abyayala
ng0 transcribed 23K bytes:
Toggle quote (17 lines)> ng0 transcribed 22K bytes:> > New version appended. i3lock-fancy needs some fixes, but I can confirm> > that i3lock-color works!> > in i3lock-fancy script:> > # try to use a forked version of i3lock with prepared parameters> if ! /gnu/store/kfymvwgm4g0avs3b97micq8477sa0if6-i3lock-color-2.9.1-c/bin/i3lock "${param_add[@]}" "${param[@]}" -i "$image" > /dev/null 2>&1; then> # We have failed, lets get back to stock one> i3lock "${param_add[@]}" -i "$image"> fi> > > Would /run/current-system/profile/bin/i3lock-fancy be better?> The most realistic scenario I see is to just set 'i3lock' and> propagate i3lock-color with i3lock-fancy.
I have just copied /run/current-system/profile/bin/i3lock-fancy to $HOME/i3lock-fancyand changed the /gnu/store/kfymvwgm4g0avs3b97micq8477sa0if6-i3lock-color-2.9.1-c/bin/i3lockbit to read just "i3lock". This way i3lock-fancy works for me.There's a general 'lag' in both i3lock-color and i3lock-fancy, butI blame my Desktop.
I'll send an update soon.
Toggle quote (531 lines)> > ng0 transcribed 12K bytes:> > > Hi Chris,> > > > > > thanks for your input. I think I was just stuck by too many> > > repetive attempts. Thanks for a fresh view :)> > > I'll send applied changes as soon as I can (probably next week).> > > > > > Chris Marusich transcribed 11K bytes:> > > > <ng0@pragmatique.xyz> writes:> > > > > > > > > I have no idea about the error of i3lock-fancy (password is not> > > > > accepted). An commented phase in i3lock-color is still included where> > > > > I tried to fix this, but I don't know much about PAM at this point.> > > > > > > > When I checked using "guix system vm", the reason i3lock refused to> > > > accept the password was because it could not read /etc/shadow. One> > > > solution to this problem is to do both of the following:> > > > > > > > 1) Do not wrap i3lock in a wrapper script.> > > > > > > > 2) Install the i3lock executable as setuid-root.> > > > > > Oh, 2 was what I was thinking of that might fix> > > it. I just had no time to test it.> > > > > > > When installing i3lock as a setuid-root program, it is important not to> > > > wrap it in a script. It is common in UNIX-like systems to ignore the> > > > setuid bit when the program is an interpreted script instead of an> > > > executable (a simple Internet search for a phrase like "setuid bash> > > > script" will provide lots of supporting information about this). If you> > > > do (2) without also removing the wrapping logic that you put into the> > > > package definition, you will find that i3lock still rejects your> > > > password - this is because it still can't read /etc/shadow.> > > > > > > > The attached patch is a revised version of your first patch to add> > > > i3lock-color. I have basically just removed the wrapping phase. To> > > > install it setuid-root along with an appropriate PAM configuration file,> > > > just add a screen-locker service like the following to your services in> > > > your operating system declaration:> > > > > > > > (screen-locker-service i3lock-color "i3lock")> > > > > > > > Note that this will create an appropriate PAM configuration file at> > > > /etc/pam.d/i3lock, so you don't need to bother messing around with the> > > > PAM configuration file that comes with i3lock-color.> > > > > > > > I haven't looked at the fancy version yet. I'll check it out when I get> > > > a little more time.> > > > > > The fancy version is basically a fork with some more fancy visual elements.> > > It should be similar.> > > > > > > > + %D%/packages/patches/hypre-doc-tables.patch \> > > > > + %D%/packages/patches/hypre-ldflags.patch \> > > > > > > > Did you intend to include these in the patch? They aren't used, so I've> > > > removed them in my version of the patch.> > > > > > Many weeks ago, I don't know what happened there.> > > Maybe a mistake in rebase.> > > > > > > > +---> > > > > + Makefile | 7 +------> > > > > + 1 file changed, 1 insertion(+), 6 deletions(-)> > > > > +> > > > > +diff --git a/Makefile b/Makefile> > > > > +index c0fe888..b4b6cd9 100644> > > > > +--- a/Makefile> > > > > ++++ b/Makefile> > > > > +@@ -6,11 +6,6 @@ SYSCONFDIR=/etc> > > > > + PKG_CONFIG=pkg-config> > > > > + MANDIR=/usr/share/man> > > > > + > > > > > +-# Check if pkg-config is installed, we need it for building CFLAGS/LIBS> > > > > +-ifeq ($(shell which $(PKG_CONFIG) 2>/dev/null 1>/dev/null || echo 1),1)> > > > > +-$(error "$(PKG_CONFIG) was not found")> > > > > +-endif> > > > > +-> > > > > + CFLAGS += -std=c99> > > > > + CFLAGS += -pipe> > > > > + CFLAGS += -Wall> > > > > +@@ -18,7 +13,7 @@ CFLAGS += -O2> > > > > + SIMD_CFLAGS += -funroll-loops> > > > > + SIMD_CFLAGS += -msse2> > > > > + CPPFLAGS += -D_GNU_SOURCE> > > > > +-CPPFLAGS += -DXKBCOMPOSE=$(shell if test -e /usr/include/xkbcommon/xkbcommon-compose.h ; then echo 1 ; else echo 0 ; fi )> > > > > ++CPPFLAGS += -DXKBCOMPOSE=1> > > > > + CFLAGS += $(shell $(PKG_CONFIG) --cflags cairo xcb-composite xcb-xinerama xcb-atom xcb-image xcb-xkb xkbcommon xkbcommon-x11)> > > > > + LIBS += $(shell $(PKG_CONFIG) --libs cairo xcb-composite xcb-xinerama xcb-atom xcb-image xcb-xkb xkbcommon xkbcommon-x11)> > > > > + LIBS += -lpam> > > > > +-- > > > > > +2.13.0> > > > > > > > FYI, it looks like maybe we could probably remove this patch file> > > > entirely, and just use substitute* to modify the Makefile, if we> > > > provided the "which" program as an input. Specifically, if the which> > > > program were present, then probably the check you removed would> > > > succeed. I haven't tried it myself, though.> > > > > > Okay, I will give it a try.> > > > > > > > -;;; Copyright (c) 2016, 2017 ng0 <contact.ng0@cryptolab.net>> > > > > +;;; Copyright (c) 2016, 2017 ng0 <ng0@no-reply.pragmatique.xyz>> > > > > > > > FYI, the contact.ng0@cryptolab.net email address is still mentioned in> > > > multiple other files, too.> > > > > > Yes. I'm only changing addresses once I touch the file. So old> > > addresses might be in there for a long time. Otoh, I will> > > prepare a patch and change all my header addresses.> > > > > > > > + (description> > > > > + "I3lock-color is a screen locker. It is a re-patched version of> > > > > +i3lock, which is a simple screen locker like slock. Features include:> > > > > +> > > > > +@enumerate> > > > > +@item forking process, the locked screen is preserved when you suspend from RAM> > > > > +@item specify background color or PNG image to be displayed in the lock screen> > > > > +@item many additional color options> > > > > +@end enumerate\n")> > > > > > > > I'm not sure if the trailing newline is necessary. Unless you beat me> > > > to it, I'll check on this detail the next time I return to this thread.> > > > > > I've seen this multiple times before and have just followed this style.> > > > > > > -- > > > > Chris> > > > > > > From 53edb9d43966ec9fbea8292608875d0c894adaea Mon Sep 17 00:00:00 2001> > > > From: ng0 <ng0@no-reply.pragmatique.xyz>> > > > Date: Fri, 17 Nov 2017 01:38:14 -0800> > > > Subject: [PATCH] gnu: Add i3lock-color.> > > > > > > > * gnu/local.mk (dist_patch_DATA): Add i3lock-color-fix-makefile.patch.> > > > * gnu/packages/patches/i3lock-color-fix-makefile.patch: New file.> > > > * gnu/packages/wm.scm: Add i3lock-color.> > > > > > > > Signed-off-by: Chris Marusich <cmmarusich@gmail.com>> > > > ---> > > > gnu/local.mk | 1 +> > > > .../patches/i3lock-color-fix-makefile.patch | 38 +++++++++++++> > > > gnu/packages/wm.scm | 66 ++++++++++++++++++++++> > > > 3 files changed, 105 insertions(+)> > > > create mode 100644 gnu/packages/patches/i3lock-color-fix-makefile.patch> > > > > > > > diff --git a/gnu/local.mk b/gnu/local.mk> > > > index 61bebe662..575d88506 100644> > > > --- a/gnu/local.mk> > > > +++ b/gnu/local.mk> > > > @@ -738,6 +738,7 @@ dist_patch_DATA = \> > > > %D%/packages/patches/hubbub-sort-entities.patch \> > > > %D%/packages/patches/hurd-fix-eth-multiplexer-dependency.patch \> > > > %D%/packages/patches/hydra-disable-darcs-test.patch \> > > > + %D%/packages/patches/i3lock-color-fix-makefile.patch \> > > > %D%/packages/patches/icecat-avoid-bundled-libraries.patch \> > > > %D%/packages/patches/icu4c-CVE-2017-7867-CVE-2017-7868.patch \> > > > %D%/packages/patches/icu4c-CVE-2017-14952.patch \> > > > diff --git a/gnu/packages/patches/i3lock-color-fix-makefile.patch b/gnu/packages/patches/i3lock-color-fix-makefile.patch> > > > new file mode 100644> > > > index 000000000..8243dc548> > > > --- /dev/null> > > > +++ b/gnu/packages/patches/i3lock-color-fix-makefile.patch> > > > @@ -0,0 +1,38 @@> > > > +From eaca36ed78bafb82bd51a9e83c6445ef8f1698c8 Mon Sep 17 00:00:00 2001> > > > +From: ng0 <ng0@no-reply.pragmatique.xyz>> > > > +Date: Mon, 22 May 2017 18:22:19 +0000> > > > +Subject: [PATCH] This fix to the Makefile is required to make i3lock-color> > > > + build on Guix.> > > > +> > > > +---> > > > + Makefile | 7 +------> > > > + 1 file changed, 1 insertion(+), 6 deletions(-)> > > > +> > > > +diff --git a/Makefile b/Makefile> > > > +index c0fe888..b4b6cd9 100644> > > > +--- a/Makefile> > > > ++++ b/Makefile> > > > +@@ -6,11 +6,6 @@ SYSCONFDIR=/etc> > > > + PKG_CONFIG=pkg-config> > > > + MANDIR=/usr/share/man> > > > + > > > > +-# Check if pkg-config is installed, we need it for building CFLAGS/LIBS> > > > +-ifeq ($(shell which $(PKG_CONFIG) 2>/dev/null 1>/dev/null || echo 1),1)> > > > +-$(error "$(PKG_CONFIG) was not found")> > > > +-endif> > > > +-> > > > + CFLAGS += -std=c99> > > > + CFLAGS += -pipe> > > > + CFLAGS += -Wall> > > > +@@ -18,7 +13,7 @@ CFLAGS += -O2> > > > + SIMD_CFLAGS += -funroll-loops> > > > + SIMD_CFLAGS += -msse2> > > > + CPPFLAGS += -D_GNU_SOURCE> > > > +-CPPFLAGS += -DXKBCOMPOSE=$(shell if test -e /usr/include/xkbcommon/xkbcommon-compose.h ; then echo 1 ; else echo 0 ; fi )> > > > ++CPPFLAGS += -DXKBCOMPOSE=1> > > > + CFLAGS += $(shell $(PKG_CONFIG) --cflags cairo xcb-composite xcb-xinerama xcb-atom xcb-image xcb-xkb xkbcommon xkbcommon-x11)> > > > + LIBS += $(shell $(PKG_CONFIG) --libs cairo xcb-composite xcb-xinerama xcb-atom xcb-image xcb-xkb xkbcommon xkbcommon-x11)> > > > + LIBS += -lpam> > > > +-- > > > > +2.13.0> > > > +> > > > diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm> > > > index 09c10eaa0..3d5a0ef7a 100644> > > > --- a/gnu/packages/wm.scm> > > > +++ b/gnu/packages/wm.scm> > > > @@ -66,6 +66,7 @@> > > > #:use-module (gnu packages gperf)> > > > #:use-module (gnu packages imagemagick)> > > > #:use-module (gnu packages lua)> > > > + #:use-module (gnu packages linux)> > > > #:use-module (gnu packages suckless)> > > > #:use-module (guix download)> > > > #:use-module (guix git-download))> > > > @@ -333,6 +334,71 @@ and locate windows on all your workspaces, using an interactive dmenu> > > > prompt.")> > > > (license (license:non-copyleft "http://www.wtfpl.net/txt/copying/")))))> > > > > > > > +;; The last release is from 2015, use the git commit.> > > > +(define-public i3lock-color> > > > + (let ((commit "275ff68f6a6b7985c65fbaac537f4c018b47942f")> > > > + (revision "1"))> > > > + (package> > > > + (name "i3lock-color")> > > > + (version (string-append "2.8-" revision "." (string-take commit 7)))> > > > + (source> > > > + (origin> > > > + (method git-fetch)> > > > + (uri (git-reference> > > > + (url "https://github.com/chrjguill/i3lock-color")> > > > + (commit commit)))> > > > + (file-name (string-append name "-" version "-checkout"))> > > > + (snippet> > > > + ;; The Makefile is read-only, we are going to patch it.> > > > + '(chmod "Makefile" #o755))> > > > + (patches (search-patches "i3lock-color-fix-makefile.patch"))> > > > + (sha256> > > > + (base32> > > > + "1qhxqj1gwmf473b4b1bfqxdxiw1y6gq9rf97d77jc9s9z267fjm5"))))> > > > + (build-system gnu-build-system)> > > > + (arguments> > > > + `(#:tests? #f ; No tests included.> > > > + #:make-flags (list "CC=gcc")> > > > + #:phases> > > > + (modify-phases %standard-phases> > > > + (replace 'configure> > > > + (lambda* (#:key outputs #:allow-other-keys)> > > > + (let* ((out (assoc-ref outputs "out"))> > > > + (man (string-append out "/share/man"))> > > > + (etc (string-append out "/etc")))> > > > + (substitute* "Makefile"> > > > + (("PREFIX=/usr")> > > > + (string-append "PREFIX=" out))> > > > + (("SYSCONFDIR=/etc")> > > > + (string-append "SYSCONFDIR=" etc))> > > > + (("MANDIR=/usr/share/man")> > > > + (string-append "MANDIR=" man)))> > > > + #t))))))> > > > + (inputs> > > > + `(("xcb-util-image" ,xcb-util-image)> > > > + ("xcb-util-keysyms" ,xcb-util-keysyms)> > > > + ("xcb-util" ,xcb-util)> > > > + ("libxcb" ,libxcb)> > > > + ("linux-pam" ,linux-pam)> > > > + ("libev" ,libev)> > > > + ("libx11" ,libx11)> > > > + ("cairo" ,cairo)))> > > > + (native-inputs> > > > + `(("libxkbcommon" ,libxkbcommon)> > > > + ("pkg-config" ,pkg-config)))> > > > + (home-page "https://github.com/chrjguill/i3lock-color")> > > > + (synopsis "Screenlocker with color configuration support")> > > > + (description> > > > + "I3lock-color is a screen locker. It is a re-patched version of> > > > +i3lock, which is a simple screen locker like slock. Features include:> > > > +> > > > +@enumerate> > > > +@item forking process, the locked screen is preserved when you suspend from RAM> > > > +@item specify background color or PNG image to be displayed in the lock screen> > > > +@item many additional color options> > > > +@end enumerate\n")> > > > + (license license:bsd-3))))> > > > +> > > > (define-public xmonad> > > > (package> > > > (name "xmonad")> > > > -- > > > > 2.14.2> > > > > > > > > > > > > > > > > > > -- > > > GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588> > > GnuPG: https://dl.n0.is/dist/keys/> > > WWW: https://we.make.ritual.n0.is> > > > > > > > -- > > GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588> > GnuPG: https://dl.n0.is/dist/keys/> > WWW: https://we.make.ritual.n0.is> > > From ba2a83195afb10ca7c65833f81cdc10748212873 Mon Sep 17 00:00:00 2001> > From: ng0 <contact.ng0@cryptolab.net>> > Date: Tue, 24 Jan 2017 13:03:42 +0000> > Subject: [PATCH 1/2] gnu: Add i3lock-color.> > > > * gnu/packages/wm.scm (i3lock-color): New variable.> > ---> > gnu/local.mk | 1 +> > gnu/packages/wm.scm | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++++> > 2 files changed, 69 insertions(+)> > > > diff --git a/gnu/local.mk b/gnu/local.mk> > index 54d1ac91c..2ec5844dc 100644> > --- a/gnu/local.mk> > +++ b/gnu/local.mk> > @@ -744,6 +744,7 @@ dist_patch_DATA = \> > %D%/packages/patches/hubbub-sort-entities.patch \> > %D%/packages/patches/hurd-fix-eth-multiplexer-dependency.patch \> > %D%/packages/patches/hydra-disable-darcs-test.patch \> > + %D%/packages/patches/i3lock-color-fix-makefile.patch \> > %D%/packages/patches/icecat-avoid-bundled-libraries.patch \> > %D%/packages/patches/icecat-bug-1348660-pt5.patch \> > %D%/packages/patches/icecat-bug-1415133.patch \> > diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm> > index 62a5b5460..e4db72a6f 100644> > --- a/gnu/packages/wm.scm> > +++ b/gnu/packages/wm.scm> > @@ -68,6 +68,7 @@> > #:use-module (gnu packages gperf)> > #:use-module (gnu packages imagemagick)> > #:use-module (gnu packages lua)> > + #:use-module (gnu packages linux)> > #:use-module (gnu packages suckless)> > #:use-module (guix download)> > #:use-module (guix git-download))> > @@ -335,6 +336,73 @@ and locate windows on all your workspaces, using an interactive dmenu> > prompt.")> > (license (license:non-copyleft "http://www.wtfpl.net/txt/copying/")))))> > > > +(define-public i3lock-color> > + (package> > + (name "i3lock-color")> > + (version "2.9.1-c")> > + (source> > + (origin> > + (method url-fetch)> > + (uri (string-append "https://github.com/chrjguill/i3lock-color/"> > + "archive/" version ".tar.gz"))> > + (file-name (string-append name "-" version ".tar.gz"))> > + (sha256> > + (base32> > + "18ql0kb24qlqsijs6j99algf2lprl78mzsz53b1hshmc8jjd4m27"))))> > + (build-system gnu-build-system)> > + (arguments> > + `(#:tests? #f ; No tests included.> > + #:make-flags (list "CC=gcc")> > + #:phases> > + (modify-phases %standard-phases> > + (replace 'configure> > + (lambda* (#:key outputs inputs #:allow-other-keys)> > + (let* ((out (assoc-ref outputs "out"))> > + (etc (string-append out "/etc"))> > + (man (string-append out "/share/man"))> > + (xkb (assoc-ref inputs "libxkbcommon"))> > + (xkbheader (string-append xkb> > + "/include/xkbcommon/"> > + "xkbcommon-compose.h")))> > + (substitute* "Makefile"> > + (("PKG_CONFIG=pkg-config")> > + (string-append "PKG_CONFIG="> > + (which "pkg-config")))> > + (("/usr/include/xkbcommon/xkbcommon-compose.h")> > + xkbheader)> > + (("PREFIX=/usr")> > + (string-append "PREFIX=" out))> > + (("SYSCONFDIR=/etc")> > + (string-append "SYSCONFDIR=" etc))> > + (("MANDIR=/usr/share/man")> > + (string-append "MANDIR=" man)))> > + #t))))))> > + (inputs> > + `(("xcb-util-image" ,xcb-util-image)> > + ("xcb-util-keysyms" ,xcb-util-keysyms)> > + ("xcb-util" ,xcb-util)> > + ("libxcb" ,libxcb)> > + ("linux-pam" ,linux-pam)> > + ("libev" ,libev)> > + ("libx11" ,libx11)> > + ("cairo" ,cairo)))> > + (native-inputs> > + `(("libxkbcommon" ,libxkbcommon)> > + ("pkg-config" ,pkg-config)> > + ("which" ,which)))> > + (home-page "https://github.com/chrjguill/i3lock-color")> > + (synopsis "Screenlocker with color configuration support")> > + (description> > + "I3lock-color is a screen locker. It is a re-patched version of> > +i3lock, which is a simple screen locker like slock. Features include:> > +> > +@enumerate> > +@item forking process, the locked screen is preserved when you suspend from RAM> > +@item specify background color or PNG image to be displayed in the lock screen> > +@item many additional color options> > +@end enumerate\n")> > + (license license:bsd-3)))> > +> > (define-public xmonad> > (package> > (name "xmonad")> > -- > > 2.15.0> > > > > From 49f8940d64ecab73d246d7652ba7358b748d0c2d Mon Sep 17 00:00:00 2001> > From: ng0 <contact.ng0@cryptolab.net>> > Date: Tue, 24 Jan 2017 15:57:13 +0000> > Subject: [PATCH 2/2] gnu: Add i3lock-fancy.> > > > * gnu/packages/wm.scm (i3lock-fancy): New variable.> > ---> > gnu/packages/wm.scm | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++> > 1 file changed, 71 insertions(+)> > > > diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm> > index e4db72a6f..cf861e77e 100644> > --- a/gnu/packages/wm.scm> > +++ b/gnu/packages/wm.scm> > @@ -44,6 +44,7 @@> > #:use-module (gnu packages haskell)> > #:use-module (gnu packages haskell-check)> > #:use-module (gnu packages haskell-web)> > + #:use-module (gnu packages gawk)> > #:use-module (gnu packages base)> > #:use-module (gnu packages pkg-config)> > #:use-module (gnu packages perl)> > @@ -403,6 +404,76 @@ i3lock, which is a simple screen locker like slock. Features include:> > @end enumerate\n")> > (license license:bsd-3)))> > > > +(define-public i3lock-fancy> > + (package> > + (name "i3lock-fancy")> > + (version "0.2")> > + (source> > + (origin> > + (method url-fetch)> > + (uri (string-append "https://github.com/meskarune/i3lock-fancy/archive/"> > + version ".tar.gz"))> > + (file-name (string-append name "-" version ".tar.gz"))> > + (sha256> > + (base32> > + "020m7mnfq5cvir7p9v3hkb7cvb4cai33wppxl2zdwscwwjnchc5y"))))> > + (build-system gnu-build-system)> > + (arguments> > + `(#:tests? #f ;No tests included> > + #:phases> > + (modify-phases %standard-phases> > + (replace 'configure> > + (lambda* (#:key inputs outputs #:allow-other-keys)> > + (let* ((out (assoc-ref outputs "out"))> > + (icons (string-append out "/share/i3lock-fancy/icons/"))> > + (i3lock (string-append (assoc-ref inputs "i3lock-color")> > + "/bin/i3lock"))> > + (wmctrl (string-append (assoc-ref inputs "wmctrl")> > + "/bin/wmctrl"))> > + (mconvert (string-append (assoc-ref inputs "imagemagick")> > + "/bin/convert"))> > + (mimport (string-append (assoc-ref inputs "imagemagick")> > + "/bin/import"))> > + (awk (string-append (assoc-ref inputs "gawk")> > + "/bin/gawk")))> > +> > + (substitute* "lock"> > + (("if ! i3lock") (string-append "if ! " i3lock))> > + (("i3lock -n") (string-append i3lock " -n"))> > + (("$(which wmctrl)") wmctrl)> > + (("convert") mconvert)> > + (("shot=\\(import") (string-append "shot=\(" mimport))> > + (("awk -F") (string-append awk " -F"))> > + ((" awk") awk)> > + (("\\$scriptpath/icons/") icons))> > + #t)))> > + (delete 'build)> > + (replace 'install> > + (lambda* (#:key inputs outputs #:allow-other-keys)> > + (let* ((out (assoc-ref outputs "out"))> > + (bin (string-append out "/bin"))> > + (icons (string-append out "/share/i3lock-fancy/icons/")))> > +> > + (install-file "lock" bin)> > + (rename-file (string-append bin "/lock")> > + (string-append bin "/i3lock-fancy"))> > + (copy-recursively "icons" icons)> > + #t))))))> > + (native-inputs> > + `(("imagemagick" ,imagemagick)> > + ("i3lock-color" ,i3lock-color)> > + ("wmctrl" ,wmctrl)> > + ("gawk" ,gawk)))> > + (home-page "https://github.com/meskarune/i3lock-fancy")> > + (synopsis "Screenlocker with screenshot function")> > + (description> > + "@code{i3lock-fancy} is a Bash script that takes a screenshot of> > +the desktop, blurs the background and adds a lock icon and text.> > +It makes use of @code{i3lock-color} and can optionally be passed any> > +screenshot util like @code{scrot}. This screenlocker can be used with> > +any window manager or desktop environment.")> > + (license license:expat)))> > +> > (define-public xmonad> > (package> > (name "xmonad")> > -- > > 2.15.0> > > > > > > -- > GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588> GnuPG: https://dl.n0.is/dist/keys/> WWW: https://we.make.ritual.n0.is


-- GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588GnuPG: https://dl.n0.is/dist/keys/ WWW: https://we.make.ritual.n0.is
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEqIyK3RKYKNfqwC5S4i+bv+40hYgFAloPTlMACgkQ4i+bv+40hYi1Lw//UZOyxP4DYylvXqqtg+Xwgu4hL7RXtBcn2xzo6PyCue0GEwUmdBqEW84d+NoWijcYgzDi542e/VBqwew6GJJA6Umpa2UurwiUywZEA4DHF4VQlPulY0D9cgDbOdBK2n59ap4G9qmihJs6E2O52EFIyGC7joSih7pUtzYZHpavpceUeRMtEHO5cqd8HIvTkBU+3WHEIEDwYPJwOZmb8GYlPRSd3YOzka9KLAYUAGeZyIPDuSojLHbk9f+d5+e1VlMM3C7GxCKaLUXP4R9jXuxbRT0VkXep58eBWavPXYwbwhD1n5kra1wRChZ025tdd3of8LT2inbdIq69mScE8UaAetaiv6WDMaLJv/6LNTqlUCICQ8BhbB1iX86CQmwbDpC9n6EuBEpJ3GrUAHAmRVAIt90RMnCsbk51mG3C5Ip/FFGuxLfdH2NKbtJVbHqdYAZ2LVsgixxOWCbXbpsDogZWeby6h/ENboptC+EqFVA3uoG/C9i6ZJkyXv2NlbY1NyIUXjYuk8LYss0Q6AX444oe5xemHThtyFBMb4vBP7EZPnTlhw7vW3p8m2UyBX58vrRcRKHw2m5prHC9WshZtUHq9knT/1JCt44NQiXFkIBk2I66712w9WSdw0FtQ3HmxVqnv70wX/MS1yH5xKJRy47fOvx6D2DSY05NlH7F7nC6siA==IqrH-----END PGP SIGNATURE-----

N
(name . Chris Marusich)(address . cmmarusich@gmail.com)
20171117211901.eor5yjlvj3icgbsd@abyayala
ng0 transcribed 25K bytes:
Toggle quote (18 lines)> ng0 transcribed 23K bytes:> > ng0 transcribed 22K bytes:> > > New version appended. i3lock-fancy needs some fixes, but I can confirm> > > that i3lock-color works!> > > > in i3lock-fancy script:> > > > # try to use a forked version of i3lock with prepared parameters> > if ! /gnu/store/kfymvwgm4g0avs3b97micq8477sa0if6-i3lock-color-2.9.1-c/bin/i3lock "${param_add[@]}" "${param[@]}" -i "$image" > /dev/null 2>&1; then> > # We have failed, lets get back to stock one> > i3lock "${param_add[@]}" -i "$image"> > fi> > > > > > Would /run/current-system/profile/bin/i3lock-fancy be better?> > The most realistic scenario I see is to just set 'i3lock' and> > propagate i3lock-color with i3lock-fancy.
I've changed my mind. As there's also 'i3lock' (without the -color suffix)but we don't package it (yet), it would take away the freedom todecide which i3lock you want to use.The author of i3lock-fancy wantsus to use i3lock-color, but there'salso a check and it falls back to the normal i3lock.
Therefore I think it must be up to people using i3lock-fancy toinstall i3lock-color AND i3lock-fancy in their system profile(or just i3lock-color in systemprofile + suid it, and i3lock-fancyin the user profile).
3rd version of patches appended.
Toggle quote (546 lines)> I have just copied /run/current-system/profile/bin/i3lock-fancy to $HOME/i3lock-fancy> and changed the /gnu/store/kfymvwgm4g0avs3b97micq8477sa0if6-i3lock-color-2.9.1-c/bin/i3lock> bit to read just "i3lock". This way i3lock-fancy works for me.> There's a general 'lag' in both i3lock-color and i3lock-fancy, but> I blame my Desktop.> > I'll send an update soon.> > > > ng0 transcribed 12K bytes:> > > > Hi Chris,> > > > > > > > thanks for your input. I think I was just stuck by too many> > > > repetive attempts. Thanks for a fresh view :)> > > > I'll send applied changes as soon as I can (probably next week).> > > > > > > > Chris Marusich transcribed 11K bytes:> > > > > <ng0@pragmatique.xyz> writes:> > > > > > > > > > > I have no idea about the error of i3lock-fancy (password is not> > > > > > accepted). An commented phase in i3lock-color is still included where> > > > > > I tried to fix this, but I don't know much about PAM at this point.> > > > > > > > > > When I checked using "guix system vm", the reason i3lock refused to> > > > > accept the password was because it could not read /etc/shadow. One> > > > > solution to this problem is to do both of the following:> > > > > > > > > > 1) Do not wrap i3lock in a wrapper script.> > > > > > > > > > 2) Install the i3lock executable as setuid-root.> > > > > > > > Oh, 2 was what I was thinking of that might fix> > > > it. I just had no time to test it.> > > > > > > > > When installing i3lock as a setuid-root program, it is important not to> > > > > wrap it in a script. It is common in UNIX-like systems to ignore the> > > > > setuid bit when the program is an interpreted script instead of an> > > > > executable (a simple Internet search for a phrase like "setuid bash> > > > > script" will provide lots of supporting information about this). If you> > > > > do (2) without also removing the wrapping logic that you put into the> > > > > package definition, you will find that i3lock still rejects your> > > > > password - this is because it still can't read /etc/shadow.> > > > > > > > > > The attached patch is a revised version of your first patch to add> > > > > i3lock-color. I have basically just removed the wrapping phase. To> > > > > install it setuid-root along with an appropriate PAM configuration file,> > > > > just add a screen-locker service like the following to your services in> > > > > your operating system declaration:> > > > > > > > > > (screen-locker-service i3lock-color "i3lock")> > > > > > > > > > Note that this will create an appropriate PAM configuration file at> > > > > /etc/pam.d/i3lock, so you don't need to bother messing around with the> > > > > PAM configuration file that comes with i3lock-color.> > > > > > > > > > I haven't looked at the fancy version yet. I'll check it out when I get> > > > > a little more time.> > > > > > > > The fancy version is basically a fork with some more fancy visual elements.> > > > It should be similar.> > > > > > > > > > + %D%/packages/patches/hypre-doc-tables.patch \> > > > > > + %D%/packages/patches/hypre-ldflags.patch \> > > > > > > > > > Did you intend to include these in the patch? They aren't used, so I've> > > > > removed them in my version of the patch.> > > > > > > > Many weeks ago, I don't know what happened there.> > > > Maybe a mistake in rebase.> > > > > > > > > > +---> > > > > > + Makefile | 7 +------> > > > > > + 1 file changed, 1 insertion(+), 6 deletions(-)> > > > > > +> > > > > > +diff --git a/Makefile b/Makefile> > > > > > +index c0fe888..b4b6cd9 100644> > > > > > +--- a/Makefile> > > > > > ++++ b/Makefile> > > > > > +@@ -6,11 +6,6 @@ SYSCONFDIR=/etc> > > > > > + PKG_CONFIG=pkg-config> > > > > > + MANDIR=/usr/share/man> > > > > > + > > > > > > +-# Check if pkg-config is installed, we need it for building CFLAGS/LIBS> > > > > > +-ifeq ($(shell which $(PKG_CONFIG) 2>/dev/null 1>/dev/null || echo 1),1)> > > > > > +-$(error "$(PKG_CONFIG) was not found")> > > > > > +-endif> > > > > > +-> > > > > > + CFLAGS += -std=c99> > > > > > + CFLAGS += -pipe> > > > > > + CFLAGS += -Wall> > > > > > +@@ -18,7 +13,7 @@ CFLAGS += -O2> > > > > > + SIMD_CFLAGS += -funroll-loops> > > > > > + SIMD_CFLAGS += -msse2> > > > > > + CPPFLAGS += -D_GNU_SOURCE> > > > > > +-CPPFLAGS += -DXKBCOMPOSE=$(shell if test -e /usr/include/xkbcommon/xkbcommon-compose.h ; then echo 1 ; else echo 0 ; fi )> > > > > > ++CPPFLAGS += -DXKBCOMPOSE=1> > > > > > + CFLAGS += $(shell $(PKG_CONFIG) --cflags cairo xcb-composite xcb-xinerama xcb-atom xcb-image xcb-xkb xkbcommon xkbcommon-x11)> > > > > > + LIBS += $(shell $(PKG_CONFIG) --libs cairo xcb-composite xcb-xinerama xcb-atom xcb-image xcb-xkb xkbcommon xkbcommon-x11)> > > > > > + LIBS += -lpam> > > > > > +-- > > > > > > +2.13.0> > > > > > > > > > FYI, it looks like maybe we could probably remove this patch file> > > > > entirely, and just use substitute* to modify the Makefile, if we> > > > > provided the "which" program as an input. Specifically, if the which> > > > > program were present, then probably the check you removed would> > > > > succeed. I haven't tried it myself, though.> > > > > > > > Okay, I will give it a try.> > > > > > > > > > -;;; Copyright (c) 2016, 2017 ng0 <contact.ng0@cryptolab.net>> > > > > > +;;; Copyright (c) 2016, 2017 ng0 <ng0@no-reply.pragmatique.xyz>> > > > > > > > > > FYI, the contact.ng0@cryptolab.net email address is still mentioned in> > > > > multiple other files, too.> > > > > > > > Yes. I'm only changing addresses once I touch the file. So old> > > > addresses might be in there for a long time. Otoh, I will> > > > prepare a patch and change all my header addresses.> > > > > > > > > > + (description> > > > > > + "I3lock-color is a screen locker. It is a re-patched version of> > > > > > +i3lock, which is a simple screen locker like slock. Features include:> > > > > > +> > > > > > +@enumerate> > > > > > +@item forking process, the locked screen is preserved when you suspend from RAM> > > > > > +@item specify background color or PNG image to be displayed in the lock screen> > > > > > +@item many additional color options> > > > > > +@end enumerate\n")> > > > > > > > > > I'm not sure if the trailing newline is necessary. Unless you beat me> > > > > to it, I'll check on this detail the next time I return to this thread.> > > > > > > > I've seen this multiple times before and have just followed this style.> > > > > > > > > -- > > > > > Chris> > > > > > > > > From 53edb9d43966ec9fbea8292608875d0c894adaea Mon Sep 17 00:00:00 2001> > > > > From: ng0 <ng0@no-reply.pragmatique.xyz>> > > > > Date: Fri, 17 Nov 2017 01:38:14 -0800> > > > > Subject: [PATCH] gnu: Add i3lock-color.> > > > > > > > > > * gnu/local.mk (dist_patch_DATA): Add i3lock-color-fix-makefile.patch.> > > > > * gnu/packages/patches/i3lock-color-fix-makefile.patch: New file.> > > > > * gnu/packages/wm.scm: Add i3lock-color.> > > > > > > > > > Signed-off-by: Chris Marusich <cmmarusich@gmail.com>> > > > > ---> > > > > gnu/local.mk | 1 +> > > > > .../patches/i3lock-color-fix-makefile.patch | 38 +++++++++++++> > > > > gnu/packages/wm.scm | 66 ++++++++++++++++++++++> > > > > 3 files changed, 105 insertions(+)> > > > > create mode 100644 gnu/packages/patches/i3lock-color-fix-makefile.patch> > > > > > > > > > diff --git a/gnu/local.mk b/gnu/local.mk> > > > > index 61bebe662..575d88506 100644> > > > > --- a/gnu/local.mk> > > > > +++ b/gnu/local.mk> > > > > @@ -738,6 +738,7 @@ dist_patch_DATA = \> > > > > %D%/packages/patches/hubbub-sort-entities.patch \> > > > > %D%/packages/patches/hurd-fix-eth-multiplexer-dependency.patch \> > > > > %D%/packages/patches/hydra-disable-darcs-test.patch \> > > > > + %D%/packages/patches/i3lock-color-fix-makefile.patch \> > > > > %D%/packages/patches/icecat-avoid-bundled-libraries.patch \> > > > > %D%/packages/patches/icu4c-CVE-2017-7867-CVE-2017-7868.patch \> > > > > %D%/packages/patches/icu4c-CVE-2017-14952.patch \> > > > > diff --git a/gnu/packages/patches/i3lock-color-fix-makefile.patch b/gnu/packages/patches/i3lock-color-fix-makefile.patch> > > > > new file mode 100644> > > > > index 000000000..8243dc548> > > > > --- /dev/null> > > > > +++ b/gnu/packages/patches/i3lock-color-fix-makefile.patch> > > > > @@ -0,0 +1,38 @@> > > > > +From eaca36ed78bafb82bd51a9e83c6445ef8f1698c8 Mon Sep 17 00:00:00 2001> > > > > +From: ng0 <ng0@no-reply.pragmatique.xyz>> > > > > +Date: Mon, 22 May 2017 18:22:19 +0000> > > > > +Subject: [PATCH] This fix to the Makefile is required to make i3lock-color> > > > > + build on Guix.> > > > > +> > > > > +---> > > > > + Makefile | 7 +------> > > > > + 1 file changed, 1 insertion(+), 6 deletions(-)> > > > > +> > > > > +diff --git a/Makefile b/Makefile> > > > > +index c0fe888..b4b6cd9 100644> > > > > +--- a/Makefile> > > > > ++++ b/Makefile> > > > > +@@ -6,11 +6,6 @@ SYSCONFDIR=/etc> > > > > + PKG_CONFIG=pkg-config> > > > > + MANDIR=/usr/share/man> > > > > + > > > > > +-# Check if pkg-config is installed, we need it for building CFLAGS/LIBS> > > > > +-ifeq ($(shell which $(PKG_CONFIG) 2>/dev/null 1>/dev/null || echo 1),1)> > > > > +-$(error "$(PKG_CONFIG) was not found")> > > > > +-endif> > > > > +-> > > > > + CFLAGS += -std=c99> > > > > + CFLAGS += -pipe> > > > > + CFLAGS += -Wall> > > > > +@@ -18,7 +13,7 @@ CFLAGS += -O2> > > > > + SIMD_CFLAGS += -funroll-loops> > > > > + SIMD_CFLAGS += -msse2> > > > > + CPPFLAGS += -D_GNU_SOURCE> > > > > +-CPPFLAGS += -DXKBCOMPOSE=$(shell if test -e /usr/include/xkbcommon/xkbcommon-compose.h ; then echo 1 ; else echo 0 ; fi )> > > > > ++CPPFLAGS += -DXKBCOMPOSE=1> > > > > + CFLAGS += $(shell $(PKG_CONFIG) --cflags cairo xcb-composite xcb-xinerama xcb-atom xcb-image xcb-xkb xkbcommon xkbcommon-x11)> > > > > + LIBS += $(shell $(PKG_CONFIG) --libs cairo xcb-composite xcb-xinerama xcb-atom xcb-image xcb-xkb xkbcommon xkbcommon-x11)> > > > > + LIBS += -lpam> > > > > +-- > > > > > +2.13.0> > > > > +> > > > > diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm> > > > > index 09c10eaa0..3d5a0ef7a 100644> > > > > --- a/gnu/packages/wm.scm> > > > > +++ b/gnu/packages/wm.scm> > > > > @@ -66,6 +66,7 @@> > > > > #:use-module (gnu packages gperf)> > > > > #:use-module (gnu packages imagemagick)> > > > > #:use-module (gnu packages lua)> > > > > + #:use-module (gnu packages linux)> > > > > #:use-module (gnu packages suckless)> > > > > #:use-module (guix download)> > > > > #:use-module (guix git-download))> > > > > @@ -333,6 +334,71 @@ and locate windows on all your workspaces, using an interactive dmenu> > > > > prompt.")> > > > > (license (license:non-copyleft "http://www.wtfpl.net/txt/copying/")))))> > > > > > > > > > +;; The last release is from 2015, use the git commit.> > > > > +(define-public i3lock-color> > > > > + (let ((commit "275ff68f6a6b7985c65fbaac537f4c018b47942f")> > > > > + (revision "1"))> > > > > + (package> > > > > + (name "i3lock-color")> > > > > + (version (string-append "2.8-" revision "." (string-take commit 7)))> > > > > + (source> > > > > + (origin> > > > > + (method git-fetch)> > > > > + (uri (git-reference> > > > > + (url "https://github.com/chrjguill/i3lock-color")> > > > > + (commit commit)))> > > > > + (file-name (string-append name "-" version "-checkout"))> > > > > + (snippet> > > > > + ;; The Makefile is read-only, we are going to patch it.> > > > > + '(chmod "Makefile" #o755))> > > > > + (patches (search-patches "i3lock-color-fix-makefile.patch"))> > > > > + (sha256> > > > > + (base32> > > > > + "1qhxqj1gwmf473b4b1bfqxdxiw1y6gq9rf97d77jc9s9z267fjm5"))))> > > > > + (build-system gnu-build-system)> > > > > + (arguments> > > > > + `(#:tests? #f ; No tests included.> > > > > + #:make-flags (list "CC=gcc")> > > > > + #:phases> > > > > + (modify-phases %standard-phases> > > > > + (replace 'configure> > > > > + (lambda* (#:key outputs #:allow-other-keys)> > > > > + (let* ((out (assoc-ref outputs "out"))> > > > > + (man (string-append out "/share/man"))> > > > > + (etc (string-append out "/etc")))> > > > > + (substitute* "Makefile"> > > > > + (("PREFIX=/usr")> > > > > + (string-append "PREFIX=" out))> > > > > + (("SYSCONFDIR=/etc")> > > > > + (string-append "SYSCONFDIR=" etc))> > > > > + (("MANDIR=/usr/share/man")> > > > > + (string-append "MANDIR=" man)))> > > > > + #t))))))> > > > > + (inputs> > > > > + `(("xcb-util-image" ,xcb-util-image)> > > > > + ("xcb-util-keysyms" ,xcb-util-keysyms)> > > > > + ("xcb-util" ,xcb-util)> > > > > + ("libxcb" ,libxcb)> > > > > + ("linux-pam" ,linux-pam)> > > > > + ("libev" ,libev)> > > > > + ("libx11" ,libx11)> > > > > + ("cairo" ,cairo)))> > > > > + (native-inputs> > > > > + `(("libxkbcommon" ,libxkbcommon)> > > > > + ("pkg-config" ,pkg-config)))> > > > > + (home-page "https://github.com/chrjguill/i3lock-color")> > > > > + (synopsis "Screenlocker with color configuration support")> > > > > + (description> > > > > + "I3lock-color is a screen locker. It is a re-patched version of> > > > > +i3lock, which is a simple screen locker like slock. Features include:> > > > > +> > > > > +@enumerate> > > > > +@item forking process, the locked screen is preserved when you suspend from RAM> > > > > +@item specify background color or PNG image to be displayed in the lock screen> > > > > +@item many additional color options> > > > > +@end enumerate\n")> > > > > + (license license:bsd-3))))> > > > > +> > > > > (define-public xmonad> > > > > (package> > > > > (name "xmonad")> > > > > -- > > > > > 2.14.2> > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588> > > > GnuPG: https://dl.n0.is/dist/keys/> > > > WWW: https://we.make.ritual.n0.is> > > > > > > > > > > > -- > > > GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588> > > GnuPG: https://dl.n0.is/dist/keys/> > > WWW: https://we.make.ritual.n0.is> > > > > From ba2a83195afb10ca7c65833f81cdc10748212873 Mon Sep 17 00:00:00 2001> > > From: ng0 <contact.ng0@cryptolab.net>> > > Date: Tue, 24 Jan 2017 13:03:42 +0000> > > Subject: [PATCH 1/2] gnu: Add i3lock-color.> > > > > > * gnu/packages/wm.scm (i3lock-color): New variable.> > > ---> > > gnu/local.mk | 1 +> > > gnu/packages/wm.scm | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++++> > > 2 files changed, 69 insertions(+)> > > > > > diff --git a/gnu/local.mk b/gnu/local.mk> > > index 54d1ac91c..2ec5844dc 100644> > > --- a/gnu/local.mk> > > +++ b/gnu/local.mk> > > @@ -744,6 +744,7 @@ dist_patch_DATA = \> > > %D%/packages/patches/hubbub-sort-entities.patch \> > > %D%/packages/patches/hurd-fix-eth-multiplexer-dependency.patch \> > > %D%/packages/patches/hydra-disable-darcs-test.patch \> > > + %D%/packages/patches/i3lock-color-fix-makefile.patch \> > > %D%/packages/patches/icecat-avoid-bundled-libraries.patch \> > > %D%/packages/patches/icecat-bug-1348660-pt5.patch \> > > %D%/packages/patches/icecat-bug-1415133.patch \> > > diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm> > > index 62a5b5460..e4db72a6f 100644> > > --- a/gnu/packages/wm.scm> > > +++ b/gnu/packages/wm.scm> > > @@ -68,6 +68,7 @@> > > #:use-module (gnu packages gperf)> > > #:use-module (gnu packages imagemagick)> > > #:use-module (gnu packages lua)> > > + #:use-module (gnu packages linux)> > > #:use-module (gnu packages suckless)> > > #:use-module (guix download)> > > #:use-module (guix git-download))> > > @@ -335,6 +336,73 @@ and locate windows on all your workspaces, using an interactive dmenu> > > prompt.")> > > (license (license:non-copyleft "http://www.wtfpl.net/txt/copying/")))))> > > > > > +(define-public i3lock-color> > > + (package> > > + (name "i3lock-color")> > > + (version "2.9.1-c")> > > + (source> > > + (origin> > > + (method url-fetch)> > > + (uri (string-append "https://github.com/chrjguill/i3lock-color/"> > > + "archive/" version ".tar.gz"))> > > + (file-name (string-append name "-" version ".tar.gz"))> > > + (sha256> > > + (base32> > > + "18ql0kb24qlqsijs6j99algf2lprl78mzsz53b1hshmc8jjd4m27"))))> > > + (build-system gnu-build-system)> > > + (arguments> > > + `(#:tests? #f ; No tests included.> > > + #:make-flags (list "CC=gcc")> > > + #:phases> > > + (modify-phases %standard-phases> > > + (replace 'configure> > > + (lambda* (#:key outputs inputs #:allow-other-keys)> > > + (let* ((out (assoc-ref outputs "out"))> > > + (etc (string-append out "/etc"))> > > + (man (string-append out "/share/man"))> > > + (xkb (assoc-ref inputs "libxkbcommon"))> > > + (xkbheader (string-append xkb> > > + "/include/xkbcommon/"> > > + "xkbcommon-compose.h")))> > > + (substitute* "Makefile"> > > + (("PKG_CONFIG=pkg-config")> > > + (string-append "PKG_CONFIG="> > > + (which "pkg-config")))> > > + (("/usr/include/xkbcommon/xkbcommon-compose.h")> > > + xkbheader)> > > + (("PREFIX=/usr")> > > + (string-append "PREFIX=" out))> > > + (("SYSCONFDIR=/etc")> > > + (string-append "SYSCONFDIR=" etc))> > > + (("MANDIR=/usr/share/man")> > > + (string-append "MANDIR=" man)))> > > + #t))))))> > > + (inputs> > > + `(("xcb-util-image" ,xcb-util-image)> > > + ("xcb-util-keysyms" ,xcb-util-keysyms)> > > + ("xcb-util" ,xcb-util)> > > + ("libxcb" ,libxcb)> > > + ("linux-pam" ,linux-pam)> > > + ("libev" ,libev)> > > + ("libx11" ,libx11)> > > + ("cairo" ,cairo)))> > > + (native-inputs> > > + `(("libxkbcommon" ,libxkbcommon)> > > + ("pkg-config" ,pkg-config)> > > + ("which" ,which)))> > > + (home-page "https://github.com/chrjguill/i3lock-color")> > > + (synopsis "Screenlocker with color configuration support")> > > + (description> > > + "I3lock-color is a screen locker. It is a re-patched version of> > > +i3lock, which is a simple screen locker like slock. Features include:> > > +> > > +@enumerate> > > +@item forking process, the locked screen is preserved when you suspend from RAM> > > +@item specify background color or PNG image to be displayed in the lock screen> > > +@item many additional color options> > > +@end enumerate\n")> > > + (license license:bsd-3)))> > > +> > > (define-public xmonad> > > (package> > > (name "xmonad")> > > -- > > > 2.15.0> > > > > > > > From 49f8940d64ecab73d246d7652ba7358b748d0c2d Mon Sep 17 00:00:00 2001> > > From: ng0 <contact.ng0@cryptolab.net>> > > Date: Tue, 24 Jan 2017 15:57:13 +0000> > > Subject: [PATCH 2/2] gnu: Add i3lock-fancy.> > > > > > * gnu/packages/wm.scm (i3lock-fancy): New variable.> > > ---> > > gnu/packages/wm.scm | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++> > > 1 file changed, 71 insertions(+)> > > > > > diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm> > > index e4db72a6f..cf861e77e 100644> > > --- a/gnu/packages/wm.scm> > > +++ b/gnu/packages/wm.scm> > > @@ -44,6 +44,7 @@> > > #:use-module (gnu packages haskell)> > > #:use-module (gnu packages haskell-check)> > > #:use-module (gnu packages haskell-web)> > > + #:use-module (gnu packages gawk)> > > #:use-module (gnu packages base)> > > #:use-module (gnu packages pkg-config)> > > #:use-module (gnu packages perl)> > > @@ -403,6 +404,76 @@ i3lock, which is a simple screen locker like slock. Features include:> > > @end enumerate\n")> > > (license license:bsd-3)))> > > > > > +(define-public i3lock-fancy> > > + (package> > > + (name "i3lock-fancy")> > > + (version "0.2")> > > + (source> > > + (origin> > > + (method url-fetch)> > > + (uri (string-append "https://github.com/meskarune/i3lock-fancy/archive/"> > > + version ".tar.gz"))> > > + (file-name (string-append name "-" version ".tar.gz"))> > > + (sha256> > > + (base32> > > + "020m7mnfq5cvir7p9v3hkb7cvb4cai33wppxl2zdwscwwjnchc5y"))))> > > + (build-system gnu-build-system)> > > + (arguments> > > + `(#:tests? #f ;No tests included> > > + #:phases> > > + (modify-phases %standard-phases> > > + (replace 'configure> > > + (lambda* (#:key inputs outputs #:allow-other-keys)> > > + (let* ((out (assoc-ref outputs "out"))> > > + (icons (string-append out "/share/i3lock-fancy/icons/"))> > > + (i3lock (string-append (assoc-ref inputs "i3lock-color")> > > + "/bin/i3lock"))> > > + (wmctrl (string-append (assoc-ref inputs "wmctrl")> > > + "/bin/wmctrl"))> > > + (mconvert (string-append (assoc-ref inputs "imagemagick")> > > + "/bin/convert"))> > > + (mimport (string-append (assoc-ref inputs "imagemagick")> > > + "/bin/import"))> > > + (awk (string-append (assoc-ref inputs "gawk")> > > + "/bin/gawk")))> > > +> > > + (substitute* "lock"> > > + (("if ! i3lock") (string-append "if ! " i3lock))> > > + (("i3lock -n") (string-append i3lock " -n"))> > > + (("$(which wmctrl)") wmctrl)> > > + (("convert") mconvert)> > > + (("shot=\\(import") (string-append "shot=\(" mimport))> > > + (("awk -F") (string-append awk " -F"))> > > + ((" awk") awk)> > > + (("\\$scriptpath/icons/") icons))> > > + #t)))> > > + (delete 'build)> > > + (replace 'install> > > + (lambda* (#:key inputs outputs #:allow-other-keys)> > > + (let* ((out (assoc-ref outputs "out"))> > > + (bin (string-append out "/bin"))> > > + (icons (string-append out "/share/i3lock-fancy/icons/")))> > > +> > > + (install-file "lock" bin)> > > + (rename-file (string-append bin "/lock")> > > + (string-append bin "/i3lock-fancy"))> > > + (copy-recursively "icons" icons)> > > + #t))))))> > > + (native-inputs> > > + `(("imagemagick" ,imagemagick)> > > + ("i3lock-color" ,i3lock-color)> > > + ("wmctrl" ,wmctrl)> > > + ("gawk" ,gawk)))> > > + (home-page "https://github.com/meskarune/i3lock-fancy")> > > + (synopsis "Screenlocker with screenshot function")> > > + (description> > > + "@code{i3lock-fancy} is a Bash script that takes a screenshot of> > > +the desktop, blurs the background and adds a lock icon and text.> > > +It makes use of @code{i3lock-color} and can optionally be passed any> > > +screenshot util like @code{scrot}. This screenlocker can be used with> > > +any window manager or desktop environment.")> > > + (license license:expat)))> > > +> > > (define-public xmonad> > > (package> > > (name "xmonad")> > > -- > > > 2.15.0> > > > > > > > > > > > > -- > > GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588> > GnuPG: https://dl.n0.is/dist/keys/> > WWW: https://we.make.ritual.n0.is> > > > -- > GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588> GnuPG: https://dl.n0.is/dist/keys/> WWW: https://we.make.ritual.n0.is


-- GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588GnuPG: https://dl.n0.is/dist/keys/ WWW: https://we.make.ritual.n0.is
From ba2a83195afb10ca7c65833f81cdc10748212873 Mon Sep 17 00:00:00 2001From: ng0 <contact.ng0@cryptolab.net>Date: Tue, 24 Jan 2017 13:03:42 +0000Subject: [PATCH 1/2] gnu: Add i3lock-color.
* gnu/packages/wm.scm (i3lock-color): New variable.--- gnu/local.mk | 1 + gnu/packages/wm.scm | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+)
Toggle diff (100 lines)diff --git a/gnu/local.mk b/gnu/local.mkindex 54d1ac91c..2ec5844dc 100644--- a/gnu/local.mk+++ b/gnu/local.mk@@ -744,6 +744,7 @@ dist_patch_DATA = \ %D%/packages/patches/hubbub-sort-entities.patch \ %D%/packages/patches/hurd-fix-eth-multiplexer-dependency.patch \ %D%/packages/patches/hydra-disable-darcs-test.patch \+ %D%/packages/patches/i3lock-color-fix-makefile.patch \ %D%/packages/patches/icecat-avoid-bundled-libraries.patch \ %D%/packages/patches/icecat-bug-1348660-pt5.patch \ %D%/packages/patches/icecat-bug-1415133.patch \diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scmindex 62a5b5460..e4db72a6f 100644--- a/gnu/packages/wm.scm+++ b/gnu/packages/wm.scm@@ -68,6 +68,7 @@ #:use-module (gnu packages gperf) #:use-module (gnu packages imagemagick) #:use-module (gnu packages lua)+ #:use-module (gnu packages linux) #:use-module (gnu packages suckless) #:use-module (guix download) #:use-module (guix git-download))@@ -335,6 +336,73 @@ and locate windows on all your workspaces, using an interactive dmenu prompt.") (license (license:non-copyleft "http://www.wtfpl.net/txt/copying/"))))) +(define-public i3lock-color+ (package+ (name "i3lock-color")+ (version "2.9.1-c")+ (source+ (origin+ (method url-fetch)+ (uri (string-append "https://github.com/chrjguill/i3lock-color/"+ "archive/" version ".tar.gz"))+ (file-name (string-append name "-" version ".tar.gz"))+ (sha256+ (base32+ "18ql0kb24qlqsijs6j99algf2lprl78mzsz53b1hshmc8jjd4m27"))))+ (build-system gnu-build-system)+ (arguments+ `(#:tests? #f ; No tests included.+ #:make-flags (list "CC=gcc")+ #:phases+ (modify-phases %standard-phases+ (replace 'configure+ (lambda* (#:key outputs inputs #:allow-other-keys)+ (let* ((out (assoc-ref outputs "out"))+ (etc (string-append out "/etc"))+ (man (string-append out "/share/man"))+ (xkb (assoc-ref inputs "libxkbcommon"))+ (xkbheader (string-append xkb+ "/include/xkbcommon/"+ "xkbcommon-compose.h")))+ (substitute* "Makefile"+ (("PKG_CONFIG=pkg-config")+ (string-append "PKG_CONFIG="+ (which "pkg-config")))+ (("/usr/include/xkbcommon/xkbcommon-compose.h")+ xkbheader)+ (("PREFIX=/usr")+ (string-append "PREFIX=" out))+ (("SYSCONFDIR=/etc")+ (string-append "SYSCONFDIR=" etc))+ (("MANDIR=/usr/share/man")+ (string-append "MANDIR=" man)))+ #t))))))+ (inputs+ `(("xcb-util-image" ,xcb-util-image)+ ("xcb-util-keysyms" ,xcb-util-keysyms)+ ("xcb-util" ,xcb-util)+ ("libxcb" ,libxcb)+ ("linux-pam" ,linux-pam)+ ("libev" ,libev)+ ("libx11" ,libx11)+ ("cairo" ,cairo)))+ (native-inputs+ `(("libxkbcommon" ,libxkbcommon)+ ("pkg-config" ,pkg-config)+ ("which" ,which)))+ (home-page "https://github.com/chrjguill/i3lock-color")+ (synopsis "Screenlocker with color configuration support")+ (description+ "I3lock-color is a screen locker. It is a re-patched version of+i3lock, which is a simple screen locker like slock. Features include:++@enumerate+@item forking process, the locked screen is preserved when you suspend from RAM+@item specify background color or PNG image to be displayed in the lock screen+@item many additional color options+@end enumerate\n")+ (license license:bsd-3)))+ (define-public xmonad (package (name "xmonad")-- 2.15.0
From 63e4eff6e954361a7b30fb4c060bdecbfee56da3 Mon Sep 17 00:00:00 2001From: ng0 <contact.ng0@cryptolab.net>Date: Tue, 24 Jan 2017 15:57:13 +0000Subject: [PATCH 2/2] gnu: Add i3lock-fancy.
* gnu/packages/wm.scm (i3lock-fancy): New variable.--- gnu/packages/wm.scm | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+)
Toggle diff (87 lines)diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scmindex e4db72a6f..01faf8149 100644--- a/gnu/packages/wm.scm+++ b/gnu/packages/wm.scm@@ -44,6 +44,7 @@ #:use-module (gnu packages haskell) #:use-module (gnu packages haskell-check) #:use-module (gnu packages haskell-web)+ #:use-module (gnu packages gawk) #:use-module (gnu packages base) #:use-module (gnu packages pkg-config) #:use-module (gnu packages perl)@@ -403,6 +404,72 @@ i3lock, which is a simple screen locker like slock. Features include: @end enumerate\n") (license license:bsd-3))) +(define-public i3lock-fancy+ (package+ (name "i3lock-fancy")+ (version "0.2")+ (source+ (origin+ (method url-fetch)+ (uri (string-append "https://github.com/meskarune/i3lock-fancy/archive/"+ version ".tar.gz"))+ (file-name (string-append name "-" version ".tar.gz"))+ (sha256+ (base32+ "020m7mnfq5cvir7p9v3hkb7cvb4cai33wppxl2zdwscwwjnchc5y"))))+ (build-system gnu-build-system)+ (arguments+ `(#:tests? #f ;No tests included+ #:phases+ (modify-phases %standard-phases+ (replace 'configure+ (lambda* (#:key inputs outputs #:allow-other-keys)+ (let* ((out (assoc-ref outputs "out"))+ (icons (string-append out "/share/i3lock-fancy/icons/"))+ (wmctrl (string-append (assoc-ref inputs "wmctrl")+ "/bin/wmctrl"))+ (mconvert (string-append (assoc-ref inputs "imagemagick")+ "/bin/convert"))+ (mimport (string-append (assoc-ref inputs "imagemagick")+ "/bin/import"))+ (awk (string-append (assoc-ref inputs "gawk")+ "/bin/gawk")))++ (substitute* "lock"+ (("$(which wmctrl)") wmctrl)+ (("convert") mconvert)+ (("shot=\\(import") (string-append "shot=\(" mimport))+ (("awk -F") (string-append awk " -F"))+ ((" awk") awk)+ (("\\$scriptpath/icons/") icons))+ #t)))+ (delete 'build)+ (replace 'install+ (lambda* (#:key inputs outputs #:allow-other-keys)+ (let* ((out (assoc-ref outputs "out"))+ (bin (string-append out "/bin"))+ (icons (string-append out "/share/i3lock-fancy/icons/")))++ (install-file "lock" bin)+ (rename-file (string-append bin "/lock")+ (string-append bin "/i3lock-fancy"))+ (copy-recursively "icons" icons)+ #t))))))+ (native-inputs+ `(("imagemagick" ,imagemagick)+ ("i3lock-color" ,i3lock-color)+ ("wmctrl" ,wmctrl)+ ("gawk" ,gawk)))+ (home-page "https://github.com/meskarune/i3lock-fancy")+ (synopsis "Screenlocker with screenshot function")+ (description+ "@code{i3lock-fancy} is a Bash script that takes a screenshot of+the desktop, blurs the background and adds a lock icon and text.+It makes use of @code{i3lock-color} and can optionally be passed any+screenshot util like @code{scrot}. This screenlocker can be used with+any window manager or desktop environment.")+ (license license:expat)))+ (define-public xmonad (package (name "xmonad")-- 2.15.0
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEqIyK3RKYKNfqwC5S4i+bv+40hYgFAloPUkUACgkQ4i+bv+40hYjBmA/+J2DW94N/nXnuSpU8spcw2OW+BDunMFBAxu1vDk0lT6GGHAMOeZ9xQPAinwMZKGAxgvFjHkMUXqFxyI1+lC4O90ajGFvX/tuzIEO07RJUZyg73LntnY56Iq3XG3IXN75YXVr4bjYHilTgEDOg0xdjXAleVhEhrPCSlAQJKsDcRWpjdhnEm89FjXKecD4ge7WX6R1f51iMoWxlz0Yvz+W2qM7bIgoowDE+bQNxr7h+Ue0x2mrTTsPkx+DxpbO2fJfhvm47OpNNBBYuBNcntUHPlZs6UzV7VVPw7I/g5Vm1YXM5DU85I0QNoepp9RfnjPouY6miQ8hTO3dm3GPl9pkf9twA87e85/Siq97byUlK5Xgz2o6q6bgwrgdAD1+ZZQFgvUYBS5bFx2bItz0Zj25D+Gc//EllXDHPCPUtXvXZjuhYCDLXc/dLKqu2/Xkn4LoCEyKPUPDvUe00ztJsFvBfLDBvSK3A27TdEGFO0Q60BMOJ8Itml76qOai8XFfNXhqhgpah3olxZpuOAYtq2U44s2owHyYl2k8WT4wPi377RdyCVnYb/x+GfCRiX279ocr+wPYXirqaS2rnDJuAd5s6lSoB2FY2gVqop9alW7tbS7Zt6H/oJwFQDSiFNnOwLBj2yXv2lx/+LPX2L1gh/NYJNtk+ObFmKiQmdlNxRLQHfRs==uRYn-----END PGP SIGNATURE-----

N
(name . Chris Marusich)(address . cmmarusich@gmail.com)
20171119110400.thfoe7usnzomwgrf@abyayala
ng0 transcribed 35K bytes:
Toggle quote (235 lines)> ng0 transcribed 25K bytes:> > ng0 transcribed 23K bytes:> > > ng0 transcribed 22K bytes:> > > > New version appended. i3lock-fancy needs some fixes, but I can confirm> > > > that i3lock-color works!> > > > > > in i3lock-fancy script:> > > > > > # try to use a forked version of i3lock with prepared parameters> > > if ! /gnu/store/kfymvwgm4g0avs3b97micq8477sa0if6-i3lock-color-2.9.1-c/bin/i3lock "${param_add[@]}" "${param[@]}" -i "$image" > /dev/null 2>&1; then> > > # We have failed, lets get back to stock one> > > i3lock "${param_add[@]}" -i "$image"> > > fi> > > > > > > > > Would /run/current-system/profile/bin/i3lock-fancy be better?> > > The most realistic scenario I see is to just set 'i3lock' and> > > propagate i3lock-color with i3lock-fancy.> > I've changed my mind. As there's also 'i3lock' (without the -color suffix)> but we don't package it (yet), it would take away the freedom to> decide which i3lock you want to use.> The author of i3lock-fancy wantsus to use i3lock-color, but there's> also a check and it falls back to the normal i3lock.> > Therefore I think it must be up to people using i3lock-fancy to> install i3lock-color AND i3lock-fancy in their system profile> (or just i3lock-color in systemprofile + suid it, and i3lock-fancy> in the user profile).> > 3rd version of patches appended.> > > I have just copied /run/current-system/profile/bin/i3lock-fancy to $HOME/i3lock-fancy> > and changed the /gnu/store/kfymvwgm4g0avs3b97micq8477sa0if6-i3lock-color-2.9.1-c/bin/i3lock> > bit to read just "i3lock". This way i3lock-fancy works for me.> > There's a general 'lag' in both i3lock-color and i3lock-fancy, but> > I blame my Desktop.> > > > I'll send an update soon.> >
> From ba2a83195afb10ca7c65833f81cdc10748212873 Mon Sep 17 00:00:00 2001> From: ng0 <contact.ng0@cryptolab.net>> Date: Tue, 24 Jan 2017 13:03:42 +0000> Subject: [PATCH 1/2] gnu: Add i3lock-color.> > * gnu/packages/wm.scm (i3lock-color): New variable.> ---> gnu/local.mk | 1 +> gnu/packages/wm.scm | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++++> 2 files changed, 69 insertions(+)> > diff --git a/gnu/local.mk b/gnu/local.mk> index 54d1ac91c..2ec5844dc 100644> --- a/gnu/local.mk> +++ b/gnu/local.mk> @@ -744,6 +744,7 @@ dist_patch_DATA = \> %D%/packages/patches/hubbub-sort-entities.patch \> %D%/packages/patches/hurd-fix-eth-multiplexer-dependency.patch \> %D%/packages/patches/hydra-disable-darcs-test.patch \> + %D%/packages/patches/i3lock-color-fix-makefile.patch \> %D%/packages/patches/icecat-avoid-bundled-libraries.patch \> %D%/packages/patches/icecat-bug-1348660-pt5.patch \> %D%/packages/patches/icecat-bug-1415133.patch \> diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm> index 62a5b5460..e4db72a6f 100644> --- a/gnu/packages/wm.scm> +++ b/gnu/packages/wm.scm> @@ -68,6 +68,7 @@> #:use-module (gnu packages gperf)> #:use-module (gnu packages imagemagick)> #:use-module (gnu packages lua)> + #:use-module (gnu packages linux)> #:use-module (gnu packages suckless)> #:use-module (guix download)> #:use-module (guix git-download))> @@ -335,6 +336,73 @@ and locate windows on all your workspaces, using an interactive dmenu> prompt.")> (license (license:non-copyleft "http://www.wtfpl.net/txt/copying/")))))> > +(define-public i3lock-color> + (package> + (name "i3lock-color")> + (version "2.9.1-c")> + (source> + (origin> + (method url-fetch)> + (uri (string-append "https://github.com/chrjguill/i3lock-color/"> + "archive/" version ".tar.gz"))> + (file-name (string-append name "-" version ".tar.gz"))> + (sha256> + (base32> + "18ql0kb24qlqsijs6j99algf2lprl78mzsz53b1hshmc8jjd4m27"))))> + (build-system gnu-build-system)> + (arguments> + `(#:tests? #f ; No tests included.> + #:make-flags (list "CC=gcc")> + #:phases> + (modify-phases %standard-phases> + (replace 'configure> + (lambda* (#:key outputs inputs #:allow-other-keys)> + (let* ((out (assoc-ref outputs "out"))> + (etc (string-append out "/etc"))> + (man (string-append out "/share/man"))> + (xkb (assoc-ref inputs "libxkbcommon"))> + (xkbheader (string-append xkb> + "/include/xkbcommon/"> + "xkbcommon-compose.h")))> + (substitute* "Makefile"> + (("PKG_CONFIG=pkg-config")> + (string-append "PKG_CONFIG="> + (which "pkg-config")))> + (("/usr/include/xkbcommon/xkbcommon-compose.h")> + xkbheader)> + (("PREFIX=/usr")> + (string-append "PREFIX=" out))> + (("SYSCONFDIR=/etc")> + (string-append "SYSCONFDIR=" etc))> + (("MANDIR=/usr/share/man")> + (string-append "MANDIR=" man)))> + #t))))))> + (inputs> + `(("xcb-util-image" ,xcb-util-image)> + ("xcb-util-keysyms" ,xcb-util-keysyms)> + ("xcb-util" ,xcb-util)> + ("libxcb" ,libxcb)> + ("linux-pam" ,linux-pam)> + ("libev" ,libev)> + ("libx11" ,libx11)> + ("cairo" ,cairo)))> + (native-inputs> + `(("libxkbcommon" ,libxkbcommon)> + ("pkg-config" ,pkg-config)> + ("which" ,which)))> + (home-page "https://github.com/chrjguill/i3lock-color")> + (synopsis "Screenlocker with color configuration support")> + (description> + "I3lock-color is a screen locker. It is a re-patched version of> +i3lock, which is a simple screen locker like slock. Features include:> +> +@enumerate> +@item forking process, the locked screen is preserved when you suspend from RAM> +@item specify background color or PNG image to be displayed in the lock screen> +@item many additional color options> +@end enumerate\n")> + (license license:bsd-3)))> +> (define-public xmonad> (package> (name "xmonad")> -- > 2.15.0>
> From 63e4eff6e954361a7b30fb4c060bdecbfee56da3 Mon Sep 17 00:00:00 2001> From: ng0 <contact.ng0@cryptolab.net>> Date: Tue, 24 Jan 2017 15:57:13 +0000> Subject: [PATCH 2/2] gnu: Add i3lock-fancy.> > * gnu/packages/wm.scm (i3lock-fancy): New variable.> ---> gnu/packages/wm.scm | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++> 1 file changed, 67 insertions(+)> > diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm> index e4db72a6f..01faf8149 100644> --- a/gnu/packages/wm.scm> +++ b/gnu/packages/wm.scm> @@ -44,6 +44,7 @@> #:use-module (gnu packages haskell)> #:use-module (gnu packages haskell-check)> #:use-module (gnu packages haskell-web)> + #:use-module (gnu packages gawk)> #:use-module (gnu packages base)> #:use-module (gnu packages pkg-config)> #:use-module (gnu packages perl)> @@ -403,6 +404,72 @@ i3lock, which is a simple screen locker like slock. Features include:> @end enumerate\n")> (license license:bsd-3)))> > +(define-public i3lock-fancy> + (package> + (name "i3lock-fancy")> + (version "0.2")> + (source> + (origin> + (method url-fetch)> + (uri (string-append "https://github.com/meskarune/i3lock-fancy/archive/"> + version ".tar.gz"))> + (file-name (string-append name "-" version ".tar.gz"))> + (sha256> + (base32> + "020m7mnfq5cvir7p9v3hkb7cvb4cai33wppxl2zdwscwwjnchc5y"))))> + (build-system gnu-build-system)> + (arguments> + `(#:tests? #f ;No tests included> + #:phases> + (modify-phases %standard-phases> + (replace 'configure> + (lambda* (#:key inputs outputs #:allow-other-keys)> + (let* ((out (assoc-ref outputs "out"))> + (icons (string-append out "/share/i3lock-fancy/icons/"))> + (wmctrl (string-append (assoc-ref inputs "wmctrl")> + "/bin/wmctrl"))> + (mconvert (string-append (assoc-ref inputs "imagemagick")> + "/bin/convert"))> + (mimport (string-append (assoc-ref inputs "imagemagick")> + "/bin/import"))> + (awk (string-append (assoc-ref inputs "gawk")> + "/bin/gawk")))> +> + (substitute* "lock"> + (("$(which wmctrl)") wmctrl)> + (("convert") mconvert)> + (("shot=\\(import") (string-append "shot=\(" mimport))> + (("awk -F") (string-append awk " -F"))> + ((" awk") awk)> + (("\\$scriptpath/icons/") icons))> + #t)))> + (delete 'build)> + (replace 'install> + (lambda* (#:key inputs outputs #:allow-other-keys)> + (let* ((out (assoc-ref outputs "out"))> + (bin (string-append out "/bin"))> + (icons (string-append out "/share/i3lock-fancy/icons/")))> +> + (install-file "lock" bin)> + (rename-file (string-append bin "/lock")> + (string-append bin "/i3lock-fancy"))> + (copy-recursively "icons" icons)> + #t))))))> + (native-inputs> + `(("imagemagick" ,imagemagick)> + ("i3lock-color" ,i3lock-color)
i3lock-color should be removed before commiting this patch,and we should add a note about this to the description. Like:"You will need to install i3lock or one of its variants (likei3lock-color) to make use of i3lock-fancy."
Toggle quote (19 lines)> + ("wmctrl" ,wmctrl)> + ("gawk" ,gawk)))> + (home-page "https://github.com/meskarune/i3lock-fancy")> + (synopsis "Screenlocker with screenshot function")> + (description> + "@code{i3lock-fancy} is a Bash script that takes a screenshot of> +the desktop, blurs the background and adds a lock icon and text.> +It makes use of @code{i3lock-color} and can optionally be passed any> +screenshot util like @code{scrot}. This screenlocker can be used with> +any window manager or desktop environment.")> + (license license:expat)))> +> (define-public xmonad> (package> (name "xmonad")> -- > 2.15.0>
I'll contribute a Makefile upstream so that we can shorten the package definition.

-- GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588GnuPG: https://dl.n0.is/dist/keys/ WWW: https://we.make.ritual.n0.is
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEqIyK3RKYKNfqwC5S4i+bv+40hYgFAloRZSAACgkQ4i+bv+40hYhzqw/+JOacJdC1V6J7SESaGEbfNjRiGYXmbkI4N7gfVhk7nAS1zUjXwFh5V95gKiiqIlxBNUAi+KksZl+Tl6gb8dqSCsOVs0+28nxFs0xp8fFBjLGWM9m+WH6jPYFt4uw9b6NFUhSrS/xNv04v+BAvOSSoZT8eAmnAHIOMq+OXD0WRVDsE0PVyiyjkN2WPVzV+fY/uSb83V+jfEYP/Z5oDg5YzTufF5nXiT3m6ymi+S6s2ngysZ4WrAVFC5z34BSDSzN2llpKim4D9yM4AehiiStCLVSGtda1eOdyFsa6HEIjYR6xcEIJ62AwOSLbwSLD7/BPn8LbX1+JFpYBRR3sWCXZaXSvjRWwBVxm7X8+fYDIgdIJRGCnTLfm7CeQOD28tbwEHByr4cugftkZAZY0bcikm3vQ0lxEjAAMS5pQJ5tBbeZkxtn2gL47JaTRh/wlxcuxyQ6lwyXE3ceRXZeG44Y7kkoeuve0A4PvimMoNdy4dEdPvMOz4/VEvEGBOOjavlxns5beDIriN7HaD8IuwRwwHu1fJzQkl3fzMSDQwrIccR4BOZt7jJ9H5I1aQ+l9rf5KXFmDZFfGGlAoYATYV4PgKg0CMyCOh+emt+U5VyX9F5/mlfIBUp17PQx8aEt3lPzdfAHQtQiheYFCPBsEY+GRVanZcJIxYfbnz9ts8anCr69Y==jY9F-----END PGP SIGNATURE-----

C
C
Chris Marusich wrote on 1 Dec 2017 08:20
(name . ng0)(address . ng0@infotropique.org)(address . 27083@debbugs.gnu.org)
87374uc3tk.fsf@gmail.com
Hi ng0,
I'm glad to hear i3lock works for you, too!
I was able to find time to draft feedback for your latest i3lock-colorpatch, but not for i3lock-fancy (although it looks very simple, and Iwill check it in the next few days). In the interest of not moving tooslowly, I'm sending what I have to you now.
ng0 <ng0@infotropique.org> writes:
Toggle quote (11 lines)> I've changed my mind. As there's also 'i3lock' (without the -color suffix)> but we don't package it (yet), it would take away the freedom to> decide which i3lock you want to use.> The author of i3lock-fancy wantsus to use i3lock-color, but there's> also a check and it falls back to the normal i3lock.>> Therefore I think it must be up to people using i3lock-fancy to> install i3lock-color AND i3lock-fancy in their system profile> (or just i3lock-color in systemprofile + suid it, and i3lock-fancy> in the user profile).
I agree with your assessment. For now, I think that's a fine plan,although I dislike the fact that by adding the i3lock-fancy package byitself, we will make it possible for someone to naively install justthat package to their profile, only to find that it doesn't work becausei3lock itself is not installed in the system as a screen locker program.However, I can't think of a better solution at this time, and we'realready doing something similar for the other screen locker packages.For example, if you install xscreensaver into your profile without alsoinstalling it into the system as a screen locker service, xscreensaverwon't work because it won't be setuid-root. So I think it's OK.
Toggle quote (10 lines)>> > > > > > -;;; Copyright (c) 2016, 2017 ng0 <contact.ng0@cryptolab.net>>> > > > > > +;;; Copyright (c) 2016, 2017 ng0 <ng0@no-reply.pragmatique.xyz>>> > > > > >> > > > > FYI, the contact.ng0@cryptolab.net email address is still mentioned in>> > > > > multiple other files, too.>> > > > >> > > > Yes. I'm only changing addresses once I touch the file. So old>> > > > addresses might be in there for a long time. Otoh, I will>> > > > prepare a patch and change all my header addresses.
Understood.
Toggle quote (15 lines)>> > > > > > + (description>> > > > > > + "I3lock-color is a screen locker. It is a re-patched version of>> > > > > > +i3lock, which is a simple screen locker like slock. Features include:>> > > > > > +>> > > > > > +@enumerate>> > > > > > +@item forking process, the locked screen is preserved when you suspend from RAM>> > > > > > +@item specify background color or PNG image to be displayed in the lock screen>> > > > > > +@item many additional color options>> > > > > > +@end enumerate\n")>> > > > > >> > > > > I'm not sure if the trailing newline is necessary. Unless you beat me>> > > > > to it, I'll check on this detail the next time I return to this thread.>> > > > >> > > > I've seen this multiple times before and have just followed this style.
I looked into this, and it seems that newlines are elided from theoutput. Check "guix package --show=maxflow" and "guix edit maxflow" tosee a particularly striking example.
Toggle quote (13 lines)> diff --git a/gnu/local.mk b/gnu/local.mk> index 54d1ac91c..2ec5844dc 100644> --- a/gnu/local.mk> +++ b/gnu/local.mk> @@ -744,6 +744,7 @@ dist_patch_DATA = \> %D%/packages/patches/hubbub-sort-entities.patch \> %D%/packages/patches/hurd-fix-eth-multiplexer-dependency.patch \> %D%/packages/patches/hydra-disable-darcs-test.patch \> + %D%/packages/patches/i3lock-color-fix-makefile.patch \> %D%/packages/patches/icecat-avoid-bundled-libraries.patch \> %D%/packages/patches/icecat-bug-1348660-pt5.patch \> %D%/packages/patches/icecat-bug-1415133.patch \
Now that the Makefile is patched using substitute*, we can remove thisadded line from gnu/local.mk.
Toggle quote (21 lines)> diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm> index 62a5b5460..e4db72a6f 100644> --- a/gnu/packages/wm.scm> +++ b/gnu/packages/wm.scm> @@ -68,6 +68,7 @@> #:use-module (gnu packages gperf)> #:use-module (gnu packages imagemagick)> #:use-module (gnu packages lua)> + #:use-module (gnu packages linux)> #:use-module (gnu packages suckless)> #:use-module (guix download)> #:use-module (guix git-download))> @@ -335,6 +336,73 @@ and locate windows on all your workspaces, using an interactive dmenu> prompt.")> (license (license:non-copyleft "http://www.wtfpl.net/txt/copying/")))))> > +(define-public i3lock-color> + (package> + (name "i3lock-color")> + (version "2.9.1-c")
According to "guix lint", version 2.10.1-c is now available. Should weuse it?
Toggle quote (14 lines)> + (source> + (origin> + (method url-fetch)> + (uri (string-append "https://github.com/chrjguill/i3lock-color/"> + "archive/" version ".tar.gz"))> + (file-name (string-append name "-" version ".tar.gz"))> + (sha256> + (base32> + "18ql0kb24qlqsijs6j99algf2lprl78mzsz53b1hshmc8jjd4m27"))))> + (build-system gnu-build-system)> + (arguments> + `(#:tests? #f ; No tests included.> + #:make-flags (list "CC=gcc")
Why is this #:make-flags argument necessary? I'm not suggesting itisn't; I just don't know whether it is or not, and I'm curious.
Toggle quote (25 lines)> + #:phases> + (modify-phases %standard-phases> + (replace 'configure> + (lambda* (#:key outputs inputs #:allow-other-keys)> + (let* ((out (assoc-ref outputs "out"))> + (etc (string-append out "/etc"))> + (man (string-append out "/share/man"))> + (xkb (assoc-ref inputs "libxkbcommon"))> + (xkbheader (string-append xkb> + "/include/xkbcommon/"> + "xkbcommon-compose.h")))> + (substitute* "Makefile"> + (("PKG_CONFIG=pkg-config")> + (string-append "PKG_CONFIG="> + (which "pkg-config")))> + (("/usr/include/xkbcommon/xkbcommon-compose.h")> + xkbheader)> + (("PREFIX=/usr")> + (string-append "PREFIX=" out))> + (("SYSCONFDIR=/etc")> + (string-append "SYSCONFDIR=" etc))> + (("MANDIR=/usr/share/man")> + (string-append "MANDIR=" man)))> + #t))))))
I like that we were able to remove the patch file by using substitute*!Hopefully once you upstream your changes, we can simplify this further.
Toggle quote (14 lines)> + (inputs> + `(("xcb-util-image" ,xcb-util-image)> + ("xcb-util-keysyms" ,xcb-util-keysyms)> + ("xcb-util" ,xcb-util)> + ("libxcb" ,libxcb)> + ("linux-pam" ,linux-pam)> + ("libev" ,libev)> + ("libx11" ,libx11)> + ("cairo" ,cairo)))> + (native-inputs> + `(("libxkbcommon" ,libxkbcommon)> + ("pkg-config" ,pkg-config)> + ("which" ,which)))
i3lock-color retains the following references when built:
Toggle snippet (12 lines)$ guix gc --references /gnu/store/kfymvwgm4g0avs3b97micq8477sa0if6-i3lock-color-2.9.1-c | sort -t - -k 2 -k 1,1/gnu/store/nwxv9s2q8pi0m6gn6fyidpj8442dwp6f-cairo-1.14.10/gnu/store/6wyjls0q2c9gjskkplsr1ad09p3d8gzg-gcc-5.4.0-lib/gnu/store/3h31zsqxjjg52da5gp3qmhkh4x8klhah-glibc-2.25/gnu/store/8zyry9663xgcrgg7fkrdrw40511d1gyz-libev-4.24/gnu/store/3cxhfkh0n1naan9db0z302mwqpxqkry6-libxcb-1.12/gnu/store/vyip2r21g65q90jy79nm5gsz6yl1s7gp-libxkbcommon-0.7.1/gnu/store/jf7sby087sakbsirdxrfi5cizf3ya4md-linux-pam-1.3.0/gnu/store/f4y2v0ynyr1rhzjxv1m6xlglgg0grxll-xcb-util-0.4.0/gnu/store/x67589ylz75jadmhab8z6z03f1i5l5rv-xcb-util-image-0.4.0
Specifically, libxkbcommon is referenced. Therefore, it might be aruntime dependency of the program. Are you sure it should be anative-input? If it really is required at runtime, it should be aninput, not a native-input.
In addition, xcb-util-keysyms and libx11 are both unreferenced. Doesi3lock-color build correctly without them? If so, can we just removethem? If not, should they be native-inputs?
Toggle quote (2 lines)> + (synopsis "Screenlocker with color configuration support")
Could you change this phrase to "screen locker" instead of"screenlocker"? That is what you use in the description, and it's alsowhat we use in the synopses/descriptions of the other screen lockerswe've already packaged (and the manual). The consistency might makethis package more discoverable.
Toggle quote (5 lines)> i3lock-color should be removed before commiting this patch,> and we should add a note about this to the description. Like:> "You will need to install i3lock or one of its variants (like> i3lock-color) to make use of i3lock-fancy."
I don't understand: why do we need to remove i3lock-color?
-- Chris
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEy/WXVcvn5+/vGD+x3UCaFdgiRp0FAlohAqcACgkQ3UCaFdgiRp3i1A/6AuGa3NA5ctVdB7jqju5pkYRrNQHJ2SA2TNOX3Q2u1H7TXkamFhPQZ+gvV7CI9GXKLYth5r8KFLsfYxaGnU8XS+jeoCfI69JxPq9rMV33Nbx239MQtmOdLUO6VJGPpP1u6bmwv6a8fCnTrBAwxJHvue1YR+KFWezt7XzbgAzhOHJbgUPsSk5ylG2arf8qpbxD5chAWnmriWbjW+1eOh45xQlFtQSe6qq2VuovbSGJSvn8VSfbZxyE/AV+v/mpJ4KZoDuYwR2OShdwlLLz+ewlFsrx7bynL2TE2C1GedXc/2ioMpyAK1nhSl8/gE1GJ4IeXyF3MweVGyHtvfF8iCNdJdkhqd13lWSpUHBh8UEKYG1RgtMM0zJbPysjYwJEC8VJ2VpClI5PaRPLO/YLhfT+c9TZbkWIxBTTf0tKrmiF1dn1W2EAGyxfMDPsXvOiC3QbziIsfYTgduMhGWRV9J1PPnt5zO9R0ipqB8BN9yWOtNCDdEbhs0nfaSq+QR7+6/TYwZoY16vym+e4Yk77ew6JLmpw4aBzRl7F08yeM14CsYDYsrs8WiYQgALSTik8DrBW6+hGvwZ3y9axKGeGKiy2vLLbg7LifD2jCE7Jgttr6C7FSxi2+bOMF7RdFV2g1M3YSAElabL4gFrsi1uBrdC3b4UBcIEWYM1Pe/l98SFcXrQ==0M/q-----END PGP SIGNATURE-----
N
(name . Chris Marusich)(address . cmmarusich@gmail.com)
20171201092731.aea3sdto6dgsqisk@abyayala
Hi Chris,
thanks for your review. I'll have no time to address it before next week,just a couple of comments.
Hi meskarune, I've CC'd you because of a specific question/idea after the4th quoted paragraph.
Chris Marusich transcribed 9.7K bytes:
Toggle quote (33 lines)> Hi ng0,> > I'm glad to hear i3lock works for you, too!> > I was able to find time to draft feedback for your latest i3lock-color> patch, but not for i3lock-fancy (although it looks very simple, and I> will check it in the next few days). In the interest of not moving too> slowly, I'm sending what I have to you now.> > ng0 <ng0@infotropique.org> writes:> > > I've changed my mind. As there's also 'i3lock' (without the -color suffix)> > but we don't package it (yet), it would take away the freedom to> > decide which i3lock you want to use.> > The author of i3lock-fancy wantsus to use i3lock-color, but there's> > also a check and it falls back to the normal i3lock.> >> > Therefore I think it must be up to people using i3lock-fancy to> > install i3lock-color AND i3lock-fancy in their system profile> > (or just i3lock-color in systemprofile + suid it, and i3lock-fancy> > in the user profile).> > I agree with your assessment. For now, I think that's a fine plan,> although I dislike the fact that by adding the i3lock-fancy package by> itself, we will make it possible for someone to naively install just> that package to their profile, only to find that it doesn't work because> i3lock itself is not installed in the system as a screen locker program.> However, I can't think of a better solution at this time, and we're> already doing something similar for the other screen locker packages.> For example, if you install xscreensaver into your profile without also> installing it into the system as a screen locker service, xscreensaver> won't work because it won't be setuid-root. So I think it's OK.
We'll continue to have these problems with applications, maybe we shouldconsider it a bug and find a common description. So far it's limited toscreensavers, but I can't think of a reason why this problem would staylimited to applications of the screensaver class.
For this specific application (i3lock-fancy), I could ask meskarune if she'd like to addan error message if none is place already. At the top of the scriptcheck for the existence of the i3lock binary in the users path (simply'i3lock', not (only) total paths). If not found, throw an error and abortwith a message that "you need to install i3lock-color".
Toggle quote (31 lines)> >> > > > > > -;;; Copyright (c) 2016, 2017 ng0 <contact.ng0@cryptolab.net>> >> > > > > > +;;; Copyright (c) 2016, 2017 ng0 <ng0@no-reply.pragmatique.xyz>> >> > > > > > >> > > > > FYI, the contact.ng0@cryptolab.net email address is still mentioned in> >> > > > > multiple other files, too.> >> > > > > >> > > > Yes. I'm only changing addresses once I touch the file. So old> >> > > > addresses might be in there for a long time. Otoh, I will> >> > > > prepare a patch and change all my header addresses.> > Understood.> > >> > > > > > + (description> >> > > > > > + "I3lock-color is a screen locker. It is a re-patched version of> >> > > > > > +i3lock, which is a simple screen locker like slock. Features include:> >> > > > > > +> >> > > > > > +@enumerate> >> > > > > > +@item forking process, the locked screen is preserved when you suspend from RAM> >> > > > > > +@item specify background color or PNG image to be displayed in the lock screen> >> > > > > > +@item many additional color options> >> > > > > > +@end enumerate\n")> >> > > > > > >> > > > > I'm not sure if the trailing newline is necessary. Unless you beat me> >> > > > > to it, I'll check on this detail the next time I return to this thread.> >> > > > > >> > > > I've seen this multiple times before and have just followed this style.> > I looked into this, and it seems that newlines are elided from the> output. Check "guix package --show=maxflow" and "guix edit maxflow" to> see a particularly striking example.
Oh, thanks.
Toggle quote (16 lines)> > diff --git a/gnu/local.mk b/gnu/local.mk> > index 54d1ac91c..2ec5844dc 100644> > --- a/gnu/local.mk> > +++ b/gnu/local.mk> > @@ -744,6 +744,7 @@ dist_patch_DATA = \> > %D%/packages/patches/hubbub-sort-entities.patch \> > %D%/packages/patches/hurd-fix-eth-multiplexer-dependency.patch \> > %D%/packages/patches/hydra-disable-darcs-test.patch \> > + %D%/packages/patches/i3lock-color-fix-makefile.patch \> > %D%/packages/patches/icecat-avoid-bundled-libraries.patch \> > %D%/packages/patches/icecat-bug-1348660-pt5.patch \> > %D%/packages/patches/icecat-bug-1415133.patch \> > Now that the Makefile is patched using substitute*, we can remove this> added line from gnu/local.mk.
Oops, right.
Toggle quote (24 lines)> > diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm> > index 62a5b5460..e4db72a6f 100644> > --- a/gnu/packages/wm.scm> > +++ b/gnu/packages/wm.scm> > @@ -68,6 +68,7 @@> > #:use-module (gnu packages gperf)> > #:use-module (gnu packages imagemagick)> > #:use-module (gnu packages lua)> > + #:use-module (gnu packages linux)> > #:use-module (gnu packages suckless)> > #:use-module (guix download)> > #:use-module (guix git-download))> > @@ -335,6 +336,73 @@ and locate windows on all your workspaces, using an interactive dmenu> > prompt.")> > (license (license:non-copyleft "http://www.wtfpl.net/txt/copying/")))))> > > > +(define-public i3lock-color> > + (package> > + (name "i3lock-color")> > + (version "2.9.1-c")> > According to "guix lint", version 2.10.1-c is now available. Should we> use it?
Yes. I just don't track every single release made all the time ;)So thanks for notifying me of this.
Toggle quote (17 lines)> > + (source> > + (origin> > + (method url-fetch)> > + (uri (string-append "https://github.com/chrjguill/i3lock-color/"> > + "archive/" version ".tar.gz"))> > + (file-name (string-append name "-" version ".tar.gz"))> > + (sha256> > + (base32> > + "18ql0kb24qlqsijs6j99algf2lprl78mzsz53b1hshmc8jjd4m27"))))> > + (build-system gnu-build-system)> > + (arguments> > + `(#:tests? #f ; No tests included.> > + #:make-flags (list "CC=gcc")> > Why is this #:make-flags argument necessary? I'm not suggesting it> isn't; I just don't know whether it is or not, and I'm curious.
I don't remember. I'll check it out.
Toggle quote (28 lines)> > + #:phases> > + (modify-phases %standard-phases> > + (replace 'configure> > + (lambda* (#:key outputs inputs #:allow-other-keys)> > + (let* ((out (assoc-ref outputs "out"))> > + (etc (string-append out "/etc"))> > + (man (string-append out "/share/man"))> > + (xkb (assoc-ref inputs "libxkbcommon"))> > + (xkbheader (string-append xkb> > + "/include/xkbcommon/"> > + "xkbcommon-compose.h")))> > + (substitute* "Makefile"> > + (("PKG_CONFIG=pkg-config")> > + (string-append "PKG_CONFIG="> > + (which "pkg-config")))> > + (("/usr/include/xkbcommon/xkbcommon-compose.h")> > + xkbheader)> > + (("PREFIX=/usr")> > + (string-append "PREFIX=" out))> > + (("SYSCONFDIR=/etc")> > + (string-append "SYSCONFDIR=" etc))> > + (("MANDIR=/usr/share/man")> > + (string-append "MANDIR=" man)))> > + #t))))))> > I like that we were able to remove the patch file by using substitute*!> Hopefully once you upstream your changes, we can simplify this further.
Well I don't have to upstream exactly what we have but by writing theMakefile in a more flexible way (and by removing the one total path).
Toggle quote (53 lines)> > + (inputs> > + `(("xcb-util-image" ,xcb-util-image)> > + ("xcb-util-keysyms" ,xcb-util-keysyms)> > + ("xcb-util" ,xcb-util)> > + ("libxcb" ,libxcb)> > + ("linux-pam" ,linux-pam)> > + ("libev" ,libev)> > + ("libx11" ,libx11)> > + ("cairo" ,cairo)))> > + (native-inputs> > + `(("libxkbcommon" ,libxkbcommon)> > + ("pkg-config" ,pkg-config)> > + ("which" ,which)))> > i3lock-color retains the following references when built:> > --8<---------------cut here---------------start------------->8---> $ guix gc --references /gnu/store/kfymvwgm4g0avs3b97micq8477sa0if6-i3lock-color-2.9.1-c | sort -t - -k 2 -k 1,1> /gnu/store/nwxv9s2q8pi0m6gn6fyidpj8442dwp6f-cairo-1.14.10> /gnu/store/6wyjls0q2c9gjskkplsr1ad09p3d8gzg-gcc-5.4.0-lib> /gnu/store/3h31zsqxjjg52da5gp3qmhkh4x8klhah-glibc-2.25> /gnu/store/8zyry9663xgcrgg7fkrdrw40511d1gyz-libev-4.24> /gnu/store/3cxhfkh0n1naan9db0z302mwqpxqkry6-libxcb-1.12> /gnu/store/vyip2r21g65q90jy79nm5gsz6yl1s7gp-libxkbcommon-0.7.1> /gnu/store/jf7sby087sakbsirdxrfi5cizf3ya4md-linux-pam-1.3.0> /gnu/store/f4y2v0ynyr1rhzjxv1m6xlglgg0grxll-xcb-util-0.4.0> /gnu/store/x67589ylz75jadmhab8z6z03f1i5l5rv-xcb-util-image-0.4.0> --8<---------------cut here---------------end--------------->8---> > Specifically, libxkbcommon is referenced. Therefore, it might be a> runtime dependency of the program. Are you sure it should be a> native-input? If it really is required at runtime, it should be an> input, not a native-input.> > In addition, xcb-util-keysyms and libx11 are both unreferenced. Does> i3lock-color build correctly without them? If so, can we just remove> them? If not, should they be native-inputs?> > > + (synopsis "Screenlocker with color configuration support")> > Could you change this phrase to "screen locker" instead of> "screenlocker"? That is what you use in the description, and it's also> what we use in the synopses/descriptions of the other screen lockers> we've already packaged (and the manual). The consistency might make> this package more discoverable.> > > i3lock-color should be removed before commiting this patch,> > and we should add a note about this to the description. Like:> > "You will need to install i3lock or one of its variants (like> > i3lock-color) to make use of i3lock-fancy."> > I don't understand: why do we need to remove i3lock-color?
i3lock-fancy is Bash script. I'm patching in the references itshould keep. The 2 calls of i3lock in there must be just 'i3lock',this will call the binary with the suid, not for example the onein the store path of i3lock-color (which never worked).More correct would be this remark:i3lock-color should be removed from the inputs before commitingthis patch, and we should add a note about this to the description.
Toggle quote (5 lines)> -- > Chris


-- GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588GnuPG: https://c.n0.is/ng0_pubkeys/tree/keys WWW: https://n0.is
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEqIyK3RKYKNfqwC5S4i+bv+40hYgFAlohIIIACgkQ4i+bv+40hYjnug/8C6sF2u8rXGMBg1zdOsE4Yz9EzyfTlYCnxANtAsXEdR9YabYoobwJgmFgLuhvAyN/Tvx00c9dBXsG+fTeRMj2vXXgswZvRhmCJ+FoZ07a1vsQkdTMtIq5sVCNQWpE3cDjkkXbLMblGVG00FVO/tyg8K73AL77zGcLhsl+wW3ixeWy2X8nIzOSUZsI4rufse3PxVFI1A/4R2fxBmQUDHNsLcztwvV4CPrrQJqjO0feCuBhqKL9LH4rMhrjPIzqe91fU2+D7h3Nb/aM58jKU5Gc2o0J3aH1/nROb9Sslc0r7jGzSeEpJboREYOIDNSp2dRRlmA51ez1JK0AnKSAaEmNNP8Rq7CMlD9t2TpFLUnHake61bSL72VTi1FWfLwkt8KaIUJTveQCt9i4gS04dqmDaRpCH+EKm5BkQUwI8uAaXDOKsnPzSuJ5K2DeZf6u79ElMXDQvkwTEWUhNI74PN1coUvHtNtxGaB8jQXAh/SiztJ/ki2AjsISs4Qqd8alBPcqVuvpn9FHkdE7O0BzAik9+cxCy9nlPP9MWcUkyocccPYQxH6T+C7MxVT0IZNo3yeUvOi5yLOG4zxIgcAAMcXhz8ezDDuToUOJh7o5edUGKDvYPzCXGs4OrCGLbtMYBduL2cLhLecZLcJtii6hnVY8inRGT6i8Ix9KQFgBZ9ZGAMM==AHqR-----END PGP SIGNATURE-----

C
C
Chris Marusich wrote on 2 Dec 2017 10:59
(name . ng0)(address . ng0@n0.is)
878teltpq6.fsf@gmail.com
ng0 <ng0@n0.is> writes:
Toggle quote (5 lines)> Hi Chris,>> thanks for your review. I'll have no time to address it before next week,> just a couple of comments.
No worries! Whenever you can update it, that's great! We're almostthere; I think the next update will probably be the final one.
Toggle quote (33 lines)> Chris Marusich transcribed 9.7K bytes:>>>> ...>> >> ng0 <ng0@infotropique.org> writes:>> >> > I've changed my mind. As there's also 'i3lock' (without the -color suffix)>> > but we don't package it (yet), it would take away the freedom to>> > decide which i3lock you want to use.>> > The author of i3lock-fancy wantsus to use i3lock-color, but there's>> > also a check and it falls back to the normal i3lock.>> >>> > Therefore I think it must be up to people using i3lock-fancy to>> > install i3lock-color AND i3lock-fancy in their system profile>> > (or just i3lock-color in systemprofile + suid it, and i3lock-fancy>> > in the user profile).>> >> I agree with your assessment. For now, I think that's a fine plan,>> although I dislike the fact that by adding the i3lock-fancy package by>> itself, we will make it possible for someone to naively install just>> that package to their profile, only to find that it doesn't work because>> i3lock itself is not installed in the system as a screen locker program.>> However, I can't think of a better solution at this time, and we're>> already doing something similar for the other screen locker packages.>> For example, if you install xscreensaver into your profile without also>> installing it into the system as a screen locker service, xscreensaver>> won't work because it won't be setuid-root. So I think it's OK.>> We'll continue to have these problems with applications, maybe we should> consider it a bug and find a common description. So far it's limited to> screensavers, but I can't think of a reason why this problem would stay> limited to applications of the screensaver class.
I've created an email thread to discuss this in more detail onguix-devel. The subject is: "Installing some packages results in"incomplete deployment"". Please look for it and reply there if youhave any other thoughts on that matter.
For this patch, though, I think it's fine to ask users to installi3lock-fancy and also add to their operating system declaration a screenlocker service that uses i3lock. That's how the existing screen lockershave been packaged.
Toggle quote (6 lines)> For this specific application (i3lock-fancy), I could ask meskarune if she'd like to add> an error message if none is place already. At the top of the script> check for the existence of the i3lock binary in the users path (simply> 'i3lock', not (only) total paths). If not found, throw an error and abort> with a message that "you need to install i3lock-color".
I think that would be nice. I also think we can add i3lock-fancy toGuix even before she makes those changes.
Toggle quote (15 lines)>> > i3lock-color should be removed before commiting this patch,>> > and we should add a note about this to the description. Like:>> > "You will need to install i3lock or one of its variants (like>> > i3lock-color) to make use of i3lock-fancy.">> >> I don't understand: why do we need to remove i3lock-color?>> i3lock-fancy is Bash script. I'm patching in the references it> should keep. The 2 calls of i3lock in there must be just 'i3lock',> this will call the binary with the suid, not for example the one> in the store path of i3lock-color (which never worked).> More correct would be this remark:> i3lock-color should be removed from the inputs before commiting> this patch, and we should add a note about this to the description.
I understand now, and I agree.
-- Chris
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEy/WXVcvn5+/vGD+x3UCaFdgiRp0FAloieYEACgkQ3UCaFdgiRp1ngw//bwykTNgNugorp+542SzVbK9r9DXwJRzHkwBuYFPcvDzyFqTG4zzrlshZC5BbdO9dtiSFnlAl6uZ44qC6o4UMluM3ghlSedpZ7e+T3t+IcGpbdYWizQKcVFqQxVWVGXHicxbusfWCLcC25tslDankNpkoomy6QznwratqoWh9q93uDqKw6g9/ngEgI9soChHBcmdfYxAeoPgenmB4ex+H2nNUinZRepjtRdRS0CW0qDDdD4eET4GGHE34Fn0Cb79hMimxFcS2UIVnYu11b+75w4fKOXwBkzh7B5PepbsCNfbgz3a+1k6H4B/4p9splEc1/bBuGq4CL8yPgiqUzBGO0qVmFMrUbegTFWxKia0inXTPvyUvKRcmZRdncd6SZzVeZWfa0An8zBfA+Jng1blSznwNGN3cagtbKo8CjqgpCGcb3xmhKkkj9B7y7RoPruiEF3faLI8miDFIVoScMUOfkFb6u4hQOcimNwDMXWD1RHWDxxoOKE3ZpudRFQk84heVgGWvjspGSJRXDx2BkQqf+z3hBKuxARG3HU3LnFWNKSlNZe4KAMoCJ+jMsB9qgbektvWA7L6E8LqNp0yTSjuC6aoiE9NqKdma8YracD97j2PIEIM2H5MltrxH8WIOypqA/+SVBH9IZMEPoAlidlaK0EMPIDRDuEchzJpuKA5gw+Q==vGJT-----END PGP SIGNATURE-----
N
(name . Chris Marusich)(address . cmmarusich@gmail.com)
20171209132538.uvtlqmv3wnm4uvyp@abyayala
Chris Marusich transcribed 4.6K bytes:
Toggle quote (11 lines)> ng0 <ng0@n0.is> writes:> > > Hi Chris,> >> > thanks for your review. I'll have no time to address it before next week,> > just a couple of comments.> > No worries! Whenever you can update it, that's great! We're almost> there; I think the next update will probably be the final one.>
New version, I think I've addressed everything you mentioned.Furthermore I was able to improve the files due to somechanges upstream made.I've fixed the description of i3lock-fancy and I've openeda discussion/bugticket on the name of the executable of i3lock-fancy(in https://github.com/meskarune/i3lock-fancy/issues/103).
Beyond this patch:I wonder if it is a bug or lack of functionality in i3lockor i3lock-color that I can switch to the tty when it's locked.There are other screenlockers that do not allow me to do this,the screen is really locked, not just tty7 or whereever your X mightbe running.
I have not tested this version of the patches beyond building them.I will do so after sending this and report later today ifI can still lock my screen. it should just work.-- GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588GnuPG: https://c.n0.is/ng0_pubkeys/tree/keys WWW: https://n0.is
From f11bc2af6aa43cdd52c76c8640fc2d8eff71fa8d Mon Sep 17 00:00:00 2001From: ng0 <contact.ng0@cryptolab.net>Date: Tue, 24 Jan 2017 13:03:42 +0000Subject: [PATCH 1/2] gnu: Add i3lock-color.
* gnu/packages/wm.scm (i3lock-color): New variable.--- gnu/packages/wm.scm | 50 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-)
Toggle diff (84 lines)diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scmindex 6912d6f2d..8fcce1eab 100644--- a/gnu/packages/wm.scm+++ b/gnu/packages/wm.scm@@ -9,7 +9,7 @@ ;;; Copyright © 2016 Al McElrath <hello@yrns.org> ;;; Copyright © 2016 Carlo Zancanaro <carlo@zancanaro.id.au> ;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>-;;; Copyright © 2016, 2017 ng0 <ng0@infotropique.org>+;;; Copyright © 2016, 2017 ng0 <ng0@n0.is> ;;; Copyright © 2016 doncatnip <gnopap@gmail.com> ;;; Copyright © 2016 Ivan Vilata i Balaguer <ivan@selidor.net> ;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>@@ -44,6 +44,7 @@ #:use-module (gnu packages haskell) #:use-module (gnu packages haskell-check) #:use-module (gnu packages haskell-web)+ #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages pkg-config) #:use-module (gnu packages perl)@@ -68,6 +69,7 @@ #:use-module (gnu packages gperf) #:use-module (gnu packages imagemagick) #:use-module (gnu packages lua)+ #:use-module (gnu packages linux) #:use-module (gnu packages suckless) #:use-module (guix download) #:use-module (guix git-download))@@ -335,6 +337,52 @@ and locate windows on all your workspaces, using an interactive dmenu prompt.") (license (license:non-copyleft "http://www.wtfpl.net/txt/copying/"))))) +(define-public i3lock-color+ (package+ (name "i3lock-color")+ (version "2.10.1c")+ (source+ (origin+ (method url-fetch)+ (uri (string-append "https://github.com/PandorasFox/i3lock-color/"+ "archive/" version ".tar.gz"))+ (file-name (string-append name "-" version ".tar.gz"))+ (sha256+ (base32+ "119xvdm4r6irqk0mar80hx6s8ydw26y35h7712rd7nbg7pb7i053"))))+ (build-system gnu-build-system)+ (arguments+ `(#:tests? #f ;No tests included.+ #:phases+ (modify-phases %standard-phases+ (add-after 'unpack 'bootstrap+ (lambda _+ (zero? (system* "autoreconf" "-vfi")))))))+ (inputs+ `(("xcb-util-image" ,xcb-util-image)+ ("xcb-util" ,xcb-util)+ ("libxcb" ,libxcb)+ ("linux-pam" ,linux-pam)+ ("libxkbcommon" ,libxkbcommon)+ ("libev" ,libev)+ ("cairo" ,cairo)))+ (native-inputs+ `(("pkg-config" ,pkg-config)+ ("autoconf" ,autoconf)+ ("automake" ,automake)))+ (home-page "https://github.com/PandorasFox/i3lock-color")+ (synopsis "Screen locker with color configuration support")+ (description+ "Re-patched version of i3lock, which is a simple screen+locker like slock. Features include:++@enumerate+@item forking process, the locked screen is preserved when you suspend from RAM+@item specify background color or image to be displayed in the lock screen+@item many additional color options+@end enumerate")+ (license license:bsd-3)))+ (define-public xmonad (package (name "xmonad")-- 2.15.1
From 9ea21f2e1c20aceff4ff12bf00cd5b31e0bf02fc Mon Sep 17 00:00:00 2001From: ng0 <contact.ng0@cryptolab.net>Date: Tue, 24 Jan 2017 15:57:13 +0000Subject: [PATCH 2/2] gnu: Add i3lock-fancy.
* gnu/packages/wm.scm (i3lock-fancy): New variable.--- gnu/packages/wm.scm | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+)
Toggle diff (87 lines)diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scmindex 8fcce1eab..d9732e8d0 100644--- a/gnu/packages/wm.scm+++ b/gnu/packages/wm.scm@@ -45,6 +45,7 @@ #:use-module (gnu packages haskell-check) #:use-module (gnu packages haskell-web) #:use-module (gnu packages autotools)+ #:use-module (gnu packages gawk) #:use-module (gnu packages base) #:use-module (gnu packages pkg-config) #:use-module (gnu packages perl)@@ -383,6 +384,72 @@ locker like slock. Features include: @end enumerate") (license license:bsd-3))) +(define-public i3lock-fancy+ (package+ (name "i3lock-fancy")+ (version "0.2")+ (source+ (origin+ (method url-fetch)+ (uri (string-append "https://github.com/meskarune/i3lock-fancy/archive/"+ version ".tar.gz"))+ (file-name (string-append name "-" version ".tar.gz"))+ (sha256+ (base32+ "020m7mnfq5cvir7p9v3hkb7cvb4cai33wppxl2zdwscwwjnchc5y"))))+ (build-system gnu-build-system)+ (arguments+ `(#:tests? #f ;No tests included+ #:phases+ (modify-phases %standard-phases+ (replace 'configure+ (lambda* (#:key inputs outputs #:allow-other-keys)+ (let* ((out (assoc-ref outputs "out"))+ (icons (string-append out "/share/i3lock-fancy/icons/"))+ (wmctrl (string-append (assoc-ref inputs "wmctrl")+ "/bin/wmctrl"))+ (mconvert (string-append (assoc-ref inputs "imagemagick")+ "/bin/convert"))+ (mimport (string-append (assoc-ref inputs "imagemagick")+ "/bin/import"))+ (awk (string-append (assoc-ref inputs "gawk")+ "/bin/gawk")))++ (substitute* "lock"+ (("$(which wmctrl)") wmctrl)+ (("convert") mconvert)+ (("shot=\\(import") (string-append "shot=\(" mimport))+ (("awk -F") (string-append awk " -F"))+ ((" awk") awk)+ (("\\$scriptpath/icons/") icons))+ #t)))+ (delete 'build)+ (replace 'install+ (lambda* (#:key inputs outputs #:allow-other-keys)+ (let* ((out (assoc-ref outputs "out"))+ (bin (string-append out "/bin"))+ (icons (string-append out "/share/i3lock-fancy/icons/")))++ (install-file "lock" bin)+ (rename-file (string-append bin "/lock")+ (string-append bin "/i3lock-fancy"))+ (copy-recursively "icons" icons)+ #t))))))+ (native-inputs+ `(("imagemagick" ,imagemagick)+ ("wmctrl" ,wmctrl)+ ("gawk" ,gawk)))+ (home-page "https://github.com/meskarune/i3lock-fancy")+ (synopsis "Screen locker with screenshot function")+ (description+ "@code{i3lock-fancy} is a Bash script that takes a screenshot of+the desktop, blurs the background and adds a lock icon and text.+It requires @code{i3lock-color} or @code{i3lock} and can optionally+be passed any screenshot util like @code{scrot}.+This screen locker can be used with any window manager or+desktop environment.")+ (license license:expat)))+ (define-public xmonad (package (name "xmonad")-- 2.15.1
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEqIyK3RKYKNfqwC5S4i+bv+40hYgFAlor5FIACgkQ4i+bv+40hYg6zhAApefFRwEsmwXFmba88VFfHP9xy6WD3OEcGmJoL8Z8/5hHj7BfV7XRhn3uHfk2PxXl+GiaeCPzyYgP5FXnwT/vIZIv/Peni8qpR9MMm7kpMYUEii6ucK55xLlDnaZwmq13zBPz14wJNjmmv3stalAZY0O05q9jTTBVgElU8IdaQ54P0y2HpEjDIWWYs6sB4QUPa7crJPZAK9fxnrjrXtEaccQG1wjDjLGcMJ8UOTy2y0Seu/TbdgSgkvSrmuN3BC/cVKd3Pn1zUZZHdj60vpgRSao2Ld7yOIYjAyaalo7bFKDuLrF16EsOBcdrjxDzn9EgppcrpDWrBe1tQfZNrmLTT9wyNl60F7H6Y9OkbyGI//bP25ZsU8CMALHBQwUqymctpi4KMx9WcQz2b2zx++4+GW7eJw0YoJQ1QcfraJUVyegqqY8ysL7sb6Gl8zjs7BHM98Sm//qQZLI5Ro3Xzahm3DJPs4zd5h3SbxrNw+Xb9Ji/71Cd5GO7o+Deidztdi8fB4o/U3h0a1WJmoL3MXhecDbEk1YrjIQNPpnhWc0yaAxWDsN/MAJNV18eFNztHoSVL+ERR/L8NQFrsgQKrPg0++YXx30a0TeL0ztgbJ4UKrhYYEuvdgVfFGDniOjjUw8BT1YQjmJpixXIt/ROirmWxU0RUvfJZuOFIqoi74lXeO0==s1g6-----END PGP SIGNATURE-----

N
(name . Chris Marusich)(address . cmmarusich@gmail.com)
20171209142523.7mzdwhyof7h24edf@abyayala
ng0 transcribed 9.9K bytes:
Toggle quote (30 lines)> Chris Marusich transcribed 4.6K bytes:> > ng0 <ng0@n0.is> writes:> > > > > Hi Chris,> > >> > > thanks for your review. I'll have no time to address it before next week,> > > just a couple of comments.> > > > No worries! Whenever you can update it, that's great! We're almost> > there; I think the next update will probably be the final one.> > > > New version, I think I've addressed everything you mentioned.> Furthermore I was able to improve the files due to some> changes upstream made.> I've fixed the description of i3lock-fancy and I've opened> a discussion/bugticket on the name of the executable of i3lock-fancy> (in https://github.com/meskarune/i3lock-fancy/issues/103).> > Beyond this patch:> I wonder if it is a bug or lack of functionality in i3lock> or i3lock-color that I can switch to the tty when it's locked.> There are other screenlockers that do not allow me to do this,> the screen is really locked, not just tty7 or whereever your X might> be running.> > I have not tested this version of the patches beyond building them.> I will do so after sending this and report later today if> I can still lock my screen. it should just work.
Confirmation: It still works.
Toggle quote (203 lines)> -- > GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588> GnuPG: https://c.n0.is/ng0_pubkeys/tree/keys> WWW: https://n0.is
> From f11bc2af6aa43cdd52c76c8640fc2d8eff71fa8d Mon Sep 17 00:00:00 2001> From: ng0 <contact.ng0@cryptolab.net>> Date: Tue, 24 Jan 2017 13:03:42 +0000> Subject: [PATCH 1/2] gnu: Add i3lock-color.> > * gnu/packages/wm.scm (i3lock-color): New variable.> ---> gnu/packages/wm.scm | 50 +++++++++++++++++++++++++++++++++++++++++++++++++-> 1 file changed, 49 insertions(+), 1 deletion(-)> > diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm> index 6912d6f2d..8fcce1eab 100644> --- a/gnu/packages/wm.scm> +++ b/gnu/packages/wm.scm> @@ -9,7 +9,7 @@> ;;; Copyright © 2016 Al McElrath <hello@yrns.org>> ;;; Copyright © 2016 Carlo Zancanaro <carlo@zancanaro.id.au>> ;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>> -;;; Copyright © 2016, 2017 ng0 <ng0@infotropique.org>> +;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>> ;;; Copyright © 2016 doncatnip <gnopap@gmail.com>> ;;; Copyright © 2016 Ivan Vilata i Balaguer <ivan@selidor.net>> ;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>> @@ -44,6 +44,7 @@> #:use-module (gnu packages haskell)> #:use-module (gnu packages haskell-check)> #:use-module (gnu packages haskell-web)> + #:use-module (gnu packages autotools)> #:use-module (gnu packages base)> #:use-module (gnu packages pkg-config)> #:use-module (gnu packages perl)> @@ -68,6 +69,7 @@> #:use-module (gnu packages gperf)> #:use-module (gnu packages imagemagick)> #:use-module (gnu packages lua)> + #:use-module (gnu packages linux)> #:use-module (gnu packages suckless)> #:use-module (guix download)> #:use-module (guix git-download))> @@ -335,6 +337,52 @@ and locate windows on all your workspaces, using an interactive dmenu> prompt.")> (license (license:non-copyleft "http://www.wtfpl.net/txt/copying/")))))> > +(define-public i3lock-color> + (package> + (name "i3lock-color")> + (version "2.10.1c")> + (source> + (origin> + (method url-fetch)> + (uri (string-append "https://github.com/PandorasFox/i3lock-color/"> + "archive/" version ".tar.gz"))> + (file-name (string-append name "-" version ".tar.gz"))> + (sha256> + (base32> + "119xvdm4r6irqk0mar80hx6s8ydw26y35h7712rd7nbg7pb7i053"))))> + (build-system gnu-build-system)> + (arguments> + `(#:tests? #f ;No tests included.> + #:phases> + (modify-phases %standard-phases> + (add-after 'unpack 'bootstrap> + (lambda _> + (zero? (system* "autoreconf" "-vfi")))))))> + (inputs> + `(("xcb-util-image" ,xcb-util-image)> + ("xcb-util" ,xcb-util)> + ("libxcb" ,libxcb)> + ("linux-pam" ,linux-pam)> + ("libxkbcommon" ,libxkbcommon)> + ("libev" ,libev)> + ("cairo" ,cairo)))> + (native-inputs> + `(("pkg-config" ,pkg-config)> + ("autoconf" ,autoconf)> + ("automake" ,automake)))> + (home-page "https://github.com/PandorasFox/i3lock-color")> + (synopsis "Screen locker with color configuration support")> + (description> + "Re-patched version of i3lock, which is a simple screen> +locker like slock. Features include:> +> +@enumerate> +@item forking process, the locked screen is preserved when you suspend from RAM> +@item specify background color or image to be displayed in the lock screen> +@item many additional color options> +@end enumerate")> + (license license:bsd-3)))> +> (define-public xmonad> (package> (name "xmonad")> -- > 2.15.1>
> From 9ea21f2e1c20aceff4ff12bf00cd5b31e0bf02fc Mon Sep 17 00:00:00 2001> From: ng0 <contact.ng0@cryptolab.net>> Date: Tue, 24 Jan 2017 15:57:13 +0000> Subject: [PATCH 2/2] gnu: Add i3lock-fancy.> > * gnu/packages/wm.scm (i3lock-fancy): New variable.> ---> gnu/packages/wm.scm | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++> 1 file changed, 67 insertions(+)> > diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm> index 8fcce1eab..d9732e8d0 100644> --- a/gnu/packages/wm.scm> +++ b/gnu/packages/wm.scm> @@ -45,6 +45,7 @@> #:use-module (gnu packages haskell-check)> #:use-module (gnu packages haskell-web)> #:use-module (gnu packages autotools)> + #:use-module (gnu packages gawk)> #:use-module (gnu packages base)> #:use-module (gnu packages pkg-config)> #:use-module (gnu packages perl)> @@ -383,6 +384,72 @@ locker like slock. Features include:> @end enumerate")> (license license:bsd-3)))> > +(define-public i3lock-fancy> + (package> + (name "i3lock-fancy")> + (version "0.2")> + (source> + (origin> + (method url-fetch)> + (uri (string-append "https://github.com/meskarune/i3lock-fancy/archive/"> + version ".tar.gz"))> + (file-name (string-append name "-" version ".tar.gz"))> + (sha256> + (base32> + "020m7mnfq5cvir7p9v3hkb7cvb4cai33wppxl2zdwscwwjnchc5y"))))> + (build-system gnu-build-system)> + (arguments> + `(#:tests? #f ;No tests included> + #:phases> + (modify-phases %standard-phases> + (replace 'configure> + (lambda* (#:key inputs outputs #:allow-other-keys)> + (let* ((out (assoc-ref outputs "out"))> + (icons (string-append out "/share/i3lock-fancy/icons/"))> + (wmctrl (string-append (assoc-ref inputs "wmctrl")> + "/bin/wmctrl"))> + (mconvert (string-append (assoc-ref inputs "imagemagick")> + "/bin/convert"))> + (mimport (string-append (assoc-ref inputs "imagemagick")> + "/bin/import"))> + (awk (string-append (assoc-ref inputs "gawk")> + "/bin/gawk")))> +> + (substitute* "lock"> + (("$(which wmctrl)") wmctrl)> + (("convert") mconvert)> + (("shot=\\(import") (string-append "shot=\(" mimport))> + (("awk -F") (string-append awk " -F"))> + ((" awk") awk)> + (("\\$scriptpath/icons/") icons))> + #t)))> + (delete 'build)> + (replace 'install> + (lambda* (#:key inputs outputs #:allow-other-keys)> + (let* ((out (assoc-ref outputs "out"))> + (bin (string-append out "/bin"))> + (icons (string-append out "/share/i3lock-fancy/icons/")))> +> + (install-file "lock" bin)> + (rename-file (string-append bin "/lock")> + (string-append bin "/i3lock-fancy"))> + (copy-recursively "icons" icons)> + #t))))))> + (native-inputs> + `(("imagemagick" ,imagemagick)> + ("wmctrl" ,wmctrl)> + ("gawk" ,gawk)))> + (home-page "https://github.com/meskarune/i3lock-fancy")> + (synopsis "Screen locker with screenshot function")> + (description> + "@code{i3lock-fancy} is a Bash script that takes a screenshot of> +the desktop, blurs the background and adds a lock icon and text.> +It requires @code{i3lock-color} or @code{i3lock} and can optionally> +be passed any screenshot util like @code{scrot}.> +This screen locker can be used with any window manager or> +desktop environment.")> + (license license:expat)))> +> (define-public xmonad> (package> (name "xmonad")> -- > 2.15.1>



-- GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588GnuPG: https://c.n0.is/ng0_pubkeys/tree/keys WWW: https://n0.is
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEqIyK3RKYKNfqwC5S4i+bv+40hYgFAlor8lIACgkQ4i+bv+40hYg5RQ//X9lhX1nCoK/JoUwCyZzw9Cs0hiU+7SbZAKeJ8RgQ11cdm0Q0IA5zfslT76MRGX/qW2IumoWhlx2Ap1epX+uQbUPq+ttLdeoFqYcr0qXgmPasW/Rdpui6Vr6GitzDoUuyUVUan+L1hWbW08gAPveNSrW/gIscMOEJlVRQCC2idH2gTOj9KkWTm7VJ2lRsg5goT3bol/zyr9b5Ntflco7lD6qp6TgaA/wdWyMGHoJK8732kS7hiKgay9lYstADH7Pq6EMoJ8BmuX8rwDqdnktvV7N04bZkn9k7MV1J5GCGO8EmIEspuwq4HO3ESTdNCawBXI/XX7dB+awlEHFOS/pJjCAN4IFRR0+lYKzaWZNE35wO47WdAE9OPpTitqB6+7sKxcqsOPly1zpDM1HTtK/z9R4VI2YM2IsuPd49Ic04XJ1tVtGGH+BI2dlTjWe5LecIuO6Lvqq+KGhjqieNjKmTN5+lvRD7GnD3PkmedM22/eSMPE9i00bbo5rCH9jwz+3tmtTvMLFuZOG7AohIKqqYP2J3JwmgLLuor7BsWM+EIo+GaJ5hjogxpMVnoBz1d/8IQG8k/LUL9W6V5EgN7JwApNUNgjTkPRVcWx3UGHBmuu71GUOnZohV4eOcW7uE0oRf6hAYTxkdqvqfkn1NZXihdbDS8MztHI/g+prZ+U9FoXE==uPqo-----END PGP SIGNATURE-----

L
L
Ludovic Courtès wrote on 11 Dec 2017 14:47
(name . ng0)(address . ng0@n0.is)
87374h1im9.fsf@gnu.org
Hi,
ng0 <ng0@n0.is> skribis:
Toggle quote (6 lines)> I wonder if it is a bug or lack of functionality in i3lock> or i3lock-color that I can switch to the tty when it's locked.> There are other screenlockers that do not allow me to do this,> the screen is really locked, not just tty7 or whereever your X might> be running.
Really? I’m not sure the screen locker, which is a “regular” X11client, can prevent you from switching to a tty.
Toggle quote (7 lines)> From f11bc2af6aa43cdd52c76c8640fc2d8eff71fa8d Mon Sep 17 00:00:00 2001> From: ng0 <contact.ng0@cryptolab.net>> Date: Tue, 24 Jan 2017 13:03:42 +0000> Subject: [PATCH 1/2] gnu: Add i3lock-color.>> * gnu/packages/wm.scm (i3lock-color): New variable.
Applied with these changes:
Toggle diff (31 lines)diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scmindex 8fcce1eab..e3bf01902 100644--- a/gnu/packages/wm.scm+++ b/gnu/packages/wm.scm@@ -8,7 +8,7 @@ ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Al McElrath <hello@yrns.org> ;;; Copyright © 2016 Carlo Zancanaro <carlo@zancanaro.id.au>-;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>+;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016, 2017 ng0 <ng0@n0.is> ;;; Copyright © 2016 doncatnip <gnopap@gmail.com> ;;; Copyright © 2016 Ivan Vilata i Balaguer <ivan@selidor.net>@@ -373,13 +373,13 @@ prompt.") (home-page "https://github.com/PandorasFox/i3lock-color") (synopsis "Screen locker with color configuration support") (description- "Re-patched version of i3lock, which is a simple screen-locker like slock. Features include:+ "i3lock-color is a simpler X11 screen locker derived from i3lock.+Features include: @enumerate-@item forking process, the locked screen is preserved when you suspend from RAM-@item specify background color or image to be displayed in the lock screen-@item many additional color options+@item forking process, the locked screen is preserved when you suspend to RAM;+@item specify background color or image to be displayed in the lock screen;+@item many additional color options. @end enumerate") (license license:bsd-3)))
Toggle quote (7 lines)> From 9ea21f2e1c20aceff4ff12bf00cd5b31e0bf02fc Mon Sep 17 00:00:00 2001> From: ng0 <contact.ng0@cryptolab.net>> Date: Tue, 24 Jan 2017 15:57:13 +0000> Subject: [PATCH 2/2] gnu: Add i3lock-fancy.>> * gnu/packages/wm.scm (i3lock-fancy): New variable.
Applied, thanks!
Ludo’.
L
L
Ludovic Courtès wrote on 11 Dec 2017 14:47
control message for bug #27083
(address . control@debbugs.gnu.org)
871sk11ilu.fsf@gnu.org
tags 27083 fixedclose 27083
N
Re: [bug#27083] screen-lockers: i3lock-color and i3lock-fancy
(name . Ludovic Courtès)(address . ludo@gnu.org)
20171211140325.jvs456ybsvstm75c@abyayala
Ludovic Courtès transcribed 2.8K bytes:
Toggle quote (13 lines)> Hi,> > ng0 <ng0@n0.is> skribis:> > > I wonder if it is a bug or lack of functionality in i3lock> > or i3lock-color that I can switch to the tty when it's locked.> > There are other screenlockers that do not allow me to do this,> > the screen is really locked, not just tty7 or whereever your X might> > be running.> > Really? I’m not sure the screen locker, which is a “regular” X11> client, can prevent you from switching to a tty.
So in the case of i3lock* this is no proble. Upstream details:https://github.com/meskarune/i3lock-fancy/issues/104
Toggle quote (43 lines)> > From f11bc2af6aa43cdd52c76c8640fc2d8eff71fa8d Mon Sep 17 00:00:00 2001> > From: ng0 <contact.ng0@cryptolab.net>> > Date: Tue, 24 Jan 2017 13:03:42 +0000> > Subject: [PATCH 1/2] gnu: Add i3lock-color.> >> > * gnu/packages/wm.scm (i3lock-color): New variable.> > Applied with these changes:>
> diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm> index 8fcce1eab..e3bf01902 100644> --- a/gnu/packages/wm.scm> +++ b/gnu/packages/wm.scm> @@ -8,7 +8,7 @@> ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>> ;;; Copyright © 2016 Al McElrath <hello@yrns.org>> ;;; Copyright © 2016 Carlo Zancanaro <carlo@zancanaro.id.au>> -;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>> +;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org>> ;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>> ;;; Copyright © 2016 doncatnip <gnopap@gmail.com>> ;;; Copyright © 2016 Ivan Vilata i Balaguer <ivan@selidor.net>> @@ -373,13 +373,13 @@ prompt.")> (home-page "https://github.com/PandorasFox/i3lock-color")> (synopsis "Screen locker with color configuration support")> (description> - "Re-patched version of i3lock, which is a simple screen> -locker like slock. Features include:> + "i3lock-color is a simpler X11 screen locker derived from i3lock.> +Features include:> > @enumerate> -@item forking process, the locked screen is preserved when you suspend from RAM> -@item specify background color or image to be displayed in the lock screen> -@item many additional color options> +@item forking process, the locked screen is preserved when you suspend to RAM;> +@item specify background color or image to be displayed in the lock screen;> +@item many additional color options.> @end enumerate")> (license license:bsd-3)))>
Ok, thanks.
Toggle quote (13 lines)> > > From 9ea21f2e1c20aceff4ff12bf00cd5b31e0bf02fc Mon Sep 17 00:00:00 2001> > From: ng0 <contact.ng0@cryptolab.net>> > Date: Tue, 24 Jan 2017 15:57:13 +0000> > Subject: [PATCH 2/2] gnu: Add i3lock-fancy.> >> > * gnu/packages/wm.scm (i3lock-fancy): New variable.> > Applied, thanks!> > Ludo’.

-- GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588GnuPG: https://c.n0.is/ng0_pubkeys/tree/keys WWW: https://n0.is
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEqIyK3RKYKNfqwC5S4i+bv+40hYgFAloukC0ACgkQ4i+bv+40hYj9fxAAkEB2//VOl33b+DbEENZAklZjixoM4scxz3wmHME8v6Nlpp3Ih9ms7/qUS/TFOT18IKpjWmekw6eJFrkf403jmWGfQ4eZJC+FRW2Gu7Z8TZEQ+CjL538IuqIjNWaAYRngBxzVJ2akMmvis6Qr8XuynJ03XpsYeu0zXFfhQC8Hy0WxSe6RIkpQ2RW/sp0ExXTB4cmmST4flqDU5+IdGgQJ3ooMOBCW9SaDV5rD3sUYWcwidtAlaGSItWlMGqZ0wuGAr/fT/J9MaONvT08+k06oFEv/LXx++2tpWocqOj2Q+TVE9Ipz59/IYR/L0KyCrFwofzOEhgIvV5MelIVwcwiWXdX5drwLTi876sBm1PXeGV4YwgsKn8zf4BqXktVkbMR35C8UnVwloUhQH2j9sPycYwkTpstwIiOXOXNMgzUrz8cD3MbHdtai5a6hHzJmvSYwLNcd23UyTl+oGXsvKfdpFfruh4rTyPfDlHGxEmb7NmatmSGG1J58jAGLjr2R+790oogHHSPlY3sOv1BtYp0CwN10AlZ1c4dXoqlr+sFnc7vQ57njJJKQYSoQhzxJOo/FhweD+eVQ4a0eeE/mBLl7AUajnadGZ2EXzs3XKAJbswJAxDHv5L+IpFYyJyZ0AUyNhsjP/nyos8tuzXSJZ7cqAf1mtMOTaJtUtXb2QnuCcJI==Tai4-----END PGP SIGNATURE-----

Closed
?
Your comment

This issue is archived.

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