lix/src/libexpr
Shea Levy b1112bbef1 import: If the path is a valid .drv file, parse it and generate a derivation attrset.
The generated attrset has drvPath and outPath with the right string context, type 'derivation', outputName with
the right name, all with a list of outputs, and an attribute for each output.

I see three uses for this (though certainly there may be more):

* Using derivations generated by something besides nix-instantiate (e.g. guix)

* Allowing packages provided by channels to be used in nix expressions. If a channel installed a valid deriver
  for each package it provides into the store, then those could be imported and used as dependencies or installed
  in environment.systemPackages, for example.

* Enable hydra to be consistent in how it treats inputs that are outputs of another build. Right now, if an
  input is passed as an argument to the job, it is passed as a derivation, but if it is accessed via NIX_PATH
  (i.e. through the <> syntax), then it is a path that can be imported. This is problematic because the build
  being depended upon may have been built with non-obvious arguments passed to its jobset file. With this
  feature, hydra can just set the name of that input to the path to its drv file in NIX_PATH
2012-07-25 09:30:17 -04:00
..
attr-path.cc Fix compilation on FreeBSD 2012-03-05 22:04:40 +01:00
attr-path.hh Use "#pragma once" to prevent repeated header file inclusion 2012-07-18 14:59:03 -04:00
common-opts.cc Fix error message 2012-02-09 18:56:48 +01:00
common-opts.hh Use "#pragma once" to prevent repeated header file inclusion 2012-07-18 14:59:03 -04:00
eval-inline.hh Use "#pragma once" to prevent repeated header file inclusion 2012-07-18 14:59:03 -04:00
eval.cc Remove dead code 2012-07-17 14:07:52 -04:00
eval.hh Use "#pragma once" to prevent repeated header file inclusion 2012-07-18 14:59:03 -04:00
get-drvs.cc * Inline some functions and get rid of the indirection through 2012-02-04 13:50:25 +00:00
get-drvs.hh Use "#pragma once" to prevent repeated header file inclusion 2012-07-18 14:59:03 -04:00
lexer.l * Add a Nix expression search path feature. Paths between angle 2011-08-06 16:05:24 +00:00
Makefile.am * Inline some functions and get rid of the indirection through 2012-02-04 13:50:25 +00:00
names.cc * Export the nix-env derivation name parsing and version comparison 2008-07-01 10:10:32 +00:00
names.hh Use "#pragma once" to prevent repeated header file inclusion 2012-07-18 14:59:03 -04:00
nix.sdf First attempt to update Nix SDF grammar to match the actual bison grammar 2008-06-04 14:36:46 +00:00
nixexpr.cc * Allow a default value in attribute selection by writing 2011-07-13 12:19:57 +00:00
nixexpr.hh Use "#pragma once" to prevent repeated header file inclusion 2012-07-18 14:59:03 -04:00
parser.y Use Bison 2.5 2012-04-13 14:28:26 +02:00
primops.cc import: If the path is a valid .drv file, parse it and generate a derivation attrset. 2012-07-25 09:30:17 -04:00
symbol-table.hh Use "#pragma once" to prevent repeated header file inclusion 2012-07-18 14:59:03 -04:00
value-to-xml.cc Fix compilation on FreeBSD 2012-03-05 22:04:40 +01:00
value-to-xml.hh Use "#pragma once" to prevent repeated header file inclusion 2012-07-18 14:59:03 -04:00
value.hh Use "#pragma once" to prevent repeated header file inclusion 2012-07-18 14:59:03 -04:00