This reverts commit 695027f61c.
We really can't have "nix-env -i nix" *not* upgrade nixUnstable to a
newer nixStable. For instance, it would cause "nix upgrade-nix" to
produce a user environment with collisions.
as discussed in bed3695848
Different names make it easier for the users to notice updates to Nix stable,
and to have Nix stable and unstable simultaneously.
This reverts commit bed3695848.
This commit effectively makes it impossible to upgrade to nixUnstable
with nix-env without mucking about with priorities, as you can't
uninstall the old nix transactionally with the new nix and if you
uninstall the old one first you no longer have nix at your disposal to
install the new one.
This reverts commit 9711aac642.
One should depend on
- `stdenv.cc.bintools`: for executables at build time
- `libbfd` or `libiberty`: for those libraries
- `targetPackages.cc.bintools`: for exectuables at *run* time
- `binutils`: only for specifically GNU Binutils's executables, regardless of
the host platform, at run time.
Main change: glibc: 2.25-x -> 2.26-y, containing security fixes,
and various features and deprecations. Unfortunately, some of the
latter still cause (transitively) a couple hundred newly failing jobs.
I'm not delaying anymore, so that we have the security fix on master.
I mainly patched gcc, llvm and icu, but I can't fix everything...
The biggest benefit is that we no longer have to update the registry
package. This means that just about any cargo package can be built by
nix. No longer does `cargo update` need to be feared because it will
update to packages newer then what is available in nixpkgs.
Instead of fetching the cargo registry this bundles all the source code
into a "vendor/" folder.
This also uses the new --frozen and --locked flags which is nice.
Currently cargo-vendor only provides binaries for Linux and
macOS 64-bit. This can be solved by building it for the other
architectures and uploading it somewhere (like the NixOS cache).
This also has the downside that it requires a change to everyone's deps
hash. And if the old one is used because it was cached it will fail to
build as it will attempt to use the old version. For this reason the
attribute has been renamed to `cargoSha256`.
Authors:
* Kevin Cox <kevincox@kevincox.ca>
* Jörg Thalheim <Mic92@users.noreply.github.com>
* zimbatm <zimbatm@zimbatm.com>