aboutsummaryrefslogtreecommitdiff
path: root/nix/libstore/misc.hh
blob: edbf24047eddcde8ffdaa07e954cd6ed16f3e65d (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
#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);

bool willBuildLocally(const Derivation & drv);

bool substitutesAllowed(const Derivation & drv);


}
19e7788d5df56c062f7797e0a49'>services: Reindent vpn.scm....This fixes indentation of 'match' forms. * gnu/services/vpn.scm: Pass through 'indent-code.el'. Ludovic Courtès 2017-01-15gnu: Add openvpn service....* gnu/services/vpn.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * doc/guix.texi (VPN Services): New section. Julien Lepiller