feat: update install_dirs to derive mandir and infodir from datarootdir
This commit is contained in:
+14
-2
@@ -176,7 +176,6 @@ fn meson_setup_args(
|
||||
("--localstatedir", dirs.localstatedir),
|
||||
("--sharedstatedir", dirs.sharedstatedir),
|
||||
("--includedir", dirs.includedir),
|
||||
("--datarootdir", dirs.datarootdir),
|
||||
("--datadir", dirs.datadir),
|
||||
("--mandir", dirs.mandir),
|
||||
("--infodir", dirs.infodir),
|
||||
@@ -305,12 +304,25 @@ mod tests {
|
||||
assert!(args.iter().any(|a| a == "--localstatedir=/var"));
|
||||
assert!(args.iter().any(|a| a == "--sharedstatedir=/var/lib"));
|
||||
assert!(args.iter().any(|a| a == "--includedir=/usr/include"));
|
||||
assert!(args.iter().any(|a| a == "--datarootdir=/usr/share"));
|
||||
assert!(args.iter().any(|a| a == "--datadir=/usr/share"));
|
||||
assert!(args.iter().any(|a| a == "--mandir=/usr/share/man"));
|
||||
assert!(args.iter().any(|a| a == "--infodir=/usr/share/info"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_meson_setup_args_derive_dirs_from_datarootdir() {
|
||||
let flags = BuildFlags {
|
||||
datarootdir: "/opt/share-root".to_string(),
|
||||
..BuildFlags::default()
|
||||
};
|
||||
|
||||
let args = meson_setup_args(&flags, None, &[]);
|
||||
assert!(!args.iter().any(|a| a.starts_with("--datarootdir=")));
|
||||
assert!(args.iter().any(|a| a == "--datadir=/opt/share-root"));
|
||||
assert!(args.iter().any(|a| a == "--mandir=/opt/share-root/man"));
|
||||
assert!(args.iter().any(|a| a == "--infodir=/opt/share-root/info"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_meson_setup_args_honor_explicit_prefix() {
|
||||
let flags = BuildFlags {
|
||||
|
||||
+4
-2
@@ -68,6 +68,8 @@ pub(crate) fn install_dirs(flags: &crate::package::BuildFlags) -> InstallDirs {
|
||||
default_libdir_for_variant(flags.lib32_variant),
|
||||
);
|
||||
let datarootdir = configured_install_dir(&flags.datarootdir, "/usr/share");
|
||||
let default_mandir = format!("{datarootdir}/man");
|
||||
let default_infodir = format!("{datarootdir}/info");
|
||||
|
||||
InstallDirs {
|
||||
bindir: configured_install_dir(&flags.bindir, "/usr/bin"),
|
||||
@@ -80,8 +82,8 @@ pub(crate) fn install_dirs(flags: &crate::package::BuildFlags) -> InstallDirs {
|
||||
includedir: configured_install_dir(&flags.includedir, "/usr/include"),
|
||||
datarootdir: datarootdir.clone(),
|
||||
datadir: configured_install_dir(&flags.datadir, &datarootdir),
|
||||
mandir: configured_install_dir(&flags.mandir, "/usr/share/man"),
|
||||
infodir: configured_install_dir(&flags.infodir, "/usr/share/info"),
|
||||
mandir: configured_install_dir(&flags.mandir, &default_mandir),
|
||||
infodir: configured_install_dir(&flags.infodir, &default_infodir),
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user