Skip to content

Commit

Permalink
Alright, this should be the last fundamental change for
Browse files Browse the repository at this point in the history
devel/arduino-builder. =)

Right now, there's two possible configurations for building and
flashing Arduino projects:

1.) Use devel/arduino16 -- this pulls in devel/arduino-builder and
devel/arduino-tools itself, and uses its own method (as it turns
out, completely different from arduino-builder's discovery mechanism
=() for finding the proper utility for flashing (devel/bossa vs.
devel/avrdude)

2.) Use devel/arduino-builder + devel/arduino-tools directly, flash
the result yourself -- this has the pro of not requiring Java to
build a project, but the con that you do have to figure out how to
flash the board (w/ devel/bossa or devel/avrdude) yourself.

I suspect that #1 will be the most commonly used configuration, but
#2 is nice for "advanced" (or not-so-advanced) applications (such
as using a Raspberry Pi to compile+flash firmware for a 3D printer
=)). As such, we add an OPTION to make this a more straightforward
process of install devel/arduino-builder and then Just Do It.

This option will also add in a file at arduino/arduino-builder.options
that can be passed into arduino-builder through the -build-options-file.
This removes the need for -hardware, -libraries, and -tools flags
based on the defaults for devel/arduino-tools. This also auto-populates
the core version ("runtime.ide.version", -ide-version/-core-api-version,
and the ARDUINO #define) with the minimally supported version (see:
_COMPAT_VER, _IDE_VER -- these should be kept in sync, and correspond
to versions of devel/arduino-{core,tools})

PR:		213749
Submitted by:	Kyle Evans <[email protected]> (maintainer)
  • Loading branch information
bsam authored and bsam committed Oct 24, 2016
1 parent 70d5724 commit 5820a24
Showing 1 changed file with 19 additions and 1 deletion.
20 changes: 19 additions & 1 deletion devel/arduino-builder/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

PORTNAME= arduino-builder
PORTVERSION= 1.3.21
PORTREVISION= 2
PORTREVISION= 3
CATEGORIES= devel

MAINTAINER= [email protected]
Expand All @@ -20,18 +20,36 @@ GH_TUPLE= go-errors:errors:a418503:goerrors/src/github.com/go-errors/errors \
stretchr:testify:v1.1.3:stretchr/src/github.com/stretchr/testify \
jstemmer:go-junit-report:833f8ea:jstemmer/src/github.com/jstemmer/go-junit-report

OPTIONS_DEFINE= TOOLS
OPTIONS_DEFAULT=TOOLS

TOOLS_DESC= Add arduino-tools for a standalone build setup
TOOLS_RUN_DEPENDS= arduino-tools>=${_COMPAT_VER}:devel/arduino-tools
TOOLS_PLIST_FILES= arduino/arduino-builder.options

GO_ENV+= GOPATH=${WRKSRC}
STRIP= # stripping can break go binaries
_COMPAT_VER= 1.6.12
_IDE_VER= 10612

PLIST_FILES= arduino/hardware/platform.keys.rewrite.txt \
arduino/hardware/platform.txt \
bin/${PORTNAME}

do-patch-TOOLS-on:
${CP} ${FILESDIR}/arduino-builder.options.in ${WRKSRC}/arduino-builder.options
${REINPLACE_CMD} -e 's|%%IDEVER%%|${_IDE_VER}|' \
-e 's|%%PREFIX%%|${PREFIX}|' \
${WRKSRC}/arduino-builder.options

do-build:
@( cd ${WRKSRC} ; ${SETENV} ${GO_ENV} go build arduino.cc/arduino-builder )

do-install:
${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
(cd ${WRKSRC}/src/arduino.cc/builder && ${COPYTREE_SHARE} "hardware" ${STAGEDIR}${PREFIX}/arduino ${FIND_EXPR})

do-install-TOOLS-on:
${INSTALL_DATA} ${WRKSRC}/arduino-builder.options ${STAGEDIR}${PREFIX}/arduino/arduino-builder.options

.include <bsd.port.mk>

0 comments on commit 5820a24

Please sign in to comment.