github ipetkov/crane v0.20.0

one day ago

0.20.0 - 2024-12-21

Changed

  • Breaking: dropped compatibility for Nix versions below 2.24.10
  • Breaking: dropped compatibility for nixpkgs-23.11
  • Breaking (technically): buildPackage's installation behavior has been
    split into two steps: binaries are now installed into a temporary directory as
    a post build hook (to avoid interference from the check phase clobbering
    resultant binaries with development features enabled) followed by an actual
    installation (from said directory) during the install phase. If you use a
    custom build phase with buildPackage you may need to ensure the additional
    post build hook defined in installFromCargoBuildLogHook runs (or follow the
    error messages to resolve any build issues).
  • mkDummySrc has been reworked to match cargo's autobin detection logic,
    meaning that only real binary targets defined by the project will be dummified
    if they exist (no more injecting src/bin/crane-dummy-*). This does mean that
    adding a new bin target definition will invalidate caches and require
    rebuilding all dependencies once more. (If this is a frequent enough
    occurrence for your project to cause headaches, please open an issue!)

Fixed

  • mkDummySrc will deduplicate discovered and declared binary targets when
    dummifying sources
  • crateNameFromCargoToml will ignore store contexts when parsing a Cargo.toml
    file (avoiding errors like the string ... is not allowed to refer to a store path).
  • vendorGitDeps will perform a basic URL-decoding of git dependency entries in
    the Cargo.lock file since lockfiles now encode special characters starting
    at version 4

Meta

Don't miss a new crane release

NewReleases is sending notifications on new releases.