aboutsummaryrefslogtreecommitdiff
path: root/nix/libstore/misc.hh
blob: d3e31d51f72ce142c13288e9a4d360bd07c7e2c5 (about) (plain)
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
#pragma once

#include "derivations.hh"


namespace nix {


/* Read a derivation, after ensuring its existence through
   ensurePath(). */
Derivation derivationFromPath(StoreAPI & store, const Path & drvPath);

/* Place in `paths' the set of all store paths in the file system
   closure of `storePath'; that is, all paths than can be directly or
   indirectly reached from it.  `paths' is not cleared.  If
   `flipDirection' is true, the set of paths that can reach
   `storePath' is returned; that is, the closures under the
   `referrers' relation instead of the `references' relation is
   returned. */
void computeFSClosure(StoreAPI & store, const Path & path,
    PathSet & paths, bool flipDirection = false,
    bool includeOutputs = false, bool includeDerivers = false);

/* Return the path corresponding to the output identifier `id' in the
   given derivation. */
Path findOutput(const Derivation & drv, string id);

/* Given a set of paths that are to be built, return the set of
   derivations that will be built, and the set of output paths that
   will be substituted. */
void queryMissing(StoreAPI & store, const PathSet & targets,
    PathSet & willBuild, PathSet & willSubstitute, PathSet & unknown,
    unsigned long long & downloadSize, unsigned long long & narSize);

bool willBuildLocally(const Derivation & drv);

bool substitutesAllowed(const Derivation & drv);


}
gnized keywords in logs. * gnu/services/dns.scm (serialize-field): Skip some field names. Oleg Pykhalov 2018-11-06gnu: services: dns: Fix 'ddclient-activation'....* gnu/services/dns.scm (ddclient-activation): Fix procedure. Oleg Pykhalov 2018-08-30services: Add ddclient service....* gnu/services/dns.scm (ddclient-configuration, ddclient-service-type): New variables. (uglify-field-name, serialize-field, serialize-boolean, serialize-integer, serialize-string, serialize-list, serialize-extra-options, ddclient-activation, ddclient-shepherd-service, generate-ddclient-documentation): New procedures. * doc/guix.texi (DNS Services): Document it. Oleg Pykhalov 2018-06-08services: dnsmasq-service-type: Add default configuration and description....* gnu/services/dns.scm (dnsmasq-service-type) [default-value, description]: New fields. 宋文武 2018-06-08services: dnsmasq: Use 'negative-cache?' instead of 'no-negcache?'....The 'no-negcache?' option is mapped to the '--no-negcache' command-line argument directly, but we're in the scheme world, where the general guideline is to avoid double-negations in identifiers. * gnu/services/dns.scm <dnsmasq-configuration>: Replace the 'no-negcache?' field with 'negative-cache?'. * doc/guix.texi (DNS Services)[Dnsmasq Service]: Adjust accordingly. 宋文武 2018-06-05services: Add dnsmasq-service-type....* gnu/services/dns.scm (dnsmasq-service-type): New variable. (<dnsmasq-configuration>): New record type. (dnsmasq-shepherd-service): New procedure. * doc/guix.texi (DNS Services): Document it. 宋文武 2017-06-21gnu: services: use seconds instead of duration strings....* gnu/services/dns.scm (zone-file, knot-policy-configuration): Use numbers instead of duration strings. (verify-knot-policy-configuration): Fix typo. * doc/guix.texi (DNS Services): Update documentation. Julien Lepiller 2017-05-27gnu: Add knot-service-type....* gnu/services/dns.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * doc/guix.texi (DNS Services): New subsubsection. Julien Lepiller