mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-22 21:50:55 +00:00
0c50140da5
Cargo has a few odd (old) ways of picking source files if the `bin.path` attribute isn't given in the Cargo.toml. This commit adds support for some of those. The previous behaviour always defaulted to `src/main.rs` which was not always the right choice. Since there is look-ahead into the unpacked sources before running the actual builder the path selection logic has to be embedded within the build script. `buildRustCrate` currently supports two ways of running building binaries when processing a crate: - Explicit definition of all the binaries (& optionally the paths to their respective `main.rs`) and, - if not binary was explictly configured all files matching the patterns `src/main.rs`, `src/bin/*.rs`. When the explicit list is given without path information paths are now being picked from a list of candidates. The first match wins. The order is the same as within the cargo compatibility code. If the crate does not provide any libraries the path `src/{bin_name}.rs` is also considered. All underscores within the binary names are translated into dashes (`-`) before the lookups are made. This seems to be a common convention. |
||
---|---|---|
.. | ||
agda | ||
bintools-wrapper | ||
build-bazel-package | ||
build-dotnet-package | ||
build-fhs-userenv | ||
build-setupcfg | ||
buildenv | ||
cc-wrapper | ||
docker | ||
dotnetbuildhelpers | ||
dotnetenv | ||
emacs | ||
expand-response-params | ||
fetchbower | ||
fetchbzr | ||
fetchcvs | ||
fetchdarcs | ||
fetchdocker | ||
fetchegg | ||
fetchfossil | ||
fetchgit | ||
fetchgitlocal | ||
fetchgx | ||
fetchhg | ||
fetchipfs | ||
fetchmavenartifact | ||
fetchmtn | ||
fetchnuget | ||
fetchpatch | ||
fetchrepoproject | ||
fetchs3 | ||
fetchsvn | ||
fetchsvnrevision | ||
fetchsvnssh | ||
fetchurl | ||
fetchzip | ||
icon-conv-tools | ||
kernel | ||
libredirect | ||
make-desktopitem | ||
make-startupitem | ||
make-symlinks | ||
mkshell | ||
mono-dll-fixer | ||
nix-prefetch-github | ||
nuke-references | ||
ocaml | ||
release | ||
remove-references-to | ||
rust | ||
setup-hooks | ||
singularity-tools | ||
skaware | ||
src-only | ||
substitute | ||
substitute-files | ||
templaterpm | ||
upstream-updater | ||
vm | ||
wrapper-common | ||
build-maven.nix | ||
build-pecl.nix | ||
closure-info.nix | ||
dhall-to-nix.nix | ||
plugins.nix | ||
replace-dependency.nix | ||
setup-systemd-units.nix | ||
source-from-head-fun.nix | ||
trivial-builders.nix |