From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42240) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gY03i-00048T-EI for guix-patches@gnu.org; Fri, 14 Dec 2018 21:52:07 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gY03e-00085C-Ck for guix-patches@gnu.org; Fri, 14 Dec 2018 21:52:06 -0500 Received: from debbugs.gnu.org ([208.118.235.43]:44569) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gY03e-00084u-8Z for guix-patches@gnu.org; Fri, 14 Dec 2018 21:52:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1gY03e-0003zl-0p for guix-patches@gnu.org; Fri, 14 Dec 2018 21:52:02 -0500 Subject: [bug#33753] stumpwm-contrib References: <20181215020600.2713-1-namn@berkeley.edu> In-Reply-To: <20181215020600.2713-1-namn@berkeley.edu> Resent-Message-ID: Date: Fri, 14 Dec 2018 18:50:31 -0800 From: Nam Nguyen Message-ID: <20181215025031.GA2694@antelope> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline 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: 33753@debbugs.gnu.org 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/common-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/share/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.bd47cec/share/common-lisp/stumpwm-contrib/battery-portable cpu -> /gnu/store/...-stumpwm-cpu-0.0.1-1.bd47cec/share/common-lisp/stumpwm-contrib/cpu mem -> /gnu/store/...-stumpwm-mem-0.0.1-1.bd47cec/share/common-lisp/stumpwm-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-lisp/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 initially copied the entire repository with all the source code, and it still worked. 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)?