What I did was to add two versions of the same package into the same
collection, i.e. ghc-7.0.4 and ghc-7.2.1. I was surprised to see the
build succeed, because there are file collisions between these two. So I
(wrongly) assumed that the collection function was to blame, but in fact
this is a "feature" of nix-env. Apparently, file collision detection
doesn't take place when the user installs two versions of the same
package simultaneously. File collisions are detected only between
different packages!
For example, the command
nix-env -i ghc-7.0.4 ghc-7.2.1-wrapper
is going to fail, but
nix-env -i ghc-7.0.4-wrapper ghc-7.2.1-wrapper
is going to succeed. Maybe I just didn't read the documentation
thoroughly enough, but this behavior sure is unexpected to me.
svn path=/nixpkgs/trunk/; revision=28638