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

Massimiliano Torromeo mtorromeo at gemini.archlinux.org
Sat Apr 2 14:08:35 UTC 2022


    Date: Saturday, April 2, 2022 @ 14:08:34
  Author: mtorromeo
Revision: 1180807

archrelease: copy trunk to community-staging-x86_64

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

-------------------+
 PKGBUILD          |  141 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 code.js           |   30 +++++++++++
 code.sh           |    4 +
 product_json.diff |   22 ++++++++
 4 files changed, 197 insertions(+)

Copied: code/repos/community-staging-x86_64/PKGBUILD (from rev 1180806, code/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD	                        (rev 0)
+++ community-staging-x86_64/PKGBUILD	2022-04-02 14:08:34 UTC (rev 1180807)
@@ -0,0 +1,141 @@
+# 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
+#   - erbium: 12
+#   - fermium: 14
+#   - gallium: 16
+# Important: Remember to check https://github.com/microsoft/vscode/blob/master/.yarnrc (choose correct tag) for target electron version
+_electron=electron17
+pkgver=1.66.0
+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' 'python' 'yarn' 'nodejs-lts-gallium')
+provides=('vscode')
+source=("$pkgname::git+$url.git#tag=$pkgver"
+        'code.js'
+        'code.sh'
+        'product_json.diff')
+sha512sums=('SKIP'
+            '6e8ee1df4dd982434a8295ca99e786a536457c86c34212546e548b115081798c5492a79f99cd5a3f1fa30fb71d29983aaabc2c79f4895d4a709d8354e9e2eade'
+            'b8bdb0e53cf8748140ed444c9b02cb6a57a7e1e120d96861d4cc9f79744a987f0253c052a238c78aa2c3f86459c4afb6f3b687435f0588d8f640822a9908b257'
+            '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
+  sed -i "s|#!/usr/bin/electron|#!/usr/bin/$_electron|" ../code.js
+
+  # 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() {
+  cd $pkgname
+
+  yarn install --arch=$_vscode_arch
+
+  gulp compile-build
+  gulp compile-extension-media
+  gulp compile-extensions-build
+  gulp vscode-linux-$_vscode_arch-min
+}
+
+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.js (from rev 1180806, code/trunk/code.js)
===================================================================
--- community-staging-x86_64/code.js	                        (rev 0)
+++ community-staging-x86_64/code.js	2022-04-02 14:08:34 UTC (rev 1180807)
@@ -0,0 +1,30 @@
+#!/usr/bin/electron
+// don't edit the electron binary name here! simply change the variable in the PKGBUILD and we will sed it into the correct one :)
+
+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 1180806, code/trunk/code.sh)
===================================================================
--- community-staging-x86_64/code.sh	                        (rev 0)
+++ community-staging-x86_64/code.sh	2022-04-02 14:08:34 UTC (rev 1180807)
@@ -0,0 +1,4 @@
+#!/bin/bash
+
+# don't edit the electron binary name here! simply change the variable in the PKGBUILD and we will sed it into the correct one :)
+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 1180806, code/trunk/product_json.diff)
===================================================================
--- community-staging-x86_64/product_json.diff	                        (rev 0)
+++ community-staging-x86_64/product_json.diff	2022-04-02 14:08:34 UTC (rev 1180807)
@@ -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