From: Mathieu Lirzin <mthl@gnu.org>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: guix-devel <guix-devel@gnu.org>
Subject: Re: [PATCH] gnu: rxvt-unicode: Add the terminal capability data.
Date: Wed, 09 Dec 2015 18:58:59 +0100 [thread overview]
Message-ID: <87y4d31p24.fsf@gnu.org> (raw)
In-Reply-To: 87wpsnsp8x.fsf@gnu.org
[-- Attachment #1: Type: text/plain, Size: 2301 bytes --]
ludo@gnu.org (Ludovic Courtès) writes:
> Otherwise LGTM. It’s great that you fixed this! People had reported
> the issue on IRC, so that’ll make them happy! :-)
I think this is only a partial fix. to launch emacsclient I still need
to do this:
TERMINFO="$HOME/.guix-profile/share/terminfo" emacsclient --tty foo
in terminfo(5), we can read this:
--8<---------------cut here---------------start------------->8---
Fetching Compiled Descriptions
The ncurses library searches for terminal descriptions in several
places. It uses only the first description found. The library has a
compiled-in list of places to search which can be overridden by envi‐
ronment variables. Before starting to search, ncurses eliminates
duplicates in its search list.
· If the environment variable TERMINFO is set, it is interpreted as
the pathname of a directory containing the compiled description you
are working on. Only that directory is searched.
· If TERMINFO is not set, ncurses will instead look in the directory
$HOME/.terminfo for a compiled description.
· Next, if the environment variable TERMINFO_DIRS is set, ncurses
will interpret the contents of that variable as a list of colon-
separated directories (or database files) to be searched.
An empty directory name (i.e., if the variable begins or ends with
a colon, or contains adjacent colons) is interpreted as the system
location /etc/terminfo.
· Finally, ncurses searches these compiled-in locations:
· a list of directories (no default value), and
· the system terminfo directory, /etc/terminfo (the compiled-in
default).
--8<---------------cut here---------------end--------------->8---
I suppose that "system terminfo directory" is set to
/gnu/store/...-ncurses-6.0 and IIUC correctly this is the only place
automatically searched. What about adding TERMINFO_DIRS in
"$HOME/.guix-profile/etc/profile"? I think TERMINFO_DIRS is more
appropriate than TERMINFO because it let the possibility for non-GuixSD
users to have multiple directories in it.
Here is an updated patch with my proposal:
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-rxvt-unicode-Add-the-terminal-capability-data.patch --]
[-- Type: text/x-diff, Size: 3025 bytes --]
From eedb9ca34c5bbc973765c8bd8a17b0a42c98e427 Mon Sep 17 00:00:00 2001
From: Mathieu Lirzin <mthl@gnu.org>
Date: Sun, 6 Dec 2015 21:58:03 +0100
Subject: [PATCH] gnu: rxvt-unicode: Add the terminal capability data.
This sets the destination when installing the necessary terminal
capability data, which are not provided by ncurses. See
https://lists.gnu.org/archive/html/bug-ncurses/2009-10/msg00031.html
* gnu/packages/xdisorg.scm (rxvt-unicode)[native-inputs]: Add ncurses.
[arguments]: Set the destination of the terminfo files.
[native-search-path]: New field. Make them automatically available to
the user.
---
gnu/packages/xdisorg.scm | 33 +++++++++++++++++++++------------
1 file changed, 21 insertions(+), 12 deletions(-)
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 4b5308c..ab48b2a 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -40,6 +40,7 @@
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome) ;for libgudev
+ #:use-module (gnu packages ncurses)
#:use-module (gnu packages perl)
#:use-module (gnu packages python)
#:use-module (gnu packages linux)
@@ -529,24 +530,32 @@ compact configuration syntax.")
(package
(name "rxvt-unicode")
(version "9.21")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "http://dist.schmorp.de/rxvt-unicode/"
- name "-"
- version
- ".tar.bz2"))
- (sha256
- (base32
- "0swmi308v5yxsddrdhvi4cch88k2bbs2nffpl5j5m2f55gbhw9vm"))))
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://dist.schmorp.de/rxvt-unicode/"
+ name "-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "0swmi308v5yxsddrdhvi4cch88k2bbs2nffpl5j5m2f55gbhw9vm"))))
(build-system gnu-build-system)
+ (arguments
+ ;; This sets the destination when installing the necessary terminal
+ ;; capability data, which are not provided by ncurses. See
+ ;; https://lists.gnu.org/archive/html/bug-ncurses/2009-10/msg00031.html
+ '(#:make-flags (list (string-append "TERMINFO="
+ (assoc-ref %outputs "out")
+ "/share/terminfo"))))
(inputs
`(("libXft" ,libxft)
("libX11" ,libx11)))
(native-inputs
- `(("perl" ,perl)
+ `(("ncurses" ,ncurses) ;trigger the installation of terminfo data
+ ("perl" ,perl)
("pkg-config" ,pkg-config)))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "TERMINFO_DIRS")
+ (files '("share/terminfo")))))
(home-page "http://software.schmorp.de/pkg/rxvt-unicode.html")
(synopsis "Rxvt clone with XFT and unicode support")
(description "Rxvt-unicode (urxvt) is a colour vt102 terminal emulator
--
2.6.3
[-- Attachment #3: Type: text/plain, Size: 28 bytes --]
Thanks,
--
Mathieu Lirzin
next prev parent reply other threads:[~2015-12-09 17:59 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-08 17:18 [PATCH] gnu: rxvt-unicode: Add the terminal capability data Mathieu Lirzin
2015-12-09 3:24 ` Leo Famulari
2015-12-09 14:12 ` Mathieu Lirzin
2015-12-09 13:52 ` Ludovic Courtès
2015-12-09 17:58 ` Mathieu Lirzin [this message]
2015-12-09 20:54 ` Ludovic Courtès
2015-12-09 21:26 ` Leo Famulari
2015-12-10 3:21 ` Mathieu Lirzin
2015-12-10 2:57 ` Mathieu Lirzin
2015-12-10 9:42 ` Ludovic Courtès
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87y4d31p24.fsf@gnu.org \
--to=mthl@gnu.org \
--cc=guix-devel@gnu.org \
--cc=ludo@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).