Page MenuHomeFreeBSD

D29353.diff
No OneTemporary

D29353.diff

Index: Mk/Uses/meson.mk
===================================================================
--- Mk/Uses/meson.mk
+++ Mk/Uses/meson.mk
@@ -36,6 +36,11 @@
--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
Index: Mk/Uses/ninja.mk
===================================================================
--- Mk/Uses/ninja.mk
+++ Mk/Uses/ninja.mk
@@ -2,26 +2,77 @@
#
# Feature: ninja
# Usage: USES=ninja
+# Valid ARGS: build, make (default), run
+#
+# build add a build dependency on ninja
+# make use ninja for the build instead of make, implies "build"
+# run add a run dependency on ninja
#
# MAINTAINER: portmgr@FreeBSD.org
.if !defined(_INCLUDE_USES_NINJA_MK)
_INCLUDE_USES_NINJA_MK= yes
-.if !empty(ninja_ARGS)
-IGNORE= Incorrect 'USES+= ninja:${ninja_ARGS}' ninja takes no arguments
+_valid_ARGS= build make run
+
+.for _arg in ${ninja_ARGS}
+. if empty(_valid_ARGS:M${_arg})
+IGNORE= 'USES+= ninja:${ninja_ARGS}' usage: argument [${_arg}] is not recognized
+. endif
+.endfor
+
+.if empty(ninja_ARGS)
+ninja_ARGS+= make
.endif
-MAKE_ARGS+= -v
+.if ${ninja_ARGS:Mmake}
+ninja_ARGS+= build
+.endif
+
+.if ${NINJA_DEFAULT} == ninja
+NINJA_CMD= ninja
+_NINJA_PORT= devel/ninja
+.elif ${NINJA_DEFAULT} == samurai
+NINJA_CMD= samu
+_NINJA_PORT= devel/samurai
+MAKE_ENV+= SAMUFLAGS="-v -j${MAKE_JOBS_NUMBER}"
+. if ${ninja_ARGS:Mbuild} && !${BINARY_ALIAS:U:Mninja=*}
+# Cmake and Meson have native support for Samurai and detect and
+# use it when Ninja is not available in the build environment. The
+# alias is needed for other ports which call Ninja directly and do
+# not fall back to Samurai. There should be no harm in providing it
+# generally.
+BINARY_ALIAS+= ninja=samu
+. endif
+.else
+IGNORE= invalid DEFAULT_VERSIONS+=ninja=${NINJA_DEFAULT}
+.endif
-BUILD_DEPENDS+= ninja:devel/ninja
+.if ${ninja_ARGS:Mbuild}
+BUILD_DEPENDS+= ${NINJA_CMD}:${_NINJA_PORT}
+# Humanize build log and include percentage of completed jobs %p in it.
+# See samu(1) or the Ninja manual.
+MAKE_ENV+= NINJA_STATUS="[%p %s/%t] "
+.endif
+.if ${ninja_ARGS:Mmake}
+. if ${NINJA_DEFAULT} == ninja
+# samu does not support GNU-style args, so we cannot just append
+# -v last. samu gets this via SAMUFLAGS above but ninja does not
+# support an equivalent environment variable.
+MAKE_ARGS+= -v
+. endif
CMAKE_ARGS+= -GNinja
MAKEFILE=
-MAKE_CMD= ninja
+MAKE_CMD= ${NINJA_CMD}
MAKE_FLAGS=
# Set a minimal job of 1
_MAKE_JOBS= -j${MAKE_JOBS_NUMBER}
_DESTDIR_VIA_ENV= yes
+.endif
+
+.if ${ninja_ARGS:Mrun}
+RUN_DEPENDS+= ${NINJA_CMD}:${_NINJA_PORT}
+.endif
.endif
Index: Mk/bsd.default-versions.mk
===================================================================
--- Mk/bsd.default-versions.mk
+++ Mk/bsd.default-versions.mk
@@ -18,7 +18,7 @@
LOCALBASE?= /usr/local
.for lang in APACHE BDB COROSYNC EMACS FIREBIRD FORTRAN FPC GCC GHOSTSCRIPT \
- IMAGEMAGICK JAVA LAZARUS LIBRSVG2 LINUX LLVM LUA MYSQL PERL5 \
+ IMAGEMAGICK JAVA LAZARUS LIBRSVG2 LINUX LLVM LUA MYSQL NINJA PERL5 \
PGSQL PHP PYTHON PYTHON2 PYTHON3 RUBY RUST SAMBA SSL TCLTK VARNISH
.if defined(${lang}_DEFAULT)
ERROR+= "The variable ${lang}_DEFAULT is set and it should only be defined through DEFAULT_VERSIONS+=${lang:tl}=${${lang}_DEFAULT} in /etc/make.conf"
@@ -81,6 +81,8 @@
MONO_DEFAULT= 5.10
# Possible values: 5.5, 5.6, 5.7, 8.0, 10.3m, 10.4m, 10.5m, 5.5p, 5.6p, 5.7p, 5.6w, 5.7w
MYSQL_DEFAULT?= 5.7
+# Possible values: ninja, samurai
+NINJA_DEFAULT?= ninja
# Possible values: 5.28, 5.30, 5.32, devel
.if !exists(${LOCALBASE}/bin/perl) || (!defined(_PORTS_ENV_CHECK) && \
defined(PACKAGE_BUILDING))
Index: devel/jiri/Makefile
===================================================================
--- devel/jiri/Makefile
+++ devel/jiri/Makefile
@@ -11,11 +11,10 @@
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= cmake:devel/cmake \
- ninja:devel/ninja
+BUILD_DEPENDS= cmake:devel/cmake
RUN_DEPENDS= git:devel/git
-USES= go:modules
+USES= go:modules ninja:build
GITHASH= 1eee1043d12d1baabae7f2466cc0b1646395e32c
TIMESTAMP= 2020-08-28T00:00:00.000000
Index: devel/meson/Makefile
===================================================================
--- devel/meson/Makefile
+++ 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}/
@@ -11,10 +12,9 @@
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/COPYING
-RUN_DEPENDS= ninja:devel/ninja
TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest-xdist>0:devel/py-pytest-xdist@${PY_FLAVOR}
-USES= python:3.6+ shebangfix
+USES= ninja:run python:3.6+ shebangfix
USE_PYTHON= autoplist distutils noflavors
SHEBANG_FILES= mesonbuild/rewriter.py \
mesonbuild/scripts/cmake_run_ctgt.py
Index: devel/meson/files/patch-mesonbuild_compilers_mixins_clang.py
===================================================================
--- /dev/null
+++ 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 = {
Index: devel/tinygo/Makefile
===================================================================
--- devel/tinygo/Makefile
+++ devel/tinygo/Makefile
@@ -9,11 +9,10 @@
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= cmake:devel/cmake \
- ninja:devel/ninja
+BUILD_DEPENDS= cmake:devel/cmake
TEST_DEPENDS= qemu-system-arm:emulators/qemu
-USES= gmake go:modules,run python:build
+USES= gmake go:modules,run ninja:build python:build
USE_GITHUB= yes
GH_ACCOUNT= tinygo-org
Index: graphics/py-h3/Makefile
===================================================================
--- graphics/py-h3/Makefile
+++ graphics/py-h3/Makefile
@@ -14,13 +14,12 @@
BUILD_DEPENDS= cmake:devel/cmake \
h3>=${PORTVERSION}:graphics/h3 \
- ninja:devel/ninja \
${PYTHON_PKGNAMEPREFIX}scikit-build>=0:devel/py-scikit-build@${PY_FLAVOR}
LIB_DEPENDS= libh3.so:graphics/h3
TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}numpy>=0,1:math/py-numpy@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pytest>=0:devel/py-pytest@${PY_FLAVOR}
-USES= localbase:ldflags python:3.6+
+USES= localbase:ldflags ninja:build python:3.6+
USE_PYTHON= autoplist concurrent cython distutils
CFLAGS+= -I${LOCALBASE}/include/h3
Index: japanese/mozc-server/Makefile
===================================================================
--- japanese/mozc-server/Makefile
+++ japanese/mozc-server/Makefile
@@ -9,8 +9,7 @@
MAINTAINER= hrs@FreeBSD.org
COMMENT?= Mozc Japanese Input Method, Server
-BUILD_DEPENDS= ninja:devel/ninja \
- ${PYTHON_PKGNAMEPREFIX}gyp>=20200512:devel/py-gyp@${PY_FLAVOR}
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}gyp>=20200512:devel/py-gyp@${PY_FLAVOR}
EXTRACT_DEPENDS=${PYTHON_CMD}:${PYTHON_PORTSDIR}
LIB_DEPENDS= libprotobuf.so:devel/protobuf \
libzinnia.so:japanese/zinnia
@@ -25,8 +24,8 @@
GH_ACCOUNT= hrs-allbsd
GH_TUPLE= hiroyuki-komatsu:japanese-usage-dictionary:e5b3425:udic
-USES= compiler:c++11-lang pkgconfig gmake \
- tar:bzip2 python:3.5+,build shebangfix
+USES= compiler:c++11-lang gmake ninja:build pkgconfig \
+ python:3.5+,build shebangfix tar:bzip2
SHEBANG_FILES= src/build_mozc.py
BUILD_WRKSRC= ${WRKSRC}/src
Index: lang/mono6.8/Makefile
===================================================================
--- lang/mono6.8/Makefile
+++ lang/mono6.8/Makefile
@@ -79,7 +79,7 @@
NINJA_DESC= Use ninja to build wherever possible
NINJA_CONFIGURE_ON= ninja
-NINJA_BUILD_DEPENDS= ninja>0:devel/ninja
+NINJA_USES= ninja:build
NLS_DESC= NLS Localization Support
NLS_CONFIGURE_OFF= --disable-nls
Index: lang/rust-bootstrap/Makefile
===================================================================
--- lang/rust-bootstrap/Makefile
+++ lang/rust-bootstrap/Makefile
@@ -29,7 +29,6 @@
BUILD_DEPENDS= cmake:devel/cmake \
gmake:devel/gmake \
- ninja:devel/ninja \
rust>=${PORTVERSION}:lang/rust
FLAVORS= aarch64 amd64 armv6 armv7 i386 powerpc64_elfv1 powerpc64_elfv2 powerpc64le
@@ -46,7 +45,7 @@
powerpc64_elfv2_PKGNAMEPREFIX= powerpc64-elfv2-
powerpc64le_PKGNAMEPREFIX= powerpc64le-
-USES= perl5 python:3.6+,build tar:xz
+USES= ninja:build perl5 python:3.6+,build tar:xz
.if ${FLAVOR} == powerpc64_elfv1
USE_GCC= 9:build
.endif
Index: lang/rust/Makefile
===================================================================
--- lang/rust/Makefile
+++ lang/rust/Makefile
@@ -28,11 +28,10 @@
ONLY_FOR_ARCHS?= aarch64 amd64 armv6 armv7 i386 powerpc64 powerpc64le
ONLY_FOR_ARCHS_REASON?= requires prebuilt bootstrap compiler
-BUILD_DEPENDS= cmake:devel/cmake \
- ninja:devel/ninja
+BUILD_DEPENDS= cmake:devel/cmake
LIB_DEPENDS= libcurl.so:ftp/curl
-USES= pkgconfig python:3.6+,build ssl tar:xz
+USES= ninja:build pkgconfig python:3.6+,build ssl tar:xz
MAKE_ENV= DESTDIR=${STAGEDIR} \
OPENSSL_DIR="${OPENSSLBASE}" \
Index: math/py-pdal/Makefile
===================================================================
--- math/py-pdal/Makefile
+++ math/py-pdal/Makefile
@@ -12,13 +12,12 @@
BUILD_DEPENDS= ${PYNUMPY} \
${PYTHON_PKGNAMEPREFIX}scikit-build>0:devel/py-scikit-build@${PY_FLAVOR} \
- ${LOCALBASE}/bin/cmake:devel/cmake \
- ${LOCALBASE}/bin/ninja:devel/ninja
+ cmake:devel/cmake
LIB_DEPENDS= libpdal_base.so:math/pdal
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}packaging>=0:devel/py-packaging@${PY_FLAVOR} \
${PYNUMPY}
-USES= compiler:c++11-lang python:3.6+
+USES= compiler:c++11-lang ninja:build python:3.6+
USE_PYTHON= autoplist cython distutils
post-install:
Index: math/sage/Makefile
===================================================================
--- math/sage/Makefile
+++ math/sage/Makefile
@@ -142,7 +142,6 @@
pari-nftables>0:math/pari_nftables \
pari-seadata>0:math/pari_seadata\
QuadraticSieve:math/flintqs \
- ninja:devel/ninja \
gpatch:devel/patch \
rubiks>0:math/rubiks \
sympow:math/sympow \
@@ -338,9 +337,10 @@
yasm:devel/yasm \
pixz:archivers/pixz
-USES= autoreconf blaslapack:openblas compiler:c++11-lib fortran \
- gettext gmake gnome iconv jpeg libtool localbase ncurses perl5 \
- pkgconfig python:3.7+ readline shebangfix sqlite tk xorg
+USES= autoreconf blaslapack:openblas compiler:c++11-lib fortran \
+ gettext gmake gnome iconv jpeg libtool localbase ncurses \
+ ninja:build perl5 pkgconfig python:3.7+ readline shebangfix \
+ sqlite tk xorg
USE_TEX= latex:build pdftex:build tex:build
USE_XORG= x11 xext xscrnsaver
USE_GNOME= cairo glib20 pango
Index: multimedia/handbrake/Makefile
===================================================================
--- multimedia/handbrake/Makefile
+++ multimedia/handbrake/Makefile
@@ -37,8 +37,8 @@
libopus.so:audio/opus \
libjansson.so:devel/jansson
-USES= autoreconf:build compiler:c11 gmake iconv \
- libtool:build localbase:ldflags pkgconfig python:3.6+,build
+USES= autoreconf:build compiler:c11 gmake iconv libtool:build \
+ localbase:ldflags ninja:build pkgconfig python:3.6+,build
CONTRIB_FILES= fdk-aac-2.0.1.tar.gz \
ffmpeg-4.2.3.tar.bz2 \
Index: sysutils/fluxengine/Makefile
===================================================================
--- sysutils/fluxengine/Makefile
+++ sysutils/fluxengine/Makefile
@@ -8,9 +8,7 @@
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/COPYING.md
-BUILD_DEPENDS= ninja:devel/ninja
-
-USES= pkgconfig gmake compiler:gcc-c++11-lib sqlite
+USES= compiler:gcc-c++11-lib gmake ninja:build pkgconfig sqlite
USE_GITHUB= yes
GH_ACCOUNT= davidgiven
Index: www/deno/Makefile
===================================================================
--- www/deno/Makefile
+++ www/deno/Makefile
@@ -16,7 +16,7 @@
gn:devel/gn \
libunwind>0:devel/libunwind
-USES= cargo ninja pkgconfig:build python:3.6+,build
+USES= cargo ninja:build pkgconfig:build python:3.6+,build
USE_GITHUB= yes
GH_ACCOUNT= denoland
@@ -28,7 +28,7 @@
CARGO_ENV+= CLANG_BASE_PATH=/usr \
GN=${PREFIX}/bin/gn \
- NINJA=${PREFIX}/bin/ninja \
+ NINJA=${NINJA_CMD} \
V8_FROM_SOURCE=1
RUSTFLAGS+= -C link-arg=-fuse-ld=lld
Index: www/qt5-webengine/Makefile
===================================================================
--- www/qt5-webengine/Makefile
+++ www/qt5-webengine/Makefile
@@ -24,7 +24,6 @@
COMMENT= Qt 5 library to render web content
BUILD_DEPENDS= bison:devel/bison \
- ninja:devel/ninja \
yasm:devel/yasm \
${LOCALBASE}/include/linux/input.h:devel/evdev-proto \
${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat
@@ -72,7 +71,7 @@
# We pass `norecursive' to USES=qmake because src/plugins/plugins.pro checks
# whether webenginewidgets is available, which fails when qmake processes all
# .pro files at once.
-USES= gl gnome gperf jpeg python:2.7,build pkgconfig \
+USES= gl gnome gperf jpeg ninja:build pkgconfig python:2.7,build \
qmake:norecursive,outsource qt-dist:5,webengine shebangfix xorg
USE_GL= gl
USE_GNOME= glib20 libxml2 libxslt

File Metadata

Mime Type
text/plain
Expires
Tue, Nov 19, 5:22 PM (22 h, 1 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
14720371
Default Alt Text
D29353.diff (13 KB)

Event Timeline