anchor.diff:  
   stdenv.mkDerivation rec {
     pname = "giac${lib.optionalString enableGUI "-with-xcas"}";
  -  version = "1.6.0-47"; # TODO try to remove preCheck phase on upgrade
  +  version = "1.9.0-5"; # TODO try to remove preCheck phase on upgrade
   
     src = fetchurl {
       url = "https://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/stable/main/source/giac_${version}.tar.gz";
  -    sha256 = "sha256-c5A9/I6L/o3Y3dxEPoTKpw/fJqYMr6euLldaQ1HWT5c=";
  +    sha256 = "sha256-EP8wRi8QZPrr1lfKN6da87s1FCy8AuDYbzcvsJCWyLE=";
     };
   
     patches = [
  
positive.code:     })
    ];
  
    postPatch = ''
      for i in doc/*/Makefile* micropython*/xcas/Makefile*; do
        substituteInPlace "$i" --replace "/bin/cp" "cp";
      done;
    '' +
    # workaround for 1.6.0-47, should not be necessary in future versions
    lib.optionalString (!enableMicroPy) ''
      sed -i -e 's/micropython-[0-9.]* //' Makefile*
    '';
  
    nativeBuildInputs = [
      texlive.combined.scheme-small bison flex
    ];
  
    # perl is only needed for patchShebangs fixup.
  
negative.code: { stdenv, lib, fetchurl, fetchpatch, texlive, bison, flex, lapack, blas
  , autoreconfHook, gmp, mpfr, pari, ntl, gsl, mpfi, ecm, glpk, nauty
  , buildPackages, readline, gettext, libpng, libao, gfortran, perl
  , enableGUI ? false, libGL, libGLU, xorg, fltk
  , enableMicroPy ? false, python3
  }:
  