From: Đoàn Trần Công Danh Date: Thu, 8 May 2025 08:24:40 +0000 (+0700) Subject: meson: allow customize perl installation path X-Git-Tag: v2.50.0-rc0~39^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5463c1d4f6d03e63ee79bd822de667090f015356;p=thirdparty%2Fgit.git 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 Signed-off-by: Junio C Hamano --- diff --git a/meson.build b/meson.build index c47cb79af0..568da996f1 100644 --- a/meson.build +++ b/meson.build @@ -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, }, ) diff --git a/meson_options.txt b/meson_options.txt index 78d172a740..cc19918a7c 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -1,3 +1,7 @@ +# Configuration for Git installation +option('perllibdir', type: 'string', value: '', + description: 'Directory to install perl lib to. Defaults to /perl5') + # Configuration for how Git behaves at runtime. option('default_pager', type: 'string', value: 'less', description: 'Fall-back pager.') diff --git a/perl/FromCPAN/Mail/meson.build b/perl/FromCPAN/Mail/meson.build index b4ff2fc0b2..467507c5e6 100644 --- a/perl/FromCPAN/Mail/meson.build +++ b/perl/FromCPAN/Mail/meson.build @@ -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], ) diff --git a/perl/FromCPAN/meson.build b/perl/FromCPAN/meson.build index 1f9ea6ce8e..720c60283d 100644 --- a/perl/FromCPAN/meson.build +++ b/perl/FromCPAN/meson.build @@ -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], ) diff --git a/perl/Git/LoadCPAN/Mail/meson.build b/perl/Git/LoadCPAN/Mail/meson.build index 89cde56be8..05a5770560 100644 --- a/perl/Git/LoadCPAN/Mail/meson.build +++ b/perl/Git/LoadCPAN/Mail/meson.build @@ -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], ) diff --git a/perl/Git/LoadCPAN/meson.build b/perl/Git/LoadCPAN/meson.build index 1ee915c650..b975d49726 100644 --- a/perl/Git/LoadCPAN/meson.build +++ b/perl/Git/LoadCPAN/meson.build @@ -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], ) diff --git a/perl/Git/SVN/Memoize/meson.build b/perl/Git/SVN/Memoize/meson.build index 233ec670d7..4c589b30c3 100644 --- a/perl/Git/SVN/Memoize/meson.build +++ b/perl/Git/SVN/Memoize/meson.build @@ -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], ) diff --git a/perl/Git/SVN/meson.build b/perl/Git/SVN/meson.build index 44abaf42b7..8858985fe8 100644 --- a/perl/Git/SVN/meson.build +++ b/perl/Git/SVN/meson.build @@ -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 diff --git a/perl/Git/meson.build b/perl/Git/meson.build index b21fa5591e..a61b7b1f4a 100644 --- a/perl/Git/meson.build +++ b/perl/Git/meson.build @@ -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 diff --git a/perl/meson.build b/perl/meson.build index 2d4ab1c4a9..3c66b007ea 100644 --- a/perl/meson.build +++ b/perl/meson.build @@ -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], )