aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-07-30 08:51:46 +0900
committerOphestra <cat@gensokyo.uk>2026-07-30 08:51:46 +0900
commit99efc551ad8f76ee1bc2639751aba71c550505d1 (patch)
tree22d3d2e3c61afeb386b2e02c3592f461f9d756df /internal
parent4dbfee06989c35c9c7204aacd1dc28340c4de72a (diff)
internal/rosa/package/meson: respect CLICOLOR_FORCE
Upstream had ticket and patch available since 2017, still unmerged and refuses to support the environment variable, so patch it in. This also strips out the variable for test execution to work around buggy test suites like glib. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal')
-rw-r--r--internal/rosa/package/meson/package.az (renamed from internal/rosa/package/meson.az)4
-rw-r--r--internal/rosa/package/meson/respect-colour.patch13
-rw-r--r--internal/rosa/package/meson/test-strip-colour.patch13
3 files changed, 30 insertions, 0 deletions
diff --git a/internal/rosa/package/meson.az b/internal/rosa/package/meson/package.az
index 6d8b97f6..0af1b997 100644
--- a/internal/rosa/package/meson.az
+++ b/internal/rosa/package/meson/package.az
@@ -9,6 +9,10 @@ package meson {
tag = version;
checksum = "9AMilGxTOVqPA2DaGMASyuVs1BeTzgDZ0NH2oSYoRZk846ApvfOBa4cc18XEEK7M";
};
+ patches = [
+ "respect-colour.patch",
+ "test-strip-colour.patch",
+ ];
env = [
"CMAKE_MAKE_PROGRAM=ninja",
diff --git a/internal/rosa/package/meson/respect-colour.patch b/internal/rosa/package/meson/respect-colour.patch
new file mode 100644
index 00000000..8a43ebfa
--- /dev/null
+++ b/internal/rosa/package/meson/respect-colour.patch
@@ -0,0 +1,13 @@
+diff --git a/mesonbuild/mlog.py b/mesonbuild/mlog.py
+index e1d998a5d..83d6cf9d2 100644
+--- a/mesonbuild/mlog.py
++++ b/mesonbuild/mlog.py
+@@ -404,6 +404,8 @@ class _Logger:
+ _colorize_console = os.isatty(output.fileno()) and _windows_ansi()
+ else:
+ _colorize_console = os.isatty(output.fileno()) and os.environ.get('TERM', 'dumb') != 'dumb'
++ if os.environ.get('CLICOLOR_FORCE', '') != '':
++ _colorize_console = True
+ except Exception:
+ _colorize_console = False
+ output.colorize_console = _colorize_console # type: ignore
diff --git a/internal/rosa/package/meson/test-strip-colour.patch b/internal/rosa/package/meson/test-strip-colour.patch
new file mode 100644
index 00000000..b7c8ad12
--- /dev/null
+++ b/internal/rosa/package/meson/test-strip-colour.patch
@@ -0,0 +1,13 @@
+diff --git a/mesonbuild/mtest.py b/mesonbuild/mtest.py
+index 0661fa529..34ab36aa9 100644
+--- a/mesonbuild/mtest.py
++++ b/mesonbuild/mtest.py
+@@ -1817,6 +1817,8 @@ class TestHarness:
+ test.exe_wrapper and test.exe_wrapper.found()):
+ env['MESON_EXE_WRAPPER'] = join_args(test.exe_wrapper.get_command())
+ env['MESON_TEST_ITERATION'] = str(iteration + 1)
++ env.pop('CLICOLOR_FORCE')
++ env.pop('FORCE_COLOR')
+ return SingleTestRunner(test, env, name, options)
+
+ def process_test_result(self, result: TestRun) -> None: