From 3c6af2acbf65db00b2ad6ecf5317fbf5c270bff2 Mon Sep 17 00:00:00 2001 From: Yusuf Bera Ertan Date: Sat, 8 Jan 2022 13:44:56 +0300 Subject: [PATCH] feat(rust): remove git deps from subsystem attrs, use getSourceSpec instead --- src/builders/rust/build-rust-package/default.nix | 13 +++---------- .../subsystems/rust/dream.lock.example.json | 4 ---- src/translators/rust/pure/cargo-lock/default.nix | 1 - 3 files changed, 3 insertions(+), 15 deletions(-) diff --git a/src/builders/rust/build-rust-package/default.nix b/src/builders/rust/build-rust-package/default.nix index b8ef3322..e02a6c27 100644 --- a/src/builders/rust/build-rust-package/default.nix +++ b/src/builders/rust/build-rust-package/default.nix @@ -30,12 +30,6 @@ let l.unique (l.flatten ( direct ++ (l.map (dep: getAllTransitiveDependencies dep.name dep.version) direct) )); - - getGitDep = pname: version: - l.findFirst - (dep: dep.name == pname && dep.version == version) - null - subsystemAttrs.gitDeps; # TODO: this is shared between the translator and this builder # we should dedup this somehow (maybe put in a common library for Rust subsystem?) @@ -64,7 +58,7 @@ let makeSource = dep: let srcPath = getSource dep.name dep.version; - isGit = (getGitDep dep.name dep.version) != null; + isGit = (getSourceSpec dep.name dep.version).type == "git"; path = if isGit then let @@ -99,7 +93,7 @@ let ''; # Generates a shell script that writes git vendor entries to .cargo/config. - writeGitVendorEntries = pname: version: + writeGitVendorEntries = let makeEntry = source: '' @@ -119,7 +113,6 @@ let let src = getSource pname version; vendorDir = vendorPackageDependencies pname version; - writeGitVendorEntriesScript = writeGitVendorEntries pname version; in produceDerivation pname (pkgs.rustPlatform.buildRustPackage { inherit pname version src; @@ -131,7 +124,7 @@ let cargoVendorDir = "../nix-vendor"; preBuild = '' - ${writeGitVendorEntriesScript} + ${writeGitVendorEntries} ''; }); in diff --git a/src/specifications/subsystems/rust/dream.lock.example.json b/src/specifications/subsystems/rust/dream.lock.example.json index a2e45765..339e363d 100644 --- a/src/specifications/subsystems/rust/dream.lock.example.json +++ b/src/specifications/subsystems/rust/dream.lock.example.json @@ -3,10 +3,6 @@ "packages": [ { "name": "ripgrep", "version": "13.0.0" } ], - "gitDeps": [ - { "name": "rand", "version": "0.8.4" }, - { "name": "rand", "version": "0.7.3" } - ], "gitSources": [ { "url": "https://github.com/rust-random/rand.git", diff --git a/src/translators/rust/pure/cargo-lock/default.nix b/src/translators/rust/pure/cargo-lock/default.nix index 3c42da9d..53e6d673 100644 --- a/src/translators/rust/pure/cargo-lock/default.nix +++ b/src/translators/rust/pure/cargo-lock/default.nix @@ -171,7 +171,6 @@ # ./src/specifications/{subsystem} subsystemAttrs = rec { packages = l.map (toml: { inherit (toml.value.package) name version; }) cargoPackages; - gitDeps = l.filter (dep: (getSourceTypeFrom dep) == "git") parsedDeps; gitSources = l.unique (l.map (dep: parseGitSource dep.source) gitDeps); };