anchor.diff:  
     graalvm8 = stdenv.mkDerivation rec {
       version = "0.31";
  -    name = "graalvm8-${version}";
  +    name = let
  +             n = "graal-vm-8-${version}";
  +           in if (lib.stringLength n) == (lib.stringLength jvmci8.name) then
  +                n
  +              else
  +                throw "length of string `${n}' must be equal to the length of `${jvmci8.name}'";
       src = fetchFromGitHub {
         owner  = "oracle";
         repo   = "graal";
  
positive.code:       )
      '';
      buildPhase = ''
        export MX_ALT_OUTPUT_ROOT=$NIX_BUILD_TOP/mxbuild
        export MX_CACHE_DIR=${makeMxCache graal-mxcache}
        ( cd substratevm; mx build --no-daemon )
      '';
      installPhase = ''
        # make a copy of jvmci8
        cp -dpR ${jvmci8} $out
        chmod +w -R $out
        find $out -type f -perm -0100 \
          -exec bash -c 'patchelf --set-rpath "$(patchelf --print-rpath {} | sed -r "s#${jvmci8}#$out#g")" {}' \;
        sed -i -r "s#${jvmci8}#$out#g" $out/bin/jmc
        sed -i -r "s#${jvmci8}#$out#g" $out/nix-support/setup-hook
  
        # add graal files
        mkdir -p $out/jre/tools/{profiler,chromeinspector}
        cp -pR  substratevm/svmbuild/native-image-root/linux-amd64/bin/*  $out/jre/bin/
        cp -pLR substratevm/svmbuild/native-image-root/lib/*              $out/jre/lib/
        cp -pLR substratevm/svmbuild/native-image-root/tools/*            $out/jre/tools/
        cp -pR  $MX_ALT_OUTPUT_ROOT/truffle/dists/*                       $out/jre/lib/truffle/
        cp -pR  $MX_ALT_OUTPUT_ROOT/tools/dists/truffle-profiler*         $out/jre/tools/profiler/
  
negative.code:     '';
      installPhase = ''
        mv jdk1.8.0_*/linux-amd64/product $out
        find $out -type f -exec sed -i "s#${oraclejdk8}#$out#g" {} \;
      '';
      dontStrip = true; # why? see in oraclejdk derivation
      inherit (oraclejdk8) meta;
  