M gnu/local.mk => gnu/local.mk +2 -1
@@ 2426,7 2426,8 @@ dist_patch_DATA = \
%D%/packages/patches/xfig-Fix-double-free-when-requesting-MediaBox.patch \
%D%/packages/patches/xfig-Use-pkg-config-to-set-fontconfig-CFLAGS-and-LIBS.patch \
%D%/packages/patches/xfce4-settings-defaults.patch \
- %D%/packages/patches/xgboost-use-system-dmlc-core.patch \
+ %D%/packages/patches/xgboost-use-system-dmlc-core.patch \
+ %D%/packages/patches/xinit-startx-mcookie-path.patch \
%D%/packages/patches/xmonad-dynamic-linking.patch \
%D%/packages/patches/xplanet-1.3.1-cxx11-eof.patch \
%D%/packages/patches/xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch \
A gnu/packages/patches/xinit-startx-mcookie-path.patch => gnu/packages/patches/xinit-startx-mcookie-path.patch +23 -0
@@ 0,0 1,23 @@
+This patch fixes two bugs in upstream mcookie detection: 1) If mcookie is not
+detected, we still need to set HAS_COOKIE_HANDLER and MK_COOKIE, and 2) the
+value for MK_COOKIE must be a string in order to disallow further preprocessor
+expansions.
+
+In particular for 2, if we fail to surround the path in quotes, our path
+contains the token "linux", which gcc further expands, creating an invalid
+path.
+
+--- a/configure.ac 2025-03-08 16:48:34.476791744 +0900
++++ b/configure.ac 2025-03-08 16:48:30.208791623 +0900
+@@ -157,8 +157,10 @@
+ fi
+ fi
+ if test "x$MCOOKIE" != x ; then
+- STARTX_COOKIE_FLAGS='-DHAS_COOKIE_MAKER -DMK_COOKIE="$(MCOOKIE)"'
++ STARTX_COOKIE_FLAGS='-DHAS_COOKIE_MAKER -DMK_COOKIE="'"'"'$(MCOOKIE)'"'"'"'
+ AC_MSG_NOTICE([startx will depend on "$MCOOKIE" to generate xauth cookies])
++else
++ STARTX_COOKIE_FLAGS='-DHAS_COOKIE_MAKER -DMK_COOKIE='
+ fi
+ AC_SUBST(STARTX_COOKIE_FLAGS)
+
M gnu/packages/xorg.scm => gnu/packages/xorg.scm +7 -7
@@ 42,6 42,7 @@
;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2025 宋文武 <iyzsong@envs.net>
+;;; Copyright © 2025 B. Wilson <elaexuotee@wilsonb.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ 5898,14 5899,13 @@ The XCB util-wm module provides the following libraries:
version ".tar.xz"))
(sha256
(base32
- "0npx32mi035xkz26gp7raps5xsq4v7rgayy1q794h4d3lqhryh46"))))
+ "0npx32mi035xkz26gp7raps5xsq4v7rgayy1q794h4d3lqhryh46"))
+ (patches
+ (search-patches "xinit-startx-mcookie-path.patch"))))
(build-system gnu-build-system)
- (inputs
- (list xorgproto libx11))
- (native-inputs
- (list pkg-config))
- (propagated-inputs
- (list xauth))
+ (inputs (list libx11 util-linux xorgproto))
+ (native-inputs (list pkg-config))
+ (propagated-inputs (list xauth))
(home-page "https://www.x.org/")
(synopsis "Commands to start the X Window server")
(description