From 6c8716f66671a32f9a0834532706a39854fc1180 Mon Sep 17 00:00:00 2001 From: Gerasim Troeglazov <3dEyes@gmail.com> Date: Mon, 12 Oct 2015 20:17:31 +1000 Subject: [PATCH] Arduino: bump version --- dev-embedded/arduino/arduino-1.7.4.recipe | 17 +- dev-embedded/arduino/arduino-1.7.7.recipe | 203 ++++++++++++++++++ ...4.patchset => JFileChooser-1.7.x.patchset} | 0 ...patchset => SettingsFolder-1.7.x.patchset} | 0 ...-1.7.4.patchset => arduino-1.7.x.patchset} | 0 5 files changed, 215 insertions(+), 5 deletions(-) create mode 100644 dev-embedded/arduino/arduino-1.7.7.recipe rename dev-embedded/arduino/patches/{JFileChooser-1.7.4.patchset => JFileChooser-1.7.x.patchset} (100%) rename dev-embedded/arduino/patches/{SettingsFolder-1.7.4.patchset => SettingsFolder-1.7.x.patchset} (100%) rename dev-embedded/arduino/patches/{arduino-1.7.4.patchset => arduino-1.7.x.patchset} (100%) diff --git a/dev-embedded/arduino/arduino-1.7.4.recipe b/dev-embedded/arduino/arduino-1.7.4.recipe index 146219347..add17996e 100644 --- a/dev-embedded/arduino/arduino-1.7.4.recipe +++ b/dev-embedded/arduino/arduino-1.7.4.recipe @@ -14,15 +14,15 @@ SOURCE_URI_2="git+https://github.com/scream3r/java-simple-serial-connector#f5564 SOURCE_URI_3="svn+https://github.com/arduino-org/Arduino/trunk/app/src/processing/app" SOURCE_URI_4="svn+https://github.com/arduino-org/Arduino/trunk/arduino-core/src/processing" -REVISION="1" +REVISION="2" ARCHITECTURES="!x86_gcc2 x86 ?x86_64" SECONDARY_ARCHITECTURES="x86" -PATCHES="arduino-1.7.4.patchset" +PATCHES="arduino-1.7.x.patchset" PATCHES_2="jssc_2.8.0.patchset" -PATCHES_3="JFileChooser-1.7.4.patchset" -PATCHES_4="SettingsFolder-1.7.4.patchset" +PATCHES_3="JFileChooser-1.7.x.patchset" +PATCHES_4="SettingsFolder-1.7.x.patchset" PROVIDES=" arduino$secondaryArchSuffix = $portVersion @@ -42,7 +42,7 @@ BUILD_REQUIRES=" openjdk$secondaryArchSuffix " BUILD_PREREQUIRES=" - cmd:gcc + cmd:gcc$secondaryArchSuffix cmd:make cmd:java cmd:java_config @@ -67,12 +67,19 @@ BUILD() mkdir -p $sourceDir2/build/libs/haiku cd $sourceDir2/build/libs/haiku + if [ "$effectiveTargetArchitecture" = "x86_gcc2" ]; then + STDLIB="stdc++.r4" + else + STDLIB="stdc++" + fi + gcc -shared \ -I/boot/system/lib/openjdk/include \ -I/boot/system/lib/x86/openjdk/include \ -I/boot/system/lib/openjdk/include/haiku \ -I/boot/system/lib/x86/openjdk/include/haiku \ $sourceDir2/src/cpp/_nix_based/jssc.cpp \ + -l$STDLIB \ -o $sourceDir2/build/libs/haiku/libjSSC-2.8_x86.so cp -r $sourceDir2/src/java/libs/* $sourceDir2/build/libs diff --git a/dev-embedded/arduino/arduino-1.7.7.recipe b/dev-embedded/arduino/arduino-1.7.7.recipe new file mode 100644 index 000000000..1cb88326c --- /dev/null +++ b/dev-embedded/arduino/arduino-1.7.7.recipe @@ -0,0 +1,203 @@ +SUMMARY="IDE for the Arduino embedded hardware family" +DESCRIPTION="Arduino is an open-source tool used for building electronics projects. +Arduino consists of a physical programmable circuit board (often referred to as a micro-controller) \ +and a development environment, or IDE (Integrated Development Environment) that runs on your computer, \ +used to write and upload computer code to the board." + +HOMEPAGE="http://arduino.org" +LICENSE="GNU GPL v2" +COPYRIGHT="2015 Arduino S.r.l. - Italy" + +SOURCE_URI="http://download.arduino.org/IDE/1.7.7/arduino-1.7.7.org-linux32.tar.xz" +CHECKSUM_SHA256="1640363e847f97ad640f248fc635d324b73219ec8a93147967d1dcda07db1d3c" +SOURCE_URI_2="git+https://github.com/scream3r/java-simple-serial-connector#f5564869f8a70503c29c0d24609245321ba39b2c" +SOURCE_URI_3="svn+https://github.com/arduino-org/Arduino/trunk/app/src/processing/app" +SOURCE_URI_4="svn+https://github.com/arduino-org/Arduino/trunk/arduino-core/src/processing" + +REVISION="1" + +ARCHITECTURES="!x86_gcc2 x86 ?x86_64" +SECONDARY_ARCHITECTURES="x86" + +PATCHES="arduino-1.7.x.patchset" +PATCHES_2="jssc_2.8.0.patchset" +PATCHES_3="JFileChooser-1.7.x.patchset" +PATCHES_4="SettingsFolder-1.7.x.patchset" + +PROVIDES=" + arduino$secondaryArchSuffix = $portVersion + app:Arduino$secondaryArchSuffix = $portVersion + " + +REQUIRES=" + haiku$secondaryArchSuffix + openjdk$secondaryArchSuffix + cmd:avrdude$secondaryArchSuffix + avr_libc$secondaryArchSuffix + avr_gcc$secondaryArchSuffix + avr_binutils$secondaryArchSuffix + " +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + openjdk$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:gcc$secondaryArchSuffix + cmd:make + cmd:java + cmd:java_config + cmd:javac + cmd:jar + " + +SOURCE_DIR="arduino-1.7.7-linux32" + +DISABLE_SOURCE_PACKAGE=yes + +BUILD() +{ + cd haiku + make + + mkdir -p $sourceDir2/build/jssc + + javac -encoding ISO-8859-1 $sourceDir2/src/java/jssc/*.java + cp $sourceDir2/src/java/jssc/*.class $sourceDir2/build/jssc + + mkdir -p $sourceDir2/build/libs/haiku + cd $sourceDir2/build/libs/haiku + + if [ "$effectiveTargetArchitecture" = "x86_gcc2" ]; then + STDLIB="stdc++.r4" + else + STDLIB="stdc++" + fi + + gcc -shared \ + -I/boot/system/lib/openjdk/include \ + -I/boot/system/lib/x86/openjdk/include \ + -I/boot/system/lib/openjdk/include/haiku \ + -I/boot/system/lib/x86/openjdk/include/haiku \ + $sourceDir2/src/cpp/_nix_based/jssc.cpp \ + -l$STDLIB \ + -o $sourceDir2/build/libs/haiku/libjSSC-2.8_x86.so + + cp -r $sourceDir2/src/java/libs/* $sourceDir2/build/libs + + cd $sourceDir2/build + jar cf jssc-2.8.0.jar jssc libs + + mkdir -p $sourceDir2/build/processing/app + cp -f $sourceDir2/src/java/jssc/SerialPortList.java $sourceDir2/build/processing/app + sed -i 's|package jssc;|package processing.app;|1' \ + $sourceDir2/build/processing/app/SerialPortList.java + sed -i '/import java.util.regex.Pattern;/a import jssc.SerialNativeInterface;' \ + $sourceDir2/build/processing/app/SerialPortList.java + + javac -encoding ISO-8859-1 -cp ./jssc-2.8.0.jar:$sourceDir/lib/arduino-core.jar \ + $sourceDir2/build/processing/app/SerialPortList.java + rm $sourceDir2/build/processing/app/SerialPortList.java + + cd $sourceDir + javac -encoding ISO-8859-1 -cp java/lib/rt.jar:java/lib/tools.jar:./lib/pde.jar:./lib/arduino-core.jar \ + $sourceDir3/Base.java $sourceDir3/Sketch.java + + mkdir -p $sourceDir3/processing/app + cp -f $sourceDir3/*.class $sourceDir3/processing/app + + javac -encoding ISO-8859-1 \ + -cp java/lib/rt.jar:java/lib/tools.jar:./lib/pde.jar:./lib/arduino-core.jar:./lib/jna.jar \ + $sourceDir4/app/Platform.java + + mkdir -p $sourceDir4/processing/app + cp -f $sourceDir4/app/*.class $sourceDir4/processing/app +} + +INSTALL() +{ + arduinoDir=$appsDir/Arduino + mkdir -p $arduinoDir + + cp -r examples $arduinoDir + cp -r libraries $arduinoDir + cp -r reference $arduinoDir + cp -r lib $arduinoDir + cp -r tools $arduinoDir + + mkdir -p $arduinoDir/hardware/arduino + cp -r hardware/arduino/avr $arduinoDir/hardware/arduino + + #Patch for AVR tools + sed -i "s|^compiler.path=.*|compiler.path=$binDir/|g" \ + $arduinoDir/hardware/arduino/avr/platform.txt + sed -i "s|^tools.avrdude.cmd.path=.*|tools.avrdude.cmd.path=$binDir/avrdude|g" \ + $arduinoDir/hardware/arduino/avr/platform.txt + sed -i "s|^tools.avrdude.config.path=.*|tools.avrdude.config.path=/boot/system/settings/avrdude.conf|g" \ + $arduinoDir/hardware/arduino/avr/platform.txt + #Patch for SAM tools + #sed -i "s|^compiler.path=.*|compiler.path=$binDir/|g" \ + # $arduinoDir/hardware/arduino/sam/platform.txt + #Patch for SAMD tools + #sed -i "s|^compiler.path=.*|compiler.path=$binDir/|g" \ + # $arduinoDir/hardware/arduino/samd/platform.txt + + #Disable check for update + sed -i 's|^update.check.*|update.check = false|g' $arduinoDir/lib/preferences.txt + #Set default serial port + sed -i 's|^serial.port=.*|serial.port=/dev/ports/usb0|g' $arduinoDir/lib/preferences.txt + #Add command for opening + echo "browser = /bin/open" >> $arduinoDir/lib/preferences.txt + echo "launcher = /bin/open" >> $arduinoDir/lib/preferences.txt + + #Add fake libastylej.so library + rm $arduinoDir/lib/libastylej.so + ln -s $libDir/libroot.so $arduinoDir/lib/libastylej.so + + cp -f $sourceDir2/build/jssc-2.8.0.jar $arduinoDir/lib + + #Add patched SerialList class into arduino-core.jar + cd $sourceDir2/build + jar -uf $arduinoDir/lib/arduino-core.jar \ + processing/app/SerialPortList.class \ + processing/app/SerialPortList$1.class + + #Add patch for JFileChooser using + cd $sourceDir3 + jar -uf $arduinoDir/lib/pde.jar \ + processing/app/*.class + + #Add patch for settings directory + cd $sourceDir4 + jar -uf $arduinoDir/lib/arduino-core.jar \ + processing/app/*.class + + cd $sourceDir + + #Generate launcher script + echo '#!/bin/sh +APPDIR="$(dirname -- "$(readlink -f -- "${0}")" )" +cd "$APPDIR" +for LIB in \ + java/lib/rt.jar \ + java/lib/tools.jar \ + lib/*.jar \ + ; +do + CLASSPATH="${CLASSPATH}:${LIB}" +done +export CLASSPATH +LD_LIBRARY_PATH=`pwd`/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} +export LD_LIBRARY_PATH +export PATH="${APPDIR}/java/bin:${PATH}" +java processing.app.Base "$@" +' > $arduinoDir/arduino.sh + + chmod +x $arduinoDir/arduino.sh + + #Copy binary launcher + cp "haiku/Arduino IDE" $arduinoDir + + cp revisions.txt $arduinoDir + + addAppDeskbarSymlink "$arduinoDir/Arduino IDE" +} diff --git a/dev-embedded/arduino/patches/JFileChooser-1.7.4.patchset b/dev-embedded/arduino/patches/JFileChooser-1.7.x.patchset similarity index 100% rename from dev-embedded/arduino/patches/JFileChooser-1.7.4.patchset rename to dev-embedded/arduino/patches/JFileChooser-1.7.x.patchset diff --git a/dev-embedded/arduino/patches/SettingsFolder-1.7.4.patchset b/dev-embedded/arduino/patches/SettingsFolder-1.7.x.patchset similarity index 100% rename from dev-embedded/arduino/patches/SettingsFolder-1.7.4.patchset rename to dev-embedded/arduino/patches/SettingsFolder-1.7.x.patchset diff --git a/dev-embedded/arduino/patches/arduino-1.7.4.patchset b/dev-embedded/arduino/patches/arduino-1.7.x.patchset similarity index 100% rename from dev-embedded/arduino/patches/arduino-1.7.4.patchset rename to dev-embedded/arduino/patches/arduino-1.7.x.patchset