Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 20 Apr 2021 06:59:36 GMT
From:      Tobias Kortkamp <tobik@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: ff2796d5bc83 - main - Mk/Uses/meson.mk: Do not force color output (D29353)
Message-ID:  <202104200659.13K6xaCU026735@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by tobik:

URL: https://cgit.FreeBSD.org/ports/commit/?id=ff2796d5bc837b0c6cb26791439c64f96fe1c090

commit ff2796d5bc837b0c6cb26791439c64f96fe1c090
Author:     Tobias Kortkamp <tobik@FreeBSD.org>
AuthorDate: 2021-04-08 09:33:03 +0000
Commit:     Tobias Kortkamp <tobik@FreeBSD.org>
CommitDate: 2021-04-20 06:57:35 +0000

    Mk/Uses/meson.mk: Do not force color output (D29353)
    
    By default Meson forces color output.  Ninja strips the escape
    sequences before they go into the log.  Samurai does not do that,
    so we end up with some garbage in the logs.  Pass -Db_colorout=never
    to Meson to disable colors in general.  Also see
    https://mesonbuild.com/Builtin-options.html
    
    This requires a small backport in devel/meson since the b_colorout
    option is broken with Clang at the moment.
    
    PR:             254678
    Exp-run by:     antoine
---
 Mk/Uses/meson.mk                                   |  5 +++++
 devel/meson/Makefile                               |  1 +
 .../patch-mesonbuild_compilers_mixins_clang.py     | 24 ++++++++++++++++++++++
 3 files changed, 30 insertions(+)

diff --git a/Mk/Uses/meson.mk b/Mk/Uses/meson.mk
index 0322cb1ed47d..c089b76a0640 100644
--- a/Mk/Uses/meson.mk
+++ b/Mk/Uses/meson.mk
@@ -36,6 +36,11 @@ CONFIGURE_ARGS+=	--prefix ${PREFIX} \
 			--mandir man \
 			--infodir ${INFO_PATH}
 
+# Disable color output.  Meson forces it on by default, Ninja
+# strips it before it goes to the log, but Samurai does not, so we
+# might end up with ANSI escape sequences in the logs.
+CONFIGURE_ARGS+=	-Db_colorout=never
+
 # meson has it own strip mechanic
 INSTALL_TARGET=		install
 
diff --git a/devel/meson/Makefile b/devel/meson/Makefile
index 8a25e36d64ba..34f0488e3416 100644
--- a/devel/meson/Makefile
+++ b/devel/meson/Makefile
@@ -2,6 +2,7 @@
 
 PORTNAME=	meson
 PORTVERSION=	0.57.1
+PORTREVISION=	1
 CATEGORIES=	devel python
 MASTER_SITES=	https://github.com/mesonbuild/${PORTNAME}/releases/download/${PORTVERSION}/
 
diff --git a/devel/meson/files/patch-mesonbuild_compilers_mixins_clang.py b/devel/meson/files/patch-mesonbuild_compilers_mixins_clang.py
new file mode 100644
index 000000000000..d745bd8739b5
--- /dev/null
+++ b/devel/meson/files/patch-mesonbuild_compilers_mixins_clang.py
@@ -0,0 +1,24 @@
+From c24a0f852489124fa002bdc90b5753547899b1cb Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Krzysztof=20Ma=C5=82ysa?= <varqox@gmail.com>
+Date: Tue, 16 Feb 2021 18:46:06 +0100
+Subject: [PATCH] compilers: clang: Drop -Xclang before -fcolor-diagnostics
+ flag
+
+Using -Xclang -fcolor-diagnostics provides no advantage to using just -fcolor-diagnostics option and sometimes causes problems:
+* uncolored diagnostics on Arch Linux: https://bugs.archlinux.org/task/69662
+* simple problem with removing flag -fcolor-diagnostics:  https://github.com/clangd/clangd/issues/279
+--- mesonbuild/compilers/mixins/clang.py.orig	2021-02-20 13:17:16 UTC
++++ mesonbuild/compilers/mixins/clang.py
+@@ -29,9 +29,9 @@ if T.TYPE_CHECKING:
+     from ...dependencies import Dependency  # noqa: F401
+ 
+ clang_color_args = {
+-    'auto': ['-Xclang', '-fcolor-diagnostics'],
+-    'always': ['-Xclang', '-fcolor-diagnostics'],
+-    'never': ['-Xclang', '-fno-color-diagnostics'],
++    'auto': ['-fcolor-diagnostics'],
++    'always': ['-fcolor-diagnostics'],
++    'never': ['-fno-color-diagnostics'],
+ }  # type: T.Dict[str, T.List[str]]
+ 
+ clang_optimization_args = {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202104200659.13K6xaCU026735>