From 80b6d46a5c9da3f9d0db207d9d0adc265899a915 Mon Sep 17 00:00:00 2001 From: root Date: Sun, 21 Oct 2012 09:47:14 -0700 Subject: Sun Oct 21 09:47:14 PDT 2012 --- java/arduino/PKGBUILD | 101 +++++++++++++++++ java/arduino/arduino.desktop | 9 ++ java/arduino/arduino.install | 10 ++ java/arduino/arduino.png | Bin 0 -> 47981 bytes java/arduino/sig-patch.diff | 256 +++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 376 insertions(+) create mode 100644 java/arduino/PKGBUILD create mode 100644 java/arduino/arduino.desktop create mode 100644 java/arduino/arduino.install create mode 100644 java/arduino/arduino.png create mode 100644 java/arduino/sig-patch.diff (limited to 'java/arduino') diff --git a/java/arduino/PKGBUILD b/java/arduino/PKGBUILD new file mode 100644 index 000000000..426664a37 --- /dev/null +++ b/java/arduino/PKGBUILD @@ -0,0 +1,101 @@ +# Maintainer: PyroPeter + +pkgname=arduino +pkgver=1.0.1 +pkgrel=2 +pkgdesc="Arduino SDK and IDE" +arch=('i686' 'x86_64') +url="http://arduino.cc/en/Main/Software" +options=(!strip) +license=('GPL') + +depends=('avr-gcc' 'avr-libc' 'libusb-compat' 'java-runtime' 'avrdude' + 'java-rxtx' 'antlr2' 'eclipse-ecj' 'jna') +makedepends=(java-environment apache-ant jh) +install="arduino.install" +source=("http://arduino.googlecode.com/files/arduino-$pkgver-src.tar.gz" + 'sig-patch.diff' + 'arduino.png' + 'arduino.desktop') + +unset _JAVA_OPTIONS +. /etc/profile.d/jdk.sh + +mksource() { + cd "$srcdir/arduino-$pkgver" + find . -name '*.jar' -delete + find . -name '*.swp' -delete + find . -name '*.so' -delete + rm -rf build/linux/dist/*/* +} + +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 + + 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" + + #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 + + 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 + + for d in methods preproc; do + cd "$srcdir/arduino-$pkgver/core/$d" + ant + done + + cd "$srcdir/arduino-$pkgver/build" + + log=`mktemp` + ant 2>&1|tee "$log" + if egrep -q 'Error|FAILED' "$log"; then + rm "$log" + false + else + rm "$log" + fi +} + +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}} + + # 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" + + # desktop icon + install -m644 "$srcdir/arduino.desktop" "$pkgdir/usr/share/applications/" + install -m644 "$srcdir/arduino.png" "$pkgdir/usr/share/pixmaps/" +} + +md5sums=('03263613f4be4f865989244420be04fa' + 'acadc724cbe08c09711825f4bd5c04f6' + '9e36d33891d5e68d38ec55d1494499a5' + 'eebc4d6495864bea99ad057af801afb9') diff --git a/java/arduino/arduino.desktop b/java/arduino/arduino.desktop new file mode 100644 index 000000000..8469724ea --- /dev/null +++ b/java/arduino/arduino.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Name=Arduino +GenericName=Arduino IDE +Comment=The open-source Arduino environment +Exec=arduino +Icon=arduino +Type=Application +Terminal=false +Categories=Development;IDE;Qt;KDE;;Application; diff --git a/java/arduino/arduino.install b/java/arduino/arduino.install new file mode 100644 index 000000000..35d283fab --- /dev/null +++ b/java/arduino/arduino.install @@ -0,0 +1,10 @@ +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 uucp" +} + +pre_remove() { + xdg-icon-resource uninstall --size 256 arduino +} + +# vim:set ts=2 sw=2 et: diff --git a/java/arduino/arduino.png b/java/arduino/arduino.png new file mode 100644 index 000000000..ea3ac81b4 Binary files /dev/null and b/java/arduino/arduino.png differ diff --git a/java/arduino/sig-patch.diff b/java/arduino/sig-patch.diff new file mode 100644 index 000000000..4be3a6cdc --- /dev/null +++ b/java/arduino/sig-patch.diff @@ -0,0 +1,256 @@ +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 -- cgit v1.2.3-54-g00ecf