From e6e30c6e35d5dd70cf0e0a2342836c9c516d2985 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A9rald=20Lelong?= Date: Wed, 1 Oct 2025 17:24:32 +0200 Subject: [PATCH] add localCratesSrc --- crate2nix/src/resolve.rs | 2 +- crate2nix/templates/Cargo.nix.tera | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/crate2nix/src/resolve.rs b/crate2nix/src/resolve.rs index 4153c83e..95a0927d 100644 --- a/crate2nix/src/resolve.rs +++ b/crate2nix/src/resolve.rs @@ -472,7 +472,7 @@ impl ResolvedSource { ResolvedSource::git_or_local_directory(config, package, &package_path, source) } None => Ok(ResolvedSource::LocalDirectory(LocalDirectorySource { - path: ResolvedSource::relative_directory(config, package_path)?, + path: PathBuf::from("/").join(ResolvedSource::relative_directory(config, package_path)?), })), } } diff --git a/crate2nix/templates/Cargo.nix.tera b/crate2nix/templates/Cargo.nix.tera index 8637ef07..50045212 100644 --- a/crate2nix/templates/Cargo.nix.tera +++ b/crate2nix/templates/Cargo.nix.tera @@ -28,6 +28,7 @@ ? if builtins.pathExists ./crate-config.nix then pkgs.callPackage ./crate-config.nix {} else {} +, localCratesSrc ? src: ./. + src }: rec { @@ -153,7 +154,7 @@ rec { {%- elif crate.source.Nix.file.package %} src = pkgs.callPackage {{crate.source.Nix.file.package | safe}} {}; {%- elif crate.source.LocalDirectory.path %} - src = lib.cleanSourceWith { filter = sourceFilter; src = {{crate.source.LocalDirectory.path | safe}}; }; + src = lib.cleanSourceWith { filter = sourceFilter; src = localCratesSrc "{{crate.source.LocalDirectory.path | safe}}"; }; {%- elif crate.source.Git %} workspace_member = null; src = pkgs.fetchgit {