summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO44
-rw-r--r--PKGBUILD111
-rw-r--r--arduino.install40
-rw-r--r--arduino.sh3
4 files changed, 198 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..770141162c44
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,44 @@
+pkgbase = arduino1
+ pkgdesc = Arduino prototyping platform SDK (Legacy 1.x.x)
+ pkgver = 1.8.19
+ pkgrel = 2
+ epoch = 1
+ url = https://github.com/arduino/Arduino
+ install = arduino.install
+ arch = x86_64
+ license = GPL
+ license = LGPL
+ makedepends = java-environment=8
+ makedepends = ant
+ makedepends = unzip
+ makedepends = asciidoc
+ depends = gtk3
+ depends = desktop-file-utils
+ depends = shared-mime-info
+ depends = java-runtime=8
+ depends = arduino-builder
+ optdepends = arduino-docs: Offline documentation for arduino
+ optdepends = arduino-avr-core: AVR core with upstream avr-gcc and avrdude
+ conflicts = arduino
+ options = !strip
+ source = arduino-1.8.19.tar.xz::https://github.com/arduino/Arduino/releases/download/1.8.19/arduino-1.8.19.tar.xz
+ source = arduino-1.8.19.tar.xz.asc::https://github.com/arduino/Arduino/releases/download/1.8.19/arduino-1.8.19.tar.xz.asc
+ source = https://github.com/arduino-libraries/WiFi101-FirmwareUpdater-Plugin/releases/download/v0.12.0/WiFi101-Updater-ArduinoIDE-Plugin-0.12.0.zip
+ source = arduino-examples-1.9.1.zip::https://github.com/arduino/arduino-examples/archive/refs/tags/1.9.1.zip
+ source = https://downloads.arduino.cc/libastylej-2.05.1-5.zip
+ source = https://downloads.arduino.cc/libastylej-2.05.1-5.zip.asc
+ source = https://downloads.arduino.cc/liblistSerials/liblistSerials-1.4.2-2.zip
+ source = https://downloads.arduino.cc/liblistSerials/liblistSerials-1.4.2-2.zip.asc
+ source = arduino.sh
+ validpgpkeys = 326567C1C6B288DF32CB061A95FA6F43E21188C4
+ sha512sums = a7ebc544c3fdc528763dee6f31b923c889aec65139c7ff8bd5309e034cad681d089a5f5fa7fecf3b00e553f812cbfb5ae330344edabdf2cbdaa34425e3ea06ba
+ sha512sums = SKIP
+ sha512sums = 17e2d07fbdca491a8d80abb6f2ceb000c68af59b755da7db70dce2d5f781204340f43365c40e641acf0b084b2073b3b056f63d68990f405adefb76887f4c5b72
+ sha512sums = c0e21dd374b2751a1e5f2b790202d4883879da2e26e9a23ccbaec478647e2b8160cbc085e76888deafc05b9b14b1aff4ce2a9b834a7b83e8226c3bc41801015c
+ sha512sums = 0678ed29caf8d80aeb852aa8a7f6fe545655314e75eaf6660a2a90505cda39863414ed05cfb8a3323f92d250601c8684021551606c40cea5ed81a1c322a0348c
+ sha512sums = SKIP
+ sha512sums = 5ee4ca9c3137957b4130434cd0ee740fc1747ed1e015a94e5909e2392563c87ad7b60b156aed305510ec5f6cec495b2b478d8e355a9cdef6ca6bfb3ce97badf5
+ sha512sums = SKIP
+ sha512sums = 78e2959daeb84828fe3a17b931831cf2581182ef14cc4afacdfba7c305967ebf461bf4098dbae3c07acab5a54d8ee64ba5245c8a75cd2064172bcfbf5dcc243d
+
+pkgname = arduino1
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..052ddfeb1b09
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,111 @@
+# Maintainer: NicoHood <archlinux {cat} nicohood {dog} de>
+# PGP ID: 97312D5EB9D7AE7D0BD4307351DAE9B7C1AE9161
+# Contributor: Tomas Schertel <tschertel at gmail dot com>
+# Contributor: Christopher Loen <christopherloen at gmail dot com>
+# Contributor: Peter Reschenhofer <peter.reschenhofer@gmail.com>
+# 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>
+# Contributor: Andreas Baumann <mail@andreasbaumann.cc>
+
+pkgname=arduino1
+_pkgname=arduino
+pkgver=1.8.19
+pkgrel=2
+epoch=1
+pkgdesc="Arduino prototyping platform SDK (Legacy 1.x.x)"
+arch=('x86_64')
+url="https://github.com/arduino/Arduino"
+license=('GPL' 'LGPL')
+depends=('gtk3' 'desktop-file-utils' 'shared-mime-info' 'java-runtime=8' 'arduino-builder')
+#makedepends=('gtk2-compat' 'java-environment=8' 'ant' 'unzip' 'asciidoc')
+makedepends=('java-environment=8' 'ant' 'unzip' 'asciidoc')
+optdepends=('arduino-docs: Offline documentation for arduino'
+ 'arduino-avr-core: AVR core with upstream avr-gcc and avrdude')
+options=(!strip)
+conflicts=(arduino)
+install="arduino.install"
+source=("${_pkgname}-${pkgver}.tar.xz::https://github.com/arduino/Arduino/releases/download/${pkgver}/arduino-${pkgver}.tar.xz"
+ "${_pkgname}-${pkgver}.tar.xz.asc::https://github.com/arduino/Arduino/releases/download/${pkgver}/arduino-${pkgver}.tar.xz.asc"
+ # GPG signatures are not required as zip shasum is already provided by the buildfile
+ # https://github.com/arduino/Arduino/issues/11522#issuecomment-840135044
+ "https://github.com/arduino-libraries/WiFi101-FirmwareUpdater-Plugin/releases/download/v0.12.0/WiFi101-Updater-ArduinoIDE-Plugin-0.12.0.zip"
+ "arduino-examples-1.9.1.zip::https://github.com/arduino/arduino-examples/archive/refs/tags/1.9.1.zip"
+ "https://downloads.arduino.cc/libastylej-2.05.1-5.zip"
+ "https://downloads.arduino.cc/libastylej-2.05.1-5.zip.asc"
+ "https://downloads.arduino.cc/liblistSerials/liblistSerials-1.4.2-2.zip"
+ "https://downloads.arduino.cc/liblistSerials/liblistSerials-1.4.2-2.zip.asc"
+ "arduino.sh")
+sha512sums=('a7ebc544c3fdc528763dee6f31b923c889aec65139c7ff8bd5309e034cad681d089a5f5fa7fecf3b00e553f812cbfb5ae330344edabdf2cbdaa34425e3ea06ba'
+ 'SKIP'
+ '17e2d07fbdca491a8d80abb6f2ceb000c68af59b755da7db70dce2d5f781204340f43365c40e641acf0b084b2073b3b056f63d68990f405adefb76887f4c5b72'
+ 'c0e21dd374b2751a1e5f2b790202d4883879da2e26e9a23ccbaec478647e2b8160cbc085e76888deafc05b9b14b1aff4ce2a9b834a7b83e8226c3bc41801015c'
+ '0678ed29caf8d80aeb852aa8a7f6fe545655314e75eaf6660a2a90505cda39863414ed05cfb8a3323f92d250601c8684021551606c40cea5ed81a1c322a0348c'
+ 'SKIP'
+ '5ee4ca9c3137957b4130434cd0ee740fc1747ed1e015a94e5909e2392563c87ad7b60b156aed305510ec5f6cec495b2b478d8e355a9cdef6ca6bfb3ce97badf5'
+ 'SKIP'
+ '78e2959daeb84828fe3a17b931831cf2581182ef14cc4afacdfba7c305967ebf461bf4098dbae3c07acab5a54d8ee64ba5245c8a75cd2064172bcfbf5dcc243d')
+validpgpkeys=('326567C1C6B288DF32CB061A95FA6F43E21188C4') # Arduino Packages <support@arduino.cc>
+
+build() {
+ cd "arduino-${pkgver}/build"
+
+ # Compile with java8
+ export PATH=/usr/lib/jvm/default/bin/:"$PATH"
+
+ # Do not include their avr-core + tools and no docs. We build them seperately
+ ant clean dist -Dversion="${pkgver}" build -Dlight_bundle=true \
+ -Dno_docs=true \
+ -Dlocal_sources=true \
+ -Dno_arduino_builder=true
+
+ # Build man page
+ a2x -f manpage shared/manpage.adoc
+}
+
+package() {
+ cd "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"
+
+ # Link arduino-builder, libastylej, libserialport and docs
+ # TODO astyle libserialport do not work yet
+ # TODO remove unzip dependency once all deps are resolved
+ # https://github.com/arduino/ctags/issues/12
+ # https://github.com/arduino/Arduino/issues/5538
+ # https://github.com/arduino/listSerialPortsC/issues/9
+
+ # Arduino-builder
+ # https://bugs.archlinux.org/task/52377
+ # https://github.com/arduino/arduino-builder/issues/209
+ ln -s /usr/bin/arduino-builder "${pkgdir}/usr/share/arduino/arduino-builder"
+ install -dm755 "${pkgdir}/usr/share/arduino/tools-builder"
+
+ #rm "${pkgdir}/usr/share/arduino/lib/libastylej.so"
+ #ln -s /usr/lib/libastyle-2.05.1.so "${pkgdir}/usr/share/arduino/lib/libastylej.so"
+ #rm "${pkgdir}/usr/share/arduino/lib/liblistSerialsj.so"
+ #ln -s /usr/lib/libserialport.so "${pkgdir}/usr/share/arduino/lib/liblistSerialsj.so"
+
+ # 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"
+
+ # Install Arduino mime type
+ ln -s /usr/share/arduino/lib/arduino-arduinoide.xml "${pkgdir}/usr/share/mime/packages/arduino.xml"
+
+ # Install manpage
+ install -Dm644 "${srcdir}/arduino-${pkgver}/build/shared/arduino.1" "${pkgdir}/usr/share/man/man1/arduino.1"
+}
diff --git a/arduino.install b/arduino.install
new file mode 100644
index 000000000000..1634f6036117
--- /dev/null
+++ b/arduino.install
@@ -0,0 +1,40 @@
+post_install() {
+ echo ":: Add yourself to the uucp group to access the serial ports:"
+ echo " sudo usermod -a -G uucp <user>"
+ echo " Please checkout the wiki for further information."
+}
+
+pre_upgrade() {
+ if [[ $(vercmp 1:1.6.12-1 "$2") -eq 1 ]]; then
+ echo "If arduino fails to install try to manually remove it first:"
+ echo "sudo pacman -Rs arduino"
+ fi
+}
+
+_1:1.6.12_1_changes() {
+ echo ":: arduino is now split into arduino-builder, arduino-avr-core and arduino-docs"
+ echo " If arduino fails to run, check for a zombie folder:"
+ echo " ls -la /usr/share/arduino/hardware/avr"
+ echo " It might be left from a very old upgrade. Please remove it."
+}
+
+_1:1.8.2_1_changes() {
+ echo ":: Setting new permissions (775 -> 755) for /usr/share/arduino/tools/WiFi101/ and subfolders"
+ chmod 755 /usr/share/arduino/tools/WiFi101/
+ chmod 755 /usr/share/arduino/tools/WiFi101/tool/
+ chmod 755 /usr/share/arduino/tools/WiFi101/tool/firmwares/
+ chmod 755 /usr/share/arduino/tools/WiFi101/tool/firmwares/19.4.4/
+}
+
+post_upgrade() {
+ local v upgrades=(
+ 1:1.6.12-1
+ 1:1.8.2-1
+ )
+
+ for v in "${upgrades[@]}"; do
+ if [[ $(vercmp "$v" "$2") -eq 1 ]]; then
+ "_${v//-/_}_changes"
+ fi
+ done
+}
diff --git a/arduino.sh b/arduino.sh
new file mode 100644
index 000000000000..01ab2ceb05ac
--- /dev/null
+++ b/arduino.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+export PATH=/usr/lib/jvm/java-8-openjdk/bin/:"$PATH"
+exec /usr/share/arduino/arduino "$@"