add the "pyvenv_functests_group" target to meson. This target will
invoke mkvenv.py to install the associated dependency group to the
build/pyvenv directory.
A "pyvenv_tooling_group" is not included here as it is the plan to
always install this group by default, so it will not need an on-demand
trigger.
Signed-off-by: John Snow <jsnow@redhat.com>
---
meson.build | 1 +
pyvenv/meson.build | 28 ++++++++++++++++++++++++++++
2 files changed, 29 insertions(+)
create mode 100644 pyvenv/meson.build
diff --git a/meson.build b/meson.build
index 3108f01e887..245f1bc2ec9 100644
--- a/meson.build
+++ b/meson.build
@@ -4551,6 +4551,7 @@ subdir('scripts')
subdir('tools')
subdir('pc-bios')
subdir('docs')
+subdir('pyvenv')
# Tests are disabled on emscripten because they rely on host features that aren't
# supported by emscripten (e.g. fork and unix socket).
if host_os != 'emscripten'
diff --git a/pyvenv/meson.build b/pyvenv/meson.build
new file mode 100644
index 00000000000..2bfddeb4a52
--- /dev/null
+++ b/pyvenv/meson.build
@@ -0,0 +1,28 @@
+# Note that this file only controls "optional" dependency groups; groups
+# *required* for the build are handled directly in configure instead:
+# namely, meson and sphinx.
+
+# NB: This command may or may not include the "--online" flag, depending
+# on the results of configure.
+ensuregroup_cmd = config_host['MKVENV_ENSUREGROUP'].split()
+
+pyvenv_common_deps = files(
+ meson.project_source_root() + '/pythondeps.toml',
+ meson.project_source_root() + '/python/scripts/mkvenv.py'
+)
+pyvenv_wheel_dir = meson.project_source_root() + '/python/wheels'
+
+
+# This group is allowed to rely on internet, to fetch from PyPI.
+# If --online was not passed to configure, this could fail.
+pyvenv_functests_group = custom_target(
+ 'pyvenv_functests_group',
+ output: 'functests.group',
+ input: pyvenv_common_deps,
+ command: ensuregroup_cmd + [
+ '--online',
+ '--dir', pyvenv_wheel_dir,
+ '@INPUT0@',
+ 'functests',
+ ],
+)
--
2.52.0