development/electron: Added (cross-platform building library).

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
DhabyX 2017-02-13 22:32:06 +07:00 committed by Willy Sudiarto Raharjo
parent e464e1adbc
commit 91ce2325ff
No known key found for this signature in database
GPG key ID: 887B8374D7333381
5 changed files with 178 additions and 0 deletions

View file

@ -0,0 +1,21 @@
electron (Library for building cross-platform applications)
Electron is an open source library developed by GitHub for building
cross-platform desktop applications with HTML, CSS, and JavaScript.
Electron accomplishes this by combining Chromium and Node.js into a
single runtime, and apps can be packaged for Mac, Windows, and Linux.
This is electron binary repackaged in Slackware style.
Optional features
INSTALL_ZIP (default=no): Install zip packaged version of electron,
this install a copy of the zip in your system; you can use it later
for build binary applications, if you are developer; otherwise
you not will need it.
If you need to use the option 'INSTALL_ZIP' do something like:
INSTALL_ZIP=yes ./electron.SlackBuild
You can see README.Slackware for more instructions to use it.

View file

@ -0,0 +1,23 @@
If you need build binary applications with electron, you can use
zip version installed with this package. Remember to use INSTALL_ZIP
feature.
If you use npm electron-build for this task you need add something
like this to your package.json project:
"devDependencies": {
"electron-builder": "ELECTRON-BUILDER-VERSION",
"electron": "ELECTRON-ZIP-VERSION"
},
"build": {
...
"electronDownload": {
"cache": "/usr/share/electron/release"
}
...
}
Note:
With this changes you only can package binary apps for your architecture.
If you want built for other architectures you can use a temporal directory for
your cache in electronDownload section, and then you can copy this zip into it.

View file

@ -0,0 +1,97 @@
#!/bin/sh
# Slackware build script for electron
# Copyright 2017 Dhaby Xiloj <slack.dhabyx@gmail.com>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=electron
VERSION=${VERSION:-1.4.15}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "x86_64" ]; then
PKG_ARCH="x64"
else
PKG_ARCH="ia32"
fi
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
mkdir $PRGNAM-$VERSION
cd $PRGNAM-$VERSION
unzip $CWD/$PRGNAM-v$VERSION-linux-$PKG_ARCH.zip
tar xvf $CWD/node-v$VERSION.tar.gz
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
-o -perm 511 \) -exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
# Manual installation
mkdir -p $PKG/usr/share/$PRGNAM
mkdir -p $PKG/usr/bin
cp -a *.bin *.pak *.so $PRGNAM icudtl.dat version locales resources \
$PKG/usr/share/$PRGNAM
(
cd $PKG/usr/bin
ln -sf ../share/$PRGNAM/$PRGNAM ${PRGNAM}${VERSION}
ln -sf ../share/$PRGNAM/$PRGNAM ${PRGNAM}
)
# Install node headers
mkdir -p $PKG/usr/share/$PRGNAM/node
cp -a node-v$VERSION/* $PKG/usr/share/$PRGNAM/node
# Install prebuilt version for build binary apps
if [ "${INSTALL_ZIP:-no}" != no ]; then
mkdir -p $PKG/usr/share/$PRGNAM/release
cp $CWD/$PRGNAM-v$VERSION-linux-$PKG_ARCH.zip $PKG/usr/share/$PRGNAM/release
cp $CWD/SHASUMS256.txt $PKG/usr/share/$PRGNAM/release
fi
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a LICENSE LICENSES.chromium.html $CWD/README.Slackware $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}

View file

@ -0,0 +1,18 @@
PRGNAM="electron"
VERSION="1.4.15"
HOMEPAGE="http://electron.atom.io/"
DOWNLOAD="https://github.com/electron/electron/releases/download/v1.4.15/electron-v1.4.15-linux-ia32.zip \
https://atom.io/download/atom-shell/v1.4.15/node-v1.4.15.tar.gz \
https://github.com/electron/electron/releases/download/v1.4.15/SHASUMS256.txt"
MD5SUM="e43af42d4208ef2b776d336999d3a466 \
546bba67682b16b7a13f6a9033fe67df \
36b1b0c69a08316a06424318a1916918"
DOWNLOAD_x86_64="https://github.com/electron/electron/releases/download/v1.4.15/electron-v1.4.15-linux-x64.zip \
https://atom.io/download/atom-shell/v1.4.15/node-v1.4.15.tar.gz \
https://github.com/electron/electron/releases/download/v1.4.15/SHASUMS256.txt"
MD5SUM_x86_64="88733c52fc80a22361ffbab7bed5ef88 \
546bba67682b16b7a13f6a9033fe67df \
36b1b0c69a08316a06424318a1916918"
REQUIRES=""
MAINTAINER="DhabyX"
EMAIL="slack.dhabyx@gmail.com"

View file

@ -0,0 +1,19 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description.
# Line up the first '|' above the ':' following the base package name, and
# the '|' on the right side marks the last column you can put a character in.
# You must make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
electron: electron (Library for building cross-platform applications)
electron:
electron: Electron is an open source library developed by GitHub for building
electron: cross-platform desktop applications with HTML, CSS, and JavaScript.
electron:
electron: Electron accomplishes this by combining Chromium and Node.js into a
electron: single runtime and apps can be packaged for Mac, Windows, and Linux.
electron:
electron: This is electron binary repackaged in Slackware style.
electron:
electron: