anchor.diff:  in
   
   stdenv.mkDerivation rec {
  -  name = "cmake-${os useNcurses "cursesUI-"}${os useQt4 "qt4UI-"}${version}";
  +  name = "cmake-${version}";
   
     inherit majorVersion;
   
  
positive.code:   patches =
      # Don't search in non-Nix locations such as /usr, but do search in
      # Nixpkgs' Glibc.
      optional (stdenv ? libc) ./search-path-3.2.patch
      ++ optional stdenv.isCygwin ./3.2.2-cygwin.patch;
  
    buildInputs =
      [ bzip2 curl expat libarchive xz zlib ]
      ++ optional useNcurses ncurses
      ++ optional useQt4 qt4;
  
    propagatedBuildInputs = optional wantPS ps;
  
    CMAKE_PREFIX_PATH = stdenv.lib.concatStringsSep ":" buildInputs;
  
    configureFlags =
      [ "--docdir=/share/doc/${name}"
        "--mandir=/share/man"
        "--no-system-jsoncpp"
      ]
      ++ optional (!stdenv.isCygwin) "--system-libs"
      ++ optional useQt4 "--qt-gui"
      ++ ["--"]
      ++ optional (!useNcurses) "-DBUILD_CursesDialog=OFF";
  
    setupHook = ./setup-hook.sh;
  
    dontUseCmakeConfigure = true;
  
    preConfigure = optionalString (stdenv ? libc)
      ''
        source $setupHook
        fixCmakeFiles .
        substituteInPlace Modules/Platform/UnixPaths.cmake \
          --subst-var-by libc ${stdenv.libc}
      '';
  
    meta = {
      homepage = http://www.cmake.org/;
      description = "Cross-Platform Makefile Generator";
      platforms = if useQt4 then qt4.meta.platforms else stdenv.lib.platforms.all;
      maintainers = with stdenv.lib.maintainers; [ urkud mornfall ttuegel ];
    };
  }
  
negative.code: { stdenv, fetchurl
  , bzip2, curl, expat, libarchive, xz, zlib
  , useNcurses ? true, ncurses
  }:
  
  with stdenv.lib;
  