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 @@ -1,69 +1,74 @@ # Provide support for Meson based projects # # Feature: meson # Usage: USES=meson # # The following files are bundled in source tar files. # meson.build - Instructions for meson like autoconf configure, # there is no changeable parts in the file. # meson_options.txt - All the options meson understands # # Variables for ports: # MESON_ARGS - Arguments passed to meson # format: -Denable_foo=true # MESON_BUILD_DIR - Path to the build directory relative to ${WRKSRC} # Default: _build # # MAINTAINER: gnome@FreeBSD.org .if !defined(_INCLUDE_USES_MESON_MK) _INCLUDE_USES_MESON_MK= yes # Sanity check .if !empty(meson_ARGS) IGNORE= Incorrect 'USES+= meson:${meson_ARGS}'. meson takes no arguments .endif BUILD_DEPENDS+= meson:devel/meson # meson uses ninja .include "${USESDIR}/ninja.mk" # meson might have issues with non-unicode locales USE_LOCALE?= en_US.UTF-8 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 # should we have strip separate from WITH_DEBUG? .if defined(WITH_DEBUG) CONFIGURE_ARGS+= --buildtype debug .else CONFIGURE_ARGS+= --buildtype release \ --strip .endif HAS_CONFIGURE= yes CONFIGURE_CMD= meson # Pull in manual set settings and from options CONFIGURE_ARGS+= ${MESON_ARGS} BUILD_WRKSRC= ${WRKSRC}/${MESON_BUILD_DIR} INSTALL_WRKSRC= ${WRKSRC}/${MESON_BUILD_DIR} TEST_WRKSRC= ${WRKSRC}/${MESON_BUILD_DIR} TEST_TARGET= test MESON_BUILD_DIR?= _build CONFIGURE_LOG= ${MESON_BUILD_DIR}/meson-logs/meson-log.txt # Add meson build dir at the end. CONFIGURE_ARGS+= ${MESON_BUILD_DIR} .endif #!defined(_INCLUDE_USES_MESON_MK) diff --git a/devel/meson/Makefile b/devel/meson/Makefile index 8a25e36d64ba..34f0488e3416 100644 --- a/devel/meson/Makefile +++ b/devel/meson/Makefile @@ -1,35 +1,36 @@ # Created by: Ting-Wei Lan PORTNAME= meson PORTVERSION= 0.57.1 +PORTREVISION= 1 CATEGORIES= devel python MASTER_SITES= https://github.com/mesonbuild/${PORTNAME}/releases/download/${PORTVERSION}/ MAINTAINER= desktop@FreeBSD.org COMMENT= High performance build system LICENSE= APACHE20 LICENSE_FILE= ${WRKSRC}/COPYING TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest-xdist>0:devel/py-pytest-xdist@${PY_FLAVOR} USES= ninja:run python:3.6+ shebangfix USE_PYTHON= autoplist distutils noflavors SHEBANG_FILES= mesonbuild/rewriter.py \ mesonbuild/scripts/cmake_run_ctgt.py NO_ARCH= yes # https://github.com/mesonbuild/meson/issues/6016 TEST_ENV= ${MAKE_ENV:NCC=*:NCXX=*} # Hide from regular build to avoid accidental dependency on symlinks .if make(test) # helper_create_binary_wrapper, test_python_module, test cases/*.py BINARY_ALIAS+= python3=${PYTHON_CMD:T} python=${PYTHON_CMD:T} do-test: create-binary-alias # force if run late .endif do-test: @(cd ${TEST_WRKSRC} && ${SETENV} ${TEST_ENV} ${PYTHON_CMD} ${WRKSRC}/run_unittests.py) .include 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?= +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 = {