Skip to content

Commit

Permalink
Mk/Uses/meson.mk: Do not force color output (D29353)
Browse files Browse the repository at this point in the history
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
  • Loading branch information
Tobias Kortkamp authored and Tobias Kortkamp committed Apr 20, 2021
1 parent a91d653 commit ff2796d
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 0 deletions.
5 changes: 5 additions & 0 deletions Mk/Uses/meson.mk
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
1 change: 1 addition & 0 deletions devel/meson/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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}/

Expand Down
24 changes: 24 additions & 0 deletions devel/meson/files/patch-mesonbuild_compilers_mixins_clang.py
Original file line number Diff line number Diff line change
@@ -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 = {

0 comments on commit ff2796d

Please sign in to comment.