summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorDomen Kožar <domen@dev.si>2014-09-17 21:35:56 +0200
committerDomen Kožar <domen@dev.si>2014-09-17 21:35:56 +0200
commitfdfc7f4cff3c5fa4078afe3d116f695d75def1aa (patch)
tree38d00d1120a0de6fcfa4cb7001711048e653fbc7 /pkgs
parenta4e643a5fe85d778e0030115915a71aa56f57b91 (diff)
parent58c4bf5f20e0822c41c40fbeb2a4afedf9f570de (diff)
downloadnixpkgs-fdfc7f4cff3c5fa4078afe3d116f695d75def1aa.tar
nixpkgs-fdfc7f4cff3c5fa4078afe3d116f695d75def1aa.tar.gz
nixpkgs-fdfc7f4cff3c5fa4078afe3d116f695d75def1aa.tar.bz2
nixpkgs-fdfc7f4cff3c5fa4078afe3d116f695d75def1aa.tar.lz
nixpkgs-fdfc7f4cff3c5fa4078afe3d116f695d75def1aa.tar.xz
nixpkgs-fdfc7f4cff3c5fa4078afe3d116f695d75def1aa.tar.zst
nixpkgs-fdfc7f4cff3c5fa4078afe3d116f695d75def1aa.zip
Merge pull request #4115 from madjar/master
rustc: fixed build after 7068828389390dca066fb1062bd27148d49339d4
Diffstat (limited to 'pkgs')
-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 00000000000..fea35d24960
--- /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 fea35d24960..77e4c3f3788 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 aeb6cd2afbd..f3dd7ef3c75 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 00000000000..2f38d7c1757
--- /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 2f38d7c1757..1261b2d458d 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