mirror of
https://github.com/nix-community/dream2nix.git
synced 2024-09-21 03:19:17 +03:00
feat(rust): remove git deps from subsystem attrs, use getSourceSpec instead
This commit is contained in:
parent
c9ea0f7c13
commit
3c6af2acbf
@ -31,12 +31,6 @@ let
|
||||
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?)
|
||||
recurseFiles = path:
|
||||
@ -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
|
||||
|
@ -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",
|
||||
|
@ -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);
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user