diff options
author | B. Wilson <elaexuotee@wilsonb.com> | 2025-03-09 13:12:55 +0900 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2025-03-19 11:31:41 +0100 |
commit | cbd2db98954739db1cdda208e1667c5d50976bf1 (patch) | |
tree | 71aef9a0cb3e58177472a41e24a358d82725916b | |
parent | 81a911eab8a0214706fe0f74556a6788984949c3 (diff) | |
download | guix-cbd2db98954739db1cdda208e1667c5d50976bf1.tar.gz guix-cbd2db98954739db1cdda208e1667c5d50976bf1.zip |
gnu: xinit: Fix broken mcookie path in startx.
* gnu/packages/patches/xinit-startx-mcookie-path.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register patch.
* gnu/packages/xorg.scm (xinit)[source]: Add patch.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r-- | gnu/local.mk | 3 | ||||
-rw-r--r-- | gnu/packages/patches/xinit-startx-mcookie-path.patch | 23 | ||||
-rw-r--r-- | gnu/packages/xorg.scm | 14 |
3 files changed, 32 insertions, 8 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index 3e30418196..2e1b2f7c50 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -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 \ diff --git a/gnu/packages/patches/xinit-startx-mcookie-path.patch b/gnu/packages/patches/xinit-startx-mcookie-path.patch new file mode 100644 index 0000000000..050603433b --- /dev/null +++ b/gnu/packages/patches/xinit-startx-mcookie-path.patch @@ -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) + diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 15ee9edc79..db34a58f6e 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -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 |