summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorWill Price2015-08-03 19:40:29 +0100
committerWill Price2015-08-03 19:40:29 +0100
commitfed128078664c54040e31d3dedc2ee0ed17cadaa (patch)
tree2180b93b1d8ea628a08bdd801859b517215d34e3
downloadaur-fed128078664c54040e31d3dedc2ee0ed17cadaa.tar.gz
Initial import
-rw-r--r--.SRCINFO21
-rw-r--r--10-msp430-launchpad.rules2
-rw-r--r--PKGBUILD70
-rw-r--r--energia.desktop9
-rw-r--r--energia.install20
5 files changed, 122 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..58490ec4c7de
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,21 @@
+pkgbase = energia
+ pkgdesc = Energia is a Arduino IDE clone for use with the MSP430 launchpad
+ pkgver = 0015
+ pkgrel = 8
+ url = http://energia.nu/
+ install = energia.install
+ arch = i686
+ arch = x86_64
+ license = GPL
+ depends = java-environment
+ depends = java-rxtx
+ provides = energia
+ options = !strip
+ options = staticlibs
+ source = energia.desktop
+ source = 10-msp430-launchpad.rules
+ md5sums = a7ce061d9fc0f9530e058204e532b40b
+ md5sums = dcdf66ac4ae446dcfadbcd6a2dbb6f31
+
+pkgname = energia
+
diff --git a/10-msp430-launchpad.rules b/10-msp430-launchpad.rules
new file mode 100644
index 000000000000..1b67901134ef
--- /dev/null
+++ b/10-msp430-launchpad.rules
@@ -0,0 +1,2 @@
+ATTRS{idVendor}=="0451", ATTRS{idProduct}=="f432", GROUP="uucp", MODE="0770"
+ATTRS{idVendor}=="1cbe", ATTRS{idProduct}=="00fd", GROUP="uucp", MODE="0770"
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..07721063fd85
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,70 @@
+# Maintainer: Will Price <willprice94+arch@gmail.com>
+# Contributor: Andrew67 (.desktop file, icon, 64bit compatibility)
+
+pkgname=energia
+pkgver=0015
+pkgrel=8
+pkgdesc="Energia is a Arduino IDE clone for use with the MSP430 launchpad"
+arch=('i686' 'x86_64')
+url="http://energia.nu/"
+license=('GPL')
+depends=(java-environment java-rxtx)
+provides=('energia')
+# staticlibs keeps all *.a files which are necessary since we bundle a toolchain
+# !strip disable stripping of debug symbols which are useful
+options=(!strip staticlibs)
+install='energia.install'
+source=('energia.desktop'
+ '10-msp430-launchpad.rules')
+md5sums=('a7ce061d9fc0f9530e058204e532b40b'
+ 'dcdf66ac4ae446dcfadbcd6a2dbb6f31')
+if [[ $CARCH == "x86_64" ]]; then
+ source+=("$pkgname-$pkgver-$CARCH.tgz::http://energia.nu/downloads/downloadv3.php?file=energia-0101E$pkgver-linux64.tgz")
+ md5sums+=('b754fbbc535fda18bd586e479f177928')
+elif [[ $CARCH == "i686" ]]; then
+ source+=("$pkgname-$pkgver-$CARCH.tgz::http://energia.nu/downloads/downloadv3.php?file=energia-0101E$pkgver-linux.tgz")
+ md5sums+=('fd30043f453cfb41b7c75f6a4efe683c')
+fi
+
+# Don't compress, takes too long
+PKGEXT='.pkg.tar'
+
+package() {
+ _copy_src
+ _link_binary_to_bin
+ _patch_package_for_lock_issues
+ _add_menu_entry_and_icon
+ (_support_fhs)
+}
+
+
+_copy_src() {
+ mkdir -p "$pkgdir"{/etc/{tmpfiles.d,udev/rules.d},/opt/energia,/usr/{bin,share/{applications,pixmaps,doc}}}
+
+ # --archive copies recursively, preserves permissions and links
+ cp --archive "$srcdir/$pkgname-0101E$pkgver/." "$pkgdir/opt/energia"
+}
+
+_patch_package_for_lock_issues() {
+ ln -sf /usr/lib/librxtxSerial.so "$pkgdir/opt/energia/lib/librxtxSerial64.so"
+ ln -sf /usr/lib/librxtxSerial.so "$pkgdir/opt/energia/lib/librxtxSerial32.so"
+ ln -sf /usr/share/java/rxtx/RXTXcomm.jar "$pkgdir/opt/energia/lib/RXTXcomm.jar"
+ install -m755 "$srcdir/10-msp430-launchpad.rules" "$pkgdir/etc/udev/rules.d/"
+}
+
+_link_binary_to_bin() {
+ ln -s /opt/energia/energia "$pkgdir/usr/bin/"
+}
+
+_add_menu_entry_and_icon() {
+ install -m755 "$srcdir/energia.desktop" "$pkgdir/usr/share/applications/"
+ for size in 16 24 32 48; do
+ install -m755 "$pkgdir/opt/energia/lib/energia_$size.png" "$pkgdir/usr/share/pixmaps/"
+ done
+}
+
+_support_fhs() {
+ # To some extent ;)
+ cd "$pkgdir/usr/share/doc"
+ ln -s /opt/energia/reference energia
+}
diff --git a/energia.desktop b/energia.desktop
new file mode 100644
index 000000000000..1c1c135f8d1b
--- /dev/null
+++ b/energia.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=Energia
+GenericName=MSP430 IDE
+Comment=The open-source Arduino environment for MSP430 Launchpad
+Exec=energia
+Icon=energia
+Type=Application
+Terminal=false
+Categories=Development;IDE;
diff --git a/energia.install b/energia.install
new file mode 100644
index 000000000000..06b442a34458
--- /dev/null
+++ b/energia.install
@@ -0,0 +1,20 @@
+_sizes=(16 24 32 48)
+post_install() {
+ echo "Don't forget to add yourself to the 'uucp' and 'lock' groups: sudo usermod -aG<group> <user>"
+ echo
+ echo "You'll also probably want to reboot for the new permissions on /run/lock to take effect"
+ for size in $_sizes; do
+ xdg-icon-resource install --size $size --novendor /usr/share/pixmaps/energia_$size.png
+ done
+}
+
+post_upgrade() {
+ echo "Reloading udev rules so launchpad USB devices enumerate with correct permissions pre-reboot"
+ udevadm control --reload
+}
+
+post_remove() {
+ for size in $_sizes; do
+ xdg-icon-resource uninstall --size $size energia
+ done
+}