-
Notifications
You must be signed in to change notification settings - Fork 91
/
Copy pathdefault.nix
67 lines (62 loc) · 1.77 KB
/
default.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
{ lib
, runCommand
, symlinkJoin
, stdenv
, writeText
, llvmPackages
, jq
, rsync
, darwin
, remarshal
, cargo
, rustc
}:
with
{ libb = import ./lib.nix { inherit lib writeText runCommand remarshal; }; };
# Crate building
with rec
{
buildPackage = src: attrs:
with
{ defaultAttrs =
{ inherit
llvmPackages
jq
runCommand
lib
darwin
writeText
stdenv
rsync
remarshal
symlinkJoin
cargo
rustc;
} ;
};
import ./build.nix src (defaultAttrs // attrs);
# XXX: not quite working yet
# buildPackageIncremental = cargolock: name: version: src: attrs:
# with rec
# { buildDependency = depName: depVersion:
# # Really this should be 'buildPackageIncremental' but that makes
# # Nix segfault
# buildPackage (libb.dummySrc depName depVersion)
# { cargoBuild = "cargo build --release -p ${depName}:${depVersion} -j $NIX_BUILD_CORES";
# inherit (attrs) cargo;
# cargotomlPath = libb.writeTOML (libb.cargotomlFor depName depVersion);
# cargolockPath = libb.writeTOML (
# libb.cargolockFor cargolock depName depVersion
# );
# doCheck = false;
# };
# };
# buildPackage src (attrs //
# {
# builtDependencies = map (x: buildDependency x.name x.version)
# (libb.directDependencies cargolock name version) ;
# }
# );
};
{ inherit buildPackage buildPackageIncremental crates;
}