diff --git a/extra/java-commons-daemon/PKGBUILD b/extra/java-commons-daemon/PKGBUILD
new file mode 100644
index 000000000..8fd6d4af2
--- /dev/null
+++ b/extra/java-commons-daemon/PKGBUILD
@@ -0,0 +1,61 @@
+# Maintainer: Guillaume ALAUX <guillaume@archlinux.org>
+
+# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
+#  - patch for aarch64
+
+pkgname=('java-commons-daemon' 'java-jsvc')
+pkgbase=java-commons-daemon
+pkgver=1.0.15
+pkgrel=2
+arch=('i686' 'x86_64')
+url='http://commons.apache.org/daemon/'
+license=('APACHE')
+_libname=commons-daemon
+source=(http://archive.apache.org/dist/commons/daemon/source/${_libname}-${pkgver}-src.tar.gz
+        arm64.diff)
+sha256sums=('11ee57d2c6b281589c1497b2f88180553f06d5ac1560ce1841e05f89f0342432'
+            '00ce26841fb1bf74e072d3c2faa1c9989d52f28d36365dceaaa3744581681a7b')
+makedepends=('apache-ant' 'docbook2x' 'docbook-xsl')
+
+prepare() {
+  cd "${srcdir}/${_libname}-${pkgver}-src"
+  patch -p1 -i ../arm64.diff
+}
+
+build() {
+  CPPFLAGS+=" -I/usr/lib/jvm/java-7-openjdk/include/linux"
+
+  # commons-daemon.jar
+  cd "${srcdir}/${_libname}-${pkgver}-src"
+  . /etc/profile.d/jre.sh
+  ant
+
+  # jsvc
+  cd "${srcdir}/${_libname}-${pkgver}-src/src/native/unix"
+  ./configure --with-java=/usr/lib/jvm/java-7-openjdk
+  make
+  docbook2man man/jsvc.1.xml
+}
+
+package_java-commons-daemon() {
+  pkgdesc='Alternative invocation mechanism for unix-daemon-like java code'
+  depends=('java-runtime')
+
+  cd "${srcdir}/${_libname}-${pkgver}-src"
+
+  install -Dm755 dist/${_libname}-${pkgver}.jar \
+                 ${pkgdir}/usr/share/java/${_libname}-${pkgver}.jar
+  ln -s ${_libname}-${pkgver}.jar \
+        ${pkgdir}/usr/share/java/${_libname}.jar
+}
+
+package_java-jsvc() {
+  pkgdesc='Apache application for making Java applications run on UNIX more easily'
+  depends=("java-${_libname}" 'libcap')
+
+  cd "${srcdir}/${_libname}-${pkgver}-src/src/native/unix"
+
+  install -Dm755 jsvc ${pkgdir}/usr/bin/jsvc
+  install -Dm644 JSVC.1 ${pkgdir}/usr/share/man/man1/JSVC.1
+}
+
diff --git a/extra/java-commons-daemon/arm64.diff b/extra/java-commons-daemon/arm64.diff
new file mode 100644
index 000000000..f971393ec
--- /dev/null
+++ b/extra/java-commons-daemon/arm64.diff
@@ -0,0 +1,37 @@
+Description: Add ARM64 support
+Author: Colin Watson <cjwatson@ubuntu.com>
+Forwarded: https://issues.apache.org/jira/browse/DAEMON-308
+Last-Update: 2014-11-06
+
+Index: b/src/native/unix/configure
+===================================================================
+--- a/src/native/unix/configure
++++ b/src/native/unix/configure
+@@ -2697,6 +2697,11 @@
+     supported_os="arm"
+     HOST_CPU=arm
+     ;;
++  aarch64)
++    CFLAGS="$CFLAGS -DCPU=\\\"aarch64\\\""
++    supported_os="aarch64"
++    HOST_CPU=aarch64
++    ;;
+   *)
+     echo "$as_me:$LINENO: result: failed" >&5
+ echo "${ECHO_T}failed" >&6
+Index: b/src/native/unix/support/apsupport.m4
+===================================================================
+--- a/src/native/unix/support/apsupport.m4
++++ b/src/native/unix/support/apsupport.m4
+@@ -176,6 +176,11 @@
+     supported_os="arm"
+     HOST_CPU=arm
+     ;;
++  aarch64)
++    CFLAGS="$CFLAGS -DCPU=\\\"aarch64\\\""
++    supported_os="aarch64"
++    HOST_CPU=aarch64
++    ;;
+   *)
+     AC_MSG_RESULT([failed])
+     AC_MSG_ERROR([Unsupported CPU architecture "$host_cpu"]);;