Created attachment 176000 [details] shar(1) archive of devel/arduino16 Alright, here we go: Version 1.6.12 of the Arduino IDE. The board manager and library manager have been patched out, which is okay since: 1.) They're not very useful on our platform, and 2.) OpenJDK stuff tended to have problems with them anyways. Additional board support will ideally be provided through options in devel/arduino-core so that devel/arduino-builder will benefit from the additional boards as well independently of the IDE. devel/arduino-core does currently include AVR+SAM as well as the SAMD core (through an option), but only AVR boards are currently exposed to the IDE -- this will change in a future version of devel/arduino-core. I've tested this with multiple boards on multiple machines. Serial port detection when connecting/disconnecting all works happily, and everything else is as functional as I would expect. As for Q/A, it passes `poudriere testport` with flying covers. I'm blatantly ignoring two portlint warnings about USE_LDCONFIG because they're false positives on some symlinks that this port installs, and I'm also ignoring its warning about the conflicting "arduino" being too narrow of a pattern. I don't foresee needing multiple versions of the port in the future beyond this one and devel/arduino, and I don't want to accidentally catch any potential library names up in the pattern.
Take.
Kyle, thank you for your hard work! Some notes though. 1. Does not build at i386 (you may reproduce it with a poudriere i386 jail): --- [...] untar-unzip-download-local: [echo] Skipping download of https://downloads.arduino.cc/tools/arduino-builder-linux32-1.3.21_r1.tar.bz2, using makepkg downloaded arduino-builder-linux32-1.3.21_r1.tar.bz2 untar-unzip-checksum: [echo] Testing checksum of "./arduino-builder-linux32-1.3.21_r1.tar.bz2" [checksum] Could not find file /wrkdirs/usr/ports/devel/arduino16/work/Arduino-1.6.12/build/arduino-builder-linux32-1.3.21_r1.tar.bz2 to generate checksum for. BUILD FAILED /wrkdirs/usr/ports/devel/arduino16/work/Arduino-1.6.12/build/build.xml:102: The following error occurred while executing this line: /wrkdirs/usr/ports/devel/arduino16/work/Arduino-1.6.12/build/build.xml:678: The following error occurred while executing this line: /wrkdirs/usr/ports/devel/arduino16/work/Arduino-1.6.12/build/build.xml:765: Could not find file /wrkdirs/usr/ports/devel/arduino16/work/Arduino-1.6.12/build/arduino-builder-linux32-1.3.21_r1.tar.bz2 to generate checksum for. Total time: 14 seconds *** Error code 1 Stop. make: stopped in /usr/ports/devel/arduino16 --- 2. I've noticed arduino is a bash script. It should either be converted to a /bin/sh script, or a run dependecy upon shell/bash should appear.
(In reply to Boris Samorodov from comment #2) 1. Ugh, I hadn't even considered that the light_bundle patch hadn't taken care of every architecture's build path. =( Given that we use the ports tree to manage all of the dependencies anyways and nothing in here is architecture-specific, I think I'm just going to patch the build system to route all builds through the linux64 patch since i already know that works. It shouldn't have any effect elsewhere, but I'm test-building this on i386 and armv6 (the latter mostly for my own satisfaction) just to make sure. 2. Hmm, interesting, I thought I had a RUN_DEPENDS on bash at some point, but it looks like that might've disappeared. This will be fixed in the next iteration shortly.
Created attachment 176063 [details] shar(1) archive of devel/arduino16 Apologies, took a little bit to put together a test build for this -- this new version fixes the build, as well as any other architecture we try to build on. Also, I've added a run dependency on shells/bash.
A commit references this bug: Author: bsam Date: Sat Oct 22 20:34:08 UTC 2016 New revision: 424485 URL: https://svnweb.freebsd.org/changeset/ports/424485 Log: Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It's intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments. The Arduino software consists of a development environment (IDE) and the core libraries. WWW: http://arduino.cc/ PR: 213659 Submitted by: bsdports@kyle-evans.net Changes: head/devel/Makefile head/devel/arduino16/ head/devel/arduino16/Makefile head/devel/arduino16/distinfo head/devel/arduino16/files/ head/devel/arduino16/files/patch-app_src_processing_app_Base.java head/devel/arduino16/files/patch-arduino-core_src_cc_arduino_contributions_libraries_LibraryInstaller.java head/devel/arduino16/files/patch-arduino-core_src_cc_arduino_contributions_packages_ContributionInstaller.java head/devel/arduino16/files/patch-arduino-core_src_cc_arduino_contributions_packages_ContributionsIndexer.java head/devel/arduino16/files/patch-arduino-core_src_cc_arduino_contributions_packages_HostDependentDownloadableContribution.java head/devel/arduino16/files/patch-arduino-core_src_processing_app_BaseNoGui.java head/devel/arduino16/files/patch-build_build.xml head/devel/arduino16/pkg-descr head/devel/arduino16/pkg-plist
Committed, thanks! PS. Phew, it was a long road! ;-)