[arch-commits] Commit in atom/repos (12 files)

Nicola Squartini tensor5 at archlinux.org
Tue Mar 19 08:42:58 UTC 2019


    Date: Tuesday, March 19, 2019 @ 08:42:58
  Author: tensor5
Revision: 442630

archrelease: copy trunk to community-staging-x86_64

Added:
  atom/repos/community-staging-x86_64/
  atom/repos/community-staging-x86_64/PKGBUILD
    (from rev 442629, atom/trunk/PKGBUILD)
  atom/repos/community-staging-x86_64/atom.js
    (from rev 442629, atom/trunk/atom.js)
  atom/repos/community-staging-x86_64/dugite-use-system-git.patch
    (from rev 442629, atom/trunk/dugite-use-system-git.patch)
  atom/repos/community-staging-x86_64/electron-3.patch
    (from rev 442629, atom/trunk/electron-3.patch)
  atom/repos/community-staging-x86_64/fix-atom-sh.patch
    (from rev 442629, atom/trunk/fix-atom-sh.patch)
  atom/repos/community-staging-x86_64/fix-license-path.patch
    (from rev 442629, atom/trunk/fix-license-path.patch)
  atom/repos/community-staging-x86_64/fix-middle-click.patch
    (from rev 442629, atom/trunk/fix-middle-click.patch)
  atom/repos/community-staging-x86_64/fix-restart.patch
    (from rev 442629, atom/trunk/fix-restart.patch)
  atom/repos/community-staging-x86_64/symbols-view-use-system-ctags.patch
    (from rev 442629, atom/trunk/symbols-view-use-system-ctags.patch)
  atom/repos/community-staging-x86_64/use-system-apm.patch
    (from rev 442629, atom/trunk/use-system-apm.patch)
  atom/repos/community-staging-x86_64/use-system-electron.patch
    (from rev 442629, atom/trunk/use-system-electron.patch)

-------------------------------------+
 PKGBUILD                            |  128 ++++++++++++++++++++
 atom.js                             |   33 +++++
 dugite-use-system-git.patch         |   33 +++++
 electron-3.patch                    |   11 +
 fix-atom-sh.patch                   |  138 ++++++++++++++++++++++
 fix-license-path.patch              |   22 +++
 fix-middle-click.patch              |   21 +++
 fix-restart.patch                   |   11 +
 symbols-view-use-system-ctags.patch |   11 +
 use-system-apm.patch                |   32 +++++
 use-system-electron.patch           |  210 ++++++++++++++++++++++++++++++++++
 11 files changed, 650 insertions(+)

