about summary refs log tree commit diff
path: root/nixpkgs/pkgs/misc/vscode-extensions/ms-vsliveshare-vsliveshare/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/misc/vscode-extensions/ms-vsliveshare-vsliveshare/default.nix')
-rw-r--r--nixpkgs/pkgs/misc/vscode-extensions/ms-vsliveshare-vsliveshare/default.nix134
1 files changed, 0 insertions, 134 deletions
diff --git a/nixpkgs/pkgs/misc/vscode-extensions/ms-vsliveshare-vsliveshare/default.nix b/nixpkgs/pkgs/misc/vscode-extensions/ms-vsliveshare-vsliveshare/default.nix
deleted file mode 100644
index d4200c335524..000000000000
--- a/nixpkgs/pkgs/misc/vscode-extensions/ms-vsliveshare-vsliveshare/default.nix
+++ /dev/null
@@ -1,134 +0,0 @@
-# Based 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
-, jq, autoPatchelfHook, bash, makeWrapper
-, dotnet-sdk_3, curl, gcc, icu, libkrb5, libsecret, libunwind, libX11, lttng-ust, openssl, util-linux, zlib
-, desktop-file-utils, xprop, xsel
-}:
-
-with lib;
-
-let
-  # https://docs.microsoft.com/en-us/visualstudio/liveshare/reference/linux#install-prerequisites-manually
-  libs = [
-    # .NET Core
-    openssl
-    libkrb5
-    zlib
-    icu
-
-    # Credential Storage
-    libsecret
-
-    # NodeJS
-    libX11
-
-    # https://github.com/flathub/com.visualstudio.code.oss/issues/11#issuecomment-392709170
-    libunwind
-    lttng-ust
-    curl
-
-    # General
-    gcc.cc.lib
-    util-linux # libuuid
-  ];
-
-in ((vscode-utils.override { stdenv = gccStdenv; }).buildVscodeMarketplaceExtension {
-  mktplcRef = {
-    name = "vsliveshare";
-    publisher = "ms-vsliveshare";
-    version = "1.0.5043";
-    sha256 = "OdFOFvidUV/trySHvF8iELPNVP2kq8+vZQ4q4Nf7SiQ=";
-  };
-}).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,
-  # which is less likely to break in the future.
-  postPatch = ''
-    sed -i \
-      -e 's/updateExecutablePermissionsAsync() {/& return;/' \
-      -e 's/isInstallCorrupt(traceSource, manifest) {/& return false;/' \
-      out/prod/extension-prod.js
-
-    declare ext_unique_id
-    ext_unique_id="$(basename "$out")"
-
-    # Fix extension attempting to write to 'modifiedInternalSettings.json'.
-    # Move this write to the tmp directory indexed by the nix store basename.
-    substituteInPlace out/prod/extension-prod.js \
-      --replace "path.resolve(constants_1.EXTENSION_ROOT_PATH, './modifiedInternalSettings.json')" \
-                "path.join(os.tmpdir(), '$ext_unique_id-modifiedInternalSettings.json')"
-
-    # Fix extension attempting to write to 'vsls-agent.lock'.
-    # Move this write to the tmp directory indexed by the nix store basename.
-    substituteInPlace out/prod/extension-prod.js \
-      --replace "path + '.lock'" \
-                "__webpack_require__('path').join(__webpack_require__('os').tmpdir(), '$ext_unique_id-vsls-agent.lock')"
-
-    # Hardcode executable paths
-    echo '#!/bin/sh' >node_modules/@vsliveshare/vscode-launcher-linux/check-reqs.sh
-    substituteInPlace node_modules/@vsliveshare/vscode-launcher-linux/install.sh \
-      --replace desktop-file-install ${desktop-file-utils}/bin/desktop-file-install
-    substituteInPlace node_modules/@vsliveshare/vscode-launcher-linux/uninstall.sh \
-      --replace update-desktop-database ${desktop-file-utils}/bin/update-desktop-database
-    substituteInPlace node_modules/@vsliveshare/vscode-launcher-linux/vsls-launcher \
-      --replace /bin/bash ${bash}/bin/bash
-    substituteInPlace out/prod/extension-prod.js \
-      --replace xprop ${xprop}/bin/xprop \
-      --replace "'xsel'" "'${xsel}/bin/xsel'"
-  '';
-
-  postInstall = ''
-    cd $out/share/vscode/extensions/ms-vsliveshare.vsliveshare
-
-    bash -s <<ENDSUBSHELL
-    shopt -s extglob
-
-    # A workaround to prevent the journal filling up due to diagnostic logging.
-    # See: https://github.com/MicrosoftDocs/live-share/issues/1272
-    # See: https://unix.stackexchange.com/questions/481799/how-to-prevent-a-process-from-writing-to-the-systemd-journal
-    gcc -fPIC -shared -ldl -o dotnet_modules/noop-syslog.so ${./noop-syslog.c}
-
-    # Normally the copying of the right executables is done externally at a later time,
-    # but we want it done at installation time.
-    cp dotnet_modules/exes/linux-x64/* dotnet_modules
-
-    # 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|unix)
-
-    # Not all executables and libraries are executable, so make sure that they are.
-    jq <package.json '.executables.linux[]' -r | xargs chmod +x
-
-    # Lock the extension downloader.
-    touch install-linux.Lock externalDeps-linux.Lock
-    ENDSUBSHELL
-  '';
-
-  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 : "${makeLibraryPath libs}" \
-      --set LD_PRELOAD $PWD/dotnet_modules/noop-syslog.so \
-      --set DOTNET_ROOT ${dotnet-sdk_3}
-  '';
-
-  meta = {
-    description = "Live Share lets you achieve greater confidence at speed by streamlining collaborative editing, debugging, and more in real-time during development";
-    homepage = "https://aka.ms/vsls-docs";
-    license = licenses.unfree;
-    maintainers = with maintainers; [ jraygauthier V ];
-    platforms = [ "x86_64-linux" ];
-  };
-})