Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 11 Mar 2014 16:06:02 -0700 (PDT)
From:      Craig Leres <leres@ee.lbl.gov>
To:        FreeBSD-gnats-submit@freebsd.org
Cc:        leres@ee.lbl.gov
Subject:   ports/187460: [PATCH] devel/arduino: Support staging
Message-ID:  <201403112306.s2BN62Pv030596@fun.ee.lbl.gov>
Resent-Message-ID: <201403112310.s2BNA0LE049810@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>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@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:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201403112306.s2BN62Pv030596>