diff options
author | Tobias Geerinckx-Rice <me@tobias.gr> | 2021-05-06 23:30:35 +0200 |
---|---|---|
committer | Tobias Geerinckx-Rice <me@tobias.gr> | 2021-05-06 23:30:35 +0200 |
commit | bf3589f16c8ea0be5090a2f608a70f6c86b215d9 (patch) | |
tree | 7b51c5337c17522427f43f76e769d328f1be07e5 | |
parent | 07f0ebda1a93a762fa483b1e5476c597de82fe5a (diff) |
gnu: remind: Move Tcl/Tk scripts to separate output.
* gnu/packages/calendar.scm (remind)[outputs]: Add "tcl".
[arguments]: Add a new 'split-:tcl phase.
[inputs]: Add inetutils, tcl, tcllib, and tk.
-rw-r--r-- | gnu/packages/calendar.scm | 38 |
1 files changed, 37 insertions, 1 deletions
diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm index d74c8ac9e4..f62f746357 100644 --- a/gnu/packages/calendar.scm +++ b/gnu/packages/calendar.scm @@ -35,6 +35,7 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) #:use-module (guix build-system python) + #:use-module (gnu packages admin) #:use-module (gnu packages base) #:use-module (gnu packages check) #:use-module (gnu packages dav) @@ -51,6 +52,7 @@ #:use-module (gnu packages qt) #:use-module (gnu packages sphinx) #:use-module (gnu packages sqlite) + #:use-module (gnu packages tcl) #:use-module (gnu packages time) #:use-module (gnu packages xml) #:use-module (srfi srfi-26)) @@ -239,8 +241,42 @@ able to synchronize with CalDAV servers through vdirsyncer.") (sha256 (base32 "0nszv62gqyclsvsygqj4b1c5h40rp66s5njgcf1h7iy9f00hr6ln")))) (build-system gnu-build-system) + (outputs (list "out" + "tcl")) ; more than doubles the closure by >110 MiB (arguments - '(#:test-target "test")) + '(#:test-target "test" + #:phases + (modify-phases %standard-phases + (add-after 'install 'split-:tcl + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (tcl (assoc-ref outputs "tcl"))) + (for-each + (lambda (file) + (let ((from (string-append out "/" file)) + (to (string-append tcl "/" file))) + (mkdir-p (dirname to)) + (rename-file from to) + ;; For simplicity, wrap all scripts with the same variables + ;; even though, e.g., inetutils is not needed by cm2rem.tcl. + ;; XXX Using WRAP-SCRIPT currently breaks tkremind. + (wrap-program to + `("PATH" ":" prefix + ,(map (lambda (dir) + (string-append dir "/bin")) + (append (list out tcl) + (map (lambda (input) + (assoc-ref inputs input)) + (list "tcl" "tk" "inetutils"))))) + `("TCLLIBPATH" " " = + (,(getenv "TCLLIBPATH")))))) + (list "bin/cm2rem.tcl" + "bin/tkremind")))))))) + (inputs + `(("inetutils" ,inetutils) + ("tcl" ,tcl) + ("tcllib" ,tcllib) + ("tk" ,tk))) (home-page "https://dianne.skoll.ca/projects/remind/") (synopsis "Sophisticated calendar and alarm program") (description |