aboutsummaryrefslogtreecommitdiffstats
path: root/devel/arduino
diff options
context:
space:
mode:
Diffstat (limited to 'devel/arduino')
-rw-r--r--devel/arduino/Makefile16
-rw-r--r--devel/arduino/files/extrapatch-hardware-arduino-boards.txt-arlcd23
-rw-r--r--devel/arduino/files/patch-hardware-arduino-cores-arduino-HardwareSerial.cpp72
3 files changed, 101 insertions, 10 deletions
diff --git a/devel/arduino/Makefile b/devel/arduino/Makefile
index ea51b692626c..baa124c2c6e2 100644
--- a/devel/arduino/Makefile
+++ b/devel/arduino/Makefile
@@ -3,7 +3,7 @@
PORTNAME= arduino
PORTVERSION= 1.0.5
-PORTREVISION= 1
+PORTREVISION= 2
PORTEPOCH= 1
CATEGORIES= devel java lang
MASTER_SITES= GOOGLE_CODE
@@ -18,7 +18,7 @@ RUN_DEPENDS= ${JAVA_HOME}/jre/lib/ext/RXTXcomm.jar:${PORTSDIR}/comms/rxtx \
${LOCALBASE}/avr/include/avr/io.h:${PORTSDIR}/devel/avr-libc
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
-USE_DOS2UNIX= yes
+USES= dos2unix
DOS2UNIX_REGEX= .*\(\.\(c|cpp|h|hex|html|ino|lst|txt\)|Makefile\)
USE_JAVA= 1.6+
@@ -40,7 +40,6 @@ DOCS_DESC= Install the reference documents
INSLIST= arduino hardware lib libraries logo.png revisions.txt tools
-NO_STAGE= yes
.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:MATMEGA644P}
@@ -93,12 +92,9 @@ post-patch:
@${RM} -rf ${WRKSRC}/reference/img/
do-install:
- ${MKDIR} ${PREFIX}/${PORTNAME}
- (cd ${WRKSRC}/ && ${COPYTREE_SHARE} "${INSLIST}" ${PREFIX}/${PORTNAME} ${FIND_EXPR})
- ${CHMOD} +x ${PREFIX}/${PORTNAME}/arduino
- ${INSTALL_SCRIPT} ${WRKDIR}/arduino ${PREFIX}/bin/
-
-post-install:
- @${CAT} ${PKGMESSAGE}
+ ${MKDIR} ${STAGEDIR}${PREFIX}/${PORTNAME}
+ (cd ${WRKSRC}/ && ${COPYTREE_SHARE} "${INSLIST}" ${STAGEDIR}${PREFIX}/${PORTNAME} ${FIND_EXPR})
+ ${CHMOD} +x ${STAGEDIR}${PREFIX}/${PORTNAME}/arduino
+ ${INSTALL_SCRIPT} ${WRKDIR}/arduino ${STAGEDIR}${PREFIX}/bin/
.include <bsd.port.mk>
diff --git a/devel/arduino/files/extrapatch-hardware-arduino-boards.txt-arlcd b/devel/arduino/files/extrapatch-hardware-arduino-boards.txt-arlcd
new file mode 100644
index 000000000000..97cc41ece469
--- /dev/null
+++ b/devel/arduino/files/extrapatch-hardware-arduino-boards.txt-arlcd
@@ -0,0 +1,23 @@
+--- hardware/arduino/boards.txt.orig 2013-07-14 10:31:43.000000000 -0700
++++ hardware/arduino/boards.txt 2013-07-21 12:43:56.000000000 -0700
+@@ -601,3 +601,20 @@
+ robotMotor.build.core=robot
+ robotMotor.build.variant=robot_motor
+
++##############################################################
++
++arlcd.name=EarthLCD arLCD
++arlcd.upload.protocol=arduino
++arlcd.upload.maximum_size=32256
++arlcd.upload.speed=115200
++arlcd.bootloader.low_fuses=0xff
++arlcd.bootloader.high_fuses=0xde
++arlcd.bootloader.extended_fuses=0x05
++arlcd.bootloader.path=optiboot
++arlcd.bootloader.file=optiboot_atmega328.hex
++arlcd.bootloader.unlock_bits=0x3F
++arlcd.bootloader.lock_bits=0x0F
++arlcd.build.mcu=atmega328
++arlcd.build.f_cpu=16000000L
++arlcd.build.core=arduino
++arlcd.build.variant=standard
diff --git a/devel/arduino/files/patch-hardware-arduino-cores-arduino-HardwareSerial.cpp b/devel/arduino/files/patch-hardware-arduino-cores-arduino-HardwareSerial.cpp
new file mode 100644
index 000000000000..cc8fe5511a93
--- /dev/null
+++ b/devel/arduino/files/patch-hardware-arduino-cores-arduino-HardwareSerial.cpp
@@ -0,0 +1,72 @@
+--- hardware/arduino/cores/arduino/HardwareSerial.cpp.orig 2013-05-17 12:48:38.000000000 -0700
++++ hardware/arduino/cores/arduino/HardwareSerial.cpp 2013-06-30 12:21:21.000000000 -0700
+@@ -89,7 +89,7 @@
+
+ inline void store_char(unsigned char c, ring_buffer *buffer)
+ {
+- int i = (unsigned int)(buffer->head + 1) % SERIAL_BUFFER_SIZE;
++ unsigned int i = (unsigned int)(buffer->head + 1) % SERIAL_BUFFER_SIZE;
+
+ // if we should be storing the received character into the location
+ // just before the tail (meaning that the head would advance to the
+@@ -124,14 +124,14 @@
+ unsigned char c = UDR0;
+ store_char(c, &rx_buffer);
+ } else {
+- unsigned char c = UDR0;
++ unsigned char c __attribute__((unused)) = UDR0;
+ };
+ #elif defined(UDR)
+ if (bit_is_clear(UCSRA, PE)) {
+ unsigned char c = UDR;
+ store_char(c, &rx_buffer);
+ } else {
+- unsigned char c = UDR;
++ unsigned char c __attribute__((unused)) = UDR;
+ };
+ #else
+ #error UDR not defined
+@@ -150,7 +150,7 @@
+ unsigned char c = UDR1;
+ store_char(c, &rx_buffer1);
+ } else {
+- unsigned char c = UDR1;
++ unsigned char c __attribute__((unused)) = UDR1;
+ };
+ }
+ #endif
+@@ -165,7 +165,7 @@
+ unsigned char c = UDR2;
+ store_char(c, &rx_buffer2);
+ } else {
+- unsigned char c = UDR2;
++ unsigned char c __attribute__((unused)) = UDR2;
+ };
+ }
+ #endif
+@@ -180,7 +180,7 @@
+ unsigned char c = UDR3;
+ store_char(c, &rx_buffer3);
+ } else {
+- unsigned char c = UDR3;
++ unsigned char c __attribute__((unused)) = UDR3;
+ };
+ }
+ #endif
+@@ -365,7 +365,6 @@
+ void HardwareSerial::begin(unsigned long baud, byte config)
+ {
+ uint16_t baud_setting;
+- uint8_t current_config;
+ bool use_u2x = true;
+
+ #if F_CPU == 16000000UL
+@@ -459,7 +458,7 @@
+
+ size_t HardwareSerial::write(uint8_t c)
+ {
+- int i = (_tx_buffer->head + 1) % SERIAL_BUFFER_SIZE;
++ unsigned int i = (_tx_buffer->head + 1) % SERIAL_BUFFER_SIZE;
+
+ // If the output buffer is full, there's nothing for it other than to
+ // wait for the interrupt handler to empty it a bit