diff options
Diffstat (limited to 'development/Arduino/Arduino.SlackBuild')
-rw-r--r-- | development/Arduino/Arduino.SlackBuild | 132 |
1 files changed, 75 insertions, 57 deletions
diff --git a/development/Arduino/Arduino.SlackBuild b/development/Arduino/Arduino.SlackBuild index 01931d2379a18..d8ac2ff3ca1e4 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 |