anchor.diff:      sha256 = "11ncgdc7kzb2y2gqb3sgarm5saj9fr07r3h2yh2h5bja429b85d2";
     };
   
  +  buildInputs = [ gfortran ];
  +
     # Atlas aborts the build if it detects that some kind of CPU frequency
     # scaling is active on the build machine because that feature offsets the
     # performance timings. We ignore that check, however, because with binaries
  
positive.code:   # Configure outside of the source directory.
    preConfigure = '' mkdir build; cd build; configureScript=../configure; '';
  
    # * -fPIC allows to build atlas inside shared objects, as octave does.
    #
    # * Atlas detects the cpu and does some tricks. For example, notices the
    #   hydra AMD Family 10h computer, and uses a SSE trick for it (bit 17 of MXCSR)
    #   available, for what I know, only in that family. So we hardcode K7
    #     -A 31 = Athlon K7
    #     -A 18 = Pentium II
    #     -V 192 = SSE1|SSE2 (Or it takes SSE3 somehow in my machine without SSE3)
    #     -V 1 = No SIMD (Pentium II does not have any SSE)
    #     -t 0 = No threading
    configureFlags = "-Fa alg -fPIC -t 0"
      + optionalString stdenv.isi686 " -b 32 -A 18 -V 1"
      + optionalString stdenv.isx86_64 " -A 31 -V 192"
      + optionalString shared " --shared "
      ;
  
    buildInputs = [ gfortran ];
  
    doCheck = true;
  
    meta = {
      homepage = "http://math-atlas.sourceforge.net/";
      description = "Automatically Tuned Linear Algebra Software (ATLAS)";
      license = "GPL";
  
      longDescription = ''
        The ATLAS (Automatically Tuned Linear Algebra Software) project is an ongoing
  
negative.code: { stdenv, fetchurl, gfortran, tolerateCpuTimingInaccuracy ? true, shared ? false
  , cpuConfig ? if stdenv.isi686 then "-b 32 -A 18 -V 1" else "-b 64 -A 31 -V 192"
  }:
  
  # Atlas detects the CPU and optimizes its build accordingly. This is great when
  # the code is run on the same machine that built the binary, but in case of a
  # central build farm like Hydra, this feature is dangerous because the code may
  # be generated utilizing fancy features that users who download the binary
  # cannot execute.
  #
  # To avoid these issues, the build is configured using the 'cpuConfig'
  # parameter as follows:
  #
  #   | x86 CPU                                     | x86_64 CPU             |
  #   |---------------------------------------------+------------------------|
  #   | -b 32                                       | -b 64                  |
  #   | -A 18  (Pentium II)                         | -A 31 (Athlon K7)      |
  #   | -V 1 (No SIMD: Pentium II doesn't have SSE) | -V 192 (SSE1 and SSE2) |
  #
  # Users who want to compile a highly optimized version of ATLAS that's suitable
  # for their local machine can override these settings accordingly.
  
  let
    version = "3.10.1";
  