nixpkgs/pkgs/development/tools
Ricardo M. Correia 2b694c237b cargo, cargoSnapshot: add rustc runtime dependency
It turns out that cargo implicitly depends on rustc at runtime: even
`cargo help` will fail if rustc is not in the PATH.

This means that we need to wrap the cargo binary to add rustc to PATH.
However, I have opted into doing something slightly unusual: instead of
tying down a specific cargo to use a specific rustc (i.e., wrap cargo so
that "${rustc}/bin" is prefixed into PATH), instead I'm adding the rustc
used to build cargo as a fallback rust compiler (i.e., wrap cargo so
that "${rustc}/bin" is suffixed into PATH). This means that cargo will
prefer to use a rust compiler that is in the default path, but fallback
into the one used to build cargo only if there wasn't any rust compiler
in the default path.

The reason I'm doing this is that otherwise it could cause unexpected
effects. For example, if you had a build environment with the
rustcMaster and cargo derivations, you would expect cargo to use
rustcMaster to compile your project (since rustcMaster would be the only
compiler available in $PATH), but this wouldn't happen if we tied down
cargo to use the rustc that was used to compile it (because the default
cargo derivation gets compiled with the stable rust compiler).

That said, I have slightly modified makeRustPlatform so that a rust
platform will always use the rust compiler that was used to build cargo,
because this prevents mistakenly depending on two different versions of
the rust compiler (stable and unstable) in the same rust platform,
something which is usually undesirable.

Fixes #11053
2015-11-18 02:41:45 +01:00
..
activator activator: 1.3.2 -> 1.3.5 2015-07-10 00:23:48 +02:00
alloy Replace 'with plaforms; platform' with 'platforms.platform' 2015-11-17 21:30:43 +01:00
analysis Replace 'with plaforms; platform' with 'platforms.platform' 2015-11-17 21:30:43 +01:00
apktool apktool: set sourceRoot 2015-07-28 02:55:55 +02:00
boomerang
boost-build Turn more licenses into lib.licenses style 2014-11-06 00:48:16 +00:00
build-managers cargo, cargoSnapshot: add rustc runtime dependency 2015-11-18 02:41:45 +01:00
casperjs
cdecl Change occurrences of gcc to the more general cc 2014-12-26 11:06:21 -06:00
chefdk chefdk: fix build 2015-07-04 00:39:44 +02:00
compass Add compass, stylesheet authoring environment 2015-07-07 12:11:58 +02:00
continuous-integration jenkins: 1.637 -> 1.638 (important security fixes) 2015-11-12 13:40:09 +01:00
database sqldeveloper: update to version 4.1.1.19.59 2015-09-10 16:47:43 +02:00
documentation darwin purity: doxygen 2015-11-02 14:37:10 -08:00
egg2nix Egg2nix: Bump to 0.5. 2015-01-19 15:43:25 +01:00
electron xlibs: replace occurrences by xorg 2015-09-15 12:54:34 +02:00
github/github-release github-release: init at 0.6.2 2015-09-08 07:43:41 +02:00
gnulib gnulib: update Git repository snapshot 2015-02-09 12:58:19 +01:00
godep Add godep, dependency tool for go 2015-01-28 16:02:46 +01:00
grabserial grabserial: drop pythonX.Y- name prefix 2015-09-07 15:54:00 +02:00
guile g-wrap: 1.9.13 -> 1.9.15 2015-07-23 04:13:03 -05:00
haskell ihaskell: make sure the wrapped binaries pick up the python path 2015-09-28 21:26:17 +02:00
heroku heroku: 3.32.0 -> 3.42.20 2015-10-15 20:03:07 +00:00
java Replace 'with plaforms; platform' with 'platforms.platform' 2015-11-17 21:30:43 +01:00
jq jq: build with oniguruma for regex support 2015-11-07 13:54:45 -05:00
libsigrok libsigrok: install missing firmware files 2015-01-01 20:04:49 +01:00
libsigrokdecode
literate-programming Merge pull request #10592 from AndersonTorres/eweb 2015-10-25 15:52:06 +01:00
misc Merge commit 'cb21b77' into master.upstream 2015-11-13 15:53:10 -08:00
neoload java: Normalize to the default jre / jdk 2015-01-07 14:55:41 -08:00
node-webkit xlibs: replace occurrences by xorg 2015-09-15 12:54:34 +02:00
ocaml merlin: 2.2 -> 2.3 2015-10-29 21:35:41 +01:00
omniorb omniorb: add the expression 2015-07-23 20:42:35 +02:00
packer pidginsipe: add nss and nspr (ZHF) 2015-08-27 12:29:45 +02:00
parse-cli-bin parse: init at 3.0.1 2015-11-09 04:22:34 -05:00
parsing lemon: init at 1.0 2015-09-18 03:46:06 +02:00
phantomjs rename all occurrences of stdenv.cc.gcc to stdenv.cc.cc 2015-01-14 20:27:55 -08:00
phantomjs2 Add phantomjs2 2015-07-15 21:14:15 +02:00
profiling oprofile: 1.0.0 -> 1.1.0 2015-10-13 13:27:50 +03:00
pydb pydb: set meta.platforms 2014-11-12 16:03:00 +01:00
quilt Turn more licenses into lib.licenses style 2014-11-06 00:48:16 +00:00
remarshal influxdb: 0.8.3 -> 0.9.4, fix module 2015-11-16 14:22:08 +01:00
rhc rhc: init at 1.36.4 2015-08-13 18:02:55 +02:00
rtags rtags: init at 9fed420 2015-10-18 13:49:23 -07:00
rucksack rucksack: init at 3.1.0 2015-06-20 02:06:20 -07:00
rust rustfmt: 2015-10-17 -> 2015-10-28 2015-11-02 15:44:42 +01:00
sassc sassc: 3.2.1 -> 3.2.4 2015-06-01 01:28:18 -04:00
sauce-connect Replace 'with plaforms; platform' with 'platforms.platform' 2015-11-17 21:30:43 +01:00
selenium xlibs: replace occurrences by xorg 2015-09-15 12:54:34 +02:00
sigrok-cli sigrok-cli: new package 2014-05-31 15:49:13 +02:00
slimerjs Force SLimerJS Gecko compatibility even higher 2015-10-13 00:21:44 +03:00
sqsh sqsh: remove trailing whitespace in the Nix file 2015-01-06 09:56:08 -05:00
sslmate add sslmate: easy to buy, deploy, and manage your SSL certs 2015-10-26 12:57:27 +01:00
thrust xlibs: replace occurrences by xorg 2015-09-15 12:54:34 +02:00
toluapp Fixed meta.license: s/licence/license 2015-05-30 15:19:05 +02:00
tradcpp Reduce size of tradcpp derivation. 2015-02-04 13:34:13 +01:00
vagrant Vagrant: 1.7.3 -> 1.7.4 (ZHF) 2015-07-21 19:08:15 +03:00
watchman watchman: 3.0.0 -> 4.1.0 2015-10-23 14:03:30 -04:00
winpdb winpdb: new package 2014-11-12 23:16:42 +01:00
yuicompressor Another attempt to eradicate ensureDir 2014-06-30 14:56:10 +02:00