Emacs cleanup (#18730)

emacs: Clean up derivation
This commit is contained in:
Nicolas Dudebout 2016-09-20 04:13:01 -04:00 committed by M U
parent 60cfc558be
commit fafff78d3d

View File

@ -1,12 +1,12 @@
{ stdenv, lib, fetchurl, ncurses, xlibsWrapper, libXaw, libXpm, Xaw3d
, pkgconfig, gettext, libXft, dbus, libpng, libjpeg, libungif
, libtiff, librsvg, texinfo, gconf, libxml2, imagemagick, gnutls
, libtiff, librsvg, gconf, libxml2, imagemagick, gnutls
, alsaLib, cairo, acl, gpm, AppKit, CoreWLAN, Kerberos, GSS, ImageIO
, autoconf, automake
, withX ? !stdenv.isDarwin
, withGTK2 ? true, gtk2 ? null
, withGTK3 ? false, gtk3 ? null
, withXwidgets ? false, webkitgtk24x ? null, wrapGAppsHook ? null, glib_networking ? null
, withGTK2 ? true, gtk2
, srcRepo ? false, autoconf ? null, automake ? null, texinfo ? null
}:
assert (libXft != null) -> libpng != null; # probably a bug
@ -19,32 +19,25 @@ assert withXwidgets -> withGTK3 && webkitgtk24x != null;
let
toolkit =
if withGTK3 then "gtk3"
else if withGTK2 then "gtk2"
if withGTK2 then "gtk2"
else if withGTK3 then "gtk3"
else "lucid";
in
stdenv.mkDerivation rec {
name = "emacs-25.1";
builder = ./builder.sh;
src = fetchurl {
url = "mirror://gnu//emacs/${name}.tar.xz";
sha256 = "0cwgyiyymnx4xdg99dm2drfxcyhy2jmyf0rkr9fwj9mwwf77kwhr";
};
patches = lib.optionals stdenv.isDarwin [
./at-fdcwd.patch
];
patches = lib.optional stdenv.isDarwin ./at-fdcwd.patch;
postPatch = ''
substituteInPlace lisp/international/mule-cmds.el \
--replace "/usr/share/locale" "${gettext}/share/locale"
'';
nativeBuildInputs = [ pkgconfig ]
++ lib.optionals srcRepo [ autoconf automake texinfo ];
buildInputs =
[ ncurses gconf libxml2 gnutls alsaLib pkgconfig texinfo acl gpm gettext
autoconf automake ]
[ ncurses gconf libxml2 gnutls alsaLib acl gpm gettext ]
++ lib.optional stdenv.isLinux dbus
++ lib.optionals withX
[ xlibsWrapper libXaw Xaw3d libXpm libpng libjpeg libungif libtiff librsvg libXft
@ -67,11 +60,15 @@ stdenv.mkDerivation rec {
"--with-gif=no" "--with-tiff=no" ])
++ lib.optional withXwidgets "--with-xwidgets";
NIX_CFLAGS_COMPILE = lib.optionalString (stdenv.isDarwin && withX)
"-I${cairo.dev}/include/cairo";
preConfigure = lib.optionalString srcRepo ''
./autogen.sh
'' + ''
substituteInPlace lisp/international/mule-cmds.el \
--replace /usr/share/locale ${gettext}/share/locale
preBuild = ''
find . -name '*.elc' -delete
for makefile_in in $(find . -name Makefile.in -print); do
substituteInPlace $makefile_in --replace /bin/pwd pwd
done
'';
postInstall = ''