GNU bug report logs -
#77266
[PATCH] gnu: Merge xorg configurations when extending.
Previous Next
Reported by: Ian Eure <ian <at> retrospec.tv>
Date: Wed, 26 Mar 2025 04:25:02 UTC
Severity: normal
Tags: patch
Done: Ian Eure <ian <at> retrospec.tv>
Bug is archived. No further changes may be made.
Full log
Message #50 received at 77266 <at> debbugs.gnu.org (full text, mbox):
Hi,
Ian Eure <ian <at> retrospec.tv> writes:
> Configuration for xorg is embedded in the various display-manager
> configuration records, and extension support is factored out into the
> `handle-xorg-configuration' macro. However, the extension mechanism replaces
> the existing xorg-configuration with the supplied one, making it impossible to
> compose configuration from multiple sources. This patch adds a procedure to
> merge two xorg-configuration records, and calls it within
> handle-xorg-configuration, allowing the config to be built piecemeal.
>
> * gnu/services/xorg.scm (merge-xorg-configurations): New variable.
> (handle-xorg-configuration): Merge xorg configs.
> * doc/guix.texi (X Window): Document xorg-configuration composition.
>
> Change-Id: I20e9db911eef5d4efe98fdf382f3084e4defc1ba
> + (append
> + (list (service gdm-service-type)
> + %xorg-intel-service
> + %xorg-keyboard-service)
Nitpick: indentation is off. :-)
> (define (xorg-configuration->file config)
> "Compute an Xorg configuration file corresponding to CONFIG, an
> <xorg-configuration> record."
> @@ -334,9 +362,12 @@ (define (expand modules)
> port)
> (newline port)))
>
> - (for-each (lambda (config)
> - (display config port))
> - '#$(xorg-configuration-extra-config config))))))
> + (for-each
> + (lambda (config)
> + (display config port)
> + (newline port))
> + (delete-duplicates
> + '#$(xorg-configuration-extra-config config)))))))
I think ‘delete-duplicates’ should be used for drivers, modules, and
fonts, but not for ‘extra-config’ (which is merely a string).
Does that make sense?
Thanks,
Ludo’.
This bug report was last modified 48 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.