diff options
author | Danny Milosavljevic <dannym@scratchpost.org> | 2022-04-03 13:45:10 +0200 |
---|---|---|
committer | Danny Milosavljevic <dannym@scratchpost.org> | 2022-04-03 13:46:15 +0200 |
commit | 32d1f71593dc381880b42a3277fdf457df0be25d (patch) | |
tree | 8cef456462baa2867ee53c4984fc73125b3ee87d /gnu/packages | |
parent | b0ea8808b6bae8c61f3362e95b20915b607a69b9 (diff) | |
download | guix-32d1f71593dc381880b42a3277fdf457df0be25d.tar.gz guix-32d1f71593dc381880b42a3277fdf457df0be25d.zip |
gnu: xterm: Make big cursors work.
* gnu/packages/patches/xterm-370-explicit-xcursor.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/xorg.scm (xterm)[source]: Add it.
[arguments]<#:configure-flags>: Add "-lXcursor".
Diffstat (limited to 'gnu/packages')
-rw-r--r-- | gnu/packages/patches/xterm-370-explicit-xcursor.patch | 37 | ||||
-rw-r--r-- | gnu/packages/xorg.scm | 7 |
2 files changed, 42 insertions, 2 deletions
diff --git a/gnu/packages/patches/xterm-370-explicit-xcursor.patch b/gnu/packages/patches/xterm-370-explicit-xcursor.patch new file mode 100644 index 0000000000..2500ccf0c8 --- /dev/null +++ b/gnu/packages/patches/xterm-370-explicit-xcursor.patch @@ -0,0 +1,37 @@ +From: Danny Milosavljevic <dannym@scratchpost.org> +Date: Thu, 2 Apr 2022 12:10:00 +0200 +Subject: Make xterm use libxcursor directly + +Fixes <https://issues.guix.gnu.org/54654>. + +This patch makes xterm use libxcursor directly. +Without it, libx11 would try to dlopen("libXcursor.so.1") and fail. + +--- xterm-370/misc.c.orig 2022-04-02 11:52:26.225131854 +0200 ++++ xterm-370/misc.c 2022-04-02 12:06:13.091482385 +0200 +@@ -79,6 +79,9 @@ + #ifdef HAVE_LIBXPM + #include <X11/xpm.h> + #endif ++#ifdef HAVE_LIB_XCURSOR ++#include <X11/Xcursor/Xcursor.h> ++#endif + + #ifdef HAVE_LANGINFO_CODESET + #include <langinfo.h> +@@ -866,7 +869,14 @@ + * 0, 2 a shape, 3 a mask for 2, etc. <X11/cursorfont.h> + * contains defined names for each shape. + */ +- c = XCreateGlyphCursor(dpy, ++ c = XcursorTryShapeCursor(dpy, ++ myFont.fs->fid, /* source_font */ ++ myFont.fs->fid, /* mask_font */ ++ c_index + 0, /* source_char */ ++ c_index + 1, /* mask_char */ ++ &foreground, ++ &background); ++ if (c == None) c = XCreateGlyphCursor(dpy, + myFont.fs->fid, /* source_font */ + myFont.fs->fid, /* mask_font */ + c_index + 0, /* source_char */ diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 14cd3bc789..75a7bbd01c 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -6144,12 +6144,15 @@ to answer a question. Xmessage can also exit after a specified time.") (string-append "ftp://ftp.invisible-island.net/xterm/" "xterm-" version ".tgz"))) (sha256 - (base32 "10lc72spa69n9d7zg9nwhgwz70qzidp5i17jgw3lq3qg1a25sg4n")))) + (base32 "10lc72spa69n9d7zg9nwhgwz70qzidp5i17jgw3lq3qg1a25sg4n")) + (patches + (search-patches "xterm-370-explicit-xcursor.patch")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--enable-wide-chars" "--enable-load-vt-fonts" "--enable-i18n" "--enable-doublechars" - "--enable-luit" "--enable-mini-luit") + "--enable-luit" "--enable-mini-luit" + "X_EXTRA_LIBS=-lXcursor") #:tests? #f ; no test suite #:phases (modify-phases %standard-phases |