ports/187460: [PATCH] devel/arduino: Support staging
Craig Leres
leres at ee.lbl.gov
Tue Mar 11 23:10:00 UTC 2014
>Number: 187460
>Category: ports
>Synopsis: [PATCH] devel/arduino: Support staging
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: maintainer-update
>Submitter-Id: current-users
>Arrival-Date: Tue Mar 11 23:10:00 UTC 2014
>Closed-Date:
>Last-Modified:
>Originator: Craig Leres
>Release: FreeBSD 9.1-RELEASE amd64
>Organization:
Lawrence Berkeley National Laboratory
>Environment:
System: FreeBSD fun.ee.lbl.gov 9.1-RELEASE FreeBSD 9.1-RELEASE #13 r30: Fri Feb 14 15:03:31 PST 2014 leres at fun.ee.lbl.gov:/sys/amd64/compile/LBL amd64
>Description:
- Add stage support
- Add initial arlcd config to boards.txt
- Clean up some gcc warnings
>How-To-Repeat:
>Fix:
Please see the attached patch.
--- patch.txt begins here ---
--- Makefile.orig 2013-10-26 04:25:25.000000000 -0700
+++ Makefile 2014-03-11 15:59:56.000000000 -0700
@@ -3,7 +3,7 @@
PORTNAME= arduino
PORTVERSION= 1.0.5
-PORTREVISION= 1
+PORTREVISION= 2
PORTEPOCH= 1
CATEGORIES= devel java lang
MASTER_SITES= GOOGLE_CODE
@@ -40,7 +40,6 @@
INSLIST= arduino hardware lib libraries logo.png revisions.txt tools
-NO_STAGE= yes
.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:MATMEGA644P}
@@ -93,10 +92,10 @@
@${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/
+ ${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/
post-install:
@${CAT} ${PKGMESSAGE}
--- /dev/null 2014-03-11 16:00:04.000000000 -0700
+++ files/extrapatch-hardware-arduino-boards.txt-arlcd 2014-03-11 16:02:13.000000000 -0700
@@ -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
--- /dev/null 2014-03-11 16:00:04.000000000 -0700
+++ files/patch-hardware-arduino-cores-arduino-HardwareSerial.cpp 2014-03-11 16:02:13.000000000 -0700
@@ -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
--- patch.txt ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list