mirror of
https://github.com/privatevoid-net/nix-super.git
synced 2024-11-14 10:16:15 +02:00
f4ab297b31
`///@file` makes them show up in the internal API dos. A tiny few were missing `#pragma once`.
48 lines
948 B
C++
48 lines
948 B
C++
#pragma once
|
|
///@file
|
|
|
|
#include "derivations.hh"
|
|
#include "store-api.hh"
|
|
|
|
namespace nix {
|
|
|
|
struct Package {
|
|
Path path;
|
|
bool active;
|
|
int priority;
|
|
Package(const Path & path, bool active, int priority) : path{path}, active{active}, priority{priority} {}
|
|
};
|
|
|
|
class BuildEnvFileConflictError : public Error
|
|
{
|
|
public:
|
|
const Path fileA;
|
|
const Path fileB;
|
|
int priority;
|
|
|
|
BuildEnvFileConflictError(
|
|
const Path fileA,
|
|
const Path fileB,
|
|
int priority
|
|
)
|
|
: Error(
|
|
"Unable to build profile. There is a conflict for the following files:\n"
|
|
"\n"
|
|
" %1%\n"
|
|
" %2%",
|
|
fileA,
|
|
fileB
|
|
)
|
|
, fileA(fileA)
|
|
, fileB(fileB)
|
|
, priority(priority)
|
|
{}
|
|
};
|
|
|
|
typedef std::vector<Package> Packages;
|
|
|
|
void buildProfile(const Path & out, Packages && pkgs);
|
|
|
|
void builtinBuildenv(const BasicDerivation & drv);
|
|
|
|
}
|