about summary refs log tree commit diff
path: root/pkgs/development/compilers
diff options
context:
space:
mode:
authorGeorges Dubus <georges.dubus@numergy.com>2014-09-16 13:51:57 +0200
committerGeorges Dubus <georges.dubus@numergy.com>2014-09-16 13:51:57 +0200
commit58c4bf5f20e0822c41c40fbeb2a4afedf9f570de (patch)
tree67b68404870accaa21a8c715efb58abce31fb4b5 /pkgs/development/compilers
parent9bd66b24d9d0afbc2b9f96011e1dcdb03dd01563 (diff)
downloadnixlib-58c4bf5f20e0822c41c40fbeb2a4afedf9f570de.tar
nixlib-58c4bf5f20e0822c41c40fbeb2a4afedf9f570de.tar.gz
nixlib-58c4bf5f20e0822c41c40fbeb2a4afedf9f570de.tar.bz2
nixlib-58c4bf5f20e0822c41c40fbeb2a4afedf9f570de.tar.lz
nixlib-58c4bf5f20e0822c41c40fbeb2a4afedf9f570de.tar.xz
nixlib-58c4bf5f20e0822c41c40fbeb2a4afedf9f570de.tar.zst
nixlib-58c4bf5f20e0822c41c40fbeb2a4afedf9f570de.zip
rustc: fixed build after 7068828389390dca066fb1062bd27148d49339d4
That commit changed the patch to work for the new HEAD, but that new
patch breaks 0.11. I made two patch for the two versions.
Diffstat (limited to 'pkgs/development/compilers')
-rw-r--r--pkgs/development/compilers/rustc/hardcode_paths.HEAD.patch32
-rw-r--r--pkgs/development/compilers/rustc/hardcode_paths.patch6
-rw-r--r--pkgs/development/compilers/rustc/head.nix2
-rw-r--r--pkgs/development/compilers/rustc/local_stage0.HEAD.patch16
-rw-r--r--pkgs/development/compilers/rustc/local_stage0.patch7
5 files changed, 54 insertions, 9 deletions
diff --git a/pkgs/development/compilers/rustc/hardcode_paths.HEAD.patch b/pkgs/development/compilers/rustc/hardcode_paths.HEAD.patch
new file mode 100644
index 000000000000..fea35d24960c
--- /dev/null
+++ b/pkgs/development/compilers/rustc/hardcode_paths.HEAD.patch
@@ -0,0 +1,32 @@
+diff --git a/src/librustc/back/link.rs b/src/librustc/back/link.rs
+index 7a3e912..ced75fa 100644
+--- a/src/librustc/back/link.rs
++++ b/src/librustc/back/link.rs
+@@ -856,24 +856,15 @@
+ 
+ pub fn get_cc_prog(sess: &Session) -> String {
+     match sess.opts.cg.linker {
+-        Some(ref linker) => return linker.to_string(),
+-        None => {}
++        Some(ref linker) => linker.to_string(),
++        None => "@ccPath@".to_string()
+     }
+-
+-    // In the future, FreeBSD will use clang as default compiler.
+-    // It would be flexible to use cc (system's default C compiler)
+-    // instead of hard-coded gcc.
+-    // For Windows, there is no cc command, so we add a condition to make it use gcc.
+-    match sess.targ_cfg.os {
+-        abi::OsWindows => "gcc",
+-        _ => "cc",
+-    }.to_string()
+ }
+ 
+ pub fn get_ar_prog(sess: &Session) -> String {
+     match sess.opts.cg.ar {
+         Some(ref ar) => (*ar).clone(),
+-        None => "ar".to_string()
++        None => "@arPath@".to_string()
+     }
+ }
+ 
diff --git a/pkgs/development/compilers/rustc/hardcode_paths.patch b/pkgs/development/compilers/rustc/hardcode_paths.patch
index fea35d24960c..77e4c3f37887 100644
--- a/pkgs/development/compilers/rustc/hardcode_paths.patch
+++ b/pkgs/development/compilers/rustc/hardcode_paths.patch
@@ -2,7 +2,7 @@ diff --git a/src/librustc/back/link.rs b/src/librustc/back/link.rs
 index 7a3e912..ced75fa 100644
 --- a/src/librustc/back/link.rs
 +++ b/src/librustc/back/link.rs
