lix/src/libexpr
Eelco Dolstra 462421d345 Backport libfetchers from the flakes branch
This provides a pluggable mechanism for defining new fetchers. It adds
a builtin function 'fetchTree' that generalizes existing fetchers like
'fetchGit', 'fetchMercurial' and 'fetchTarball'. 'fetchTree' takes a
set of attributes, e.g.

  fetchTree {
    type = "git";
    url = "https://example.org/repo.git";
    ref = "some-branch";
    rev = "abcdef...";
  }

The existing fetchers are just wrappers around this. Note that the
input attributes to fetchTree are the same as flake input
specifications and flake lock file entries.

All fetchers share a common cache stored in
~/.cache/nix/fetcher-cache-v1.sqlite. This replaces the ad hoc caching
mechanisms in fetchGit and download.cc (e.g. ~/.cache/nix/{tarballs,git-revs*}).

This also adds support for Git worktrees (c169ea5904).
2020-04-07 09:03:14 +02:00
..
primops Backport libfetchers from the flakes branch 2020-04-07 09:03:14 +02:00
attr-path.cc libexpr: remove unused attrError 2020-04-02 17:04:00 +02:00
attr-path.hh nix edit: Support non-derivation attributes 2020-03-24 14:06:47 +01:00
attr-set.cc EvalState::allocAttr(): Add convenience method 2020-03-24 13:26:37 +01:00
attr-set.hh Bindings::get(): std::optional<Attr *> -> Attr * 2020-02-13 17:15:05 +01:00
common-eval-args.cc Backport libfetchers from the flakes branch 2020-04-07 09:03:14 +02:00
common-eval-args.hh Fix build 2017-11-01 21:32:30 +01:00
eval-inline.hh GC_malloc -> GC_MALLOC 2018-06-12 17:49:55 +02:00
eval.cc Tweak error message 2020-01-13 21:52:03 +01:00
eval.hh Misc changes from the flakes branch 2020-03-24 14:34:47 +01:00
function-trace.cc Fix coverage build 2020-03-24 14:06:47 +01:00
function-trace.hh Hide FunctionCallTrace constructor/destructor 2020-01-05 16:21:34 +01:00
get-drvs.cc nix-store -r: Handle symlinks to store paths 2019-12-16 19:11:47 +01:00
get-drvs.hh experimental/optional -> optional 2019-03-14 14:10:52 +01:00
imported-drv-to-derivation.nix Move some corepkgs into the nix binary 2020-03-11 16:57:48 +01:00
json-to-value.cc Fix build 2020-01-13 21:34:54 +01:00
json-to-value.hh Fix extra ; warnings involving MakeError 2019-11-10 11:24:47 -05:00
lexer.l simplify handling of extra '}' 2018-10-27 00:14:51 +02:00
local.mk Backport libfetchers from the flakes branch 2020-04-07 09:03:14 +02:00
names.cc Make the Store API more type-safe 2019-12-10 22:06:05 +01:00
names.hh Make the Store API more type-safe 2019-12-10 22:06:05 +01:00
nix-expr.pc.in pkg-config files: Use c++17 2019-03-14 14:11:12 +01:00
nixexpr.cc Fix compatibility with latest boost::format 2018-03-14 19:25:09 +01:00
nixexpr.hh Fix extra ; warnings involving MakeError 2019-11-10 11:24:47 -05:00
parser.y Backport libfetchers from the flakes branch 2020-04-07 09:03:14 +02:00
primops.cc Backport libfetchers from the flakes branch 2020-04-07 09:03:14 +02:00
primops.hh Backport libfetchers from the flakes branch 2020-04-07 09:03:14 +02:00
symbol-table.hh Make the Store API more type-safe 2019-12-10 22:06:05 +01:00
value-to-json.cc builtins.toJSON: fix __toString usage 2019-10-27 10:15:51 +01:00
value-to-json.hh nix path-info: Add --json flag 2016-08-29 17:29:24 +02:00
value-to-xml.cc OCD performance fix: {find,count}+insert => insert 2019-10-09 16:06:29 +02:00
value-to-xml.hh Use "#pragma once" to prevent repeated header file inclusion 2012-07-18 14:59:03 -04:00
value.hh Remove builtins.valueSize 2019-11-28 13:52:42 +01:00