summaryrefslogtreecommitdiff
path: root/pcr/arduino/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'pcr/arduino/PKGBUILD')
-rw-r--r--pcr/arduino/PKGBUILD130
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"
}