summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-07-16 15:46:57 +0200
committerLudovic Courtès <ludo@gnu.org>2014-07-16 15:54:47 +0200
commitf2cdcafbc1f61af032511aac37b5836784b6c52e (patch)
tree44fa02cb7ec7809025725f6fdb633f5147e26285 /gnu/packages
parentcf4a912919e68112a14b93592e89e69c61148419 (diff)
downloadguix-f2cdcafbc1f61af032511aac37b5836784b6c52e.tar.gz
gnu: kbd: Make sure unicode_{start,stop} work as expected.
* gnu/packages/linux.scm (kbd): Patch 'src/unicode_{start,stop}' to use
  'tty'.
  <phases>: Add 'post-install' phase.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/linux.scm25
1 files changed, 20 insertions, 5 deletions
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index d33492a1af..b9864f4f44 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -1187,10 +1187,15 @@ system.")
                 "0c34b0za2v0934acvgnva0vaqpghmmhz4zh7k0m9jd4mbc91byqm"))
               (modules '((guix build utils)))
               (snippet
-               '(substitute* "tests/Makefile.in"
-                  ;; The '%: %.in' rule incorrectly uses @VERSION@.
-                  (("@VERSION@")
-                   "[@]VERSION[@]")))))
+               '(begin
+                  (substitute* "tests/Makefile.in"
+                    ;; The '%: %.in' rule incorrectly uses @VERSION@.
+                    (("@VERSION@")
+                     "[@]VERSION[@]"))
+                  (substitute* '("src/unicode_start" "src/unicode_stop")
+                    ;; Assume the Coreutils are in $PATH.
+                    (("/usr/bin/tty")
+                     "tty"))))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases (alist-cons-before
@@ -1203,7 +1208,17 @@ system.")
                         (string-append gzip "/bin/gzip"))
                        (("bzip2")
                         (string-append bzip2 "/bin/bzip2")))))
-                 %standard-phases)))
+                 (alist-cons-after
+                  'install 'post-install
+                  (lambda* (#:key outputs #:allow-other-keys)
+                    ;; Make sure these programs find their comrades.
+                    (let* ((out (assoc-ref outputs "out"))
+                           (bin (string-append out "/bin")))
+                      (for-each (lambda (prog)
+                                  (wrap-program (string-append bin "/" prog)
+                                                `("PATH" ":" prefix (,bin))))
+                                '("unicode_start" "unicode_stop"))))
+                  %standard-phases))))
     (inputs `(("check" ,check)
               ("gzip" ,guix:gzip)
               ("bzip2" ,guix:bzip2)