diff options
Diffstat (limited to 'bin/meson.build')
-rw-r--r-- | bin/meson.build | 73 |
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 +) |