Copied: atom/repos/community-staging-x86_64/PKGBUILD (from rev 442629, atom/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD	                        (rev 0)
+++ community-staging-x86_64/PKGBUILD	2019-03-19 08:42:58 UTC (rev 442630)
@@ -0,0 +1,128 @@
+# Maintainer: Nicola Squartini <tensor5 at gmail.com>
+
+pkgname=atom
+pkgver=1.35.1
+pkgrel=2
+pkgdesc='A hackable text editor for the 21st Century'
+arch=('x86_64')
+url='https://github.com/atom/atom'
+license=('MIT' 'custom')
+depends=('apm' 'electron' 'libxkbfile')
+makedepends=('git' 'npm')
+optdepends=('ctags: symbol indexing support'
+            'git: Git and GitHub integration')
+replaces=('atom-editor')
+options=(!emptydirs)
+source=("${pkgname}-${pkgver}.tar.gz::https://github.com/atom/atom/archive/v${pkgver}.tar.gz"
+        'atom.js'
+        'dugite-use-system-git.patch'
+        'electron-3.patch'
+        'fix-atom-sh.patch'
+        'fix-license-path.patch'
+        'fix-middle-click.patch'
+        'fix-restart.patch'
+        'symbols-view-use-system-ctags.patch'
+        'use-system-apm.patch'
+        'use-system-electron.patch')
+sha256sums=('a50bcfcda4cfe6017fb76defc3a0eeaca209954d86a631f5963e69a0c064c2e8'
+            'cdf87ab82cfcf69e8904684c59b08c35a68540ea16ab173fce06037ac341efcd'
+            '530b46d31df0f5e8f5881e1608a66fe75d549092a6db2e72ba3ad69c48714153'
+            '328da3b30f4e20e56b38e588d9fe871c01bbbe69865a79e9586919564bdfa869'
+            'ab9eed3d4c8bfefea256953428379ab1e636b9c7d4c4af30ddc3f485330183c2'
+            '5c77deec5896b658395bdf695c3bc044c9140ad0a5a87f34520c4a31972e51d1'
+            '142d540259296396f6d528ecf2f7c6a363f89f8a0d2ad66497f8392da06202bc'
+            'c4b883265d16ee30402c449d07be78b7088c1aa60c4f3e712b8bfe857c95f346'
+            '3c68e6b3751313e1d386e721f8f819fb051351fb2cf8e753b1d773a0f475fef8'
+            '53f43c9328a66e24b3467a0a06d9dfde83475f7e54251bf7a523beafaa043806'
+            '457bd1b06604aec1e2ebb6e0ea473742747e183e833fffb36377aad64c37bcd5')
+
+prepare() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+
+  patch -Np1 -i "${srcdir}"/fix-atom-sh.patch
+  patch -Np1 -i "${srcdir}"/use-system-electron.patch
+  patch -Np1 -i "${srcdir}"/use-system-apm.patch
+  patch -Np1 -i "${srcdir}"/fix-license-path.patch
+  patch -Np1 -i "${srcdir}"/fix-restart.patch
+
+  # Fix for Electron 3
+  patch -Np1 -i "${srcdir}"/electron-3.patch
+}
+
+build() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+
+  # Fix for Electron 3
+  npm install --package-lock-only @atom/nsfw at 1.0.20 node-abi
+
+  rm package-lock.json
+
+  ATOM_RESOURCE_PATH="${PWD}" \
+  npm_config_target=$(< /usr/lib/electron/version) \
+  apm install
+
+  # Use system ctags
+  cd node_modules/symbols-view
+  patch -Np1 -i "${srcdir}"/symbols-view-use-system-ctags.patch
+  rm -r vendor
+  cd ../..
+
+  # Use system git
+  cd node_modules/dugite
+  patch -Np1 -i "${srcdir}"/dugite-use-system-git.patch
+  rm -r git
+  cd ../..
+
+  # https://bugs.archlinux.org/task/61047
+  cd node_modules/tabs
+  patch -Np1 -i "${srcdir}"/fix-middle-click.patch
+  cd ../..
+
+  cd script
+  npm install
+  ./build
+}
+
+package() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+
+  install -d -m 755 "${pkgdir}"/usr/lib
+  cp -r out/app "${pkgdir}"/usr/lib/atom
+  install -m 644 out/startup.js "${pkgdir}"/usr/lib/atom
+  install -m 755 "${srcdir}/atom.js" "${pkgdir}"/usr/lib/atom/atom
+
+  install -d -m 755 "${pkgdir}/usr/share/applications"
+  sed -e "s|<%= appName %>|Atom|" \
+      -e "s/<%= description %>/${pkgdesc}/" \
+      -e "s|<%= installDir %>|/usr|" \
+      -e "s|<%= appFileName %>|atom|" \
+      -e "s|<%= iconPath %>|atom|" \
+      resources/linux/atom.desktop.in > "${pkgdir}/usr/share/applications/atom.desktop"
+
+  for size in 16 24 32 48 64 128 256 512 1024; do
+    install -D -m 644 resources/app-icons/stable/png/${size}.png \
+            "${pkgdir}"/usr/share/icons/hicolor/${size}x${size}/apps/atom.png
+  done
+  ln -sf ../../../share/icons/hicolor/1024x1024/apps/atom.png \
+      "${pkgdir}"/usr/lib/atom/resources/atom.png
+
+  install -D -m 755 atom.sh "${pkgdir}/usr/bin/atom"
+
+  install -d -m 755 "${pkgdir}/usr/share/licenses/${pkgname}"
+  node -e "require('./script/lib/get-license-text')().then((licenseText) => require('fs').writeFileSync('${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.md', licenseText))"
+
+  # Remove useless stuff
+  find "${pkgdir}"/usr/lib/atom/node_modules \
+      -name "*.a" -exec rm '{}' \; \
+      -or -name "*.bat" -exec rm '{}' \; \
+      -or -name "*.c" -exec rm '{}' \; \
+      -or -name "*.cpp" -exec rm '{}' \; \
+      -or -name "*.node" -exec chmod a-x '{}' \; \
+      -or -name "benchmark" -prune -exec rm -r '{}' \; \
+      -or -name "doc" -prune -exec rm -r '{}' \; \
+      -or -name "html" -prune -exec rm -r '{}' \; \
+      -or -name "man" -prune -exec rm -r '{}' \; \
+      -or -name "scripts" -prune -exec rm -r '{}' \; \
+      -or -path "*/less/gradle" -prune -exec rm -r '{}' \; \
+      -or -path "*/task-lists/src" -prune -exec rm -r '{}' \;
+}

