anchor.diff:      mesonFlags = [ "-Dlegacy=true" ];
     });
   
  -  xorgserver = with self; super.xorgserver.overrideAttrs (attrs_passed:
  +  xorgserver = with xorg; super.xorgserver.overrideAttrs (attrs_passed:
       # exchange attrs if abiCompat is set
       let
         version = lib.getVersion attrs_passed;
  
positive.code: 
    libXi = super.libXi.overrideAttrs (attrs: {
      outputs = [ "out" "dev" "man" "doc" ];
      propagatedBuildInputs = attrs.propagatedBuildInputs or [] ++ [ self.libXfixes self.libXext ];
      configureFlags = lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
        "xorg_cv_malloc0_returns_null=no"
      ] ++ lib.optional stdenv.hostPlatform.isStatic "--disable-shared";
  
negative.code:     outputs = [ "out" "dev" ];
      configureFlags = attrs.configureFlags or []
        ++ malloc0ReturnsNullCrossFlag;
      propagatedBuildInputs = attrs.propagatedBuildInputs or [] ++ [ xorg.libXrender ];
    });
  
    libSM = super.libSM.overrideAttrs (attrs: {
      outputs = [ "out" "dev" "doc" ];
      propagatedBuildInputs = attrs.propagatedBuildInputs or [] ++ [ xorg.libICE ];
    });
  
    libXrender = super.libXrender.overrideAttrs (attrs: {
      outputs = [ "out" "dev" "doc" ];
      configureFlags = attrs.configureFlags or []
        ++ malloc0ReturnsNullCrossFlag;
      propagatedBuildInputs = attrs.propagatedBuildInputs or [] ++ [ xorg.xorgproto ];
    });
  
    libXres = super.libXres.overrideAttrs (attrs: {
      outputs = [ "out" "dev" "devdoc" ];
      buildInputs = with xorg; attrs.buildInputs ++ [ utilmacros ];
      configureFlags = attrs.configureFlags or []
        ++ malloc0ReturnsNullCrossFlag;
    });
  
    libXScrnSaver = super.libXScrnSaver.overrideAttrs (attrs: {
      buildInputs = with xorg; attrs.buildInputs ++ [ utilmacros ];
      configureFlags = attrs.configureFlags or []
        ++ malloc0ReturnsNullCrossFlag;
    });
  