diff -ruN /tmp/atom-1.56.0/script/lib/install-application.js /tmp/patched/script/lib/install-application.js

This is a test patch for Tiny Core that helps extension packaging.
* bypass Icon caching which requires sudo privilege
* fix data directory to /usr/local/share
* set baseIconThemeDirPath to '/tmp/atom-root/usr/local/share/icons/hicolor'

To apply the patch: (either one is fine)
cd atom-source && patch -Np3 < this.patch
cd atom-source && patch ./script/lib/install-application.js this.patch

To build
mkdir -p /tmp/atom-root/usr/local/share/icons/hicolor
./script/build --install=/tmp/atom-root/usr/local

--- /tmp/atom-1.56.0/script/lib/install-application.js	2021-04-09 16:13:53.000000000 +0000
+++ /tmp/patched/script/lib/install-application.js	2021-04-29 00:20:07.002421825 +0000
@@ -31,18 +31,7 @@
  * https://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html#variables
  */
 function findBaseIconThemeDirPath() {
-  const defaultBaseIconThemeDir = '/usr/share/icons/hicolor';
-  const dataDirsString = process.env.XDG_DATA_DIRS;
-  if (dataDirsString) {
-    const dataDirs = dataDirsString.split(path.delimiter);
-    if (dataDirs.includes('/usr/share/') || dataDirs.includes('/usr/share')) {
-      return defaultBaseIconThemeDir;
-    } else {
-      return path.join(dataDirs[0], 'icons', 'hicolor');
-    }
-  } else {
-    return defaultBaseIconThemeDir;
-  }
+  return '/tmp/atom-root/usr/local/share/icons/hicolor';
 }
 
 module.exports = function(packagedAppPath, installDir) {
@@ -146,9 +135,9 @@
         }
       });
 
-      console.log(`Updating icon cache for "${baseIconThemeDirPath}"`);
+      console.log(`Skipping icon cache for "${baseIconThemeDirPath}"`);
       try {
-        execSync(`gtk-update-icon-cache ${baseIconThemeDirPath} --force`);
+        execSync(`echo gtk-update-icon-cache -q -f -t /usr/local/share/icons/hicolor`);
       } catch (e) {}
     }
 
