anchor.diff:    buildRubyMine = { name, version, build, src, license, description }:
       (mkIdeaProduct rec {
         inherit name version build src;
  -      patchSnappy = false;
         product = "RubyMine";
         meta = with stdenv.lib; {
           homepage = "https://www.jetbrains.com/ruby/";
  
positive.code:     (mkIdeaProduct {
        inherit name version build src;
        product = "PhpStorm";
        patchSnappy = false;
        meta = with stdenv.lib; {
          homepage = "https://www.jetbrains.com/phpstorm/";
          inherit description license;
  
negative.code: 
  let
  
    mkIdeaProduct = with stdenv.lib;
    { name, product, version, build, src, meta }:
  
    let loName = toLower product;
        hiName = toUpper product;
        execName = concatStringsSep "-" (init (splitString "-" name));
    in
  
    with stdenv; lib.makeOverridable mkDerivation rec {
      inherit name build src meta;
      desktopItem = makeDesktopItem {
        name = execName;
        exec = execName;
        comment = lib.replaceChars ["\n"] [" "] meta.longDescription;
        desktopName = product;
        genericName = meta.description;
        categories = "Application;Development;";
        icon = execName;
      };
  
      buildInputs = [ makeWrapper patchelf p7zip unzip ];
  
      patchPhase = ''
          get_file_size() {
            local fname="$1"
            echo $(ls -l $fname | cut -d ' ' -f5)
  