[arch-commits] Commit in atom/trunk (4 files)

Caleb Maclennan alerque at gemini.archlinux.org
Wed Mar 30 12:18:04 UTC 2022


    Date: Wednesday, March 30, 2022 @ 12:18:03
  Author: alerque
Revision: 1177787

upgpkg: atom 1.61.0beta0-0; incomplete overhaul aiming to get rid of electron9

Modified:
  atom/trunk/PKGBUILD
  atom/trunk/atom.js
  atom/trunk/fix-atom-sh.patch
  atom/trunk/use-system-electron.patch

---------------------------+
 PKGBUILD                  |  188 ++++++++++++++++++++++++--------------------
 atom.js                   |    2 
 fix-atom-sh.patch         |   33 ++++---
 use-system-electron.patch |   24 ++---
 4 files changed, 135 insertions(+), 112 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2022-03-30 11:40:17 UTC (rev 1177786)
+++ PKGBUILD	2022-03-30 12:18:03 UTC (rev 1177787)
@@ -1,35 +1,44 @@
-# Maintainer: Nicola Squartini <tensor5 at gmail.com>
+# Maintainer: Caleb Maclennan <caleb at alerque.com>
+# Contributor: Nicola Squartini <tensor5 at gmail.com>
 
 pkgname=atom
-pkgver=1.58.0
-_commit=550c1dae66f97bd3fc31c59e6d8ba5f1299ccaf7
-pkgrel=1
+pkgver=1.61.0beta0
+_sha=a19b6eed206e3d635367fbff69e2777bb04feb1d
+pkgrel=0
 pkgdesc='A hackable text editor for the 21st Century'
-arch=('x86_64')
-url='https://github.com/atom/atom'
-license=('MIT' 'custom')
-depends=('apm' 'electron9' 'libxkbfile' 'ripgrep')
-makedepends=('git' 'npm')
+arch=(x86_64)
+url="https://github.com/atom/$pkgname"
+license=(MIT)
+_electron=electron11
+depends=(apm
+         $_electron
+         libxkbfile
+         ripgrep)
+makedepends=(git
+             node-gyp
+             nodejs-lts-gallium
+             npm)
 optdepends=('ctags: symbol indexing support'
             'git: Git and GitHub integration')
-replaces=('atom-editor')
+replaces=(atom-editor)
 options=(!emptydirs)
-source=("git+https://github.com/atom/atom.git#commit=${_commit}"
-        'atom.js'
-        'dugite-use-system-git.patch'
-        'fix-atom-sh.patch'
-        'fix-license-path.patch'
-        'fix-restart.patch'
-        'git-utils.patch'
-        'no-unsafe-eval-warning.patch'
-        'node-env-production.patch'
-        'symbols-view-use-system-ctags.patch'
-        'use-system-apm.patch'
-        'use-system-electron.patch')
-sha256sums=('SKIP'
-            'a4f198ae1040637ce72c163585662d94e0d59b593f69d919d0acd7044c316cac'
+_archive="$pkgname-$_sha"
+source=("$url/archive/$_sha/$_archive.tar.gz"
+        $pkgname.js
+        dugite-use-system-git.patch
+        fix-$pkgname-sh.patch
+        fix-license-path.patch
+        fix-restart.patch
+        git-utils.patch
+        no-unsafe-eval-warning.patch
+        node-env-production.patch
+        symbols-view-use-system-ctags.patch
+        use-system-apm.patch
+        use-system-electron.patch)
+sha256sums=('8fb62ee3aeb466d8a75fb3fd467b96836a4f2f9c594d1b701f9dcf8df12587f8'
+            'cd39815e7f9a72be0c7ac2e15106f8bb8774c0cbc0960725b0b677d0ce67d828'
             '530b46d31df0f5e8f5881e1608a66fe75d549092a6db2e72ba3ad69c48714153'
-            'b3d3706519556a59ba557b695017c9debe8b23efe2782cdb440131520bc0540d'
+            '13ed58df53ab8fb9a0f505ad4d860aa61e5ed00a280ad7ff27dcaa360e31d896'
             '954a82abeb0d144891449e3db2126ee3007bea63737146a2239997c932520cbc'
             '5f9946b33024b429b3951629b0e3fd6deeb88895b3467a7e8e0c504b0accd9c5'
             'e321fdfe880cd465918dd1dbb90e4c7d46fc5310f20666eddf0a41cbca4f8ac8'
@@ -37,104 +46,115 @@
             'a09439c2a908ca174ff3be1f0d85071d12c792ae19748e36fe601e372d6d925b'
             'c93cc88dd704388d4b26a0de0a5938df7ff90cedf8eed0b3b8a675f9cc7d487c'
             '08ae0c93b5ec7eb7d90c65d5d2adbaca538482fba902ed1f8414024db0d21854'
-            'fbd64067aa513f9b51fd33501a8310f976c18049866e636f19542c493246fd19')
+            '5e6e05fe09642e4a18d6c44764fb18498460b53b285420b5acc6a3622e9dc6d2')
 