Copied: atom/repos/community-staging-x86_64/atom.js (from rev 442629, atom/trunk/atom.js)
===================================================================
--- community-staging-x86_64/atom.js	                        (rev 0)
+++ community-staging-x86_64/atom.js	2019-03-19 08:42:58 UTC (rev 442630)
@@ -0,0 +1,33 @@
+#!/usr/bin/electron
+
+const name = "atom";
+
+const {app} = require("electron");
+const fs = require("fs");
+const Module = require("module");
+const {join} = require("path");
+const vm = require("vm");
+
+// 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/bin/electron).
+process.argv.splice(0, 1);
+
+// Set application paths.
+const appPath = __dirname;
+const packageJson = require(join(appPath, "package.json"));
+const productName = packageJson.productName;
+app.setAppPath(appPath);
+app.setDesktopName(name + ".desktop");
+app.setName(productName);
+app.setPath("userCache", join(app.getPath("cache"), productName));
+app.setPath("userData", join(app.getPath("appData"), productName));
+app.setVersion(packageJson.version);
+
+// Run the application.
+const startupJs = fs.readFileSync(join(appPath, "startup.js"), "utf-8");
+vm.runInThisContext(startupJs);
+Module._load(appPath, Module, true);

Copied: atom/repos/community-staging-x86_64/dugite-use-system-git.patch (from rev 442629, atom/trunk/dugite-use-system-git.patch)
===================================================================
--- community-staging-x86_64/dugite-use-system-git.patch	                        (rev 0)
+++ community-staging-x86_64/dugite-use-system-git.patch	2019-03-19 08:42:58 UTC (rev 442630)
@@ -0,0 +1,33 @@
+--- a/build/lib/git-environment.js
++++ b/build/lib/git-environment.js
+@@ -24,7 +24,7 @@
+         return path.resolve(process.env.LOCAL_GIT_DIRECTORY);
+     }
+     else {
+-        return resolveEmbeddedGitDir();
++        return '/usr';
+     }
+ }
+ /**
+@@ -57,7 +57,7 @@
+         return path.join(gitDir, 'mingw32', 'libexec', 'git-core');
+     }
+     else {
+-        return path.join(gitDir, 'libexec', 'git-core');
++        return path.join(gitDir, 'lib', 'git-core');
+     }
+ }
+ /**
+@@ -108,9 +108,9 @@
+         if (!env.GIT_SSL_CAINFO && !env.LOCAL_GIT_DIRECTORY) {
+             // use the SSL certificate bundle included in the distribution only
+             // when using embedded Git and not providing your own bundle
+-            const distDir = resolveEmbeddedGitDir();
+-            const sslCABundle = `${distDir}/ssl/cacert.pem`;
+-            env.GIT_SSL_CAINFO = sslCABundle;
++            // const distDir = resolveEmbeddedGitDir();
++            // const sslCABundle = `${distDir}/ssl/cacert.pem`;
++            // env.GIT_SSL_CAINFO = sslCABundle;
+         }
+     }
+     return { env, gitLocation };

Copied: atom/repos/community-staging-x86_64/electron-3.patch (from rev 442629, atom/trunk/electron-3.patch)
===================================================================
--- community-staging-x86_64/electron-3.patch	                        (rev 0)
+++ community-staging-x86_64/electron-3.patch	2019-03-19 08:42:58 UTC (rev 442630)
@@ -0,0 +1,11 @@
+--- a/src/text-editor-component.js
++++ b/src/text-editor-component.js
+@@ -4433,7 +4433,7 @@
+ 
+     if (element) {
+       element.className = className || ''
+-      element.styleMap.forEach((value, key) => {
++      element.attributeStyleMap.forEach((value, key) => {
+         if (!style || style[key] == null) element.style[key] = ''
+       })
+       if (style) Object.assign(element.style, style)

Copied: atom/repos/community-staging-x86_64/fix-atom-sh.patch (from rev 442629, atom/trunk/fix-atom-sh.patch)
===================================================================
--- community-staging-x86_64/fix-atom-sh.patch	                        (rev 0)
+++ community-staging-x86_64/fix-atom-sh.patch	2019-03-19 08:42:58 UTC (rev 442630)
@@ -0,0 +1,138 @@
+--- a/atom.sh
++++ b/atom.sh
+@@ -1,29 +1,5 @@
+ #!/bin/bash
+ 
+-if [ "$(uname)" == 'Darwin' ]; then
+-  OS='Mac'
+-elif [ "$(expr substr $(uname -s) 1 5)" == 'Linux' ]; then
+-  OS='Linux'
+-else
+-  echo "Your platform ($(uname -a)) is not supported."
+-  exit 1
+-fi
+-
+-case $(basename $0) in
+-  atom-beta)
+-    CHANNEL=beta
+-    ;;
+-  atom-nightly)
+-    CHANNEL=nightly
+-    ;;
+-  atom-dev)
+-    CHANNEL=dev
+-    ;;
+-  *)
+-    CHANNEL=stable
+-    ;;
+-esac
+-
+ export ATOM_DISABLE_SHELLING_OUT_FOR_ENVIRONMENT=true
+ 
+ while getopts ":wtfvh-:" opt; do
+@@ -65,95 +41,19 @@
+ ATOM_HOME="${ATOM_HOME:-$HOME/.atom}"
+ mkdir -p "$ATOM_HOME"
+ 
+-if [ $OS == 'Mac' ]; then
+-  if [ -L "$0" ]; then
+-    SCRIPT="$(readlink "$0")"
+-  else
+-    SCRIPT="$0"
+-  fi
+-  ATOM_APP="$(dirname "$(dirname "$(dirname "$(dirname "$SCRIPT")")")")"
+-  if [ "$ATOM_APP" == . ]; then
+-    unset ATOM_APP
+-  else
+-    ATOM_PATH="$(dirname "$ATOM_APP")"
+-    ATOM_APP_NAME="$(basename "$ATOM_APP")"
+-  fi
++ATOM_PATH="/usr/lib/atom/atom"
+ 
+-  if [ ! -z "${ATOM_APP_NAME}" ]; then
+-    # If ATOM_APP_NAME is known, use it as the executable name
+-    ATOM_EXECUTABLE_NAME="${ATOM_APP_NAME%.*}"
+-  else
+-    # Else choose it from the inferred channel name
+-    if [ "$CHANNEL" == 'beta' ]; then
+-      ATOM_EXECUTABLE_NAME="Atom Beta"
+-    elif [ "$CHANNEL" == 'nightly' ]; then
+-      ATOM_EXECUTABLE_NAME="Atom Nightly"
+-    elif [ "$CHANNEL" == 'dev' ]; then
+-      ATOM_EXECUTABLE_NAME="Atom Dev"
+-    else
+-      ATOM_EXECUTABLE_NAME="Atom"
+-    fi
+-  fi
+-
+-  if [ -z "${ATOM_PATH}" ]; then
+-    # If ATOM_PATH isn't set, check /Applications and then ~/Applications for Atom.app
+-    if [ -x "/Applications/$ATOM_APP_NAME" ]; then
+-      ATOM_PATH="/Applications"
+-    elif [ -x "$HOME/Applications/$ATOM_APP_NAME" ]; then
+-      ATOM_PATH="$HOME/Applications"
+-    else
+-      # We haven't found an Atom.app, use spotlight to search for Atom
+-      ATOM_PATH="$(mdfind "kMDItemCFBundleIdentifier == 'com.github.atom'" | grep -v ShipIt | head -1 | xargs -0 dirname)"
+-
+-      # Exit if Atom can't be found
+-      if [ ! -x "$ATOM_PATH/$ATOM_APP_NAME" ]; then
+-        echo "Cannot locate ${ATOM_APP_NAME}, it is usually located in /Applications. Set the ATOM_PATH environment variable to the directory containing ${ATOM_APP_NAME}."
+-        exit 1
+-      fi
+-    fi
+-  fi
+-
+-  if [ $EXPECT_OUTPUT ]; then
+-    "$ATOM_PATH/$ATOM_APP_NAME/Contents/MacOS/$ATOM_EXECUTABLE_NAME" --executed-from="$(pwd)" --pid=$$ "$@"
+-    exit $?
+-  else
+-    open -a "$ATOM_PATH/$ATOM_APP_NAME" -n --args --executed-from="$(pwd)" --pid=$$ --path-environment="$PATH" "$@"
+-  fi
+-elif [ $OS == 'Linux' ]; then
+-  SCRIPT=$(readlink -f "$0")
+-  USR_DIRECTORY=$(readlink -f $(dirname $SCRIPT)/..)
+-
+-  case $CHANNEL in
+-    beta)
+-      ATOM_PATH="$USR_DIRECTORY/share/atom-beta/atom"
+-      ;;
+-    nightly)
+-      ATOM_PATH="$USR_DIRECTORY/share/atom-nightly/atom"
+-      ;;
+-    dev)
+-      ATOM_PATH="$USR_DIRECTORY/share/atom-dev/atom"
+-      ;;
+-    *)
+-      ATOM_PATH="$USR_DIRECTORY/share/atom/atom"
+-      ;;
+-  esac
+-
+-  : ${TMPDIR:=/tmp}
+-
+-  [ -x "$ATOM_PATH" ] || ATOM_PATH="$TMPDIR/atom-build/Atom/atom"
+-
+-  if [ $EXPECT_OUTPUT ]; then
+-    "$ATOM_PATH" --executed-from="$(pwd)" --pid=$$ "$@"
++if [ $EXPECT_OUTPUT ]; then
++  "$ATOM_PATH" --executed-from="$(pwd)" --pid=$$ "$@"
++  exit $?
++else
++  (
++  nohup "$ATOM_PATH" --executed-from="$(pwd)" --pid=$$ "$@" > "$ATOM_HOME/nohup.out" 2>&1
++  if [ $? -ne 0 ]; then
++    cat "$ATOM_HOME/nohup.out"
+     exit $?
+-  else
+-    (
+-    nohup "$ATOM_PATH" --executed-from="$(pwd)" --pid=$$ "$@" > "$ATOM_HOME/nohup.out" 2>&1
+-    if [ $? -ne 0 ]; then
+-      cat "$ATOM_HOME/nohup.out"
+-      exit $?
+-    fi
+-    ) &
+   fi
++  ) &
+ fi
+ 
+ # Exits this process when Atom is used as $EDITOR

Copied: atom/repos/community-staging-x86_64/fix-license-path.patch (from rev 442629, atom/trunk/fix-license-path.patch)
===================================================================
--- community-staging-x86_64/fix-license-path.patch	                        (rev 0)
+++ community-staging-x86_64/fix-license-path.patch	2019-03-19 08:42:58 UTC (rev 442630)
@@ -0,0 +1,22 @@
+--- a/src/main-process/atom-application.js
++++ b/src/main-process/atom-application.js
+@@ -430,7 +430,7 @@
+     this.openPathOnEvent('application:open-your-keymap', 'atom://.atom/keymap')
+     this.openPathOnEvent('application:open-your-snippets', 'atom://.atom/snippets')
+     this.openPathOnEvent('application:open-your-stylesheet', 'atom://.atom/stylesheet')
+-    this.openPathOnEvent('application:open-license', path.join(process.resourcesPath, 'LICENSE.md'))
++    this.openPathOnEvent('application:open-license', '/usr/share/licenses/atom/LICENSE.md')
+ 
+     this.configFile.onDidChange(settings => {
+       for (let window of this.getAllWindows()) {
+--- a/src/workspace.js
++++ b/src/workspace.js
+@@ -1132,7 +1132,7 @@
+ 
+   // Open Atom's license in the active pane.
+   openLicense () {
+-    return this.open(path.join(process.resourcesPath, 'LICENSE.md'))
++    return this.open('/usr/share/licenses/atom/LICENSE.md')
+   }
+ 
+   // Synchronously open the given URI in the active pane. **Only use this method

Copied: atom/repos/community-staging-x86_64/fix-middle-click.patch (from rev 442629, atom/trunk/fix-middle-click.patch)
===================================================================
--- community-staging-x86_64/fix-middle-click.patch	                        (rev 0)
+++ community-staging-x86_64/fix-middle-click.patch	2019-03-19 08:42:58 UTC (rev 442630)
@@ -0,0 +1,21 @@
+From 82e767bfafcc882f3c3811bb9eb008b8f7c2c731 Mon Sep 17 00:00:00 2001
+From: Mario Pilz <mario at pilz-at.net>
+Date: Fri, 21 Dec 2018 03:48:36 +0100
+Subject: [PATCH] Fix tab close on middle click for Electron 3
+
+---
+ lib/tab-bar-view.coffee | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/lib/tab-bar-view.coffee b/lib/tab-bar-view.coffee
+index 93e958e..2b91ad6 100644
+--- a/lib/tab-bar-view.coffee
++++ b/lib/tab-bar-view.coffee
+@@ -87,6 +87,7 @@ class TabBarView
+ 
+     @element.addEventListener "mousedown", @onMouseDown.bind(this)
+     @element.addEventListener "click", @onClick.bind(this)
++    @element.addEventListener "auxclick", @onClick.bind(this)
+     @element.addEventListener "dblclick", @onDoubleClick.bind(this)
+ 
+     @onDropOnOtherWindow = @onDropOnOtherWindow.bind(this)

Copied: atom/repos/community-staging-x86_64/fix-restart.patch (from rev 442629, atom/trunk/fix-restart.patch)
===================================================================
--- community-staging-x86_64/fix-restart.patch	                        (rev 0)
+++ community-staging-x86_64/fix-restart.patch	2019-03-19 08:42:58 UTC (rev 442630)
@@ -0,0 +1,11 @@
+--- a/src/main-process/atom-application.js
++++ b/src/main-process/atom-application.js
+@@ -1370,7 +1370,7 @@
+   }
+ 
+   restart () {
+-    const args = []
++    const args = ['/usr/lib/atom/atom']
+     if (this.safeMode) args.push('--safe')
+     if (this.logFile != null) args.push(`--log-file=${this.logFile}`)
+     if (this.socketPath != null) args.push(`--socket-path=${this.socketPath}`)

Copied: atom/repos/community-staging-x86_64/symbols-view-use-system-ctags.patch (from rev 442629, atom/trunk/symbols-view-use-system-ctags.patch)
===================================================================
--- community-staging-x86_64/symbols-view-use-system-ctags.patch	                        (rev 0)
+++ community-staging-x86_64/symbols-view-use-system-ctags.patch	2019-03-19 08:42:58 UTC (rev 442630)
@@ -0,0 +1,11 @@
+--- a/lib/tag-generator.js
++++ b/lib/tag-generator.js
+@@ -79,7 +79,7 @@ export default class TagGenerator {
+   generate() {
+     let tags = {};
+     const packageRoot = this.getPackageRoot();
+-    const command = path.join(packageRoot, 'vendor', `ctags-${process.platform}`);
++    const command = 'ctags';
+     const defaultCtagsFile = path.join(packageRoot, 'lib', 'ctags-config');
+     const args = [`--options=${defaultCtagsFile}`, '--fields=+KS'];
+ 

Copied: atom/repos/community-staging-x86_64/use-system-apm.patch (from rev 442629, atom/trunk/use-system-apm.patch)
===================================================================
--- community-staging-x86_64/use-system-apm.patch	                        (rev 0)
+++ community-staging-x86_64/use-system-apm.patch	2019-03-19 08:42:58 UTC (rev 442630)
@@ -0,0 +1,32 @@
+--- a/script/lib/run-apm-install.js
++++ b/script/lib/run-apm-install.js
+@@ -8,11 +8,8 @@
+   const installEnv = Object.assign({}, process.env)
+   // Set resource path so that apm can load metadata related to Atom.
+   installEnv.ATOM_RESOURCE_PATH = CONFIG.repositoryRootPath
+-  // Set our target (Electron) version so that node-pre-gyp can download the
+-  // proper binaries.
+-  installEnv.npm_config_target = CONFIG.appMetadata.electronVersion
+   childProcess.execFileSync(
+-    CONFIG.getApmBinPath(),
++    'apm',
+     ['--loglevel=error', ci ? 'ci' : 'install'],
+     {env: installEnv, cwd: packagePath, stdio: stdioOptions || 'inherit'}
+   )
+--- a/src/package-manager.js
++++ b/src/package-manager.js
+@@ -169,13 +169,7 @@
+       return configPath || this.apmPath
+     }
+ 
+-    const commandName = process.platform === 'win32' ? 'apm.cmd' : 'apm'
+-    const apmRoot = path.join(process.resourcesPath, 'app', 'apm')
+-    this.apmPath = path.join(apmRoot, 'bin', commandName)
+-    if (!fs.isFileSync(this.apmPath)) {
+-      this.apmPath = path.join(apmRoot, 'node_modules', 'atom-package-manager', 'bin', commandName)
+-    }
+-    return this.apmPath
++    return '/usr/lib/node_modules/atom-package-manager/bin/apm'
+   }
+ 
+   // Public: Get the paths being used to look for packages.

Copied: atom/repos/community-staging-x86_64/use-system-electron.patch (from rev 442629, atom/trunk/use-system-electron.patch)
===================================================================
--- community-staging-x86_64/use-system-electron.patch	                        (rev 0)
+++ community-staging-x86_64/use-system-electron.patch	2019-03-19 08:42:58 UTC (rev 442630)
@@ -0,0 +1,210 @@
+--- a/package.json
++++ b/package.json
+@@ -12,7 +12,6 @@
+     "url": "https://github.com/atom/atom/issues"
+   },
+   "license": "MIT",
+-  "electronVersion": "2.0.18",
+   "dependencies": {
+     "@atom/nsfw": "1.0.18",
+     "@atom/source-map-support": "^0.3.4",
+--- a/script/build
++++ b/script/build
+@@ -2,10 +2,6 @@
+ 
+ 'use strict'
+ 
+-// Run bootstrap first to ensure all the dependencies used later in this script
+-// are installed.
+-require('./bootstrap')
+-
+ // Needed so we can require src/module-cache.coffee during generateModuleCache
+ require('coffee-script/register')
+ require('colors')
+@@ -28,7 +24,6 @@
+   .wrap(yargs.terminalWidth())
+   .argv
+ 
+-const checkChromedriverVersion = require('./lib/check-chromedriver-version')
+ const cleanOutputDirectory = require('./lib/clean-output-directory')
+ const codeSignOnMac = require('./lib/code-sign-on-mac')
+ const codeSignOnWindows = require('./lib/code-sign-on-windows')
+@@ -60,7 +55,6 @@
+ let binariesPromise = Promise.resolve()
+ 
+ if (!argv.existingBinaries) {
+-  checkChromedriverVersion()
+   cleanOutputDirectory()
+   copyAssets()
+   transpilePackagesWithCustomTranspilerPaths()
+@@ -79,67 +73,5 @@
+ 
+ if (!argv.generateApiDocs) {
+   binariesPromise
+-    .then(packageApplication)
+     .then(packagedAppPath => generateStartupSnapshot(packagedAppPath).then(() => packagedAppPath))
+-    .then(packagedAppPath => {
+-      switch (process.platform) {
+-        case 'darwin': {
+-          if (argv.codeSign) {
+-            codeSignOnMac(packagedAppPath)
+-          } else {
+-            console.log('Skipping code-signing. Specify the --code-sign option to perform code-signing'.gray)
+-          }
+-          break
+-        }
+-        case 'win32': {
+-          if (argv.codeSign) {
+-            const executablesToSign = [ path.join(packagedAppPath, 'Atom.exe') ]
+-            if (argv.createWindowsInstaller) {
+-              executablesToSign.push(path.join(__dirname, 'node_modules', 'electron-winstaller', 'vendor', 'Update.exe'))
+-            }
+-            codeSignOnWindows(executablesToSign)
+-          } else {
+-            console.log('Skipping code-signing. Specify the --code-sign option to perform code-signing'.gray)
+-          }
+-          if (argv.createWindowsInstaller) {
+-            return createWindowsInstaller(packagedAppPath)
+-              .then((installerPath) => {
+-                argv.codeSign && codeSignOnWindows([installerPath])
+-                return packagedAppPath
+-              })
+-          } else {
+-            console.log('Skipping creating installer. Specify the --create-windows-installer option to create a Squirrel-based Windows installer.'.gray)
+-          }
+-          break
+-        }
+-        case 'linux': {
+-          if (argv.createDebianPackage) {
+-            createDebianPackage(packagedAppPath)
+-          } else {
+-            console.log('Skipping creating debian package. Specify the --create-debian-package option to create it.'.gray)
+-          }
+-
+-          if (argv.createRpmPackage) {
+-            createRpmPackage(packagedAppPath)
+-          } else {
+-            console.log('Skipping creating rpm package. Specify the --create-rpm-package option to create it.'.gray)
+-          }
+-          break
+-        }
+-      }
+-
+-      return Promise.resolve(packagedAppPath)
+-    }).then(packagedAppPath => {
+-      if (argv.compressArtifacts) {
+-        compressArtifacts(packagedAppPath)
+-      } else {
+-        console.log('Skipping artifacts compression. Specify the --compress-artifacts option to compress Atom binaries (and symbols on macOS)'.gray)
+-      }
+-
+-      if (argv.install != null) {
+-        installApplication(packagedAppPath, argv.install)
+-      } else {
+-        console.log('Skipping installation. Specify the --install option to install Atom'.gray)
+-      }
+-    })
+ }
+--- a/script/lib/generate-startup-snapshot.js
++++ b/script/lib/generate-startup-snapshot.js
+@@ -89,7 +89,7 @@
+     } else if (process.platform === 'win32') {
+       nodeBundledInElectronPath = path.join(packagedAppPath, 'atom.exe')
+     } else {
+-      nodeBundledInElectronPath = path.join(packagedAppPath, 'atom')
++      nodeBundledInElectronPath = 'electron'
+     }
+     childProcess.execFileSync(
+       nodeBundledInElectronPath,
+@@ -97,6 +97,7 @@
+       {env: Object.assign({}, process.env, {ELECTRON_RUN_AS_NODE: 1})}
+     )
+ 
++/*
+     const generatedStartupBlobPath = path.join(CONFIG.buildOutputPath, 'snapshot_blob.bin')
+     console.log(`Generating startup blob at "${generatedStartupBlobPath}"`)
+     childProcess.execFileSync(
+@@ -114,5 +115,6 @@
+     console.log(`Moving generated startup blob into "${startupBlobDestinationPath}"`)
+     fs.unlinkSync(startupBlobDestinationPath)
+     fs.renameSync(generatedStartupBlobPath, startupBlobDestinationPath)
++*/
+   })
+ }
+--- a/script/package.json
++++ b/script/package.json
+@@ -8,9 +8,7 @@
+     "coffeelint": "1.15.7",
+     "colors": "1.1.2",
+     "donna": "1.0.16",
+-    "electron-chromedriver": "~2.0",
+     "electron-link": "0.3.3",
+-    "electron-mksnapshot": "~2.0",
+     "electron-packager": "7.3.0",
+     "electron-winstaller": "2.6.4",
+     "fs-admin": "^0.1.5",
+--- a/src/compile-cache.js
++++ b/src/compile-cache.js
+@@ -122,7 +122,7 @@ exports.install = function (resourcesPath, nodeRequire) {
+       return {
+         column,
+         line: row,
+-        source: path.join(resourcesPath, 'app', 'static', relativePath),
++        source: path.join(resourcesPath, 'static', relativePath),
+         name: null
+       }
+     }
+ function getConfig () {
+--- a/src/module-cache.js
++++ b/src/module-cache.js
+@@ -227,7 +227,7 @@
+ }
+ 
+ function registerBuiltins (devMode) {
+-  if (devMode || !cache.resourcePath.startsWith(`${process.resourcesPath}${path.sep}`)) {
++  if (devMode || !cache.resourcePath.startsWith('/usr/lib/atom/')) {
+     const fs = require('fs-plus')
+     const atomJsPath = path.join(cache.resourcePath, 'exports', 'atom.js')
+     if (fs.isFileSync(atomJsPath)) { cache.builtins.atom = atomJsPath }
+--- a/src/package-manager.js
++++ b/src/package-manager.js
+@@ -825,7 +825,7 @@ module.exports = class PackageManager {
+   }
+ 
+   isBundledPackagePath (packagePath) {
+-    if (this.devMode && !this.resourcePath.startsWith(`${process.resourcesPath}${path.sep}`)) {
++    if (this.devMode && !this.resourcePath.startsWith('/usr/lib/atom/')) {
+       return false
+     }
+ 
+--- a/src/task-bootstrap.js
++++ b/src/task-bootstrap.js
+@@ -3,7 +3,7 @@ const [compileCachePath, taskPath] = process.argv.slice(2)
+ 
+ const CompileCache = require('./compile-cache')
+ CompileCache.setCacheDirectory(compileCachePath)
+-CompileCache.install(`${process.resourcesPath}`, require)
++CompileCache.install('/usr/lib/atom', require)
+ 
+ const setupGlobals = function () {
+   global.attachEvent = function () {}
+--- a/static/index.js
++++ b/static/index.js
+@@ -23,7 +23,7 @@
+       process.resourcesPath = path.normalize(process.resourcesPath)
+ 
+       setupAtomHome()
+-      const devMode = getWindowLoadSettings().devMode || !getWindowLoadSettings().resourcePath.startsWith(process.resourcesPath + path.sep)
++      const devMode = getWindowLoadSettings().devMode || !getWindowLoadSettings().resourcePath.startsWith('/usr/lib/atom')
+       useSnapshot = !devMode && typeof snapshotResult !== 'undefined'
+ 
+       if (devMode) {
+@@ -90,7 +90,7 @@
+   function setupWindow () {
+     const CompileCache = useSnapshot ? snapshotResult.customRequire('../src/compile-cache.js') : require('../src/compile-cache')
+     CompileCache.setAtomHomeDirectory(process.env.ATOM_HOME)
+-    CompileCache.install(process.resourcesPath, require)
++    CompileCache.install('/usr/lib/atom', require)
+ 
+     const ModuleCache = useSnapshot ? snapshotResult.customRequire('../src/module-cache.js') : require('../src/module-cache')
+     ModuleCache.register(getWindowLoadSettings())


More information about the arch-commits mailing list