blob: abd15146535654dfd302c4ed70e1f8b2e91f250d [file] [log] [blame]
install_data(
[
'etc-update.conf',
'dispatch-conf.conf'
],
install_dir : sysconfdir
)
extra_features = []
make_globals = 'make.globals'
repos_conf = 'repos.conf'
if get_option('gentoo-dev')
extra_features += [
'ipc-sandbox',
'network-sandbox',
'strict-keepdir',
'warn-on-large-env'
]
endif
if get_option('xattr') and host_machine.system() == 'linux'
extra_features += [
'xattr'
]
endif
if extra_features.length() > 0
make_globals = configure_file(
input : make_globals,
output : 'make.globals#features',
command : [sed, '$aFEATURES="${FEATURES} ' + ' '.join(extra_features) + '"', '@INPUT@'],
capture : true
)
endif
if not get_option('rsync-verify')
repos_conf = configure_file(
input : repos_conf,
output : 'repos.conf#rsync-verify',
command : [sed, '-r', 's:\\b(sync-rsync-verify-metamanifest|sync-webrsync-verify-signature)(\\s*=\\s*).*:\\1\\2no:', '@INPUT@'],
capture : true
)
endif
if eprefix != ''
make_globals = configure_file(
input : make_globals,
output : 'make.globals#eprefix',
command : hprefixify,
capture : true
)
repos_conf = configure_file(
input : repos_conf,
output : 'repos.conf#eprefix',
command : hprefixify,
capture : true
)
endif
arch = host_machine.cpu_family()
arch = {
'aarch64' : 'arm64',
'loongarch64' : 'loong',
'mips64' : 'mips',
'parisc' : 'hppa',
'riscv32' : 'riscv',
'riscv64' : 'riscv',
's390x' : 's390',
'sh4' : 'sh',
'sparc64' : 'sparc',
'x86_64' : 'amd64'
}.get(arch, arch)
if host_machine.system() == 'freebsd'
arch += '-fbsd'
endif
make_conf_example = 'make.conf.example'
diff = make_conf_example + '.' + arch + '.diff'
fs = import('fs')
if fs.exists(diff)
patch = find_program('patch', required : true)
make_conf_example = configure_file(
input : [make_conf_example, diff],
output : 'make.conf.example',
command : [patch, '-o', '@OUTPUT@', '@INPUT0@', '@INPUT1@']
)
else
warning('Portage does not have an arch-specific configuration for this arch. Please notify the arch maintainer about this issue. Using the generic configuration.')
endif
# TODO: Use fs.copyfile() when requiring Meson >=0.64.0.
make_globals = configure_file(
input : make_globals,
output : 'make.globals',
copy : true
)
repos_conf = configure_file(
input : repos_conf,
output : 'repos.conf',
copy : true
)
# TODO: Use preserve_path option when requiring Meson >=0.64.0.
install_data(
[
make_conf_example,
make_globals,
repos_conf,
],
install_dir : portage_datadir / 'config'
)
install_data(
[
'repo.postsync.d/example'
],
install_dir : portage_datadir / 'config' / 'repo.postsync.d'
)
install_data(
[
'sets/portage.conf'
],
install_dir : portage_datadir / 'config' / 'sets'
)
if not system_wide
subdir_done()
endif
install_data(
[
'logrotate.d/elog-save-summary'
],
install_dir : sysconfdir / 'logrotate.d'
)