aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'bin/meson.build')
-rw-r--r--bin/meson.build73
1 files changed, 73 insertions, 0 deletions
diff --git a/bin/meson.build b/bin/meson.build
new file mode 100644
index 000000000..b076eaa39
--- /dev/null
+++ b/bin/meson.build
@@ -0,0 +1,73 @@
+py_bins = [
+ 'ebuild',
+ 'egencache',
+ 'emerge',
+ 'emirrordist',
+ 'glsa-check',
+ 'gpkg-sign',
+ 'portageq',
+ 'quickpkg'
+]
+
+other_bins = [
+ 'emerge-webrsync'
+]
+
+py_sbins = [
+ 'archive-conf',
+ 'dispatch-conf',
+ 'emaint',
+ 'env-update',
+ 'fixpackages',
+ 'regenworld'
+]
+
+etc_update = 'etc-update'
+
+if eprefix != ''
+ etc_update = configure_file(
+ input : etc_update,
+ output : 'etc-update',
+ command : hprefixify,
+ capture : true
+ )
+endif
+
+# It might seem sensible to use py.install_sources() to install the Python
+# scripts, but it's really just a wrapper around install_data that forces the
+# install_dir. Meson 1.2.0 and later also optimize to bytecode, but Gentoo does
+# this in the ebuild.
+
+install_data(
+ py_bins,
+ install_dir : system_wide ? get_option('bindir') : portage_bindir,
+ install_mode : 'rwxr-xr-x',
+)
+
+install_data(
+ other_bins,
+ install_dir : get_option('bindir'),
+ install_mode : 'rwxr-xr-x',
+)
+
+install_data(
+ py_sbins,
+ install_dir : system_wide ? get_option('sbindir') : portage_bindir,
+ install_mode : 'rwxr-xr-x',
+)
+
+install_data(
+ [etc_update],
+ install_dir : system_wide ? get_option('sbindir') : get_option('bindir'),
+ install_mode : 'rwxr-xr-x',
+)
+
+# Note that exclude_files is currently broken in meson-python, but it should
+# work soon. Having duplicates here isn't that bad in the meantime.
+# https://github.com/mesonbuild/meson-python/issues/317
+
+install_subdir(
+ '.',
+ exclude_files : py_bins + other_bins + py_sbins + ['etc-update', 'meson.build'],
+ install_dir : portage_bindir
+)