anchor.diff:      maintainers = with maintainers; [ tesq0 ericdallo corngood mdarocha ];
       mainProgram = "OmniSharp";
     };
  -}
  +}; in finalPackage
  
positive.code: , lib
  , patchelf
  , stdenv
  }:
  let
    inherit (dotnetCorePackages) sdk_6_0;
  in
  buildDotnetModule rec {
    pname = "omnisharp-roslyn";
    version = "1.39.1";
  
  
negative.code:     rm $out/lib/omnisharp-roslyn/System.Configuration.ConfigurationManager.dll
    '';
  
    passthru.tests = {
      no-sdk = runCommand "no-sdk" { nativeBuildInputs = [ finalPackage expect ]; meta.timeout = 60; } ''
        HOME=$TMPDIR
        expect <<"EOF"
          spawn OmniSharp
          expect_before timeout {
            send_error "timeout!\n"
            exit 1
          }
          expect "\"ERROR\",\"Name\":\"OmniSharp.MSBuild.Discovery.Providers.SdkInstanceProvider\""
          expect eof
          catch wait result
          if { [lindex $result 3] == 0 } {
            exit 1
          }
        EOF
        touch $out
      '';
  
      with-sdk = runCommand "with-sdk" { nativeBuildInputs = [ finalPackage sdk_6_0 expect ]; meta.timeout = 60; } ''
        HOME=$TMPDIR
        expect <<"EOF"
          spawn OmniSharp
          expect_before timeout {
            send_error "timeout!\n"
            exit 1
          }
          expect "{\"Event\":\"started\","
          send \x03
          expect eof
          catch wait result
          exit [lindex $result 3]
        EOF
        touch $out
      '';
    };
  
    meta = with lib; {
      description = "OmniSharp based on roslyn workspaces";
      homepage = "https://github.com/OmniSharp/omnisharp-roslyn";
  