anchor.diff:  { stdenv, fetchurl, ncurses, pkgconfig, texinfo, libxml2, gnutls
  -, Carbon, Cocoa, ImageCaptureCore, OSAKit, Quartz, WebKit
  +, Carbon, Cocoa, ImageCaptureCore, OSAKit, Quartz, WebKit, gettext
  +, AppKit, GSS, ImageIO
   }:
   
   stdenv.mkDerivation rec {
     emacsName = "emacs-24.5";
     name = "${emacsName}-mac-5.15";
   
  -  #builder = ./builder.sh;
  +  builder = ./builder.sh;
   
     src = fetchurl {
       url = "mirror://gnu/emacs/${emacsName}.tar.xz";
  
positive.code:     mv $name $emacsName
    '';
  
    preConfigure = ''
      substituteInPlace lisp/international/mule-cmds.el --replace /usr $TMPDIR
      substituteInPlace Makefile.in --replace "/bin/pwd" "pwd"
      substituteInPlace lib-src/Makefile.in --replace "/bin/pwd" "pwd"
  
      patch -p1 < patch-mac
  
      # The search for 'tputs' will fail because it's in ncursesw within the
      # ncurses package, yet Emacs' configure script only looks in ncurses.
      # Further, we need to make sure that the -L option occurs before mention
      # of the library, so that it finds it within the Nix store.
      sed -i 's/tinfo ncurses/tinfo ncursesw/' configure
      ncurseslib=$(echo ${ncurses}/lib | sed 's#/#\\/#g')
      sed -i "s/OLIBS=\$LIBS/OLIBS=\"-L$ncurseslib \$LIBS\"/" configure
      sed -i 's/LIBS="\$LIBS_TERMCAP \$LIBS"/LIBS="\$LIBS \$LIBS_TERMCAP"/' configure
  
      configureFlagsArray=(
        LDFLAGS=-L${ncurses}/lib
        --with-xml2=yes
        --with-gnutls=yes
        --with-mac
        --enable-mac-app=$out/Applications
      )
      makeFlagsArray=(
        CFLAGS=-O3
        LDFLAGS="-O3 -L${ncurses}/lib"
      );
    '';
  
    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)))
  
      ;; make tramp work for NixOS machines
      (eval-after-load 'tramp '(add-to-list 'tramp-remote-path "/run/current-system/sw/bin"))
      EOF
    '';
  
    doCheck = true;
  
negative.code:   enableParallelBuilding = true;
  
    buildInputs = [
      ncurses libxml2 gnutls pkgconfig texinfo gettext
    ];
  
    propagatedBuildInputs = [
      Carbon Cocoa ImageCaptureCore OSAKit Quartz WebKit AppKit GSS ImageIO
    ];
  
    postUnpack = ''
  