aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEelco Dolstra <edolstra@gmail.com>2020-09-17 09:12:39 +0200
committerEelco Dolstra <edolstra@gmail.com>2020-09-17 09:41:02 +0200
commit10d1865f5f443ddd57bb408a99f0afd74436e963 (patch)
tree6112e3a137d259606e8c435ffb4b72add0e410d6
parent5080d4e7b2525d1656282c65a217a22ff8381df3 (diff)
Remove corepkgs/derivation.nix
-rw-r--r--corepkgs/local.mk1
-rw-r--r--src/libexpr/local.mk2
-rw-r--r--src/libexpr/primops.cc12
-rw-r--r--src/libexpr/primops/derivation.nix (renamed from corepkgs/derivation.nix)0
4 files changed, 6 insertions, 9 deletions
diff --git a/corepkgs/local.mk b/corepkgs/local.mk
index 2c72d3a31..57f6d53a7 100644
--- a/corepkgs/local.mk
+++ b/corepkgs/local.mk
@@ -1,6 +1,5 @@
corepkgs_FILES = \
unpack-channel.nix \
- derivation.nix \
fetchurl.nix
$(foreach file,config.nix $(corepkgs_FILES),$(eval $(call install-data-in,$(d)/$(file),$(datadir)/nix/corepkgs)))
diff --git a/src/libexpr/local.mk b/src/libexpr/local.mk
index d84b150e0..687a8ccda 100644
--- a/src/libexpr/local.mk
+++ b/src/libexpr/local.mk
@@ -42,6 +42,6 @@ $(eval $(call install-file-in, $(d)/nix-expr.pc, $(prefix)/lib/pkgconfig, 0644))
$(foreach i, $(wildcard src/libexpr/flake/*.hh), \
$(eval $(call install-file-in, $(i), $(includedir)/nix/flake, 0644)))
-$(d)/primops.cc: $(d)/imported-drv-to-derivation.nix.gen.hh
+$(d)/primops.cc: $(d)/imported-drv-to-derivation.nix.gen.hh $(d)/primops/derivation.nix.gen.hh
$(d)/flake/flake.cc: $(d)/flake/call-flake.nix.gen.hh
diff --git a/src/libexpr/primops.cc b/src/libexpr/primops.cc
index d0b0c57b2..7e8526ea1 100644
--- a/src/libexpr/primops.cc
+++ b/src/libexpr/primops.cc
@@ -3565,13 +3565,11 @@ void EvalState::createBaseEnv()
/* Add a wrapper around the derivation primop that computes the
`drvPath' and `outPath' attributes lazily. */
- try {
- string path = canonPath(settings.nixDataDir + "/nix/corepkgs/derivation.nix", true);
- sDerivationNix = symbols.create(path);
- evalFile(path, v);
- addConstant("derivation", v);
- } catch (SysError &) {
- }
+ sDerivationNix = symbols.create("//builtin/derivation.nix");
+ eval(parse(
+ #include "primops/derivation.nix.gen.hh"
+ , foFile, sDerivationNix, "/", staticBaseEnv), v);
+ addConstant("derivation", v);
/* Now that we've added all primops, sort the `builtins' set,
because attribute lookups expect it to be sorted. */
diff --git a/corepkgs/derivation.nix b/src/libexpr/primops/derivation.nix
index c0fbe8082..c0fbe8082 100644
--- a/corepkgs/derivation.nix
+++ b/src/libexpr/primops/derivation.nix