anchor.diff:    # Contains the ruby version heuristics
     rubyVersion = import ./ruby-version.nix { inherit lib; };
   
  -  # Needed during postInstall
  -  buildRuby =
  -    if stdenv.hostPlatform == stdenv.buildPlatform
  -    then "$out/bin/ruby"
  -    else "${buildPackages.ruby}/bin/ruby";
  -
     generic = { version, sha256 }: let
       ver = version;
       tag = ver.gitTag;
       atLeast30 = lib.versionAtLeast ver.majMin "3.0";
  -    baseruby = self.override {
  -      useRailsExpress = false;
  -      docSupport = false;
  -      rubygemsSupport = false;
  -    };
       self = lib.makeOverridable (
         { stdenv, buildPackages, lib
         , fetchurl, fetchpatch, fetchFromSavannah, fetchFromGitHub
  
positive.code:         passthru = rec {
            version = ver;
            rubyEngine = "ruby";
            baseRuby = baseruby;
            libPath = "lib/${rubyEngine}/${ver.libDir}";
            gemPath = "lib/${rubyEngine}/gems/${ver.libDir}";
            devEnv = import ./dev.nix {
  
negative.code:         '';
  
          configureFlags = ["--enable-shared" "--enable-pthread" "--with-soname=ruby-${version}"]
            ++ op useBaseRuby "--with-baseruby=${baseRuby}/bin/ruby"
            ++ op (!jitSupport) "--disable-jit-support"
            ++ op (!docSupport) "--disable-install-doc"
            ++ op jemallocSupport "--with-jemalloc"
            ++ ops stdenv.isDarwin [
              # on darwin, we have /usr/include/tk.h -- so the configure script detects
              # that tk is installed
              "--with-out-ext=tk"
              # on yosemite, "generating encdb.h" will hang for a very long time without this flag
              "--with-setjmp-type=setjmp"
            ];
  
          preConfigure = opString docSupport ''
            configureFlagsArray+=("--with-ridir=$devdoc/share/ri")
  