Subject: [PATCH] gnu: st: Compile and install terminfo files.

From: jgart <[email-masked]>
Date: Sat, 6 Nov 2021 04:53:34 -0400

* gnu/packages/suckless.scm (st): Compile and install terminfo files.
[native-inputs]: ncurses's tic program is required to compile the
terminfo files.
---
 gnu/packages/suckless.scm | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/suckless.scm b/gnu/packages/suckless.scm
index b4855ec0a2..912ff12422 100644
--- a/gnu/packages/suckless.scm
+++ b/gnu/packages/suckless.scm
@@ -378,6 +378,9 @@ (define-public st
      `(#:tests? #f                      ; no tests
        #:make-flags
        (list (string-append "CC=" ,(cc-for-target))
+             (string-append "TERMINFO="
+                            (assoc-ref %outputs "out")
+                            "/share/terminfo")
              (string-append "PREFIX=" %output))
        #:phases
        (modify-phases %standard-phases
@@ -385,15 +388,20 @@ (define-public st
          (add-after 'unpack 'inhibit-terminfo-install
            (lambda _
              (substitute* "Makefile"
-               (("\ttic .*") ""))
-             #t)))))
+               (("\ttic .*") ""))))
+         (add-after 'install 'compile-and-install-terminfo-entry
+             (lambda* (#:key outputs #:allow-other-keys)
+               (let* ((out  (assoc-ref outputs "out"))
+                      (terminfo (string-append out "/share/terminfo")))
+                 (invoke "tic" "-sx" "st.info" "-o" terminfo)))))))
     (inputs
      `(("libx11" ,libx11)
        ("libxft" ,libxft)
        ("fontconfig" ,fontconfig)
        ("freetype" ,freetype)))
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     `(("ncurses" ,ncurses)
+       ("pkg-config" ,pkg-config)))
     (home-page "https://st.suckless.org/")
     (synopsis "Simple terminal emulator")
     (description
-- 
2.33.1