about summary refs log tree commit diff
path: root/src/libexpr/eval.hh
diff options
context:
space:
mode:
authorEelco Dolstra <e.dolstra@tudelft.nl>2010-04-21T15·08+0000
committerEelco Dolstra <e.dolstra@tudelft.nl>2010-04-21T15·08+0000
commitfe2d869e04372de69719c3989a75247ff44b8fd4 (patch)
treece7df351314663d45adaa6a3b7ba4c64f179c63a /src/libexpr/eval.hh
parentf3b8833a48472c3545ea8673d687ea9cadcedd61 (diff)
* Store user environment manifests as a Nix expression in
  $out/manifest.nix rather than as an ATerm.

  (Hm, I thought I committed this two days ago...)

Diffstat (limited to 'src/libexpr/eval.hh')
-rw-r--r--src/libexpr/eval.hh11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/libexpr/eval.hh b/src/libexpr/eval.hh
index 6cdc171f5609..a730dc297799 100644
--- a/src/libexpr/eval.hh
+++ b/src/libexpr/eval.hh
@@ -92,6 +92,7 @@ struct Value
         Value * val;
         struct {
             PrimOp fun;
+            char * name;
             unsigned int arity;
         } primOp;
         struct {
@@ -138,6 +139,14 @@ static inline void mkCopy(Value & v, Value & src)
 }
 
 
+static inline void mkApp(Value & v, Value & left, Value & right)
+{
+    v.type = tApp;
+    v.app.left = &left;
+    v.app.right = &right;
+}
+
+
 void mkString(Value & v, const char * s);
 void mkString(Value & v, const string & s, const PathSet & context = PathSet());
 void mkPath(Value & v, const char * s);
@@ -162,7 +171,7 @@ public:
 
     SymbolTable symbols;
 
-    const Symbol sWith, sOutPath, sDrvPath, sType, sMeta, sName;
+    const Symbol sWith, sOutPath, sDrvPath, sType, sMeta, sName, sSystem;
 
 private:
     SrcToStore srcToStore;