meson: allow customize perl installation path

Some distros, notably Fedora, want to install non-core Perl libraries
into specific directory, namely /usr/share/perl5/vendor_perl.

The Makefile build system allows this by overriding perllibdir variable,
let's make meson works on par with our Makefile.

Signed-off-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Đoàn Trần Công Danh 2025-05-08 15:24:40 +07:00 committed by Junio C Hamano
parent a2955b34f4
commit 5463c1d4f6
10 changed files with 19 additions and 10 deletions

View File

@ -1871,14 +1871,19 @@ if perl_features_enabled
perl_header_template = 'perl/header_templates/runtime_prefix.template.pl'
endif

perllibdir = get_option('perllibdir')
if perllibdir == ''
perllibdir = get_option('datadir') / 'perl5'
endif

perl_header = configure_file(
input: perl_header_template,
output: 'GIT-PERL-HEADER',
configuration: {
'GITEXECDIR_REL': get_option('libexecdir') / 'git-core',
'PERLLIBDIR_REL': get_option('datadir') / 'perl5',
'PERLLIBDIR_REL': perllibdir,
'LOCALEDIR_REL': get_option('datadir') / 'locale',
'INSTLIBDIR': get_option('datadir') / 'perl5',
'INSTLIBDIR': perllibdir,
'PATHSEP': pathsep,
},
)

View File

@ -1,3 +1,7 @@
# Configuration for Git installation
option('perllibdir', type: 'string', value: '',
description: 'Directory to install perl lib to. Defaults to <datadir>/perl5')

# Configuration for how Git behaves at runtime.
option('default_pager', type: 'string', value: 'less',
description: 'Fall-back pager.')

View File

@ -3,6 +3,6 @@ test_dependencies += custom_target(
output: 'Address.pm',
command: generate_perl_command,
install: true,
install_dir: get_option('datadir') / 'perl5/FromCPAN/Mail',
install_dir: perllibdir / 'FromCPAN/Mail',
depends: [git_version_file],
)

View File

@ -3,7 +3,7 @@ test_dependencies += custom_target(
output: 'Error.pm',
command: generate_perl_command,
install: true,
install_dir: get_option('datadir') / 'perl5/FromCPAN',
install_dir: perllibdir / 'FromCPAN',
depends: [git_version_file],
)


View File

@ -3,6 +3,6 @@ test_dependencies += custom_target(
output: 'Address.pm',
command: generate_perl_command,
install: true,
install_dir: get_option('datadir') / 'perl5/Git/LoadCPAN/Mail',
install_dir: perllibdir / 'Git/LoadCPAN/Mail',
depends: [git_version_file],
)

View File

@ -3,7 +3,7 @@ test_dependencies += custom_target(
output: 'Error.pm',
command: generate_perl_command,
install: true,
install_dir: get_option('datadir') / 'perl5/Git/LoadCPAN',
install_dir: perllibdir / 'Git/LoadCPAN',
depends: [git_version_file],
)


View File

@ -3,6 +3,6 @@ test_dependencies += custom_target(
output: 'YAML.pm',
command: generate_perl_command,
install: true,
install_dir: get_option('datadir') / 'perl5/Git/SVN',
install_dir: perllibdir / 'Git/SVN',
depends: [git_version_file],
)

View File

@ -13,7 +13,7 @@ foreach source : [
output: source,
command: generate_perl_command,
install: true,
install_dir: get_option('datadir') / 'perl5/Git/SVN',
install_dir: perllibdir / 'Git/SVN',
depends: [git_version_file],
)
endforeach

View File

@ -10,7 +10,7 @@ foreach source : [
output: source,
command: generate_perl_command,
install: true,
install_dir: get_option('datadir') / 'perl5/Git',
install_dir: perllibdir / 'Git',
depends: [git_version_file],
)
endforeach

View File

@ -3,7 +3,7 @@ test_dependencies += custom_target(
output: 'Git.pm',
command: generate_perl_command,
install: true,
install_dir: get_option('datadir') / 'perl5',
install_dir: perllibdir,
depends: [git_version_file],
)