development/Arduino: Small fixes and binary version coexistence.

Signed-off-by: Mario Preksavec <mario@slackware.hr>
This commit is contained in:
Mario Preksavec 2015-07-26 14:59:31 +02:00 committed by Willy Sudiarto Raharjo
parent 35879f0162
commit ba2b1e6a0e
2 changed files with 22 additions and 30 deletions

View file

@ -24,7 +24,7 @@
PRGNAM=Arduino
VERSION=${VERSION:-1.6.5}
BUILD=${BUILD:-1}
BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
REFERENCE=${REFERENCE:-1.6.0}
@ -61,20 +61,6 @@ TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
set -e
rm -rf $PKG
@ -91,7 +77,8 @@ find -L . \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
# Use already present toolchain requirements
tar xvf $CWD/avr-gcc-$GCC-avrdude-$AVRDUDE-arduino5.tar.gz
tar xvf $CWD/avr-gcc-$GCC-avrdude-$AVRDUDE-arduino5.tar.gz \
|| tar xvf $CWD/toolchain-avr-avr-gcc-$GCC-avrdude-$AVRDUDE-arduino5.tar.gz
cp $CWD/avr-libc-$AVRLIBC.tar.bz2 \
$CWD/avr8-headers-$AVRHEADERS.zip \
$CWD/avrdude-$AVRDUDE.tar.gz \
@ -129,8 +116,10 @@ cp $CWD/reference-$REFERENCE.zip \
$CWD/Galileo_help_files-$GALILEO.zip \
$CWD/Edison_help_files-$EDISON.zip \
build/shared/
cp $CWD/v$FIRMATA.zip build/Firmata-$FIRMATA.zip
cp $CWD/$TEMBOO.zip build/Temboo-$TEMBOO.zip
cp $CWD/v$FIRMATA.zip build/Firmata-$FIRMATA.zip \
|| cp $CWD/Firmata-$FIRMATA.zip build/
cp $CWD/$TEMBOO.zip build/Temboo-$TEMBOO.zip \
|| cp $CWD/Temboo-$TEMBOO.zip build/
cp $CWD/libastylej-$LIBASTYLEJ.zip build/
# Unpack library bundles
@ -142,19 +131,25 @@ gunzip -c $CWD/library_index.json.gz > build/linux/work/dist/library_index.json
# Finally, build Arduino
( cd build ; ant )
# Our files are here
cd build/linux/work/
# Clean up
rm -rf hardware/tmp/
# Manual install ensues
mkdir $PKG/opt
mv build/linux/work $PKG/opt/$PRGNAM
rm -rf $PKG/opt/$PRGNAM/hardware/tmp/
mkdir -p $PKG/opt/$PRGNAM
mv arduino dist examples hardware lib libraries reference tools $PKG/opt/$PRGNAM
# Make it a bit more user friendly
mkdir -p $PKG/usr/{bin,share/applications}
sed -i "s/FULL_PATH/\/opt\/$PRGNAM/" $PKG/opt/$PRGNAM/arduino.desktop
mv $PKG/opt/$PRGNAM/arduino.desktop $PKG/usr/share/applications/
ln -s /opt/$PRGNAM/arduino $PKG/usr/bin/
sed "s/FULL_PATH/\/opt\/$PRGNAM/" arduino.desktop \
> $PKG/usr/share/applications/$PRGNAM.desktop
ln -s /opt/$PRGNAM/arduino $PKG/usr/bin/$PRGNAM
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a README.md license.txt $PKG/usr/doc/$PRGNAM-$VERSION
cp -a revisions.txt $TMP/$PRGNAM-$VERSION/{README.md,license.txt} \
$PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install

View file

@ -3,8 +3,5 @@ it to the board. It runs on Windows, Mac OS X, and Linux. The environment
is written in Java and based on Processing and other open-source software.
This software can be used with any Arduino board.
NOTE: This script no longer uses binary packages from the upstream, and
it's a complete rewrite from scratch. Currently, the upstream compiles on a
system which uses libraries not found in stock Slackware packages, namely
libtinfo from ncurses. This change affects both compile taking longer and
a free space requirement now being close to 1GB.
NOTE: This script compiles everything from the source. Compared to the binary
version, it will take longer and require almost 1GB of free space.