-@@ -856,24 +856,15 @@
+@@ -766,24 +766,15 @@ pub fn output_lib_filename(id: &CrateId) -> String {
  
  pub fn get_cc_prog(sess: &Session) -> String {
      match sess.opts.cg.linker {
@@ -15,9 +15,9 @@ index 7a3e912..ced75fa 100644
 -    // In the future, FreeBSD will use clang as default compiler.
 -    // It would be flexible to use cc (system's default C compiler)
 -    // instead of hard-coded gcc.
--    // For Windows, there is no cc command, so we add a condition to make it use gcc.
+-    // For win32, there is no cc command, so we add a condition to make it use gcc.
 -    match sess.targ_cfg.os {
--        abi::OsWindows => "gcc",
+-        abi::OsWin32 => "gcc",
 -        _ => "cc",
 -    }.to_string()
  }
diff --git a/pkgs/development/compilers/rustc/head.nix b/pkgs/development/compilers/rustc/head.nix
index aeb6cd2afbd3..f3dd7ef3c750 100644
--- a/pkgs/development/compilers/rustc/head.nix
+++ b/pkgs/development/compilers/rustc/head.nix
@@ -63,7 +63,7 @@ in stdenv.mkDerivation {
   configureFlags = [ "--enable-local-rust" "--local-rust-root=$snapshot" ];
 
   # The compiler requires cc, so we patch the source to tell it where to find it
-  patches = [ ./hardcode_paths.patch ./local_stage0.patch ];
+  patches = [ ./hardcode_paths.HEAD.patch ./local_stage0.HEAD.patch ];
   postPatch = ''
     substituteInPlace src/librustc/back/link.rs \
       --subst-var-by "ccPath" "${stdenv.gcc}/bin/cc" \
diff --git a/pkgs/development/compilers/rustc/local_stage0.HEAD.patch b/pkgs/development/compilers/rustc/local_stage0.HEAD.patch
new file mode 100644
index 000000000000..2f38d7c1757c
--- /dev/null
+++ b/pkgs/development/compilers/rustc/local_stage0.HEAD.patch
@@ -0,0 +1,16 @@
+diff --git a/src/etc/local_stage0.sh b/src/etc/local_stage0.sh
+index e78f231..6b6773b 100755
+--- a/src/etc/local_stage0.sh
++++ b/src/etc/local_stage0.sh
+@@ -53,11 +53,6 @@
+ fi
+ 
+ cp ${PREFIX}/bin/rustc${BIN_SUF} ${TARG_DIR}/stage0/bin/
+-cp ${PREFIX}/${LIB_DIR}/${RUSTLIBDIR}/${TARG_DIR}/${LIB_DIR}/* ${TARG_DIR}/stage0/${LIB_DIR}/
+-cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}extra*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
+-cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}rust*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
+-cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}std*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
+-cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}syntax*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
+ 
+ # do not fail if one of the above fails, as all we need is a working rustc!
+ exit 0
diff --git a/pkgs/development/compilers/rustc/local_stage0.patch b/pkgs/development/compilers/rustc/local_stage0.patch
index 2f38d7c1757c..1261b2d458da 100644
--- a/pkgs/development/compilers/rustc/local_stage0.patch
+++ b/pkgs/development/compilers/rustc/local_stage0.patch
@@ -2,15 +2,12 @@ diff --git a/src/etc/local_stage0.sh b/src/etc/local_stage0.sh
 index e78f231..6b6773b 100755
 --- a/src/etc/local_stage0.sh
 +++ b/src/etc/local_stage0.sh
-@@ -53,11 +53,6 @@
+@@ -53,8 +53,3 @@ if [ -z $TARG_DIR ]; then
  fi
- 
+
  cp ${PREFIX}/bin/rustc${BIN_SUF} ${TARG_DIR}/stage0/bin/
 -cp ${PREFIX}/${LIB_DIR}/${RUSTLIBDIR}/${TARG_DIR}/${LIB_DIR}/* ${TARG_DIR}/stage0/${LIB_DIR}/
 -cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}extra*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
 -cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}rust*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
 -cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}std*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
 -cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}syntax*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
- 
- # do not fail if one of the above fails, as all we need is a working rustc!
- exit 0