anchor.diff:  
       # The required executables are already copied over,
       # and the other runtimes won't be used and thus are just a waste of space.
  -    rm -r dotnet_modules/exes dotnet_modules/runtimes/!(linux-x64)
  +    rm -r dotnet_modules/exes dotnet_modules/runtimes/!(linux-x64|unix)
   
       # Not all executables and libraries are executable, so make sure that they are.
  -    find . -type f ! -executable -exec file {} + | grep -w ELF | cut -d ':' -f1 | xargs -rd'\n' chmod +x
  -
  -    # Not all scripts are executed by passing them to a shell, so they need to be executable as well.
  -    find . -type f -name '*.sh' ! -executable -exec chmod +x {} +
  +    jq <package.json '.executables.linux[]' -r | xargs chmod +x
   
       # Lock the extension downloader.
       touch install-linux.Lock externalDeps-linux.Lock
       ENDSUBSHELL
     '';
   
  -  rpath = makeLibraryPath libs;
  -
     postFixup = ''
       # We cannot use `wrapProgram`, because it will generate a relative path,
       # which will break when copying over the files.
       mv dotnet_modules/vsls-agent{,-wrapped}
       makeWrapper $PWD/dotnet_modules/vsls-agent{-wrapped,} \
  -      --prefix LD_LIBRARY_PATH : "$rpath" \
  +      --prefix LD_LIBRARY_PATH : "${makeLibraryPath libs}" \
         --set LD_PRELOAD $PWD/dotnet_modules/noop-syslog.so \
         --set DOTNET_ROOT ${dotnet-sdk_3}
  -
  -    for bn in check-reqs.sh install.sh uninstall.sh; do
  -      wrapProgram "$PWD/node_modules/@vsliveshare/vscode-launcher-linux/$bn" \
  -        --prefix PATH : "${makeBinPath [desktop-file-utils xprop]}"
  -    done
     '';
   
     meta = {
  
positive.code: # Baseed on previous attempts:
  #  -  <https://github.com/msteen/nixos-vsliveshare/blob/master/pkgs/vsliveshare/default.nix>
  #  -  <https://github.com/NixOS/nixpkgs/issues/41189>
  { lib, gccStdenv, vscode-utils, autoPatchelfHook, bash, file, makeWrapper, dotnet-sdk_3
  , curl, gcc, icu, libkrb5, libsecret, libunwind, libX11, lttng-ust, openssl, util-linux, zlib
  , desktop-file-utils, xprop
  }:
  
  with lib;
  
negative.code:   mktplcRef = {
      name = "vsliveshare";
      publisher = "ms-vsliveshare";
      version = "1.0.3912";
      sha256 = "1k5yy04q85jjr7hzrv0s7x1m2251kglb038wcvvbs568vpscghi8";
    };
  }).overrideAttrs({ nativeBuildInputs ? [], buildInputs ? [], ... }: {
    nativeBuildInputs = nativeBuildInputs ++ [
      bash
      jq
      autoPatchelfHook
      makeWrapper
    ];
    buildInputs = buildInputs ++ libs;
  
    # Using a patch file won't work, because the file changes too often, causing the patch to fail on most updates.
    # Rather than patching the calls to functions, we modify the functions to return what we want,
  