3
0
Fork 0
forked from mirrors/nixpkgs
nixpkgs/nixos
Andreas Rammhold 1b748554d5
buildRustCrate: add lib output
This cuts down the dependency tree on some rust builds where a crate not
just exposes a binary but also a library. `$out/lib` contained a bunch
of extra support files that among other information carry linker flags
(including the full path to link-time dependencies). Worst case this led
to some binary outputs depending on the full build closure of rust
crates.

Moving all the `$out/lib` files to `$lib/lib` solves this nicely.

`lib` might be a bit weird here as they are most of the time just rlib
files (rust libraries). Those are essential only required during
compilation but they can also be shared objects (like with traditional
C-style packages). Which is why I went with `lib` for the new output.

One of the caveats we are running into here is that we do not (always)
know ahead of time of a crate produces just a library or just a binary.
Cargo allows for some ambiguity regarding whether or not a crate
provides one, two, … binaries and libraries as it's outputs. Ideally we
would be able to rely on the `crateType` entirely but so far that isn't
the case. More work on that area might show how difficult that actually
is.
2019-11-26 15:05:01 +01:00
..
doc buildRustCrate: add lib output 2019-11-26 15:05:01 +01:00
lib Merge pull request #73966 from d-goldin/nixosoptions_xml_strctx 2019-11-25 13:20:00 +01:00
maintainers ec2/create-amis.sh: register root device as /dev/xvda 2019-11-02 05:58:58 +09:00
modules Merge pull request #72584 from andir/homeInPath-false 2019-11-26 12:33:22 +00:00
tests nixos/containers-tmpfs: Port test to python 2019-11-25 22:20:14 +01:00
COPYING
default.nix
README
release-combined.nix nixosTests: remove xfce4-14 test 2019-11-19 18:47:02 -05:00
release-small.nix
release.nix

*** NixOS ***

NixOS is a Linux distribution based on the purely functional package
management system Nix.  More information can be found at
http://nixos.org/nixos and in the manual in doc/manual.