pure Nix build is not using patched cargo-xbuild #97
Labels
No Milestone
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: M-Labs/artiq-zynq#97
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
If we replace the
cargo-xbuild
indefault.nix
with our own patchedcargo-xbuild
, there would be the following compilation error:From the cargo source code, it seems that it requires a lock file for the modules if their dependencies includes git repository (
requires_precise
), and not needed if their dependencies only include sources from the registry. This would also check for source replacement.The impure build has internet access, so cargo could generate the Cargo.lock. However, for pure build, cargo cannot access the internet so it cannot generate the Cargo.lock file and returns an error.
Interestingly, if we don't use the patched version, cargo would happily use the vendored version vendored by nix build, and would not check for the lock file as it is not required (imprecise for registry dependencies). Not sure if this works for other machines though, and it is not very reliable.
#113