diff --git a/extra/lightdm-gtk-greeter/PKGBUILD b/extra/lightdm-gtk-greeter/PKGBUILD
new file mode 100755
index 000000000..8b2d3cc9b
--- /dev/null
+++ b/extra/lightdm-gtk-greeter/PKGBUILD
@@ -0,0 +1,55 @@
+# $Id$
+# Maintainer: Maxime Gauduin <alucrydarchlinux.org>
+# Contributor: Padfoot <padfoot@exemail.com.au>
+
+# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
+#  - patch from Fedora to fix ARM FTBFS
+
+pkgname=lightdm-gtk-greeter
+pkgver=2.0.3
+pkgrel=1
+epoch=1
+pkgdesc='GTK+ greeter for LightDM'
+arch=('i686' 'x86_64')
+url='https://launchpad.net/lightdm-gtk-greeter'
+license=('GPL3' 'LGPL3')
+depends=('gtk3' 'lightdm')
+makedepends=('exo' 'gobject-introspection' 'intltool')
+replaces=('lightdm-gtk2-greeter' 'lightdm-gtk3-greeter')
+backup=('etc/lightdm/lightdm-gtk-greeter.conf')
+source=("https://launchpad.net/lightdm-gtk-greeter/${pkgver%.?}/${pkgver}/+download/lightdm-gtk-greeter-${pkgver}.tar.gz"
+        'fix_arm_compile.patch')
+sha256sums=('3db39542cffd54d84c2e1632c1a1668f4f63d8596a6d8fd9fd1649fc7d15db30'
+            'bb9f6f0dbca0828076e556a2c2fa1c62c0237d7b6569c6a73e2d0c4269ffcbab')
+
+prepare() {
+  cd lightdm-gtk-greeter-${pkgver}
+
+  patch -p1 -i ../fix_arm_compile.patch
+}
+
+build() {
+  cd lightdm-gtk-greeter-${pkgver}
+
+  export CFLAGS="$CFLAGS -Wno-declaration-after-statement"
+
+  ./configure \
+    --prefix='/usr' \
+    --libexecdir='/usr/lib/lightdm' \
+    --sbindir='/usr/bin' \
+    --sysconfdir='/etc' \
+    --with-libxklavier \
+    --enable-kill-on-sigterm \
+    --disable-libido \
+    --disable-libindicator \
+    --disable-static
+  make
+}
+
+package() {
+  cd lightdm-gtk-greeter-${pkgver}
+
+  make DESTDIR="${pkgdir}" install
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/extra/lightdm-gtk-greeter/fix_arm_compile.patch b/extra/lightdm-gtk-greeter/fix_arm_compile.patch
new file mode 100644
index 000000000..c5908493d
--- /dev/null
+++ b/extra/lightdm-gtk-greeter/fix_arm_compile.patch
@@ -0,0 +1,20 @@
+--- a/src/greeterbackground.c
++++ b/src/greeterbackground.c
+@@ -1603,6 +1603,8 @@
+     return surface;
+ }
+ 
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wcast-align"
+ /* Sets the "ESETROOT_PMAP_ID" property to later be used to free the pixmap */
+ static void
+ set_root_pixmap_id(GdkScreen* screen,
+@@ -1669,6 +1671,7 @@
+     XChangeProperty (display, xroot, atoms[1], XA_PIXMAP, 32,
+                      PropModeReplace, (unsigned char *) &xpixmap, 1);
+ }
++#pragma GCC diagnostic pop
+ 
+ /**
+ * set_surface_as_root:
+