Bug 213659 - [NEW PORT] devel/arduino16: Version 1.6.12 of the Arduino IDE
Summary: [NEW PORT] devel/arduino16: Version 1.6.12 of the Arduino IDE
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Boris Samorodov
URL:
Keywords:
Depends on: 213632
Blocks:
  Show dependency treegraph
 
Reported: 2016-10-21 01:27 UTC by Kyle Evans
Modified: 2016-10-22 20:36 UTC (History)
1 user (show)

See Also:


Attachments
shar(1) archive of devel/arduino16 (175.78 KB, application/x-shar)
2016-10-21 01:27 UTC, Kyle Evans
no flags Details
shar(1) archive of devel/arduino16 (176.03 KB, application/x-shar)
2016-10-22 15:28 UTC, Kyle Evans
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Kyle Evans freebsd_committer freebsd_triage 2016-10-21 01:27:47 UTC
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.
Comment 1 Boris Samorodov freebsd_committer freebsd_triage 2016-10-21 10:14:18 UTC
Take.
Comment 2 Boris Samorodov freebsd_committer freebsd_triage 2016-10-21 23:21:40 UTC
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.
Comment 3 Kyle Evans freebsd_committer freebsd_triage 2016-10-21 23:51:12 UTC
(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.
Comment 4 Kyle Evans freebsd_committer freebsd_triage 2016-10-22 15:28:40 UTC
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.
Comment 5 commit-hook freebsd_committer freebsd_triage 2016-10-22 20:34:26 UTC
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
Comment 6 Boris Samorodov freebsd_committer freebsd_triage 2016-10-22 20:36:03 UTC
Committed, thanks!
PS. Phew, it was a long road! ;-)