From 0c8a939ff0457a7a646a041f8d4a5fd7861901fe Mon Sep 17 00:00:00 2001 From: Mario Preksavec Date: Fri, 24 Jul 2015 18:52:44 +0700 Subject: development/Arduino: Added (IDE). Signed-off-by: Willy Sudiarto Raharjo --- development/Arduino/Arduino.SlackBuild | 165 +++++++++++++++++++++++++++++++++ development/Arduino/Arduino.info | 56 +++++++++++ development/Arduino/README | 10 ++ development/Arduino/doinst.sh | 3 + development/Arduino/slack-desc | 19 ++++ 5 files changed, 253 insertions(+) create mode 100644 development/Arduino/Arduino.SlackBuild create mode 100644 development/Arduino/Arduino.info create mode 100644 development/Arduino/README create mode 100644 development/Arduino/doinst.sh create mode 100644 development/Arduino/slack-desc (limited to 'development/Arduino') diff --git a/development/Arduino/Arduino.SlackBuild b/development/Arduino/Arduino.SlackBuild new file mode 100644 index 0000000000000..de5e4aaf3f73b --- /dev/null +++ b/development/Arduino/Arduino.SlackBuild @@ -0,0 +1,165 @@ +#!/bin/sh + +# Slackware build script for Arduino + +# Copyright 2015 Mario Preksavec, Zagreb, Croatia +# 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=Arduino +VERSION=${VERSION:-1.6.5} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} + +REFERENCE=${REFERENCE:-1.6.0} +GALILEO=${GALILEO:-1.6.2} +EDISON=${EDISON:-1.6.2} +FIRMATA=${FIRMATA:-2.4.3} +TEMBOO=${TEMBOO:-1.1.2} +LIBASTYLEJ=${LIBASTYLEJ:-2.05} + +AVRLIBC=${AVRLIBC:-1.8.0} +AVRHEADERS=${AVRHEADERS:-6.2.0.469} +AVRDUDE=${AVRDUDE:-6.0.1} +BINUTILS=${BINUTILS:-2.24} +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 + i?86) ARCH=i486 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +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 +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION +tar xvf $CWD/$VERSION.tar.gz || tar xvf $CWD/$PRGNAM-$VERSION.tar.gz +cd $PRGNAM-$VERSION +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 {} \; + +# Use already present toolchain requirements +tar xvf $CWD/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 \ + $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/ + +# Build toolchain +( cd toolchain-avr-avr-gcc-$GCC-avrdude-$AVRDUDE-arduino5 ; ./build.all.bash ) + +# 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/* \ + 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 + +# Use already present toolchain and library bundles +sed -e '//,/<\/antcall>/d' \ + -e '//d' \ + -i build/build.xml + +# Copy documentation, help and libraries +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/libastylej-$LIBASTYLEJ.zip build/ + +# Unpack library bundles +mkdir -p build/linux/work/dist/ +cp $CWD/package_index.json.sig build/linux/work/dist/ +gunzip -c $CWD/package_index.json.gz > build/linux/work/dist/package_index.json +gunzip -c $CWD/library_index.json.gz > build/linux/work/dist/library_index.json + +# Finally, build Arduino +( cd build ; ant ) + +# Manual install ensues +mkdir $PKG/opt +mv build/linux/work $PKG/opt/$PRGNAM +rm -rf $PKG/opt/$PRGNAM/hardware/tmp/ + +# 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/ + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a README.md license.txt $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 +cat $CWD/doinst.sh > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/development/Arduino/Arduino.info b/development/Arduino/Arduino.info new file mode 100644 index 0000000000000..b859f8cd1fa9f --- /dev/null +++ b/development/Arduino/Arduino.info @@ -0,0 +1,56 @@ +PRGNAM="Arduino" +VERSION="1.6.5" +HOMEPAGE="http://www.arduino.cc/" +DOWNLOAD="https://github.com/arduino/Arduino/archive/1.6.5.tar.gz \ + http://downloads.arduino.cc/reference-1.6.0.zip \ + http://downloads.arduino.cc/Galileo_help_files-1.6.2.zip \ + http://downloads.arduino.cc/Edison_help_files-1.6.2.zip \ + https://github.com/arduino-libraries/Firmata/archive/v2.4.3.zip \ + https://github.com/temboo/Temboo/archive/1.1.2.zip \ + http://downloads.arduino.cc/libastylej-2.05.zip \ + http://downloads.arduino.cc/packages/package_index.json.gz \ + http://downloads.arduino.cc/packages/package_index.json.sig \ + http://downloads.arduino.cc/libraries/library_index.json.gz \ + https://github.com/arduino/toolchain-avr/archive/avr-gcc-4.8.1-avrdude-6.0.1-arduino5.tar.gz \ + http://download.savannah.gnu.org/releases/avr-libc/avr-libc-1.8.0.tar.bz2 \ + http://distribute.atmel.no/tools/opensource/Atmel-AVR-GNU-Toolchain/3.4.5/avr8-headers-6.2.0.469.zip \ + http://download.savannah.gnu.org/releases/avrdude/avrdude-6.0.1.tar.gz \ + http://mirror.switch.ch/ftp/mirror/gnu/binutils/binutils-2.24.tar.bz2 \ + http://mirror.switch.ch/ftp/mirror/gnu/gmp/gmp-5.0.2.tar.bz2 \ + http://mirror.switch.ch/ftp/mirror/gnu/mpfr/mpfr-3.0.0.tar.bz2 \ + http://www.multiprecision.org/mpc/download/mpc-0.9.tar.gz \ + http://mirror.switch.ch/ftp/mirror/gnu/gcc/gcc-4.8.1/gcc-4.8.1.tar.bz2 \ + http://mirror.switch.ch/ftp/mirror/gnu/gdb/gdb-7.8.tar.xz \ + http://download.sourceforge.net/project/libusb/libusb-1.0/libusb-1.0.18/libusb-1.0.18.tar.bz2 \ + http://download.sourceforge.net/project/libusb/libusb-compat-0.1/libusb-compat-0.1.5/libusb-compat-0.1.5.tar.bz2 \ + http://mirror.switch.ch/ftp/mirror/gnu/autoconf/autoconf-2.64.tar.bz2 \ + http://mirror.switch.ch/ftp/mirror/gnu/automake/automake-1.11.1.tar.bz2" +MD5SUM="b340a595fb024da1636eb396342b011d \ + e95c906955bbdefcf31751633b289d48 \ + dfa93daedbe9188f20f00308f64f4908 \ + c97d466ee23021ffb0d57c222d93e96f \ + edbdc40caceef0841843df661c2e7483 \ + 96797ddb8f7b252fedc029e22f76bb8d \ + 22787c4d0910a628b0ed71cdd40d8c13 \ + c6af2f221f2830a50c2a17817500733a \ + fe1dd73e5baaef2432a29feb5c5455b2 \ + 8feb8fcf526a4ed25e25d150b002b0ad \ + 573b7840861c311e8eafbf07e37c0786 \ + 54c71798f24c96bab206be098062344f \ + 3719aca9af4d0d3a0855a8d43c92a4ae \ + 346ec2e46393a54ac152b95abf1d9850 \ + e0f71a7b2ddab0f8612336ac81d9636b \ + 0bbaedc82fb30315b06b1588b9077cd3 \ + f45bac3584922c8004a10060ab1a8f9f \ + 0d6acab8d214bd7d1fbbc593e83dd00d \ + 3b2386c114cd74185aa3754b58a79304 \ + bd958fe9019d7c7896f29f6724a764ed \ + 4a6d049923efc6496f1d383054dac1a6 \ + 2780b6a758a1e2c2943bdbf7faf740e4 \ + ef400d672005e0be21e0d20648169074 \ + c2972c4d9b3e29c03d5f2af86249876f" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +REQUIRES="apache-ant" +MAINTAINER="Mario Preksavec" +EMAIL="mario at slackware dot hr" diff --git a/development/Arduino/README b/development/Arduino/README new file mode 100644 index 0000000000000..320ad525358a9 --- /dev/null +++ b/development/Arduino/README @@ -0,0 +1,10 @@ +The open-source Arduino Software (IDE) makes it easy to write code and upload +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. diff --git a/development/Arduino/doinst.sh b/development/Arduino/doinst.sh new file mode 100644 index 0000000000000..5fb28930db0b9 --- /dev/null +++ b/development/Arduino/doinst.sh @@ -0,0 +1,3 @@ +if [ -x /usr/bin/update-desktop-database ]; then + /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1 +fi diff --git a/development/Arduino/slack-desc b/development/Arduino/slack-desc new file mode 100644 index 0000000000000..cbf4a9fd8d0ba --- /dev/null +++ b/development/Arduino/slack-desc @@ -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------------------------------------------------------| +Arduino: Arduino (IDE) +Arduino: +Arduino: The open-source Arduino Software (IDE) makes it easy to write code +Arduino: and upload it to the board. It runs on Windows, Mac OS X, and Linux. +Arduino: The environment is written in Java and based on Processing and other +Arduino: open-source software. +Arduino: This software can be used with any Arduino board. +Arduino: +Arduino: Homepage: http://www.arduino.cc/ +Arduino: +Arduino: -- cgit v1.2.3