From e6450f3c0b59d3b51886f62d4fbd28ce66ec769a Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Wed, 26 Sep 2012 16:51:19 -0400 Subject: add java/java-rxtx, a dependency of arduino --- java/java-rxtx/ChangeLog.txt | 8 ++++++ java/java-rxtx/PKGBUILD | 54 ++++++++++++++++++++++++++++++++++++ java/java-rxtx/destdir.patch | 20 +++++++++++++ java/java-rxtx/java7-configure.patch | 38 +++++++++++++++++++++++++ 4 files changed, 120 insertions(+) create mode 100644 java/java-rxtx/ChangeLog.txt create mode 100644 java/java-rxtx/PKGBUILD create mode 100644 java/java-rxtx/destdir.patch create mode 100644 java/java-rxtx/java7-configure.patch diff --git a/java/java-rxtx/ChangeLog.txt b/java/java-rxtx/ChangeLog.txt new file mode 100644 index 000000000..7efab2514 --- /dev/null +++ b/java/java-rxtx/ChangeLog.txt @@ -0,0 +1,8 @@ +Differences from rxtx-2.1-7r2 made by Arduino: + * Adding support for /dev/ttyACM* devices on Linux. + * Fixing (I hope) problems on 64-bit Linux systems. + * Adding checks for Java 1.6. + * Removing unnecessary compiler warning. + +Differences from Arduino's version: + * Adding checks for Java 1.7. diff --git a/java/java-rxtx/PKGBUILD b/java/java-rxtx/PKGBUILD new file mode 100644 index 000000000..30ed25967 --- /dev/null +++ b/java/java-rxtx/PKGBUILD @@ -0,0 +1,54 @@ +# Maintainer (Parabola): Luke Shumaker +# Maintainer (AUR): PyroPeter + +pkgname=java-rxtx +_pkgver=2.1-7r2-arduino4 +_gitver='commit=a8cd90f8505d7c472b57550b1192fe67885dd638' +pkgver=${_pkgver//-/.} + +pkgrel=1 +pkgdesc="A native library providing serial and parallel communication for Java" +arch=('i686' 'x86_64') +depends=('java-environment') + +case "$_pkgver" in + *arduino*) + url="https://github.com/arduino/RXTX" + source=("git://github.com/arduino/RXTX.git#${_gitver}" + java7-configure.patch + destdir.patch) + license=(LGPL) + changelog=ChangeLog.txt + _dirname=RXTX + ;; + *) + url="http://rxtx.qbang.org/" + source=("http://rxtx.qbang.org/pub/rxtx/rxtx-${_pkgver}.zip" + destdir.patch) + # Todo: patch for Java 6 AND Java 7 + license=('custom:LGPL-with-java-exception') + _dirname=rxtx-{$_pkgver} + ;; +esac + +build() { + cd "$srcdir/$_dirname" + . /etc/profile.d/jdk.sh + + patch -i "$srcdir/java7-configure.patch" + patch -i "$srcdir/destdir.patch" + + ./configure --prefix=/usr + make +} + +package() { + cd "$srcdir/$_dirname" + . /etc/profile.d/jdk.sh + + make DESTDIR="$pkgdir" install +} + +md5sums=('SKIP' + 'f07bc244660852dd9b016c190e38e1c9' + '90be9bdf1d8cbe5304739df066559a13') diff --git a/java/java-rxtx/destdir.patch b/java/java-rxtx/destdir.patch new file mode 100644 index 000000000..11416841f --- /dev/null +++ b/java/java-rxtx/destdir.patch @@ -0,0 +1,20 @@ +--- Makefile.in.orig 2012-09-21 15:21:00.000000000 -0400 ++++ Makefile.in 2012-09-21 15:21:07.000000000 -0400 +@@ -566,13 +566,15 @@ + # install librxtxSerial.so into the proper directory and copy $(JARTARGET) to its + # proper location + install: all ++ $(mkinstalldirs) $(DESTDIR)$(RXTX_PATH) ++ $(mkinstalldirs) $(DESTDIR)$(JHOME) + @$(LIBTOOL_INST) \ + `for i in $(TARGETLIB);do \ + if [ -f $$i ];then \ + echo $$i; \ + fi; \ +- done` $(RXTX_PATH) +- $(INSTALL_PROGRAM) $(JARTARGET) $(JHOME)/ ++ done` $(DESTDIR)$(RXTX_PATH) ++ $(INSTALL_PROGRAM) $(JARTARGET) $(DESTDIR)$(JHOME)/ + + clean-generic: + rm -rf $(DEST) $(TOP)/$(CLASSTOP) diff --git a/java/java-rxtx/java7-configure.patch b/java/java-rxtx/java7-configure.patch new file mode 100644 index 000000000..fed710200 --- /dev/null +++ b/java/java-rxtx/java7-configure.patch @@ -0,0 +1,38 @@ +--- configure.orig 2012-09-21 15:02:54.000000000 -0400 ++++ configure 2012-09-21 15:03:38.000000000 -0400 +@@ -21541,7 +21541,7 @@ + CFLAGS=$CFLAGS" -D__need_timespec" + case $JAVA_VERSION in + +- 1.2*|1.3*|1.4*|1.5*|1.6*) ++ 1.2*|1.3*|1.4*|1.5*|1.6*|1.7*) + #fix_parameters $JPATH/jre/lib/javax.comm.properties + CLASSPATH=".:\$(TOP):\$(TOP)/src:"`find $JPATH/ -name RXTXcomm.jar |head -n1` + JHOME=$JPATH"/jre/lib/ext" +@@ -21611,7 +21611,7 @@ + TARGETLIB="\$(target_triplet)/librxtxSerial.la \ + \$(target_triplet)/librxtxParallel.la" + case $JAVA_VERSION in +- 1.2*|1.3*|1.4*|1.5*|1.6*) ++ 1.2*|1.3*|1.4*|1.5*|1.6*|1.7*) + #fix_parameters $JPATH/jre/lib/javax.comm.properties + CLASSPATH=".:\$(TOP):\$(TOP)/src:"`find $JPATH/ -name RXTXcomm.jar |head -n1` + RXTX_PATH="\$(JPATH)/jre/lib/\$(OS_ARCH)" +@@ -21747,7 +21747,7 @@ + + WIN32) + case $JAVA_VERSION in +- 1.2*|1.3*|1.4*|1.5*|1.6*) ++ 1.2*|1.3*|1.4*|1.5*|1.6*|1.7*) + CLASSPATH=".:\$(TOP):\$(TOP)/src:`find $JPATH/ -name RXTXcomm.jar |head -n1`:$CLASSPATH" + JHOME=$JPATH"/jre/lib/ext" + ;; +@@ -21799,7 +21799,7 @@ + CLASSPATH=".:\$(TOP):\$(TOP)/src:\$(JPATH)/lib/classes.zip:\$(JPATH)/lib/RXTXcomm.jar:$CLASSPATH" + + case $JAVA_VERSION in +- 1.2*|1.3*|1.4*|1.5*|1.6*) ++ 1.2*|1.3*|1.4*|1.5*|1.6*|1.7*) + RXTX_PATH="\$(JPATH)/jre/lib/\$(OS_ARCH)" + ;; + 1.1*) -- cgit v1.2.3 From 706009a7dba502eb03d133afe818c03a43d45108 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Wed, 26 Sep 2012 16:51:39 -0400 Subject: add java/jna, a dependency of arduino --- java/jna/PKGBUILD | 117 +++++++++++++++++++++++++++++++++++ java/jna/bugfix-type-inference.patch | 13 ++++ java/jna/libre-without-clover.patch | 71 +++++++++++++++++++++ java/jna/webstart-test.keystore | Bin 0 -> 679 bytes 4 files changed, 201 insertions(+) create mode 100644 java/jna/PKGBUILD create mode 100644 java/jna/bugfix-type-inference.patch create mode 100644 java/jna/libre-without-clover.patch create mode 100644 java/jna/webstart-test.keystore diff --git a/java/jna/PKGBUILD b/java/jna/PKGBUILD new file mode 100644 index 000000000..db5f552cb --- /dev/null +++ b/java/jna/PKGBUILD @@ -0,0 +1,117 @@ +# Maintainer: Luke Shumaker + +pkgname=jna +pkgver=3.4.2 + +pkgdesc="Provides Java programs easy access to native shared libraries" +url="https://github.com/twall/jna" +license=('LGPL') +source=("git://github.com/twall/jna.git#tag=${pkgver}" + 'libre-without-clover.patch' + 'bugfix-type-inference.patch' + 'webstart-test.keystore') + +#### + +pkgrel=1 +arch=('i686' 'x86_64') +depends=('java-environment' 'libffi') +makedepends=('apache-ant' 'zip') +checkdepends=('junit' 'icedtea-web-java7') +options=('!makeflags') + +unset _JAVA_OPTIONS +_M2_LOCALREPO='/usr/share/maven/repository' +. /etc/profile.d/jdk.sh + +_ant_options=( + '-Ddynlink.native=true' # use the system install of libffi +) + +#### + +mksource() { + cd "$srcdir/jna" + find . -name '*.jar' -delete + rm -rf dist + rm -rf native/libffi # make sure it doesn't cheat + rm lib/clover.license + rm w32ce-test.lnk + + ln -s /usr/share/java/junit.jar lib/ + + # Create an emtpy zip (jar) file + cd "$srcdir" + touch file + zip empty.zip file + zip -d empty.zip file + rm file +} + +#### + +build() { + mksource + cd "$srcdir/jna" + + # Because JNA's release process is ridiculous, it wants a jar file for every + # architecture to be present. So let's just dump in an empty jar file! + sed -n 's|\s* klass = Class.forName(args[i]); ++ junit.textui.TestRunner.run((Class)klass); + } + catch(Throwable e) { + e.printStackTrace(); diff --git a/java/jna/libre-without-clover.patch b/java/jna/libre-without-clover.patch new file mode 100644 index 000000000..b4947e8b2 --- /dev/null +++ b/java/jna/libre-without-clover.patch @@ -0,0 +1,71 @@ +diff -ru jna-3.4.2.orig/build.xml jna-3.4.2/build.xml +--- jna-3.4.2.orig/build.xml 2012-09-06 06:55:52.000000000 -0400 ++++ jna-3.4.2/build.xml 2012-09-24 15:49:59.000000000 -0400 +@@ -230,7 +230,6 @@ + + + +- + + + +@@ -536,12 +535,11 @@ + + + +- + + + + +- ++ + + + +@@ -626,7 +624,7 @@ + + + View test report in file://${reports.junit}/index.html +- One or more tests failed ++ One or more tests failed + + + +@@ -640,27 +638,6 @@ + + + +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- Reports generated in ${reports.clover} +- +- + + + +@@ -881,7 +858,7 @@ + + + +- ++ + + + diff --git a/java/jna/webstart-test.keystore b/java/jna/webstart-test.keystore new file mode 100644 index 000000000..1bbe8c829 Binary files /dev/null and b/java/jna/webstart-test.keystore differ -- cgit v1.2.3 From 55ce2f9ba6fa030cea9008f93f5fc715ee027615 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Wed, 26 Sep 2012 16:51:52 -0400 Subject: add java/arduino --- java/arduino/PKGBUILD | 88 +++++++++++++++++++++++++++++++++++++++++++ java/arduino/arduino.desktop | 9 +++++ java/arduino/arduino.install | 10 +++++ java/arduino/arduino.png | Bin 0 -> 47981 bytes 4 files changed, 107 insertions(+) create mode 100644 java/arduino/PKGBUILD create mode 100644 java/arduino/arduino.desktop create mode 100644 java/arduino/arduino.install create mode 100644 java/arduino/arduino.png diff --git a/java/arduino/PKGBUILD b/java/arduino/PKGBUILD new file mode 100644 index 000000000..b21db4fbf --- /dev/null +++ b/java/arduino/PKGBUILD @@ -0,0 +1,88 @@ +# Maintainer: PyroPeter + +pkgname=arduino +pkgver=1.0.1 +pkgrel=1 +pkgdesc="Arduino SDK" +arch=('i686' 'x86_64') +url="http://arduino.cc/en/Main/Software" +options=(!strip) +license=('GPL') + +makedependa=(java-environment avr-gcc avr-libc make apache-ant) +depends=('avr-gcc>=4.3.2' 'avr-libc' 'libusb-compat' 'java-runtime' 'avrdude' + 'java-rxtx' 'antlr2' 'eclipse-ecj' 'jna') +#conflicts=('avr-gcc>=4.4') +install="arduino.install" +source=("http://arduino.googlecode.com/files/arduino-$pkgver-src.tar.gz" + 'arduino.png' + 'arduino.desktop') + +unset _JAVA_OPTIONS +. /etc/profile.d/jdk.sh + +build() { + cd "$srcdir" + mkdir empty.d + cd empty.d + bsdtar cjf ../empty.tar.bz2 . + cd .. + rmdir empty.d + + cd "$srcdir/arduino-$pkgver" + find . -name '*.jar' -delete + find . -name '*.swp' -delete + find . -name '*.so' -delete + rm -rf build/linux/dist/*/* + + #ln -s /.../RXTXcomm.jar app/lib # already on the classpath + ln -s /usr/share/java/antlr2.jar app/lib/antlr.jar + #ln -s /.../apple.jar app/lib # only used on Mac OS + ln -s /usr/share/java/ecj.jar app/lib + ln -s /usr/share/java/jna.jar app/lib + ln -s /usr/bin/avrdude build/linux/dist/tools + + ln -s "$srcdir/empty.tar.bz2" build/linux/avr_tools_linux32.tar.bz2 + ln -s "$srcdir/empty.tar.bz2" build/linux/avr_tools_linux64.tar.bz2 + + for d in methods preproc; do + cd "$srcdir/arduino-$pkgver/core/$d" + ant + done + + cd "$srcdir/arduino-$pkgver/build" + + log=`mktemp` + ant 2>&1|tee "$log" + if egrep -q 'Error|FAILED' "$log"; then + rm "$log" + false + else + rm "$log" + fi +} + +package() { + cd "$srcdir/arduino-$pkgver/build/linux/work" + + # arduino excutable should accept arguments + sed -i 's|^java .* processing.app.Base$|\0 "$@"|' arduino + sed -i 's|^APPDIR=.*|APPDIR=/usr/share/arduino|' arduino + + mkdir -p "$pkgdir"/usr/{bin,share/{doc,applications,pixmaps}} + + # copy the whole SDK to /usr/share/arduino/ + cp -r . "$pkgdir/usr/share/arduino" + + # at least support the FHS a little bit: + install -m755 "arduino" "$pkgdir/usr/bin/arduino" + ln -s /usr/share/arduino/reference "$pkgdir/usr/share/doc/arduino" + + # desktop icon + install -m644 "$srcdir/arduino.desktop" "$pkgdir/usr/share/applications/" + install -m644 "$srcdir/arduino.png" "$pkgdir/usr/share/pixmaps/" +} + +md5sums=('03263613f4be4f865989244420be04fa' + '9e36d33891d5e68d38ec55d1494499a5' + 'eebc4d6495864bea99ad057af801afb9') diff --git a/java/arduino/arduino.desktop b/java/arduino/arduino.desktop new file mode 100644 index 000000000..8469724ea --- /dev/null +++ b/java/arduino/arduino.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Name=Arduino +GenericName=Arduino IDE +Comment=The open-source Arduino environment +Exec=arduino +Icon=arduino +Type=Application +Terminal=false +Categories=Development;IDE;Qt;KDE;;Application; diff --git a/java/arduino/arduino.install b/java/arduino/arduino.install new file mode 100644 index 000000000..35d283fab --- /dev/null +++ b/java/arduino/arduino.install @@ -0,0 +1,10 @@ +post_install() { + xdg-icon-resource install --size 256 --novendor /usr/share/pixmaps/arduino.png + echo "Don't forget to add yourself to the uucp group: gpasswd -a uucp" +} + +pre_remove() { + xdg-icon-resource uninstall --size 256 arduino +} + +# vim:set ts=2 sw=2 et: diff --git a/java/arduino/arduino.png b/java/arduino/arduino.png new file mode 100644 index 000000000..ea3ac81b4 Binary files /dev/null and b/java/arduino/arduino.png differ -- cgit v1.2.3 From f02e29ff7501aa7b5e074c60718c61ff10e6622d Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Wed, 26 Sep 2012 17:09:23 -0400 Subject: mv libre/apache-ant java/apache-ant --- java/apache-ant/PKGBUILD | 110 ++++++++++++++++++++++++++++++++++++++++ java/apache-ant/apache-ant.csh | 2 + java/apache-ant/apache-ant.sh | 2 + libre/apache-ant/PKGBUILD | 110 ---------------------------------------- libre/apache-ant/apache-ant.csh | 2 - libre/apache-ant/apache-ant.sh | 2 - 6 files changed, 114 insertions(+), 114 deletions(-) create mode 100755 java/apache-ant/PKGBUILD create mode 100755 java/apache-ant/apache-ant.csh create mode 100755 java/apache-ant/apache-ant.sh delete mode 100755 libre/apache-ant/PKGBUILD delete mode 100755 libre/apache-ant/apache-ant.csh delete mode 100755 libre/apache-ant/apache-ant.sh diff --git a/java/apache-ant/PKGBUILD b/java/apache-ant/PKGBUILD new file mode 100755 index 000000000..77e0dfe94 --- /dev/null +++ b/java/apache-ant/PKGBUILD @@ -0,0 +1,110 @@ +# Maintainer: Luke Shumaker +# Maintainer (Arch): Paul Mattal +# Contributor: Andrew Wright + +pkgname=apache-ant +pkgver=1.8.4 + +provides=("apache-ant-libre=$pkgver") +replaces=("apache-ant-libre") +conflicts=("apache-ant-libre") + +pkgrel=1.1 +pkgdesc="A Java-based build tool" +arch=('any') +license=('Apache') +url="http://ant.apache.org/" +_mirror=http://archive.apache.org/dist +source=($_mirror/ant/source/${pkgname}-${pkgver}-src.tar.bz2 + ${pkgname}.sh ${pkgname}.csh) +depends=('java-environment') + +# This list is adapted from https://ant.apache.org/manual/install.html#librarydependencies +declare -A _opts +_opts[junit]='to have JUnit on the classpath in javac tasks;/usr/share/java/junit.jar' +_opts[xalan-java]=' task;/usr/share/java/xalan.jar' +_opts[antlr2]=' task;/usr/share/java/antlr2.jar::antlr.jar' +#_opts[java-bsf]='