diff options
Diffstat (limited to 'pcr/arduino/PKGBUILD')
-rw-r--r-- | pcr/arduino/PKGBUILD | 130 |
1 files changed, 95 insertions, 35 deletions
diff --git a/pcr/arduino/PKGBUILD b/pcr/arduino/PKGBUILD index fd4a0eb20..8d0dba94d 100644 --- a/pcr/arduino/PKGBUILD +++ b/pcr/arduino/PKGBUILD @@ -1,57 +1,117 @@ -# Maintainer : Aurélien Desbrières <aurelien@hackers.camp> -# Contributor: Niels Martignène <niels.martignene@gmail.com> -# Contributor: PyroPeter <googlemail.com@abi1789> -# Contributor: darkapex <me@jailuthra.in> -# Contributor: tty0 <vt.tty0[d0t]gmail.com> +# Maintainer (Arch): NicoHood <aur {at} nicohood {dot} de> +# Contributor (Arch): Christopher Loen <christopherloen at gmail dot com> +# Maintainer: Omar Vega Ramos <ovruni@gnu.org.pe> +# Cotributor: Luke Shumaker <lukeshu@sbcglobal.net> pkgname=arduino +pkgver=1.6.8 +pkgrel=1.parabola1 epoch=1 -pkgver=1.6.0 -pkgrel=1 pkgdesc="Arduino prototyping platform SDK" arch=('i686' 'x86_64') -url="http://arduino.cc/en/Main/Software" -options=(!strip staticlibs) +url="https://github.com/arduino/Arduino" license=('GPL' 'LGPL') -depends=('gtk2' 'libusb-compat' 'java-runtime' 'desktop-file-utils') -makedepends=('icoutils') -conflicts=('arduino-toolchain') +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=('arduino.desktop' - 'arduino.xml') +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') -source_i686+=("http://arduino.cc/download_handler.php?f=/arduino-${pkgver}-linux32.tar.xz") -source_x86_64+=("http://arduino.cc/download_handler.php?f=/arduino-${pkgver}-linux64.tar.xz") +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}" + cd "Arduino-${pkgver}/build" + + # Compile with java8 + export PATH=/usr/lib/jvm/java-8-openjdk/jre/bin/:$PATH - icotool -x -o .. lib/arduino_icon.ico + # 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 "arduino-${pkgver}" + cd "$srcdir/Arduino-$pkgver/build/linux/work" - mkdir -p "${pkgdir}/usr/bin" - mkdir -p "${pkgdir}/usr/share/"{doc,applications,mime/packages} + # Create directories + install -dm755 "${pkgdir}/usr/share/"{doc,icons/hicolor,applications,mime/packages} - # copy the whole SDK to /usr/share/arduino/ + # copy the whole SDK cp -a . "${pkgdir}/usr/share/arduino" - # at least support the FHS a little bit - ln -s /usr/share/arduino/arduino "${pkgdir}/usr/bin/arduino" - ln -s /usr/share/arduino/reference "${pkgdir}/usr/share/doc/arduino" + # Create wrapper for java8 + buider and documentation symlink + install -Dm755 "${srcdir}/arduino.sh" "${pkgdir}/usr/bin/arduino" - # fix avrdude's broken dependency on libtinfo.so.5 - ln -s /usr/lib/libncurses.so.5 "${pkgdir}/usr/share/arduino/hardware/tools/avr/lib/libtinfo.so.5" + # Arduino-builder + ln -s /usr/bin/arduino-builder "${pkgdir}/usr/share/arduino/arduino-builder" + install -dm755 "${pkgdir}/usr/share/arduino/tools-builder" - # desktop icon - for size in 16 32 48 256; do - install -Dm644 ../arduino_icon_*_${size}x${size}x32.png \ - "${pkgdir}/usr/share/icons/hicolor/${size}x${size}/apps/arduino.png" - done + 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,<BINARY_LOCATION>,arduino %U,g;s,<ICON_NAME>,arduino,g" "lib/desktop.template" \ + > "${pkgdir}/usr/share/applications/arduino.desktop" - # desktop and mimetype files - install -m644 "${srcdir}/arduino.desktop" "${pkgdir}/usr/share/applications/" - install -m644 "${srcdir}/arduino.xml" "${pkgdir}/usr/share/mime/packages/" + # Install Arduino mime type + ln -s /usr/share/arduino/lib/arduino-arduinoide.xml "${pkgdir}/usr/share/mime/packages/arduino.xml" } |