From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44782) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gaOHL-0003le-VB for guix-patches@gnu.org; Fri, 21 Dec 2018 12:08:04 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gaOHL-0002M0-1v for guix-patches@gnu.org; Fri, 21 Dec 2018 12:08:03 -0500 Received: from debbugs.gnu.org ([208.118.235.43]:54493) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gaOHK-0002Ld-Of for guix-patches@gnu.org; Fri, 21 Dec 2018 12:08:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1gaOHK-0002mZ-Hk for guix-patches@gnu.org; Fri, 21 Dec 2018 12:08:02 -0500 Subject: [bug#33753] stumpwm-contrib Resent-Message-ID: From: Ludovic =?UTF-8?Q?Court=C3=A8s?= References: <20181215020600.2713-1-namn@berkeley.edu> <20181215025031.GA2694@antelope> Date: Fri, 21 Dec 2018 18:06:57 +0100 In-Reply-To: <20181215025031.GA2694@antelope> (Nam Nguyen's message of "Fri, 14 Dec 2018 18:50:31 -0800") Message-ID: <87efaaolla.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable 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: Nam Nguyen Cc: Pierre Neidhardt , 33753@debbugs.gnu.org Hello! Pierre, Chris: could you provide feedback to Nam? I don=E2=80=99t use Stump (yet!) so I wouldn=E2=80=99t know what to suggest. https://issues.guix.info/issue/33753 Thanks, Ludo=E2=80=99. Nam Nguyen skribis: > I am trying to make stumpwm-contrib less of a "grab bag" and more modular > and well-tested by breaking all the stumpwm extensions/modules into > separate recipes. > > stumpwm-contrib deletes the source code and child > recipes copies their source code from their directory to > $(out)/share/common-lisp/stumpwm-contrib. > > To test this, install stumpwm and stumpwm-cpu. > > ~/.stumpwmrc > *************************************************************************= ******* > (set-module-dir "~/.guix-profile/share/common-lisp/sbcl-bundle-systems") > (load-module "cpu") > > (setf *screen-mode-line-format* '("%c %C %t %f [%n] %W")) > > ;; %c (CPU usage as %) > ;; %C (CPU usage as bar graph) > ;; %t (CPU temperature) > ;; %f (CPU frequency) > *************************************************************************= ******* > > To toggle the mode-line: > C-t semicolon mode-line > > I violated the "Don't Repeat Yourself" (DRY) principle and have > stumpwm-{battery-portable,cpu,mem,pinentry,winner-mode} all tested and > working. I will postpone submission of those until stumpwm-cpu has been > accepted. All these submodules are nearly identical with only different > cat and mod variables. pinentry has some additional inputs. This results > in a lot of repeated code that looks nearly identical to stumpwm-cpu. > > Another concern I had was for ~/.stumpwmrc, including sbcl-bundle-systems > (which contains symlinks to the compiled code) is necessary for > stumpwm-pinentry to work correctly. The other plugins can just use the > stumpwm-contrib directory I created. > > ;; (set-module-dir "~/.guix-profile/share/common-lisp/stumpwm-contrib") > (set-module-dir "~/.guix-profile/share/common-lisp/sbcl-bundle-systems") > > Documentation (org-mode files) can be found in the stumpwm-contrib > directory. > > Here is the general directory structure: > *************************************************************************= ******* > /home/user/.guix-profile/share/common-lisp: > . > .. > sbcl-bundle-systems > stumpwm-contrib > > /home/user/.guix-profile/share/common-lisp/sbcl-bundle-systems: > . > .. > battery-portable.asd -> /gnu/store/...-stumpwm-battery-portable-0.0.1-1.= bd47cec/share/common-lisp/sbcl-bundle-systems/battery-portable.asd > cpu.asd -> /gnu/store/...-stumpwm-cpu-0.0.1-1.bd47cec/share/common-lisp/= sbcl-bundle-systems/cpu.asd > mem.asd -> /gnu/store/...-stumpwm-mem-0.0.1-1.bd47cec/share/common-lisp/= sbcl-bundle-systems/mem.asd > pinentry.asd -> /gnu/store/...-stumpwm-pinentry-0.0.1-1.bd47cec/share/co= mmon-lisp/sbcl-bundle-systems/pinentry.asd > swm-gaps.asd -> /gnu/store/...-stumpwm-gaps-0.0.1-1.bd47cec/share/common= -lisp/sbcl-bundle-systems/swm-gaps.asd > winner-mode.asd -> /gnu/store/...-stumpwm-winner-mode-0.0.1-1.bd47cec/sh= are/common-lisp/sbcl-bundle-systems/winner-mode.asd > > /home/user/.guix-profile/share/common-lisp/stumpwm-contrib: > . > .. > battery-portable -> /gnu/store/...-stumpwm-battery-portable-0.0.1-1.bd47= cec/share/common-lisp/stumpwm-contrib/battery-portable > cpu -> /gnu/store/...-stumpwm-cpu-0.0.1-1.bd47cec/share/common-lisp/stum= pwm-contrib/cpu > mem -> /gnu/store/...-stumpwm-mem-0.0.1-1.bd47cec/share/common-lisp/stum= pwm-contrib/mem > pinentry -> /gnu/store/...-stumpwm-pinentry-0.0.1-1.bd47cec/share/common= -lisp/stumpwm-contrib/pinentry > swm-gaps -> /gnu/store/...-stumpwm-gaps-0.0.1-1.bd47cec/share/common-lis= p/stumpwm-contrib/swm-gaps > winner-mode -> /gnu/store/...-stumpwm-winner-mode-0.0.1-1.bd47cec/share/= common-lisp/stumpwm-contrib/winner-mode > > /home/user/.guix-profile/share/common-lisp/stumpwm-contrib/cpu: > . > .. > cpu.asd > cpu.lisp > package.lisp > README.org > *************************************************************************= ******* > > Summary of questions: > 1. Should the entire repository be bundled together instead of breaking > it into individual modules? > 2. Should asdf-build-system/source be used instead of sbcl? I had initia= lly > copied the entire repository with all the source code, and it still worke= d. > 3. Is there a way to by more DRY? > 4. Should the stumpwm-contrib directory be named sbcl-sources (can't > recall the default directory of asdf-build-system/source)?