+_electron_version=$(< /usr/lib/$_electron/version)
+
 prepare() {
-  cd ${pkgname}
-
-  patch -Np1 -i ../fix-atom-sh.patch
-  patch -Np1 -i ../use-system-electron.patch
+  cd "$_archive"
+  patch -Np1 -i ../fix-$pkgname-sh.patch
+  patch -Np1 -i <(sed -e "s/@ELECTRON@/$_electron/" ../use-system-electron.patch)
   patch -Np1 -i ../use-system-apm.patch
   patch -Np1 -i ../fix-license-path.patch
   patch -Np1 -i ../fix-restart.patch
   patch -Np1 -i ../node-env-production.patch
   patch -Np1 -i ../no-unsafe-eval-warning.patch
-}
 
-build() {
-  cd ${pkgname}
+  rm {,script/}package-lock.json
+  set -x
 
-  ATOM_RESOURCE_PATH="${PWD}" \
-  npm_config_build_from_source=true \
-  npm_config_target=$(< /usr/lib/electron9/version) \
-  apm install
+  env \
+    ATOM_RESOURCE_PATH="$PWD" \
+    npm_config_build_from_source=true \
+    npm_config_target=$_electron_version \
+    apm install --cache "$srcdir/npm-cache"
 
   # Use system ctags
-  cd node_modules/symbols-view
-  patch -Np1 -i "${srcdir}"/symbols-view-use-system-ctags.patch
+  pushd node_modules/symbols-view
+  patch -Np1 -i "$srcdir/symbols-view-use-system-ctags.patch"
   rm -r lib/ctags-config vendor
-  cd ../..
+  popd
 
   # Use system git
-  cd node_modules/dugite
-  patch -Np1 -i "${srcdir}"/dugite-use-system-git.patch
+  pushd node_modules/dugite
+  patch -Np1 -i "$srcdir/dugite-use-system-git.patch"
   rm -r git
-  cd ../..
+  popd
 
   # Fix issue with:
   # build/Release/git.node: undefined symbol: git_net_url_is_default_port
-  cd node_modules/git-utils
-  patch -Np1 -i "${srcdir}"/git-utils.patch
+  pushd node_modules/git-utils
+  patch -Np1 -i "$srcdir/git-utils.patch"
+  popd
+
+  pushd script
+  npm install --cache "$srcdir/npm-cache"
+}
+
+build() {
+  cd "$_archive"
+  set -x
+
+  pushd node_modules/git-utils
   env \
     npm_config_disturl=https://electronjs.org/headers \
-    npm_config_runtime=electron \
-    npm_config_target=$(< /usr/lib/electron9/version) \
+    npm_config_runtime=$_electron \
+    npm_config_target=$_electron_version \
     node-gyp rebuild
-  cd ../..
+  popd
 
-  cd script
-  npm install
+  pushd script
   # Hack to avoid using Node > 12 (https://github.com/babel/babel/issues/11216)
   # Set ELECTRON_VERSION (see use-system-electron.patch)
   env \
     ELECTRON_RUN_AS_NODE=1 \
-    ELECTRON_VERSION=$(< /usr/lib/electron9/version) \
-    electron9 \
-    build --no-bootstrap
+    ELECTRON_VERSION=$_electron_version \
+    $_electron build --no-bootstrap
 }
 
 package() {
-  cd ${pkgname}
+  cd "$_archive"
 
-  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 -dm0755 "$pkgdir/usr/lib"
+  cp -r out/app "$pkgdir/usr/lib/$pkgname"
+  install -m0644 out/startup.js "$pkgdir/usr/lib/$pkgname"
+  sed -e "s/@ELECTRON@/$_electron/" "$srcdir/$pkgname.js" |
+    install -Dm0755 /dev/stdin "$pkgdir/usr/lib/$pkgname/$pkgname"
 
-  ln -sf /usr/bin/rg "${pkgdir}/usr/lib/atom/node_modules/vscode-ripgrep/bin/rg"
+  ln -sf /usr/bin/rg "$pkgdir/usr/lib/$pkgname/node_modules/vscode-ripgrep/bin/rg"
 
-  install -d -m 755 "${pkgdir}/usr/share/applications"
+  install -dm0755 "$pkgdir/usr/share/applications"
   sed -e "s|<%= appName %>|Atom|" \
-      -e "s/<%= description %>/${pkgdesc}/" \
+      -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"
+      -e "s|<%= appFileName %>|$pkgname|" \
+      -e "s|<%= iconPath %>|$pkgname|" \
+      resources/linux/atom.desktop.in > "$pkgdir/usr/share/applications/$pkgname.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
+    install -Dm0644 "resources/app-icons/stable/png/$size.png" \
+            "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/$pkgname.png"
   done
-  ln -sf ../../../share/icons/hicolor/1024x1024/apps/atom.png \
-      "${pkgdir}"/usr/lib/atom/resources/atom.png
+  ln -sf "../../../share/icons/hicolor/1024x1024/apps/$pkgname.png" \
+      "$pkgdir/usr/lib/$pkgname/resources/$pkgname.png"
 
-  install -D -m 755 atom.sh "${pkgdir}/usr/bin/atom"
+  install -Dm0755 "$pkgname.sh" "$pkgdir/usr/bin/$pkgname"
 
-  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))"
+  install -dm0755 "$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 '{}' \;
+  find "$pkgdir/usr/lib/$pkgname/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 '{}' \;
 }

