Subject: Re: [bug#39306] [PATCH] gnu: Add xsettingsd.

From: Marius Bakke <[email-masked]>
Date: Thu, 30 Jan 2020 15:46:27 +0100

David Wilson <[email-masked]> writes:

> I've attached an updated patch file with the suggested changes.  The
> only thing I'm unsure about is disabling a particular warning-as-error
> that showed up in the gtest.h header:
>
> ---- SNIP ----
> /gnu/store/bxapb1f1l8frjpbjckk3zdxhmcig3xzk-googletest-1.10.0/include/gtest/gtest.h:1527:11: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
>    if (lhs == rhs) {
>        ~~~~^~~~~~
> cc1plus: all warnings being treated as errors
> ---- SNIP ----
>
> Since this is a warning in gtest's own header file rather than the
> package source, would it be OK to disable errors for it?

I'm glad you asked.  :-)

It is definitively OK to disable warnings coming from dependencies.  In
fact, that is what we are supposed to do, and used to do until the
switch to GCC 7.

To clarify, when we switched to GCC 7, its search paths were changed
from C{,PLUS}_INCLUDE_PATH to CPATH.  The only[*] difference between
these search paths is that headers found on the former are treated as
"system headers", which disables warnings.

[*] Besides the fact that GCC 6 and later is very picky about the order
of entries in C_INCLUDE_PATH, which is why we had to switch; see
<https://issues.guix.gnu.org/issue/30756> for details.

So, LGTM, though I have a suggestion for the description:

> +    (synopsis "Minimal Xorg settings daemon")

Maybe s/Minimal //, as the description makes it clear that it is a
lightweight alternative to the GNOME and KDE approaches.

> +    (description "xsettingsd is a lightweight daemon that provides settings to
> +Xorg applications via the XSETTINGS specification.  It is used for defining
> +font and theme settings when a complete desktop environment (GNOME, KDE) is
> +not running.  With a simple .xsettingsd configuration file one can avoid
> +configuring visual settings in different UI toolkits separately.")

@command{xsettingsd} and @file{.xsettingsd} will make it look slightly
better/more readable in the various UIs.  :-)