summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Coldrick <thomas.coldrick@codethink.co.uk>2019-08-08 12:02:48 +0100
committerThomas Coldrick <thomas.coldrick@codethink.co.uk>2019-08-08 15:18:51 +0100
commit1aff1a74288c2a06ec8ee6a0d94b2df9176dd366 (patch)
treef42839ba3c9a9b43f15ec2d2dd52799a8c26f506
parent3e0eb25361e09124e56b5167212e9623a76da98f (diff)
downloadbuildstream-coldtom/move-meson.tar.gz
Move meson element to bst-plugins-experimentalcoldtom/move-meson
-rw-r--r--doc/source/core_plugins.rst1
-rw-r--r--src/buildstream/plugins/elements/meson.py71
-rw-r--r--src/buildstream/plugins/elements/meson.yaml79
-rw-r--r--tox.ini2
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
diff --git a/tox.ini b/tox.ini
index af520677c..3a0cc46cc 100644
--- a/tox.ini
+++ b/tox.ini
@@ -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