diff options
Diffstat (limited to 'lang/rust/files')
-rw-r--r-- | lang/rust/files/patch-src_bootstrap_compile.rs | 11 | ||||
-rw-r--r-- | lang/rust/files/patch-src_bootstrap_config.rs | 38 | ||||
-rw-r--r-- | lang/rust/files/patch-src_bootstrap_install.rs | 79 |
3 files changed, 0 insertions, 128 deletions
diff --git a/lang/rust/files/patch-src_bootstrap_compile.rs b/lang/rust/files/patch-src_bootstrap_compile.rs deleted file mode 100644 index 126656a59c9b..000000000000 --- a/lang/rust/files/patch-src_bootstrap_compile.rs +++ /dev/null @@ -1,11 +0,0 @@ ---- src/bootstrap/compile.rs.orig 2017-02-09 01:37:48 UTC -+++ src/bootstrap/compile.rs -@@ -187,7 +187,7 @@ pub fn rustc<'a>(build: &'a Build, targe - cargo.env("CFG_RELEASE", &build.release) - .env("CFG_RELEASE_CHANNEL", &build.config.channel) - .env("CFG_VERSION", &build.version) -- .env("CFG_PREFIX", build.config.prefix.clone().unwrap_or(String::new())) -+ .env("CFG_PREFIX", build.config.prefix.clone().unwrap_or(PathBuf::new())) - .env("CFG_LIBDIR_RELATIVE", "lib"); - - // If we're not building a compiler with debugging information then remove diff --git a/lang/rust/files/patch-src_bootstrap_config.rs b/lang/rust/files/patch-src_bootstrap_config.rs deleted file mode 100644 index 921f55ae6b41..000000000000 --- a/lang/rust/files/patch-src_bootstrap_config.rs +++ /dev/null @@ -1,38 +0,0 @@ ---- src/bootstrap/config.rs.orig 2017-02-09 01:37:48 UTC -+++ src/bootstrap/config.rs -@@ -85,10 +85,10 @@ pub struct Config { - pub quiet_tests: bool, - // Fallback musl-root for all targets - pub musl_root: Option<PathBuf>, -- pub prefix: Option<String>, -- pub docdir: Option<String>, -- pub libdir: Option<String>, -- pub mandir: Option<String>, -+ pub prefix: Option<PathBuf>, -+ pub docdir: Option<PathBuf>, -+ pub libdir: Option<PathBuf>, -+ pub mandir: Option<PathBuf>, - pub codegen_tests: bool, - pub nodejs: Option<PathBuf>, - pub gdb: Option<PathBuf>, -@@ -443,16 +443,16 @@ impl Config { - self.channel = value.to_string(); - } - "CFG_PREFIX" => { -- self.prefix = Some(value.to_string()); -+ self.prefix = Some(PathBuf::from(value)); - } - "CFG_DOCDIR" => { -- self.docdir = Some(value.to_string()); -+ self.docdir = Some(PathBuf::from(value)); - } - "CFG_LIBDIR" => { -- self.libdir = Some(value.to_string()); -+ self.libdir = Some(PathBuf::from(value)); - } - "CFG_MANDIR" => { -- self.mandir = Some(value.to_string()); -+ self.mandir = Some(PathBuf::from(value)); - } - "CFG_LLVM_ROOT" if value.len() > 0 => { - let target = self.target_config.entry(self.build.clone()) diff --git a/lang/rust/files/patch-src_bootstrap_install.rs b/lang/rust/files/patch-src_bootstrap_install.rs deleted file mode 100644 index 6483edba5a7b..000000000000 --- a/lang/rust/files/patch-src_bootstrap_install.rs +++ /dev/null @@ -1,79 +0,0 @@ ---- src/bootstrap/install.rs.orig 2017-02-09 01:37:48 UTC -+++ src/bootstrap/install.rs -@@ -13,9 +13,9 @@ - //! This module is responsible for installing the standard library, - //! compiler, and documentation. - -+use std::env; - use std::fs; --use std::borrow::Cow; --use std::path::Path; -+use std::path::{Path, PathBuf, Component}; - use std::process::Command; - - use Build; -@@ -23,23 +23,35 @@ use dist::{package_vers, sanitize_sh, tm - - /// Installs everything. - pub fn install(build: &Build, stage: u32, host: &str) { -- let prefix = build.config.prefix.as_ref().clone().map(|x| Path::new(x)) -- .unwrap_or(Path::new("/usr/local")); -- let docdir = build.config.docdir.as_ref().clone().map(|x| Cow::Borrowed(Path::new(x))) -- .unwrap_or(Cow::Owned(prefix.join("share/doc/rust"))); -- let libdir = build.config.libdir.as_ref().clone().map(|x| Cow::Borrowed(Path::new(x))) -- .unwrap_or(Cow::Owned(prefix.join("lib"))); -- let mandir = build.config.mandir.as_ref().clone().map(|x| Cow::Borrowed(Path::new(x))) -- .unwrap_or(Cow::Owned(prefix.join("share/man"))); -+ let prefix_default = PathBuf::from("/usr/local"); -+ let docdir_default = PathBuf::from("share/doc/rust"); -+ let mandir_default = PathBuf::from("share/man"); -+ let libdir_default = PathBuf::from("lib"); -+ let prefix = build.config.prefix.as_ref().unwrap_or(&prefix_default); -+ let docdir = build.config.docdir.as_ref().unwrap_or(&docdir_default); -+ let libdir = build.config.libdir.as_ref().unwrap_or(&libdir_default); -+ let mandir = build.config.mandir.as_ref().unwrap_or(&mandir_default); -+ -+ let docdir = prefix.join(docdir); -+ let libdir = prefix.join(libdir); -+ let mandir = prefix.join(mandir); -+ -+ let destdir = env::var_os("DESTDIR").map(PathBuf::from); -+ -+ let prefix = add_destdir(&prefix, &destdir); -+ let docdir = add_destdir(&docdir, &destdir); -+ let libdir = add_destdir(&libdir, &destdir); -+ let mandir = add_destdir(&mandir, &destdir); -+ - let empty_dir = build.out.join("tmp/empty_dir"); - t!(fs::create_dir_all(&empty_dir)); - if build.config.docs { -- install_sh(&build, "docs", "rust-docs", stage, host, prefix, -+ install_sh(&build, "docs", "rust-docs", stage, host, &prefix, - &docdir, &libdir, &mandir, &empty_dir); - } -- install_sh(&build, "std", "rust-std", stage, host, prefix, -+ install_sh(&build, "std", "rust-std", stage, host, &prefix, - &docdir, &libdir, &mandir, &empty_dir); -- install_sh(&build, "rustc", "rustc", stage, host, prefix, -+ install_sh(&build, "rustc", "rustc", stage, host, &prefix, - &docdir, &libdir, &mandir, &empty_dir); - t!(fs::remove_dir_all(&empty_dir)); - } -@@ -59,3 +71,17 @@ fn install_sh(build: &Build, package: &s - .arg("--disable-ldconfig"); - build.run(&mut cmd); - } -+ -+fn add_destdir(path: &Path, destdir: &Option<PathBuf>) -> PathBuf { -+ let mut ret = match *destdir { -+ Some(ref dest) => dest.clone(), -+ None => return path.to_path_buf(), -+ }; -+ for part in path.components() { -+ match part { -+ Component::Normal(s) => ret.push(s), -+ _ => {} -+ } -+ } -+ return ret -+} |