anchor.diff:  , darwin
   }:
   
  -assert (!blas.isILP64) && (!lapack.isILP64);
  -
  -mkDerivation rec {
  +let
  +  # Not always evaluated
  +  blas' = if use64BitIdx then
  +    blas.override {
  +      isILP64 = true;
  +    }
  +  else
  +    blas
  +  ;
  +  lapack' = if use64BitIdx then
  +    lapack.override {
  +      isILP64 = true;
  +    }
  +  else
  +    lapack
  +  ;
  +  qrupdate' = qrupdate.override {
  +    # If use64BitIdx is false, this override doesn't evaluate to a new
  +    # derivation, as blas and lapack are not overriden.
  +    blas = blas';
  +    lapack = lapack';
  +  };
  +  arpack' = arpack.override {
  +    blas = blas';
  +    lapack = lapack';
  +  };
  +  # Not always suitesparse is required at all
  +  suitesparse' = if suitesparse != null then
  +    suitesparse.override {
  +      blas = blas';
  +      lapack = lapack';
  +    }
  +  else
  +    null
  +  ;
  +in mkDerivation rec {
     version = "6.1.0";
     pname = "octave";
   
  
positive.code:   enableParallelBuilding = true;
  
    # See https://savannah.gnu.org/bugs/?50339
    F77_INTEGER_8_FLAG = if blas.isILP64 then "-fdefault-integer-8" else "";
  
    configureFlags = [
      "--with-blas=blas"
      "--with-lapack=lapack"
      (if blas.isILP64 then "--enable-64" else "--disable-64")
    ]
      ++ stdenv.lib.optionals stdenv.isDarwin [ "--enable-link-all-dependencies" ]
      ++ stdenv.lib.optionals enableReadline [ "--enable-readline" ]
  
negative.code:     fltk
      zlib
      curl
      blas'
      lapack'
      libsndfile
      fftw
      fftwSinglePrec
      portaudio
      qrupdate'
      arpack'
      libwebp
      gl2ps
    ]
  