diff options
Diffstat (limited to 'development/atom/atom.SlackBuild')
-rw-r--r-- | development/atom/atom.SlackBuild | 55 |
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 |