Get data needed by getBuildOutput() from the incoming NAR in a streaming fashion

This commit is contained in:
Eelco Dolstra
2020-07-27 20:38:59 +02:00
parent d4e4be4fd1
commit 5b4df3ad5a
9 changed files with 177 additions and 40 deletions

View File

@ -0,0 +1,23 @@
#pragma once
#include "fs-accessor.hh"
#include "types.hh"
#include "serialise.hh"
#include "hash.hh"
struct NarMemberData
{
nix::FSAccessor::Type type;
std::optional<unsigned long long> fileSize;
std::optional<std::string> contents;
std::optional<nix::Hash> sha256;
};
typedef std::map<nix::Path, NarMemberData> NarMemberDatas;
/* Read a NAR from a source and get to some info about every file
inside the NAR. */
void extractNarData(
nix::Source & source,
const nix::Path & prefix,
NarMemberDatas & members);