# Created by: Warren Block # $FreeBSD$ PORTNAME= arduino PORTVERSION= 1.0.6 PORTREVISION= 3 PORTEPOCH= 1 CATEGORIES= devel java lang MASTER_SITES= https://arduino.cc/download.php?f=/ DISTNAME= ${PORTNAME}-${PORTVERSION}-linux32 MAINTAINER= leres@FreeBSD.org COMMENT= Open-source electronics prototyping platform LICENSE= GPLv2 LGPL21 LICENSE_COMB= multi RUN_DEPENDS= ${JAVA_HOME}/jre/lib/ext/RXTXcomm.jar:comms/rxtx \ ${LOCALBASE}/bin/avrdude:devel/avrdude \ ${LOCALBASE}/avr/include/avr/io.h:devel/avr-libc WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION} USES= dos2unix tar:tgz kmod DOS2UNIX_REGEX= .*(\.(c|cpp|h|hex|txt)|Makefile|makefile) USE_JAVA= yes JAVA_OS= native JAVA_VENDOR= openjdk JAVA_RUN= yes NO_BUILD= yes USE_LDCONFIG= ${PREFIX}/arduino/lib PLIST_SUB= ARCH=${ARCH:S|i386||:S|amd64|64|} SUB_FILES= arduino pkg-message SUB_LIST= PORTNAME=${PORTNAME} LINUXBASE=${PREFIX} # Confirmed for ARCHS below. Arm, PowerPC and Sparc untested. (Feedback welcome) ONLY_FOR_ARCHS= i386 amd64 REINPLACE_ARGS= -i "" DESKTOP_ENTRIES= "Arduino" "Arduino IDE" \ ${PREFIX}/${PORTNAME}/logo.png \ "arduino" "Development;IDE;" false OPTIONS_DEFINE= ATMEGA644P DOCS EXAMPLES UARDUNO ATMEGA644P_DESC= ATmega644p patches DOCS_DESC= Install the reference documents UARDUNO_DESC= Kernel module for Arduino Uno USB interface INSLIST= arduino hardware lib libraries logo.png revisions.txt tools # Add serial drivers for those who are new to this. UARDUNO_RUN_DEPENDS+= ${KMODDIR}/uarduno.ko:comms/uarduno .include .if ${PORT_OPTIONS:MATMEGA644P} EXTRA_PATCHES+= \ ${FILESDIR}/extrapatch-hardware-arduino-boards.txt \ ${FILESDIR}/extrapatch-hardware-arduino-cores-arduino-WInterrupts.c \ ${FILESDIR}/extrapatch-hardware-arduino-variants-atmega644p-pins_arduino.h .endif .if empty(PORT_OPTIONS:MDOCS) PLIST_SUB+= REFDOCS="@comment " .else PLIST_SUB+= REFDOCS="" INSLIST+= reference .endif FIND_EXCLUDES= ! -name *.orig .if empty(PORT_OPTIONS:MEXAMPLES) PLIST_SUB+= EXAMPLES="@comment " FIND_EXCLUDES+= ! -path */examples ! -path */examples/* .else PLIST_SUB+= EXAMPLES="" INSLIST+= examples .endif FIND_EXPR= "${FIND_EXCLUDES} -prune" .if ${PORT_OPTIONS:MATMEGA644P} PLIST_SUB+= ATMEGA644P="" .else PLIST_SUB+= ATMEGA644P="@comment " .endif .if ${PORT_OPTIONS:MATMEGA644P} pre-patch: @${MKDIR} ${WRKSRC}/hardware/arduino/variants/atmega644p .endif post-patch: @${RM} -r ${WRKSRC}/hardware/tools/ @${MKDIR} ${WRKSRC}/hardware/tools/avr/ @${LN} -s ${PREFIX}/bin ${WRKSRC}/hardware/tools/avr/bin @${LN} -s ${PREFIX}/etc ${WRKSRC}/hardware/tools/avr/etc # Remove broken jar, and Linux C6 based libraries. @${RM} ${WRKSRC}/lib/RXTXcomm.jar # This port relys on comms/RXTX working without Linux C6 compatibility. @${RM} ${WRKSRC}/lib/librxtxSerial.so @${RM} ${WRKSRC}/lib/librxtxSerial64.so # Map the RXTX port for our use @${LN} -s ${JAVA_HOME}/jre/lib/ext/RXTXcomm.jar ${WRKSRC}/lib/RXTXcomm.jar # Add in links to the libraries compiled in RXTX for the above jar to use based on architecture. .if ${ARCH} == i386 @${LN} -s ${JAVA_HOME}/jre/lib/i386/librxtxSerial.so ${WRKSRC}/lib/librxtxSerial.so .endif .if ${ARCH} == amd64 @${LN} -s ${JAVA_HOME}/jre/lib/amd64/librxtxSerial.so ${WRKSRC}/lib/librxtxSerial64.so .endif @${MV} ${WRKSRC}/reference/img/logo.png ${WRKSRC}/ @${RM} -r ${WRKSRC}/reference/img/ do-install: ${MKDIR} ${STAGEDIR}${PREFIX}/${PORTNAME} (cd ${WRKSRC}/ && ${COPYTREE_SHARE} "${INSLIST}" ${STAGEDIR}${PREFIX}/${PORTNAME} ${FIND_EXPR}) ${INSTALL_SCRIPT} ${WRKDIR}/arduino ${STAGEDIR}${PREFIX}/bin/ .include