Modified: atom.js
===================================================================
--- atom.js	2022-03-30 11:40:17 UTC (rev 1177786)
+++ atom.js	2022-03-30 12:18:03 UTC (rev 1177787)
@@ -1,4 +1,4 @@
-#!/usr/bin/electron9
+#!/usr/bin/env @ELECTRON@
 
 const name = "atom";
 

Modified: fix-atom-sh.patch
===================================================================
--- fix-atom-sh.patch	2022-03-30 11:40:17 UTC (rev 1177786)
+++ fix-atom-sh.patch	2022-03-30 12:18:03 UTC (rev 1177787)
@@ -30,7 +30,7 @@
  # Only set the ATOM_DISABLE_SHELLING_OUT_FOR_ENVIRONMENT env var if it hasn't been set.
  if [ -z "$ATOM_DISABLE_SHELLING_OUT_FOR_ENVIRONMENT" ]
  then
-@@ -90,105 +66,24 @@
+@@ -90,110 +66,24 @@
  ATOM_HOME="${ATOM_HOME:-$HOME/.atom}"
  mkdir -p "$ATOM_HOME"
  
@@ -47,17 +47,11 @@
 -    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%.*}"
-+if [ $EXPECT_OUTPUT ]; then
-+  "$ATOM_PATH" --executed-from="$(pwd)" --pid=$$ "$@"
-+  ATOM_EXIT=$?
-+  if [ ${ATOM_EXIT} -eq 0 ] && [ -n "${EXIT_CODE_OVERRIDE}" ]; then
-+    exit "${EXIT_CODE_OVERRIDE}"
-   else
+-  else
 -    # Else choose it from the inferred channel name
 -    if [ "$CHANNEL" == 'beta' ]; then
 -      ATOM_EXECUTABLE_NAME="Atom Beta"
@@ -86,9 +80,9 @@
 -        exit 1
 -      fi
 -    fi
-+    exit ${ATOM_EXIT}
-   fi
--
+-  fi
++ATOM_PATH="/usr/lib/atom/atom"
+ 
 -  if [ $EXPECT_OUTPUT ]; then
 -    "$ATOM_PATH/$ATOM_APP_NAME/Contents/MacOS/$ATOM_EXECUTABLE_NAME" --executed-from="$(pwd)" --pid=$$ "$@"
 -    ATOM_EXIT=$?
