Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F102915931
D29353.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
13 KB
Referenced Files
None
Subscribers
None
D29353.diff
View Options
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
Details
Attached
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)
Attached To
Mode
D29353: Mk/Uses/ninja.mk: add support for devel/samurai
Attached
Detach File
Event Timeline
Log In to Comment