anchor.diff:    extraSrcs =
       let
         dsfmt_ver = "2.2";
  -      grisu_ver = "1.1.1";
   
         dsfmt_src = fetchurl {
           url = "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/dSFMT-src-${dsfmt_ver}.tar.gz";
           name = "dsfmt-${dsfmt_ver}.tar.gz";
           md5 = "cb61be3be7254eae39684612c524740d";
         };
  -      grisu_src = fetchurl {
  -        url = "http://double-conversion.googlecode.com/files/double-conversion-${grisu_ver}.tar.gz";
  -        md5 = "29b533ed4311161267bff1a9a97e2953";
  -      };
  -    in [ dsfmt_src grisu_src ];
  +    in [ dsfmt_src ];
   
     buildInputs =
  -    [
  -      gfortran gmp pcre llvm readline zlib
  -      fftw fftwSinglePrec libunwind suitesparse glpk ncurses
  -      arpack openblas mpfr utf8proc
  +    [ libunwind llvm readline utf8proc zlib
  +      double_conversion fftw fftwSinglePrec glpk gmp mpfr pcre
  +      openblas arpack suitesparse
       ];
   
  -  nativeBuildInputs = [ patchelf perl m4 which git ];
  +  nativeBuildInputs = [ gfortran git m4 patchelf perl which ];
   
     makeFlags =
       let
         arch = head (splitString "-" stdenv.system);
         march =
  -        {
  -          "x86_64-linux" = "x86-64";
  +        { "x86_64-linux" = "x86-64";
  +          "x86_64-darwin" = "x86-64";
             "i686-linux" = "i686";
           }."${stdenv.system}" or (throw "unsupported system: ${stdenv.system}");
       in [
  
positive.code:       "LIBLAPACKNAME=libopenblas"
  
        "USE_SYSTEM_ARPACK=1"
  
        "USE_SYSTEM_UTF8PROC=1"
      ];
  
  
negative.code:       "prefix=$(out)"
        "SHELL=${stdenv.shell}"
  
        "USE_SYSTEM_BLAS=1"
        "LIBBLAS=-lopenblas"
        "LIBBLASNAME=libopenblas"
  