@@ -97,9 +91,15 @@
 -    else
 -      exit ${ATOM_EXIT}
 -    fi
--  else
++if [ $EXPECT_OUTPUT ]; then
++  "$ATOM_PATH" --executed-from="$(pwd)" --pid=$$ "$@"
++  ATOM_EXIT=$?
++  if [ ${ATOM_EXIT} -eq 0 ] && [ -n "${EXIT_CODE_OVERRIDE}" ]; then
++    exit "${EXIT_CODE_OVERRIDE}"
+   else
 -    open -a "$ATOM_PATH/$ATOM_APP_NAME" -n --args --executed-from="$(pwd)" --pid=$$ --path-environment="$PATH" "$@"
--  fi
++    exit ${ATOM_EXIT}
+   fi
 -elif [ $OS == 'Linux' ]; then
 -  SCRIPT=$(readlink -f "$0")
 -  USR_DIRECTORY=$(readlink -f $(dirname $SCRIPT)/..)
@@ -119,6 +119,11 @@
 -      ;;
 -  esac
 -
+-  #Will allow user to get context menu on cinnamon desktop enviroment
+-  if [[ "$(expr substr $(printenv | grep "DESKTOP_SESSION=") 17 8)" == "cinnamon" ]]; then
+-    cp "resources/linux/desktopenviroment/cinnamon/atom.nemo_action" "/usr/share/nemo/actions/atom.nemo_action"
+-  fi
+-
 -  : ${TMPDIR:=/tmp}
 -
 -  [ -x "$ATOM_PATH" ] || ATOM_PATH="$TMPDIR/atom-build/Atom/atom"

Modified: use-system-electron.patch
===================================================================
--- use-system-electron.patch	2022-03-30 11:40:17 UTC (rev 1177786)
+++ use-system-electron.patch	2022-03-30 12:18:03 UTC (rev 1177787)
@@ -4,37 +4,35 @@
      "url": "https://github.com/atom/atom/issues"
    },
    "license": "MIT",
--  "electronVersion": "9.4.4",
+-  "electronVersion": "11.4.12",
    "dependencies": {
      "@atom/fuzzy-native": "^1.2.0",
      "@atom/nsfw": "^1.0.27",
 --- a/script/build
 +++ b/script/build
-@@ -33,7 +33,7 @@
+@@ -33,7 +33,6 @@
    .wrap(yargs.terminalWidth())
    .argv
  
 -const checkChromedriverVersion = require('./lib/check-chromedriver-version')
-+// 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')
-@@ -66,12 +66,12 @@
+@@ -65,13 +64,9 @@
+ 
  const CONFIG = require('./config')
  
- // Used by the 'github' package for Babel configuration
+-// Used by the 'github' package for Babel configuration
 -process.env.ELECTRON_VERSION = CONFIG.appMetadata.electronVersion
-+// process.env.ELECTRON_VERSION = CONFIG.appMetadata.electronVersion
- 
+-
  let binariesPromise = Promise.resolve()
  
  if (!argv.existingBinaries) {
 -  checkChromedriverVersion()
-+  // checkChromedriverVersion()
    cleanOutputDirectory()
    copyAssets()
    transpilePackagesWithCustomTranspilerPaths()
-@@ -90,74 +90,5 @@
+@@ -90,74 +85,5 @@
  
  if (!argv.generateApiDocs) {
    binariesPromise
@@ -119,7 +117,7 @@
 -        packagedAppPath,
 -        CONFIG.executableName
 -      );
-+      nodeBundledInElectronPath = 'electron9';
++      nodeBundledInElectronPath = '@ELECTRON@';
      }
      childProcess.execFileSync(
        nodeBundledInElectronPath,
@@ -144,10 +142,10 @@
      "coffeelint": "1.15.7",
      "colors": "1.1.2",
      "donna": "1.0.16",
--    "electron-chromedriver": "^9.0.0",
+-    "electron-chromedriver": "^11.0.0",
      "electron-link": "^0.6.0",
--    "electron-mksnapshot": "^9.0.2",
-     "electron-packager": "^15.0.0",
+-    "electron-mksnapshot": "^11.0.1",
+     "electron-packager": "^15.1.0",
      "eslint": "^5.16.0",
      "eslint-config-prettier": "^4.2.0",
 --- a/src/compile-cache.js



More information about the arch-commits mailing list