anchor.diff:  , openssl_1_1
   , libuuid
   , zlib
  +, libkrb5
   , curl
   , lttng-ust_2_12
   }:
  
positive.code:     runHook postInstall
    '';
  
    postFixup = lib.optionalString stdenv.isLinux ''
      patchelf --set-interpreter "${stdenv.cc.bintools.dynamicLinker}" $out/dotnet
      patchelf --set-rpath "${rpath}" $out/dotnet
      find $out -type f -name "*.so" -exec patchelf --set-rpath '$ORIGIN:${rpath}' {} \;
      find $out -type f \( -name "apphost" -or -name "createdump" \) -exec patchelf --set-interpreter "${stdenv.cc.bintools.dynamicLinker}" --set-rpath '$ORIGIN:${rpath}' {} \;
  
      wrapProgram $out/bin/dotnet \
        --prefix LD_LIBRARY_PATH : ${icu}/lib
    '';
  
    doInstallCheck = true;
    installCheckPhase = ''
      # Fixes cross
      export DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1
  
      $out/bin/dotnet --info
    '';
  
    setupHook = writeText "dotnet-setup-hook" ''
  
negative.code:   inherit pname version;
  
    # Some of these dependencies are `dlopen()`ed.
    nativeBuildInputs = [
      makeWrapper
    ] ++ lib.optional stdenv.isLinux autoPatchelfHook;
  
    buildInputs = [
      stdenv.cc.cc
      zlib
      icu
      libkrb5
      # this must be before curl for autoPatchElf to find it
      # curl brings in its own openssl
      openssl_1_1
      curl
    ] ++ lib.optional stdenv.isLinux lttng-ust_2_12;
  
    src = fetchurl (
      srcs."${stdenv.hostPlatform.system}" or (throw
  