anchor.diff:  { stdenv, fetchurl, gfortran, tolerateCpuTimingInaccuracy ? true, shared ? false
  -, cpuConfig ? if stdenv.isi686 then "-b 32 -A 18 -V 1" else "-b 64 -A 31 -V 384"
  +, cpuConfig ? if stdenv.isi686 then "-b 32 -A 12 -V 1" else "-b 64 -A 14 -V 384"
  +, cacheEdge ? "262144"
  +, threads ? "0"
   }:
   
   # Atlas detects the CPU and optimizes its build accordingly. This is great when
  
positive.code:   patches = optional tolerateCpuTimingInaccuracy ./disable-timing-accuracy-check.patch;
  
    # Configure outside of the source directory.
    preConfigure = '' mkdir build; cd build; configureScript=../configure; '';
  
    # * -fPIC is passed even in non-shared builds so that the ATLAS code can be
    #   used to inside of shared libraries, like Octave does.
    #
    # * -t 0 disables use of multi-threading. It's not quite clear what the
    #   consequences of that setting are and whether it's necessary or not.
    configureFlags = "-Fa alg -fPIC -t 0 ${cpuConfig}" + optionalString shared " --shared";
  
    doCheck = true;
  
    meta = {
      homepage = "http://math-atlas.sourceforge.net/";
  
negative.code:     license = stdenv.lib.licenses.bsd3;
  
      longDescription = ''
        The ATLAS (Automatically Tuned Linear Algebra Software) project is an
        ongoing research effort focusing on applying empirical techniques in
        order to provide portable performance. At present, it provides C and
        Fortran77 interfaces to a portably efficient BLAS implementation, as well
        as a few routines from LAPACK.
      '';
  
      maintainers = with stdenv.lib.maintainers; [ ttuegel ];
  