summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
Diffstat (limited to 'java')
-rw-r--r--java/arduino/PKGBUILD91
-rw-r--r--java/arduino/arduino.install1
-rw-r--r--java/arduino/avrlibc-signals.patch87
-rw-r--r--java/arduino/external-avrtools.patch28
-rw-r--r--java/arduino/sig-patch.diff256
5 files changed, 163 insertions, 300 deletions
diff --git a/java/arduino/PKGBUILD b/java/arduino/PKGBUILD
index 426664a37..aeb46feee 100644
--- a/java/arduino/PKGBUILD
+++ b/java/arduino/PKGBUILD
@@ -1,8 +1,9 @@
-# Maintainer: PyroPeter <googlemail.com@abi1789>
+# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
+# Maintainer (AUR): PyroPeter <googlemail.com@abi1789>
pkgname=arduino
-pkgver=1.0.1
-pkgrel=2
+pkgver=1.0.2
+pkgrel=1
pkgdesc="Arduino SDK and IDE"
arch=('i686' 'x86_64')
url="http://arduino.cc/en/Main/Software"
@@ -11,91 +12,95 @@ license=('GPL')
depends=('avr-gcc' 'avr-libc' 'libusb-compat' 'java-runtime' 'avrdude'
'java-rxtx' 'antlr2' 'eclipse-ecj' 'jna')
-makedepends=(java-environment apache-ant jh)
+makedepends=(java-environment apache-ant makepkg-git)
install="arduino.install"
source=("http://arduino.googlecode.com/files/arduino-$pkgver-src.tar.gz"
- 'sig-patch.diff'
+ 'avrlibc-signals.patch'
+ 'external-avrtools.patch'
'arduino.png'
'arduino.desktop')
unset _JAVA_OPTIONS
. /etc/profile.d/jdk.sh
-mksource() {
+prepare() {
cd "$srcdir/arduino-$pkgver"
+ find . -name '*.hex' -delete
find . -name '*.jar' -delete
+ find . -name '*.so' -delete
find . -name '*.swp' -delete
- find . -name '*.so' -delete
- rm -rf build/linux/dist/*/*
+ rm -f build/linux/dist/tools/avrdude*
+ rm -rf hardware/arduino/firmwares/wifishield
}
-build() {
- cd "$srcdir/arduino-$pkgver"
- eval `jh mksource build/shared/reference.zip`
-
- cd "$srcdir"
- mkdir empty.d
- cd empty.d
- bsdtar cjf ../empty.tar.bz2 .
- cd ..
- rmdir empty.d
+_link_jars() {
+ for jar in RXTXcomm.jar antlr2.jar ecj.jar jna.jar; do
+ ln -sf /usr/share/java/$jar .
+ done
+}
+_patch() {
cd "$srcdir/arduino-$pkgver"
# Fix issue 955 to be compatible with newer versions of avr-libc
# https://code.google.com/p/arduino/issues/detail?id=955
# Note: this patch is not the patch given in the comments
- patch -Np1 -i "$srcdir/sig-patch.diff"
+ patch -Np1 -i "$srcdir/avrlibc-signals.patch"
+ grep -rl 'SIGNAL\s*(' . | xargs sed -ri 's/SIGNAL\s*\(([^)]*_vect)\)/ISR(\1)/g'
+
+ # Don't look for pre-compiled avr-tools
+ patch -Np1 -i "$srcdir/external-avrtools.patch"
- #ln -s /.../RXTXcomm.jar app/lib # already on the classpath
- ln -s /usr/share/java/antlr2.jar app/lib/antlr.jar
- #ln -s /.../apple.jar app/lib # only used on Mac OS
- ln -s /usr/share/java/ecj.jar app/lib
- ln -s /usr/share/java/jna.jar app/lib
- ln -s /usr/bin/avrdude build/linux/dist/tools
+ rm -rf app/src/processing/app/macosx
- ln -s "$srcdir/empty.tar.bz2" build/linux/avr_tools_linux32.tar.bz2
- ln -s "$srcdir/empty.tar.bz2" build/linux/avr_tools_linux64.tar.bz2
+ cd app/lib
+ _link_jars
+}
+
+build() {
+ _patch
- for d in methods preproc; do
- cd "$srcdir/arduino-$pkgver/core/$d"
- ant
+ # build submodules
+ for submodule in core/methods core/preproc; do
+ cd "$srcdir/arduino-$pkgver/$submodule"
+ ant
done
+ # build the main package
cd "$srcdir/arduino-$pkgver/build"
-
log=`mktemp`
ant 2>&1|tee "$log"
if egrep -q 'Error|FAILED' "$log"; then
- rm "$log"
- false
+ rm "$log"
+ false
else
- rm "$log"
+ rm "$log"
fi
+
+ # symlink jar files to the system locations
+ cd "linux/work/lib"
+ _link_jars
}
package() {
cd "$srcdir/arduino-$pkgver/build/linux/work"
- # arduino excutable should accept arguments
- sed -i 's|^java .* processing.app.Base$|\0 "$@"|' arduino
- sed -i 's|^APPDIR=.*|APPDIR=/usr/share/arduino|' arduino
-
- mkdir -p "$pkgdir"/usr/{bin,share/{doc,applications,pixmaps}}
+ install -d "$pkgdir"/usr/{bin,share/{doc,applications,pixmaps}}
# copy the whole SDK to /usr/share/arduino/
cp -r . "$pkgdir/usr/share/arduino"
# at least support the FHS a little bit:
- install -m755 "arduino" "$pkgdir/usr/bin/arduino"
- ln -s /usr/share/arduino/reference "$pkgdir/usr/share/doc/arduino"
+ ln -s ../share/arduino/arduino "$pkgdir/usr/bin/arduino"
+ ln -s ../arduino/reference "$pkgdir/usr/share/doc/arduino"
# desktop icon
install -m644 "$srcdir/arduino.desktop" "$pkgdir/usr/share/applications/"
install -m644 "$srcdir/arduino.png" "$pkgdir/usr/share/pixmaps/"
}
-md5sums=('03263613f4be4f865989244420be04fa'
- 'acadc724cbe08c09711825f4bd5c04f6'
+md5sums=('dfb64e2a7de4a4a8b872732fe90e3249'
+ 'e44975d31aa1770e4f5ac6e6867b0864'
+ '9c696c2361d57027be41ae64436182aa'
'9e36d33891d5e68d38ec55d1494499a5'
'eebc4d6495864bea99ad057af801afb9')
diff --git a/java/arduino/arduino.install b/java/arduino/arduino.install
index 35d283fab..c222e1b6d 100644
--- a/java/arduino/arduino.install
+++ b/java/arduino/arduino.install
@@ -1,6 +1,5 @@
post_install() {
xdg-icon-resource install --size 256 --novendor /usr/share/pixmaps/arduino.png
- echo "Don't forget to add yourself to the uucp group: gpasswd -a <user> uucp"
}
pre_remove() {
diff --git a/java/arduino/avrlibc-signals.patch b/java/arduino/avrlibc-signals.patch
new file mode 100644
index 000000000..d9c743cc6
--- /dev/null
+++ b/java/arduino/avrlibc-signals.patch
@@ -0,0 +1,87 @@
+diff -ruN arduino-1.0.2.orig/hardware/arduino/cores/arduino/HardwareSerial.cpp arduino-1.0.2/hardware/arduino/cores/arduino/HardwareSerial.cpp
+--- arduino-1.0.2.orig/hardware/arduino/cores/arduino/HardwareSerial.cpp 2012-11-04 16:29:10.000000000 -0500
++++ arduino-1.0.2/hardware/arduino/cores/arduino/HardwareSerial.cpp 2012-12-03 15:35:06.000000000 -0500
+@@ -89,9 +89,7 @@
+ #if !defined(USART0_RX_vect) && defined(USART1_RX_vect)
+ // do nothing - on the 32u4 the first USART is USART1
+ #else
+-#if !defined(USART_RX_vect) && !defined(SIG_USART0_RECV) && \
+- !defined(SIG_UART0_RECV) && !defined(USART0_RX_vect) && \
+- !defined(SIG_UART_RECV)
++#if !defined(USART_RX_vect) && !defined(USART0_RX_vect)
+ #error "Don't know what the Data Received vector is called for the first UART"
+ #else
+ void serialEvent() __attribute__((weak));
+@@ -99,14 +97,8 @@
+ #define serialEvent_implemented
+ #if defined(USART_RX_vect)
+ SIGNAL(USART_RX_vect)
+-#elif defined(SIG_USART0_RECV)
+- SIGNAL(SIG_USART0_RECV)
+-#elif defined(SIG_UART0_RECV)
+- SIGNAL(SIG_UART0_RECV)
+ #elif defined(USART0_RX_vect)
+ SIGNAL(USART0_RX_vect)
+-#elif defined(SIG_UART_RECV)
+- SIGNAL(SIG_UART_RECV)
+ #endif
+ {
+ #if defined(UDR0)
+@@ -143,8 +135,6 @@
+ unsigned char c = UDR1;
+ };
+ }
+-#elif defined(SIG_USART1_RECV)
+- #error SIG_USART1_RECV
+ #endif
+
+ #if defined(USART2_RX_vect) && defined(UDR2)
+@@ -160,8 +150,6 @@
+ unsigned char c = UDR2;
+ };
+ }
+-#elif defined(SIG_USART2_RECV)
+- #error SIG_USART2_RECV
+ #endif
+
+ #if defined(USART3_RX_vect) && defined(UDR3)
+@@ -177,8 +165,6 @@
+ unsigned char c = UDR3;
+ };
+ }
+-#elif defined(SIG_USART3_RECV)
+- #error SIG_USART3_RECV
+ #endif
+
+ void serialEventRun(void)
+diff -ruN arduino-1.0.2.orig/hardware/arduino/cores/arduino/HardwareSerial.h arduino-1.0.2/hardware/arduino/cores/arduino/HardwareSerial.h
+--- arduino-1.0.2.orig/hardware/arduino/cores/arduino/HardwareSerial.h 2012-11-04 16:29:10.000000000 -0500
++++ arduino-1.0.2/hardware/arduino/cores/arduino/HardwareSerial.h 2012-12-03 15:35:06.000000000 -0500
+@@ -126,6 +126,15 @@
+ #endif
+ #endif
+
++/*
++ * on ATmega8, the uart and its bits are not numbered, so there is no "TXC0"
++ * definition. It is slightly cleaner to define this here instead of having
++ * conditional code in the cpp module.
++ */
++#if !defined(TXC0)
++#define TXC0 TXC
++#endif
++
+ extern void serialEventRun(void) __attribute__((weak));
+
+ #endif
+diff -ruN arduino-1.0.2.orig/hardware/arduino/cores/arduino/WInterrupts.c arduino-1.0.2/hardware/arduino/cores/arduino/WInterrupts.c
+--- arduino-1.0.2.orig/hardware/arduino/cores/arduino/WInterrupts.c 2012-11-04 16:29:11.000000000 -0500
++++ arduino-1.0.2/hardware/arduino/cores/arduino/WInterrupts.c 2012-12-03 15:37:08.000000000 -0500
+@@ -314,7 +314,7 @@
+ #endif
+
+ /*
+-SIGNAL(SIG_2WIRE_SERIAL) {
++ISR(TWI_vect) {
+ if(twiIntFunc)
+ twiIntFunc();
+ }
diff --git a/java/arduino/external-avrtools.patch b/java/arduino/external-avrtools.patch
new file mode 100644
index 000000000..a47575b53
--- /dev/null
+++ b/java/arduino/external-avrtools.patch
@@ -0,0 +1,28 @@
+diff -ru arduino-1.0.2.orig/build/build.xml arduino-1.0.2/build/build.xml
+--- arduino-1.0.2.orig/build/build.xml 2012-11-04 16:29:09.000000000 -0500
++++ arduino-1.0.2/build/build.xml 2012-12-03 15:22:39.000000000 -0500
+@@ -353,24 +353,9 @@
+ </target>
+
+ <target name="linux32-build" depends="linux-build" description="Build linux (32-bit) version">
+- <!-- Unzip AVR tools -->
+- <exec executable="tar" dir="linux/work/hardware">
+- <arg value="-xjf"/>
+- <arg value="../../avr_tools_linux32.tar.bz2"/>
+- </exec>
+ </target>
+
+ <target name="linux64-build" depends="linux-build" description="Build linux (64-bit) version">
+- <copy tofile="linux/work/hardware/tools/avrdude" file="linux/dist/tools/avrdude64" overwrite="true" />
+- <copy tofile="linux/work/lib/librxtxSerial.so" file="linux/dist/lib/librxtxSerial64.so" overwrite="true" />
+-
+- <chmod perm="755" file="linux/work/hardware/tools/avrdude" />
+-
+- <!-- Unzip AVR tools -->
+- <exec executable="tar" dir="linux/work/hardware">
+- <arg value="-xjf"/>
+- <arg value="../../avr_tools_linux64.tar.bz2"/>
+- </exec>
+ </target>
+
+ <target name="linux32-run" depends="linux32-build"
diff --git a/java/arduino/sig-patch.diff b/java/arduino/sig-patch.diff
deleted file mode 100644
index 4be3a6cdc..000000000
--- a/java/arduino/sig-patch.diff
+++ /dev/null
@@ -1,256 +0,0 @@
-diff -ruN arduino-1.0.1.orig/hardware/arduino/cores/arduino/HardwareSerial.cpp arduino-1.0.1/hardware/arduino/cores/arduino/HardwareSerial.cpp
---- arduino-1.0.1.orig/hardware/arduino/cores/arduino/HardwareSerial.cpp 2012-05-21 13:01:43.000000000 -0400
-+++ arduino-1.0.1/hardware/arduino/cores/arduino/HardwareSerial.cpp 2012-10-19 23:26:46.000000000 -0400
-@@ -88,24 +88,16 @@
- #if !defined(USART0_RX_vect) && defined(USART1_RX_vect)
- // do nothing - on the 32u4 the first USART is USART1
- #else
--#if !defined(USART_RX_vect) && !defined(SIG_USART0_RECV) && \
-- !defined(SIG_UART0_RECV) && !defined(USART0_RX_vect) && \
-- !defined(SIG_UART_RECV)
-+#if !defined(USART_RX_vect) && !defined(USART0_RX_vect)
- #error "Don't know what the Data Received vector is called for the first UART"
- #else
- void serialEvent() __attribute__((weak));
- void serialEvent() {}
- #define serialEvent_implemented
- #if defined(USART_RX_vect)
-- SIGNAL(USART_RX_vect)
--#elif defined(SIG_USART0_RECV)
-- SIGNAL(SIG_USART0_RECV)
--#elif defined(SIG_UART0_RECV)
-- SIGNAL(SIG_UART0_RECV)
-+ ISR(USART_RX_vect)
- #elif defined(USART0_RX_vect)
-- SIGNAL(USART0_RX_vect)
--#elif defined(SIG_UART_RECV)
-- SIGNAL(SIG_UART_RECV)
-+ ISR(USART0_RX_vect)
- #endif
- {
- #if defined(UDR0)
-@@ -124,39 +116,33 @@
- void serialEvent1() __attribute__((weak));
- void serialEvent1() {}
- #define serialEvent1_implemented
-- SIGNAL(USART1_RX_vect)
-+ ISR(USART1_RX_vect)
- {
- unsigned char c = UDR1;
- store_char(c, &rx_buffer1);
- }
--#elif defined(SIG_USART1_RECV)
-- #error SIG_USART1_RECV
- #endif
-
- #if defined(USART2_RX_vect) && defined(UDR2)
- void serialEvent2() __attribute__((weak));
- void serialEvent2() {}
- #define serialEvent2_implemented
-- SIGNAL(USART2_RX_vect)
-+ ISR(USART2_RX_vect)
- {
- unsigned char c = UDR2;
- store_char(c, &rx_buffer2);
- }
--#elif defined(SIG_USART2_RECV)
-- #error SIG_USART2_RECV
- #endif
-
- #if defined(USART3_RX_vect) && defined(UDR3)
- void serialEvent3() __attribute__((weak));
- void serialEvent3() {}
- #define serialEvent3_implemented
-- SIGNAL(USART3_RX_vect)
-+ ISR(USART3_RX_vect)
- {
- unsigned char c = UDR3;
- store_char(c, &rx_buffer3);
- }
--#elif defined(SIG_USART3_RECV)
-- #error SIG_USART3_RECV
- #endif
-
- void serialEventRun(void)
-diff -ruN arduino-1.0.1.orig/hardware/arduino/cores/arduino/HardwareSerial.h arduino-1.0.1/hardware/arduino/cores/arduino/HardwareSerial.h
---- arduino-1.0.1.orig/hardware/arduino/cores/arduino/HardwareSerial.h 2012-05-21 13:01:43.000000000 -0400
-+++ arduino-1.0.1/hardware/arduino/cores/arduino/HardwareSerial.h 2012-10-19 23:13:59.000000000 -0400
-@@ -76,6 +76,15 @@
- extern HardwareSerial Serial3;
- #endif
-
-+/*
-+ * on ATmega8, the uart and its bits are not numbered, so there is no "TXC0"
-+ * definition. It is slightly cleaner to define this here instead of having
-+ * conditional code in the cpp module.
-+ */
-+#if !defined(TXC0)
-+#define TXC0 TXC
-+#endif
-+
- extern void serialEventRun(void) __attribute__((weak));
-
- #endif
-diff -ruN arduino-1.0.1.orig/hardware/arduino/cores/arduino/WInterrupts.c arduino-1.0.1/hardware/arduino/cores/arduino/WInterrupts.c
---- arduino-1.0.1.orig/hardware/arduino/cores/arduino/WInterrupts.c 2012-05-21 13:01:43.000000000 -0400
-+++ arduino-1.0.1/hardware/arduino/cores/arduino/WInterrupts.c 2012-10-19 23:13:59.000000000 -0400
-@@ -216,72 +216,72 @@
- */
-
- #if defined(__AVR_ATmega32U4__)
--SIGNAL(INT0_vect) {
-+ISR(INT0_vect) {
- if(intFunc[EXTERNAL_INT_0])
- intFunc[EXTERNAL_INT_0]();
- }
-
--SIGNAL(INT1_vect) {
-+ISR(INT1_vect) {
- if(intFunc[EXTERNAL_INT_1])
- intFunc[EXTERNAL_INT_1]();
- }
-
- #elif defined(EICRA) && defined(EICRB)
-
--SIGNAL(INT0_vect) {
-+ISR(INT0_vect) {
- if(intFunc[EXTERNAL_INT_2])
- intFunc[EXTERNAL_INT_2]();
- }
-
--SIGNAL(INT1_vect) {
-+ISR(INT1_vect) {
- if(intFunc[EXTERNAL_INT_3])
- intFunc[EXTERNAL_INT_3]();
- }
-
--SIGNAL(INT2_vect) {
-+ISR(INT2_vect) {
- if(intFunc[EXTERNAL_INT_4])
- intFunc[EXTERNAL_INT_4]();
- }
-
--SIGNAL(INT3_vect) {
-+ISR(INT3_vect) {
- if(intFunc[EXTERNAL_INT_5])
- intFunc[EXTERNAL_INT_5]();
- }
-
--SIGNAL(INT4_vect) {
-+ISR(INT4_vect) {
- if(intFunc[EXTERNAL_INT_0])
- intFunc[EXTERNAL_INT_0]();
- }
-
--SIGNAL(INT5_vect) {
-+ISR(INT5_vect) {
- if(intFunc[EXTERNAL_INT_1])
- intFunc[EXTERNAL_INT_1]();
- }
-
--SIGNAL(INT6_vect) {
-+ISR(INT6_vect) {
- if(intFunc[EXTERNAL_INT_6])
- intFunc[EXTERNAL_INT_6]();
- }
-
--SIGNAL(INT7_vect) {
-+ISR(INT7_vect) {
- if(intFunc[EXTERNAL_INT_7])
- intFunc[EXTERNAL_INT_7]();
- }
-
- #else
-
--SIGNAL(INT0_vect) {
-+ISR(INT0_vect) {
- if(intFunc[EXTERNAL_INT_0])
- intFunc[EXTERNAL_INT_0]();
- }
-
--SIGNAL(INT1_vect) {
-+ISR(INT1_vect) {
- if(intFunc[EXTERNAL_INT_1])
- intFunc[EXTERNAL_INT_1]();
- }
-
- #if defined(EICRA) && defined(ISC20)
--SIGNAL(INT2_vect) {
-+ISR(INT2_vect) {
- if(intFunc[EXTERNAL_INT_2])
- intFunc[EXTERNAL_INT_2]();
- }
-@@ -290,9 +290,8 @@
- #endif
-
- /*
--SIGNAL(SIG_2WIRE_SERIAL) {
-+ISR(TWI_vect) {
- if(twiIntFunc)
- twiIntFunc();
- }
- */
--
-diff -ruN arduino-1.0.1.orig/hardware/arduino/cores/arduino/wiring.c arduino-1.0.1/hardware/arduino/cores/arduino/wiring.c
---- arduino-1.0.1.orig/hardware/arduino/cores/arduino/wiring.c 2012-05-21 13:01:43.000000000 -0400
-+++ arduino-1.0.1/hardware/arduino/cores/arduino/wiring.c 2012-10-19 23:13:59.000000000 -0400
-@@ -42,9 +42,9 @@
- static unsigned char timer0_fract = 0;
-
- #if defined(__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__)
--SIGNAL(TIM0_OVF_vect)
-+ISR(TIM0_OVF_vect)
- #else
--SIGNAL(TIMER0_OVF_vect)
-+ISR(TIMER0_OVF_vect)
- #endif
- {
- // copy these to local variables so they can be stored in registers
-diff -ruN arduino-1.0.1.orig/libraries/Servo/Servo.cpp arduino-1.0.1/libraries/Servo/Servo.cpp
---- arduino-1.0.1.orig/libraries/Servo/Servo.cpp 2012-05-08 20:34:38.000000000 -0400
-+++ arduino-1.0.1/libraries/Servo/Servo.cpp 2012-10-19 23:13:59.000000000 -0400
-@@ -100,28 +100,28 @@
- #ifndef WIRING // Wiring pre-defines signal handlers so don't define any if compiling for the Wiring platform
- // Interrupt handlers for Arduino
- #if defined(_useTimer1)
--SIGNAL (TIMER1_COMPA_vect)
-+ISR(TIMER1_COMPA_vect)
- {
- handle_interrupts(_timer1, &TCNT1, &OCR1A);
- }
- #endif
-
- #if defined(_useTimer3)
--SIGNAL (TIMER3_COMPA_vect)
-+ISR(TIMER3_COMPA_vect)
- {
- handle_interrupts(_timer3, &TCNT3, &OCR3A);
- }
- #endif
-
- #if defined(_useTimer4)
--SIGNAL (TIMER4_COMPA_vect)
-+ISR(TIMER4_COMPA_vect)
- {
- handle_interrupts(_timer4, &TCNT4, &OCR4A);
- }
- #endif
-
- #if defined(_useTimer5)
--SIGNAL (TIMER5_COMPA_vect)
-+ISR(TIMER5_COMPA_vect)
- {
- handle_interrupts(_timer5, &TCNT5, &OCR5A);
- }
-diff -ruN arduino-1.0.1.orig/libraries/Wire/utility/twi.c arduino-1.0.1/libraries/Wire/utility/twi.c
---- arduino-1.0.1.orig/libraries/Wire/utility/twi.c 2012-02-18 19:57:03.000000000 -0500
-+++ arduino-1.0.1/libraries/Wire/utility/twi.c 2012-10-19 23:13:59.000000000 -0400
-@@ -360,7 +360,7 @@
- twi_state = TWI_READY;
- }
-
--SIGNAL(TWI_vect)
-+ISR(TWI_vect)
- {
- switch(TW_STATUS){
- // All Master