mirror of
https://github.com/VSCodium/vscodium.git
synced 2024-11-22 23:29:18 +03:00
feat: preparing for 1.86 (#1802)
This commit is contained in:
parent
799b71046d
commit
d490b06bdb
9
.github/workflows/insider-linux.yml
vendored
9
.github/workflows/insider-linux.yml
vendored
@ -23,6 +23,7 @@ on:
|
||||
env:
|
||||
APP_NAME: VSCodium
|
||||
ASSETS_REPOSITORY: ${{ github.repository }}-insiders
|
||||
BINARY_NAME: codium-insiders
|
||||
GITHUB_BRANCH: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || 'insider' }}
|
||||
OS_NAME: linux
|
||||
VERSIONS_REPOSITORY: ${{ github.repository_owner }}/versions
|
||||
@ -114,16 +115,16 @@ jobs:
|
||||
include:
|
||||
- vscode_arch: x64
|
||||
npm_arch: x64
|
||||
image: vscodium/vscodium-linux-build-agent:focal-x64
|
||||
image: vscodium/vscodium-linux-build-agent:bionic-x64
|
||||
- vscode_arch: arm64
|
||||
npm_arch: arm64
|
||||
image: vscodium/vscodium-linux-build-agent:focal-arm64
|
||||
image: vscodium/vscodium-linux-build-agent:bionic-arm64
|
||||
- vscode_arch: armhf
|
||||
npm_arch: arm
|
||||
image: vscodium/vscodium-linux-build-agent:focal-armhf
|
||||
image: vscodium/vscodium-linux-build-agent:bionic-armhf
|
||||
- vscode_arch: ppc64le
|
||||
npm_arch: ppc64
|
||||
image: vscodium/vscodium-linux-build-agent:focal-ppc64le
|
||||
image: vscodium/vscodium-linux-build-agent:bionic-ppc64le
|
||||
container:
|
||||
image: ${{ matrix.image }}
|
||||
env:
|
||||
|
9
.github/workflows/stable-linux.yml
vendored
9
.github/workflows/stable-linux.yml
vendored
@ -26,6 +26,7 @@ on:
|
||||
env:
|
||||
APP_NAME: VSCodium
|
||||
ASSETS_REPOSITORY: ${{ github.repository }}
|
||||
BINARY_NAME: codium
|
||||
OS_NAME: linux
|
||||
VERSIONS_REPOSITORY: ${{ github.repository_owner }}/versions
|
||||
VSCODE_QUALITY: stable
|
||||
@ -118,16 +119,16 @@ jobs:
|
||||
include:
|
||||
- vscode_arch: x64
|
||||
npm_arch: x64
|
||||
image: vscodium/vscodium-linux-build-agent:focal-x64
|
||||
image: vscodium/vscodium-linux-build-agent:bionic-x64
|
||||
- vscode_arch: arm64
|
||||
npm_arch: arm64
|
||||
image: vscodium/vscodium-linux-build-agent:focal-arm64
|
||||
image: vscodium/vscodium-linux-build-agent:bionic-arm64
|
||||
- vscode_arch: armhf
|
||||
npm_arch: arm
|
||||
image: vscodium/vscodium-linux-build-agent:focal-armhf
|
||||
image: vscodium/vscodium-linux-build-agent:bionic-armhf
|
||||
- vscode_arch: ppc64le
|
||||
npm_arch: ppc64
|
||||
image: vscodium/vscodium-linux-build-agent:focal-ppc64le
|
||||
image: vscodium/vscodium-linux-build-agent:bionic-ppc64le
|
||||
container:
|
||||
image: ${{ matrix.image }}
|
||||
env:
|
||||
|
2
.gitignore
vendored
2
.gitignore
vendored
@ -8,9 +8,11 @@ assets/
|
||||
build/linux/appimage/out
|
||||
build/linux/appimage/pkg2appimage.AppDir
|
||||
build/linux/appimage/pkg2appimage-*.AppImage
|
||||
build/linux/appimage/pkg2appimage.AppImage
|
||||
build/linux/appimage/squashfs-root
|
||||
build/linux/appimage/VSCodium
|
||||
build/windows/msi/releasedir
|
||||
build/windows/msi/Files*.wxs
|
||||
build/windows/msi/Files*.wixobj
|
||||
remote-dependencies.tar
|
||||
stores/snapcraft/.build
|
||||
|
1
.nvmrc.linux
Normal file
1
.nvmrc.linux
Normal file
@ -0,0 +1 @@
|
||||
16.20
|
@ -6,6 +6,7 @@
|
||||
###
|
||||
|
||||
export APP_NAME="VSCodium"
|
||||
export BINARY_NAME="codium"
|
||||
export CI_BUILD="no"
|
||||
export SHOULD_BUILD="yes"
|
||||
export SKIP_ASSETS="yes"
|
||||
@ -13,10 +14,12 @@ export SKIP_BUILD="no"
|
||||
export SKIP_SOURCE="no"
|
||||
export VSCODE_LATEST="no"
|
||||
export VSCODE_QUALITY="stable"
|
||||
export VSCODE_SKIP_NODE_VERSION_CHECK="yes"
|
||||
|
||||
while getopts ":ilops" opt; do
|
||||
case "$opt" in
|
||||
i)
|
||||
export BINARY_NAME="codium-insiders"
|
||||
export VSCODE_QUALITY="insider"
|
||||
;;
|
||||
l)
|
||||
|
@ -239,6 +239,13 @@ if [[ "${ASSETS}" != "null" ]]; then
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "arm64.snap" ) ]]; then
|
||||
echo "Building on Linux arm64 because we have no Snap"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_SNAP="no"
|
||||
fi
|
||||
|
||||
export SHOULD_BUILD_APPIMAGE="no"
|
||||
|
||||
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||
@ -276,6 +283,7 @@ if [[ "${ASSETS}" != "null" ]]; then
|
||||
fi
|
||||
|
||||
export SHOULD_BUILD_APPIMAGE="no"
|
||||
export SHOULD_BUILD_SNAP="no"
|
||||
|
||||
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||
echo "Already have all the Linux arm builds"
|
||||
@ -283,9 +291,10 @@ if [[ "${ASSETS}" != "null" ]]; then
|
||||
|
||||
# linux-ppc64le
|
||||
elif [[ "${VSCODE_ARCH}" == "ppc64le" ]]; then
|
||||
SHOULD_BUILD_DEB="no"
|
||||
SHOULD_BUILD_APPIMAGE="no"
|
||||
SHOULD_BUILD_DEB="no"
|
||||
SHOULD_BUILD_RPM="no"
|
||||
SHOULD_BUILD_SNAP="no"
|
||||
SHOULD_BUILD_TAR="no"
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-reh-linux-ppc64le-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
@ -322,13 +331,19 @@ if [[ "${ASSETS}" != "null" ]]; then
|
||||
export SHOULD_BUILD_TAR="no"
|
||||
fi
|
||||
|
||||
# if [[ -z $( contains "x86_64.AppImage" ) ]]; then
|
||||
# echo "Building on Linux x64 because we have no AppImage"
|
||||
# export SHOULD_BUILD="yes"
|
||||
# else
|
||||
# export SHOULD_BUILD_APPIMAGE="no"
|
||||
# fi
|
||||
export SHOULD_BUILD_APPIMAGE="no"
|
||||
if [[ -z $( contains "x86_64.AppImage" ) ]]; then
|
||||
echo "Building on Linux x64 because we have no AppImage"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_APPIMAGE="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "amd64.snap" ) ]]; then
|
||||
echo "Building on Linux x64 because we have no Snap"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_SNAP="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-reh-linux-x64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux x64 because we have no REH archive"
|
||||
@ -348,12 +363,16 @@ else
|
||||
elif [[ "${OS_NAME}" == "linux" ]]; then
|
||||
if [[ "${VSCODE_ARCH}" == "ppc64le" ]]; then
|
||||
SHOULD_BUILD_DEB="no"
|
||||
SHOULD_BUILD_APPIMAGE="no"
|
||||
SHOULD_BUILD_RPM="no"
|
||||
SHOULD_BUILD_SNAP="no"
|
||||
SHOULD_BUILD_TAR="no"
|
||||
elif [[ "${VSCODE_ARCH}" != "x64" ]]; then
|
||||
fi
|
||||
if [[ "${VSCODE_ARCH}" != "x64" ]]; then
|
||||
export SHOULD_BUILD_APPIMAGE="no"
|
||||
fi
|
||||
if [[ "${VSCODE_ARCH}" != "arm64" && "${VSCODE_ARCH}" != "x64" ]]; then
|
||||
export SHOULD_BUILD_SNAP="no"
|
||||
fi
|
||||
elif [[ "${OS_NAME}" == "windows" ]]; then
|
||||
if [[ "${VSCODE_ARCH}" == "arm64" ]]; then
|
||||
export SHOULD_BUILD_REH="no"
|
||||
@ -375,6 +394,7 @@ echo "SHOULD_BUILD_MSI=${SHOULD_BUILD_MSI}" >> "${GITHUB_ENV}"
|
||||
echo "SHOULD_BUILD_MSI_NOUP=${SHOULD_BUILD_MSI_NOUP}" >> "${GITHUB_ENV}"
|
||||
echo "SHOULD_BUILD_REH=${SHOULD_BUILD_REH}" >> "${GITHUB_ENV}"
|
||||
echo "SHOULD_BUILD_RPM=${SHOULD_BUILD_RPM}" >> "${GITHUB_ENV}"
|
||||
echo "SHOULD_BUILD_SNAP=${SHOULD_BUILD_SNAP}" >> "${GITHUB_ENV}"
|
||||
echo "SHOULD_BUILD_TAR=${SHOULD_BUILD_TAR}" >> "${GITHUB_ENV}"
|
||||
echo "SHOULD_BUILD_ZIP=${SHOULD_BUILD_ZIP}" >> "${GITHUB_ENV}"
|
||||
echo "SHOULD_BUILD_SRC=${SHOULD_BUILD_SRC}" >> "${GITHUB_ENV}"
|
||||
|
@ -25,3 +25,4 @@ The following extensions are not compatible with VSCodium due to their licensing
|
||||
The following extensions are functional replacements for incompatible extensions:
|
||||
|
||||
- [Open Remote - SSH](https://open-vsx.org/extension/jeanp413/open-remote-ssh)
|
||||
- [Open Remote - WSL](https://open-vsx.org/extension/jeanp413/open-remote-wsl)
|
||||
|
@ -17,31 +17,31 @@
|
||||
|
||||
## <a id="dependencies"></a>Dependencies
|
||||
|
||||
- node 16
|
||||
- node 18.15
|
||||
- yarn
|
||||
- jq
|
||||
- git
|
||||
- python3 3.11
|
||||
|
||||
### <a id="dependencies-linux"></a>Linux
|
||||
|
||||
- GCC
|
||||
- gcc
|
||||
- g++
|
||||
- make
|
||||
- pkg-config
|
||||
- libx11-dev
|
||||
- libxkbfile-dev
|
||||
- libsecret-1-dev
|
||||
- libkrb5-dev
|
||||
- fakeroot
|
||||
- rpm
|
||||
- rpmbuild
|
||||
- dpkg
|
||||
- python3
|
||||
- imagemagick (for AppImage)
|
||||
|
||||
### <a id="dependencies-macos"></a>MacOS
|
||||
- imagemagick
|
||||
- png2icns (`npm install png2icns -g`)
|
||||
- librsvg
|
||||
|
||||
see [the common dependencies](#dependencies)
|
||||
|
||||
### <a id="dependencies-windows"></a>Windows
|
||||
|
||||
@ -49,8 +49,7 @@
|
||||
- sed
|
||||
- 7z
|
||||
- [WiX Toolset](http://wixtoolset.org/releases/)
|
||||
- python3
|
||||
- 'Tools for Native Modules' from hte official Node.js installer
|
||||
- 'Tools for Native Modules' from the official Node.js installer
|
||||
|
||||
## <a id="build-scripts"></a>Build Scripts
|
||||
|
||||
@ -66,6 +65,16 @@ The `insider` version can be built with `./build/build.sh -i` on the `insider` b
|
||||
|
||||
You can try the latest version with the command `./build/build.sh -il` but the patches might not be up to date.
|
||||
|
||||
### Flags
|
||||
|
||||
The script `build/build.sh` provides several flags:
|
||||
|
||||
- `-i`: build the Insiders version
|
||||
- `-l`: build with latest version of Visual Studio Code
|
||||
- `-o`: skip the build step
|
||||
- `-p`: generate the packages/assets/installers
|
||||
- `-s`: do not retrieve the source code of Visual Studio Code, it won't delete the existing build
|
||||
|
||||
## <a id="build-docker"></a>Build in Docker
|
||||
|
||||
To build for Linux, you can alternatively build VSCodium in docker
|
||||
@ -147,3 +156,11 @@ review-tools.snap-review --allow-classic codium*.snap
|
||||
- run `yarn watch`
|
||||
- run `./script/code.sh` until everything is ok
|
||||
- run `git diff > ../patches/<name>.patch`
|
||||
|
||||
### <a id="icons"></a>icons/build_icons.sh
|
||||
|
||||
To run `icons/build_icons.sh`, you will need:
|
||||
|
||||
- imagemagick
|
||||
- png2icns (`npm install png2icns -g`)
|
||||
- librsvg
|
||||
|
@ -1,4 +1,4 @@
|
||||
{
|
||||
"tag": "1.87.0",
|
||||
"commit": "2af613979f646fc4dcebfeaedc7d14f138c7b072"
|
||||
"tag": "1.86.0",
|
||||
"commit": "05047486b6df5eb8d44b2ecd70ea3bdf775fd937"
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git a/extensions/configuration-editing/src/configurationEditingMain.ts b/extensions/configuration-editing/src/configurationEditingMain.ts
|
||||
index f791557..04f138d 100644
|
||||
index 30e7fd4..76eae3c 100644
|
||||
--- a/extensions/configuration-editing/src/configurationEditingMain.ts
|
||||
+++ b/extensions/configuration-editing/src/configurationEditingMain.ts
|
||||
@@ -54,4 +54,4 @@ function registerVariableCompletions(pattern: string): vscode.Disposable {
|
||||
@ -354,27 +354,27 @@ index 6259b15..385797a 100644
|
||||
+ "comment": "The simpler (?<=\\bProcess\\.|\\bCommandLine\\.) breaks VSCodium / Atom, see https://github.com/textmate/swift.tmbundle/issues/29",
|
||||
"name": "support.variable.swift",
|
||||
diff --git a/extensions/typescript-language-features/package.nls.json b/extensions/typescript-language-features/package.nls.json
|
||||
index 796b524..ee7235f 100644
|
||||
index 0bd09aa..965c131 100644
|
||||
--- a/extensions/typescript-language-features/package.nls.json
|
||||
+++ b/extensions/typescript-language-features/package.nls.json
|
||||
@@ -74,4 +74,4 @@
|
||||
@@ -84,4 +84,4 @@
|
||||
"configuration.tsserver.experimental.enableProjectDiagnostics": "(Experimental) Enables project wide error reporting.",
|
||||
- "typescript.locale": "Sets the locale used to report JavaScript and TypeScript errors. Defaults to use VS Code's locale.",
|
||||
- "typescript.locale.auto": "Use VS Code's configured display language",
|
||||
+ "typescript.locale": "Sets the locale used to report JavaScript and TypeScript errors. Defaults to use VSCodium's locale.",
|
||||
+ "typescript.locale.auto": "Use VSCodium's configured display language",
|
||||
"configuration.implicitProjectConfig.module": "Sets the module system for the program. See more: https://www.typescriptlang.org/tsconfig#module.",
|
||||
@@ -158,3 +158,3 @@
|
||||
@@ -168,3 +168,3 @@
|
||||
"typescript.workspaceSymbols.excludeLibrarySymbols": "Exclude symbols that come from library files in Go to Symbol in Workspace results. Requires using TypeScript 5.3+ in the workspace.",
|
||||
- "typescript.updateImportsOnFileMove.enabled": "Enable/disable automatic updating of import paths when you rename or move a file in VS Code.",
|
||||
+ "typescript.updateImportsOnFileMove.enabled": "Enable/disable automatic updating of import paths when you rename or move a file in VSCodium.",
|
||||
"typescript.updateImportsOnFileMove.enabled.prompt": "Prompt on each rename.",
|
||||
@@ -164,3 +164,3 @@
|
||||
@@ -174,3 +174,3 @@
|
||||
"typescript.suggest.enabled": "Enabled/disable autocomplete suggestions.",
|
||||
- "configuration.surveys.enabled": "Enabled/disable occasional surveys that help us improve VS Code's JavaScript and TypeScript support.",
|
||||
+ "configuration.surveys.enabled": "Enabled/disable occasional surveys that help us improve VSCodium's JavaScript and TypeScript support.",
|
||||
"configuration.suggest.completeJSDocs": "Enable/disable suggestion to complete JSDoc comments.",
|
||||
@@ -216,5 +216,5 @@
|
||||
@@ -226,5 +226,5 @@
|
||||
"configuration.suggest.objectLiteralMethodSnippets.enabled": "Enable/disable snippet completions for methods in object literals.",
|
||||
- "configuration.tsserver.web.projectWideIntellisense.enabled": "Enable/disable project-wide IntelliSense on web. Requires that VS Code is running in a trusted context.",
|
||||
+ "configuration.tsserver.web.projectWideIntellisense.enabled": "Enable/disable project-wide IntelliSense on web. Requires that VSCodium is running in a trusted context.",
|
||||
@ -382,7 +382,7 @@ index 796b524..ee7235f 100644
|
||||
- "configuration.tsserver.nodePath": "Run TS Server on a custom Node installation. This can be a path to a Node executable, or 'node' if you want VS Code to detect a Node installation.",
|
||||
+ "configuration.tsserver.nodePath": "Run TS Server on a custom Node installation. This can be a path to a Node executable, or 'node' if you want VSCodium to detect a Node installation.",
|
||||
"configuration.experimental.tsserver.web.typeAcquisition.enabled": "Enable/disable package acquisition on the web.",
|
||||
@@ -229,6 +229,6 @@
|
||||
@@ -239,6 +239,6 @@
|
||||
"walkthroughs.nodejsWelcome.debugJsFile.title": "Run and Debug your JavaScript",
|
||||
- "walkthroughs.nodejsWelcome.debugJsFile.description": "Once you've installed Node.js, you can run JavaScript programs at a terminal by entering ``node your-file-name.js``\nAnother easy way to run Node.js programs is by using VS Code's debugger which lets you run your code, pause at different points, and help you understand what's going on step-by-step.\n[Start Debugging](command:javascript-walkthrough.commands.debugJsFile)",
|
||||
+ "walkthroughs.nodejsWelcome.debugJsFile.description": "Once you've installed Node.js, you can run JavaScript programs at a terminal by entering ``node your-file-name.js``\nAnother easy way to run Node.js programs is by using VSCodium's debugger which lets you run your code, pause at different points, and help you understand what's going on step-by-step.\n[Start Debugging](command:javascript-walkthrough.commands.debugJsFile)",
|
||||
@ -438,7 +438,7 @@ index 0796bef..f8061fa 100644
|
||||
+ vscode.l10n.t("The JS/TS language service crashed.\nThis may be caused by a plugin contributed by one of these extensions: {0}.\nPlease try disabling these extensions before filing an issue against VSCodium.", pluginExtensionList));
|
||||
} else {
|
||||
diff --git a/extensions/vscode-api-tests/package.json b/extensions/vscode-api-tests/package.json
|
||||
index abb85f8..fcac1b0 100644
|
||||
index fc973ba..59f0076 100644
|
||||
--- a/extensions/vscode-api-tests/package.json
|
||||
+++ b/extensions/vscode-api-tests/package.json
|
||||
@@ -2,3 +2,3 @@
|
||||
@ -525,22 +525,22 @@ index 6f02aa6..6dbb371 100644
|
||||
+ this.logService.debug('Starting VSCodium');
|
||||
this.logService.debug(`from: ${this.environmentMainService.appRoot}`);
|
||||
diff --git a/src/vs/code/electron-sandbox/issue/issueReporterService.ts b/src/vs/code/electron-sandbox/issue/issueReporterService.ts
|
||||
index 82de2be..7dc25b4 100644
|
||||
index 1924ff8..6e3ea1d 100644
|
||||
--- a/src/vs/code/electron-sandbox/issue/issueReporterService.ts
|
||||
+++ b/src/vs/code/electron-sandbox/issue/issueReporterService.ts
|
||||
@@ -800,3 +800,3 @@ export class IssueReporter extends Disposable {
|
||||
@@ -798,3 +798,3 @@ export class IssueReporter extends Disposable {
|
||||
hide(descriptionTextArea);
|
||||
- reset(descriptionTitle, localize('handlesIssuesElsewhere', "This extension handles issues outside of VS Code"));
|
||||
+ reset(descriptionTitle, localize('handlesIssuesElsewhere', "This extension handles issues outside of VSCodium"));
|
||||
reset(descriptionSubtitle, localize('elsewhereDescription', "The '{0}' extension prefers to use an external issue reporter. To be taken to that issue reporting experience, click the button below.", selectedExtension.displayName));
|
||||
diff --git a/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.ts b/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.ts
|
||||
index 64f4b30..26dccf9 100644
|
||||
index 2dfd230..5ef5694 100644
|
||||
--- a/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.ts
|
||||
+++ b/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.ts
|
||||
@@ -19,3 +19,3 @@ export class ToggleTabFocusModeAction extends Action2 {
|
||||
id: ToggleTabFocusModeAction.ID,
|
||||
- title: nls.localize2({ key: 'toggle.tabMovesFocus', comment: ['Turn on/off use of tab key for moving focus around VS Code'] }, 'Toggle Tab Key Moves Focus'),
|
||||
+ title: nls.localize2({ key: 'toggle.tabMovesFocus', comment: ['Turn on/off use of tab key for moving focus around VSCodium'] }, 'Toggle Tab Key Moves Focus'),
|
||||
- title: { value: nls.localize({ key: 'toggle.tabMovesFocus', comment: ['Turn on/off use of tab key for moving focus around VS Code'] }, 'Toggle Tab Key Moves Focus'), original: 'Toggle Tab Key Moves Focus' },
|
||||
+ title: { value: nls.localize({ key: 'toggle.tabMovesFocus', comment: ['Turn on/off use of tab key for moving focus around VSCodium'] }, 'Toggle Tab Key Moves Focus'), original: 'Toggle Tab Key Moves Focus' },
|
||||
precondition: undefined,
|
||||
diff --git a/src/vs/platform/contextkey/common/contextkeys.ts b/src/vs/platform/contextkey/common/contextkeys.ts
|
||||
index 296245b..cf03674 100644
|
||||
@ -552,7 +552,7 @@ index 296245b..cf03674 100644
|
||||
+export const ProductQualityContext = new RawContextKey<string>('productQualityType', '', localize('productQualityType', "Quality type of VSCodium"));
|
||||
|
||||
diff --git a/src/vs/platform/extensionManagement/node/extensionManagementService.ts b/src/vs/platform/extensionManagement/node/extensionManagementService.ts
|
||||
index 217d772..09022c8 100644
|
||||
index c713791..fad2850 100644
|
||||
--- a/src/vs/platform/extensionManagement/node/extensionManagementService.ts
|
||||
+++ b/src/vs/platform/extensionManagement/node/extensionManagementService.ts
|
||||
@@ -151,3 +151,3 @@ export class ExtensionManagementService extends AbstractExtensionManagementServi
|
||||
@ -565,12 +565,12 @@ index 217d772..09022c8 100644
|
||||
- throw new Error(nls.localize('removeError', "Error while removing the extension: {0}. Please Quit and Start VS Code before trying again.", toErrorMessage(e)));
|
||||
+ throw new Error(nls.localize('removeError', "Error while removing the extension: {0}. Please Quit and Start VSCodium before trying again.", toErrorMessage(e)));
|
||||
}
|
||||
@@ -987,3 +987,3 @@ class InstallVSIXTask extends InstallExtensionTask {
|
||||
@@ -981,3 +981,3 @@ class InstallVSIXTask extends InstallExtensionTask {
|
||||
} catch (e) {
|
||||
- throw new Error(nls.localize('restartCode', "Please restart VS Code before reinstalling {0}.", this.manifest.displayName || this.manifest.name));
|
||||
+ throw new Error(nls.localize('restartCode', "Please restart VSCodium before reinstalling {0}.", this.manifest.displayName || this.manifest.name));
|
||||
}
|
||||
@@ -1000,3 +1000,3 @@ class InstallVSIXTask extends InstallExtensionTask {
|
||||
@@ -994,3 +994,3 @@ class InstallVSIXTask extends InstallExtensionTask {
|
||||
} catch (e) {
|
||||
- throw new Error(nls.localize('restartCode', "Please restart VS Code before reinstalling {0}.", this.manifest.displayName || this.manifest.name));
|
||||
+ throw new Error(nls.localize('restartCode', "Please restart VSCodium before reinstalling {0}.", this.manifest.displayName || this.manifest.name));
|
||||
@ -632,10 +632,10 @@ index 6695c4b..e46be6e 100644
|
||||
+ console.error('Unable to connect to VSCodium server: ' + message);
|
||||
console.error(err);
|
||||
diff --git a/src/vs/workbench/api/browser/viewsExtensionPoint.ts b/src/vs/workbench/api/browser/viewsExtensionPoint.ts
|
||||
index 03ab97c..6c2f974 100644
|
||||
index c51db51..4ddc16c 100644
|
||||
--- a/src/vs/workbench/api/browser/viewsExtensionPoint.ts
|
||||
+++ b/src/vs/workbench/api/browser/viewsExtensionPoint.ts
|
||||
@@ -48,3 +48,3 @@ const viewsContainerSchema: IJSONSchema = {
|
||||
@@ -49,3 +49,3 @@ const viewsContainerSchema: IJSONSchema = {
|
||||
id: {
|
||||
- description: localize({ key: 'vscode.extension.contributes.views.containers.id', comment: ['Contribution refers to those that an extension contributes to VS Code through an extension/contribution point. '] }, "Unique id used to identify the container in which views can be contributed using 'views' contribution point"),
|
||||
+ description: localize({ key: 'vscode.extension.contributes.views.containers.id', comment: ['Contribution refers to those that an extension contributes to VSCodium through an extension/contribution point. '] }, "Unique id used to identify the container in which views can be contributed using 'views' contribution point"),
|
||||
@ -668,7 +668,7 @@ index 806a6b6..3ea5aa5 100644
|
||||
+ test('Opening a notebook results in VSCodium firing the event onDidChangeActiveNotebookEditor twice #118470', function () {
|
||||
let count = 0;
|
||||
diff --git a/src/vs/workbench/browser/workbench.contribution.ts b/src/vs/workbench/browser/workbench.contribution.ts
|
||||
index c0f3952..a85e147 100644
|
||||
index c3ec65e..170b994 100644
|
||||
--- a/src/vs/workbench/browser/workbench.contribution.ts
|
||||
+++ b/src/vs/workbench/browser/workbench.contribution.ts
|
||||
@@ -610,3 +610,3 @@ const registry = Registry.as<IConfigurationRegistry>(ConfigurationExtensions.Con
|
||||
@ -695,7 +695,7 @@ index 8b49ea2..308dc4a 100644
|
||||
+ template.navbar.push(ExtensionEditorTab.Contributions, localize('contributions', "Feature Contributions"), localize('contributionstooltip', "Lists contributions to VSCodium by this extension"));
|
||||
}
|
||||
diff --git a/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts b/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts
|
||||
index aeb392d..95dbac9 100644
|
||||
index 2254a20..5a8f04e 100644
|
||||
--- a/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts
|
||||
+++ b/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts
|
||||
@@ -300,3 +300,3 @@ CommandsRegistry.registerCommand({
|
||||
@ -724,7 +724,7 @@ index aeb392d..95dbac9 100644
|
||||
+ const message = requireReload ? localize('InstallVSIXAction.successReload', "Completed installing {0} extension from VSIX. Please reload VSCodium to enable it.", extension.displayName || extension.name)
|
||||
: localize('InstallVSIXAction.success', "Completed installing {0} extension from VSIX.", extension.displayName || extension.name);
|
||||
diff --git a/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts b/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts
|
||||
index af3bd7f..53587ae 100644
|
||||
index eed284e..232eb7a 100644
|
||||
--- a/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts
|
||||
+++ b/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts
|
||||
@@ -103,3 +103,3 @@ export class PromptExtensionInstallFailureAction extends Action {
|
||||
@ -739,8 +739,8 @@ index af3bd7f..53587ae 100644
|
||||
|
||||
@@ -768,3 +768,3 @@ export class UninstallAction extends ExtensionAction {
|
||||
await this.extensionsWorkbenchService.uninstall(this.extension);
|
||||
- alert(localize('uninstallExtensionComplete', "Please reload Visual Studio Code to complete the uninstallation of the extension {0}.", this.extension.displayName));
|
||||
+ alert(localize('uninstallExtensionComplete', "Please reload VSCodium to complete the uninstallation of the extension {0}.", this.extension.displayName));
|
||||
- alert(localize('uninstallExtensionComplete', "Please reload Visual Studio Code to complete the uninstallation of the extension {0}.", this.extension!.displayName));
|
||||
+ alert(localize('uninstallExtensionComplete', "Please reload VSCodium to complete the uninstallation of the extension {0}.", this.extension!.displayName));
|
||||
} catch (error) {
|
||||
@@ -2316,3 +2316,3 @@ export class ExtensionStatusAction extends ExtensionAction {
|
||||
const link = `[${localize('settings', "settings")}](${URI.parse(`command:workbench.action.openSettings?${encodeURIComponent(JSON.stringify([this.extension.deprecationInfo.settings.map(setting => `@id:${setting}`).join(' ')]))}`)})`;
|
||||
@ -758,7 +758,7 @@ index af3bd7f..53587ae 100644
|
||||
+ const message = requireReload ? localize('ReinstallAction.successReload', "Please reload VSCodium to complete reinstalling the extension {0}.", extension.identifier.id)
|
||||
: localize('ReinstallAction.success', "Reinstalling the extension {0} is completed.", extension.identifier.id);
|
||||
diff --git a/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts b/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts
|
||||
index 7787578..40d6864 100644
|
||||
index bb3f66c..5d01908 100644
|
||||
--- a/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts
|
||||
+++ b/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts
|
||||
@@ -360,3 +360,3 @@ export class Extension implements IExtension {
|
||||
@ -782,22 +782,22 @@ index 7787578..40d6864 100644
|
||||
+ return nls.localize('postUpdateTooltip', "Please reload VSCodium to enable the updated extension.");
|
||||
}
|
||||
@@ -1141,3 +1141,3 @@ export class ExtensionsWorkbenchService extends Disposable implements IExtension
|
||||
if (runningExtensionServer === this.extensionManagementServerService.remoteExtensionManagementServer && this.extensionManifestPropertiesService.prefersExecuteOnUI(extension.local.manifest) && extensionInOtherServer.server === this.extensionManagementServerService.localExtensionManagementServer) {
|
||||
if (runningExtensionServer === this.extensionManagementServerService.remoteExtensionManagementServer && this.extensionManifestPropertiesService.prefersExecuteOnUI(extension.local!.manifest) && extensionInOtherServer.server === this.extensionManagementServerService.localExtensionManagementServer) {
|
||||
- return nls.localize('enable locally', "Please reload Visual Studio Code to enable this extension locally.");
|
||||
+ return nls.localize('enable locally', "Please reload VSCodium to enable this extension locally.");
|
||||
}
|
||||
@@ -1146,3 +1146,3 @@ export class ExtensionsWorkbenchService extends Disposable implements IExtension
|
||||
if (runningExtensionServer === this.extensionManagementServerService.localExtensionManagementServer && this.extensionManifestPropertiesService.prefersExecuteOnWorkspace(extension.local.manifest) && extensionInOtherServer.server === this.extensionManagementServerService.remoteExtensionManagementServer) {
|
||||
if (runningExtensionServer === this.extensionManagementServerService.localExtensionManagementServer && this.extensionManifestPropertiesService.prefersExecuteOnWorkspace(extension.local!.manifest) && extensionInOtherServer.server === this.extensionManagementServerService.remoteExtensionManagementServer) {
|
||||
- return nls.localize('enable remote', "Please reload Visual Studio Code to enable this extension in {0}.", this.extensionManagementServerService.remoteExtensionManagementServer?.label);
|
||||
+ return nls.localize('enable remote', "Please reload VSCodium to enable this extension in {0}.", this.extensionManagementServerService.remoteExtensionManagementServer?.label);
|
||||
}
|
||||
@@ -1156,3 +1156,3 @@ export class ExtensionsWorkbenchService extends Disposable implements IExtension
|
||||
if (this.extensionManifestPropertiesService.prefersExecuteOnUI(extension.local.manifest)) {
|
||||
if (this.extensionManifestPropertiesService.prefersExecuteOnUI(extension.local!.manifest)) {
|
||||
- return nls.localize('postEnableTooltip', "Please reload Visual Studio Code to enable this extension.");
|
||||
+ return nls.localize('postEnableTooltip', "Please reload VSCodium to enable this extension.");
|
||||
}
|
||||
@@ -1162,3 +1162,3 @@ export class ExtensionsWorkbenchService extends Disposable implements IExtension
|
||||
if (this.extensionManifestPropertiesService.prefersExecuteOnWorkspace(extension.local.manifest)) {
|
||||
if (this.extensionManifestPropertiesService.prefersExecuteOnWorkspace(extension.local!.manifest)) {
|
||||
- return nls.localize('postEnableTooltip', "Please reload Visual Studio Code to enable this extension.");
|
||||
+ return nls.localize('postEnableTooltip', "Please reload VSCodium to enable this extension.");
|
||||
}
|
||||
@ -831,7 +831,7 @@ index 3e8cd71..6142f61 100644
|
||||
+ '\t// List of extensions recommended by VSCodium that should not be recommended for users of this workspace.',
|
||||
'\t"unwantedRecommendations": [',
|
||||
diff --git a/src/vs/workbench/contrib/externalTerminal/electron-sandbox/externalTerminal.contribution.ts b/src/vs/workbench/contrib/externalTerminal/electron-sandbox/externalTerminal.contribution.ts
|
||||
index e58341f..0146ef9 100644
|
||||
index 7b36ebb..d4c9602 100644
|
||||
--- a/src/vs/workbench/contrib/externalTerminal/electron-sandbox/externalTerminal.contribution.ts
|
||||
+++ b/src/vs/workbench/contrib/externalTerminal/electron-sandbox/externalTerminal.contribution.ts
|
||||
@@ -107,3 +107,3 @@ export class ExternalTerminalContribution implements IWorkbenchContribution {
|
||||
@ -866,7 +866,7 @@ index 568c39f..7660d3f 100644
|
||||
+ patternErrorMessage: localize('vscode.extension.contributes.localizations.translations.id.pattern', "Id should be `vscode` or in format `publisherId.extensionName` for translating VSCodium or an extension respectively.")
|
||||
},
|
||||
diff --git a/src/vs/workbench/contrib/preferences/browser/keyboardLayoutPicker.ts b/src/vs/workbench/contrib/preferences/browser/keyboardLayoutPicker.ts
|
||||
index 6d1349a..4905782 100644
|
||||
index fdbef87..0f6a6fa 100644
|
||||
--- a/src/vs/workbench/contrib/preferences/browser/keyboardLayoutPicker.ts
|
||||
+++ b/src/vs/workbench/contrib/preferences/browser/keyboardLayoutPicker.ts
|
||||
@@ -95,4 +95,4 @@ interface IUnknownLayout {
|
||||
@ -877,10 +877,10 @@ index 6d1349a..4905782 100644
|
||||
+ `// ${nls.localize('doc', 'Open VSCodium and run "Developer: Inspect Key Mappings (JSON)" from Command Palette.')}`,
|
||||
``,
|
||||
diff --git a/src/vs/workbench/contrib/remoteTunnel/electron-sandbox/remoteTunnel.contribution.ts b/src/vs/workbench/contrib/remoteTunnel/electron-sandbox/remoteTunnel.contribution.ts
|
||||
index 305f9ba..f4f2ee2 100644
|
||||
index a1123af..e040bb7 100644
|
||||
--- a/src/vs/workbench/contrib/remoteTunnel/electron-sandbox/remoteTunnel.contribution.ts
|
||||
+++ b/src/vs/workbench/contrib/remoteTunnel/electron-sandbox/remoteTunnel.contribution.ts
|
||||
@@ -559,3 +559,3 @@ export class RemoteTunnelWorkbenchContribution extends Disposable implements IWo
|
||||
@@ -563,3 +563,3 @@ export class RemoteTunnelWorkbenchContribution extends Disposable implements IWo
|
||||
},
|
||||
- "You can now access this machine anywhere via the secure tunnel [{0}](command:{4}). To connect via a different machine, use the generated [{1}]({2}) link or use the [{6}]({7}) extension in the desktop or web. You can [configure](command:{3}) or [turn off](command:{5}) this access via the VS Code Accounts menu.",
|
||||
+ "You can now access this machine anywhere via the secure tunnel [{0}](command:{4}). To connect via a different machine, use the generated [{1}]({2}) link or use the [{6}]({7}) extension in the desktop or web. You can [configure](command:{3}) or [turn off](command:{5}) this access via the VSCodium Accounts menu.",
|
||||
@ -895,10 +895,10 @@ index b24d91f..a098a62 100644
|
||||
+ const message = await this.tasExperimentService?.getTreatment<string>('CESSurveyMessage') ?? nls.localize('cesSurveyQuestion', 'Got a moment to help the VSCodium team? Please tell us about your experience with VSCodium so far.');
|
||||
const button = await this.tasExperimentService?.getTreatment<string>('CESSurveyButton') ?? nls.localize('giveFeedback', "Give Feedback");
|
||||
diff --git a/src/vs/workbench/contrib/tasks/browser/abstractTaskService.ts b/src/vs/workbench/contrib/tasks/browser/abstractTaskService.ts
|
||||
index 27f92a6..4298f45 100644
|
||||
index d96c5ab..2078244 100644
|
||||
--- a/src/vs/workbench/contrib/tasks/browser/abstractTaskService.ts
|
||||
+++ b/src/vs/workbench/contrib/tasks/browser/abstractTaskService.ts
|
||||
@@ -3164,3 +3164,3 @@ export abstract class AbstractTaskService extends Disposable implements ITaskSer
|
||||
@@ -3161,3 +3161,3 @@ export abstract class AbstractTaskService extends Disposable implements ITaskSer
|
||||
if (response.code && response.code === TerminateResponseCode.ProcessNotFound) {
|
||||
- this._notificationService.error(nls.localize('TerminateAction.noProcess', 'The launched process doesn\'t exist anymore. If the task spawned background tasks exiting VS Code might result in orphaned processes.'));
|
||||
+ this._notificationService.error(nls.localize('TerminateAction.noProcess', 'The launched process doesn\'t exist anymore. If the task spawned background tasks exiting VSCodium might result in orphaned processes.'));
|
||||
@ -1008,7 +1008,7 @@ index 2117ec5..6ad1388 100644
|
||||
+ localize({ key: 'newThemeNotification', comment: ['{0} is the name of the new default theme'] }, "VSCodium now ships with a new default theme '{0}'. Do you want to give it a try?", theme.label),
|
||||
choices,
|
||||
diff --git a/src/vs/workbench/contrib/update/browser/update.ts b/src/vs/workbench/contrib/update/browser/update.ts
|
||||
index d57afcd..43c0249 100644
|
||||
index b0ada2a..b922fc7 100644
|
||||
--- a/src/vs/workbench/contrib/update/browser/update.ts
|
||||
+++ b/src/vs/workbench/contrib/update/browser/update.ts
|
||||
@@ -555,4 +555,4 @@ export class SwitchProductQualityContribution extends Disposable implements IWor
|
||||
@ -1024,7 +1024,7 @@ index d57afcd..43c0249 100644
|
||||
+ detail: nls.localize('selectSyncService.detail', "The Insiders version of VSCodium will synchronize your settings, keybindings, extensions, snippets and UI State using separate insiders settings sync service by default."),
|
||||
buttons: [
|
||||
diff --git a/src/vs/workbench/contrib/url/browser/trustedDomainsFileSystemProvider.ts b/src/vs/workbench/contrib/url/browser/trustedDomainsFileSystemProvider.ts
|
||||
index c5c2258..fb5045b 100644
|
||||
index c13d93e..206e46a 100644
|
||||
--- a/src/vs/workbench/contrib/url/browser/trustedDomainsFileSystemProvider.ts
|
||||
+++ b/src/vs/workbench/contrib/url/browser/trustedDomainsFileSystemProvider.ts
|
||||
@@ -55,3 +55,3 @@ function computeTrustedDomainContent(defaultTrustedDomains: string[], trustedDom
|
||||
@ -1038,7 +1038,7 @@ index c5c2258..fb5045b 100644
|
||||
+ content += `// By default, VSCodium trusts "localhost".\n`;
|
||||
}
|
||||
diff --git a/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts b/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts
|
||||
index a804657..5378d4c 100644
|
||||
index 3d0ae3e..6b3dd83 100644
|
||||
--- a/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts
|
||||
+++ b/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts
|
||||
@@ -310,3 +310,3 @@ configurationRegistry.registerConfiguration({
|
||||
@ -1161,15 +1161,15 @@ index e3fe20c..b879dca 100644
|
||||
+Well if you have got this far then you will have touched on some of the editing features in VSCodium. But don't stop now :) We have lots of additional [documentation](https://code.visualstudio.com/docs), [introductory videos](https://code.visualstudio.com/docs/getstarted/introvideos) and [tips and tricks](https://go.microsoft.com/fwlink/?linkid=852118) for the product that will help you learn how to use it. And while you are here, here are a few additional things you can try:
|
||||
- Open the Integrated Terminal by pressing kb(workbench.action.terminal.toggleTerminal), then see what's possible by [reviewing the terminal documentation](https://code.visualstudio.com/docs/editor/integrated-terminal)
|
||||
diff --git a/src/vs/workbench/contrib/workspace/browser/workspace.contribution.ts b/src/vs/workbench/contrib/workspace/browser/workspace.contribution.ts
|
||||
index 74f1866..3e419cb 100644
|
||||
index dbb1822..10a7f41 100644
|
||||
--- a/src/vs/workbench/contrib/workspace/browser/workspace.contribution.ts
|
||||
+++ b/src/vs/workbench/contrib/workspace/browser/workspace.contribution.ts
|
||||
@@ -735,3 +735,3 @@ Registry.as<IConfigurationRegistry>(ConfigurationExtensions.Configuration)
|
||||
@@ -731,3 +731,3 @@ Registry.as<IConfigurationRegistry>(ConfigurationExtensions.Configuration)
|
||||
default: true,
|
||||
- description: localize('workspace.trust.description', "Controls whether or not Workspace Trust is enabled within VS Code."),
|
||||
+ description: localize('workspace.trust.description', "Controls whether or not Workspace Trust is enabled within VSCodium."),
|
||||
tags: [WORKSPACE_TRUST_SETTING_TAG],
|
||||
@@ -781,3 +781,3 @@ Registry.as<IConfigurationRegistry>(ConfigurationExtensions.Configuration)
|
||||
@@ -777,3 +777,3 @@ Registry.as<IConfigurationRegistry>(ConfigurationExtensions.Configuration)
|
||||
default: true,
|
||||
- markdownDescription: localize('workspace.trust.emptyWindow.description', "Controls whether or not the empty window is trusted by default within VS Code. When used with `#{0}#`, you can enable the full functionality of VS Code without prompting in an empty window.", WORKSPACE_TRUST_UNTRUSTED_FILES),
|
||||
+ markdownDescription: localize('workspace.trust.emptyWindow.description', "Controls whether or not the empty window is trusted by default within VSCodium. When used with `#{0}#`, you can enable the full functionality of VSCodium without prompting in an empty window.", WORKSPACE_TRUST_UNTRUSTED_FILES),
|
||||
@ -1198,10 +1198,10 @@ index 5dcc2ff..8b02544 100644
|
||||
+ const productName = localize('VSCodium for Web', "{0} for the Web", this.productService.nameLong);
|
||||
const virtualWorkspaceSupport = this.extensionManifestPropertiesService.getExtensionVirtualWorkspaceSupportType(manifest);
|
||||
diff --git a/src/vs/workbench/services/extensions/browser/extensionUrlHandler.ts b/src/vs/workbench/services/extensions/browser/extensionUrlHandler.ts
|
||||
index 11e368b..537beec 100644
|
||||
index ecc45f8..30df37d 100644
|
||||
--- a/src/vs/workbench/services/extensions/browser/extensionUrlHandler.ts
|
||||
+++ b/src/vs/workbench/services/extensions/browser/extensionUrlHandler.ts
|
||||
@@ -88,3 +88,3 @@ type ExtensionUrlHandlerClassification = {
|
||||
@@ -90,3 +90,3 @@ type ExtensionUrlHandlerClassification = {
|
||||
readonly extensionId: { classification: 'PublicNonPersonalData'; purpose: 'FeatureInsight'; comment: 'The ID of the extension that should handle the URI' };
|
||||
- comment: 'This is used to understand the drop funnel of extension URI handling by the OS & VS Code.';
|
||||
+ comment: 'This is used to understand the drop funnel of extension URI handling by the OS & VSCodium.';
|
||||
@ -1265,7 +1265,7 @@ index ed8bae3..863e6dd 100644
|
||||
+ description: nls.localize('vscode.extension.scripts.uninstall', 'Uninstall hook for VSCodium extension. Script that gets executed when the extension is completely uninstalled from VSCodium which is when VSCodium is restarted (shutdown and start) after the extension is uninstalled. Only Node scripts are supported.'),
|
||||
type: 'string'
|
||||
diff --git a/src/vs/workbench/services/extensions/electron-sandbox/nativeExtensionService.ts b/src/vs/workbench/services/extensions/electron-sandbox/nativeExtensionService.ts
|
||||
index cdd507e..c390af5 100644
|
||||
index 123f189..1c73250 100644
|
||||
--- a/src/vs/workbench/services/extensions/electron-sandbox/nativeExtensionService.ts
|
||||
+++ b/src/vs/workbench/services/extensions/electron-sandbox/nativeExtensionService.ts
|
||||
@@ -174,3 +174,3 @@ export class NativeExtensionService extends AbstractExtensionService implements
|
||||
|
@ -35,7 +35,7 @@ index bfd5c89..bc84f18 100644
|
||||
+ const productJsonUpdate = { commit, date, checksums, version, release };
|
||||
|
||||
diff --git a/build/gulpfile.vscode.linux.js b/build/gulpfile.vscode.linux.js
|
||||
index 8c2b62f..098f8d9 100644
|
||||
index 8c2b62f..303fb16 100644
|
||||
--- a/build/gulpfile.vscode.linux.js
|
||||
+++ b/build/gulpfile.vscode.linux.js
|
||||
@@ -24,4 +24,2 @@ const commit = getVersion(root);
|
||||
@ -48,11 +48,13 @@ index 8c2b62f..098f8d9 100644
|
||||
- .pipe(replace('@@VERSION@@', packageJson.version + '-' + linuxPackageRevision))
|
||||
+ .pipe(replace('@@VERSION@@', `${packageJson.version}.${packageJson.release}`))
|
||||
.pipe(replace('@@ARCHITECTURE@@', debArch))
|
||||
@@ -196,2 +194,3 @@ function prepareRpmPackage(arch) {
|
||||
.pipe(replace('@@RELEASE@@', linuxPackageRevision))
|
||||
@@ -194,4 +192,3 @@ function prepareRpmPackage(arch) {
|
||||
.pipe(replace('@@ICON@@', product.linuxIconName))
|
||||
- .pipe(replace('@@VERSION@@', packageJson.version))
|
||||
- .pipe(replace('@@RELEASE@@', linuxPackageRevision))
|
||||
+ .pipe(replace('@@VERSION@@', `${packageJson.version}.${packageJson.release}`))
|
||||
.pipe(replace('@@ARCHITECTURE@@', rpmArch))
|
||||
@@ -270,3 +269,3 @@ function prepareSnapPackage(arch) {
|
||||
@@ -270,3 +267,3 @@ function prepareSnapPackage(arch) {
|
||||
.pipe(replace('@@NAME@@', product.applicationName))
|
||||
- .pipe(replace('@@VERSION@@', commit.substr(0, 8)))
|
||||
+ .pipe(replace('@@VERSION@@', `${packageJson.version}.${packageJson.release}`))
|
||||
@ -95,7 +97,7 @@ index 0be311f..d6c4a18 100644
|
||||
+ output.push(`Version: ${this.productService.nameShort} ${this.productService.version} ${this.productService.release || 'Release unknown'} (${this.productService.commit || 'Commit unknown'}, ${this.productService.date || 'Date unknown'})`);
|
||||
output.push(`OS Version: ${osLib.type()} ${osLib.arch()} ${osLib.release()}`);
|
||||
diff --git a/src/vs/platform/product/common/product.ts b/src/vs/platform/product/common/product.ts
|
||||
index 9482a2c..c3ef5bd 100644
|
||||
index 467e11c..8e7d474 100644
|
||||
--- a/src/vs/platform/product/common/product.ts
|
||||
+++ b/src/vs/platform/product/common/product.ts
|
||||
@@ -43,6 +43,7 @@ else if (globalThis._VSCODE_PRODUCT_JSON && globalThis._VSCODE_PACKAGE_JSON) {
|
||||
|
@ -1,21 +1,25 @@
|
||||
diff --git a/build/gulpfile.vscode.linux.js b/build/gulpfile.vscode.linux.js
|
||||
index 8c2b62f..4e1d6ff 100644
|
||||
index 8c2b62f..843e8d4 100644
|
||||
--- a/build/gulpfile.vscode.linux.js
|
||||
+++ b/build/gulpfile.vscode.linux.js
|
||||
@@ -302,4 +302,3 @@ BUILD_TARGETS.forEach(({ arch }) => {
|
||||
@@ -187,2 +187,3 @@ function prepareRpmPackage(arch) {
|
||||
const spec = code.pipe(es.through(
|
||||
+ null,
|
||||
async function () {
|
||||
@@ -302,4 +303,3 @@ BUILD_TARGETS.forEach(({ arch }) => {
|
||||
const prepareDebTask = task.define(`vscode-linux-${arch}-prepare-deb`, task.series(util.rimraf(`.build/linux/deb/${debArch}`), prepareDebPackage(arch)));
|
||||
- gulp.task(prepareDebTask);
|
||||
- const buildDebTask = task.define(`vscode-linux-${arch}-build-deb`, buildDebPackage(arch));
|
||||
+ const buildDebTask = task.define(`vscode-linux-${arch}-build-deb`, task.series(prepareDebTask, buildDebPackage(arch)));
|
||||
gulp.task(buildDebTask);
|
||||
@@ -308,4 +307,3 @@ BUILD_TARGETS.forEach(({ arch }) => {
|
||||
@@ -308,4 +308,3 @@ BUILD_TARGETS.forEach(({ arch }) => {
|
||||
const prepareRpmTask = task.define(`vscode-linux-${arch}-prepare-rpm`, task.series(util.rimraf(`.build/linux/rpm/${rpmArch}`), prepareRpmPackage(arch)));
|
||||
- gulp.task(prepareRpmTask);
|
||||
- const buildRpmTask = task.define(`vscode-linux-${arch}-build-rpm`, buildRpmPackage(arch));
|
||||
+ const buildRpmTask = task.define(`vscode-linux-${arch}-build-rpm`, task.series(prepareRpmTask, buildRpmPackage(arch)));
|
||||
gulp.task(buildRpmTask);
|
||||
diff --git a/build/linux/dependencies-generator.js b/build/linux/dependencies-generator.js
|
||||
index e40ed70..7bbd195 100644
|
||||
index e40ed70..3e7dbc9 100644
|
||||
--- a/build/linux/dependencies-generator.js
|
||||
+++ b/build/linux/dependencies-generator.js
|
||||
@@ -24,3 +24,3 @@ const product = require("../../product.json");
|
||||
@ -23,8 +27,13 @@ index e40ed70..7bbd195 100644
|
||||
-const FAIL_BUILD_FOR_NEW_DEPENDENCIES = true;
|
||||
+const FAIL_BUILD_FOR_NEW_DEPENDENCIES = false;
|
||||
// Based on https://source.chromium.org/chromium/chromium/src/+/refs/tags/118.0.5993.159:chrome/installer/linux/BUILD.gn;l=64-80
|
||||
@@ -56,3 +56,3 @@ async function getDependencies(packageType, buildDir, applicationName, arch) {
|
||||
// Add the tunnel binary.
|
||||
- files.push(path.join(buildDir, 'bin', product.tunnelApplicationName));
|
||||
+ // files.push(path.join(buildDir, 'bin', product.tunnelApplicationName));
|
||||
// Add the main executable.
|
||||
diff --git a/build/linux/dependencies-generator.ts b/build/linux/dependencies-generator.ts
|
||||
index 12bc3c0..3c69e43 100644
|
||||
index 12bc3c0..4c3a4ac 100644
|
||||
--- a/build/linux/dependencies-generator.ts
|
||||
+++ b/build/linux/dependencies-generator.ts
|
||||
@@ -25,3 +25,3 @@ import product = require('../../product.json');
|
||||
@ -32,6 +41,11 @@ index 12bc3c0..3c69e43 100644
|
||||
-const FAIL_BUILD_FOR_NEW_DEPENDENCIES: boolean = true;
|
||||
+const FAIL_BUILD_FOR_NEW_DEPENDENCIES: boolean = false;
|
||||
|
||||
@@ -61,3 +61,3 @@ export async function getDependencies(packageType: 'deb' | 'rpm', buildDir: stri
|
||||
// Add the tunnel binary.
|
||||
- files.push(path.join(buildDir, 'bin', product.tunnelApplicationName));
|
||||
+ // files.push(path.join(buildDir, 'bin', product.tunnelApplicationName));
|
||||
// Add the main executable.
|
||||
diff --git a/resources/linux/rpm/code.spec.template b/resources/linux/rpm/code.spec.template
|
||||
index c9e57db..bda2604 100644
|
||||
--- a/resources/linux/rpm/code.spec.template
|
||||
|
42
patches/linux/remove-reh-check.patch
Normal file
42
patches/linux/remove-reh-check.patch
Normal file
@ -0,0 +1,42 @@
|
||||
diff --git a/build/gulpfile.reh.js b/build/gulpfile.reh.js
|
||||
index df18cf0..7f485a0 100644
|
||||
--- a/build/gulpfile.reh.js
|
||||
+++ b/build/gulpfile.reh.js
|
||||
@@ -374,10 +374,2 @@ function packageTask(type, platform, arch, sourceFolderName, destinationFolderNa
|
||||
|
||||
- if (platform === 'linux' || platform === 'alpine') {
|
||||
- result = es.merge(result,
|
||||
- gulp.src(`resources/server/bin/helpers/check-requirements-linux.sh`, { base: '.' })
|
||||
- .pipe(rename(`bin/helpers/check-requirements.sh`))
|
||||
- .pipe(util.setExecutableBit())
|
||||
- );
|
||||
- }
|
||||
-
|
||||
return result.pipe(vfs.dest(destination));
|
||||
diff --git a/resources/server/bin/code-server-linux.sh b/resources/server/bin/code-server-linux.sh
|
||||
index e3d96bd..3df32df 100644
|
||||
--- a/resources/server/bin/code-server-linux.sh
|
||||
+++ b/resources/server/bin/code-server-linux.sh
|
||||
@@ -11,22 +11,2 @@ ROOT="$(dirname "$(dirname "$(readlink -f "$0")")")"
|
||||
|
||||
-# Do not remove this check.
|
||||
-# Provides a way to skip the server requirements check from
|
||||
-# outside the install flow. A system process can create this
|
||||
-# file before the server is downloaded and installed.
|
||||
-skip_check=0
|
||||
-if [ -f "/tmp/vscode-skip-server-requirements-check" ]; then
|
||||
- echo "!!! WARNING: Skipping server pre-requisite check !!!"
|
||||
- echo "!!! Server stability is not guaranteed. Proceed at your own risk. !!!"
|
||||
- skip_check=1
|
||||
-fi
|
||||
-
|
||||
-# Check platform requirements
|
||||
-if [ "$(echo "$@" | grep -c -- "--skip-requirements-check")" -eq 0 ] && [ $skip_check -eq 0 ]; then
|
||||
- $ROOT/bin/helpers/check-requirements.sh
|
||||
- exit_code=$?
|
||||
- if [ $exit_code -ne 0 ]; then
|
||||
- exit $exit_code
|
||||
- fi
|
||||
-fi
|
||||
-
|
||||
"$ROOT/node" ${INSPECT:-} "$ROOT/out/server-main.js" "$@"
|
17
patches/linux/use-node16.patch
Normal file
17
patches/linux/use-node16.patch
Normal file
@ -0,0 +1,17 @@
|
||||
diff --git a/build/lib/fetch.js b/build/lib/fetch.js
|
||||
index ba23e78..9b8a5a1 100644
|
||||
--- a/build/lib/fetch.js
|
||||
+++ b/build/lib/fetch.js
|
||||
@@ -13,2 +13,3 @@ const crypto = require("crypto");
|
||||
const through2 = require("through2");
|
||||
+const fetch = require("node-fetch");
|
||||
function fetchUrls(urls, options) {
|
||||
diff --git a/remote/.yarnrc b/remote/.yarnrc
|
||||
index adbe2d2..dfc3bd7 100644
|
||||
--- a/remote/.yarnrc
|
||||
+++ b/remote/.yarnrc
|
||||
@@ -1,3 +1,3 @@
|
||||
disturl "https://nodejs.org/dist"
|
||||
-target "18.17.1"
|
||||
+target "16.20.2"
|
||||
ms_build_id "252256"
|
@ -125,7 +125,7 @@ elif [[ "${OS_NAME}" == "windows" ]]; then
|
||||
else
|
||||
cd vscode || { echo "'vscode' dir not found"; exit 1; }
|
||||
|
||||
if [[ "${SHOULD_BUILD_DEB}" != "no" || "${SHOULD_BUILD_APPIMAGE}" != "no" ]]; then
|
||||
if [[ "${SHOULD_BUILD_DEB}" != "no" || "${SHOULD_BUILD_APPIMAGE}" != "no" || "${SHOULD_BUILD_SNAP}" != "no" ]]; then
|
||||
yarn gulp "vscode-linux-${VSCODE_ARCH}-build-deb"
|
||||
fi
|
||||
|
||||
@ -133,9 +133,13 @@ else
|
||||
yarn gulp "vscode-linux-${VSCODE_ARCH}-build-rpm"
|
||||
fi
|
||||
|
||||
# if [[ "${SHOULD_BUILD_APPIMAGE}" != "no" ]]; then
|
||||
# . ../build/linux/appimage/build.sh
|
||||
# fi
|
||||
if [[ "${SHOULD_BUILD_APPIMAGE}" != "no" ]]; then
|
||||
. ../build/linux/appimage/build.sh
|
||||
fi
|
||||
|
||||
if [[ "${SHOULD_BUILD_SNAP}" != "no" ]]; then
|
||||
. ../stores/snapcraft/build.sh
|
||||
fi
|
||||
|
||||
cd ..
|
||||
|
||||
@ -156,12 +160,17 @@ else
|
||||
mv vscode/.build/linux/rpm/*/*.rpm assets/
|
||||
fi
|
||||
|
||||
# if [[ "${SHOULD_BUILD_APPIMAGE}" != "no" ]]; then
|
||||
# echo "Moving AppImage"
|
||||
# mv build/linux/appimage/out/*.AppImage* assets/
|
||||
if [[ "${SHOULD_BUILD_APPIMAGE}" != "no" ]]; then
|
||||
echo "Moving AppImage"
|
||||
mv build/linux/appimage/out/*.AppImage* assets/
|
||||
|
||||
# find assets -name '*.AppImage*' -exec bash -c 'mv $0 ${0/_-_/-}' {} \;
|
||||
# fi
|
||||
find assets -name '*.AppImage*' -exec bash -c 'mv $0 ${0/_-_/-}' {} \;
|
||||
fi
|
||||
|
||||
if [[ "${SHOULD_BUILD_SNAP}" != "no" ]]; then
|
||||
echo "Moving Snap"
|
||||
mv stores/snapcraft/.build/*.snap assets/
|
||||
fi
|
||||
|
||||
VSCODE_PLATFORM="linux"
|
||||
fi
|
||||
|
@ -61,6 +61,18 @@ export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1
|
||||
|
||||
if [[ "${OS_NAME}" == "linux" ]]; then
|
||||
export VSCODE_SKIP_NODE_VERSION_CHECK=1
|
||||
|
||||
mv ../.nvmrc.linux ../.nvmrc
|
||||
|
||||
for file in ../patches/linux/*.patch; do
|
||||
if [[ -f "${file}" ]]; then
|
||||
echo applying patch: "${file}";
|
||||
if ! git apply --ignore-whitespace "${file}"; then
|
||||
echo failed to apply patch "${file}" >&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
if [[ "${OS_NAME}" == "osx" ]]; then
|
||||
|
12
src/insider/resources/linux/code-url-handler.desktop
Normal file
12
src/insider/resources/linux/code-url-handler.desktop
Normal file
@ -0,0 +1,12 @@
|
||||
[Desktop Entry]
|
||||
Name=@@NAME_LONG@@ - URL Handler
|
||||
Comment=Code Editing. Redefined.
|
||||
GenericName=Text Editor
|
||||
Exec=@@EXEC@@ --open-url %U
|
||||
Icon=@@ICON@@
|
||||
Type=Application
|
||||
NoDisplay=true
|
||||
StartupNotify=true
|
||||
Categories=Utility;TextEditor;Development;IDE;
|
||||
MimeType=x-scheme-handler/@@URLPROTOCOL@@;
|
||||
Keywords=vscodium;codium;vscode;
|
18
src/insider/resources/linux/code.appdata.xml
Normal file
18
src/insider/resources/linux/code.appdata.xml
Normal file
@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<component type="desktop">
|
||||
<id>@@NAME@@.desktop</id>
|
||||
<metadata_license>@@LICENSE@@</metadata_license>
|
||||
<project_license>@@LICENSE@@</project_license>
|
||||
<name>@@NAME_LONG@@</name>
|
||||
<url type="homepage">https://www.vscodium.com</url>
|
||||
<summary>VSCodium. Code editing. Redefined.</summary>
|
||||
<description>
|
||||
<p>VSCodium is a community-driven, freely-licensed binary distribution of Microsoft's editor VS Code.</p>
|
||||
</description>
|
||||
<screenshots>
|
||||
<screenshot type="default">
|
||||
<image>https://www.vscodium.com/img/vscodium.png</image>
|
||||
<caption>Editing C</caption>
|
||||
</screenshot>
|
||||
</screenshots>
|
||||
</component>
|
27
src/insider/resources/linux/code.desktop
Executable file
27
src/insider/resources/linux/code.desktop
Executable file
@ -0,0 +1,27 @@
|
||||
[Desktop Entry]
|
||||
Name=@@NAME_LONG@@
|
||||
Comment=Code Editing. Redefined.
|
||||
GenericName=Text Editor
|
||||
Exec=@@EXEC@@ --unity-launch %F
|
||||
Icon=@@ICON@@
|
||||
Type=Application
|
||||
StartupNotify=false
|
||||
StartupWMClass=@@NAME_SHORT@@
|
||||
Categories=TextEditor;Development;IDE;
|
||||
MimeType=text/plain;inode/directory;application/x-@@NAME@@-workspace;
|
||||
Actions=new-empty-window;
|
||||
Keywords=vscodium;codium;vscode;
|
||||
|
||||
[Desktop Action new-empty-window]
|
||||
Name=New Empty Window
|
||||
Name[de]=Neues leeres Fenster
|
||||
Name[es]=Nueva ventana vacía
|
||||
Name[fr]=Nouvelle fenêtre vide
|
||||
Name[it]=Nuova finestra vuota
|
||||
Name[ja]=新しい空のウィンドウ
|
||||
Name[ko]=새 빈 창
|
||||
Name[ru]=Новое пустое окно
|
||||
Name[zh_CN]=新建空窗口
|
||||
Name[zh_TW]=開新空視窗
|
||||
Exec=@@EXEC@@ --new-window %F
|
||||
Icon=@@ICON@@
|
12
src/stable/resources/linux/code-url-handler.desktop
Normal file
12
src/stable/resources/linux/code-url-handler.desktop
Normal file
@ -0,0 +1,12 @@
|
||||
[Desktop Entry]
|
||||
Name=@@NAME_LONG@@ - URL Handler
|
||||
Comment=Code Editing. Redefined.
|
||||
GenericName=Text Editor
|
||||
Exec=@@EXEC@@ --open-url %U
|
||||
Icon=@@ICON@@
|
||||
Type=Application
|
||||
NoDisplay=true
|
||||
StartupNotify=true
|
||||
Categories=Utility;TextEditor;Development;IDE;
|
||||
MimeType=x-scheme-handler/@@URLPROTOCOL@@;
|
||||
Keywords=vscodium;codium;vscode;
|
18
src/stable/resources/linux/code.appdata.xml
Normal file
18
src/stable/resources/linux/code.appdata.xml
Normal file
@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<component type="desktop">
|
||||
<id>@@NAME@@.desktop</id>
|
||||
<metadata_license>@@LICENSE@@</metadata_license>
|
||||
<project_license>@@LICENSE@@</project_license>
|
||||
<name>@@NAME_LONG@@</name>
|
||||
<url type="homepage">https://www.vscodium.com</url>
|
||||
<summary>VSCodium. Code editing. Redefined.</summary>
|
||||
<description>
|
||||
<p>VSCodium is a community-driven, freely-licensed binary distribution of Microsoft's editor VS Code.</p>
|
||||
</description>
|
||||
<screenshots>
|
||||
<screenshot type="default">
|
||||
<image>https://www.vscodium.com/img/vscodium.png</image>
|
||||
<caption>Editing C</caption>
|
||||
</screenshot>
|
||||
</screenshots>
|
||||
</component>
|
27
src/stable/resources/linux/code.desktop
Executable file
27
src/stable/resources/linux/code.desktop
Executable file
@ -0,0 +1,27 @@
|
||||
[Desktop Entry]
|
||||
Name=@@NAME_LONG@@
|
||||
Comment=Code Editing. Redefined.
|
||||
GenericName=Text Editor
|
||||
Exec=@@EXEC@@ --unity-launch %F
|
||||
Icon=@@ICON@@
|
||||
Type=Application
|
||||
StartupNotify=false
|
||||
StartupWMClass=@@NAME_SHORT@@
|
||||
Categories=TextEditor;Development;IDE;
|
||||
MimeType=text/plain;inode/directory;application/x-@@NAME@@-workspace;
|
||||
Actions=new-empty-window;
|
||||
Keywords=vscodium;codium;vscode;
|
||||
|
||||
[Desktop Action new-empty-window]
|
||||
Name=New Empty Window
|
||||
Name[de]=Neues leeres Fenster
|
||||
Name[es]=Nueva ventana vacía
|
||||
Name[fr]=Nouvelle fenêtre vide
|
||||
Name[it]=Nuova finestra vuota
|
||||
Name[ja]=新しい空のウィンドウ
|
||||
Name[ko]=새 빈 창
|
||||
Name[ru]=Новое пустое окно
|
||||
Name[zh_CN]=新建空窗口
|
||||
Name[zh_TW]=開新空視窗
|
||||
Exec=@@EXEC@@ --new-window %F
|
||||
Icon=@@ICON@@
|
75
stores/snapcraft/build.sh
Executable file
75
stores/snapcraft/build.sh
Executable file
@ -0,0 +1,75 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -ex
|
||||
|
||||
CALLER_DIR=$( pwd )
|
||||
|
||||
cd "$( dirname "${BASH_SOURCE[0]}" )"
|
||||
|
||||
# Include utilities
|
||||
. ../../utils.sh
|
||||
|
||||
ICON_NAME="$( echo "${APP_NAME}" | awk '{print tolower($0)}' )"
|
||||
|
||||
if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
|
||||
ICON_NAME="${ICON_NAME}-insiders"
|
||||
fi
|
||||
|
||||
rm -rf .build
|
||||
mkdir -p .build/snap/gui
|
||||
|
||||
DEB_ARCHIVE=$( ls ../../assets/*.deb )
|
||||
|
||||
if [[ -z "${DEB_ARCHIVE}" ]]; then
|
||||
ARCHITECTURE=$( dpkg --print-architecture )
|
||||
|
||||
# Get GitHub releases
|
||||
wget --quiet "https://api.github.com/repos/${ASSETS_REPOSITORY}/releases" -O latest.json
|
||||
|
||||
DEB_URL=$( jq -r 'map(select(.tag_name == "'"${RELEASE_VERSION}"'"))|first.assets[].browser_download_url|select(endswith("'"_${ARCHITECTURE}.deb"'"))' latest.json )
|
||||
DEB_ARCHIVE=$( basename "${DEB_URL}" )
|
||||
|
||||
# Downloading .deb
|
||||
wget "${DEB_URL}" -O "${DEB_ARCHIVE}"
|
||||
|
||||
rm latest.json
|
||||
fi
|
||||
|
||||
# Unpacking .deb
|
||||
dpkg -x "${DEB_ARCHIVE}" .build/deb
|
||||
|
||||
mkdir -p .build/snap/usr/share
|
||||
mv ".build/deb/usr/share/${BINARY_NAME}" ".build/snap/usr/share/${BINARY_NAME}"
|
||||
|
||||
# Prepare snapcraft.yaml
|
||||
cp ${VSCODE_QUALITY}/snapcraft.yaml .build/snap/snapcraft.yaml
|
||||
|
||||
SNAP_VERSION=$( echo "${RELEASE_VERSION}" | sed 's|\-insider||' )
|
||||
|
||||
replace "s|@@SNAP_NAME@@|${BINARY_NAME}|g" .build/snap/snapcraft.yaml
|
||||
replace "s|@@SNAP_VERSION@@|${SNAP_VERSION}|g" .build/snap/snapcraft.yaml
|
||||
|
||||
# Prepare electron-launch
|
||||
cp ${VSCODE_QUALITY}/electron-launch .build/snap/electron-launch
|
||||
|
||||
# Prepare GUI
|
||||
cp "../../src/${VSCODE_QUALITY}/resources/linux/code.png" ".build/snap/gui/${BINARY_NAME}.png"
|
||||
cp .build/deb/usr/share/applications/*.desktop .build/snap/gui
|
||||
|
||||
sed -i "s|Exec=/usr/share/${BINARY_NAME}/${BINARY_NAME}|Exec=${BINARY_NAME} --force-user-env|g" ".build/snap/gui/${BINARY_NAME}.desktop"
|
||||
sed -i "s|Exec=/usr/share/${BINARY_NAME}/${BINARY_NAME}|Exec=${BINARY_NAME} --force-user-env|g" ".build/snap/gui/${BINARY_NAME}-url-handler.desktop"
|
||||
sed -i "s|Icon=${ICON_NAME}|Icon=\${SNAP}/meta/gui/${BINARY_NAME}.png|g" ".build/snap/gui/${BINARY_NAME}.desktop"
|
||||
sed -i "s|Icon=${ICON_NAME}|Icon=\${SNAP}/meta/gui/${BINARY_NAME}.png|g" ".build/snap/gui/${BINARY_NAME}-url-handler.desktop"
|
||||
|
||||
# Clean up
|
||||
rm -rf .build/deb
|
||||
|
||||
cd .build
|
||||
|
||||
if [[ "${CI_BUILD}" != "no" ]]; then
|
||||
snapcraft
|
||||
else
|
||||
snapcraft --use-lxd --debug
|
||||
fi
|
||||
|
||||
cd "${CALLER_DIR}"
|
264
stores/snapcraft/insider/electron-launch
Executable file
264
stores/snapcraft/insider/electron-launch
Executable file
@ -0,0 +1,264 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# On Fedora $SNAP is under /var and there is some magic to map it to /snap.
|
||||
# We need to handle that case and reset $SNAP
|
||||
SNAP=$(echo "$SNAP" | sed -e "s|/var/lib/snapd||g")
|
||||
|
||||
#
|
||||
# Exports are based on https://github.com/snapcore/snapcraft/blob/master/extensions/desktop/common/desktop-exports
|
||||
#
|
||||
|
||||
# ensure_dir_exists calls `mkdir -p` if the given path is not a directory.
|
||||
# This speeds up execution time by avoiding unnecessary calls to mkdir.
|
||||
#
|
||||
# Usage: ensure_dir_exists <path> [<mkdir-options>]...
|
||||
#
|
||||
function ensure_dir_exists() {
|
||||
[ -d "$1" ] || mkdir -p "$@"
|
||||
}
|
||||
|
||||
declare -A PIDS
|
||||
function async_exec() {
|
||||
"$@" &
|
||||
PIDS[$!]=$*
|
||||
}
|
||||
function wait_for_async_execs() {
|
||||
for pid in "${!PIDS[@]}"
|
||||
do
|
||||
wait "$pid" && continue || echo "ERROR: ${PIDS[$pid]} exited abnormally with status $?"
|
||||
done
|
||||
}
|
||||
|
||||
function prepend_dir() {
|
||||
local -n var="$1"
|
||||
local dir="$2"
|
||||
# We can't check if the dir exists when the dir contains variables
|
||||
if [[ "$dir" == *"\$"* || -d "$dir" ]]; then
|
||||
export "${!var}=${dir}${var:+:$var}"
|
||||
fi
|
||||
}
|
||||
|
||||
function append_dir() {
|
||||
local -n var="$1"
|
||||
local dir="$2"
|
||||
# We can't check if the dir exists when the dir contains variables
|
||||
if [[ "$dir" == *"\$"* || -d "$dir" ]]; then
|
||||
export "${!var}=${var:+$var:}${dir}"
|
||||
fi
|
||||
}
|
||||
|
||||
function copy_env_variable() {
|
||||
local -n var="$1"
|
||||
if [[ "+$var" ]]; then
|
||||
export "${!var}_VSCODE_SNAP_ORIG=${var}"
|
||||
else
|
||||
export "${!var}_VSCODE_SNAP_ORIG=''"
|
||||
fi
|
||||
}
|
||||
|
||||
# shellcheck source=/dev/null
|
||||
source "$SNAP_USER_DATA/.last_revision" 2>/dev/null || true
|
||||
if [ "$SNAP_DESKTOP_LAST_REVISION" = "$SNAP_VERSION" ]; then
|
||||
needs_update=false
|
||||
else
|
||||
needs_update=true
|
||||
fi
|
||||
|
||||
# Set $REALHOME to the users real home directory
|
||||
REALHOME=$(getent passwd $UID | cut -d ':' -f 6)
|
||||
|
||||
# Set config folder to local path
|
||||
ensure_dir_exists "$SNAP_USER_DATA/.config"
|
||||
chmod 700 "$SNAP_USER_DATA/.config"
|
||||
|
||||
if [ "$SNAP_ARCH" == "amd64" ]; then
|
||||
ARCH="x86_64-linux-gnu"
|
||||
elif [ "$SNAP_ARCH" == "armhf" ]; then
|
||||
ARCH="arm-linux-gnueabihf"
|
||||
elif [ "$SNAP_ARCH" == "arm64" ]; then
|
||||
ARCH="aarch64-linux-gnu"
|
||||
else
|
||||
ARCH="$SNAP_ARCH-linux-gnu"
|
||||
fi
|
||||
|
||||
export SNAP_LAUNCHER_ARCH_TRIPLET="$ARCH"
|
||||
|
||||
function is_subpath() {
|
||||
dir="$(realpath "$1")"
|
||||
parent="$(realpath "$2")"
|
||||
[ "${dir##"${parent}"/}" != "${dir}" ] && return 0 || return 1
|
||||
}
|
||||
|
||||
function can_open_file() {
|
||||
[ -f "$1" ] && [ -r "$1" ]
|
||||
}
|
||||
|
||||
# Preserve system variables that get modified below
|
||||
copy_env_variable XDG_CONFIG_DIRS
|
||||
copy_env_variable XDG_DATA_DIRS
|
||||
copy_env_variable LOCPATH
|
||||
copy_env_variable GIO_MODULE_DIR
|
||||
copy_env_variable GSETTINGS_SCHEMA_DIR
|
||||
copy_env_variable GDK_PIXBUF_MODULE_FILE
|
||||
copy_env_variable GDK_PIXBUF_MODULEDIR
|
||||
copy_env_variable GDK_BACKEND
|
||||
copy_env_variable GTK_PATH
|
||||
copy_env_variable GTK_EXE_PREFIX
|
||||
copy_env_variable GTK_IM_MODULE_FILE
|
||||
|
||||
# XDG Config
|
||||
prepend_dir XDG_CONFIG_DIRS "$SNAP/etc/xdg"
|
||||
|
||||
# Define snaps' own data dir
|
||||
prepend_dir XDG_DATA_DIRS "$SNAP/usr/share"
|
||||
prepend_dir XDG_DATA_DIRS "$SNAP/share"
|
||||
prepend_dir XDG_DATA_DIRS "$SNAP/data-dir"
|
||||
prepend_dir XDG_DATA_DIRS "$SNAP_USER_DATA"
|
||||
|
||||
# Set XDG_DATA_HOME to local path
|
||||
ensure_dir_exists "$SNAP_USER_DATA/.local/share"
|
||||
|
||||
# Workaround for GLib < 2.53.2 not searching for schemas in $XDG_DATA_HOME:
|
||||
# https://bugzilla.gnome.org/show_bug.cgi?id=741335
|
||||
prepend_dir XDG_DATA_DIRS "$SNAP_USER_DATA/.local/share"
|
||||
|
||||
# Set cache folder to local path
|
||||
if [[ -d "$SNAP_USER_DATA/.cache" && ! -e "$SNAP_USER_COMMON/.cache" ]]; then
|
||||
# the .cache directory used to be stored under $SNAP_USER_DATA, migrate it
|
||||
mv "$SNAP_USER_DATA/.cache" "$SNAP_USER_COMMON/"
|
||||
fi
|
||||
ensure_dir_exists "$SNAP_USER_COMMON/.cache"
|
||||
|
||||
# Create $XDG_RUNTIME_DIR if not exists (to be removed when LP: #1656340 is fixed)
|
||||
# shellcheck disable=SC2174
|
||||
ensure_dir_exists "$XDG_RUNTIME_DIR" -m 700
|
||||
|
||||
# Ensure the app finds locale definitions (requires locales-all to be installed)
|
||||
append_dir LOCPATH "$SNAP/usr/lib/locale"
|
||||
|
||||
# If detect wayland server socket, then set environment so applications prefer
|
||||
# wayland, and setup compat symlink (until we use user mounts. Remember,
|
||||
# XDG_RUNTIME_DIR is /run/user/<uid>/snap.$SNAP so look in the parent directory
|
||||
# for the socket. For details:
|
||||
# https://forum.snapcraft.io/t/wayland-dconf-and-xdg-runtime-dir/186/10
|
||||
# Applications that don't support wayland natively may define DISABLE_WAYLAND
|
||||
# (to any non-empty value) to skip that logic entirely.
|
||||
wayland_available=false
|
||||
if [[ -n "$XDG_RUNTIME_DIR" && -z "$DISABLE_WAYLAND" ]]; then
|
||||
wdisplay="wayland-0"
|
||||
if [ -n "$WAYLAND_DISPLAY" ]; then
|
||||
wdisplay="$WAYLAND_DISPLAY"
|
||||
fi
|
||||
wayland_sockpath="$XDG_RUNTIME_DIR/../$wdisplay"
|
||||
wayland_snappath="$XDG_RUNTIME_DIR/$wdisplay"
|
||||
if [ -S "$wayland_sockpath" ]; then
|
||||
# if running under wayland, use it
|
||||
#export WAYLAND_DEBUG=1
|
||||
# shellcheck disable=SC2034
|
||||
wayland_available=true
|
||||
# create the compat symlink for now
|
||||
if [ ! -e "$wayland_snappath" ]; then
|
||||
ln -s "$wayland_sockpath" "$wayland_snappath"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Keep an array of data dirs, for looping through them
|
||||
IFS=':' read -r -a data_dirs_array <<< "$XDG_DATA_DIRS"
|
||||
|
||||
# Build mime.cache
|
||||
# needed for gtk and qt icon
|
||||
if [ "$needs_update" = true ]; then
|
||||
rm -rf "$SNAP_USER_DATA/.local/share/mime"
|
||||
if [ ! -f "$SNAP/usr/share/mime/mime.cache" ]; then
|
||||
if command -v update-mime-database >/dev/null; then
|
||||
cp --preserve=timestamps -dR "$SNAP/usr/share/mime" "$SNAP_USER_DATA/.local/share"
|
||||
async_exec update-mime-database "$SNAP_USER_DATA/.local/share/mime"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Gio modules and cache (including gsettings module)
|
||||
export GIO_MODULE_DIR="$SNAP_USER_COMMON/.cache/gio-modules"
|
||||
function compile_giomodules {
|
||||
if [ -f "$1/glib-2.0/gio-querymodules" ]; then
|
||||
rm -rf "$GIO_MODULE_DIR"
|
||||
ensure_dir_exists "$GIO_MODULE_DIR"
|
||||
ln -s "$SNAP"/usr/lib/"$ARCH"/gio/modules/*.so "$GIO_MODULE_DIR"
|
||||
"$1/glib-2.0/gio-querymodules" "$GIO_MODULE_DIR"
|
||||
fi
|
||||
}
|
||||
if [ "$needs_update" = true ]; then
|
||||
async_exec compile_giomodules "/snap/core20/current/usr/lib/$ARCH"
|
||||
fi
|
||||
|
||||
# Setup compiled gsettings schema
|
||||
export GSETTINGS_SCHEMA_DIR="$SNAP_USER_DATA/.local/share/glib-2.0/schemas"
|
||||
function compile_schemas {
|
||||
if [ -f "$1" ]; then
|
||||
rm -rf "$GSETTINGS_SCHEMA_DIR"
|
||||
ensure_dir_exists "$GSETTINGS_SCHEMA_DIR"
|
||||
for ((i = 0; i < ${#data_dirs_array[@]}; i++)); do
|
||||
schema_dir="${data_dirs_array[$i]}/glib-2.0/schemas"
|
||||
if [ -f "$schema_dir/gschemas.compiled" ]; then
|
||||
# This directory already has compiled schemas
|
||||
continue
|
||||
fi
|
||||
if [ -n "$(ls -A "$schema_dir"/*.xml 2>/dev/null)" ]; then
|
||||
ln -s "$schema_dir"/*.xml "$GSETTINGS_SCHEMA_DIR"
|
||||
fi
|
||||
if [ -n "$(ls -A "$schema_dir"/*.override 2>/dev/null)" ]; then
|
||||
ln -s "$schema_dir"/*.override "$GSETTINGS_SCHEMA_DIR"
|
||||
fi
|
||||
done
|
||||
# Only compile schemas if we copied anything
|
||||
if [ -n "$(ls -A "$GSETTINGS_SCHEMA_DIR"/*.xml "$GSETTINGS_SCHEMA_DIR"/*.override 2>/dev/null)" ]; then
|
||||
"$1" "$GSETTINGS_SCHEMA_DIR"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
if [ "$needs_update" = true ]; then
|
||||
async_exec compile_schemas "/snap/core20/current/usr/lib/$ARCH/glib-2.0/glib-compile-schemas"
|
||||
fi
|
||||
|
||||
# Gdk-pixbuf loaders
|
||||
export GDK_PIXBUF_MODULE_FILE="$SNAP_USER_COMMON/.cache/gdk-pixbuf-loaders.cache"
|
||||
export GDK_PIXBUF_MODULEDIR="$SNAP/usr/lib/$ARCH/gdk-pixbuf-2.0/2.10.0/loaders"
|
||||
if [ "$needs_update" = true ] || [ ! -f "$GDK_PIXBUF_MODULE_FILE" ]; then
|
||||
rm -f "$GDK_PIXBUF_MODULE_FILE"
|
||||
if [ -f "$SNAP/usr/lib/$ARCH/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders" ]; then
|
||||
async_exec "$SNAP/usr/lib/$ARCH/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders" > "$GDK_PIXBUF_MODULE_FILE"
|
||||
fi
|
||||
fi
|
||||
|
||||
# shellcheck disable=SC2154
|
||||
if [ "$wayland_available" = true ]; then
|
||||
export GDK_BACKEND="wayland"
|
||||
fi
|
||||
|
||||
append_dir GTK_PATH "$SNAP/usr/lib/$ARCH/gtk-3.0"
|
||||
append_dir GTK_PATH "$SNAP/usr/lib/gtk-3.0"
|
||||
# We don't have gtk libraries in this path but
|
||||
# enforcing this environment variable will disallow
|
||||
# gtk binaries like `gtk-query-immodules` to not search
|
||||
# in system default library paths.
|
||||
# Based on https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtkmodules.c#L104-136
|
||||
export GTK_EXE_PREFIX="$SNAP/usr"
|
||||
|
||||
# ibus and fcitx integration
|
||||
GTK_IM_MODULE_DIR="$SNAP_USER_COMMON/.cache/immodules"
|
||||
export GTK_IM_MODULE_FILE="$GTK_IM_MODULE_DIR/immodules.cache"
|
||||
# shellcheck disable=SC2154
|
||||
if [ "$needs_update" = true ]; then
|
||||
rm -rf "$GTK_IM_MODULE_DIR"
|
||||
ensure_dir_exists "$GTK_IM_MODULE_DIR"
|
||||
ln -s "$SNAP"/usr/lib/"$ARCH"/gtk-3.0/3.0.0/immodules/*.so "$GTK_IM_MODULE_DIR"
|
||||
async_exec "$SNAP/usr/lib/$ARCH/libgtk-3-0/gtk-query-immodules-3.0" > "$GTK_IM_MODULE_FILE"
|
||||
fi
|
||||
|
||||
# shellcheck disable=SC2154
|
||||
[ "$needs_update" = true ] && echo "SNAP_DESKTOP_LAST_REVISION=$SNAP_VERSION" > "$SNAP_USER_DATA/.last_revision"
|
||||
|
||||
wait_for_async_execs
|
||||
|
||||
exec "$@"
|
@ -1,34 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# On Fedora $SNAP is under /var and there is some magic to map it to /snap.
|
||||
# We need to handle that case and reset $SNAP
|
||||
SNAP=$(echo "$SNAP" | sed -e "s|/var/lib/snapd||g")
|
||||
|
||||
if [ "$SNAP_ARCH" == "amd64" ]; then
|
||||
ARCH="x86_64-linux-gnu"
|
||||
elif [ "$SNAP_ARCH" == "armhf" ]; then
|
||||
ARCH="arm-linux-gnueabihf"
|
||||
elif [ "$SNAP_ARCH" == "arm64" ]; then
|
||||
ARCH="aarch64-linux-gnu"
|
||||
else
|
||||
ARCH="$SNAP_ARCH-linux-gnu"
|
||||
fi
|
||||
|
||||
GDK_CACHE_DIR="$SNAP_USER_COMMON/.cache"
|
||||
if [[ -d "$SNAP_USER_DATA/.cache" && ! -e "$GDK_CACHE_DIR" ]]; then
|
||||
# the .cache directory used to be stored under $SNAP_USER_DATA, migrate it
|
||||
mv "$SNAP_USER_DATA/.cache" "$SNAP_USER_COMMON/"
|
||||
fi
|
||||
[ ! -d "$GDK_CACHE_DIR" ] && mkdir -p "$GDK_CACHE_DIR"
|
||||
|
||||
# Gdk-pixbuf loaders
|
||||
export GDK_PIXBUF_MODULE_FILE="$GDK_CACHE_DIR/gdk-pixbuf-loaders.cache"
|
||||
export GDK_PIXBUF_MODULEDIR="$SNAP/usr/lib/$ARCH/gdk-pixbuf-2.0/2.10.0/loaders"
|
||||
if [ -f "$SNAP/usr/lib/$ARCH/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders" ]; then
|
||||
"$SNAP/usr/lib/$ARCH/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders" > "$GDK_PIXBUF_MODULE_FILE"
|
||||
fi
|
||||
|
||||
# Create $XDG_RUNTIME_DIR if not exists (to be removed when https://pad.lv/1656340 is fixed)
|
||||
[ -n "$XDG_RUNTIME_DIR" ] && mkdir -p "$XDG_RUNTIME_DIR" -m 700
|
||||
|
||||
exec "$@"
|
@ -1,86 +0,0 @@
|
||||
name: codium-insiders
|
||||
adopt-info: codium-insiders
|
||||
summary: Code editing. Redefined.
|
||||
description: |
|
||||
Binary releases of Code Insiders without branding/telemetry/licensing
|
||||
|
||||
base: core18
|
||||
grade: stable
|
||||
confinement: classic
|
||||
compression: lzo
|
||||
|
||||
parts:
|
||||
codium-insiders:
|
||||
plugin: nil
|
||||
override-build: |
|
||||
set -eu
|
||||
ARCHITECTURE=$(dpkg --print-architecture)
|
||||
# Get GitHub releases
|
||||
wget --quiet https://api.github.com/repos/VSCodium/vscodium-insiders/releases -O latest.json
|
||||
VERSION=$(jq -r 'sort_by(.tag_name)|last.tag_name' latest.json)
|
||||
DEB_URL=$(jq -r 'map(select(.tag_name == "'"$VERSION"'"))|first.assets[].browser_download_url|select(endswith("'"_$ARCHITECTURE.deb"'"))' latest.json)
|
||||
DEB=$(basename "${DEB_URL}")
|
||||
# Downloading .deb"
|
||||
wget "${DEB_URL}" -O "${SNAPCRAFT_PART_INSTALL}/${DEB}"
|
||||
# Unpacking .deb"
|
||||
dpkg -x "${SNAPCRAFT_PART_INSTALL}/${DEB}" ${SNAPCRAFT_PART_INSTALL}
|
||||
rm -f latest.json
|
||||
rm -f "${SNAPCRAFT_PART_INSTALL}/${DEB}"
|
||||
# Set version
|
||||
snapcraftctl set-version "$(echo "${VERSION}" | sed 's|\-insider||')"
|
||||
# Correct path to icon.
|
||||
sed -i 's|Icon=vscodium-insiders|Icon=${SNAP}/usr/share/pixmaps/vscodium-insiders.png|g' ${SNAPCRAFT_PART_INSTALL}/usr/share/applications/codium-insiders.desktop
|
||||
sed -i 's|Exec=/usr/share/codium-insiders/codium-insiders|Exec=codium-insiders|g' ${SNAPCRAFT_PART_INSTALL}/usr/share/applications/codium-insiders.desktop
|
||||
sed -i 's|Icon=vscodium-insiders|Icon=${SNAP}/usr/share/pixmaps/vscodium-insiders.png|g' ${SNAPCRAFT_PART_INSTALL}/usr/share/applications/codium-insiders-url-handler.desktop
|
||||
build-packages:
|
||||
- wget
|
||||
- jq
|
||||
stage-packages:
|
||||
- fcitx-frontend-gtk3
|
||||
- gvfs-libs
|
||||
- libasound2
|
||||
- libgconf-2-4
|
||||
- libglib2.0-bin
|
||||
- libgnome-keyring0
|
||||
- libgtk-3-0
|
||||
- libnotify4
|
||||
- libnspr4
|
||||
- libnss3
|
||||
- libpcre3
|
||||
- libpulse0
|
||||
- libsecret-1-0
|
||||
- libxshmfence1
|
||||
- libxss1
|
||||
- libxtst6
|
||||
- zlib1g
|
||||
- libx11-xcb1
|
||||
- libxkbfile1
|
||||
- libdrm2
|
||||
- libgbm1
|
||||
- libxcb-dri3-0
|
||||
prime:
|
||||
- -usr/share/doc
|
||||
- -usr/share/fonts
|
||||
- -usr/share/icons
|
||||
- -usr/share/lintian
|
||||
- -usr/share/man
|
||||
- -usr/share/codium/chrome-sandbox
|
||||
|
||||
electron-launch:
|
||||
after:
|
||||
- codium-insiders
|
||||
plugin: dump
|
||||
source: snap/local
|
||||
|
||||
apps:
|
||||
codium-insiders:
|
||||
command: electron-launch $SNAP/usr/share/codium-insiders/bin/codium-insiders --no-sandbox
|
||||
desktop: usr/share/applications/codium-insiders.desktop
|
||||
environment:
|
||||
GSETTINGS_SCHEMA_DIR: $SNAP/usr/share/glib-2.0/schemas
|
||||
|
||||
url-handler:
|
||||
command: electron-launch $SNAP/usr/share/codium-insiders/bin/codium-insiders --open-url --no-sandbox
|
||||
desktop: usr/share/applications/codium-insiders-url-handler.desktop
|
||||
environment:
|
||||
GSETTINGS_SCHEMA_DIR: $SNAP/usr/share/glib-2.0/schemas
|
81
stores/snapcraft/insider/snapcraft.yaml
Normal file
81
stores/snapcraft/insider/snapcraft.yaml
Normal file
@ -0,0 +1,81 @@
|
||||
name: @@SNAP_NAME@@
|
||||
version: '@@SNAP_VERSION@@'
|
||||
summary: Code editing. Redefined.
|
||||
description: |
|
||||
Binary releases of Visual Studio Code - Insiders without branding/telemetry/licensing
|
||||
|
||||
base: core20
|
||||
grade: stable
|
||||
confinement: classic
|
||||
compression: lzo
|
||||
|
||||
parts:
|
||||
@@SNAP_NAME@@:
|
||||
plugin: dump
|
||||
source: .
|
||||
stage-packages:
|
||||
- ca-certificates
|
||||
- libasound2
|
||||
- libatk-bridge2.0-0
|
||||
- libatk1.0-0
|
||||
- libatspi2.0-0
|
||||
- libcairo2
|
||||
- libcanberra-gtk3-module
|
||||
- libcurl3-gnutls
|
||||
- libcurl3-nss
|
||||
- libcurl4
|
||||
- libdrm2
|
||||
- libgbm1
|
||||
- libgl1
|
||||
- libglib2.0-0
|
||||
- libgtk-3-0
|
||||
- libibus-1.0-5
|
||||
- libnss3
|
||||
- libpango-1.0-0
|
||||
- libsecret-1-0
|
||||
- libxcomposite1
|
||||
- libxdamage1
|
||||
- libxfixes3
|
||||
- libxkbcommon0
|
||||
- libxkbfile1
|
||||
- libxrandr2
|
||||
- libxss1
|
||||
- locales-all
|
||||
- packagekit-gtk3-module
|
||||
- xdg-utils
|
||||
prime:
|
||||
- -usr/share/doc
|
||||
- -usr/share/fonts
|
||||
- -usr/share/icons
|
||||
- -usr/share/lintian
|
||||
- -usr/share/man
|
||||
build-attributes:
|
||||
- enable-patchelf
|
||||
build-packages:
|
||||
- patchelf
|
||||
override-build: |
|
||||
snapcraftctl build
|
||||
patchelf --force-rpath --set-rpath '$ORIGIN/../../lib/x86_64-linux-gnu:$ORIGIN:/snap/core20/current/lib/x86_64-linux-gnu' $SNAPCRAFT_PART_INSTALL/snap/usr/share/@@SNAP_NAME@@/chrome_crashpad_handler
|
||||
|
||||
cleanup:
|
||||
after:
|
||||
- @@SNAP_NAME@@
|
||||
plugin: nil
|
||||
build-snaps:
|
||||
- core20
|
||||
build-packages:
|
||||
- patchelf
|
||||
override-prime: |
|
||||
set -eux
|
||||
for snap in "core20"; do
|
||||
cd "/snap/$snap/current" && find . -type f,l -exec rm -f "$SNAPCRAFT_PRIME/{}" \;
|
||||
done
|
||||
patchelf --print-rpath $SNAPCRAFT_PRIME/snap/usr/share/@@SNAP_NAME@@/chrome_crashpad_handler
|
||||
|
||||
apps:
|
||||
@@SNAP_NAME@@:
|
||||
command: electron-launch $SNAP/snap/usr/share/@@SNAP_NAME@@/bin/@@SNAP_NAME@@ --no-sandbox
|
||||
common-id: @@SNAP_NAME@@.desktop
|
||||
|
||||
url-handler:
|
||||
command: electron-launch $SNAP/snap/usr/share/@@SNAP_NAME@@/bin/@@SNAP_NAME@@ --open-url --no-sandbox
|
264
stores/snapcraft/stable/electron-launch
Executable file
264
stores/snapcraft/stable/electron-launch
Executable file
@ -0,0 +1,264 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# On Fedora $SNAP is under /var and there is some magic to map it to /snap.
|
||||
# We need to handle that case and reset $SNAP
|
||||
SNAP=$(echo "$SNAP" | sed -e "s|/var/lib/snapd||g")
|
||||
|
||||
#
|
||||
# Exports are based on https://github.com/snapcore/snapcraft/blob/master/extensions/desktop/common/desktop-exports
|
||||
#
|
||||
|
||||
# ensure_dir_exists calls `mkdir -p` if the given path is not a directory.
|
||||
# This speeds up execution time by avoiding unnecessary calls to mkdir.
|
||||
#
|
||||
# Usage: ensure_dir_exists <path> [<mkdir-options>]...
|
||||
#
|
||||
function ensure_dir_exists() {
|
||||
[ -d "$1" ] || mkdir -p "$@"
|
||||
}
|
||||
|
||||
declare -A PIDS
|
||||
function async_exec() {
|
||||
"$@" &
|
||||
PIDS[$!]=$*
|
||||
}
|
||||
function wait_for_async_execs() {
|
||||
for pid in "${!PIDS[@]}"
|
||||
do
|
||||
wait "$pid" && continue || echo "ERROR: ${PIDS[$pid]} exited abnormally with status $?"
|
||||
done
|
||||
}
|
||||
|
||||
function prepend_dir() {
|
||||
local -n var="$1"
|
||||
local dir="$2"
|
||||
# We can't check if the dir exists when the dir contains variables
|
||||
if [[ "$dir" == *"\$"* || -d "$dir" ]]; then
|
||||
export "${!var}=${dir}${var:+:$var}"
|
||||
fi
|
||||
}
|
||||
|
||||
function append_dir() {
|
||||
local -n var="$1"
|
||||
local dir="$2"
|
||||
# We can't check if the dir exists when the dir contains variables
|
||||
if [[ "$dir" == *"\$"* || -d "$dir" ]]; then
|
||||
export "${!var}=${var:+$var:}${dir}"
|
||||
fi
|
||||
}
|
||||
|
||||
function copy_env_variable() {
|
||||
local -n var="$1"
|
||||
if [[ "+$var" ]]; then
|
||||
export "${!var}_VSCODE_SNAP_ORIG=${var}"
|
||||
else
|
||||
export "${!var}_VSCODE_SNAP_ORIG=''"
|
||||
fi
|
||||
}
|
||||
|
||||
# shellcheck source=/dev/null
|
||||
source "$SNAP_USER_DATA/.last_revision" 2>/dev/null || true
|
||||
if [ "$SNAP_DESKTOP_LAST_REVISION" = "$SNAP_VERSION" ]; then
|
||||
needs_update=false
|
||||
else
|
||||
needs_update=true
|
||||
fi
|
||||
|
||||
# Set $REALHOME to the users real home directory
|
||||
REALHOME=$(getent passwd $UID | cut -d ':' -f 6)
|
||||
|
||||
# Set config folder to local path
|
||||
ensure_dir_exists "$SNAP_USER_DATA/.config"
|
||||
chmod 700 "$SNAP_USER_DATA/.config"
|
||||
|
||||
if [ "$SNAP_ARCH" == "amd64" ]; then
|
||||
ARCH="x86_64-linux-gnu"
|
||||
elif [ "$SNAP_ARCH" == "armhf" ]; then
|
||||
ARCH="arm-linux-gnueabihf"
|
||||
elif [ "$SNAP_ARCH" == "arm64" ]; then
|
||||
ARCH="aarch64-linux-gnu"
|
||||
else
|
||||
ARCH="$SNAP_ARCH-linux-gnu"
|
||||
fi
|
||||
|
||||
export SNAP_LAUNCHER_ARCH_TRIPLET="$ARCH"
|
||||
|
||||
function is_subpath() {
|
||||
dir="$(realpath "$1")"
|
||||
parent="$(realpath "$2")"
|
||||
[ "${dir##"${parent}"/}" != "${dir}" ] && return 0 || return 1
|
||||
}
|
||||
|
||||
function can_open_file() {
|
||||
[ -f "$1" ] && [ -r "$1" ]
|
||||
}
|
||||
|
||||
# Preserve system variables that get modified below
|
||||
copy_env_variable XDG_CONFIG_DIRS
|
||||
copy_env_variable XDG_DATA_DIRS
|
||||
copy_env_variable LOCPATH
|
||||
copy_env_variable GIO_MODULE_DIR
|
||||
copy_env_variable GSETTINGS_SCHEMA_DIR
|
||||
copy_env_variable GDK_PIXBUF_MODULE_FILE
|
||||
copy_env_variable GDK_PIXBUF_MODULEDIR
|
||||
copy_env_variable GDK_BACKEND
|
||||
copy_env_variable GTK_PATH
|
||||
copy_env_variable GTK_EXE_PREFIX
|
||||
copy_env_variable GTK_IM_MODULE_FILE
|
||||
|
||||
# XDG Config
|
||||
prepend_dir XDG_CONFIG_DIRS "$SNAP/etc/xdg"
|
||||
|
||||
# Define snaps' own data dir
|
||||
prepend_dir XDG_DATA_DIRS "$SNAP/usr/share"
|
||||
prepend_dir XDG_DATA_DIRS "$SNAP/share"
|
||||
prepend_dir XDG_DATA_DIRS "$SNAP/data-dir"
|
||||
prepend_dir XDG_DATA_DIRS "$SNAP_USER_DATA"
|
||||
|
||||
# Set XDG_DATA_HOME to local path
|
||||
ensure_dir_exists "$SNAP_USER_DATA/.local/share"
|
||||
|
||||
# Workaround for GLib < 2.53.2 not searching for schemas in $XDG_DATA_HOME:
|
||||
# https://bugzilla.gnome.org/show_bug.cgi?id=741335
|
||||
prepend_dir XDG_DATA_DIRS "$SNAP_USER_DATA/.local/share"
|
||||
|
||||
# Set cache folder to local path
|
||||
if [[ -d "$SNAP_USER_DATA/.cache" && ! -e "$SNAP_USER_COMMON/.cache" ]]; then
|
||||
# the .cache directory used to be stored under $SNAP_USER_DATA, migrate it
|
||||
mv "$SNAP_USER_DATA/.cache" "$SNAP_USER_COMMON/"
|
||||
fi
|
||||
ensure_dir_exists "$SNAP_USER_COMMON/.cache"
|
||||
|
||||
# Create $XDG_RUNTIME_DIR if not exists (to be removed when LP: #1656340 is fixed)
|
||||
# shellcheck disable=SC2174
|
||||
ensure_dir_exists "$XDG_RUNTIME_DIR" -m 700
|
||||
|
||||
# Ensure the app finds locale definitions (requires locales-all to be installed)
|
||||
append_dir LOCPATH "$SNAP/usr/lib/locale"
|
||||
|
||||
# If detect wayland server socket, then set environment so applications prefer
|
||||
# wayland, and setup compat symlink (until we use user mounts. Remember,
|
||||
# XDG_RUNTIME_DIR is /run/user/<uid>/snap.$SNAP so look in the parent directory
|
||||
# for the socket. For details:
|
||||
# https://forum.snapcraft.io/t/wayland-dconf-and-xdg-runtime-dir/186/10
|
||||
# Applications that don't support wayland natively may define DISABLE_WAYLAND
|
||||
# (to any non-empty value) to skip that logic entirely.
|
||||
wayland_available=false
|
||||
if [[ -n "$XDG_RUNTIME_DIR" && -z "$DISABLE_WAYLAND" ]]; then
|
||||
wdisplay="wayland-0"
|
||||
if [ -n "$WAYLAND_DISPLAY" ]; then
|
||||
wdisplay="$WAYLAND_DISPLAY"
|
||||
fi
|
||||
wayland_sockpath="$XDG_RUNTIME_DIR/../$wdisplay"
|
||||
wayland_snappath="$XDG_RUNTIME_DIR/$wdisplay"
|
||||
if [ -S "$wayland_sockpath" ]; then
|
||||
# if running under wayland, use it
|
||||
#export WAYLAND_DEBUG=1
|
||||
# shellcheck disable=SC2034
|
||||
wayland_available=true
|
||||
# create the compat symlink for now
|
||||
if [ ! -e "$wayland_snappath" ]; then
|
||||
ln -s "$wayland_sockpath" "$wayland_snappath"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Keep an array of data dirs, for looping through them
|
||||
IFS=':' read -r -a data_dirs_array <<< "$XDG_DATA_DIRS"
|
||||
|
||||
# Build mime.cache
|
||||
# needed for gtk and qt icon
|
||||
if [ "$needs_update" = true ]; then
|
||||
rm -rf "$SNAP_USER_DATA/.local/share/mime"
|
||||
if [ ! -f "$SNAP/usr/share/mime/mime.cache" ]; then
|
||||
if command -v update-mime-database >/dev/null; then
|
||||
cp --preserve=timestamps -dR "$SNAP/usr/share/mime" "$SNAP_USER_DATA/.local/share"
|
||||
async_exec update-mime-database "$SNAP_USER_DATA/.local/share/mime"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Gio modules and cache (including gsettings module)
|
||||
export GIO_MODULE_DIR="$SNAP_USER_COMMON/.cache/gio-modules"
|
||||
function compile_giomodules {
|
||||
if [ -f "$1/glib-2.0/gio-querymodules" ]; then
|
||||
rm -rf "$GIO_MODULE_DIR"
|
||||
ensure_dir_exists "$GIO_MODULE_DIR"
|
||||
ln -s "$SNAP"/usr/lib/"$ARCH"/gio/modules/*.so "$GIO_MODULE_DIR"
|
||||
"$1/glib-2.0/gio-querymodules" "$GIO_MODULE_DIR"
|
||||
fi
|
||||
}
|
||||
if [ "$needs_update" = true ]; then
|
||||
async_exec compile_giomodules "/snap/core20/current/usr/lib/$ARCH"
|
||||
fi
|
||||
|
||||
# Setup compiled gsettings schema
|
||||
export GSETTINGS_SCHEMA_DIR="$SNAP_USER_DATA/.local/share/glib-2.0/schemas"
|
||||
function compile_schemas {
|
||||
if [ -f "$1" ]; then
|
||||
rm -rf "$GSETTINGS_SCHEMA_DIR"
|
||||
ensure_dir_exists "$GSETTINGS_SCHEMA_DIR"
|
||||
for ((i = 0; i < ${#data_dirs_array[@]}; i++)); do
|
||||
schema_dir="${data_dirs_array[$i]}/glib-2.0/schemas"
|
||||
if [ -f "$schema_dir/gschemas.compiled" ]; then
|
||||
# This directory already has compiled schemas
|
||||
continue
|
||||
fi
|
||||
if [ -n "$(ls -A "$schema_dir"/*.xml 2>/dev/null)" ]; then
|
||||
ln -s "$schema_dir"/*.xml "$GSETTINGS_SCHEMA_DIR"
|
||||
fi
|
||||
if [ -n "$(ls -A "$schema_dir"/*.override 2>/dev/null)" ]; then
|
||||
ln -s "$schema_dir"/*.override "$GSETTINGS_SCHEMA_DIR"
|
||||
fi
|
||||
done
|
||||
# Only compile schemas if we copied anything
|
||||
if [ -n "$(ls -A "$GSETTINGS_SCHEMA_DIR"/*.xml "$GSETTINGS_SCHEMA_DIR"/*.override 2>/dev/null)" ]; then
|
||||
"$1" "$GSETTINGS_SCHEMA_DIR"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
if [ "$needs_update" = true ]; then
|
||||
async_exec compile_schemas "/snap/core20/current/usr/lib/$ARCH/glib-2.0/glib-compile-schemas"
|
||||
fi
|
||||
|
||||
# Gdk-pixbuf loaders
|
||||
export GDK_PIXBUF_MODULE_FILE="$SNAP_USER_COMMON/.cache/gdk-pixbuf-loaders.cache"
|
||||
export GDK_PIXBUF_MODULEDIR="$SNAP/usr/lib/$ARCH/gdk-pixbuf-2.0/2.10.0/loaders"
|
||||
if [ "$needs_update" = true ] || [ ! -f "$GDK_PIXBUF_MODULE_FILE" ]; then
|
||||
rm -f "$GDK_PIXBUF_MODULE_FILE"
|
||||
if [ -f "$SNAP/usr/lib/$ARCH/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders" ]; then
|
||||
async_exec "$SNAP/usr/lib/$ARCH/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders" > "$GDK_PIXBUF_MODULE_FILE"
|
||||
fi
|
||||
fi
|
||||
|
||||
# shellcheck disable=SC2154
|
||||
if [ "$wayland_available" = true ]; then
|
||||
export GDK_BACKEND="wayland"
|
||||
fi
|
||||
|
||||
append_dir GTK_PATH "$SNAP/usr/lib/$ARCH/gtk-3.0"
|
||||
append_dir GTK_PATH "$SNAP/usr/lib/gtk-3.0"
|
||||
# We don't have gtk libraries in this path but
|
||||
# enforcing this environment variable will disallow
|
||||
# gtk binaries like `gtk-query-immodules` to not search
|
||||
# in system default library paths.
|
||||
# Based on https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtkmodules.c#L104-136
|
||||
export GTK_EXE_PREFIX="$SNAP/usr"
|
||||
|
||||
# ibus and fcitx integration
|
||||
GTK_IM_MODULE_DIR="$SNAP_USER_COMMON/.cache/immodules"
|
||||
export GTK_IM_MODULE_FILE="$GTK_IM_MODULE_DIR/immodules.cache"
|
||||
# shellcheck disable=SC2154
|
||||
if [ "$needs_update" = true ]; then
|
||||
rm -rf "$GTK_IM_MODULE_DIR"
|
||||
ensure_dir_exists "$GTK_IM_MODULE_DIR"
|
||||
ln -s "$SNAP"/usr/lib/"$ARCH"/gtk-3.0/3.0.0/immodules/*.so "$GTK_IM_MODULE_DIR"
|
||||
async_exec "$SNAP/usr/lib/$ARCH/libgtk-3-0/gtk-query-immodules-3.0" > "$GTK_IM_MODULE_FILE"
|
||||
fi
|
||||
|
||||
# shellcheck disable=SC2154
|
||||
[ "$needs_update" = true ] && echo "SNAP_DESKTOP_LAST_REVISION=$SNAP_VERSION" > "$SNAP_USER_DATA/.last_revision"
|
||||
|
||||
wait_for_async_execs
|
||||
|
||||
exec "$@"
|
@ -1,34 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# On Fedora $SNAP is under /var and there is some magic to map it to /snap.
|
||||
# We need to handle that case and reset $SNAP
|
||||
SNAP=$(echo "$SNAP" | sed -e "s|/var/lib/snapd||g")
|
||||
|
||||
if [ "$SNAP_ARCH" == "amd64" ]; then
|
||||
ARCH="x86_64-linux-gnu"
|
||||
elif [ "$SNAP_ARCH" == "armhf" ]; then
|
||||
ARCH="arm-linux-gnueabihf"
|
||||
elif [ "$SNAP_ARCH" == "arm64" ]; then
|
||||
ARCH="aarch64-linux-gnu"
|
||||
else
|
||||
ARCH="$SNAP_ARCH-linux-gnu"
|
||||
fi
|
||||
|
||||
GDK_CACHE_DIR="$SNAP_USER_COMMON/.cache"
|
||||
if [[ -d "$SNAP_USER_DATA/.cache" && ! -e "$GDK_CACHE_DIR" ]]; then
|
||||
# the .cache directory used to be stored under $SNAP_USER_DATA, migrate it
|
||||
mv "$SNAP_USER_DATA/.cache" "$SNAP_USER_COMMON/"
|
||||
fi
|
||||
[ ! -d "$GDK_CACHE_DIR" ] && mkdir -p "$GDK_CACHE_DIR"
|
||||
|
||||
# Gdk-pixbuf loaders
|
||||
export GDK_PIXBUF_MODULE_FILE="$GDK_CACHE_DIR/gdk-pixbuf-loaders.cache"
|
||||
export GDK_PIXBUF_MODULEDIR="$SNAP/usr/lib/$ARCH/gdk-pixbuf-2.0/2.10.0/loaders"
|
||||
if [ -f "$SNAP/usr/lib/$ARCH/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders" ]; then
|
||||
"$SNAP/usr/lib/$ARCH/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders" > "$GDK_PIXBUF_MODULE_FILE"
|
||||
fi
|
||||
|
||||
# Create $XDG_RUNTIME_DIR if not exists (to be removed when https://pad.lv/1656340 is fixed)
|
||||
[ -n "$XDG_RUNTIME_DIR" ] && mkdir -p "$XDG_RUNTIME_DIR" -m 700
|
||||
|
||||
exec "$@"
|
@ -1,86 +0,0 @@
|
||||
name: codium
|
||||
adopt-info: codium
|
||||
summary: Code editing. Redefined.
|
||||
description: |
|
||||
Binary releases of Code without branding/telemetry/licensing
|
||||
|
||||
base: core18
|
||||
grade: stable
|
||||
confinement: classic
|
||||
compression: lzo
|
||||
|
||||
parts:
|
||||
codium:
|
||||
plugin: nil
|
||||
override-build: |
|
||||
set -eu
|
||||
ARCHITECTURE=$(dpkg --print-architecture)
|
||||
# Get GitHub releases
|
||||
wget --quiet https://api.github.com/repos/VSCodium/vscodium/releases -O latest.json
|
||||
VERSION=$(jq -r 'sort_by(.tag_name)|last.tag_name' latest.json)
|
||||
DEB_URL=$(jq -r 'map(select(.tag_name == "'"$VERSION"'"))|first.assets[].browser_download_url|select(endswith("'"_$ARCHITECTURE.deb"'"))' latest.json)
|
||||
DEB=$(basename "${DEB_URL}")
|
||||
# Downloading .deb"
|
||||
wget "${DEB_URL}" -O "${SNAPCRAFT_PART_INSTALL}/${DEB}"
|
||||
# Unpacking .deb"
|
||||
dpkg -x "${SNAPCRAFT_PART_INSTALL}/${DEB}" ${SNAPCRAFT_PART_INSTALL}
|
||||
rm -f latest.json
|
||||
rm -f "${SNAPCRAFT_PART_INSTALL}/${DEB}"
|
||||
# Set version
|
||||
snapcraftctl set-version "$VERSION"
|
||||
# Correct path to icon.
|
||||
sed -i 's|Icon=vscodium|Icon=${SNAP}/usr/share/pixmaps/vscodium.png|g' ${SNAPCRAFT_PART_INSTALL}/usr/share/applications/codium.desktop
|
||||
sed -i 's|Exec=/usr/share/codium/codium|Exec=codium|g' ${SNAPCRAFT_PART_INSTALL}/usr/share/applications/codium.desktop
|
||||
sed -i 's|Icon=vscodium|Icon=/usr/share/pixmaps/vscodium.png|g' ${SNAPCRAFT_PART_INSTALL}/usr/share/applications/codium-url-handler.desktop
|
||||
build-packages:
|
||||
- wget
|
||||
- jq
|
||||
stage-packages:
|
||||
- fcitx-frontend-gtk3
|
||||
- gvfs-libs
|
||||
- libasound2
|
||||
- libgconf-2-4
|
||||
- libglib2.0-bin
|
||||
- libgnome-keyring0
|
||||
- libgtk-3-0
|
||||
- libnotify4
|
||||
- libnspr4
|
||||
- libnss3
|
||||
- libpcre3
|
||||
- libpulse0
|
||||
- libsecret-1-0
|
||||
- libxshmfence1
|
||||
- libxss1
|
||||
- libxtst6
|
||||
- zlib1g
|
||||
- libx11-xcb1
|
||||
- libxkbfile1
|
||||
- libdrm2
|
||||
- libgbm1
|
||||
- libxcb-dri3-0
|
||||
prime:
|
||||
- -usr/share/doc
|
||||
- -usr/share/fonts
|
||||
- -usr/share/icons
|
||||
- -usr/share/lintian
|
||||
- -usr/share/man
|
||||
- -usr/share/codium/chrome-sandbox
|
||||
|
||||
electron-launch:
|
||||
after:
|
||||
- codium
|
||||
plugin: dump
|
||||
source: snap/local
|
||||
|
||||
apps:
|
||||
codium:
|
||||
command: electron-launch $SNAP/usr/share/codium/bin/codium --no-sandbox
|
||||
desktop: usr/share/applications/codium.desktop
|
||||
environment:
|
||||
GSETTINGS_SCHEMA_DIR: $SNAP/usr/share/glib-2.0/schemas
|
||||
|
||||
url-handler:
|
||||
command: electron-launch $SNAP/usr/share/codium/bin/codium --open-url --no-sandbox
|
||||
desktop: usr/share/applications/codium-url-handler.desktop
|
||||
environment:
|
||||
GSETTINGS_SCHEMA_DIR: $SNAP/usr/share/glib-2.0/schemas
|
81
stores/snapcraft/stable/snapcraft.yaml
Normal file
81
stores/snapcraft/stable/snapcraft.yaml
Normal file
@ -0,0 +1,81 @@
|
||||
name: @@SNAP_NAME@@
|
||||
version: '@@SNAP_VERSION@@'
|
||||
summary: Code editing. Redefined.
|
||||
description: |
|
||||
Binary releases of Visual Studio Code without branding/telemetry/licensing
|
||||
|
||||
base: core20
|
||||
grade: stable
|
||||
confinement: classic
|
||||
compression: lzo
|
||||
|
||||
parts:
|
||||
@@SNAP_NAME@@:
|
||||
plugin: dump
|
||||
source: .
|
||||
stage-packages:
|
||||
- ca-certificates
|
||||
- libasound2
|
||||
- libatk-bridge2.0-0
|
||||
- libatk1.0-0
|
||||
- libatspi2.0-0
|
||||
- libcairo2
|
||||
- libcanberra-gtk3-module
|
||||
- libcurl3-gnutls
|
||||
- libcurl3-nss
|
||||
- libcurl4
|
||||
- libdrm2
|
||||
- libgbm1
|
||||
- libgl1
|
||||
- libglib2.0-0
|
||||
- libgtk-3-0
|
||||
- libibus-1.0-5
|
||||
- libnss3
|
||||
- libpango-1.0-0
|
||||
- libsecret-1-0
|
||||
- libxcomposite1
|
||||
- libxdamage1
|
||||
- libxfixes3
|
||||
- libxkbcommon0
|
||||
- libxkbfile1
|
||||
- libxrandr2
|
||||
- libxss1
|
||||
- locales-all
|
||||
- packagekit-gtk3-module
|
||||
- xdg-utils
|
||||
prime:
|
||||
- -usr/share/doc
|
||||
- -usr/share/fonts
|
||||
- -usr/share/icons
|
||||
- -usr/share/lintian
|
||||
- -usr/share/man
|
||||
build-attributes:
|
||||
- enable-patchelf
|
||||
build-packages:
|
||||
- patchelf
|
||||
override-build: |
|
||||
snapcraftctl build
|
||||
patchelf --force-rpath --set-rpath '$ORIGIN/../../lib/x86_64-linux-gnu:$ORIGIN:/snap/core20/current/lib/x86_64-linux-gnu' $SNAPCRAFT_PART_INSTALL/snap/usr/share/@@SNAP_NAME@@/chrome_crashpad_handler
|
||||
|
||||
cleanup:
|
||||
after:
|
||||
- @@SNAP_NAME@@
|
||||
plugin: nil
|
||||
build-snaps:
|
||||
- core20
|
||||
build-packages:
|
||||
- patchelf
|
||||
override-prime: |
|
||||
set -eux
|
||||
for snap in "core20"; do
|
||||
cd "/snap/$snap/current" && find . -type f,l -exec rm -f "$SNAPCRAFT_PRIME/{}" \;
|
||||
done
|
||||
patchelf --print-rpath $SNAPCRAFT_PRIME/snap/usr/share/@@SNAP_NAME@@/chrome_crashpad_handler
|
||||
|
||||
apps:
|
||||
@@SNAP_NAME@@:
|
||||
command: electron-launch $SNAP/snap/usr/share/@@SNAP_NAME@@/bin/@@SNAP_NAME@@ --no-sandbox
|
||||
common-id: @@SNAP_NAME@@.desktop
|
||||
|
||||
url-handler:
|
||||
command: electron-launch $SNAP/snap/usr/share/@@SNAP_NAME@@/bin/@@SNAP_NAME@@ --open-url --no-sandbox
|
Loading…
Reference in New Issue
Block a user