summaryrefslogtreecommitdiff
path: root/development/atom/atom.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'development/atom/atom.SlackBuild')
-rw-r--r--development/atom/atom.SlackBuild55
1 files changed, 38 insertions, 17 deletions
diff --git a/development/atom/atom.SlackBuild b/development/atom/atom.SlackBuild
index a5641f7721..1f450cf56f 100644
--- a/development/atom/atom.SlackBuild
+++ b/development/atom/atom.SlackBuild
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=atom
-VERSION=${VERSION:-1.14.1}
+VERSION=${VERSION:-1.14.3}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -31,6 +31,8 @@ TAG=${TAG:-_SBo}
DISABLE_METRICS=${DISABLE_METRICS:-no}
#Clean cache data after building
DELETE_CACHE=${DELETE_CACHE:-no}
+#Use pre-installed electron from SBo
+ELECTRON=${ELECTRON:-no}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
@@ -45,21 +47,17 @@ TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
-if [ "$ARCH" = "i586" ]; then
- SLKCFLAGS="-O2 -march=i586 -mtune=i686"
- LIBDIRSUFFIX=""
- NPMARCH="ia32"
-elif [ "$ARCH" = "i686" ]; then
- SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+if [[ "$ARCH" = "i"?"86" ]]; then
LIBDIRSUFFIX=""
NPMARCH="ia32"
+ ARCH_OUTPUT="i386" # for detect output directory
elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
NPMARCH="x86_64"
+ ARCH_OUTPUT="amd64" # for detect output directory
else
- SLKCFLAGS="-O2"
- LIBDIRSUFFIX=""
+ echo "Your platform $ARCH is not supported."
+ exit 1
fi
set -e
@@ -77,6 +75,21 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+if [ "$ELECTRON" != "no" ]; then
+ # test if electron is installed
+ ELECTRON_VERSION=$(electron --version | tr -d 'v')
+fi
+
+if [ "${ELECTRON_VERSION}" != "" ]; then
+ # change electron version in package.json
+ sed -i -E -e 's/"electronVersion": "[0-9.]+"/"electronVersion": "'${ELECTRON_VERSION}'"/g' package.json
+ # patch for use electron pre-installed
+ patch -p1 < $CWD/use-system-electron.patch
+ patch -p1 < $CWD/fix-atom.sh.patch
+ # patch for IME events from ARCH AUR PKGBuild
+ patch -p1 < $CWD/fix-ime-events-handler-electron-1.4.patch
+fi
+
if [ "$DISABLE_METRICS" = "yes" ]; then
sed -i '/"metrics":/d' package.json
fi
@@ -93,16 +106,24 @@ PYTHON=python2 \
# Manual installation since --install-dir option is deleted
# Installation based on spec file from official RPM package from atom
install -d $PKG/usr/{bin,doc,share}
-install -d $PKG/usr/share/atom/
-# detect output directory
-ARCH_OUTPUT="i386"
-if [ "$ARCH" = "x86_64" ]; then
- ARCH_OUTPUT="amd64"
+if [ "${ELECTRON_VERSION}" != "" ]; then
+ cp -r out/app $PKG/usr/share/atom
+ # apm - manually installation to upstream recommended place
+ ATOM_RESOURCES=/usr/share/atom/resources/app
+ install -d $PKG/$ATOM_RESOURCES
+ cp -r apm $PKG/$ATOM_RESOURCES
+ # fix paths for apm
+ sed -i -e 's#'$TMP/$PRGNAM-$VERSION'#'$ATOM_RESOURCES'#g' \
+ $PKG/$ATOM_RESOURCES/apm/node_modules/atom-package-manager/package.json
+ sed -i -e 's#resources/app.asar##g' \
+ $PKG/$ATOM_RESOURCES/apm/node_modules/atom-package-manager/lib/apm.js
+else
+ # packaged installation
+ cp -r out/$PRGNAM-$VERSION-$ARCH_OUTPUT $PKG/usr/share/atom
fi
install -Dm755 atom.sh $PKG/usr/bin/atom
-cp -r out/$PRGNAM-$VERSION-$ARCH_OUTPUT/* $PKG/usr/share/atom/
(
cd $PKG/usr/bin
ln -sf ../share/atom/resources/app/apm/node_modules/.bin/apm apm
@@ -111,7 +132,7 @@ cp -r out/$PRGNAM-$VERSION-$ARCH_OUTPUT/* $PKG/usr/share/atom/
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
-# use only if you use apmd package from slackware pastures
+# use only if you use apmd package from Slackware pastures
# mv $PKG/usr/bin/apm $PKG/usr/bin/atom-apm
# move and configure icons and .desktop file