From 99efc551ad8f76ee1bc2639751aba71c550505d1 Mon Sep 17 00:00:00 2001 From: Ophestra Date: Thu, 30 Jul 2026 08:51:46 +0900 Subject: 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 --- internal/rosa/package/meson.az | 56 -------------------- internal/rosa/package/meson/package.az | 60 ++++++++++++++++++++++ internal/rosa/package/meson/respect-colour.patch | 13 +++++ .../rosa/package/meson/test-strip-colour.patch | 13 +++++ 4 files changed, 86 insertions(+), 56 deletions(-) delete mode 100644 internal/rosa/package/meson.az create mode 100644 internal/rosa/package/meson/package.az create mode 100644 internal/rosa/package/meson/respect-colour.patch create mode 100644 internal/rosa/package/meson/test-strip-colour.patch (limited to 'internal') diff --git a/internal/rosa/package/meson.az b/internal/rosa/package/meson.az deleted file mode 100644 index 6d8b97f6..00000000 --- a/internal/rosa/package/meson.az +++ /dev/null @@ -1,56 +0,0 @@ -package meson { - description = "an open source build system"; - website = "https://mesonbuild.com"; - anitya = 6472; - - version# = "1.11.2"; - source = remoteGitHub { - suffix = "mesonbuild/meson"; - tag = version; - checksum = "9AMilGxTOVqPA2DaGMASyuVs1BeTzgDZ0NH2oSYoRZk846ApvfOBa4cc18XEEK7M"; - }; - - env = [ - "CMAKE_MAKE_PROGRAM=ninja", - ]; - - exec = pip { - enterSource = true; - check = ` -cd 'test cases' -rm -rf \ - 'common/32 has header' \ - 'common/66 vcstag' \ - 'common/153 wrap file should not failed' \ - 'common/184 openmp' \ - 'common/189 check header' \ - 'linuxlike/6 subdir include order' \ - 'linuxlike/9 compiler checks with dependencies' \ - 'linuxlike/13 cmake dependency' \ - 'frameworks/15 llvm' \ - 'frameworks/29 blocks' -cd .. - -python3 ./run_project_tests.py \ - -v \ - ` + jobsFlagE + ` \ - --failfast \ - --backend=ninja -`; - }; - - inputs = [ - python-setuptools, - pkg-config, - cmake, - ninja, - python-pytest, - ]; - - runtime = [ - python, - pkg-config, - cmake, - ninja, - ]; -} diff --git a/internal/rosa/package/meson/package.az b/internal/rosa/package/meson/package.az new file mode 100644 index 00000000..0af1b997 --- /dev/null +++ b/internal/rosa/package/meson/package.az @@ -0,0 +1,60 @@ +package meson { + description = "an open source build system"; + website = "https://mesonbuild.com"; + anitya = 6472; + + version# = "1.11.2"; + source = remoteGitHub { + suffix = "mesonbuild/meson"; + tag = version; + checksum = "9AMilGxTOVqPA2DaGMASyuVs1BeTzgDZ0NH2oSYoRZk846ApvfOBa4cc18XEEK7M"; + }; + patches = [ + "respect-colour.patch", + "test-strip-colour.patch", + ]; + + env = [ + "CMAKE_MAKE_PROGRAM=ninja", + ]; + + exec = pip { + enterSource = true; + check = ` +cd 'test cases' +rm -rf \ + 'common/32 has header' \ + 'common/66 vcstag' \ + 'common/153 wrap file should not failed' \ + 'common/184 openmp' \ + 'common/189 check header' \ + 'linuxlike/6 subdir include order' \ + 'linuxlike/9 compiler checks with dependencies' \ + 'linuxlike/13 cmake dependency' \ + 'frameworks/15 llvm' \ + 'frameworks/29 blocks' +cd .. + +python3 ./run_project_tests.py \ + -v \ + ` + jobsFlagE + ` \ + --failfast \ + --backend=ninja +`; + }; + + inputs = [ + python-setuptools, + pkg-config, + cmake, + ninja, + python-pytest, + ]; + + runtime = [ + python, + pkg-config, + cmake, + 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: -- cgit v1.3.1