From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50729) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eFo3T-0006Mz-C3 for guix-patches@gnu.org; Fri, 17 Nov 2017 16:20:11 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eFo3P-0003GA-3I for guix-patches@gnu.org; Fri, 17 Nov 2017 16:20:07 -0500 Received: from debbugs.gnu.org ([208.118.235.43]:36702) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eFo3O-0003Fg-Rn for guix-patches@gnu.org; Fri, 17 Nov 2017 16:20:03 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1eFo3O-0003VK-9P for guix-patches@gnu.org; Fri, 17 Nov 2017 16:20:02 -0500 Subject: [bug#27083] screen-lockers: i3lock-color and i3lock-fancy Resent-Message-ID: Date: Fri, 17 Nov 2017 21:19:01 +0000 From: ng0 Message-ID: <20171117211901.eor5yjlvj3icgbsd@abyayala> References: <871skx9ql3.fsf@gmail.com> <20171117101835.whd5f7lincppxlgy@abyayala> <20171117201705.75ldk4yxnpd7m3qa@abyayala> <20171117205734.63tbjhxqbcw6sis7@abyayala> <20171117210211.vdauzbvhrjubwamt@abyayala> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="wvevljxr3fe364ni" Content-Disposition: inline In-Reply-To: <20171117210211.vdauzbvhrjubwamt@abyayala> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: Chris Marusich Cc: 27083@debbugs.gnu.org --wvevljxr3fe364ni Content-Type: multipart/mixed; boundary="whd3f6aeyfm75h7c" Content-Disposition: inline --whd3f6aeyfm75h7c Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable 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! > >=20 > > in i3lock-fancy script: > >=20 > > # try to use a forked version of i3lock with prepared parameters > > if ! /gnu/store/kfymvwgm4g0avs3b97micq8477sa0if6-i3lock-color-2.9.1-c/b= in/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 > >=20 > >=20 > > 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. >=20 > I'll send an update soon. >=20 > > > ng0 transcribed 12K bytes: > > > > Hi Chris, > > > >=20 > > > > 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). > > > >=20 > > > > Chris Marusich transcribed 11K bytes: > > > > > writes: > > > > >=20 > > > > > > I have no idea about the error of i3lock-fancy (password is not > > > > > > accepted). An commented phase in i3lock-color is still include= d where > > > > > > I tried to fix this, but I don't know much about PAM at this po= int. > > > > >=20 > > > > > When I checked using "guix system vm", the reason i3lock refused = to > > > > > accept the password was because it could not read /etc/shadow. O= ne > > > > > solution to this problem is to do both of the following: > > > > >=20 > > > > > 1) Do not wrap i3lock in a wrapper script. > > > > >=20 > > > > > 2) Install the i3lock executable as setuid-root. > > > >=20 > > > > Oh, 2 was what I was thinking of that might fix > > > > it. I just had no time to test it. > > > >=20 > > > > > 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 ba= sh > > > > > 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. > > > > >=20 > > > > > 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 configuratio= n file, > > > > > just add a screen-locker service like the following to your servi= ces in > > > > > your operating system declaration: > > > > >=20 > > > > > (screen-locker-service i3lock-color "i3lock") > > > > >=20 > > > > > Note that this will create an appropriate PAM configuration file = at > > > > > /etc/pam.d/i3lock, so you don't need to bother messing around wit= h the > > > > > PAM configuration file that comes with i3lock-color. > > > > >=20 > > > > > I haven't looked at the fancy version yet. I'll check it out whe= n I get > > > > > a little more time. > > > >=20 > > > > The fancy version is basically a fork with some more fancy visual e= lements. > > > > It should be similar. > > > >=20 > > > > > > + %D%/packages/patches/hypre-doc-tables.patch \ > > > > > > + %D%/packages/patches/hypre-ldflags.patch \ > > > > >=20 > > > > > Did you intend to include these in the patch? They aren't used, = so I've > > > > > removed them in my version of the patch. > > > >=20 > > > > Many weeks ago, I don't know what happened there. > > > > Maybe a mistake in rebase. > > > >=20 > > > > > > +--- > > > > > > + 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=3D/etc > > > > > > + PKG_CONFIG=3Dpkg-config > > > > > > + MANDIR=3D/usr/share/man > > > > > > +=20 > > > > > > +-# Check if pkg-config is installed, we need it for building C= FLAGS/LIBS > > > > > > +-ifeq ($(shell which $(PKG_CONFIG) 2>/dev/null 1>/dev/null || = echo 1),1) > > > > > > +-$(error "$(PKG_CONFIG) was not found") > > > > > > +-endif > > > > > > +- > > > > > > + CFLAGS +=3D -std=3Dc99 > > > > > > + CFLAGS +=3D -pipe > > > > > > + CFLAGS +=3D -Wall > > > > > > +@@ -18,7 +13,7 @@ CFLAGS +=3D -O2 > > > > > > + SIMD_CFLAGS +=3D -funroll-loops > > > > > > + SIMD_CFLAGS +=3D -msse2 > > > > > > + CPPFLAGS +=3D -D_GNU_SOURCE > > > > > > +-CPPFLAGS +=3D -DXKBCOMPOSE=3D$(shell if test -e /usr/include/= xkbcommon/xkbcommon-compose.h ; then echo 1 ; else echo 0 ; fi ) > > > > > > ++CPPFLAGS +=3D -DXKBCOMPOSE=3D1 > > > > > > + CFLAGS +=3D $(shell $(PKG_CONFIG) --cflags cairo xcb-composit= e xcb-xinerama xcb-atom xcb-image xcb-xkb xkbcommon xkbcommon-x11) > > > > > > + LIBS +=3D $(shell $(PKG_CONFIG) --libs cairo xcb-composite xc= b-xinerama xcb-atom xcb-image xcb-xkb xkbcommon xkbcommon-x11) > > > > > > + LIBS +=3D -lpam > > > > > > +--=20 > > > > > > +2.13.0 > > > > >=20 > > > > > 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 w= hich > > > > > program were present, then probably the check you removed would > > > > > succeed. I haven't tried it myself, though. > > > >=20 > > > > Okay, I will give it a try. > > > >=20 > > > > > > -;;; Copyright (c) 2016, 2017 ng0 > > > > > > +;;; Copyright (c) 2016, 2017 ng0 > > > > >=20 > > > > > FYI, the contact.ng0@cryptolab.net email address is still mention= ed in > > > > > multiple other files, too. > > > >=20 > > > > 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. > > > >=20 > > > > > > + (description > > > > > > + "I3lock-color is a screen locker. It is a re-patched ver= sion 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") > > > > >=20 > > > > > I'm not sure if the trailing newline is necessary. Unless you be= at me > > > > > to it, I'll check on this detail the next time I return to this t= hread. > > > >=20 > > > > I've seen this multiple times before and have just followed this st= yle. > > > >=20 > > > > > --=20 > > > > > Chris > > > >=20 > > > > > From 53edb9d43966ec9fbea8292608875d0c894adaea Mon Sep 17 00:00:00= 2001 > > > > > From: ng0 > > > > > Date: Fri, 17 Nov 2017 01:38:14 -0800 > > > > > Subject: [PATCH] gnu: Add i3lock-color. > > > > >=20 > > > > > * gnu/local.mk (dist_patch_DATA): Add i3lock-color-fix-makefile.p= atch. > > > > > * gnu/packages/patches/i3lock-color-fix-makefile.patch: New file. > > > > > * gnu/packages/wm.scm: Add i3lock-color. > > > > >=20 > > > > > Signed-off-by: Chris Marusich > > > > > --- > > > > > 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-makefil= e.patch > > > > >=20 > > > > > 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 =3D \ > > > > > %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:0= 0 2001 > > > > > +From: ng0 > > > > > +Date: Mon, 22 May 2017 18:22:19 +0000 > > > > > +Subject: [PATCH] This fix to the Makefile is required to make i3= lock-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=3D/etc > > > > > + PKG_CONFIG=3Dpkg-config > > > > > + MANDIR=3D/usr/share/man > > > > > +=20 > > > > > +-# Check if pkg-config is installed, we need it for building CFL= AGS/LIBS > > > > > +-ifeq ($(shell which $(PKG_CONFIG) 2>/dev/null 1>/dev/null || ec= ho 1),1) > > > > > +-$(error "$(PKG_CONFIG) was not found") > > > > > +-endif > > > > > +- > > > > > + CFLAGS +=3D -std=3Dc99 > > > > > + CFLAGS +=3D -pipe > > > > > + CFLAGS +=3D -Wall > > > > > +@@ -18,7 +13,7 @@ CFLAGS +=3D -O2 > > > > > + SIMD_CFLAGS +=3D -funroll-loops > > > > > + SIMD_CFLAGS +=3D -msse2 > > > > > + CPPFLAGS +=3D -D_GNU_SOURCE > > > > > +-CPPFLAGS +=3D -DXKBCOMPOSE=3D$(shell if test -e /usr/include/xk= bcommon/xkbcommon-compose.h ; then echo 1 ; else echo 0 ; fi ) > > > > > ++CPPFLAGS +=3D -DXKBCOMPOSE=3D1 > > > > > + CFLAGS +=3D $(shell $(PKG_CONFIG) --cflags cairo xcb-composite = xcb-xinerama xcb-atom xcb-image xcb-xkb xkbcommon xkbcommon-x11) > > > > > + LIBS +=3D $(shell $(PKG_CONFIG) --libs cairo xcb-composite xcb-= xinerama xcb-atom xcb-image xcb-xkb xkbcommon xkbcommon-x11) > > > > > + LIBS +=3D -lpam > > > > > +--=20 > > > > > +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, u= sing an interactive dmenu > > > > > prompt.") > > > > > (license (license:non-copyleft "http://www.wtfpl.net/txt/c= opying/"))))) > > > > > =20 > > > > > +;; 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 com= mit 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=3Dgcc") > > > > > + #: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=3D/usr") > > > > > + (string-append "PREFIX=3D" out)) > > > > > + (("SYSCONFDIR=3D/etc") > > > > > + (string-append "SYSCONFDIR=3D" etc)) > > > > > + (("MANDIR=3D/usr/share/man") > > > > > + (string-append "MANDIR=3D" 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 versi= on of > > > > > +i3lock, which is a simple screen locker like slock. Features in= clude: > > > > > + > > > > > +@enumerate > > > > > +@item forking process, the locked screen is preserved when you s= uspend from RAM > > > > > +@item specify background color or PNG image to be displayed in t= he lock screen > > > > > +@item many additional color options > > > > > +@end enumerate\n") > > > > > + (license license:bsd-3)))) > > > > > + > > > > > (define-public xmonad > > > > > (package > > > > > (name "xmonad") > > > > > --=20 > > > > > 2.14.2 > > > > >=20 > > > >=20 > > > >=20 > > > >=20 > > > >=20 > > > > --=20 > > > > GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588 > > > > GnuPG: https://dl.n0.is/dist/keys/ > > > > WWW: https://we.make.ritual.n0.is > > >=20 > > >=20 > > >=20 > > > --=20 > > > GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588 > > > GnuPG: https://dl.n0.is/dist/keys/ > > > WWW: https://we.make.ritual.n0.is > >=20 > > > From ba2a83195afb10ca7c65833f81cdc10748212873 Mon Sep 17 00:00:00 2001 > > > From: ng0 > > > Date: Tue, 24 Jan 2017 13:03:42 +0000 > > > Subject: [PATCH 1/2] gnu: Add i3lock-color. > > >=20 > > > * gnu/packages/wm.scm (i3lock-color): New variable. > > > --- > > > gnu/local.mk | 1 + > > > gnu/packages/wm.scm | 68 +++++++++++++++++++++++++++++++++++++++++++= ++++++++++ > > > 2 files changed, 69 insertions(+) > > >=20 > > > 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 =3D \ > > > %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/copyi= ng/"))))) > > > =20 > > > +(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-colo= r/" > > > + "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=3Dgcc") > > > + #: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=3Dpkg-config") > > > + (string-append "PKG_CONFIG=3D" > > > + (which "pkg-config"))) > > > + (("/usr/include/xkbcommon/xkbcommon-compose.h") > > > + xkbheader) > > > + (("PREFIX=3D/usr") > > > + (string-append "PREFIX=3D" out)) > > > + (("SYSCONFDIR=3D/etc") > > > + (string-append "SYSCONFDIR=3D" etc)) > > > + (("MANDIR=3D/usr/share/man") > > > + (string-append "MANDIR=3D" 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 includ= e: > > > + > > > +@enumerate > > > +@item forking process, the locked screen is preserved when you suspe= nd from RAM > > > +@item specify background color or PNG image to be displayed in the l= ock screen > > > +@item many additional color options > > > +@end enumerate\n") > > > + (license license:bsd-3))) > > > + > > > (define-public xmonad > > > (package > > > (name "xmonad") > > > --=20 > > > 2.15.0 > > >=20 > >=20 > > > From 49f8940d64ecab73d246d7652ba7358b748d0c2d Mon Sep 17 00:00:00 2001 > > > From: ng0 > > > Date: Tue, 24 Jan 2017 15:57:13 +0000 > > > Subject: [PATCH 2/2] gnu: Add i3lock-fancy. > > >=20 > > > * gnu/packages/wm.scm (i3lock-fancy): New variable. > > > --- > > > gnu/packages/wm.scm | 71 +++++++++++++++++++++++++++++++++++++++++++= ++++++++++ > > > 1 file changed, 71 insertions(+) > > >=20 > > > 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 slo= ck. Features include: > > > @end enumerate\n") > > > (license license:bsd-3))) > > > =20 > > > +(define-public i3lock-fancy > > > + (package > > > + (name "i3lock-fancy") > > > + (version "0.2") > > > + (source > > > + (origin > > > + (method url-fetch) > > > + (uri (string-append "https://github.com/meskarune/i3lock-fanc= y/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/i= cons/")) > > > + (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 "imag= emagick") > > > + "/bin/convert")) > > > + (mimport (string-append (assoc-ref inputs "image= magick") > > > + "/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=3D\\(import") (string-append "shot=3D\(" mi= mport)) > > > + (("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/i= cons/"))) > > > + > > > + (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 wi= th > > > +any window manager or desktop environment.") > > > + (license license:expat))) > > > + > > > (define-public xmonad > > > (package > > > (name "xmonad") > > > --=20 > > > 2.15.0 > > >=20 > >=20 > >=20 > >=20 > >=20 > > --=20 > > GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588 > > GnuPG: https://dl.n0.is/dist/keys/ > > WWW: https://we.make.ritual.n0.is >=20 >=20 >=20 > --=20 > GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588 > GnuPG: https://dl.n0.is/dist/keys/ > WWW: https://we.make.ritual.n0.is --=20 GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588 GnuPG: https://dl.n0.is/dist/keys/ WWW: https://we.make.ritual.n0.is --whd3f6aeyfm75h7c Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0001-gnu-Add-i3lock-color.patch" Content-Transfer-Encoding: quoted-printable =46rom ba2a83195afb10ca7c65833f81cdc10748212873 Mon Sep 17 00:00:00 2001 =46rom: ng0 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 =3D \ %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 in= teractive dmenu prompt.") (license (license:non-copyleft "http://www.wtfpl.net/txt/copying/"))= ))) =20 +(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=3Dgcc") + #: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=3Dpkg-config") + (string-append "PKG_CONFIG=3D" + (which "pkg-config"))) + (("/usr/include/xkbcommon/xkbcommon-compose.h") + xkbheader) + (("PREFIX=3D/usr") + (string-append "PREFIX=3D" out)) + (("SYSCONFDIR=3D/etc") + (string-append "SYSCONFDIR=3D" etc)) + (("MANDIR=3D/usr/share/man") + (string-append "MANDIR=3D" 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 fro= m RAM +@item specify background color or PNG image to be displayed in the lock sc= reen +@item many additional color options +@end enumerate\n") + (license license:bsd-3))) + (define-public xmonad (package (name "xmonad") --=20 2.15.0 --whd3f6aeyfm75h7c Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0002-gnu-Add-i3lock-fancy.patch" Content-Transfer-Encoding: quoted-printable =46rom 63e4eff6e954361a7b30fb4c060bdecbfee56da3 Mon Sep 17 00:00:00 2001 =46rom: ng0 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. F= eatures include: @end enumerate\n") (license license:bsd-3))) =20 +(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/arch= ive/" + 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 "imagemagic= k") + "/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=3D\\(import") (string-append "shot=3D\(" 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") --=20 2.15.0 --whd3f6aeyfm75h7c-- --wvevljxr3fe364ni Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEqIyK3RKYKNfqwC5S4i+bv+40hYgFAloPUkUACgkQ4i+bv+40 hYjBmA/+J2DW94N/nXnuSpU8spcw2OW+BDunMFBAxu1vDk0lT6GGHAMOeZ9xQPAi nwMZKGAxgvFjHkMUXqFxyI1+lC4O90ajGFvX/tuzIEO07RJUZyg73LntnY56Iq3X G3IXN75YXVr4bjYHilTgEDOg0xdjXAleVhEhrPCSlAQJKsDcRWpjdhnEm89FjXKe cD4ge7WX6R1f51iMoWxlz0Yvz+W2qM7bIgoowDE+bQNxr7h+Ue0x2mrTTsPkx+Dx pbO2fJfhvm47OpNNBBYuBNcntUHPlZs6UzV7VVPw7I/g5Vm1YXM5DU85I0QNoepp 9RfnjPouY6miQ8hTO3dm3GPl9pkf9twA87e85/Siq97byUlK5Xgz2o6q6bgwrgdA D1+ZZQFgvUYBS5bFx2bItz0Zj25D+Gc//EllXDHPCPUtXvXZjuhYCDLXc/dLKqu2 /Xkn4LoCEyKPUPDvUe00ztJsFvBfLDBvSK3A27TdEGFO0Q60BMOJ8Itml76qOai8 XFfNXhqhgpah3olxZpuOAYtq2U44s2owHyYl2k8WT4wPi377RdyCVnYb/x+GfCRi X279ocr+wPYXirqaS2rnDJuAd5s6lSoB2FY2gVqop9alW7tbS7Zt6H/oJwFQDSiF NnOwLBj2yXv2lx/+LPX2L1gh/NYJNtk+ObFmKiQmdlNxRLQHfRs= =uRYn -----END PGP SIGNATURE----- --wvevljxr3fe364ni--