| 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' |
| ) |