diff options
author | bst-marge-bot <marge-bot@buildstream.build> | 2019-08-08 23:27:24 +0000 |
---|---|---|
committer | bst-marge-bot <marge-bot@buildstream.build> | 2019-08-08 23:27:24 +0000 |
commit | 235f0d784b59f59e5bc08be6e8465daeff8f3421 (patch) | |
tree | dbd40d172afac155b10c46f89df300b4f1b8743b | |
parent | 760ced144d647cd4c57b10715323060d8de622f0 (diff) | |
parent | 5bc7088df7f9b1da270dceaa214cfe3d3a2bd6b3 (diff) | |
download | buildstream-235f0d784b59f59e5bc08be6e8465daeff8f3421.tar.gz |
Merge branch 'coldtom/move-meson' into 'master'
Move meson element to bst-plugins-experimental
See merge request BuildStream/buildstream!1532
-rw-r--r-- | doc/source/core_plugins.rst | 1 | ||||
-rw-r--r-- | src/buildstream/plugins/elements/meson.py | 71 | ||||
-rw-r--r-- | src/buildstream/plugins/elements/meson.yaml | 79 | ||||
-rw-r--r-- | tox.ini | 2 |
4 files changed, 1 insertions, 152 deletions
diff --git a/doc/source/core_plugins.rst b/doc/source/core_plugins.rst index d89921a14..b56e24feb 100644 --- a/doc/source/core_plugins.rst +++ b/doc/source/core_plugins.rst @@ -37,7 +37,6 @@ Build elements elements/distutils elements/makemaker elements/modulebuild - elements/meson elements/pip diff --git a/src/buildstream/plugins/elements/meson.py b/src/buildstream/plugins/elements/meson.py deleted file mode 100644 index d80f77977..000000000 --- a/src/buildstream/plugins/elements/meson.py +++ /dev/null @@ -1,71 +0,0 @@ -# Copyright (C) 2017 Patrick Griffis -# Copyright (C) 2018 Codethink Ltd. -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library. If not, see <http://www.gnu.org/licenses/>. - -""" -meson - Meson build element -=========================== -This is a :mod:`BuildElement <buildstream.buildelement>` implementation for -using `Meson <http://mesonbuild.com/>`_ build scripts. - -You will often want to pass additional arguments to ``meson``. This should -be done on a per-element basis by setting the ``meson-local`` variable. Here is -an example: - -.. code:: yaml - - variables: - meson-local: | - -Dmonkeys=yes - -If you want to pass extra options to ``meson`` for every element in your -project, set the ``meson-global`` variable in your project.conf file. Here is -an example of that: - -.. code:: yaml - - elements: - meson: - variables: - meson-global: | - -Dmonkeys=always - -Here is the default configuration for the ``meson`` element in full: - - .. literalinclude:: ../../../src/buildstream/plugins/elements/meson.yaml - :language: yaml - -See :ref:`built-in functionality documentation <core_buildelement_builtins>` for -details on common configuration options for build elements. -""" - -from buildstream import BuildElement, SandboxFlags - - -# Element implementation for the 'meson' kind. -class MesonElement(BuildElement): - # Supports virtual directories (required for remote execution) - BST_VIRTUAL_DIRECTORY = True - - # Enable command batching across prepare() and assemble() - def configure_sandbox(self, sandbox): - super().configure_sandbox(sandbox) - self.batch_prepare_assemble(SandboxFlags.ROOT_READ_ONLY, - collect=self.get_variable('install-root')) - - -# Plugin entry point -def setup(): - return MesonElement diff --git a/src/buildstream/plugins/elements/meson.yaml b/src/buildstream/plugins/elements/meson.yaml deleted file mode 100644 index 2172cb34c..000000000 --- a/src/buildstream/plugins/elements/meson.yaml +++ /dev/null @@ -1,79 +0,0 @@ -# Meson default configuration - -variables: - - build-dir: _builddir - - # Project-wide extra arguments to be passed to `meson` - meson-global: '' - - # Element-specific extra arguments to be passed to `meson`. - meson-local: '' - - # For backwards compatibility only, do not use. - meson-extra: '' - - meson-args: | - - --prefix=%{prefix} \ - --bindir=%{bindir} \ - --sbindir=%{sbindir} \ - --sysconfdir=%{sysconfdir} \ - --datadir=%{datadir} \ - --includedir=%{includedir} \ - --libdir=%{libdir} \ - --libexecdir=%{libexecdir} \ - --localstatedir=%{localstatedir} \ - --sharedstatedir=%{sharedstatedir} \ - --mandir=%{mandir} \ - --infodir=%{infodir} %{meson-extra} %{meson-global} %{meson-local} - - meson: meson %{conf-root} %{build-dir} %{meson-args} - - ninja: | - ninja -j ${NINJAJOBS} -C %{build-dir} - - ninja-install: | - env DESTDIR="%{install-root}" ninja -C %{build-dir} install - - # Set this if the sources cannot handle parallelization. - # - # notparallel: True - -config: - - # Commands for configuring the software - # - configure-commands: - - | - %{meson} - - # Commands for building the software - # - build-commands: - - | - %{ninja} - - # Commands for installing the software into a - # destination folder - # - install-commands: - - | - %{ninja-install} - - # Commands for stripping debugging information out of - # installed binaries - # - strip-commands: - - | - %{strip-binaries} - -# Use max-jobs CPUs for building -environment: - NINJAJOBS: | - %{max-jobs} - -# And dont consider NINJAJOBS as something which may -# affect build output. -environment-nocache: -- NINJAJOBS @@ -30,7 +30,7 @@ deps = py{35,36,37}: -rrequirements/requirements.txt py{35,36,37}: -rrequirements/dev-requirements.txt py{35,36,37}: -rrequirements/plugin-requirements.txt - git+https://gitlab.com/BuildStream/bst-plugins-experimental.git@aa022a67d9a11876973fe47102cb92cff085703a + git+https://gitlab.com/BuildStream/bst-plugins-experimental.git@f51bec2b85dc42c7fc0521061a9653ac886e7acb # Only require coverage and pytest-cov when using it !nocover: -rrequirements/cov-requirements.txt |