summary refs log tree commit diff
path: root/gnu/packages/patches
diff options
context:
space:
mode:
authorDanny Milosavljevic <dannym@scratchpost.org>2022-04-03 13:45:10 +0200
committerDanny Milosavljevic <dannym@scratchpost.org>2022-04-03 13:46:15 +0200
commit32d1f71593dc381880b42a3277fdf457df0be25d (patch)
tree8cef456462baa2867ee53c4984fc73125b3ee87d /gnu/packages/patches
parentb0ea8808b6bae8c61f3362e95b20915b607a69b9 (diff)
downloadguix-32d1f71593dc381880b42a3277fdf457df0be25d.tar.gz
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/patches')
-rw-r--r--gnu/packages/patches/xterm-370-explicit-xcursor.patch37
1 files changed, 37 insertions, 0 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 */