summaryrefslogtreecommitdiff
path: root/dev-embedded/arduino
diff options
context:
space:
mode:
Diffstat (limited to 'dev-embedded/arduino')
-rw-r--r--dev-embedded/arduino/Manifest32
-rw-r--r--dev-embedded/arduino/arduino-1.0.5-r1.ebuild98
-rw-r--r--dev-embedded/arduino/arduino-1.0.5-r2.ebuild107
-rw-r--r--dev-embedded/arduino/arduino-1.8.5-r2.ebuild167
-rw-r--r--dev-embedded/arduino/files/arduino-1.0.1-build.xml.patch38
-rw-r--r--dev-embedded/arduino/files/arduino-1.0.3-script.patch20
-rw-r--r--dev-embedded/arduino/files/arduino-1.8.5-avr-platform.txt.patch26
-rw-r--r--dev-embedded/arduino/files/arduino-1.8.5-build.xml.patch31
-rw-r--r--dev-embedded/arduino/files/arduino-1.8.5-lib-loading.patch26
-rw-r--r--dev-embedded/arduino/files/arduino.desktop10
-rw-r--r--dev-embedded/arduino/metadata.xml11
11 files changed, 566 insertions, 0 deletions
diff --git a/dev-embedded/arduino/Manifest b/dev-embedded/arduino/Manifest
new file mode 100644
index 000000000000..2b53ef41cde5
--- /dev/null
+++ b/dev-embedded/arduino/Manifest
@@ -0,0 +1,32 @@
+AUX arduino-1.0.1-build.xml.patch 1732 BLAKE2B 9defdbb63aa921458f4d76f9f76e173937594b52a92906b13a2322695a0866702fccc8c7d90bff503f7675c900d322199188bce3df428e05358205b76d4b20b3 SHA512 a5317a131449f08fa272cd7d3bf477eedc69f354b771297bc20623277e79a2c1349299c14fba52689f015c71d6a19733fb8ee24de820e59c1aa2b3e2d7f2af42
+AUX arduino-1.0.3-script.patch 608 BLAKE2B 93f555a54ac9ff47feb2c6d51b4f1fc58cd09dc2e7af1dacf7fa3bb704929fb1feea65f5852a1a0da9c8cd0965cdaaf252c0dd96b9e49b9e85ffc10bb826d0fa SHA512 073f2adfc9066879a409a064599d9972ecf0110990a20d778d631fa24c35854831872a0ee220d80cfe996b9e6fa91ef00281a40c466b510a5ce635c59c84103a
+AUX arduino-1.8.5-avr-platform.txt.patch 1215 BLAKE2B e4995a86865959d136cbbfcbdccdc1440c53344d9c90717a6d51dc7df2e5c22029de3af94d9f1a3b63243862c457f8ad1e7239359366afacb4a47b94dc5e44c5 SHA512 2032dda5e9c318550539f8d9c9ef1e0668bf60a11e6d6ae9c86e28c19518db999401538fc5b0af6ee606e2509ffc06d69d3e43b5bd63925ad92457cfc2d39d27
+AUX arduino-1.8.5-build.xml.patch 1402 BLAKE2B 84a9961cb21522a1bf3a485e8c758621632eda7bc15fb69c445197314a124042f19bc4619cea394a669659fb17f23c7240504cc01d31475d57234f1d28a962d9 SHA512 c279b5fabf6231deeb77b532d7bf0093ece2aad48c31d6bb5a524e32fde5dc58c9c102b3afee4e8e999021049101fae7e00dc4f1bf1ad8dad3ddf451a61835aa
+AUX arduino-1.8.5-lib-loading.patch 1164 BLAKE2B c1e0168f04727ab39340db3594d418eb1f6a25cbf728fb4c75c4db79b9b7b67daeaac35bcbc111f9e7eb76ba5539a5a57bcb5a3f274f3b92cf4b5bf6e51e513a SHA512 c2487e57e654872b8c4a4e046431b43385654ebdc8c9e8bbf5f9593f91a40f0d3288d0f13b6237dea351284cb5e4044013a406af1e9606b9111df3cf7f0ed760
+AUX arduino.desktop 196 BLAKE2B c3b8c380e005911b6a7473a5c9fa5248923655afad1e7029aaa3de6dc95e3d7c8e5d9f7dc3c4f1afba516e0f330bed788d68b5d8eb2fd899d47ebf333d1e7d1d SHA512 d5c19162e7863ef3d1e4182caafafd090e2df98cb65b92aad01a3c68d793fe7f056939b920ab11666ab67fba4faa880ad4da599cad25206b8f22612c675cb3f1
+DIST arduino-1.0.5-src.tar.gz 40526292 BLAKE2B 3844d5f644af94adbb8fb6fa2f80640ae823d2455d0c2e175bc614a281ce5ece0bd111ecd3661d8ab2f2017781b8b1753b215b705090e449be0525b5ec009a4b SHA512 0401bf6051a48d343f9e4e822446a846b2c6446c68949efe5daf5f5445114312eecb9c99a4565ab2e2f80831aaa32122ecc21f81c8a97136704482cd0f1f1c00
+DIST arduino-1.8.5-Adafruit_CircuitPlayground-1.6.8.zip 404619 BLAKE2B 993ec1282cc711b814db99fe1e4b50a2a6e6559722872e8fbcbb42e022c0e3611e10a4a0285468f82241eb5e15c0f91ff49ae9f2e0190d80a674cba51c93eae6 SHA512 0f0d32841bb6987edfc0e9aa0af8d0f7cf68dd33bf07ff0ec4cdd0d9733bb092b97a4810d7a0828e1d38fb25ec58e8fd3c023f70dffa3b1397386a902c932491
+DIST arduino-1.8.5-Bridge-1.6.3.zip 64717 BLAKE2B cb20da7b1db33ad89bd5fcadd01035592b664a7aaa98c27463fad643deba0b1d7e48b341f75f2564716f5b32e800b96934202c683b9a68c628d5af01662c9b7e SHA512 6836580af17b9fbc1ce39821c2e3891bb2f240904a30e66110a03837a24979093ad88819dc333fa5b47ceff6f6ef17552004356bc71200a2e7b09d2182e91fc5
+DIST arduino-1.8.5-Edison_help_files-1.6.2.zip 3321743 BLAKE2B 5d760ba329741cac27253fb439cf98381c0c0d7327f0c22f61cffc23c48d655278280185e5a7f6c85f3d182cacad4626eb9fe6cc2aaf7d2965bb377e2f39bbaa SHA512 63d4005036b43f09347814433578e8c75a7af5caa0923516deab146ef0867af4e60aad0c9d5d47870dcec0ddb4e5396363e4312425f95a8d8da8725f77da8f3a
+DIST arduino-1.8.5-Esplora-1.0.4.zip 22985 BLAKE2B 799936d5d57b2f054e0f7daf421e9e8657b0867c8b417f28afbd3630d2a5ec08b844b855a3b003d649856713372b32861e36dc97c9bbe865c6a1ff05eac4a7ab SHA512 10665b20d907d586bbe22345799e989b835aaa188040b269ed2925a7b4990c6fb368f0e5afd6c4bed265f2baafc815839ff7c53b5da4940e5338090f39e9c13b
+DIST arduino-1.8.5-Firmata-2.5.6.zip 194883 BLAKE2B b4df63b0417fddf8e71d55373d387650afe47de59d526a0cf546b159c83f8bdeb6fc10f62cec9e7e2755e77b357708d96550071045166b7d5ac1e29ecad34506 SHA512 95ec24ebc6033d4c54ab47f306df8d6d9ab0a666ab0f0123edf8e48cbd66e8c78ccbbd4ff1a4acc0ab16f83dd04957727386ed6d8034284ceec70a0462894526
+DIST arduino-1.8.5-Galileo_help_files-1.6.2.zip 4352077 BLAKE2B 16b99a57535ed77cdd69bb60dbb17085edfb2454b81a1b55b46310aa75e797bf784e39fb4642daf281ff92d9ade6f002cf359f98b95fc5225f66e63d189305fa SHA512 411fcfad9e9877078de62c02accd66ed5e44daf2979cad38c12962c22d73412d084670db77d5b50b3a32f35977961943e90d85ac80484f926468aa994f8b107b
+DIST arduino-1.8.5-Keyboard-1.0.1.zip 5802 BLAKE2B 2fc6d86d54c28d5c1ec5656188ddc159bd0725a966d782e908f9d9bc18a4fb8aadbc09e182e47e80bd08978537bf92b94acd7f5b68c4eb524f6ec71f5a1a0feb SHA512 583328acb8e771b59f3e5bed02892740bcd840baafe63f12850e2c43ae7d05ad31bcc19c5e591e73ab29165952d2a7669bbd07b234dd3abd4c38ea54baf22eec
+DIST arduino-1.8.5-LiquidCrystal-1.0.7.zip 19035 BLAKE2B 051048c871adc34697a12b95dc178e759895fd118a1a341d123155c2807434c6c5b5327e8e9c040b2916a0f06a81e7b27879692bd5813dfe0b2040497aa5002c SHA512 352cbffeaced5e52d1e2b8f118681ce435425bf87c0d1b6c384d11127f371ebcf4a026a0d0320fc324285f959d76b6a28cadba8e038e337d020beca847fcd985
+DIST arduino-1.8.5-Mouse-1.0.1.zip 4093 BLAKE2B 6c071c0bbbea6233ddb0a8573d0c8fbf45e0e83454522eb3040006da2db6baab86bfc3003e833a10807f25b81dfa1aac091256c5e55b882f7633c15bc9122b9a SHA512 be0edd798cafa327752c2d2906193be81bcd214a0f406aca646c043ee527e1c398bde8636b35710b4d02074f01c398147fe2bab7108626d80b4181c0c40aa313
+DIST arduino-1.8.5-RobotIRremote-2.0.0.zip 22611 BLAKE2B 8e2c0bd5356116ad6773f85ec364704f4c6cfd13dce89ded762b2603d68abf0854c66e32a2f0fad470ee433b7431f7c0a878f5f1fd763a770d936264d212b248 SHA512 ad38f813825137f60610d168d6352c871da6d8a39b4378764d82a997719c07c5c314816d8384e205599fc5da198465ed334a8794e7d477d55685eb8f7672acd4
+DIST arduino-1.8.5-Robot_Control-1.0.4.zip 119715 BLAKE2B dd73fc1608b96fbc52f484ffdb7a0a40659f5b7b24546a922b742d9d9c5ff9b82fed58f352485a5b988a7ceaf3259e5aa387d198eacb17d987a3ea6b1d7449ac SHA512 45f710dfc8084f9fcf1608a67978f72885aff06e2bbbcb2613f4e337df8621b0f952383a71a55198618b145df378a94321bd5be83929be897fdd95b6bb69cfe0
+DIST arduino-1.8.5-Robot_Motor-1.0.3.zip 15106 BLAKE2B 0ece114be5c11c1e77c6a2ee524e8cac957852948cba253edec5a0d471341e059ab111310aa21715527e19de800d309fe15b98d1fa326d538cfafe585f280304 SHA512 92d108cc2ddb64e2580fab2cb3a157efb76c5204256332527c3fff67ebb8e520621cdc178738132d4e9ee9e2bcde99968b8f9d3c97c10f7d153792e57cfad111
+DIST arduino-1.8.5-SD-1.1.1.zip 60981 BLAKE2B ef6f3a7d06d76ff203fd238c91aecfa3135b3e6777d982342b11126e118ca7934228b1bd06bcbd7215bef823658c13f9d361e874c5c2ecee811457abb74c15e7 SHA512 b24c2ac276cb531043665b835a1d372294a34ddc2dda12c117b26e4ff33e31975b880e878b17d5798dc18f106091c3b60b6546a672267cf8937c4b0245a85342
+DIST arduino-1.8.5-Servo-1.1.2.zip 27659 BLAKE2B f8eb68547078fe0ba6da88cb3eacdd25440b7c48a52499951111309b5ca331f4608130a74300a063b24c5e8870a1d003c5179b0e0468bde2791326ba141a1d7d SHA512 ade1d725c071e97dc027bc654a1c4b79d3cd6c75bf45bac9c3dfed394451b1661c2488217562515fbb8e29698c7df66e30f8178cea40c7f82056546aa857e348
+DIST arduino-1.8.5-SpacebrewYun-1.0.1.zip 12100 BLAKE2B 1dd4a244cb22f2d03804694db0c7d8dbbeedac58263e80a127060eecf9980146ffca8776123b71b16068f95fb42a16940226eb4239f8a1147ec9e0a76a195e3a SHA512 ec9f499db57d3f86e8615b1a56ae61781add99e9fe4c38ba9faa85d2f7d61090e345a63e8ba4a189c62650631ea5be5cbf22dfb39920a63873408a55c40ac133
+DIST arduino-1.8.5-Temboo-1.2.1.zip 187499 BLAKE2B 4f26317b21492697fa3bbce1fe2cdb34793bd5a1b1ca139dde286185f6403bfd5807e47ac8cd4fd3a6d33791e4bd00dcfb40d430ea2791c233940d489ebbee04 SHA512 4ce89b50cb93f85416b35dc218ad4d5fe0768032d146780d82f1d5d834a24dd831ecc4f1bcfa26d740643a3a7f297cdcec4d19bbf1216482d592d44dcbe2f27c
+DIST arduino-1.8.5-WiFi101-Updater-ArduinoIDE-Plugin-0.9.1.zip 703748 BLAKE2B be9a0e2ac5a890121a0ef59700ee9a001711d7357d1c9aedfac7ca8593ed6bdef32219a88003846d4a793a532a3ebb47cde28dbe4c93dbeef8567ad6fb36bf00 SHA512 f107e5ee544450cc7cabfc7eb43462d374a59446418b5ce3a9f3eb545b03fe6383f42e79eb6919fb4b6e621902cbb84f4fa7119f23b51aa770ebd020ffffdee9
+DIST arduino-1.8.5-reference-1.6.6-3.zip 7004842 BLAKE2B 49d0d41fb499c15f06c8cb8d8211e5039ee9843a6629f305762b262a5bf199e4bbe7fea4716b7734403dc7e83ce35a963035b3a2c0d6a198a4218e7472b18d74 SHA512 65962322b6dcb15da6c119d47c382052d1183772c855b8e8fcdd108b54e730e2374d93741737f3b51e57288a0e8842a6a7f79dce4377ea3630293e6c3e7e8b73
+DIST arduino-1.8.5.tar.gz 48219839 BLAKE2B b031ccd601c42adce0ef06b69bd6103996d7a2a29a4640ab2518bb607e17d90524e1f7dc9861c096df90b0f0a439c5ee8867912b53cb925309dd7e0f6ddf3b54 SHA512 f01b0401edc7ea5d58cb475776b816d05f289060613dd452ca71ecaf4a3a95c5e9ddb5f2cf06d3c165e9e0540c895f9eaea896a7974c88834de569944c4adbd2
+DIST arduino-icons.tar.bz2 58775 BLAKE2B 20f230394a8d725eaf7300f66105b09b31eb96aad8798f325d9e5eec6a1aec8319deb561d1b76d47d08dc6663ec11b6b991e057b88d6619c16a80cf0e10959e1 SHA512 b750e79d6117f5df619f2b765dad6e64f0ba4aa3314b0b6e00801577e3ea1f15951ba15efe7a00f5317285a19ac29ac41c78b71342f45cd164c794a42bafcdd9
+DIST arduino-src-1.0.5.tar.gz 235284641 BLAKE2B 7e7ed1305be468dff5ee32238e51b56c214bb993531c67a5ed178a267b5ff8b0f5303aa2a539b64ac40b20278d0206513c3b26f74dd9120058d97fabbbafef27 SHA512 0a40203b8a31c4d9288500962ada7f5083c280a84d8c56ab7da2d1326e1c02a908a96db589ab10bafc115abefe010bf23f6994c08e43c86a4ac10c2d4ab93ec2
+EBUILD arduino-1.0.5-r1.ebuild 2583 BLAKE2B 78d8ff706d0bdeb6bcede5a70b8eabf862a91f38bb994218924ad01f6174bd181891e8d9e0237b3d2b8564ef519956f32393c6b61a161714ebf22b4f0181e1ea SHA512 40d26584bb9ac446fd29831774e476d984a900004128618883e161c1d2d39c185c2a4e8e34a66c961b2d8905186d67806a844d792f42d1b52c34eb840ea0badb
+EBUILD arduino-1.0.5-r2.ebuild 2602 BLAKE2B 1d32d6ad9581d02f2ba8d8844a19360d855a2ff1d1487898e77ad1b76e87679b8879cc928e0c30e362b22564fc9312b7c55e774f69f92d3bc0a22e18046336ae SHA512 c4a1a0d4ceafc9693c105995a0fae9696e9ed23c677588d9eee9ed25ecd43a011bfab27945201c89685dd3586607a33680ef938a37cc20bf0653c9d373f5b2d7
+EBUILD arduino-1.8.5-r2.ebuild 4959 BLAKE2B 612480dd6acdd8e985dbba219c1b51ed0ae7f0a79c0c1195666e3a15f6fd844ac6598377ceee2355222ac26aa6c342cc4243e2b47629c03d4505d6a769ec7245 SHA512 c0a5ba2de06e57bb7eed1bcda444548386aa9d69abd6996fb0c622063b0a703f70a6c97111af3129d036b78352117e48e1ba294c54b0a4ee2434e3335db76191
+MISC metadata.xml 331 BLAKE2B 5449a181e8d470cb80c1a32d50e79c9f912117df14673adc2d1d989f037b1fd89c8bb4a263b4a883e30ab034e0e1ef1e82f54fa9134511755f9ccd62acff9af9 SHA512 6966c4f97ca07b9ef925691abe06e3110d9901cf15fbc7ed07c5ac65dbe583d346186961f64fba71ff796b5d6ff187870b8db41b3f1836b3fefbcc3e54c7ba4e
diff --git a/dev-embedded/arduino/arduino-1.0.5-r1.ebuild b/dev-embedded/arduino/arduino-1.0.5-r1.ebuild
new file mode 100644
index 000000000000..6dde62efe0a9
--- /dev/null
+++ b/dev-embedded/arduino/arduino-1.0.5-r1.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+JAVA_PKG_IUSE="doc examples"
+
+inherit eutils java-pkg-2 java-ant-2
+
+DESCRIPTION="An open-source AVR electronics prototyping platform"
+HOMEPAGE="https://arduino.cc/ https://github.com/arduino/"
+SRC_URI="https://${PN}.googlecode.com/files/${P}-src.tar.gz
+mirror://gentoo/arduino-icons.tar.bz2"
+LICENSE="GPL-2 GPL-2+ LGPL-2 CC-BY-SA-3.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+RESTRICT="strip binchecks"
+IUSE=""
+
+COMMONDEP="
+dev-java/jna:0
+>dev-java/rxtx-2.1:2"
+
+RDEPEND="${COMMONDEP}
+dev-embedded/avrdude
+dev-embedded/uisp
+sys-devel/crossdev
+>=virtual/jre-1.5"
+
+DEPEND="${COMMONDEP}
+>=virtual/jdk-1.5"
+
+EANT_GENTOO_CLASSPATH="jna,rxtx-2"
+EANT_EXTRA_ARGS="-Dversion=${PV}"
+EANT_BUILD_TARGET="build"
+JAVA_ANT_REWRITE_CLASSPATH="yes"
+
+java_prepare() {
+ # Remove the libraries to ensure the system
+ # libraries are used
+ rm build/linux/dist/tools/avrdude* || die
+ rm build/linux/dist/lib/* || die
+ rm app/lib/* || die
+ rm -rf app/src/processing/app/macosx || die
+ # Patch build/build.xml - remove local jar files
+ # for rxtx and ecj (use system wide versions)
+ epatch "${FILESDIR}"/${PN}-1.0.1-build.xml.patch
+
+ # Patch launcher script to include rxtx class/ld paths
+ epatch "${FILESDIR}"/${PN}-1.0.3-script.patch
+}
+
+src_compile() {
+ eant -f core/build.xml
+ EANT_GENTOO_CLASSPATH_EXTRA="../core/core.jar"
+ eant -f app/build.xml
+ eant "${EANT_EXTRA_ARGS}" -f build/build.xml
+}
+
+src_install() {
+ cd "${S}"/build/linux/work || die
+ java-pkg_dojar lib/core.jar lib/pde.jar
+ java-pkg_dolauncher ${PN} --pwd /usr/share/${PN} --main processing.app.Base
+
+ if use examples; then
+ java-pkg_doexamples examples
+ docompress -x /usr/share/doc/${PF}/examples/
+ fi
+
+ if use doc; then
+ dodoc revisions.txt "${S}"/readme.txt
+ dohtml -r reference
+ java-pkg_dojavadoc "${S}"/build/javadoc/everything
+ fi
+
+ insinto "/usr/share/${PN}/"
+ doins -r hardware libraries
+ fowners -R root:uucp "/usr/share/${PN}/hardware"
+
+ insinto "/usr/share/${PN}/lib"
+ doins -r lib/*.txt lib/theme lib/*.jpg
+
+ # use system avrdude
+ # patching class files is too hard
+ dosym /usr/bin/avrdude "/usr/share/${PN}/hardware/tools/avrdude"
+ dosym /etc/avrdude.conf "/usr/share/${PN}/hardware/tools/avrdude.conf"
+
+ # install menu and icons
+ domenu "${FILESDIR}/${PN}.desktop"
+ for sz in 16 24 32 48 128 256; do
+ newicon -s $sz \
+ "${WORKDIR}/${PN}-icons/debian_icons_${sz}x${sz}_apps_${PN}.png" \
+ "${PN}.png"
+ done
+}
+
+pkg_postinst() {
+ [ ! -x /usr/bin/avr-g++ ] && ewarn "Missing avr-g++; you need to crossdev -s4 avr"
+}
diff --git a/dev-embedded/arduino/arduino-1.0.5-r2.ebuild b/dev-embedded/arduino/arduino-1.0.5-r2.ebuild
new file mode 100644
index 000000000000..7ca3ff607939
--- /dev/null
+++ b/dev-embedded/arduino/arduino-1.0.5-r2.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+JAVA_PKG_IUSE="doc examples"
+
+inherit java-pkg-2 java-ant-2
+
+DESCRIPTION="An open-source AVR electronics prototyping platform"
+HOMEPAGE="https://arduino.cc/ https://github.com/arduino/"
+SRC_URI="
+ https://github.com/arduino/Arduino/archive/${PV}.tar.gz -> arduino-src-${PV}.tar.gz
+ mirror://gentoo/arduino-icons.tar.bz2
+"
+
+LICENSE="GPL-2 GPL-2+ LGPL-2 CC-BY-SA-3.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+RESTRICT="strip binchecks"
+
+S="${WORKDIR}/Arduino-${PV}"
+
+CDEPEND="
+ dev-java/jna:0
+ >dev-java/rxtx-2.1:2"
+
+RDEPEND="
+ ${CDEPEND}
+ dev-embedded/avrdude
+ dev-embedded/uisp
+ sys-devel/crossdev
+ >=virtual/jre-1.6"
+
+DEPEND="
+ ${CDEPEND}
+ >=virtual/jdk-1.6"
+
+EANT_GENTOO_CLASSPATH="jna,rxtx-2"
+EANT_EXTRA_ARGS="-Dversion=${PV}"
+EANT_BUILD_TARGET="build"
+JAVA_ANT_REWRITE_CLASSPATH="yes"
+
+src_prepare() {
+ # Remove the libraries to ensure the system
+ # libraries are used
+ rm -rv \
+ build/linux/dist/tools/avrdude* \
+ build/linux/dist/lib/* \
+ app/lib/* \
+ app/src/processing/app/macosx || die
+ # Patch build/build.xml - remove local jar files
+ # for rxtx and ecj (use system wide versions)
+ epatch \
+ "${FILESDIR}"/${PN}-1.0.1-build.xml.patch \
+ "${FILESDIR}"/${PN}-1.0.3-script.patch
+
+ default
+}
+
+src_compile() {
+ eant -f core/build.xml
+ EANT_GENTOO_CLASSPATH_EXTRA="../core/core.jar"
+ eant -f app/build.xml
+ eant "${EANT_EXTRA_ARGS}" -f build/build.xml
+}
+
+src_install() {
+ cd "${S}"/build/linux/work || die
+ java-pkg_dojar lib/core.jar lib/pde.jar
+ java-pkg_dolauncher ${PN} --pwd /usr/share/${PN} --main processing.app.Base
+
+ if use examples; then
+ java-pkg_doexamples examples
+ docompress -x /usr/share/doc/${PF}/examples/
+ fi
+
+ if use doc; then
+ DOCS=( revisions.txt "${S}"/readme.txt )
+ HTML_DOCS=( reference )
+ einstalldocs
+ java-pkg_dojavadoc "${S}"/build/javadoc/everything
+ fi
+
+ insinto "/usr/share/${PN}/"
+ doins -r hardware libraries
+ fowners -R root:uucp "/usr/share/${PN}/hardware"
+
+ insinto "/usr/share/${PN}/lib"
+ doins -r lib/*.txt lib/theme lib/*.jpg
+
+ # use system avrdude
+ # patching class files is too hard
+ dosym /usr/bin/avrdude "/usr/share/${PN}/hardware/tools/avrdude"
+ dosym /etc/avrdude.conf "/usr/share/${PN}/hardware/tools/avrdude.conf"
+
+ # install menu and icons
+ domenu "${FILESDIR}/${PN}.desktop"
+ for sz in 16 24 32 48 128 256; do
+ newicon -s $sz \
+ "${WORKDIR}/${PN}-icons/debian_icons_${sz}x${sz}_apps_${PN}.png" \
+ "${PN}.png"
+ done
+}
+
+pkg_postinst() {
+ [[ ! -x /usr/bin/avr-g++ ]] && ewarn "Missing avr-g++; you need to crossdev -s4 avr"
+}
diff --git a/dev-embedded/arduino/arduino-1.8.5-r2.ebuild b/dev-embedded/arduino/arduino-1.8.5-r2.ebuild
new file mode 100644
index 000000000000..50b52632bde4
--- /dev/null
+++ b/dev-embedded/arduino/arduino-1.8.5-r2.ebuild
@@ -0,0 +1,167 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit java-pkg-2 java-ant-2 gnome2-utils
+
+DESCRIPTION="An open-source AVR electronics prototyping platform"
+HOMEPAGE="https://arduino.cc/ https://github.com/arduino/"
+
+ARDUINO_LIBRARIES=(
+ "Firmata 2.5.6"
+ "Bridge 1.6.3"
+ "Robot_Control 1.0.4"
+ "Robot_Motor 1.0.3"
+ "RobotIRremote 2.0.0"
+ "SpacebrewYun 1.0.1"
+ "Temboo 1.2.1"
+ "Esplora 1.0.4"
+ "Mouse 1.0.1"
+ "Keyboard 1.0.1"
+ "SD 1.1.1"
+ "Servo 1.1.2"
+ "LiquidCrystal 1.0.7"
+ "Adafruit_CircuitPlayground 1.6.8 https://github.com/Adafruit/Adafruit_CircuitPlayground/archive/1.6.8.zip"
+ "WiFi101-Updater-ArduinoIDE-Plugin 0.9.1 https://github.com/arduino-libraries/WiFi101-FirmwareUpdater-Plugin/releases/download/v0.9.1/WiFi101-Updater-ArduinoIDE-Plugin-0.9.1.zip build/shared/"
+)
+
+for lib in "${ARDUINO_LIBRARIES[@]}"; do
+ lib=( $lib )
+ default_url="https://github.com/arduino-libraries/${lib[0]}/archive/${lib[1]}.zip"
+ url=${lib[2]:-$default_url}
+ ARDUINO_LIBRARIES_URI+=" ${url} -> ${P}-${lib[0]}-${lib[1]}.zip"
+done
+
+ARDUINO_DOCS=(
+ "reference-1.6.6-3"
+ "Galileo_help_files-1.6.2"
+ "Edison_help_files-1.6.2"
+)
+
+for docname in "${ARDUINO_DOCS[@]}"; do
+ ARDUINO_DOCS_URI+=" https://downloads.arduino.cc/${docname}.zip -> ${P}-${docname}.zip"
+done
+
+SRC_URI="https://github.com/arduino/Arduino/archive/${PV}.tar.gz -> ${P}.tar.gz
+ ${ARDUINO_LIBRARIES_URI}
+ doc? (
+ ${ARDUINO_DOCS_URI}
+ )"
+
+LICENSE="GPL-2 LGPL-2.1 CC-BY-SA-3.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+# bincheck RESTRICT is needed because firmware that ships with arduino contains code that makes
+# scanelf bark. It's also why we need a separate package for arduino-listserialportsc because if
+# we install it in the context of this package, we will get QA notices telling us we're doing a
+# bad thing.
+RESTRICT="strip binchecks"
+IUSE="doc"
+
+CDEPEND="dev-embedded/arduino-builder"
+
+RDEPEND="${CDEPEND}
+ >=dev-util/astyle-3.1[java]
+ dev-embedded/arduino-listserialportsc
+ >=virtual/jre-1.8"
+
+DEPEND="${CDEPEND}
+ app-arch/unzip
+ >=virtual/jdk-1.8"
+
+EANT_BUILD_TARGET="build"
+# don't run the default "javadoc" target, we don't have one.
+EANT_DOC_TARGET=""
+EANT_BUILD_XML="build/build.xml"
+EANT_EXTRA_ARGS="-Dno_arduino_builder=1 -Dlocal_sources=1"
+
+S="${WORKDIR}/Arduino-${PV}"
+SHARE="/usr/share/${PN}"
+
+src_unpack() {
+ # We don't want to unpack libraries, just move zip files into the work dir
+ unpack `echo ${A} | cut -d ' ' -f1`
+ local lib
+ for lib in "${ARDUINO_LIBRARIES[@]}"; do
+ lib=( $lib )
+ local destfolder=${lib[3]:-build/}
+ cp "${DISTDIR}/${P}-${lib[0]}-${lib[1]}.zip" "${S}/${destfolder}/${lib[0]}-${lib[1]}.zip" || die
+ done
+ if use doc; then
+ local docname
+ for docname in "${ARDUINO_DOCS[@]}"; do
+ cp "${DISTDIR}/${P}-${docname}.zip" "${S}/build/shared/${docname}.zip" || die
+ done
+ fi
+}
+
+src_prepare() {
+ # We need to disable astyle/listserialportsc and toolchain (avr-gcc, avrdude) bundling.
+ eapply "${FILESDIR}/${PN}-1.8.5-build.xml.patch"
+
+ # We need to replace relative paths for toolchain executable by paths to system ones.
+ eapply "${FILESDIR}/${PN}-1.8.5-avr-platform.txt.patch"
+
+ # We need to load system astyle/listserialportsc instead of bundled ones.
+ eapply "${FILESDIR}/${PN}-1.8.5-lib-loading.patch"
+ default
+}
+
+src_compile() {
+ if ! use doc; then
+ EANT_EXTRA_ARGS+=" -Dno_docs=1"
+ fi
+ java-pkg-2_src_compile
+}
+
+src_install() {
+ cd "${S}"/build/linux/work || die
+
+ java-pkg_dojar lib/*.jar
+ java-pkg_dolauncher ${PN} \
+ --pwd "${SHARE}" \
+ --main "processing.app.Base" \
+ --java_args "-DAPP_DIR=${SHARE} -Djava.library.path=${EPREFIX}/usr/$(get_libdir)"
+
+ # Install libraries
+ insinto "${SHARE}"
+
+ doins -r examples hardware lib libraries tools
+
+ # In upstream's build process, we copy these fiels below from the bundled arduino-builder.
+ # Here we do the same thing, but from the system arduino-builder.
+ dosym "${EPREFIX}/usr/share/arduino-builder/platform.txt" "${SHARE}/hardware/platform.txt"
+ dosym "${EPREFIX}/usr/share/arduino-builder/platform.keys.rewrite.txt" "${SHARE}/hardware/platform.keys.rewrite.txt"
+ dosym "${EPREFIX}/usr/bin/arduino-builder" "${SHARE}/arduino-builder"
+
+ # hardware/tools/avr needs to exist or arduino-builder will
+ # complain about missing required -tools arg
+ dodir "${SHARE}/hardware/tools/avr"
+
+ if use doc; then
+ HTML_DOCS=( reference )
+ einstalldocs
+
+ # arduino expects its doc in its "main" directory. symlink it.
+ dosym "${EPREFIX}/usr/share/doc/${PF}/html/reference" "${SHARE}/reference"
+ fi
+
+ # Install menu and icons
+ domenu "${FILESDIR}/${PN}.desktop"
+ cd lib/icons || die
+ local icondir
+ for icondir in *; do
+ # icondir name is something like "24x24" we want the "24" part
+ local iconsize=`cut -dx -f1 <<< "${icondir}"`
+ newicon -s $iconsize \
+ "${icondir}/apps/arduino.png" \
+ "${PN}.png"
+ done
+}
+
+pkg_postinst() {
+ gnome2_icon_cache_update
+ [[ ! -x /usr/bin/avr-g++ ]] && ewarn "Missing avr-g++; you need to crossdev -s4 avr"
+}
diff --git a/dev-embedded/arduino/files/arduino-1.0.1-build.xml.patch b/dev-embedded/arduino/files/arduino-1.0.1-build.xml.patch
new file mode 100644
index 000000000000..afde2e05b661
--- /dev/null
+++ b/dev-embedded/arduino/files/arduino-1.0.1-build.xml.patch
@@ -0,0 +1,38 @@
+--- arduino-1.0.1/build/build.xml 2012-04-09 00:16:12.000000000 +0100
++++ arduino-1.0.1/build/build.xml 2012-06-25 06:12:09.000000000 +0100
+@@ -24,9 +24,9 @@
+ <fileset dir=".." id="runtime.jars">
+ <include name="core/core.jar" />
+ <include name="app/pde.jar" />
+- <include name="app/lib/ecj.jar" />
++<!-- <include name="app/lib/ecj.jar" /> -->
+ <include name="app/lib/jna.jar" />
+- <include name="app/lib/RXTXcomm.jar" />
++<!-- <include name="app/lib/RXTXcomm.jar" /> -->
+ <include name="app/lib/ant.jar" />
+ <include name="app/lib/ant-launcher.jar" />
+ </fileset>
+@@ -361,16 +361,18 @@
+ </target>
+
+ <target name="linux64-build" depends="linux-build" description="Build linux (64-bit) version">
+- <copy tofile="linux/work/hardware/tools/avrdude" file="linux/dist/tools/avrdude64" overwrite="true" />
+- <copy tofile="linux/work/lib/librxtxSerial.so" file="linux/dist/lib/librxtxSerial64.so" overwrite="true" />
++<!-- <copy tofile="linux/work/hardware/tools/avrdude" file="linux/dist/tools/avrdude64" overwrite="true" /> -->
++<!-- <copy tofile="linux/work/lib/librxtxSerial.so" file="linux/dist/lib/librxtxSerial64.so" overwrite="true" /> -->
+
+- <chmod perm="755" file="linux/work/hardware/tools/avrdude" />
++<!-- <chmod perm="755" file="linux/work/hardware/tools/avrdude" /> -->
+
+ <!-- Unzip AVR tools -->
+- <exec executable="tar" dir="linux/work/hardware">
++<!-- Removed by Paulj - use system installed instead -->
++<!-- <exec executable="tar" dir="linux/work/hardware">
+ <arg value="-xjf"/>
+ <arg value="../../avr_tools_linux64.tar.bz2"/>
+- </exec>
++ </exec>
++-->
+ </target>
+
+ <target name="linux32-run" depends="linux32-build"
diff --git a/dev-embedded/arduino/files/arduino-1.0.3-script.patch b/dev-embedded/arduino/files/arduino-1.0.3-script.patch
new file mode 100644
index 000000000000..b4accc8959a1
--- /dev/null
+++ b/dev-embedded/arduino/files/arduino-1.0.3-script.patch
@@ -0,0 +1,20 @@
+diff --git a/build/linux/dist/arduino b/build/linux/dist/arduino
+index b5eb9db..3f3b4aa 100644
+--- a/build/linux/dist/arduino
++++ b/build/linux/dist/arduino
+@@ -10,11 +10,13 @@ for LIB in \
+ lib/*.jar \
+ ;
+ do
+- CLASSPATH="${CLASSPATH}:${LIB}"
++ CLASSPATH="${CLASSPATH+$CLASSPATH:}${LIB}"
++
+ done
++CLASSPATH="${CLASSPATH+$CLASSPATH:}:$(java-config -dp rxtx-2)"
+ export CLASSPATH
+
+-LD_LIBRARY_PATH=`pwd`/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
++LD_LIBRARY_PATH="$(java-config -di rxtx-2)${LD_LIBRARY_PATH+:$LD_LIBRARY_PATH}"
+ export LD_LIBRARY_PATH
+
+ export PATH="${APPDIR}/java/bin:${PATH}"
diff --git a/dev-embedded/arduino/files/arduino-1.8.5-avr-platform.txt.patch b/dev-embedded/arduino/files/arduino-1.8.5-avr-platform.txt.patch
new file mode 100644
index 000000000000..9903da46dc4a
--- /dev/null
+++ b/dev-embedded/arduino/files/arduino-1.8.5-avr-platform.txt.patch
@@ -0,0 +1,26 @@
+diff --git a/hardware/arduino/avr/platform.txt b/hardware/arduino/avr/platform.txt
+index f7fb447c1..8ae8b73d9 100644
+--- a/hardware/arduino/avr/platform.txt
++++ b/hardware/arduino/avr/platform.txt
+@@ -18,7 +18,7 @@ compiler.warning_flags.more=-Wall
+ compiler.warning_flags.all=-Wall -Wextra
+
+ # Default "compiler.path" is correct, change only if you want to override the initial value
+-compiler.path={runtime.tools.avr-gcc.path}/bin/
++compiler.path=/usr/bin/
+ compiler.c.cmd=avr-gcc
+ compiler.c.flags=-c -g -Os {compiler.warning_flags} -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects
+ compiler.c.elf.flags={compiler.warning_flags} -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections
+@@ -91,9 +91,9 @@ recipe.preproc.macros="{compiler.path}{compiler.cpp.cmd}" {compiler.cpp.flags} {
+ # AVR Uploader/Programmers tools
+ # ------------------------------
+
+-tools.avrdude.path={runtime.tools.avrdude.path}
+-tools.avrdude.cmd.path={path}/bin/avrdude
+-tools.avrdude.config.path={path}/etc/avrdude.conf
++tools.avrdude.path=/usr
++tools.avrdude.cmd.path=/usr/bin/avrdude
++tools.avrdude.config.path=/etc/avrdude.conf
+
+ tools.avrdude.network_cmd={runtime.tools.arduinoOTA.path}/bin/arduinoOTA
+
diff --git a/dev-embedded/arduino/files/arduino-1.8.5-build.xml.patch b/dev-embedded/arduino/files/arduino-1.8.5-build.xml.patch
new file mode 100644
index 000000000000..59d796ca5a7a
--- /dev/null
+++ b/dev-embedded/arduino/files/arduino-1.8.5-build.xml.patch
@@ -0,0 +1,31 @@
+diff --git a/build/build.xml b/build/build.xml
+index d95f8def6..13ba60286 100644
+--- a/build/build.xml
++++ b/build/build.xml
+@@ -641,7 +641,7 @@
+ </chmod>
+ </target>
+
+- <target name="linux-libastyle-x86" depends="linux-build" description="Download libastyle.so for x86/x64 arch">
++ <target name="linux-libastyle-x86" depends="linux-build" description="Download libastyle.so for x86/x64 arch" if="never">
+ <antcall target="unzip">
+ <param name="archive_file" value="./libastylej-2.05.1-3.zip" />
+ <param name="archive_url" value="https://downloads.arduino.cc/libastylej-2.05.1-3.zip" />
+@@ -666,7 +666,7 @@
+
+ </target>
+
+- <target name="linux-libastyle-arm" depends="linux-build" description="Download libastyle.so for ARM">
++ <target name="linux-libastyle-arm" depends="linux-build" description="Download libastyle.so for ARM" if="never">
+ <antcall target="unzip">
+ <param name="archive_file" value="./libastylej-2.05.1-3.zip" />
+ <param name="archive_url" value="https://downloads.arduino.cc/libastylej-2.05.1-3.zip" />
+@@ -1186,7 +1186,7 @@
+ depends="linux-clean, windows-clean, macosx-clean, subprojects-clean">
+ </target>
+
+- <target name="avr-toolchain-bundle" unless="light_bundle">
++ <target name="avr-toolchain-bundle" if="never">
+ <!-- Unzip AVR tools -->
+ <mkdir dir="${staging_folder}/work/${staging_hardware_folder}/tmp/gcc"/>
+
diff --git a/dev-embedded/arduino/files/arduino-1.8.5-lib-loading.patch b/dev-embedded/arduino/files/arduino-1.8.5-lib-loading.patch
new file mode 100644
index 000000000000..d2516aeb7357
--- /dev/null
+++ b/dev-embedded/arduino/files/arduino-1.8.5-lib-loading.patch
@@ -0,0 +1,26 @@
+diff --git a/app/src/cc/arduino/packages/formatter/AStyleInterface.java b/app/src/cc/arduino/packages/formatter/AStyleInterface.java
+index 4224bf164..fa92506ba 100644
+--- a/app/src/cc/arduino/packages/formatter/AStyleInterface.java
++++ b/app/src/cc/arduino/packages/formatter/AStyleInterface.java
+@@ -41,7 +41,7 @@ public class AStyleInterface {
+ loadLib(Base.getContentFile(System.mapLibraryName("msvcp100")));
+ loadLib(Base.getContentFile(System.mapLibraryName("msvcr100")));
+ }
+- loadLib(new File(Base.getContentFile("lib"), System.mapLibraryName("astylej")));
++ System.loadLibrary("astylej");
+ }
+
+ private static void loadLib(File lib) {
+diff --git a/arduino-core/src/processing/app/Platform.java b/arduino-core/src/processing/app/Platform.java
+index 28a7ba0f5..8a943a8ac 100644
+--- a/arduino-core/src/processing/app/Platform.java
++++ b/arduino-core/src/processing/app/Platform.java
+@@ -154,7 +154,7 @@ public class Platform {
+ }
+
+ static {
+- loadLib(new File(BaseNoGui.getContentFile("lib"), System.mapLibraryName("listSerialsj")));
++ System.loadLibrary("listSerialsj");
+ }
+
+ private static void loadLib(File lib) {
diff --git a/dev-embedded/arduino/files/arduino.desktop b/dev-embedded/arduino/files/arduino.desktop
new file mode 100644
index 000000000000..b75dea564b5d
--- /dev/null
+++ b/dev-embedded/arduino/files/arduino.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Version=1.0
+Name=arduino
+Comment=Open-source electronics prototyping platform
+Exec=arduino
+Icon=arduino
+Terminal=false
+Type=Application
+Categories=Development;
+StartupNotify=false
diff --git a/dev-embedded/arduino/metadata.xml b/dev-embedded/arduino/metadata.xml
new file mode 100644
index 000000000000..02101dbf5664
--- /dev/null
+++ b/dev-embedded/arduino/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>embedded@gentoo.org</email>
+ <name>Embedded Gentoo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">arduino/Arduino</remote-id>
+ </upstream>
+</pkgmetadata>