summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2008-02-22 16:51:51 +0000
committerLudovic Courtès <ludo@gnu.org>2008-02-22 16:51:51 +0000
commitadc77fc0c797067fb2a5e7546b6944100437f4f4 (patch)
tree3644fc7b8163712fbbdd739b990e8a2d2d81c4e8
parentc800565c73b886cb0d2ff2c6b790e896eab6dd54 (diff)
Git: Make dependency on Emacs optional, per Yuri's request.
This works by looking for `git.useEmacs', a boolean, in the user's Nixpkgs
config file.  The default is `true' since it's only a build-time dependency
and most users are expected to install the pre-compiled substitute, which
doesn't pull Emacs.

svn path=/nixpkgs/trunk/; revision=10837
-rw-r--r--pkgs/applications/version-management/git/default.nix20
-rw-r--r--pkgs/top-level/all-packages.nix3
2 files changed, 14 insertions, 9 deletions
diff --git a/pkgs/applications/version-management/git/default.nix b/pkgs/applications/version-management/git/default.nix
index 9cd69bf900876..db0df695f2ba1 100644
--- a/pkgs/applications/version-management/git/default.nix
+++ b/pkgs/applications/version-management/git/default.nix
@@ -8,18 +8,22 @@ stdenv.mkDerivation rec {
     sha256 = "089n3da06k19gzhacsqgaamgx5hy5r50r2b4a626s87w44mj78sn";
   };
 
-  buildInputs = [curl openssl zlib expat gettext emacs];
+  buildInputs = [curl openssl zlib expat gettext]
+    ++ (if emacs != null then [emacs] else []);
 
   makeFlags="prefix=\${out} PERL_PATH=${perl}/bin/perl SHELL_PATH=${stdenv.shell}";
 
-  postInstall = ''
-    # Install Emacs mode.
-    echo "installing Emacs mode..."
-    make install -C contrib/emacs prefix="$out"
+  postInstall =
+    if emacs != null then
+	 ''# Install Emacs mode.
+	   echo "installing Emacs mode..."
+	   make install -C contrib/emacs prefix="$out"
 
-    # XXX: There are other things under `contrib' that people might want to
-    # install.
-  '';
+	   # XXX: There are other things under `contrib' that people might want to
+	   # install. ''
+       else
+         ''echo "NOT installing Emacs mode.  Set \`git.useEmacs' to \`true' in your"
+	   echo "\`~/.nixpkgs/config.nix' file to change it."'';
 
   meta = {
     license = "GPLv2";
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 568d738f16bc2..9b6ed7c3ec535 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -4844,7 +4844,8 @@ rec {
   };
 
   git = import ../applications/version-management/git {
-    inherit fetchurl stdenv curl openssl zlib expat perl gettext emacs;
+    inherit fetchurl stdenv curl openssl zlib expat perl gettext;
+    emacs = if (getConfig ["git" "useEmacs"] true) then emacs else null;
   };
 
   gkrellm = import ../applications/misc/gkrellm {