Nix 2.93.3
Lix: A modern, delicious implementation of the Nix package manager; unstable internal interfaces
Loading...
Searching...
No Matches
buildenv.hh
Go to the documentation of this file.
1#pragma once
3
6
7namespace nix {
8
9struct Package {
10 Path path;
11 bool active;
12 int priority;
13 Package(const Path & path, bool active, int priority) : path{path}, active{active}, priority{priority} {}
14};
15
16class BuildEnvFileConflictError : public Error
17{
18public:
19 const Path fileA;
20 const Path fileB;
21 int priority;
22
23 BuildEnvFileConflictError(
24 const Path fileA,
25 const Path fileB,
26 int priority
27 )
28 : Error(
29 "Unable to build profile. There is a conflict for the following files:\n"
30 "\n"
31 " %1%\n"
32 " %2%",
33 fileA,
34 fileB
35 )
36 , fileA(fileA)
37 , fileB(fileB)
38 , priority(priority)
39 {}
40};
41
42typedef std::vector<Package> Packages;
43
44void buildProfile(const Path & out, Packages && pkgs);
45
46void builtinBuildenv(const BasicDerivation & drv);
47
48}
Definition derivations.hh:274
std::string Path
Definition types.hh:28