diff --git a/community/pdns-recursor/PKGBUILD b/community/pdns-recursor/PKGBUILD
new file mode 100644
index 000000000..915920e3b
--- /dev/null
+++ b/community/pdns-recursor/PKGBUILD
@@ -0,0 +1,46 @@
+# $Id: PKGBUILD 90828 2013-05-14 12:04:07Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Jan de Groot <jgc@archlinux.org>
+# Contributor: Jan Steffens <heftig@archlinux.org>
+
+# Kevin Mihelich <kevin@archlinuxarm.org>
+#  - fix for aeskey.c on ARM (http://wiki.powerdns.com/trac/changeset/3162/)
+
+pkgname=pdns-recursor
+pkgver=3.5
+pkgrel=2
+pkgdesc='PowerDNS recursor'
+url='https://www.powerdns.com/'
+license=('GPL')
+arch=('x86_64' 'i686')
+depends=('gcc-libs' 'lua51')
+makedepends=('boost')
+backup=('etc/powerdns/recursor.conf')
+source=("http://downloads.powerdns.com/releases/$pkgname-$pkgver.tar.bz2"
+        'pdns-recursor.service'
+        'arm.patch')
+sha256sums=('02ea398aa0e95ef4c9caf478eb3836598eabcd5c99ccb7e2e7c265d716089549'
+            '51688d9576736fdf210048098fa96c8710bfbd6a63eb4d69d20bac57b299b5f9'
+            'ff51af1648d6049f58887ca4f84fa41955ab5df8156d8a00b4b3b148e2bd789f')
+
+build() {
+  cd "$srcdir/$pkgname-$pkgver"
+
+  patch -p5 -i "$srcdir/arm.patch"
+
+  make LUA=1 \
+    LUA_CPPFLAGS_CONFIG="$(pkg-config --cflags lua5.1)" \
+    LUA_LIBS_CONFIG="$(pkg-config --libs lua5.1)"
+}
+
+package() {
+  cd "$srcdir/$pkgname-$pkgver"
+
+  make SBINDIR="/usr/bin" DESTDIR="$pkgdir" install
+  mv "$pkgdir/etc/powerdns/recursor.conf-dist" "$pkgdir/etc/powerdns/recursor.conf"
+  rm -r "$pkgdir/etc/init.d"
+  install -Dm644 "$srcdir/pdns-recursor.service" \
+    "$pkgdir/usr/lib/systemd/system/pdns-recursor.service"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/pdns-recursor/arm.patch b/community/pdns-recursor/arm.patch
new file mode 100644
index 000000000..ae03b5565
--- /dev/null
+++ b/community/pdns-recursor/arm.patch
@@ -0,0 +1,28 @@
+Index: trunk/pdns/pdns/aes/aeskey.c
+===================================================================
+--- a/trunk/pdns/pdns/aes/aeskey.c
++++ b/trunk/pdns/pdns/aes/aeskey.c
+@@ -489,4 +489,5 @@
+ }
+ 
++#if 0
+ AES_RETURN aes_decrypt_key256(const unsigned char *key, aes_decrypt_ctx cx[1])
+ {   uint_32t    ss[9];
+@@ -537,4 +538,5 @@
+     return EXIT_SUCCESS;
+ }
++#endif
+ 
+ #endif
+@@ -542,4 +544,5 @@
+ #if defined( AES_VAR )
+ 
++#if 0
+ AES_RETURN aes_decrypt_key(const unsigned char *key, int key_len, aes_decrypt_ctx cx[1])
+ {
+@@ -552,4 +555,5 @@
+     }
+ }
++#endif
+ 
+ #endif
diff --git a/community/pdns-recursor/pdns-recursor.service b/community/pdns-recursor/pdns-recursor.service
new file mode 100644
index 000000000..e8d23ccd0
--- /dev/null
+++ b/community/pdns-recursor/pdns-recursor.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=PowerDNS recursing nameserver
+After=network.target
+
+[Service]
+Type=forking
+ExecStart=/usr/bin/pdns_recursor --daemon
+
+[Install]
+WantedBy=multi-user.target