# Maintainer (Arch): NicoHood # Contributor (Arch): Christopher Loen # Maintainer: Omar Vega Ramos # Cotributor: Luke Shumaker pkgname=arduino pkgver=1.6.8 pkgrel=1.parabola1 epoch=1 pkgdesc="Arduino prototyping platform SDK" arch=('i686' 'x86_64') url="https://github.com/arduino/Arduino" license=('GPL' 'LGPL') depends=('gtk2' 'desktop-file-utils' 'shared-mime-info' 'java-runtime=8' 'arduino-builder' 'bcpg' 'bcprov' 'java-batik' 'java-commons-codec' 'java-commons-compress' 'java-commons-exec' 'java-commons-lang3' 'java-commons-logging' 'java-commons-net' 'java-jackson-annotations' 'java-jackson-core' 'java-jackson-databind' 'java-jackson-module-mrbean' 'java-jsch' 'java-rsyntaxtextarea' 'java-semver' 'jmdns' 'jssc' 'astyle=3.0.1') makedepends=('java-environment=8' 'apache-ant' 'unzip') optdepends=('arduino-docs: Offline documentation for arduino' 'arduino-avr-core: AVR core with upstream avr-gcc and avrdude' 'python2: Intel Galileo Board installation') options=(!strip) install="arduino.install" source=("${pkgname}-${pkgver}.tar.gz::https://github.com/arduino/Arduino/archive/${pkgver}.tar.gz" 'http://downloads.arduino.cc/packages/package_index.json.gz' 'http://downloads.arduino.cc/libraries/library_index.json.gz' 'arduino-build.patch' 'arduino-macosx.patch' 'arduino-use-system-astyle.patch' 'arduino.sh') sha256sums=('5b2e8b3115000986f12ebdc126162d22c2dc85b3ca9732b8f8966e6dcdf2edad' 'e21d1946346893fa0f40e12bd16027d84173c5edec0b9856be38555b97706f8a' 'f984d81816751d6872566890611c863ddc3d13f9bfe1b6242aeefe4fa4070d08' 'e15fe37f6b575c65d2546afb96f215112295f99856ca2bee91a2ca9963c37f8e' '2ef32c994f44e6667136c02ecddaf86e9dd9009fd89b8d697257c0121d5f41cd' 'a5bfb3ba51f8ff30eb121e6d4fa6292db2a3f8aa5ca8c33b8b57a451d4c8f4f9' '6a0a2f12440f90df39ae244dd74baf40f30e3f06c0e5eca33e16d6d54324e0bf') prepare() { cd "${srcdir}/Arduino-${pkgver}" rm -v $(find . -name \*.exe) rm -v $(find . -name \*.hex) rm -v $(find . -name \*.jar) #rm -v $(find . -name \*.so) #rm -v $(find . -name \*.swp) #rm -f build/linux/dist/tools/avrdude* rm -rfv hardware/arduino/avr/firmwares/wifishield rm -rfv $(find . -type d -name 'macosx') rm -rfv $(find . -type d -name 'windows') cp -v ../{library_index,package_index}.json . # Patch arduino build process. #patch -Np1 -i ../arduino-avrtools.patch" patch -Np1 -i ../arduino-build.patch patch -Np1 -i ../arduino-macosx.patch patch -Np1 -i ../arduino-use-system-astyle.patch cd "${srcdir}/Arduino-${pkgver}/arduino-core/lib" _link_jars cd "${srcdir}/Arduino-${pkgver}/app/lib" _link_jars } _link_jars() { for jar in rxtx/RXTXcomm.jar antlr2.jar ecj.jar jna.jar batik-transcoder.jar bcpg.jar bcprov.jar commons-codec.jar commons-compress.jar commons-exec.jar commons-lang3.jar commons-logging.jar commons-net.jar jackson-annotations.jar jackson-core.jar jackson-databind.jar jackson-module-mrbean.jar java-semver.jar jmdns.jar jsch.jar jssc.jar rsyntaxtextarea.jar; do ln -sf /usr/share/java/$jar . done } build() { cd "Arduino-${pkgver}/build" # Compile with java8 export PATH=/usr/lib/jvm/java-8-openjdk/jre/bin/:$PATH # Do not include their avr-core + tools and no docs. We build them seperately ant linux-clean dist -Dversion=${pkgver} build -Dlight_bundle=true \ -Dno_docs=true \ -Dlocal_sources=true \ -Dno_arduino_builder=true } package() { cd "$srcdir/Arduino-$pkgver/build/linux/work" # Create directories install -dm755 "${pkgdir}/usr/share/"{doc,icons/hicolor,applications,mime/packages} # copy the whole SDK cp -a . "${pkgdir}/usr/share/arduino" # Create wrapper for java8 + buider and documentation symlink install -Dm755 "${srcdir}/arduino.sh" "${pkgdir}/usr/bin/arduino" # Arduino-builder ln -s /usr/bin/arduino-builder "${pkgdir}/usr/share/arduino/arduino-builder" install -dm755 "${pkgdir}/usr/share/arduino/tools-builder" rm -r "${pkgdir}/usr/share/arduino/reference" ln -s /usr/share/doc/arduino "${pkgdir}/usr/share/arduino/reference" # Install desktop icons (keep a symlink for the arduino binary) cp -a lib/icons/* "${pkgdir}/usr/share/icons/hicolor" rm -rf "${pkgdir}/usr/share/arduino/lib/icons" ln -s /usr/share/icons/hicolor "${pkgdir}/usr/share/arduino/lib/icons" # Create desktop file using existing template sed "s,,arduino %U,g;s,,arduino,g" "lib/desktop.template" \ > "${pkgdir}/usr/share/applications/arduino.desktop" # Install Arduino mime type ln -s /usr/share/arduino/lib/arduino-arduinoide.xml "${pkgdir}/usr/share/mime/packages/arduino.xml" }