Summary: | [NEW PORT] devel/arduino16: Version 1.6.12 of the Arduino IDE | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | Ports & Packages | Reporter: | Kyle Evans <kevans> | ||||||
Component: | Individual Port(s) | Assignee: | Boris Samorodov <bsam> | ||||||
Status: | Closed FIXED | ||||||||
Severity: | Affects Only Me | CC: | bsam | ||||||
Priority: | --- | ||||||||
Version: | Latest | ||||||||
Hardware: | Any | ||||||||
OS: | Any | ||||||||
Bug Depends on: | 213632 | ||||||||
Bug Blocks: | |||||||||
Attachments: |
|
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! ;-) |
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.