diff options
author | Daniel Playfair Cal | 2021-01-20 23:28:16 +1100 |
---|---|---|
committer | Daniel Playfair Cal | 2021-01-20 23:29:27 +1100 |
commit | 7dc29d3fe0ca1cd468b5fd90ead0793974f634f6 (patch) | |
tree | 01e36240d51bf12781de4dfcdfe0d178ce44b0e5 | |
download | aur-7dc29d3fe0ca1cd468b5fd90ead0793974f634f6.tar.gz |
1.52.1-1
-rw-r--r-- | .SRCINFO | 36 | ||||
-rw-r--r-- | .gitignore | 5 | ||||
-rw-r--r-- | 0001-chore-bump-electron-11.0.3-111931.patch | 1102 | ||||
-rw-r--r-- | PKGBUILD | 161 | ||||
-rw-r--r-- | code-liveshare.diff | 12 | ||||
-rw-r--r-- | code.js | 29 | ||||
-rw-r--r-- | code.sh | 7 | ||||
-rw-r--r-- | product_json.diff | 52 |
8 files changed, 1404 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..07b2d6f35817 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,36 @@ +pkgbase = code-wayland + pkgdesc = The Open Source build of Visual Studio Code (vscode) editor, with ozone enabled for wayland support + pkgver = 1.52.1 + pkgrel = 1 + url = https://github.com/microsoft/vscode + arch = x86_64 + license = MIT + makedepends = git + makedepends = gulp + makedepends = npm + makedepends = python2 + makedepends = yarn + makedepends = nodejs-lts-erbium + depends = electron-ozone + depends = libsecret + depends = libx11 + depends = libxkbfile + depends = ripgrep + optdepends = bash-completion: Bash completions + optdepends = zsh-completions: ZSH completitons + optdepends = x11-ssh-askpass: SSH authentication + provides = vscode + conflicts = code + source = code-wayland::git+https://github.com/microsoft/vscode.git#tag=1.52.1 + source = code.js + source = code.sh + source = product_json.diff + source = 0001-chore-bump-electron-11.0.3-111931.patch + sha512sums = SKIP + sha512sums = 814c9554427183cd893a33cd2cbe91f6e0ea71921ef0717c86217b1d3058d265f9ff7a9ace3e7b76f122e60b7686475cf4d999e581a1845face3033afb9f745f + sha512sums = aec825628bf1911731fbe79cf8cc4c1b61cbb956567e1d6616ff187668ad986324551d29a7ff7462b9d5a1f91d236dd0fea2c39ca36aeae88917c07303aaf2d2 + sha512sums = 1a89170ac5ee6b0b19d4b981e6037c86cfcaf30ceb2910550d42ba8cf442d3f735438205fd6f54558ea1223714c719ced676193e6b625762af0c4bcfaddd9461 + sha512sums = cd64cc93dafc537034bd9a69b9d77ab8e0350b7a05b464ee9efd91c55248f5888c89b968d7293d9a61c4963b6748980b717eb5ad3c55de261c5f767893924a38 + +pkgname = code-wayland + diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000000..9628958e10b0 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +code-wayland/ +pkg/ +src/ +*.tar + diff --git a/0001-chore-bump-electron-11.0.3-111931.patch b/0001-chore-bump-electron-11.0.3-111931.patch new file mode 100644 index 000000000000..35d93b9dead5 --- /dev/null +++ b/0001-chore-bump-electron-11.0.3-111931.patch @@ -0,0 +1,1102 @@ +From 4eea6e9126102acffa55dff3a98e4ba7cefacbbd Mon Sep 17 00:00:00 2001 +From: Robo <hop2deep@gmail.com> +Date: Sat, 5 Dec 2020 01:54:58 -0800 +Subject: [PATCH] chore: bump electron@11.0.3 (#111931) + +* chore: bump electron@11.0.3 + +This reverts commit 155691d0bec4acfac0e3bbccb362f61278a132de. + +* chore: bump x64 build image + +* chore: rebuild remote with older gcc toolchain + +* chore: bump electron@11.0.3 + +* ci: remove condition for remote step + +* chore: disable an integration test +--- + .yarnrc | 2 +- + .../darwin/continuous-build-darwin.yml | 2 +- + .../darwin/helper-plugin-entitlements.plist | 10 - + .../darwin/product-build-darwin.yml | 4 +- + build/azure-pipelines/distro-build.yml | 2 +- + build/azure-pipelines/exploration-build.yml | 2 +- + .../linux/continuous-build-linux.yml | 2 +- + .../linux/product-build-alpine.yml | 2 +- + .../linux/product-build-linux.yml | 23 ++- + .../linux/snap-build-linux.yml | 2 +- + build/azure-pipelines/product-build.yml | 11 +- + build/azure-pipelines/product-compile.yml | 2 +- + .../publish-types/publish-types.yml | 2 +- + build/azure-pipelines/sync-mooncake.yml | 2 +- + .../azure-pipelines/web/product-build-web.yml | 2 +- + .../win32/continuous-build-win32.yml | 2 +- + .../win32/product-build-win32.yml | 2 +- + build/darwin/sign.ts | 10 - + cgmanifest.json | 12 +- + package.json | 10 +- + remote/.yarnrc | 2 +- + remote/package.json | 6 +- + remote/yarn.lock | 26 +-- + scripts/test-integration.sh | 6 +- + src/vs/code/electron-main/window.ts | 6 +- + .../test/node/nativeModules.test.ts | 2 +- + .../platform/menubar/electron-main/menubar.ts | 6 +- + .../electron-main/webviewProtocolProvider.ts | 13 +- + .../services/extensions/node/proxyResolver.ts | 2 +- + yarn.lock | 187 +++++++++--------- + 30 files changed, 179 insertions(+), 183 deletions(-) + delete mode 100644 build/azure-pipelines/darwin/helper-plugin-entitlements.plist + +diff --git a/.yarnrc b/.yarnrc +index 264a5e3a3d..7b0e7edfcb 100644 +--- a/.yarnrc ++++ b/.yarnrc +@@ -1,3 +1,3 @@ + disturl "https://electronjs.org/headers" +-target "9.3.5" ++target "11.0.3" + runtime "electron" +diff --git a/build/azure-pipelines/darwin/continuous-build-darwin.yml b/build/azure-pipelines/darwin/continuous-build-darwin.yml +index 55efe5f32e..75c28106c5 100644 +--- a/build/azure-pipelines/darwin/continuous-build-darwin.yml ++++ b/build/azure-pipelines/darwin/continuous-build-darwin.yml +@@ -1,7 +1,7 @@ + steps: + - task: NodeTool@0 + inputs: +- versionSpec: "12.14.1" ++ versionSpec: "12.18.3" + + - task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2 + inputs: +diff --git a/build/azure-pipelines/darwin/helper-plugin-entitlements.plist b/build/azure-pipelines/darwin/helper-plugin-entitlements.plist +deleted file mode 100644 +index 7cd9df032b..0000000000 +--- a/build/azure-pipelines/darwin/helper-plugin-entitlements.plist ++++ /dev/null +@@ -1,10 +0,0 @@ +-<?xml version="1.0" encoding="UTF-8"?> +-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +-<plist version="1.0"> +-<dict> +- <key>com.apple.security.cs.allow-unsigned-executable-memory</key> +- <true/> +- <key>com.apple.security.cs.disable-library-validation</key> +- <true/> +-</dict> +-</plist> +diff --git a/build/azure-pipelines/darwin/product-build-darwin.yml b/build/azure-pipelines/darwin/product-build-darwin.yml +index 6f7dec16ac..e2107fd73c 100644 +--- a/build/azure-pipelines/darwin/product-build-darwin.yml ++++ b/build/azure-pipelines/darwin/product-build-darwin.yml +@@ -22,7 +22,7 @@ steps: + + - task: NodeTool@0 + inputs: +- versionSpec: "12.14.1" ++ versionSpec: "12.18.3" + + - task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2 + inputs: +@@ -78,7 +78,7 @@ steps: + + - script: | + set -e +- npm install -g node-gyp@7.1.0 ++ npm install -g node-gyp@latest + node-gyp --version + displayName: Update node-gyp + condition: and(succeeded(), ne(variables['CacheRestored'], 'true')) +diff --git a/build/azure-pipelines/distro-build.yml b/build/azure-pipelines/distro-build.yml +index 99bad6b72c..331fbf9675 100644 +--- a/build/azure-pipelines/distro-build.yml ++++ b/build/azure-pipelines/distro-build.yml +@@ -8,7 +8,7 @@ pr: + steps: + - task: NodeTool@0 + inputs: +- versionSpec: "12.14.1" ++ versionSpec: "12.18.3" + + - task: AzureKeyVault@1 + displayName: "Azure Key Vault: Get Secrets" +diff --git a/build/azure-pipelines/exploration-build.yml b/build/azure-pipelines/exploration-build.yml +index 4a7acf129b..e0bb30a7e0 100644 +--- a/build/azure-pipelines/exploration-build.yml ++++ b/build/azure-pipelines/exploration-build.yml +@@ -6,7 +6,7 @@ trigger: none + steps: + - task: NodeTool@0 + inputs: +- versionSpec: "12.14.1" ++ versionSpec: "12.18.3" + + - task: AzureKeyVault@1 + displayName: "Azure Key Vault: Get Secrets" +diff --git a/build/azure-pipelines/linux/continuous-build-linux.yml b/build/azure-pipelines/linux/continuous-build-linux.yml +index e777f821d7..44cb982947 100644 +--- a/build/azure-pipelines/linux/continuous-build-linux.yml ++++ b/build/azure-pipelines/linux/continuous-build-linux.yml +@@ -10,7 +10,7 @@ steps: + + - task: NodeTool@0 + inputs: +- versionSpec: "12.14.1" ++ versionSpec: "12.18.3" + + - task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2 + inputs: +diff --git a/build/azure-pipelines/linux/product-build-alpine.yml b/build/azure-pipelines/linux/product-build-alpine.yml +index 9a54bc2bc8..8108ff8193 100644 +--- a/build/azure-pipelines/linux/product-build-alpine.yml ++++ b/build/azure-pipelines/linux/product-build-alpine.yml +@@ -22,7 +22,7 @@ steps: + + - task: NodeTool@0 + inputs: +- versionSpec: "12.14.1" ++ versionSpec: "12.18.3" + + - task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2 + inputs: +diff --git a/build/azure-pipelines/linux/product-build-linux.yml b/build/azure-pipelines/linux/product-build-linux.yml +index 1f7884a1c8..5d7e8cdb24 100644 +--- a/build/azure-pipelines/linux/product-build-linux.yml ++++ b/build/azure-pipelines/linux/product-build-linux.yml +@@ -22,7 +22,7 @@ steps: + + - task: NodeTool@0 + inputs: +- versionSpec: "12.14.1" ++ versionSpec: "12.18.3" + + - task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2 + inputs: +@@ -69,6 +69,13 @@ steps: + targetfolder: "**/node_modules, !**/node_modules/**/node_modules" + vstsFeed: "npm-vscode" + ++ - script: | ++ set -e ++ npm install -g node-gyp@latest ++ node-gyp --version ++ displayName: Update node-gyp ++ condition: and(succeeded(), ne(variables['CacheRestored'], 'true')) ++ + - script: | + set -e + export npm_config_arch=$(NPM_ARCH) +@@ -97,6 +104,14 @@ steps: + displayName: Run postinstall scripts + condition: and(succeeded(), eq(variables['CacheRestored'], 'true')) + ++ - script: | ++ set -e ++ export CC=$(which gcc-4.8) ++ export CXX=$(which g++-4.8) ++ cd remote ++ node-gyp rebuild ++ displayName: Rebuild remote modules with gcc-4.8 ++ + - script: | + set -e + node build/azure-pipelines/mixin +@@ -112,12 +127,6 @@ steps: + yarn gulp vscode-reh-web-linux-$(VSCODE_ARCH)-min-ci + displayName: Build + +- - script: | +- set -e +- service xvfb start +- displayName: Start xvfb +- condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'), eq(variables['VSCODE_STEP_ON_IT'], 'false')) +- + - script: | + set -e + DISPLAY=:10 ./scripts/test.sh --build --tfs "Unit Tests" +diff --git a/build/azure-pipelines/linux/snap-build-linux.yml b/build/azure-pipelines/linux/snap-build-linux.yml +index f08c7b3c3e..e0f2d2c6e2 100644 +--- a/build/azure-pipelines/linux/snap-build-linux.yml ++++ b/build/azure-pipelines/linux/snap-build-linux.yml +@@ -1,7 +1,7 @@ + steps: + - task: NodeTool@0 + inputs: +- versionSpec: "12.14.1" ++ versionSpec: "12.18.3" + + - task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2 + inputs: +diff --git a/build/azure-pipelines/product-build.yml b/build/azure-pipelines/product-build.yml +index ebe2fe6abe..2b3d87d119 100644 +--- a/build/azure-pipelines/product-build.yml ++++ b/build/azure-pipelines/product-build.yml +@@ -11,8 +11,9 @@ schedules: + resources: + containers: + - container: vscode-x64 +- image: vscodehub.azurecr.io/vscode-linux-build-agent:x64 ++ image: vscodehub.azurecr.io/vscode-linux-build-agent:bionic-x64 + endpoint: VSCodeHub ++ options: --user 0:0 + - container: vscode-arm64 + image: vscodehub.azurecr.io/vscode-linux-build-agent:stretch-arm64 + endpoint: VSCodeHub +@@ -27,7 +28,7 @@ stages: + jobs: + - job: Compile + pool: +- vmImage: "Ubuntu-16.04" ++ vmImage: "Ubuntu-18.04" + container: vscode-x64 + variables: + VSCODE_ARCH: x64 +@@ -70,7 +71,7 @@ stages: + - Compile + condition: and(succeeded(), eq(variables['VSCODE_COMPILE_ONLY'], 'false')) + pool: +- vmImage: "Ubuntu-16.04" ++ vmImage: "Ubuntu-18.04" + jobs: + - job: Linux + condition: and(succeeded(), eq(variables['VSCODE_BUILD_LINUX'], 'true')) +@@ -179,7 +180,7 @@ stages: + - macOSARM64 + condition: and(succeededOrFailed(), eq(variables['VSCODE_COMPILE_ONLY'], 'false')) + pool: +- vmImage: "Ubuntu-16.04" ++ vmImage: "Ubuntu-18.04" + jobs: + - job: SyncMooncake + displayName: Sync Mooncake +@@ -194,7 +195,7 @@ stages: + - macOSARM64 + condition: and(succeeded(), eq(variables['VSCODE_COMPILE_ONLY'], 'false'), or(eq(variables['VSCODE_RELEASE'], 'true'), and(or(eq(variables['VSCODE_QUALITY'], 'insider'), eq(variables['VSCODE_QUALITY'], 'exploration')), eq(variables['Build.Reason'], 'Schedule')))) + pool: +- vmImage: "Ubuntu-16.04" ++ vmImage: "Ubuntu-18.04" + jobs: + - job: BuildService + displayName: Build Service +diff --git a/build/azure-pipelines/product-compile.yml b/build/azure-pipelines/product-compile.yml +index eaf0a65e8a..66baef772c 100644 +--- a/build/azure-pipelines/product-compile.yml ++++ b/build/azure-pipelines/product-compile.yml +@@ -17,7 +17,7 @@ steps: + + - task: NodeTool@0 + inputs: +- versionSpec: "12.14.1" ++ versionSpec: "12.18.3" + condition: and(succeeded(), ne(variables['CacheExists-Compilation'], 'true')) + + - task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2 +diff --git a/build/azure-pipelines/publish-types/publish-types.yml b/build/azure-pipelines/publish-types/publish-types.yml +index 5f1cf6c28a..0e3f4e4daa 100644 +--- a/build/azure-pipelines/publish-types/publish-types.yml ++++ b/build/azure-pipelines/publish-types/publish-types.yml +@@ -9,7 +9,7 @@ pr: none + steps: + - task: NodeTool@0 + inputs: +- versionSpec: "12.14.1" ++ versionSpec: "12.18.3" + + - task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2 + inputs: +diff --git a/build/azure-pipelines/sync-mooncake.yml b/build/azure-pipelines/sync-mooncake.yml +index 109709418f..280c9e6372 100644 +--- a/build/azure-pipelines/sync-mooncake.yml ++++ b/build/azure-pipelines/sync-mooncake.yml +@@ -1,7 +1,7 @@ + steps: + - task: NodeTool@0 + inputs: +- versionSpec: "12.14.1" ++ versionSpec: "12.18.3" + + - task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2 + inputs: +diff --git a/build/azure-pipelines/web/product-build-web.yml b/build/azure-pipelines/web/product-build-web.yml +index 33282adbe4..1beae9506e 100644 +--- a/build/azure-pipelines/web/product-build-web.yml ++++ b/build/azure-pipelines/web/product-build-web.yml +@@ -22,7 +22,7 @@ steps: + + - task: NodeTool@0 + inputs: +- versionSpec: "12.14.1" ++ versionSpec: "12.18.3" + + - task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2 + inputs: +diff --git a/build/azure-pipelines/win32/continuous-build-win32.yml b/build/azure-pipelines/win32/continuous-build-win32.yml +index 87b820cb00..7bd1870738 100644 +--- a/build/azure-pipelines/win32/continuous-build-win32.yml ++++ b/build/azure-pipelines/win32/continuous-build-win32.yml +@@ -1,7 +1,7 @@ + steps: + - task: NodeTool@0 + inputs: +- versionSpec: "12.14.1" ++ versionSpec: "12.18.3" + + - task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2 + inputs: +diff --git a/build/azure-pipelines/win32/product-build-win32.yml b/build/azure-pipelines/win32/product-build-win32.yml +index 1992ac1aff..5c8806401d 100644 +--- a/build/azure-pipelines/win32/product-build-win32.yml ++++ b/build/azure-pipelines/win32/product-build-win32.yml +@@ -22,7 +22,7 @@ steps: + + - task: NodeTool@0 + inputs: +- versionSpec: "12.14.1" ++ versionSpec: "12.18.3" + + - task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2 + inputs: +diff --git a/build/darwin/sign.ts b/build/darwin/sign.ts +index 538dc97adf..f1908b1474 100644 +--- a/build/darwin/sign.ts ++++ b/build/darwin/sign.ts +@@ -29,7 +29,6 @@ async function main(): Promise<void> { + const appFrameworkPath = path.join(appRoot, appName, 'Contents', 'Frameworks'); + const helperAppBaseName = product.nameShort; + const gpuHelperAppName = helperAppBaseName + ' Helper (GPU).app'; +- const pluginHelperAppName = helperAppBaseName + ' Helper (Plugin).app'; + const rendererHelperAppName = helperAppBaseName + ' Helper (Renderer).app'; + + const defaultOpts: codesign.SignOptions = { +@@ -51,7 +50,6 @@ async function main(): Promise<void> { + // TODO(deepak1556): Incorrectly declared type in electron-osx-sign + ignore: (filePath: string) => { + return filePath.includes(gpuHelperAppName) || +- filePath.includes(pluginHelperAppName) || + filePath.includes(rendererHelperAppName); + } + }; +@@ -63,13 +61,6 @@ async function main(): Promise<void> { + 'entitlements-inherit': path.join(baseDir, 'azure-pipelines', 'darwin', 'helper-gpu-entitlements.plist'), + }; + +- const pluginHelperOpts: codesign.SignOptions = { +- ...defaultOpts, +- app: path.join(appFrameworkPath, pluginHelperAppName), +- entitlements: path.join(baseDir, 'azure-pipelines', 'darwin', 'helper-plugin-entitlements.plist'), +- 'entitlements-inherit': path.join(baseDir, 'azure-pipelines', 'darwin', 'helper-plugin-entitlements.plist'), +- }; +- + const rendererHelperOpts: codesign.SignOptions = { + ...defaultOpts, + app: path.join(appFrameworkPath, rendererHelperAppName), +@@ -78,7 +69,6 @@ async function main(): Promise<void> { + }; + + await codesign.signAsync(gpuHelperOpts); +- await codesign.signAsync(pluginHelperOpts); + await codesign.signAsync(rendererHelperOpts); + await codesign.signAsync(appOpts as any); + } +diff --git a/cgmanifest.json b/cgmanifest.json +index 656e3f821b..5575cb4b04 100644 +--- a/cgmanifest.json ++++ b/cgmanifest.json +@@ -6,7 +6,7 @@ + "git": { + "name": "chromium", + "repositoryUrl": "https://chromium.googlesource.com/chromium/src", +- "commitHash": "894fb9eb56c6cbda65e3c3ae9ada6d4cb5850cc9" ++ "commitHash": "0387c513f0319231a8ca6dd0a265102af3d4455e" + } + }, + "licenseDetail": [ +@@ -40,7 +40,7 @@ + "SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + ], + "isOnlyProductionDependency": true, +- "version": "83.0.4103.122" ++ "version": "87.0.4280.67" + }, + { + "component": { +@@ -48,11 +48,11 @@ + "git": { + "name": "nodejs", + "repositoryUrl": "https://github.com/nodejs/node", +- "commitHash": "9622fed3fb2cffcea9efff6c8cb4cc2def99d75d" ++ "commitHash": "e3e0927bb93ed92bcdfe81e7ad9af3d78ccc74fb" + } + }, + "isOnlyProductionDependency": true, +- "version": "12.14.1" ++ "version": "12.18.3" + }, + { + "component": { +@@ -60,12 +60,12 @@ + "git": { + "name": "electron", + "repositoryUrl": "https://github.com/electron/electron", +- "commitHash": "415c1f9e9b35d9599b1a8ad1200476afa47a3323" ++ "commitHash": "b0862a6e63173c4c919bd5ed27d257235bbfe7d2" + } + }, + "isOnlyProductionDependency": true, + "license": "MIT", +- "version": "9.3.5" ++ "version": "11.0.3" + }, + { + "component": { +diff --git a/package.json b/package.json +index c856e311d0..1bced6a030 100644 +--- a/package.json ++++ b/package.json +@@ -45,7 +45,7 @@ + "compile-web": "gulp compile-web --max_old_space_size=4095", + "watch-web": "gulp watch-web --max_old_space_size=4095", + "eslint": "eslint -c .eslintrc.json --rulesdir ./build/lib/eslint --ext .ts --ext .js ./src/vs ./extensions", +- "electron-rebuild": "electron-rebuild --arch=arm64 --force --version=11.0.2" ++ "electron-rebuild": "electron-rebuild --arch=arm64 --force --version=11.0.3" + }, + "dependencies": { + "applicationinsights": "1.0.8", +@@ -60,7 +60,7 @@ + "native-is-elevated": "0.4.1", + "native-keymap": "2.2.1", + "native-watchdog": "1.3.0", +- "node-pty": "0.10.0-beta17", ++ "node-pty": "0.10.0-beta18", + "spdlog": "^0.11.1", + "sudo-prompt": "9.1.1", + "tas-client-umd": "0.1.2", +@@ -112,7 +112,7 @@ + "css-loader": "^3.2.0", + "debounce": "^1.0.0", + "deemon": "^1.4.0", +- "electron": "9.3.5", ++ "electron": "11.0.3", + "electron-rebuild": "2.0.3", + "eslint": "6.8.0", + "eslint-plugin-jsdoc": "^19.1.0", +@@ -191,10 +191,10 @@ + "url": "https://github.com/microsoft/vscode/issues" + }, + "optionalDependencies": { +- "vscode-windows-ca-certs": "0.2.0", ++ "vscode-windows-ca-certs": "^0.3.0", + "vscode-windows-registry": "1.0.3", + "windows-foreground-love": "0.2.0", + "windows-mutex": "0.3.0", + "windows-process-tree": "0.2.4" + } +-} ++} +\ No newline at end of file +diff --git a/remote/.yarnrc b/remote/.yarnrc +index c1a32ce532..cd436416b5 100644 +--- a/remote/.yarnrc ++++ b/remote/.yarnrc +@@ -1,3 +1,3 @@ + disturl "http://nodejs.org/dist" +-target "12.14.1" ++target "12.18.3" + runtime "node" +diff --git a/remote/package.json b/remote/package.json +index f68deac647..57710a189b 100644 +--- a/remote/package.json ++++ b/remote/package.json +@@ -12,15 +12,15 @@ + "jschardet": "2.2.1", + "minimist": "^1.2.5", + "native-watchdog": "1.3.0", +- "node-pty": "0.10.0-beta17", ++ "node-pty": "0.10.0-beta18", + "spdlog": "^0.11.1", + "tas-client-umd": "0.1.2", + "vscode-nsfw": "1.2.9", + "vscode-oniguruma": "1.3.1", + "vscode-proxy-agent": "^0.5.2", ++ "vscode-regexpp": "^3.1.0", + "vscode-ripgrep": "^1.11.1", + "vscode-textmate": "5.2.0", +- "vscode-regexpp": "^3.1.0", + "xterm": "4.10.0-beta.4", + "xterm-addon-search": "0.8.0-beta.3", + "xterm-addon-unicode11": "0.3.0-beta.3", +@@ -29,7 +29,7 @@ + "yazl": "^2.4.3" + }, + "optionalDependencies": { +- "vscode-windows-ca-certs": "0.2.0", ++ "vscode-windows-ca-certs": "0.3.0", + "vscode-windows-registry": "1.0.2" + } + } +diff --git a/remote/yarn.lock b/remote/yarn.lock +index 22d8ebe3fc..e15eb9d983 100644 +--- a/remote/yarn.lock ++++ b/remote/yarn.lock +@@ -299,15 +299,15 @@ native-watchdog@1.3.0: + resolved "https://registry.yarnpkg.com/native-watchdog/-/native-watchdog-1.3.0.tgz#88cee94c9dc766b85c8506eda14c8bd8c9618e27" + integrity sha512-WOjGRNGkYZ5MXsntcvCYrKtSYMaewlbCFplbcUVo9bE80LPVt8TAVFHYWB8+a6fWCGYheq21+Wtt6CJrUaCJhw== + +-node-addon-api@1.6.2: +- version "1.6.2" +- resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.6.2.tgz#d8aad9781a5cfc4132cc2fecdbdd982534265217" +- integrity sha512-479Bjw9nTE5DdBSZZWprFryHGjUaQC31y1wHo19We/k0BZlrmhqQitWoUL0cD8+scljCbIUL+E58oRDEakdGGA== ++node-addon-api@^3.0.2: ++ version "3.0.2" ++ resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.0.2.tgz#04bc7b83fd845ba785bb6eae25bc857e1ef75681" ++ integrity sha512-+D4s2HCnxPd5PjjI0STKwncjXTUKKqm74MDMz9OPXavjsGmjkvwgLtA5yoxJUdmpj52+2u+RrXgPipahKczMKg== + +-node-pty@0.10.0-beta17: +- version "0.10.0-beta17" +- resolved "https://registry.yarnpkg.com/node-pty/-/node-pty-0.10.0-beta17.tgz#962d4a3f4dc6772385e0cad529c209cef3bc79e6" +- integrity sha512-tn7EANQacnAvnOQCImvgag1DL0tVmUoY/1yIZbh3u/BBpvCcGHLZJNn7TXheodRLr6hmGSUS2VbfcUr9p0gOug== ++node-pty@0.10.0-beta18: ++ version "0.10.0-beta18" ++ resolved "https://registry.yarnpkg.com/node-pty/-/node-pty-0.10.0-beta18.tgz#7ed2d3f4a06b2b23fe2abdf5b41655e9dffc25d5" ++ integrity sha512-vpK4yB3A3VzgkvdOWegL7GcPapt45jfA4b3ejUe8k4RmqdWBRvFJngew8T3qAxmLhTkfo93psaN6izTlfkc6FA== + dependencies: + nan "^2.14.0" + +@@ -438,12 +438,12 @@ vscode-textmate@5.2.0: + resolved "https://registry.yarnpkg.com/vscode-textmate/-/vscode-textmate-5.2.0.tgz#01f01760a391e8222fe4f33fbccbd1ad71aed74e" + integrity sha512-Uw5ooOQxRASHgu6C7GVvUxisKXfSgW4oFlO+aa+PAkgmH89O3CXxEEzNRNtHSqtXFTl0nAC1uYj0GMSH27uwtQ== + +-vscode-windows-ca-certs@0.2.0: +- version "0.2.0" +- resolved "https://registry.yarnpkg.com/vscode-windows-ca-certs/-/vscode-windows-ca-certs-0.2.0.tgz#086f0f4de57e2760a35ac6920831bff246237115" +- integrity sha512-YBrJRT0zos+Yb1Qdn73GD8QZr7pa2IE96b5Y1hmmp6XeR8aYB7Iiq5gDAF/+/AxL+caSR9KPZQ6jiYWh5biD7w== ++vscode-windows-ca-certs@0.3.0: ++ version "0.3.0" ++ resolved "https://registry.yarnpkg.com/vscode-windows-ca-certs/-/vscode-windows-ca-certs-0.3.0.tgz#324e1f8ba842bbf048a39e7c0ee8fe655e9adfcc" ++ integrity sha512-CYrpCEKmAFQJoZNReOrelNL+VKyebOVRCqL9evrBlVcpWQDliliJgU5RggGS8FPGtQ3jAKLQt9frF0qlxYYPKA== + dependencies: +- node-addon-api "1.6.2" ++ node-addon-api "^3.0.2" + + vscode-windows-registry@1.0.2: + version "1.0.2" +diff --git a/scripts/test-integration.sh b/scripts/test-integration.sh +index b82dbec113..609a2bf612 100755 +--- a/scripts/test-integration.sh ++++ b/scripts/test-integration.sh +@@ -60,8 +60,10 @@ after_suite + "$INTEGRATION_TEST_ELECTRON_PATH" $LINUX_NO_SANDBOX $ROOT/extensions/vscode-api-tests/testWorkspace --enable-proposed-api=vscode.vscode-api-tests --extensionDevelopmentPath=$ROOT/extensions/vscode-api-tests --extensionTestsPath=$ROOT/extensions/vscode-api-tests/out/singlefolder-tests --disable-telemetry --crash-reporter-directory=$VSCODECRASHDIR --no-cached-data --disable-updates --disable-extensions --user-data-dir=$VSCODEUSERDATADIR + after_suite + +-"$INTEGRATION_TEST_ELECTRON_PATH" $LINUX_NO_SANDBOX $ROOT/extensions/vscode-api-tests/testworkspace.code-workspace --enable-proposed-api=vscode.vscode-api-tests --extensionDevelopmentPath=$ROOT/extensions/vscode-api-tests --extensionTestsPath=$ROOT/extensions/vscode-api-tests/out/workspace-tests --disable-telemetry --crash-reporter-directory=$VSCODECRASHDIR --no-cached-data --disable-updates --disable-extensions --user-data-dir=$VSCODEUSERDATADIR +-after_suite ++# TODO(deepak1556): Disable workspace test temporarily ++# https://github.com/microsoft/vscode/issues/111288 ++#"$INTEGRATION_TEST_ELECTRON_PATH" $LINUX_NO_SANDBOX $ROOT/extensions/vscode-api-tests/testworkspace.code-workspace --enable-proposed-api=vscode.vscode-api-tests --extensionDevelopmentPath=$ROOT/extensions/vscode-api-tests --extensionTestsPath=$ROOT/extensions/vscode-api-tests/out/workspace-tests --disable-telemetry --crash-reporter-directory=$VSCODECRASHDIR --no-cached-data --disable-updates --disable-extensions --user-data-dir=$VSCODEUSERDATADIR ++#after_suite + + "$INTEGRATION_TEST_ELECTRON_PATH" $LINUX_NO_SANDBOX $ROOT/extensions/vscode-colorize-tests/test --extensionDevelopmentPath=$ROOT/extensions/vscode-colorize-tests --extensionTestsPath=$ROOT/extensions/vscode-colorize-tests/out --disable-telemetry --crash-reporter-directory=$VSCODECRASHDIR --no-cached-data --disable-updates --disable-extensions --user-data-dir=$VSCODEUSERDATADIR + after_suite +diff --git a/src/vs/code/electron-main/window.ts b/src/vs/code/electron-main/window.ts +index a9f47be815..f6b98e72c9 100644 +--- a/src/vs/code/electron-main/window.ts ++++ b/src/vs/code/electron-main/window.ts +@@ -9,7 +9,7 @@ import * as nls from 'vs/nls'; + import * as perf from 'vs/base/common/performance'; + import { Emitter } from 'vs/base/common/event'; + import { URI } from 'vs/base/common/uri'; +-import { screen, BrowserWindow, systemPreferences, app, TouchBar, nativeImage, Rectangle, Display, TouchBarSegmentedControl, NativeImage, BrowserWindowConstructorOptions, SegmentedControlSegment, nativeTheme, Event, Details } from 'electron'; ++import { screen, BrowserWindow, systemPreferences, app, TouchBar, nativeImage, Rectangle, Display, TouchBarSegmentedControl, NativeImage, BrowserWindowConstructorOptions, SegmentedControlSegment, nativeTheme, Event, RenderProcessGoneDetails } from 'electron'; + import { IEnvironmentMainService } from 'vs/platform/environment/electron-main/environmentMainService'; + import { ILogService } from 'vs/platform/log/common/log'; + import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; +@@ -544,8 +544,8 @@ export class CodeWindow extends Disposable implements ICodeWindow { + } + + private onWindowError(error: WindowError.UNRESPONSIVE): void; +- private onWindowError(error: WindowError.CRASHED, details: Details): void; +- private onWindowError(error: WindowError, details?: Details): void { ++ private onWindowError(error: WindowError.CRASHED, details: RenderProcessGoneDetails): void; ++ private onWindowError(error: WindowError, details?: RenderProcessGoneDetails): void { + this.logService.error(error === WindowError.CRASHED ? `[VS Code]: renderer process crashed (detail: ${details?.reason})` : '[VS Code]: detected unresponsive'); + + // If we run extension tests from CLI, showing a dialog is not +diff --git a/src/vs/platform/environment/test/node/nativeModules.test.ts b/src/vs/platform/environment/test/node/nativeModules.test.ts +index b64282f626..34617f575b 100644 +--- a/src/vs/platform/environment/test/node/nativeModules.test.ts ++++ b/src/vs/platform/environment/test/node/nativeModules.test.ts +@@ -90,7 +90,7 @@ suite('Native Modules (all platforms)', () => { + test('vscode-windows-ca-certs', async () => { + // @ts-ignore Windows only + const windowsCerts = await import('vscode-windows-ca-certs'); +- const store = windowsCerts(); ++ const store = new windowsCerts.Crypt32(); + assert.ok(windowsCerts, testErrorMessage('vscode-windows-ca-certs')); + let certCount = 0; + try { +diff --git a/src/vs/platform/menubar/electron-main/menubar.ts b/src/vs/platform/menubar/electron-main/menubar.ts +index 3039b01a1c..90fba9c3fb 100644 +--- a/src/vs/platform/menubar/electron-main/menubar.ts ++++ b/src/vs/platform/menubar/electron-main/menubar.ts +@@ -6,7 +6,7 @@ + import * as nls from 'vs/nls'; + import { isMacintosh, language } from 'vs/base/common/platform'; + import { IEnvironmentMainService } from 'vs/platform/environment/electron-main/environmentMainService'; +-import { app, Menu, MenuItem, BrowserWindow, MenuItemConstructorOptions, WebContents, Event, KeyboardEvent } from 'electron'; ++import { app, Menu, MenuItem, BrowserWindow, MenuItemConstructorOptions, WebContents, KeyboardEvent } from 'electron'; + import { getTitleBarStyle, INativeRunActionInWindowRequest, INativeRunKeybindingInWindowRequest, IWindowOpenable } from 'vs/platform/windows/common/windows'; + import { OpenContext } from 'vs/platform/windows/node/window'; + import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; +@@ -62,7 +62,7 @@ export class Menubar { + + private keybindings: { [commandId: string]: IMenubarKeybinding }; + +- private readonly fallbackMenuHandlers: { [id: string]: (menuItem: MenuItem, browserWindow: BrowserWindow | undefined, event: Event) => void } = Object.create(null); ++ private readonly fallbackMenuHandlers: { [id: string]: (menuItem: MenuItem, browserWindow: BrowserWindow | undefined, event: KeyboardEvent) => void } = Object.create(null); + + constructor( + @IUpdateService private readonly updateService: IUpdateService, +@@ -639,7 +639,7 @@ export class Menubar { + private createMenuItem(label: string, click: () => void, enabled?: boolean, checked?: boolean): MenuItem; + private createMenuItem(arg1: string, arg2: any, arg3?: boolean, arg4?: boolean): MenuItem { + const label = this.mnemonicLabel(arg1); +- const click: () => void = (typeof arg2 === 'function') ? arg2 : (menuItem: MenuItem & IMenuItemWithKeybinding, win: BrowserWindow, event: Event) => { ++ const click: () => void = (typeof arg2 === 'function') ? arg2 : (menuItem: MenuItem & IMenuItemWithKeybinding, win: BrowserWindow, event: KeyboardEvent) => { + const userSettingsLabel = menuItem ? menuItem.userSettingsLabel : null; + let commandId = arg2; + if (Array.isArray(arg2)) { +diff --git a/src/vs/platform/webview/electron-main/webviewProtocolProvider.ts b/src/vs/platform/webview/electron-main/webviewProtocolProvider.ts +index a019d267e6..ce6233924b 100644 +--- a/src/vs/platform/webview/electron-main/webviewProtocolProvider.ts ++++ b/src/vs/platform/webview/electron-main/webviewProtocolProvider.ts +@@ -125,7 +125,10 @@ export class WebviewProtocolProvider extends Disposable { + } + } + +- private async handleWebviewRequest(request: Electron.Request, callback: any) { ++ private async handleWebviewRequest( ++ request: Electron.ProtocolRequest, ++ callback: (response: string | Electron.ProtocolResponse) => void ++ ) { + try { + const uri = URI.parse(request.url); + const entry = WebviewProtocolProvider.validWebviewFilePaths.get(uri.path); +@@ -144,8 +147,8 @@ export class WebviewProtocolProvider extends Disposable { + } + + private async handleWebviewResourceRequest( +- request: Electron.Request, +- callback: (stream?: NodeJS.ReadableStream | Electron.StreamProtocolResponse | undefined) => void ++ request: Electron.ProtocolRequest, ++ callback: (stream: NodeJS.ReadableStream | Electron.ProtocolResponse) => void + ) { + try { + const uri = URI.parse(request.url); +@@ -220,14 +223,14 @@ export class WebviewProtocolProvider extends Disposable { + + if (result.type === WebviewResourceResponse.Type.AccessDenied) { + console.error('Webview: Cannot load resource outside of protocol root'); +- return callback({ data: null, statusCode: 401 }); ++ return callback({ data: undefined, statusCode: 401 }); + } + } + } catch { + // noop + } + +- return callback({ data: null, statusCode: 404 }); ++ return callback({ data: undefined, statusCode: 404 }); + } + + public didLoadResource(requestId: number, content: VSBuffer | undefined) { +diff --git a/src/vs/workbench/services/extensions/node/proxyResolver.ts b/src/vs/workbench/services/extensions/node/proxyResolver.ts +index 3050bc6e2d..80177b1fad 100644 +--- a/src/vs/workbench/services/extensions/node/proxyResolver.ts ++++ b/src/vs/workbench/services/extensions/node/proxyResolver.ts +@@ -498,7 +498,7 @@ async function readWindowsCaCertificates() { + const winCA = await import('vscode-windows-ca-certs'); + + let ders: any[] = []; +- const store = winCA(); ++ const store = new winCA.Crypt32(); + try { + let der: any; + while (der = store.next()) { +diff --git a/yarn.lock b/yarn.lock +index dd5e3e4eea..8adc7c55ed 100644 +--- a/yarn.lock ++++ b/yarn.lock +@@ -141,15 +141,14 @@ + to-fast-properties "^2.0.0" + + "@electron/get@^1.0.1": +- version "1.12.2" +- resolved "https://registry.yarnpkg.com/@electron/get/-/get-1.12.2.tgz#6442066afb99be08cefb9a281e4b4692b33764f3" +- integrity sha512-vAuHUbfvBQpYTJ5wB7uVIDq5c/Ry0fiTBMs7lnEYAo/qXXppIVcWdfBr57u6eRnKdVso7KSiH6p/LbQAG6Izrg== ++ version "1.7.2" ++ resolved "https://registry.yarnpkg.com/@electron/get/-/get-1.7.2.tgz#286436a9fb56ff1a1fcdf0e80131fd65f4d1e0fd" ++ integrity sha512-LSE4LZGMjGS9TloDx0yO44D2UTbaeKRk+QjlhWLiQlikV6J4spgDCjb6z4YIcqmPAwNzlNCnWF4dubytwI+ATA== + dependencies: + debug "^4.1.1" + env-paths "^2.2.0" + fs-extra "^8.1.0" + got "^9.6.0" +- progress "^2.0.3" + sanitize-filename "^1.6.2" + sumchecker "^3.0.1" + optionalDependencies: +@@ -279,9 +278,9 @@ + integrity sha512-CBgLNk4o3XMnqMc0rhb6lc77IwShMEglz05deDcn2lQxyXEZivfwgYJu7SMha9V5XcrP6qZuevTHV/QrN2vjKQ== + + "@types/node@^12.0.12": +- version "12.19.7" +- resolved "https://registry.yarnpkg.com/@types/node/-/node-12.19.7.tgz#cf8b6ac088dd9182ac9a1d765f787a8d12490c04" +- integrity sha512-zvjOU1g4CpPilbTDUATnZCUb/6lARMRAqzT7ILwl1P3YvU2leEcZ2+fw9+Jrw/paXB1CgQyXTrN4hWDtqT9O2A== ++ version "12.12.24" ++ resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.24.tgz#d4606afd8cf6c609036b854360367d1b2c78931f" ++ integrity sha512-1Ciqv9pqwVtW6FsIUKSZNB82E5Cu1I2bBTj1xuIHXLe/1zYLl3956Nbhg2MzSYHVfl9/rmanjbQIb7LibfCnug== + + "@types/node@^12.11.7": + version "12.12.14" +@@ -1312,10 +1311,10 @@ boolbase@~1.0.0: + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= + +-boolean@^3.0.1: +- version "3.0.2" +- resolved "https://registry.yarnpkg.com/boolean/-/boolean-3.0.2.tgz#df1baa18b6a2b0e70840475e1d93ec8fe75b2570" +- integrity sha512-RwywHlpCRc3/Wh81MiCKun4ydaIFyW5Ea6JbL6sRCVx5q5irDw7pMXBUFYF/jArQ6YrG36q0kpovc9P/Kd3I4g== ++boolean@^3.0.0: ++ version "3.0.0" ++ resolved "https://registry.yarnpkg.com/boolean/-/boolean-3.0.0.tgz#fab78d5907dbae6216ab46d32733bb7b76b99e76" ++ integrity sha512-OElxJ1lUSinuoUnkpOgLmxp0DC4ytEhODEL6QJU0NpxE/mI4rUSh8h1P1Wkvfi3xQEBcxXR2gBIPNYNuaFcAbQ== + + boom@4.x.x: + version "4.3.1" +@@ -2114,7 +2113,7 @@ concat-map@0.0.1: + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +-concat-stream@^1.5.0, concat-stream@^1.6.0, concat-stream@^1.6.2: ++concat-stream@1.6.2, concat-stream@^1.5.0, concat-stream@^1.6.0: + version "1.6.2" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== +@@ -2237,10 +2236,10 @@ copy-webpack-plugin@^4.5.2: + p-limit "^1.0.0" + serialize-javascript "^1.4.0" + +-core-js@^3.6.5: +- version "3.8.0" +- resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.8.0.tgz#0fc2d4941cadf80538b030648bb64d230b4da0ce" +- integrity sha512-W2VYNB0nwQQE7tKS7HzXd7r2y/y2SVJl4ga6oH/dnaLFzM0o2lB2P3zCkWj5Wc/zyMYjtgd5Hmhk0ObkQFZOIA== ++core-js@^3.4.1: ++ version "3.6.1" ++ resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.6.1.tgz#39d5e2e346258cc01eb7d44345b1c3c014ca3f05" ++ integrity sha512-186WjSik2iTGfDjfdCZAxv2ormxtKgemjC3SI6PL31qOA0j5LhTDVjHChccoc7brwLvpvLPiMyRlcO88C4l1QQ== + + core-util-is@1.0.2, core-util-is@~1.0.0: + version "1.0.2" +@@ -2476,6 +2475,13 @@ debug@2.2.0: + dependencies: + ms "0.7.1" + ++debug@2.6.9, debug@^2.1.2, debug@^2.2.0, debug@^2.3.3: ++ version "2.6.9" ++ resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" ++ integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== ++ dependencies: ++ ms "2.0.0" ++ + debug@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" +@@ -2490,13 +2496,6 @@ debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: + dependencies: + ms "^2.1.1" + +-debug@^2.1.2, debug@^2.2.0, debug@^2.3.3, debug@^2.6.9: +- version "2.6.9" +- resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" +- integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== +- dependencies: +- ms "2.0.0" +- + debug@^3.1.0: + version "3.2.6" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" +@@ -2571,9 +2570,9 @@ defaults@^1.0.3: + clone "^1.0.2" + + defer-to-connect@^1.0.1: +- version "1.1.3" +- resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" +- integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== ++ version "1.1.1" ++ resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.1.tgz#88ae694b93f67b81815a2c8c769aef6574ac8f2f" ++ integrity sha512-J7thop4u3mRTkYRQ+Vpfwy2G5Ehoy82I14+14W4YMDLKdWloI9gSzRbV30s/NckQGVJtPkWNcW4oMAUigTdqiQ== + + define-properties@^1.1.2, define-properties@^1.1.3: + version "1.1.3" +@@ -2858,10 +2857,10 @@ electron-to-chromium@^1.2.7: + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.27.tgz#78ecb8a399066187bb374eede35d9c70565a803d" + integrity sha1-eOy4o5kGYYe7N07t412ccFZagD0= + +-electron@9.3.5: +- version "9.3.5" +- resolved "https://registry.yarnpkg.com/electron/-/electron-9.3.5.tgz#7967146b81e6d9b484773243fd4a4f671a50b884" +- integrity sha512-EPmDsp7sO0UPtw7nLD1ufse/nBskP+ifXzBgUg9psCUlapkzuwYi6pmLAzKLW/bVjwgyUKwh1OKWILWfOeLGcQ== ++electron@11.0.3: ++ version "11.0.3" ++ resolved "https://registry.yarnpkg.com/electron/-/electron-11.0.3.tgz#c29eaacda38ce561890e59906ca5f507c72b3ec4" ++ integrity sha512-nNfbLi7Q1xfJXOEO2adck5TS6asY4Jxc332E4Te8XfQ9hcaC3GiCdeEqk9FndNCwxhJA5Lr9jfSGRTwWebFa/w== + dependencies: + "@electron/get" "^1.0.1" + "@types/node" "^12.0.12" +@@ -3042,10 +3041,10 @@ escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.3, escape-string-regexp@^ + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +-escape-string-regexp@^4.0.0: +- version "4.0.0" +- resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" +- integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== ++escape-string-regexp@^2.0.0: ++ version "2.0.0" ++ resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" ++ integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + + eslint-plugin-jsdoc@^19.1.0: + version "19.1.0" +@@ -3421,14 +3420,14 @@ extglob@^2.0.4: + to-regex "^3.0.1" + + extract-zip@^1.0.3: +- version "1.7.0" +- resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.7.0.tgz#556cc3ae9df7f452c493a0cfb51cc30277940927" +- integrity sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA== ++ version "1.6.7" ++ resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.6.7.tgz#a840b4b8af6403264c8db57f4f1a74333ef81fe9" ++ integrity sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k= + dependencies: +- concat-stream "^1.6.2" +- debug "^2.6.9" +- mkdirp "^0.5.4" +- yauzl "^2.10.0" ++ concat-stream "1.6.2" ++ debug "2.6.9" ++ mkdirp "0.5.1" ++ yauzl "2.4.1" + + extract-zip@^2.0.1: + version "2.0.1" +@@ -4092,17 +4091,17 @@ glob@^7.1.4, glob@^7.1.6: + path-is-absolute "^1.0.0" + + global-agent@^2.0.2: +- version "2.1.12" +- resolved "https://registry.yarnpkg.com/global-agent/-/global-agent-2.1.12.tgz#e4ae3812b731a9e81cbf825f9377ef450a8e4195" +- integrity sha512-caAljRMS/qcDo69X9BfkgrihGUgGx44Fb4QQToNQjsiWh+YlQ66uqYVAdA8Olqit+5Ng0nkz09je3ZzANMZcjg== ++ version "2.1.7" ++ resolved "https://registry.yarnpkg.com/global-agent/-/global-agent-2.1.7.tgz#12d7bc2b07cd862d0fa76b0f1b2c48cd5ffcf150" ++ integrity sha512-ooK7eqGYZku+LgnbfH/Iv0RJ74XfhrBZDlke1QSzcBt0bw1PmJcnRADPAQuFE+R45pKKDTynAr25SBasY2kvow== + dependencies: +- boolean "^3.0.1" +- core-js "^3.6.5" ++ boolean "^3.0.0" ++ core-js "^3.4.1" + es6-error "^4.1.1" +- matcher "^3.0.0" +- roarr "^2.15.3" +- semver "^7.3.2" +- serialize-error "^7.0.1" ++ matcher "^2.0.0" ++ roarr "^2.14.5" ++ semver "^6.3.0" ++ serialize-error "^5.0.0" + + global-modules@^1.0.0: + version "1.0.0" +@@ -4167,7 +4166,7 @@ globals@^12.1.0: + dependencies: + type-fest "^0.8.1" + +-globalthis@^1.0.1: ++globalthis@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.1.tgz#40116f5d9c071f9e8fb0037654df1ab3a83b7ef9" + integrity sha512-mJPRTc/P39NH/iNG4mXa9aIhNymaQikTrnspeCa2ZuJ+mH2QN/rXwtX3XwKrHqWgUQFbNZKtHM105aHzJalElw== +@@ -4683,9 +4682,9 @@ html-escaper@^2.0.0: + readable-stream "^2.0.2" + + http-cache-semantics@^4.0.0: +- version "4.1.0" +- resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" +- integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== ++ version "4.0.3" ++ resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz#495704773277eeef6e43f9ab2c2c7d259dda25c5" ++ integrity sha512-TcIMG3qeVLgDr1TEd2XvHaTnMPwYQUQMIBLy+5pLSDKYFc7UIqj39w8EGzZkaxoLv/l2K8HaI0t5AVA+YYgUew== + + http-proxy-agent@^2.1.0: + version "2.1.0" +@@ -5942,12 +5941,12 @@ matchdep@^2.0.0: + resolve "^1.4.0" + stack-trace "0.0.10" + +-matcher@^3.0.0: +- version "3.0.0" +- resolved "https://registry.yarnpkg.com/matcher/-/matcher-3.0.0.tgz#bd9060f4c5b70aa8041ccc6f80368760994f30ca" +- integrity sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng== ++matcher@^2.0.0: ++ version "2.1.0" ++ resolved "https://registry.yarnpkg.com/matcher/-/matcher-2.1.0.tgz#64e1041c15b993e23b786f93320a7474bf833c28" ++ integrity sha512-o+nZr+vtJtgPNklyeUKkkH42OsK8WAfdgaJE2FNxcjLPg+5QbeEoT6vRj8Xq/iv18JlQ9cmKsEu0b94ixWf1YQ== + dependencies: +- escape-string-regexp "^4.0.0" ++ escape-string-regexp "^2.0.0" + + math-expression-evaluator@^1.2.14: + version "1.2.17" +@@ -6110,7 +6109,12 @@ mimic-fn@^2.0.0, mimic-fn@^2.1.0: + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +-mimic-response@^1.0.0, mimic-response@^1.0.1: ++mimic-response@^1.0.0: ++ version "1.0.0" ++ resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.0.tgz#df3d3652a73fded6b9b0b24146e6fd052353458e" ++ integrity sha1-3z02Uqc/3ta5sLJBRub9BSNTRY4= ++ ++mimic-response@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" + integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== +@@ -6252,7 +6256,7 @@ mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkd + dependencies: + minimist "0.0.8" + +-mkdirp@^0.5.3, mkdirp@^0.5.4: ++mkdirp@^0.5.3: + version "0.5.5" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" + integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== +@@ -6431,12 +6435,7 @@ node-abi@^2.19.1, node-abi@^2.7.0: + dependencies: + semver "^5.4.1" + +-node-addon-api@1.6.2: +- version "1.6.2" +- resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.6.2.tgz#d8aad9781a5cfc4132cc2fecdbdd982534265217" +- integrity sha512-479Bjw9nTE5DdBSZZWprFryHGjUaQC31y1wHo19We/k0BZlrmhqQitWoUL0cD8+scljCbIUL+E58oRDEakdGGA== +- +-node-addon-api@^3.0.0: ++node-addon-api@^3.0.0, node-addon-api@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.0.2.tgz#04bc7b83fd845ba785bb6eae25bc857e1ef75681" + integrity sha512-+D4s2HCnxPd5PjjI0STKwncjXTUKKqm74MDMz9OPXavjsGmjkvwgLtA5yoxJUdmpj52+2u+RrXgPipahKczMKg== +@@ -6502,10 +6501,10 @@ node-pre-gyp@^0.10.0: + semver "^5.3.0" + tar "^4" + +-node-pty@0.10.0-beta17: +- version "0.10.0-beta17" +- resolved "https://registry.yarnpkg.com/node-pty/-/node-pty-0.10.0-beta17.tgz#962d4a3f4dc6772385e0cad529c209cef3bc79e6" +- integrity sha512-tn7EANQacnAvnOQCImvgag1DL0tVmUoY/1yIZbh3u/BBpvCcGHLZJNn7TXheodRLr6hmGSUS2VbfcUr9p0gOug== ++node-pty@0.10.0-beta18: ++ version "0.10.0-beta18" ++ resolved "https://registry.yarnpkg.com/node-pty/-/node-pty-0.10.0-beta18.tgz#7ed2d3f4a06b2b23fe2abdf5b41655e9dffc25d5" ++ integrity sha512-vpK4yB3A3VzgkvdOWegL7GcPapt45jfA4b3ejUe8k4RmqdWBRvFJngew8T3qAxmLhTkfo93psaN6izTlfkc6FA== + dependencies: + nan "^2.14.0" + +@@ -8368,14 +8367,14 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: + hash-base "^3.0.0" + inherits "^2.0.1" + +-roarr@^2.15.3: +- version "2.15.4" +- resolved "https://registry.yarnpkg.com/roarr/-/roarr-2.15.4.tgz#f5fe795b7b838ccfe35dc608e0282b9eba2e7afd" +- integrity sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A== ++roarr@^2.14.5: ++ version "2.14.6" ++ resolved "https://registry.yarnpkg.com/roarr/-/roarr-2.14.6.tgz#cebe8ad7ecbfd15bfa37b02dacf00809dd633912" ++ integrity sha512-qjbw0BEesKA+3XFBPt+KVe1PC/Z6ShfJ4wPlx2XifqH5h2Lj8/KQT5XJTsy3n1Es5kai+BwKALaECW3F70B1cg== + dependencies: +- boolean "^3.0.1" ++ boolean "^3.0.0" + detect-node "^2.0.4" +- globalthis "^1.0.1" ++ globalthis "^1.0.0" + json-stringify-safe "^5.0.1" + semver-compare "^1.0.0" + sprintf-js "^1.1.2" +@@ -8528,12 +8527,12 @@ semver@^7.3.2: + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" + integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== + +-serialize-error@^7.0.1: +- version "7.0.1" +- resolved "https://registry.yarnpkg.com/serialize-error/-/serialize-error-7.0.1.tgz#f1360b0447f61ffb483ec4157c737fab7d778e18" +- integrity sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw== ++serialize-error@^5.0.0: ++ version "5.0.0" ++ resolved "https://registry.yarnpkg.com/serialize-error/-/serialize-error-5.0.0.tgz#a7ebbcdb03a5d71a6ed8461ffe0fc1a1afed62ac" ++ integrity sha512-/VtpuyzYf82mHYTtI4QKtwHa79vAdU5OQpNPAmE/0UDdlGT0ZxHwC+J6gXkw29wwoVI8fMPsfcVHOwXtUQYYQA== + dependencies: +- type-fest "^0.13.1" ++ type-fest "^0.8.0" + + serialize-javascript@^1.4.0: + version "1.5.0" +@@ -9573,12 +9572,7 @@ type-check@~0.3.2: + dependencies: + prelude-ls "~1.1.2" + +-type-fest@^0.13.1: +- version "0.13.1" +- resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934" +- integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== +- +-type-fest@^0.8.1: ++type-fest@^0.8.0, type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== +@@ -10083,12 +10077,12 @@ vscode-textmate@5.2.0: + resolved "https://registry.yarnpkg.com/vscode-textmate/-/vscode-textmate-5.2.0.tgz#01f01760a391e8222fe4f33fbccbd1ad71aed74e" + integrity sha512-Uw5ooOQxRASHgu6C7GVvUxisKXfSgW4oFlO+aa+PAkgmH89O3CXxEEzNRNtHSqtXFTl0nAC1uYj0GMSH27uwtQ== + +-vscode-windows-ca-certs@0.2.0: +- version "0.2.0" +- resolved "https://registry.yarnpkg.com/vscode-windows-ca-certs/-/vscode-windows-ca-certs-0.2.0.tgz#086f0f4de57e2760a35ac6920831bff246237115" +- integrity sha512-YBrJRT0zos+Yb1Qdn73GD8QZr7pa2IE96b5Y1hmmp6XeR8aYB7Iiq5gDAF/+/AxL+caSR9KPZQ6jiYWh5biD7w== ++vscode-windows-ca-certs@^0.3.0: ++ version "0.3.0" ++ resolved "https://registry.yarnpkg.com/vscode-windows-ca-certs/-/vscode-windows-ca-certs-0.3.0.tgz#324e1f8ba842bbf048a39e7c0ee8fe655e9adfcc" ++ integrity sha512-CYrpCEKmAFQJoZNReOrelNL+VKyebOVRCqL9evrBlVcpWQDliliJgU5RggGS8FPGtQ3jAKLQt9frF0qlxYYPKA== + dependencies: +- node-addon-api "1.6.2" ++ node-addon-api "^3.0.2" + + vscode-windows-registry@1.0.3: + version "1.0.3" +@@ -10558,6 +10552,13 @@ yaserver@^0.2.0: + resolved "https://registry.yarnpkg.com/yaserver/-/yaserver-0.2.0.tgz#56393027dc13f3c1bb89d20e0bd17269aa927802" + integrity sha512-onsELrl7Y42M4P3T9R0N/ZJNJRu4cGwzhDyOWIFRMJvPUIrGKInYGh+DJBefrbr1qoyDu7DSCLl9BL5hSSVfDA== + ++yauzl@2.4.1: ++ version "2.4.1" ++ resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.4.1.tgz#9528f442dab1b2284e58b4379bb194e22e0c4005" ++ integrity sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU= ++ dependencies: ++ fd-slicer "~1.0.1" ++ + yauzl@^2.10.0, yauzl@^2.9.2: + version "2.10.0" + resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" +-- +2.30.0 + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..f14ff7ff3945 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,161 @@ +# Maintainer: Daniel Playfair Cal <daniel.playfair.cal gmail com> +# Contributor: Filipe Laíns (FFY00) <lains@archlinux.org> +# Contributor: Michael Hansen <zrax0111 gmail com> +# Contributor: Francisco Magalhães <franmagneto gmail com> + +pkgname=code-wayland +pkgdesc='The Open Source build of Visual Studio Code (vscode) editor, with ozone enabled for wayland support' +# Important: Remember to check https://github.com/microsoft/vscode/wiki/How-to-Contribute#prerequisites for target node version +# NodeJS versioning cheatsheet: +# - carbon: 8 +# - dubnium: 10 +# - ?: 11 (not in repos) +# - erbium: 12 +# Important: Remember to check https://github.com/microsoft/vscode/blob/master/.yarnrc (choose correct tag) for target electron version +_electron=electron # 11 +pkgver=1.52.1 +pkgrel=1 +arch=('x86_64') +url='https://github.com/microsoft/vscode' +license=('MIT') +depends=('electron-ozone' 'libsecret' 'libx11' 'libxkbfile' 'ripgrep') +optdepends=('bash-completion: Bash completions' + 'zsh-completions: ZSH completitons' + 'x11-ssh-askpass: SSH authentication') +makedepends=('git' 'gulp' 'npm' 'python2' 'yarn' 'nodejs-lts-erbium') +provides=('vscode') +conflicts=('code') +source=("$pkgname::git+$url.git#tag=$pkgver" + 'code.js' + 'code.sh' + 'product_json.diff' + '0001-chore-bump-electron-11.0.3-111931.patch') +sha512sums=('SKIP' + '814c9554427183cd893a33cd2cbe91f6e0ea71921ef0717c86217b1d3058d265f9ff7a9ace3e7b76f122e60b7686475cf4d999e581a1845face3033afb9f745f' + 'aec825628bf1911731fbe79cf8cc4c1b61cbb956567e1d6616ff187668ad986324551d29a7ff7462b9d5a1f91d236dd0fea2c39ca36aeae88917c07303aaf2d2' + '1a89170ac5ee6b0b19d4b981e6037c86cfcaf30ceb2910550d42ba8cf442d3f735438205fd6f54558ea1223714c719ced676193e6b625762af0c4bcfaddd9461' + 'cd64cc93dafc537034bd9a69b9d77ab8e0350b7a05b464ee9efd91c55248f5888c89b968d7293d9a61c4963b6748980b717eb5ad3c55de261c5f767893924a38') + +# Even though we don't officially support other archs, let's +# allow the user to use this PKGBUILD to compile the package +# for his architecture +case "$CARCH" in + i686) + _vscode_arch=ia32 + ;; + x86_64) + _vscode_arch=x64 + ;; + armv7h) + _vscode_arch=arm + ;; + *) + # Needed for mksrcinfo + _vscode_arch=DUMMY + ;; +esac + +prepare() { + cd $pkgname + + # Change electron binary name to the target electron + sed -i "s|exec electron |exec $_electron |" ../code.sh + + # Make extensions and live share work + patch -Np1 -i ../product_json.diff + + # Backport the update from electron 9->11, for better wayland support. + patch -Np1 -i ../0001-chore-bump-electron-11.0.3-111931.patch + + # Set the commit and build date + local _commit=$(git rev-parse HEAD) + local _datestamp=$(date -u -Is | sed 's/\+00:00/Z/') + sed -e "s/@COMMIT@/$_commit/" -e "s/@DATE@/$_datestamp/" -i product.json + + # Build native modules for system electron + local _target=$(</usr/lib/$_electron/version) + sed -i "s/^target .*/target \"${_target//v/}\"/" .yarnrc + + # Patch appdata and desktop file + sed -i 's|/usr/share/@@NAME@@/@@NAME@@|@@NAME@@|g + s|@@NAME_SHORT@@|Code|g + s|@@NAME_LONG@@|Code - wayland|g + s|@@NAME@@|code-wayland|g + s|@@ICON@@|com.visualstudio.code.wayland|g + s|@@EXEC@@|/usr/bin/code-wayland|g + s|@@LICENSE@@|MIT|g + s|@@URLPROTOCOL@@|vscode|g + s|inode/directory;||' resources/linux/code{.appdata.xml,.desktop,-url-handler.desktop} + + sed -i 's|MimeType=.*|MimeType=x-scheme-handler/code-wayland;|' resources/linux/code-url-handler.desktop + + # Add completitions for code-wayland + cp resources/completions/bash/code resources/completions/bash/code-wayland + cp resources/completions/zsh/_code resources/completions/zsh/_code-wayland + + # Patch completitions with correct names + sed -i 's|@@APPNAME@@|code|g' resources/completions/{bash/code,zsh/_code} + sed -i 's|@@APPNAME@@|code-wayland|g' resources/completions/{bash/code-wayland,zsh/_code-wayland} + + # Fix bin path + sed -i "s|return path.join(path.dirname(execPath), 'bin', \`\${product.applicationName}\`);|return '/usr/bin/code';|g + s|return path.join(appRoot, 'scripts', 'code-cli.sh');|return '/usr/bin/code';|g" \ + src/vs/platform/environment/node/environmentService.ts +} + +build() { + # https://github.com/mapbox/node-sqlite3/issues/1044 + mkdir -p path + ln -sf /usr/bin/python2 path/python + export PATH="$PWD/path:$PATH" + + cd $pkgname + + yarn install --arch=$_vscode_arch + + # The default memory limit may be too low for current versions of node + # to successfully build vscode. Change it if this number still doesn't + # work for your system. + mem_limit="--max_old_space_size=6144" + + if ! /usr/bin/node $mem_limit /usr/bin/gulp vscode-linux-$_vscode_arch-min + then + echo + echo "*** NOTE: If the build failed due to running out of file handles (EMFILE)," + echo "*** you will need to raise your max open file limit." + echo "*** You can check this for more information on how to increase this limit:" + echo "*** https://ro-che.info/articles/2017-03-26-increase-open-files-limit" + exit 1 + fi +} + +package() { + # Install resource files + install -dm 755 "$pkgdir"/usr/lib/$pkgname + cp -r --no-preserve=ownership --preserve=mode VSCode-linux-$_vscode_arch/resources/app/* "$pkgdir"/usr/lib/$pkgname/ + + # Replace statically included binary with system copy + ln -sf /usr/bin/rg "$pkgdir"/usr/lib/$pkgname/node_modules.asar.unpacked/vscode-ripgrep/bin/rg + + # Install binary + install -Dm 755 code.sh "$pkgdir"/usr/bin/code-wayland + install -Dm 755 code.js "$pkgdir"/usr/lib/$pkgname/code.js + ln -sf /usr/bin/code-wayland "$pkgdir"/usr/bin/code + + # Install appdata and desktop file + install -Dm 644 $pkgname/resources/linux/code.appdata.xml "$pkgdir"/usr/share/metainfo/code-wayland.appdata.xml + install -Dm 644 $pkgname/resources/linux/code.desktop "$pkgdir"/usr/share/applications/code-wayland.desktop + install -Dm 644 $pkgname/resources/linux/code-url-handler.desktop "$pkgdir"/usr/share/applications/code-wayland-url-handler.desktop + install -Dm 644 VSCode-linux-$_vscode_arch/resources/app/resources/linux/code.png "$pkgdir"/usr/share/pixmaps/com.visualstudio.code.wayland.png + + # Install bash and zsh completions + install -Dm 644 $pkgname/resources/completions/bash/code "$pkgdir"/usr/share/bash-completion/completions/code + install -Dm 644 $pkgname/resources/completions/bash/code-wayland "$pkgdir"/usr/share/bash-completion/completions/code-wayland + install -Dm 644 $pkgname/resources/completions/zsh/_code "$pkgdir"/usr/share/zsh/site-functions/_code + install -Dm 644 $pkgname/resources/completions/zsh/_code-wayland "$pkgdir"/usr/share/zsh/site-functions/_code-wayland + + # Install license files + install -Dm 644 VSCode-linux-$_vscode_arch/resources/app/LICENSE.txt "$pkgdir"/usr/share/licenses/$pkgname/LICENSE + install -Dm 644 VSCode-linux-$_vscode_arch/resources/app/ThirdPartyNotices.txt "$pkgdir"/usr/share/licenses/$pkgname/ThirdPartyNotices.txt +} + diff --git a/code-liveshare.diff b/code-liveshare.diff new file mode 100644 index 000000000000..ba8912565a89 --- /dev/null +++ b/code-liveshare.diff @@ -0,0 +1,12 @@ +diff --git a/product.json b/product.json +index b250c66fc4..8a9befcfbb 100644 +--- a/product.json ++++ b/product.json +@@ -19,6 +19,7 @@ + "reportIssueUrl": "https://github.com/Microsoft/vscode/issues/new", + "urlProtocol": "code-oss", + "extensionAllowedProposedApi": [ ++ "ms-vsliveshare.vsliveshare", + "ms-vscode.references-view" + ], + "quality": "stable", diff --git a/code.js b/code.js new file mode 100644 index 000000000000..b4f03774c883 --- /dev/null +++ b/code.js @@ -0,0 +1,29 @@ +#!/usr/bin/electron + +const name = 'code-oss'; + +const app = require('electron').app; +const path = require('path'); +const fs = require("fs"); + +// Change command name. +const fd = fs.openSync("/proc/self/comm", fs.constants.O_WRONLY); +fs.writeSync(fd, name); +fs.closeSync(fd); + +// Remove first command line argument (/usr/lib/code/code.js). - We call the CLI file first +process.argv.splice(0, 1); + +// Set application paths. +const appPath = __dirname; +const packageJson = require(path.join(appPath, 'package.json')); +app.setAppPath(appPath); +app.setDesktopName(name + '.desktop'); +app.setName(name); +app.setPath('userCache', path.join(app.getPath('cache'), name)); +app.setPath('userData', path.join(app.getPath('appData'), name)); +app.setVersion(packageJson.version); + +// Run the application. +require('module')._load(appPath, module, true); + diff --git a/code.sh b/code.sh new file mode 100644 index 000000000000..4a4827a30bb5 --- /dev/null +++ b/code.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +if [ "${XDG_SESSION_TYPE}" == "wayland" ]; then + ELECTRON_RUN_AS_NODE=1 exec electron /usr/lib/code-wayland/out/cli.js /usr/lib/code-wayland/code.js --enable-features=UseOzonePlatform --ozone-platform=wayland "$@" +else + ELECTRON_RUN_AS_NODE=1 exec electron /usr/lib/code-wayland/out/cli.js /usr/lib/code-wayland/code.js "$@" +fi diff --git a/product_json.diff b/product_json.diff new file mode 100644 index 000000000000..22c3fa596574 --- /dev/null +++ b/product_json.diff @@ -0,0 +1,52 @@ +diff --git a/product.json b/product.json +index 207bcf8f512..3eb22d78dcb 100644 +--- a/product.json ++++ b/product.json +@@ -1,8 +1,21 @@ + { +- "nameShort": "Code - OSS", +- "nameLong": "Code - OSS", +- "applicationName": "code-oss", +- "dataFolderName": ".vscode-oss", ++ "quality": "stable", ++ "extensionsGallery": { ++ "serviceUrl": "https://marketplace.visualstudio.com/_apis/public/gallery", ++ "cacheUrl": "https://vscode.blob.core.windows.net/gallery/index", ++ "itemUrl": "https://marketplace.visualstudio.com/items" ++ }, ++ "documentationUrl": "https://code.visualstudio.com/docs", ++ "requestFeatureUrl": "https://github.com/Microsoft/vscode/issues", ++ "introductoryVideosUrl": "https://go.microsoft.com/fwlink/?linkid=832146", ++ "tipsAndTricksUrl": "https://go.microsoft.com/fwlink/?linkid=852118", ++ "keyboardShortcutsUrlLinux": "https://go.microsoft.com/fwlink/?linkid=832144", ++ "commit": "ea3859d4ba2f3e577a159bc91e3074c5d85c0523", ++ "date": "2021-01-20T11:41:28Z", ++ "nameShort": "Code - Wayland", ++ "nameLong": "Code - Wayland", ++ "applicationName": "code-wayland", ++ "dataFolderName": ".vscode-wayland", + "win32MutexName": "vscodeoss", + "licenseName": "MIT", + "licenseUrl": "https://github.com/microsoft/vscode/blob/master/LICENSE.txt", +@@ -18,15 +31,18 @@ + "win32AppUserModelId": "Microsoft.CodeOSS", + "win32ShellNameShort": "C&ode - OSS", + "darwinBundleIdentifier": "com.visualstudio.code.oss", +- "linuxIconName": "com.visualstudio.code.oss", ++ "linuxIconName": "com.visualstudio.code.wayland", + "licenseFileName": "LICENSE.txt", + "reportIssueUrl": "https://github.com/microsoft/vscode/issues/new", +- "urlProtocol": "code-oss", ++ "urlProtocol": "code-wayland", + "extensionAllowedProposedApi": [ + "ms-vscode.vscode-js-profile-flame", + "ms-vscode.vscode-js-profile-table", + "ms-vscode.github-browser", +- "ms-vscode.github-richnav" ++ "ms-vscode.github-richnav", ++ "ms-vsliveshare.vsliveshare", ++ "ms-vscode.node-debug", ++ "ms-vscode.node-debug2" + ], + "builtInExtensions": [ + { |