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),
|
("--localstatedir", dirs.localstatedir),
|
||||||
("--sharedstatedir", dirs.sharedstatedir),
|
("--sharedstatedir", dirs.sharedstatedir),
|
||||||
("--includedir", dirs.includedir),
|
("--includedir", dirs.includedir),
|
||||||
("--datarootdir", dirs.datarootdir),
|
|
||||||
("--datadir", dirs.datadir),
|
("--datadir", dirs.datadir),
|
||||||
("--mandir", dirs.mandir),
|
("--mandir", dirs.mandir),
|
||||||
("--infodir", dirs.infodir),
|
("--infodir", dirs.infodir),
|
||||||
@@ -305,12 +304,25 @@ mod tests {
|
|||||||
assert!(args.iter().any(|a| a == "--localstatedir=/var"));
|
assert!(args.iter().any(|a| a == "--localstatedir=/var"));
|
||||||
assert!(args.iter().any(|a| a == "--sharedstatedir=/var/lib"));
|
assert!(args.iter().any(|a| a == "--sharedstatedir=/var/lib"));
|
||||||
assert!(args.iter().any(|a| a == "--includedir=/usr/include"));
|
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 == "--datadir=/usr/share"));
|
||||||
assert!(args.iter().any(|a| a == "--mandir=/usr/share/man"));
|
assert!(args.iter().any(|a| a == "--mandir=/usr/share/man"));
|
||||||
assert!(args.iter().any(|a| a == "--infodir=/usr/share/info"));
|
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]
|
#[test]
|
||||||
fn test_meson_setup_args_honor_explicit_prefix() {
|
fn test_meson_setup_args_honor_explicit_prefix() {
|
||||||
let flags = BuildFlags {
|
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),
|
default_libdir_for_variant(flags.lib32_variant),
|
||||||
);
|
);
|
||||||
let datarootdir = configured_install_dir(&flags.datarootdir, "/usr/share");
|
let datarootdir = configured_install_dir(&flags.datarootdir, "/usr/share");
|
||||||
|
let default_mandir = format!("{datarootdir}/man");
|
||||||
|
let default_infodir = format!("{datarootdir}/info");
|
||||||
|
|
||||||
InstallDirs {
|
InstallDirs {
|
||||||
bindir: configured_install_dir(&flags.bindir, "/usr/bin"),
|
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"),
|
includedir: configured_install_dir(&flags.includedir, "/usr/include"),
|
||||||
datarootdir: datarootdir.clone(),
|
datarootdir: datarootdir.clone(),
|
||||||
datadir: configured_install_dir(&flags.datadir, &datarootdir),
|
datadir: configured_install_dir(&flags.datadir, &datarootdir),
|
||||||
mandir: configured_install_dir(&flags.mandir, "/usr/share/man"),
|
mandir: configured_install_dir(&flags.mandir, &default_mandir),
|
||||||
infodir: configured_install_dir(&flags.infodir, "/usr/share/info"),
|
infodir: configured_install_dir(&flags.infodir, &default_infodir),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user