summaryrefslogtreecommitdiffstats
path: root/development/Arduino/Arduino.SlackBuild
diff options
context:
space:
mode:
author Mario Preksavec2017-07-25 17:38:58 +0200
committer Willy Sudiarto Raharjo2017-07-26 13:28:18 +0200
commit6e1c8ad11dfb3bd1660878b75378030506b49b58 (patch)
tree6e384dbba2d13d90446452d9752ed8abebb4f3be /development/Arduino/Arduino.SlackBuild
parentdbf6cdeecdf1c27fae64c6cc5fa523f9dd46a9cf (diff)
downloadslackbuilds-6e1c8ad11dfb3bd1660878b75378030506b49b58.tar.gz
development/Arduino: Updated for version 1.8.3.
Signed-off-by: Mario Preksavec <mario@slackware.hr>
Diffstat (limited to 'development/Arduino/Arduino.SlackBuild')
-rw-r--r--development/Arduino/Arduino.SlackBuild132
1 files changed, 75 insertions, 57 deletions
diff --git a/development/Arduino/Arduino.SlackBuild b/development/Arduino/Arduino.SlackBuild
index 01931d2379..d8ac2ff3ca 100644
--- a/development/Arduino/Arduino.SlackBuild
+++ b/development/Arduino/Arduino.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for Arduino
-# Copyright 2015, 2016 Mario Preksavec, Zagreb, Croatia
+# Copyright 2015, 2016, 2017 Mario Preksavec, Zagreb, Croatia
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,40 +23,45 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=Arduino
-VERSION=${VERSION:-1.6.9}
+VERSION=${VERSION:-1.8.3}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
+# Documentation
REFERENCE=${REFERENCE:-1.6.6-3}
GALILEO=${GALILEO:-1.6.2}
EDISON=${EDISON:-1.6.2}
-FIRMATA=${FIRMATA:-2.5.2}
-BRIDGE=${BRIDGE:-1.6.2}
-ROBOT_CONTROL=${ROBOT_CONTROL:-1.0.2}
+
+# Libraries
+FIRMATA=${FIRMATA:-2.5.6}
+BRIDGE=${BRIDGE:-1.6.3}
+ROBOT_CONTROL=${ROBOT_CONTROL:-1.0.3}
ROBOT_MOTOR=${ROBOT_MOTOR:-1.0.2}
ROBOTIRREMOTE=${ROBOTIRREMOTE:-1.0.2}
-SPACEBREWYUN=${SPACEBREWYUN:-1.0.0}
-TEMBOO=${TEMBOO:-1.1.5}
+SPACEBREWYUN=${SPACEBREWYUN:-1.0.1}
+TEMBOO=${TEMBOO:-1.2.1}
ESPLORA=${ESPLORA:-1.0.4}
MOUSE=${MOUSE:-1.0.1}
KEYBOARD=${KEYBOARD:-1.0.1}
+SD=${SD:-1.1.1}
+SERVO=${SERVO:-1.1.2}
+ADAFRUIT=${ADAFRUIT:-1.6.4}
+WIFI101UPDATER=${WIFI101UPDATER:-0.9.1}
LIBASTYLEJ=${LIBASTYLEJ:-2.05.1-3}
-LIBLISTSERIALS=${LIBLISTSERIALS:-1.1.0}
-ARDUINOBUILDER=${ARDUINOBUILDER:-1.3.18}
-
-AVRLIBC=${AVRLIBC:-1.8.0}
-AVRHEADERS=${AVRHEADERS:-6.2.0.469}
-AVRDUDE=${AVRDUDE:-6.0.1}
-BINUTILS=${BINUTILS:-2.24}
+LIBLISTSERIALS=${LIBLISTSERIALS:-1.4.0}
+ARDUINOBUILDER=${ARDUINOBUILDER:-1.3.25}
+AVRDUDE=${AVRDUDE:-6.3.0-arduino9}
+ARDUINOOTA=${ARDUINOOTA:-1.1.1}
+
+# Toolchain
+GCC=${GCC:-4.9.2}
+AVR=${AVR:-3.5.3}
+AVR_BUILD=${AVR_BUILD:-arduino2}
+AUTOCONF=${AUTOCONF:-2.64}
+AUTOMAKE=${AUTOMAKE:-1.11.1}
GMP=${GMP:-5.0.2}
MPFR=${MPFR:-3.0.0}
MPC=${MPC:-0.9}
-GCC=${GCC:-4.8.1}
-GDB=${GDB:-7.8}
-LIBUSB=${LIBUSB:-1.0.18}
-LIBUSBCOMPAT=${LIBUSBCOMPAT:-0.1.5}
-AUTOCONF=${AUTOCONF:-2.64}
-AUTOMAKE=${AUTOMAKE:-1.11.1}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
@@ -73,8 +78,12 @@ OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i586" ]; then
LIB="32"
+ AVRDUDEARCH="i686"
+ ARDUINOOTAARCH="386"
elif [ "$ARCH" = "x86_64" ]; then
LIB="64"
+ AVRDUDEARCH="$ARCH"
+ ARDUINOOTAARCH="amd64"
else
echo "$ARCH is not supported."
exit 1
@@ -95,46 +104,62 @@ 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 {} \;
-# Use already present toolchain requirements
-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 \
- $CWD/binutils-$BINUTILS.tar.bz2 \
+# Prepare toolchain
+tar xvf $CWD/$GCC-atmel$AVR-$AVR_BUILD.tar.gz
+cp $CWD/autoconf-$AUTOCONF.tar.bz2 \
+ $CWD/automake-$AUTOMAKE.tar.bz2 \
+ $CWD/avr-binutils.tar.bz2 \
$CWD/gmp-$GMP.tar.bz2 \
$CWD/mpfr-$MPFR.tar.bz2 \
$CWD/mpc-$MPC.tar.gz \
- $CWD/gcc-$GCC.tar.bz2 \
- $CWD/gdb-$GDB.tar.xz \
- $CWD/libusb-$LIBUSB.tar.bz2 \
- $CWD/libusb-compat-$LIBUSBCOMPAT.tar.bz2 \
- $CWD/autoconf-$AUTOCONF.tar.bz2 \
- $CWD/automake-$AUTOMAKE.tar.bz2 \
- toolchain-avr-avr-gcc-$GCC-avrdude-$AVRDUDE-arduino5/
+ $CWD/avr-gcc.tar.bz2 \
+ $CWD/avr-libc.tar.bz2 \
+ $CWD/avr8-headers.zip \
+ $CWD/avr-gdb.tar.bz2 \
+ toolchain-avr-$GCC-atmel$AVR-$AVR_BUILD/
+
+cp $CWD/patches/avr-gcc6-fix.patch \
+ toolchain-avr-$GCC-atmel$AVR-$AVR_BUILD/avr-gcc-patches/
# Build toolchain
-( cd toolchain-avr-avr-gcc-$GCC-avrdude-$AVRDUDE-arduino5 ; ./build.all.bash )
+( cd toolchain-avr-$GCC-atmel$AVR-$AVR_BUILD
+ ./tools.bash
+ ./binutils.build.bash
+ ./gcc.build.bash
+ ./avr-libc.build.bash
+ ./gdb.build.bash
+ rm -rf objdir/{info,man,share}
+)
# Copy toolchain to where it can be found (`mv` will preserve some space)
-mkdir -p build/linux/work/hardware/tools/
-mv toolchain-avr-avr-gcc-$GCC-avrdude-$AVRDUDE-arduino5/avr/ \
- build/linux/work/hardware/tools/
-cp -r toolchain-avr-avr-gcc-$GCC-avrdude-$AVRDUDE-arduino5/avrdude-$AVRDUDE/* \
+mkdir -p build/linux/work/hardware/tools/avr/
+mv toolchain-avr-$GCC-atmel$AVR-$AVR_BUILD/objdir/* \
build/linux/work/hardware/tools/avr/
-echo -e "arduino.avrdude=$AVRDUDE-arduino5\narduino.avr-gcc=$GCC-arduino5" \
- > build/linux/work/hardware/tools/avr/builtin_tools_versions.txt
+
+# AVRDUDE build script was removed :-/
+tar --strip 1 -C build/linux/work/hardware/tools/avr/ \
+ -xvf $CWD/avrdude-$AVRDUDE-$AVRDUDEARCH-pc-linux-gnu.tar.bz2
+
+# ArduinoOTA ships binary as well
+tar --strip 1 -C build/linux/work/hardware/tools/avr/ \
+ -xvf $CWD/arduinoOTA-$ARDUINOOTA-linux_amd64.tar.bz2
+
+# Builder needs to know about the stuff we put above
+cat > build/linux/work/hardware/tools/avr/builtin_tools_versions.txt <<EOF
+arduino.avrdude=$AVRDUDE
+arduino.arduinoOTA=$ARDUINOOTA
+arduino.avr-gcc=$GCC-atmel$AVR-$AVR_BUILD
+EOF
# Use already present toolchain and library bundles
sed -e '/<antcall target="avr-toolchain-bundle">/,/<\/antcall>/d' \
- -e '/<delete file=".*_index.json.gz"\/>/d' \
- -e 's/skipexisting="false"/skipexisting="true"/' \
-i build/build.xml
-# Copy documentation and help
+# Copy documentation, help files and other shared packages
cp $CWD/reference-$REFERENCE.zip \
$CWD/Galileo_help_files-$GALILEO.zip \
- $CWD/Edison_help_files-$EDISON.zip build/shared/
+ $CWD/Edison_help_files-$EDISON.zip \
+ $CWD/WiFi101-Updater-ArduinoIDE-Plugin-${WIFI101UPDATER}.zip build/shared/
# Copy libraries
cp $CWD/Firmata-$FIRMATA.zip \
@@ -147,30 +172,26 @@ cp $CWD/Firmata-$FIRMATA.zip \
$CWD/Esplora-$ESPLORA.zip \
$CWD/Mouse-$MOUSE.zip \
$CWD/Keyboard-$KEYBOARD.zip \
+ $CWD/SD-$SD.zip \
+ $CWD/Servo-$SERVO.zip \
+ $CWD/Adafruit_CircuitPlayground-$ADAFRUIT.zip \
$CWD/libastylej-$LIBASTYLEJ.zip \
$CWD/liblistSerials-$LIBLISTSERIALS.zip \
$CWD/arduino-builder-linux$LIB-$ARDUINOBUILDER.tar.bz2 build/
-# Copy library bundles
-mkdir -p build/linux/work/dist/
-cp $CWD/{library,package}_index.json.* build/linux/work/dist/
-
# Finally, build Arduino
( cd build ; ant )
# Our files are here
cd build/linux/work/
-# Clean up
-rm dist/{library,package}_index.json.gz
-
# Manual install ensues
mkdir -p $PKG/opt/$PRGNAM
-mv arduino{,-builder} dist examples hardware lib libraries reference \
+mv arduino{,-builder} examples hardware lib libraries reference \
tools{,-builder} $PKG/opt/$PRGNAM
# Ownership fixup
-chown -R root:root $PKG/opt/Arduino/tools-builder
+chown -R root:root $PKG/opt/$PRGNAM/tools-builder
# Make it a bit more user friendly
mkdir -p $PKG/usr/{bin,share/applications}
@@ -178,9 +199,6 @@ sed "s/FULL_PATH/\/opt\/$PRGNAM/" $CWD/arduino.desktop \
> $PKG/usr/share/applications/$PRGNAM.desktop
ln -s /opt/$PRGNAM/arduino $PKG/usr/bin/$PRGNAM
-# Fix perms
-chmod 755 $PKG/opt/$PRGNAM/reference/*
-
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a revisions.txt $TMP/$PRGNAM-$VERSION/{README.md,license.txt} \
$PKG/usr/doc/$PRGNAM-$VERSION