From 40890b2b95b4bce62e1296855046d6cacbd440a2 Mon Sep 17 00:00:00 2001 From: Robert Helgesson Date: Wed, 6 Jan 2016 22:00:53 +0100 Subject: [PATCH] eclipseWithPlugins: lazier evaluation Unfortunately the `readFile`/`writeText` functions forces realisation of the eclipse package at evaluation time. By creating the configuration file inside the build command we avoid realisation until installation. --- pkgs/applications/editors/eclipse/default.nix | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/pkgs/applications/editors/eclipse/default.nix b/pkgs/applications/editors/eclipse/default.nix index 3fed254d6e9..42cb0fa8914 100644 --- a/pkgs/applications/editors/eclipse/default.nix +++ b/pkgs/applications/editors/eclipse/default.nix @@ -327,21 +327,20 @@ rec { dropinProp = "-D${dropinPropName}=${pluginEnv}/eclipse/dropins"; jvmArgsText = stdenv.lib.concatStringsSep "\n" (jvmArgs ++ [dropinProp]); - # Prepare an eclipse.ini with the plugin directory. - origEclipseIni = builtins.readFile "${eclipse}/eclipse/eclipse.ini"; - eclipseIniFile = writeText "eclipse.ini" '' - ${origEclipseIni} - ${jvmArgsText} - ''; - # Base the derivation name on the name of the underlying # Eclipse. name = (stdenv.lib.meta.appendToName "with-plugins" eclipse).name; in runCommand name { buildInputs = [ makeWrapper ]; } '' - mkdir -p $out/bin + mkdir -p $out/bin $out/etc + + # Prepare an eclipse.ini with the plugin directory. + cat ${eclipse}/eclipse/eclipse.ini - > $out/etc/eclipse.ini <