Skip to content

Commit 57d1ab9

Browse files
committed
bootstrap: pass datadir to rust-installer
Signed-off-by: Marc-Antoine Perennou <[email protected]>
1 parent 1c69269 commit 57d1ab9

File tree

2 files changed

+10
-3
lines changed

2 files changed

+10
-3
lines changed

src/bootstrap/config.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@ pub struct Config {
123123
pub musl_root: Option<PathBuf>,
124124
pub prefix: Option<PathBuf>,
125125
pub sysconfdir: Option<PathBuf>,
126+
pub datadir: Option<PathBuf>,
126127
pub docdir: Option<PathBuf>,
127128
pub bindir: Option<PathBuf>,
128129
pub libdir: Option<PathBuf>,
@@ -208,13 +209,13 @@ struct Build {
208209
struct Install {
209210
prefix: Option<String>,
210211
sysconfdir: Option<String>,
212+
datadir: Option<String>,
211213
docdir: Option<String>,
212214
bindir: Option<String>,
213215
libdir: Option<String>,
214216
mandir: Option<String>,
215217

216218
// standard paths, currently unused
217-
datadir: Option<String>,
218219
infodir: Option<String>,
219220
localstatedir: Option<String>,
220221
}
@@ -411,6 +412,7 @@ impl Config {
411412
if let Some(ref install) = toml.install {
412413
config.prefix = install.prefix.clone().map(PathBuf::from);
413414
config.sysconfdir = install.sysconfdir.clone().map(PathBuf::from);
415+
config.datadir = install.datadir.clone().map(PathBuf::from);
414416
config.docdir = install.docdir.clone().map(PathBuf::from);
415417
config.bindir = install.bindir.clone().map(PathBuf::from);
416418
config.libdir = install.libdir.clone().map(PathBuf::from);

src/bootstrap/install.rs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,18 +67,21 @@ fn install_sh(
6767

6868
let prefix_default = PathBuf::from("/usr/local");
6969
let sysconfdir_default = PathBuf::from("/etc");
70-
let docdir_default = PathBuf::from("share/doc/rust");
70+
let datadir_default = PathBuf::from("share");
71+
let docdir_default = datadir_default.join("doc/rust");
7172
let bindir_default = PathBuf::from("bin");
7273
let libdir_default = PathBuf::from("lib");
73-
let mandir_default = PathBuf::from("share/man");
74+
let mandir_default = datadir_default.join("man");
7475
let prefix = build.config.prefix.as_ref().unwrap_or(&prefix_default);
7576
let sysconfdir = build.config.sysconfdir.as_ref().unwrap_or(&sysconfdir_default);
77+
let datadir = build.config.datadir.as_ref().unwrap_or(&datadir_default);
7678
let docdir = build.config.docdir.as_ref().unwrap_or(&docdir_default);
7779
let bindir = build.config.bindir.as_ref().unwrap_or(&bindir_default);
7880
let libdir = build.config.libdir.as_ref().unwrap_or(&libdir_default);
7981
let mandir = build.config.mandir.as_ref().unwrap_or(&mandir_default);
8082

8183
let sysconfdir = prefix.join(sysconfdir);
84+
let datadir = prefix.join(datadir);
8285
let docdir = prefix.join(docdir);
8386
let bindir = prefix.join(bindir);
8487
let libdir = prefix.join(libdir);
@@ -88,6 +91,7 @@ fn install_sh(
8891

8992
let prefix = add_destdir(&prefix, &destdir);
9093
let sysconfdir = add_destdir(&sysconfdir, &destdir);
94+
let datadir = add_destdir(&datadir, &destdir);
9195
let docdir = add_destdir(&docdir, &destdir);
9296
let bindir = add_destdir(&bindir, &destdir);
9397
let libdir = add_destdir(&libdir, &destdir);
@@ -107,6 +111,7 @@ fn install_sh(
107111
.arg(sanitize_sh(&tmpdir(build).join(&package_name).join("install.sh")))
108112
.arg(format!("--prefix={}", sanitize_sh(&prefix)))
109113
.arg(format!("--sysconfdir={}", sanitize_sh(&sysconfdir)))
114+
.arg(format!("--datadir={}", sanitize_sh(&datadir)))
110115
.arg(format!("--docdir={}", sanitize_sh(&docdir)))
111116
.arg(format!("--bindir={}", sanitize_sh(&bindir)))
112117
.arg(format!("--libdir={}", sanitize_sh(&libdir)))

0 commit comments

Comments
 (0)