From fafff78d3deb4ffc0ea30ef0ccd21353425a041c Mon Sep 17 00:00:00 2001 From: Nicolas Dudebout Date: Tue, 20 Sep 2016 04:13:01 -0400 Subject: [PATCH] Emacs cleanup (#18730) emacs: Clean up derivation --- pkgs/applications/editors/emacs/default.nix | 37 ++++++++++----------- 1 file changed, 17 insertions(+), 20 deletions(-) diff --git a/pkgs/applications/editors/emacs/default.nix b/pkgs/applications/editors/emacs/default.nix index aa25c96ccb3e..4a729ba3da3f 100644 --- a/pkgs/applications/editors/emacs/default.nix +++ b/pkgs/applications/editors/emacs/default.nix @@ -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 = ''