nixpkgs/pkgs/applications/editors/emacs-snapshot/default.nix
Karn Kallio ec8e23cc97 In Emacs site-start.el check that NIX_PROFILES is set.
In the stdenv this is not set, which causes an elisp error
which in turn makes builds depending on Emacs (eg gnuplot) fail.

svn path=/nixpkgs/trunk/; revision=31261
2012-01-04 05:48:38 +00:00

69 lines
2.1 KiB
Nix

{ xawSupport ? true
, xpmSupport ? true
, dbusSupport ? true
, xaw3dSupport ? false
, gtkGUI ? false
, xftSupport ? false
, stdenv, fetchcvs, ncurses, x11, libXaw ? null, libXpm ? null, Xaw3d ? null
, pkgconfig ? null, gtk ? null, libXft ? null, dbus ? null
, libpng, libjpeg, libungif, libtiff, texinfo
, autoconf, automake
}:
assert xawSupport -> libXaw != null;
assert xpmSupport -> libXpm != null;
assert dbusSupport -> dbus != null;
assert xaw3dSupport -> Xaw3d != null;
assert gtkGUI -> pkgconfig != null && gtk != null;
assert xftSupport -> libXft != null && libpng != null; # libpng = probably a bug
let date = "2009-06-26"; in
stdenv.mkDerivation {
name = "emacs-snapshot-23-${date}";
builder = ./builder.sh;
src = fetchcvs {
inherit date;
cvsRoot = ":pserver:anonymous@cvs.savannah.gnu.org:/sources/emacs";
module = "emacs";
sha256 = "bf9b21a0634f45474a1ce91e6153ced69194f1e9c0acd6626a931198f4a5972f";
};
preConfigure = "autoreconf -vfi";
buildInputs = [
autoconf automake
ncurses x11 texinfo
(if xawSupport then libXaw else null)
(if xpmSupport then libXpm else null)
(if dbusSupport then dbus else null)
(if xaw3dSupport then Xaw3d else null)
libpng libjpeg libungif libtiff # maybe not strictly required?
]
++ (if gtkGUI then [pkgconfig gtk] else [])
++ (if xftSupport then [libXft] else []);
configureFlags = "
${if gtkGUI then "--with-x-toolkit=gtk --enable-font-backend --with-xft" else ""}
";
postInstall = ''
cat >$out/share/emacs/site-lisp/site-start.el <<EOF
;; nixos specific load-path
(when (getenv "NIX_PROFILES") (setq load-path
(append (reverse (mapcar (lambda (x) (concat x "/share/emacs/site-lisp/"))
(split-string (getenv "NIX_PROFILES"))))
load-path)))
EOF
'';
meta = {
description = "GNU Emacs with Unicode, GTK and Xft support (23.x alpha)";
homepage = http://www.emacswiki.org/cgi-bin/wiki/XftGnuEmacs;
license = "GPLv3+";
maintainers = [ stdenv.lib.maintainers.ludo ];
platforms = stdenv.lib.platforms.linux; # GTK & co. are needed.
};
}