[arch-commits] Commit in code/repos (6 files)

Filipe Laíns ffy00 at archlinux.org
Wed Mar 24 18:49:56 UTC 2021


    Date: Wednesday, March 24, 2021 @ 18:49:56
  Author: ffy00
Revision: 901720

archrelease: copy trunk to community-staging-x86_64

Added:
  code/repos/community-staging-x86_64/
  code/repos/community-staging-x86_64/PKGBUILD
    (from rev 901719, code/trunk/PKGBUILD)
  code/repos/community-staging-x86_64/code-liveshare.diff
    (from rev 901719, code/trunk/code-liveshare.diff)
  code/repos/community-staging-x86_64/code.js
    (from rev 901719, code/trunk/code.js)
  code/repos/community-staging-x86_64/code.sh
    (from rev 901719, code/trunk/code.sh)
  code/repos/community-staging-x86_64/product_json.diff
    (from rev 901719, code/trunk/product_json.diff)

---------------------+
 PKGBUILD            |  155 ++++++++++++++++++++++++++++++++++++++++++++++++++
 code-liveshare.diff |   12 +++
 code.js             |   29 +++++++++
 code.sh             |    3 
 product_json.diff   |   22 +++++++
 5 files changed, 221 insertions(+)

Copied: code/repos/community-staging-x86_64/PKGBUILD (from rev 901719, code/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD	                        (rev 0)
+++ community-staging-x86_64/PKGBUILD	2021-03-24 18:49:56 UTC (rev 901720)
@@ -0,0 +1,155 @@
+# Maintainer: Filipe Laíns (FFY00) <lains at archlinux.org>
+# Contributor: Michael Hansen <zrax0111 gmail com>
+# Contributor: Francisco Magalhães <franmagneto gmail com>
+
+pkgname=code
+pkgdesc='The Open Source build of Visual Studio Code (vscode) editor'
+# Important: Remember to check https://github.com/microsoft/vscode/wiki/How-to-Contribute#prerequisites for target node version
+# NodeJS versioning cheatsheet:
+#   - carbon: 8
+#   - dubnium: 10
+#   - ?: 11 (not in repos)
+#   - erbium: 12
+# Important: Remember to check https://github.com/microsoft/vscode/blob/master/.yarnrc (choose correct tag) for target electron version
+_electron=electron
+pkgver=1.54.3
+pkgrel=2
+arch=('x86_64')
+url='https://github.com/microsoft/vscode'
+license=('MIT')
+depends=($_electron 'libsecret' 'libx11' 'libxkbfile' 'ripgrep')
+optdepends=('bash-completion: Bash completions'
+            'zsh-completions: ZSH completitons'
+            'x11-ssh-askpass: SSH authentication')
+makedepends=('git' 'gulp' 'npm' 'python2' 'yarn' 'nodejs-lts-erbium')
+provides=('vscode')
+source=("$pkgname::git+$url.git#tag=$pkgver"
+        'code.js'
+        'code.sh'
+        'product_json.diff')
+sha512sums=('SKIP'
+            '814c9554427183cd893a33cd2cbe91f6e0ea71921ef0717c86217b1d3058d265f9ff7a9ace3e7b76f122e60b7686475cf4d999e581a1845face3033afb9f745f'
+            '0e75ee88274cbaf48c59ef6f363f6b8ac2ea83f8b17a61155008db773b709a1f0233754fa63a136ec0417313ba90a7eb17db000ec22a38ca8840d8ba6c47cab1'
+            'b1aa0d7c5b3e3e8ba1172822d75ea38e90efc431b270e0b4ca9e45bf9c0be0f60922c8618969ef071b5b6dbd9ac9f030294f1bf49bcc28c187b46d113dca63a7')
+
+# Even though we don't officially support other archs, let's
+# allow the user to use this PKGBUILD to compile the package
+# for his architecture
+case "$CARCH" in
+  i686)
+    _vscode_arch=ia32
+    ;;
+  x86_64)
+    _vscode_arch=x64
+    ;;
+  armv7h)
+    _vscode_arch=arm
+    ;;
+  *)
+    # Needed for mksrcinfo
+    _vscode_arch=DUMMY
+    ;;
+esac
+
+prepare() {
+  cd $pkgname
+
+  # Change electron binary name to the target electron
+  sed -i "s|exec electron |exec $_electron |" ../code.sh
+
+  # This patch no longer contains proprietary modifications.
+  # See https://github.com/Microsoft/vscode/issues/31168 for details.
+  patch -p0 < ../product_json.diff
+
+  # Set the commit and build date
+  local _commit=$(git rev-parse HEAD)
+  local _datestamp=$(date -u -Is | sed 's/\+00:00/Z/')
+  sed -e "s/@COMMIT@/$_commit/" -e "s/@DATE@/$_datestamp/" -i product.json
+
+  # Build native modules for system electron
+  local _target=$(</usr/lib/$_electron/version)
+  sed -i "s/^target .*/target \"${_target//v/}\"/" .yarnrc
+
+  # Patch appdata and desktop file
+  sed -i 's|/usr/share/@@NAME@@/@@NAME@@|@@NAME@@|g
+          s|@@NAME_SHORT@@|Code|g
+          s|@@NAME_LONG@@|Code - OSS|g
+          s|@@NAME@@|code-oss|g
+          s|@@ICON@@|com.visualstudio.code.oss|g
+          s|@@EXEC@@|/usr/bin/code-oss|g
+          s|@@LICENSE@@|MIT|g
+          s|@@URLPROTOCOL@@|vscode|g
+          s|inode/directory;||' resources/linux/code{.appdata.xml,.desktop,-url-handler.desktop}
+
+  sed -i 's|MimeType=.*|MimeType=x-scheme-handler/code-oss;|' resources/linux/code-url-handler.desktop
+
+  # Add completitions for code-oss
+  cp resources/completions/bash/code resources/completions/bash/code-oss
+  cp resources/completions/zsh/_code resources/completions/zsh/_code-oss
+
+  # Patch completitions with correct names
+  sed -i 's|@@APPNAME@@|code|g' resources/completions/{bash/code,zsh/_code}
+  sed -i 's|@@APPNAME@@|code-oss|g' resources/completions/{bash/code-oss,zsh/_code-oss}
+
+  # Fix bin path
+  sed -i "s|return path.join(path.dirname(execPath), 'bin', \`\${product.applicationName}\`);|return '/usr/bin/code';|g
+          s|return path.join(appRoot, 'scripts', 'code-cli.sh');|return '/usr/bin/code';|g" \
+          src/vs/platform/environment/node/environmentService.ts
+}
+
+build() {
+  # https://github.com/mapbox/node-sqlite3/issues/1044
+  mkdir -p path
+  ln -sf /usr/bin/python2 path/python
+  export PATH="$PWD/path:$PATH"
+
+  cd $pkgname
+
+  yarn install --arch=$_vscode_arch
+
+  # The default memory limit may be too low for current versions of node
+  # to successfully build vscode. Change it if this number still doesn't
+  # work for your system.
+  mem_limit="--max_old_space_size=6144"
+
+  if ! /usr/bin/node $mem_limit /usr/bin/gulp vscode-linux-$_vscode_arch-min
+  then
+      echo
+      echo "*** NOTE: If the build failed due to running out of file handles (EMFILE),"
+      echo "*** you will need to raise your max open file limit."
+      echo "*** You can check this for more information on how to increase this limit:"
+      echo "***    https://ro-che.info/articles/2017-03-26-increase-open-files-limit"
+      exit 1
+  fi
+}
+
+package() {
+  # Install resource files
+  install -dm 755 "$pkgdir"/usr/lib/$pkgname
+  cp -r --no-preserve=ownership --preserve=mode VSCode-linux-$_vscode_arch/resources/app/* "$pkgdir"/usr/lib/$pkgname/
+
+  # Replace statically included binary with system copy
+  ln -sf /usr/bin/rg "$pkgdir"/usr/lib/code/node_modules.asar.unpacked/vscode-ripgrep/bin/rg
+
+  # Install binary
+  install -Dm 755 code.sh "$pkgdir"/usr/bin/code-oss
+  install -Dm 755 code.js "$pkgdir"/usr/lib/$pkgname/code.js
+  ln -sf /usr/bin/code-oss "$pkgdir"/usr/bin/code
+
+  # Install appdata and desktop file
+  install -Dm 644 $pkgname/resources/linux/code.appdata.xml "$pkgdir"/usr/share/metainfo/code-oss.appdata.xml
+  install -Dm 644 $pkgname/resources/linux/code.desktop "$pkgdir"/usr/share/applications/code-oss.desktop
+  install -Dm 644 $pkgname/resources/linux/code-url-handler.desktop "$pkgdir"/usr/share/applications/code-oss-url-handler.desktop
+  install -Dm 644 VSCode-linux-$_vscode_arch/resources/app/resources/linux/code.png "$pkgdir"/usr/share/pixmaps/com.visualstudio.code.oss.png
+
+  # Install bash and zsh completions
+  install -Dm 644 $pkgname/resources/completions/bash/code "$pkgdir"/usr/share/bash-completion/completions/code
+  install -Dm 644 $pkgname/resources/completions/bash/code-oss "$pkgdir"/usr/share/bash-completion/completions/code-oss
+  install -Dm 644 $pkgname/resources/completions/zsh/_code "$pkgdir"/usr/share/zsh/site-functions/_code
+  install -Dm 644 $pkgname/resources/completions/zsh/_code-oss "$pkgdir"/usr/share/zsh/site-functions/_code-oss
+
+  # Install license files
+  install -Dm 644 VSCode-linux-$_vscode_arch/resources/app/LICENSE.txt "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+  install -Dm 644 VSCode-linux-$_vscode_arch/resources/app/ThirdPartyNotices.txt "$pkgdir"/usr/share/licenses/$pkgname/ThirdPartyNotices.txt
+}
+

Copied: code/repos/community-staging-x86_64/code-liveshare.diff (from rev 901719, code/trunk/code-liveshare.diff)
===================================================================
--- community-staging-x86_64/code-liveshare.diff	                        (rev 0)
+++ community-staging-x86_64/code-liveshare.diff	2021-03-24 18:49:56 UTC (rev 901720)
@@ -0,0 +1,12 @@
+diff --git a/product.json b/product.json
+index b250c66fc4..8a9befcfbb 100644
+--- a/product.json
++++ b/product.json
+@@ -19,6 +19,7 @@
+ 	"reportIssueUrl": "https://github.com/Microsoft/vscode/issues/new",
+ 	"urlProtocol": "code-oss",
+ 	"extensionAllowedProposedApi": [
++		"ms-vsliveshare.vsliveshare",
+ 		"ms-vscode.references-view"
+ 	],
+ 	"quality": "stable",

Copied: code/repos/community-staging-x86_64/code.js (from rev 901719, code/trunk/code.js)
===================================================================
--- community-staging-x86_64/code.js	                        (rev 0)
+++ community-staging-x86_64/code.js	2021-03-24 18:49:56 UTC (rev 901720)
@@ -0,0 +1,29 @@
+#!/usr/bin/electron
+
+const name = 'code-oss';
+
+const app = require('electron').app;
+const path = require('path');
+const fs = require("fs");
+
+// Change command name.
+const fd = fs.openSync("/proc/self/comm", fs.constants.O_WRONLY);
+fs.writeSync(fd, name);
+fs.closeSync(fd);
+
+// Remove first command line argument (/usr/lib/code/code.js). - We call the CLI file first
+process.argv.splice(0, 1);
+
+// Set application paths.
+const appPath = __dirname;
+const packageJson = require(path.join(appPath, 'package.json'));
+app.setAppPath(appPath);
+app.setDesktopName(name + '.desktop');
+app.setName(name);
+app.setPath('userCache', path.join(app.getPath('cache'), name));
+app.setPath('userData', path.join(app.getPath('appData'), name));
+app.setVersion(packageJson.version);
+
+// Run the application.
+require('module')._load(appPath, module, true);
+

Copied: code/repos/community-staging-x86_64/code.sh (from rev 901719, code/trunk/code.sh)
===================================================================
--- community-staging-x86_64/code.sh	                        (rev 0)
+++ community-staging-x86_64/code.sh	2021-03-24 18:49:56 UTC (rev 901720)
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+ELECTRON_RUN_AS_NODE=1 exec electron /usr/lib/code/out/cli.js /usr/lib/code/code.js "$@"

Copied: code/repos/community-staging-x86_64/product_json.diff (from rev 901719, code/trunk/product_json.diff)
===================================================================
--- community-staging-x86_64/product_json.diff	                        (rev 0)
+++ community-staging-x86_64/product_json.diff	2021-03-24 18:49:56 UTC (rev 901720)
@@ -0,0 +1,22 @@
+--- product.json	2019-04-06 13:26:49.879655883 +0100
++++ product.json	2019-04-06 13:26:37.399656243 +0100
+@@ -1,4 +1,19 @@
+ {
++	"quality": "stable",
++	"extensionsGallery": {
++		"serviceUrl": "https://open-vsx.org/vscode/gallery",
++		"itemUrl": "https://open-vsx.org/vscode/item"
++	},
++	"linkProtectionTrustedDomains": [
++		"https://open-vsx.org"
++	],
++	"documentationUrl": "https://code.visualstudio.com/docs",
++	"requestFeatureUrl": "https://github.com/Microsoft/vscode/issues",
++	"introductoryVideosUrl": "https://go.microsoft.com/fwlink/?linkid=832146",
++	"tipsAndTricksUrl": "https://go.microsoft.com/fwlink/?linkid=852118",
++	"keyboardShortcutsUrlLinux": "https://go.microsoft.com/fwlink/?linkid=832144",
++	"commit": "@COMMIT@",
++	"date": "@DATE@",
+ 	"nameShort": "Code - OSS",
+ 	"nameLong": "Code - OSS",
+ 	"applicationName": "code-oss",



More information about the arch-commits mailing list