summaryrefslogtreecommitdiff
path: root/community
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2013-03-14 00:05:24 -0700
committerroot <root@rshg054.dnsready.net>2013-03-14 00:05:24 -0700
commit3ff20dedff636571ad0faa4736af5b23e4623ffe (patch)
treeab4a70fe4e4a9113ff3483d8635eb46f8994c12a /community
parent3efd178c050d911cfdff7e8d2ed4886b98b08b98 (diff)
Thu Mar 14 00:05:23 PDT 2013
Diffstat (limited to 'community')
-rw-r--r--community/fcitx/PKGBUILD19
-rw-r--r--community/gpsdrive/PKGBUILD4
-rw-r--r--community/gsmartcontrol/PKGBUILD33
-rw-r--r--community/gsmartcontrol/gsmartcontrol.install5
-rw-r--r--community/gsmartcontrol/org.archlinux.pkexec.gsmartcontrol.policy4
-rw-r--r--community/haveged/PKGBUILD16
-rw-r--r--community/i3-wm/PKGBUILD14
-rw-r--r--community/libvirt/PKGBUILD8
-rwxr-xr-xcommunity/lightdm-gtk2-greeter/PKGBUILD40
-rwxr-xr-xcommunity/lightdm-gtk2-greeter/onscreen-keyboard.patch306
-rwxr-xr-xcommunity/lightdm-gtk3-greeter/PKGBUILD40
-rwxr-xr-xcommunity/lightdm-gtk3-greeter/onscreen-keyboard.patch306
-rwxr-xr-xcommunity/lightdm-kde-greeter/PKGBUILD44
-rwxr-xr-xcommunity/lightdm-kde-greeter/lightdm-kde-greeter.conf2
-rwxr-xr-xcommunity/lightdm/PKGBUILD111
-rwxr-xr-xcommunity/lightdm/lightdm-1.5.1-systemd_login1_power.patch211
-rwxr-xr-xcommunity/lightdm/lightdm-autologin.pam11
-rwxr-xr-xcommunity/lightdm/lightdm-default-config.patch35
-rwxr-xr-xcommunity/lightdm/lightdm-lock-screen-before-switch.patch55
-rwxr-xr-xcommunity/lightdm/lightdm.install15
-rwxr-xr-xcommunity/lightdm/lightdm.pam7
-rwxr-xr-xcommunity/lightdm/lightdm.rules15
-rwxr-xr-xcommunity/lightdm/lightdm.service14
-rwxr-xr-xcommunity/lightdm/lightdm.tmpfiles2
-rwxr-xr-xcommunity/lightdm/xsession73
-rw-r--r--community/lua-zlib/PKGBUILD34
-rw-r--r--community/nodejs/PKGBUILD6
-rw-r--r--community/pigz/PKGBUILD37
-rw-r--r--community/pigz/pigz-2.3-make.patch25
-rw-r--r--community/qupzilla/PKGBUILD24
-rwxr-xr-xcommunity/xnoise/PKGBUILD9
31 files changed, 1441 insertions, 84 deletions
diff --git a/community/fcitx/PKGBUILD b/community/fcitx/PKGBUILD
index 20f77977a..342bacbff 100644
--- a/community/fcitx/PKGBUILD
+++ b/community/fcitx/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 85343 2013-03-01 10:30:04Z andrea $
+# $Id: PKGBUILD 86209 2013-03-13 05:41:43Z fyan $
# Maintainer: Felix Yan <felixonmars@gmail.com>
# Contributor: Andrea Scarpino <andrea@archlinux.org>
# Contributor: csslayer <wengxt AT gmail com>
@@ -6,21 +6,26 @@
pkgbase=fcitx
pkgname=('fcitx' 'fcitx-gtk2' 'fcitx-gtk3' 'fcitx-qt4')
pkgver=4.2.7
-pkgrel=3
+pkgrel=4
groups=('fcitx-im')
arch=('i686' 'x86_64')
url="http://code.google.com/p/fcitx/"
license=('GPL')
makedepends=('cmake' 'doxygen' 'gtk2' 'gtk3' 'qt4' 'icu' 'mesa' \
'iso-codes' 'gobject-introspection' 'libxkbfile')
-source=(http://fcitx.googlecode.com/files/${pkgbase}-${pkgver}_dict.tar.xz)
+source=(http://fcitx.googlecode.com/files/${pkgbase}-${pkgver}_dict.tar.xz
+ https://github.com/fcitx/fcitx/commit/9937b68bad3a7e9465e17b711ce9c0a072d3071f.patch)
build() {
#source /etc/profile.d/qt4.sh
- cd "${srcdir}"
+ cd "$srcdir/$pkgbase-$pkgver"
+ patch -Np1 -i "$srcdir/9937b68bad3a7e9465e17b711ce9c0a072d3071f.patch"
+
+ cd "$srcdir"
mkdir -p build
cd build
+
cmake ../${pkgbase}-${pkgver} \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
@@ -30,7 +35,8 @@ build() {
-DENABLE_TEST=ON \
-DENABLE_GTK2_IM_MODULE=ON \
-DENABLE_GTK3_IM_MODULE=ON \
- -DENABLE_QT_IM_MODULE=ON
+ -DENABLE_QT_IM_MODULE=ON \
+ -DQT_QMAKE_EXECUTABLE=qmake-qt4
make
}
@@ -115,4 +121,5 @@ package_fcitx-qt4() {
make DESTDIR="${pkgdir}" install
}
-md5sums=('6e291717c24615b9dc9bfaa2949af3a7')
+md5sums=('6e291717c24615b9dc9bfaa2949af3a7'
+ '009e0cd17f078e24c03b3b46b45e41ab')
diff --git a/community/gpsdrive/PKGBUILD b/community/gpsdrive/PKGBUILD
index e6fd25a96..cd2a4dbf8 100644
--- a/community/gpsdrive/PKGBUILD
+++ b/community/gpsdrive/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 83255 2013-01-28 16:49:42Z stephane $
+# $Id: PKGBUILD 86225 2013-03-13 15:08:23Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
# Maintainer: damir <damir@archlinux.org>
@@ -6,7 +6,7 @@
pkgname=gpsdrive
pkgver=2.11
_pkgver=20120928
-pkgrel=15
+pkgrel=16
pkgdesc="A car (bike, ship, plane) navigation system"
arch=("i686" "x86_64")
url="http://www.gpsdrive.de/"
diff --git a/community/gsmartcontrol/PKGBUILD b/community/gsmartcontrol/PKGBUILD
index 5ed813a1d..852b0ea58 100644
--- a/community/gsmartcontrol/PKGBUILD
+++ b/community/gsmartcontrol/PKGBUILD
@@ -2,18 +2,18 @@
pkgname=gsmartcontrol
pkgver=0.8.7
-pkgrel=2
+pkgrel=3
pkgdesc="A graphical user interface for the smartctl hard disk drive health inspection tool."
arch=('i686' 'x86_64')
url="http://gsmartcontrol.berlios.de/home/index.php/en/Home"
license=('GPL3')
-depends=('smartmontools' 'pcre' 'gtkmm' 'libglademm' 'glib2' 'xorg-xmessage')
-optdepends=('polkit: to run gparted directly from menu')
+depends=('smartmontools' 'gtkmm' 'xorg-xmessage' 'hicolor-icon-theme' 'polkit')
+optdepends=('polkit-gnome: to run gsmartcontrol directly from menu')
install=${pkgname}.install
-source=(http://download.berlios.de/gsmartcontrol/${pkgname}-${pkgver}.tar.bz2 org.archlinux.pkexec.gsmartcontrol.policy gsmartcontrol.desktop)
+source=(http://download.berlios.de/gsmartcontrol/${pkgname}-${pkgver}.tar.bz2
+ org.archlinux.pkexec.gsmartcontrol.policy)
md5sums=('6d104c2ffc1e693cd1a8052a6d7e3b30'
- 'e7b9380849cdcaa4356a42559ea7954f'
- '19b20293a639e51fa2abb929a3faae01')
+ 'e403f8e06e6b8a3d1a99da5e584b2257')
build() {
cd ${srcdir}/${pkgname}-${pkgver}
@@ -31,11 +31,20 @@ package() {
make DESTDIR=${pkgdir} install
- # Install pexec fixed desktop file
- install -Dm755 $srcdir/gsmartcontrol.desktop $pkgdir/usr/share/applications/gsmartcontrol.desktop
+ # We need rename the original binary
+ mv "${pkgdir}/usr/bin/gsmartcontrol" "${pkgdir}/usr/bin/gsmartcontrol.elf"
- # Install pexec file
- install -Dm766 $srcdir/org.archlinux.pkexec.gsmartcontrol.policy \
- $pkgdir/usr/share/polkit-1/actions/org.archlinux.pkexec.gsmartcontrol.policy
+ # Install launcher script
+ echo '#!/bin/sh' > ${pkgdir}/usr/bin/gsmartcontrol
+ echo 'pkexec --disable-internal-agent "/usr/bin/gsmartcontrol.elf" "$@"' \
+ >> ${pkgdir}/usr/bin/gsmartcontrol
+ chmod 755 ${pkgdir}/usr/bin/gsmartcontrol
+
+ # Modify desktop file
+ sed -i -e "s|^Exec=.*|Exec=/usr/bin/gsmartcontrol|" \
+ "${pkgdir}/usr/share/applications/gsmartcontrol.desktop"
- }
+ # Install policy file
+ install -Dm766 $srcdir/org.archlinux.pkexec.gsmartcontrol.policy \
+ $pkgdir/usr/share/polkit-1/actions/org.archlinux.pkexec.gsmartcontrol.policy
+}
diff --git a/community/gsmartcontrol/gsmartcontrol.install b/community/gsmartcontrol/gsmartcontrol.install
index b95cc069d..f636406f2 100644
--- a/community/gsmartcontrol/gsmartcontrol.install
+++ b/community/gsmartcontrol/gsmartcontrol.install
@@ -1,9 +1,12 @@
post_install() {
which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate || true
+ echo 'If you use a lightweight windowmanager, remember to run'
+ echo '/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 to enable'
+ echo 'graphical authentication, which may be needed for pkexec to work.'
}
post_upgrade() {
- post_install $1
+ which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate || true
}
post_remove() {
diff --git a/community/gsmartcontrol/org.archlinux.pkexec.gsmartcontrol.policy b/community/gsmartcontrol/org.archlinux.pkexec.gsmartcontrol.policy
index fb985df87..b71db7904 100644
--- a/community/gsmartcontrol/org.archlinux.pkexec.gsmartcontrol.policy
+++ b/community/gsmartcontrol/org.archlinux.pkexec.gsmartcontrol.policy
@@ -5,14 +5,14 @@
<policyconfig>
<action id="org.archlinux.pkexec.gsmartcontrol">
- <message>Authentication is required to run the gsmartcontrol</message>
+ <message>Authentication is required to run the GSmartControl</message>
<icon_name>gsmartcontrol</icon_name>
<defaults>
<allow_any>auth_admin</allow_any>
<allow_inactive>auth_admin</allow_inactive>
<allow_active>auth_admin</allow_active>
</defaults>
- <annotate key="org.freedesktop.policykit.exec.path">/usr/bin/gsmartcontrol</annotate>
+ <annotate key="org.freedesktop.policykit.exec.path">/usr/bin/gsmartcontrol.elf</annotate>
<annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
</action>
diff --git a/community/haveged/PKGBUILD b/community/haveged/PKGBUILD
index d73c5f102..730e487fc 100644
--- a/community/haveged/PKGBUILD
+++ b/community/haveged/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 84580 2013-02-20 05:11:56Z bpiotrowski $
+# $Id: PKGBUILD 86237 2013-03-13 19:59:28Z bpiotrowski $
# Maintainer: Bartłomiej Piotrowski <barthalion@gmail.com>
# Contributor: kfgz <kfgz at interia dot pl>
# Contributor: pootzko <pootzko at gmail dot com>
pkgname=haveged
-pkgver=1.7
+pkgver=1.7a
pkgrel=1
pkgdesc='Entropy harvesting daemon using CPU timings'
arch=('i686' 'x86_64')
@@ -12,18 +12,12 @@ url='http://www.issihosts.com/haveged'
license=('GPL')
depends=('glibc')
source=($url/$pkgname-$pkgver.tar.gz
- service
- haveged-1.7-build.patch)
-sha256sums=('9ec85438386a46d5c3fe7b5b121cafd89c34bae68cbbfb4cecb1ff5622111013'
- '85aed005b7d0d0bae74f7fc0ca70907a6f67ddbcb2df77ca004f9a919028564a'
- '94c77b1d2d80eb5fb30bab4aeb560e6dfe9957654cd3ed915478d2ce67ac37b7')
+ service)
+sha256sums=('8e7b0779bd8a4b9b73769ddaf626918355e2a542d3ac35e5ec31b74a58b9b051'
+ '85aed005b7d0d0bae74f7fc0ca70907a6f67ddbcb2df77ca004f9a919028564a')
build() {
cd $srcdir/$pkgname-$pkgver
-
- patch -Np1 -i $srcdir/haveged-1.7-build.patch
- aclocal && libtoolize --force && automake --add-missing && autoreconf
-
./configure --prefix=/usr
make
}
diff --git a/community/i3-wm/PKGBUILD b/community/i3-wm/PKGBUILD
index 071f832f3..c25ad2edb 100644
--- a/community/i3-wm/PKGBUILD
+++ b/community/i3-wm/PKGBUILD
@@ -1,25 +1,25 @@
-# $Id: PKGBUILD 81566 2012-12-24 12:23:53Z ttoepper $
+# $Id: PKGBUILD 86213 2013-03-13 09:19:21Z ttoepper $
# Maintainer: Thorsten Töpper <atsutane-tu@freethoughts.de>
pkgname=i3-wm
_pkgsourcename=i3
-pkgver=4.4
-pkgrel=2
+pkgver=4.5
+pkgrel=1
pkgdesc="An improved dynamic tiling window manager"
arch=('i686' 'x86_64')
url="http://i3wm.org/"
license=('BSD')
replaces=("i3" "i3bar")
groups=("i3")
-depends=('libxcursor' 'xcb-util-keysyms' 'xcb-util-wm' 'libev' 'yajl' 'startup-notification' 'pango')
+depends=('libxcursor' 'xcb-util-keysyms' 'xcb-util-wm' 'libev' 'yajl'
+ 'startup-notification' 'pango' 'perl')
makedepends=('bison' 'flex')
optdepends=('dmenu: As menu.'
'i3lock: For locking your screen.'
- 'i3status: To display systeminformation with a bar.'
- 'perl: To migrate your configuration to v4 format.')
+ 'i3status: To display systeminformation with a bar.')
options=('docs' '!strip')
source=("http://i3wm.org/downloads/${_pkgsourcename}-${pkgver}.tar.bz2")
-md5sums=('fa2b8aae3d2e10c5ee480bd370366f5b')
+md5sums=('9eea2f570ec19affa3ec60b5ab411497')
build() {
cd "$srcdir/$_pkgsourcename-$pkgver"
diff --git a/community/libvirt/PKGBUILD b/community/libvirt/PKGBUILD
index cbf475f88..96defe4c9 100644
--- a/community/libvirt/PKGBUILD
+++ b/community/libvirt/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 85917 2013-03-08 23:40:42Z foutrelis $
+# $Id: PKGBUILD 86217 2013-03-13 13:30:48Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Jonathan Wiersma <archaur at jonw dot org>
pkgname=libvirt
pkgver=1.0.3
-pkgrel=3rc2
+pkgrel=4
pkgdesc="API for controlling virtualization engines (openvz,kvm,qemu,virtualbox,xen,etc)"
arch=('i686' 'x86_64')
url="http://libvirt.org/"
@@ -30,13 +30,13 @@ backup=('etc/conf.d/libvirtd'
'etc/libvirt/qemu.conf'
'etc/sasl2/libvirt.conf')
install="libvirt.install"
-source=("http://libvirt.org/sources/$pkgname-$pkgver-rc2.tar.gz"
+source=("http://libvirt.org/sources/$pkgname-$pkgver.tar.gz"
libvirtd.rc.d
libvirtd.conf.d
libvirtd-guests.rc.d
libvirtd-guests.conf.d
libvirt.tmpfiles.d)
-md5sums=('d03a65be35c455bc09ee96df66ea2c4d'
+md5sums=('3d9f85d586c9aa3d819b626622f3fc97'
'c43244c40a0437038c82089618e7beaa'
'3ed0e24f5b5e25bf553f5427d64915e6'
'0ee5b6c58590ff392a266f20f7928d1f'
diff --git a/community/lightdm-gtk2-greeter/PKGBUILD b/community/lightdm-gtk2-greeter/PKGBUILD
new file mode 100755
index 000000000..153294933
--- /dev/null
+++ b/community/lightdm-gtk2-greeter/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 86201 2013-03-13 00:23:53Z alucryd $
+# Maintainer: Maxime Gauduin <alucryd@gmail.com>
+# Contributor: Padfoot <padfoot@exemail.com.au>
+
+pkgname=lightdm-gtk2-greeter
+pkgver=1.5.1
+pkgrel=3
+pkgdesc="GTK+ greeter for LightDM"
+arch=('i686' 'x86_64')
+url="https://launchpad.net/lightdm-gtk-greeter"
+license=('GPL3' 'LGPL3')
+depends=('gtk2' 'lightdm')
+makedepends=('exo' 'gnome-common' 'gnome-doc-utils' 'gobject-introspection' 'intltool')
+provides=("${pkgname/2/}")
+conflicts=("${pkgname/2/3}")
+backup=('etc/lightdm/lightdm-gtk-greeter.conf')
+source=("https://launchpad.net/${pkgname/2/}/1.6/${pkgver}/+download/${pkgname/2/}-${pkgver}.tar.gz"
+ "onscreen-keyboard.patch")
+sha256sums=('ecce7e917a79fa8f2126c3fafb6337f81f2198892159a4ef695016afecd2d621'
+ '381c4da15ed2482800aaf3258217cd48c2313aee5da4f7ade77f7ef55659d0b9')
+
+build() {
+ cd "${srcdir}"/${pkgname/2/}-${pkgver}
+
+# Patch
+ patch -Np1 -i ../onscreen-keyboard.patch
+
+# Build
+ AUTOMAKE=automake ./autogen.sh --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib/lightdm --disable-static --with-gtk2
+ make
+}
+
+package() {
+ cd "${srcdir}"/${pkgname/2/}-${pkgver}
+
+# Install
+ make DESTDIR="${pkgdir}" install
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/community/lightdm-gtk2-greeter/onscreen-keyboard.patch b/community/lightdm-gtk2-greeter/onscreen-keyboard.patch
new file mode 100755
index 000000000..6db01d3f6
--- /dev/null
+++ b/community/lightdm-gtk2-greeter/onscreen-keyboard.patch
@@ -0,0 +1,306 @@
+diff -aur lightdm-gtk-greeter-1.5.1.src/data/lightdm-gtk-greeter.conf lightdm-gtk-greeter-1.5.1.patch/data/lightdm-gtk-greeter.conf
+--- lightdm-gtk-greeter-1.5.1.src/data/lightdm-gtk-greeter.conf 2013-02-11 00:19:17.000000000 +1100
++++ lightdm-gtk-greeter-1.5.1.patch/data/lightdm-gtk-greeter.conf 2013-02-20 19:17:39.382817993 +1100
+@@ -9,6 +9,7 @@
+ # xft-rgba = Type of subpixel antialiasing (none, rgb, bgr, vrgb or vbgr)
+ # show-language-selector (true or false)
+ # show-indicators = semi-colon ";" separated list of allowed indicator modules (e.g. indicator-sound.so)
++# keyboard = Command to launch on screen keyboard. Ensure it does not steal focus.
+ #
+ [greeter]
+ #background=
+@@ -21,3 +22,4 @@
+ #xft-rgba=
+ #show-language-selector=
+ #show-indicators=
++#keyboard=
+diff -aur lightdm-gtk-greeter-1.5.1.src/src/lightdm-gtk-greeter.c lightdm-gtk-greeter-1.5.1.patch/src/lightdm-gtk-greeter.c
+--- lightdm-gtk-greeter-1.5.1.src/src/lightdm-gtk-greeter.c 2013-02-11 00:48:21.000000000 +1100
++++ lightdm-gtk-greeter-1.5.1.patch/src/lightdm-gtk-greeter.c 2013-02-20 20:09:30.219150045 +1100
+@@ -23,6 +23,7 @@
+ #include <cairo-xlib.h>
+ #include <gdk-pixbuf/gdk-pixbuf.h>
+ #include <gdk/gdkx.h>
++#include <glib.h>
+
+ #ifdef HAVE_LIBINDICATOR
+ #include <libindicator/indicator-object.h>
+@@ -44,6 +45,7 @@
+ static GtkComboBox *user_combo;
+ static GtkComboBox *session_combo;
+ static GtkComboBox *language_combo;
++static GtkCheckMenuItem *keyboard_menuitem;
+ static gchar *default_font_name, *default_theme_name, *default_icon_theme_name;
+ static GdkPixbuf *default_background_pixbuf = NULL;
+ #if GTK_CHECK_VERSION (3, 0, 0)
+@@ -52,6 +54,10 @@
+ static GdkColor *default_background_color = NULL;
+ #endif
+ static gboolean cancelling = FALSE, prompted = FALSE;
++static gchar **a11y_keyboard_command;
++static int a11y_kbd_pid = 0;
++static GPid *a11y_keyboard_pid = &a11y_kbd_pid;
++static GError *a11y_keyboard_error;
+
+
+ #ifdef HAVE_LIBINDICATOR
+@@ -649,7 +655,10 @@
+ if (lightdm_greeter_get_is_authenticated (greeter))
+ {
+ if (prompted)
+- start_session ();
++ {
++ gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (keyboard_menuitem), FALSE);
++ start_session ();
++ }
+ }
+ else
+ {
+@@ -864,6 +873,32 @@
+ }
+ }
+
++void a11y_keyboard_cb (GtkWidget *widget);
++G_MODULE_EXPORT
++void
++a11y_keyboard_cb (GtkWidget *widget)
++{
++ if (gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (widget)))
++ {
++ if (!g_spawn_async(NULL, a11y_keyboard_command, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, a11y_keyboard_pid, &a11y_keyboard_error))
++ {
++ g_debug ("a11y keyboard command error : '%s'", a11y_keyboard_error->message);
++ a11y_kbd_pid = 0;
++ g_clear_error(&a11y_keyboard_error);
++ gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (widget), FALSE);
++ }
++ }
++ else
++ {
++ if (a11y_kbd_pid != 0)
++ {
++ kill (a11y_kbd_pid, SIGTERM);
++ g_spawn_close_pid(*a11y_keyboard_pid);
++ a11y_kbd_pid = 0;
++ }
++ }
++}
++
+ static void
+ sigterm_cb (int signum)
+ {
+@@ -1190,6 +1225,13 @@
+ g_object_set (gtk_settings_get_default (), "gtk-xft-rgba", value, NULL);
+ g_free (value);
+
++ /* Get a11y on screen keyboard command*/
++ gint argp;
++ value = g_key_file_get_value (config, "greeter", "keyboard", NULL);
++ g_debug ("a11y keyboard command is '%s'", value);
++ g_shell_parse_argv (value, &argp, &a11y_keyboard_command, NULL);
++ g_free (value);
++
+ builder = gtk_builder_new ();
+ if (!gtk_builder_add_from_string (builder, lightdm_gtk_greeter_ui,
+ lightdm_gtk_greeter_ui_length, &error))
+@@ -1212,6 +1254,7 @@
+ language_combo = GTK_COMBO_BOX (gtk_builder_get_object (builder, "language_combobox"));
+ panel_window = GTK_WINDOW (gtk_builder_get_object (builder, "panel_window"));
+ user_avatar = GTK_IMAGE (gtk_builder_get_object (builder, "user_avatar"));
++ keyboard_menuitem = GTK_CHECK_MENU_ITEM (gtk_builder_get_object (builder, "keyboard_menuitem"));
+
+ gtk_label_set_text (GTK_LABEL (gtk_builder_get_object (builder, "hostname_label")), lightdm_get_hostname ());
+
+@@ -1264,7 +1307,7 @@
+ #endif
+ gtk_widget_show (hbox);
+ gtk_container_add (GTK_CONTAINER (menuitem), hbox);
+- image = gtk_image_new_from_icon_name ("system-shutdown", GTK_ICON_SIZE_MENU);
++ image = gtk_image_new_from_icon_name ("system-shutdown", GTK_ICON_SIZE_BUTTON);
+ gtk_widget_show (image);
+ gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, TRUE, 0);
+
+@@ -1276,7 +1319,7 @@
+ #endif
+ gtk_widget_show (hbox);
+ gtk_container_add (GTK_CONTAINER (menuitem), hbox);
+- image = gtk_image_new_from_icon_name ("preferences-desktop-accessibility", GTK_ICON_SIZE_MENU);
++ image = gtk_image_new_from_icon_name ("preferences-desktop-accessibility", GTK_ICON_SIZE_BUTTON);
+ gtk_widget_show (image);
+ gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, TRUE, 0);
+
+@@ -1377,6 +1420,11 @@
+ gtk_widget_show (GTK_WIDGET (login_window));
+ gdk_window_focus (gtk_widget_get_window (GTK_WIDGET (login_window)), GDK_CURRENT_TIME);
+
++ if (a11y_keyboard_command)
++ gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (keyboard_menuitem), TRUE);
++ else
++ gtk_widget_hide (GTK_WIDGET (gtk_builder_get_object (builder, "keyboard_menuitem")));
++
+ gtk_main ();
+
+ if (default_background_pixbuf)
+diff -aur lightdm-gtk-greeter-1.5.1.src/src/lightdm-gtk-greeter.glade lightdm-gtk-greeter-1.5.1.patch/src/lightdm-gtk-greeter.glade
+--- lightdm-gtk-greeter-1.5.1.src/src/lightdm-gtk-greeter.glade 2013-02-10 23:48:19.000000000 +1100
++++ lightdm-gtk-greeter-1.5.1.patch/src/lightdm-gtk-greeter.glade 2013-02-20 17:11:01.968469713 +1100
+@@ -215,6 +215,7 @@
+ <object class="GtkWindow" id="panel_window">
+ <property name="name">panel_window</property>
+ <property name="can_focus">False</property>
++ <property name="default_height">40</property>
+ <property name="decorated">False</property>
+ <property name="has_resize_grip">False</property>
+ <child>
+@@ -309,6 +310,16 @@
+ <signal name="toggled" handler="a11y_contrast_cb" swapped="no"/>
+ </object>
+ </child>
++ <child>
++ <object class="GtkCheckMenuItem" id="keyboard_menuitem">
++ <property name="name">keyboard_menuitem</property>
++ <property name="visible">True</property>
++ <property name="can_focus">False</property>
++ <property name="use_action_appearance">False</property>
++ <property name="label" translatable="yes">On Screen Keyboard</property>
++ <signal name="toggled" handler="a11y_keyboard_cb" swapped="no"/>
++ </object>
++ </child>
+ </object>
+ </child>
+ </object>
+diff -aur lightdm-gtk-greeter-1.5.1.src/src/lightdm-gtk-greeter-ui.h lightdm-gtk-greeter-1.5.1.patch/src/lightdm-gtk-greeter-ui.h
+--- lightdm-gtk-greeter-1.5.1.src/src/lightdm-gtk-greeter-ui.h 2013-02-11 01:46:04.000000000 +1100
++++ lightdm-gtk-greeter-1.5.1.patch/src/lightdm-gtk-greeter-ui.h 2013-02-20 17:52:56.172967000 +1100
+@@ -108,66 +108,73 @@
+ "\">3</property></packing></child></object></child><child type=\"tab\"><"
+ "placeholder/></child></object></child></object><object class=\"GtkWindo"
+ "w\" id=\"panel_window\"><property name=\"name\">panel_window</property>"
+- "<property name=\"can_focus\">False</property><property name=\"decorated"
+- "\">False</property><property name=\"has_resize_grip\">False</property><"
+- "child><object class=\"GtkMenuBar\" id=\"menubar\"><property name=\"name"
+- "\">menubar</property><property name=\"visible\">True</property><propert"
+- "y name=\"can_focus\">False</property><property name=\"pack_direction\">"
+- "rtl</property><child><object class=\"GtkMenuItem\" id=\"power_menuitem\""
+- "><property name=\"name\">power_menuitem</property><property name=\"visi"
+- "ble\">True</property><property name=\"can_focus\">False</property><prop"
+- "erty name=\"use_action_appearance\">False</property><child type=\"subme"
+- "nu\"><object class=\"GtkMenu\" id=\"power_menu\"><property name=\"name\""
+- ">power_menu</property><property name=\"visible\">True</property><proper"
+- "ty name=\"can_focus\">False</property><child><object class=\"GtkMenuIte"
+- "m\" id=\"suspend_menuitem\"><property name=\"name\">suspend_menuitem</p"
+- "roperty><property name=\"visible\">True</property><property name=\"can_"
+- "focus\">False</property><property name=\"use_action_appearance\">False<"
+- "/property><property name=\"label\" translatable=\"yes\">Suspend</proper"
+- "ty><signal name=\"activate\" handler=\"suspend_cb\" swapped=\"no\"/></o"
+- "bject></child><child><object class=\"GtkMenuItem\" id=\"hibernate_menui"
+- "tem\"><property name=\"name\">hibernate_menuitem</property><property na"
+- "me=\"visible\">True</property><property name=\"can_focus\">False</prope"
+- "rty><property name=\"use_action_appearance\">False</property><property "
+- "name=\"label\" translatable=\"yes\">Hibernate</property><signal name=\""
+- "activate\" handler=\"hibernate_cb\" swapped=\"no\"/></object></child><c"
+- "hild><object class=\"GtkMenuItem\" id=\"restart_menuitem\"><property na"
+- "me=\"name\">restart_menuitem</property><property name=\"visible\">True<"
+- "/property><property name=\"can_focus\">False</property><property name=\""
+- "use_action_appearance\">False</property><property name=\"label\" transl"
+- "atable=\"yes\">Restart...</property><signal name=\"activate\" handler=\""
+- "restart_cb\" swapped=\"no\"/></object></child><child><object class=\"Gt"
+- "kMenuItem\" id=\"shutdown_menuitem\"><property name=\"name\">shutdown_m"
+- "enuitem</property><property name=\"visible\">True</property><property n"
+- "ame=\"can_focus\">False</property><property name=\"use_action_appearanc"
+- "e\">False</property><property name=\"label\" translatable=\"yes\">Shutd"
+- "own...</property><signal name=\"activate\" handler=\"shutdown_cb\" swap"
+- "ped=\"no\"/></object></child></object></child></object></child><child><"
+- "object class=\"GtkMenuItem\" id=\"a11y_menuitem\"><property name=\"name"
+- "\">a11y_menuitem</property><property name=\"visible\">True</property><p"
+- "roperty name=\"can_focus\">False</property><property name=\"use_action_"
+- "appearance\">False</property><child type=\"submenu\"><object class=\"Gt"
+- "kMenu\" id=\"a11y_menu\"><property name=\"name\">a11y_menu</property><p"
+- "roperty name=\"visible\">True</property><property name=\"can_focus\">Fa"
+- "lse</property><child><object class=\"GtkCheckMenuItem\" id=\"large_font"
+- "_menuitem\"><property name=\"name\">large_font_menuitem</property><prop"
++ "<property name=\"can_focus\">False</property><property name=\"default_h"
++ "eight\">40</property><property name=\"decorated\">False</property><prop"
++ "erty name=\"has_resize_grip\">False</property><child><object class=\"Gt"
++ "kMenuBar\" id=\"menubar\"><property name=\"name\">menubar</property><pr"
++ "operty name=\"visible\">True</property><property name=\"can_focus\">Fal"
++ "se</property><property name=\"pack_direction\">rtl</property><child><ob"
++ "ject class=\"GtkMenuItem\" id=\"power_menuitem\"><property name=\"name\""
++ ">power_menuitem</property><property name=\"visible\">True</property><pr"
++ "operty name=\"can_focus\">False</property><property name=\"use_action_a"
++ "ppearance\">False</property><child type=\"submenu\"><object class=\"Gtk"
++ "Menu\" id=\"power_menu\"><property name=\"name\">power_menu</property><"
++ "property name=\"visible\">True</property><property name=\"can_focus\">F"
++ "alse</property><child><object class=\"GtkMenuItem\" id=\"suspend_menuit"
++ "em\"><property name=\"name\">suspend_menuitem</property><property name="
++ "\"visible\">True</property><property name=\"can_focus\">False</property"
++ "><property name=\"use_action_appearance\">False</property><property nam"
++ "e=\"label\" translatable=\"yes\">Suspend</property><signal name=\"activ"
++ "ate\" handler=\"suspend_cb\" swapped=\"no\"/></object></child><child><o"
++ "bject class=\"GtkMenuItem\" id=\"hibernate_menuitem\"><property name=\""
++ "name\">hibernate_menuitem</property><property name=\"visible\">True</pr"
++ "operty><property name=\"can_focus\">False</property><property name=\"us"
++ "e_action_appearance\">False</property><property name=\"label\" translat"
++ "able=\"yes\">Hibernate</property><signal name=\"activate\" handler=\"hi"
++ "bernate_cb\" swapped=\"no\"/></object></child><child><object class=\"Gt"
++ "kMenuItem\" id=\"restart_menuitem\"><property name=\"name\">restart_men"
++ "uitem</property><property name=\"visible\">True</property><property nam"
++ "e=\"can_focus\">False</property><property name=\"use_action_appearance\""
++ ">False</property><property name=\"label\" translatable=\"yes\">Restart."
++ "..</property><signal name=\"activate\" handler=\"restart_cb\" swapped=\""
++ "no\"/></object></child><child><object class=\"GtkMenuItem\" id=\"shutdo"
++ "wn_menuitem\"><property name=\"name\">shutdown_menuitem</property><prop"
+ "erty name=\"visible\">True</property><property name=\"can_focus\">False"
+ "</property><property name=\"use_action_appearance\">False</property><pr"
+- "operty name=\"label\" translatable=\"yes\">Large Font</property><signal"
+- " name=\"toggled\" handler=\"a11y_font_cb\" swapped=\"no\"/></object></c"
+- "hild><child><object class=\"GtkCheckMenuItem\" id=\"high_contrast_menui"
+- "tem\"><property name=\"name\">high_contrast_menuitem</property><propert"
+- "y name=\"visible\">True</property><property name=\"can_focus\">False</p"
+- "roperty><property name=\"use_action_appearance\">False</property><prope"
+- "rty name=\"label\" translatable=\"yes\">High Contrast</property><signal"
+- " name=\"toggled\" handler=\"a11y_contrast_cb\" swapped=\"no\"/></object"
+- "></child></object></child></object></child></object></child></object><o"
+- "bject class=\"GtkListStore\" id=\"session_liststore\"><columns><column "
+- "type=\"gchararray\"/><column type=\"gchararray\"/></columns></object><o"
+- "bject class=\"GtkListStore\" id=\"user_liststore\"><columns><column typ"
+- "e=\"gchararray\"/><column type=\"gchararray\"/><column type=\"gint\"/><"
+- "/columns></object></interface>"
++ "operty name=\"label\" translatable=\"yes\">Shutdown...</property><signa"
++ "l name=\"activate\" handler=\"shutdown_cb\" swapped=\"no\"/></object></"
++ "child></object></child></object></child><child><object class=\"GtkMenuI"
++ "tem\" id=\"a11y_menuitem\"><property name=\"name\">a11y_menuitem</prope"
++ "rty><property name=\"visible\">True</property><property name=\"can_focu"
++ "s\">False</property><property name=\"use_action_appearance\">False</pro"
++ "perty><child type=\"submenu\"><object class=\"GtkMenu\" id=\"a11y_menu\""
++ "><property name=\"name\">a11y_menu</property><property name=\"visible\""
++ ">True</property><property name=\"can_focus\">False</property><child><ob"
++ "ject class=\"GtkCheckMenuItem\" id=\"large_font_menuitem\"><property na"
++ "me=\"name\">large_font_menuitem</property><property name=\"visible\">Tr"
++ "ue</property><property name=\"can_focus\">False</property><property nam"
++ "e=\"use_action_appearance\">False</property><property name=\"label\" tr"
++ "anslatable=\"yes\">Large Font</property><signal name=\"toggled\" handle"
++ "r=\"a11y_font_cb\" swapped=\"no\"/></object></child><child><object clas"
++ "s=\"GtkCheckMenuItem\" id=\"high_contrast_menuitem\"><property name=\"n"
++ "ame\">high_contrast_menuitem</property><property name=\"visible\">True<"
++ "/property><property name=\"can_focus\">False</property><property name=\""
++ "use_action_appearance\">False</property><property name=\"label\" transl"
++ "atable=\"yes\">High Contrast</property><signal name=\"toggled\" handler"
++ "=\"a11y_contrast_cb\" swapped=\"no\"/></object></child><child><object c"
++ "lass=\"GtkCheckMenuItem\" id=\"keyboard_menuitem\"><property name=\"nam"
++ "e\">keyboard_menuitem</property><property name=\"visible\">True</proper"
++ "ty><property name=\"can_focus\">False</property><property name=\"use_ac"
++ "tion_appearance\">False</property><property name=\"label\" translatable"
++ "=\"yes\">On Screen Keyboard</property><signal name=\"toggled\" handler="
++ "\"a11y_keyboard_cb\" swapped=\"no\"/></object></child></object></child>"
++ "</object></child></object></child></object><object class=\"GtkListStore"
++ "\" id=\"session_liststore\"><columns><column type=\"gchararray\"/><colu"
++ "mn type=\"gchararray\"/></columns></object><object class=\"GtkListStore"
++ "\" id=\"user_liststore\"><columns><column type=\"gchararray\"/><column "
++ "type=\"gchararray\"/><column type=\"gint\"/></columns></object></interf"
++ "ace>"
+ };
+
+-static const unsigned lightdm_gtk_greeter_ui_length = 10699u;
++static const unsigned lightdm_gtk_greeter_ui_length = 11147u;
+
diff --git a/community/lightdm-gtk3-greeter/PKGBUILD b/community/lightdm-gtk3-greeter/PKGBUILD
new file mode 100755
index 000000000..951bfe25d
--- /dev/null
+++ b/community/lightdm-gtk3-greeter/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 86202 2013-03-13 00:26:13Z alucryd $
+# Maintainer: Maxime Gauduin <alucryd@gmail.com>
+# Contributor: Padfoot <padfoot@exemail.com.au>
+
+pkgname=lightdm-gtk3-greeter
+pkgver=1.5.1
+pkgrel=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' 'gnome-common' 'gnome-doc-utils' 'gobject-introspection' 'intltool')
+provides=("${pkgname/3/}")
+conflicts=("${pkgname/3/2}")
+backup=('etc/lightdm/lightdm-gtk-greeter.conf')
+source=("https://launchpad.net/${pkgname/3/}/1.6/${pkgver}/+download/${pkgname/3/}-${pkgver}.tar.gz"
+ "onscreen-keyboard.patch")
+sha256sums=('ecce7e917a79fa8f2126c3fafb6337f81f2198892159a4ef695016afecd2d621'
+ '381c4da15ed2482800aaf3258217cd48c2313aee5da4f7ade77f7ef55659d0b9')
+
+build() {
+ cd "${srcdir}"/${pkgname/3/}-${pkgver}
+
+# Patch
+ patch -Np1 -i ../onscreen-keyboard.patch
+
+# Build
+ AUTOMAKE=automake ./autogen.sh --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib/lightdm --disable-static
+ make
+}
+
+package() {
+ cd "${srcdir}"/${pkgname/3/}-${pkgver}
+
+# Install
+ make DESTDIR="${pkgdir}" install
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/community/lightdm-gtk3-greeter/onscreen-keyboard.patch b/community/lightdm-gtk3-greeter/onscreen-keyboard.patch
new file mode 100755
index 000000000..6db01d3f6
--- /dev/null
+++ b/community/lightdm-gtk3-greeter/onscreen-keyboard.patch
@@ -0,0 +1,306 @@
+diff -aur lightdm-gtk-greeter-1.5.1.src/data/lightdm-gtk-greeter.conf lightdm-gtk-greeter-1.5.1.patch/data/lightdm-gtk-greeter.conf
+--- lightdm-gtk-greeter-1.5.1.src/data/lightdm-gtk-greeter.conf 2013-02-11 00:19:17.000000000 +1100
++++ lightdm-gtk-greeter-1.5.1.patch/data/lightdm-gtk-greeter.conf 2013-02-20 19:17:39.382817993 +1100
+@@ -9,6 +9,7 @@
+ # xft-rgba = Type of subpixel antialiasing (none, rgb, bgr, vrgb or vbgr)
+ # show-language-selector (true or false)
+ # show-indicators = semi-colon ";" separated list of allowed indicator modules (e.g. indicator-sound.so)
++# keyboard = Command to launch on screen keyboard. Ensure it does not steal focus.
+ #
+ [greeter]
+ #background=
+@@ -21,3 +22,4 @@
+ #xft-rgba=
+ #show-language-selector=
+ #show-indicators=
++#keyboard=
+diff -aur lightdm-gtk-greeter-1.5.1.src/src/lightdm-gtk-greeter.c lightdm-gtk-greeter-1.5.1.patch/src/lightdm-gtk-greeter.c
+--- lightdm-gtk-greeter-1.5.1.src/src/lightdm-gtk-greeter.c 2013-02-11 00:48:21.000000000 +1100
++++ lightdm-gtk-greeter-1.5.1.patch/src/lightdm-gtk-greeter.c 2013-02-20 20:09:30.219150045 +1100
+@@ -23,6 +23,7 @@
+ #include <cairo-xlib.h>
+ #include <gdk-pixbuf/gdk-pixbuf.h>
+ #include <gdk/gdkx.h>
++#include <glib.h>
+
+ #ifdef HAVE_LIBINDICATOR
+ #include <libindicator/indicator-object.h>
+@@ -44,6 +45,7 @@
+ static GtkComboBox *user_combo;
+ static GtkComboBox *session_combo;
+ static GtkComboBox *language_combo;
++static GtkCheckMenuItem *keyboard_menuitem;
+ static gchar *default_font_name, *default_theme_name, *default_icon_theme_name;
+ static GdkPixbuf *default_background_pixbuf = NULL;
+ #if GTK_CHECK_VERSION (3, 0, 0)
+@@ -52,6 +54,10 @@
+ static GdkColor *default_background_color = NULL;
+ #endif
+ static gboolean cancelling = FALSE, prompted = FALSE;
++static gchar **a11y_keyboard_command;
++static int a11y_kbd_pid = 0;
++static GPid *a11y_keyboard_pid = &a11y_kbd_pid;
++static GError *a11y_keyboard_error;
+
+
+ #ifdef HAVE_LIBINDICATOR
+@@ -649,7 +655,10 @@
+ if (lightdm_greeter_get_is_authenticated (greeter))
+ {
+ if (prompted)
+- start_session ();
++ {
++ gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (keyboard_menuitem), FALSE);
++ start_session ();
++ }
+ }
+ else
+ {
+@@ -864,6 +873,32 @@
+ }
+ }
+
++void a11y_keyboard_cb (GtkWidget *widget);
++G_MODULE_EXPORT
++void
++a11y_keyboard_cb (GtkWidget *widget)
++{
++ if (gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (widget)))
++ {
++ if (!g_spawn_async(NULL, a11y_keyboard_command, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, a11y_keyboard_pid, &a11y_keyboard_error))
++ {
++ g_debug ("a11y keyboard command error : '%s'", a11y_keyboard_error->message);
++ a11y_kbd_pid = 0;
++ g_clear_error(&a11y_keyboard_error);
++ gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (widget), FALSE);
++ }
++ }
++ else
++ {
++ if (a11y_kbd_pid != 0)
++ {
++ kill (a11y_kbd_pid, SIGTERM);
++ g_spawn_close_pid(*a11y_keyboard_pid);
++ a11y_kbd_pid = 0;
++ }
++ }
++}
++
+ static void
+ sigterm_cb (int signum)
+ {
+@@ -1190,6 +1225,13 @@
+ g_object_set (gtk_settings_get_default (), "gtk-xft-rgba", value, NULL);
+ g_free (value);
+
++ /* Get a11y on screen keyboard command*/
++ gint argp;
++ value = g_key_file_get_value (config, "greeter", "keyboard", NULL);
++ g_debug ("a11y keyboard command is '%s'", value);
++ g_shell_parse_argv (value, &argp, &a11y_keyboard_command, NULL);
++ g_free (value);
++
+ builder = gtk_builder_new ();
+ if (!gtk_builder_add_from_string (builder, lightdm_gtk_greeter_ui,
+ lightdm_gtk_greeter_ui_length, &error))
+@@ -1212,6 +1254,7 @@
+ language_combo = GTK_COMBO_BOX (gtk_builder_get_object (builder, "language_combobox"));
+ panel_window = GTK_WINDOW (gtk_builder_get_object (builder, "panel_window"));
+ user_avatar = GTK_IMAGE (gtk_builder_get_object (builder, "user_avatar"));
++ keyboard_menuitem = GTK_CHECK_MENU_ITEM (gtk_builder_get_object (builder, "keyboard_menuitem"));
+
+ gtk_label_set_text (GTK_LABEL (gtk_builder_get_object (builder, "hostname_label")), lightdm_get_hostname ());
+
+@@ -1264,7 +1307,7 @@
+ #endif
+ gtk_widget_show (hbox);
+ gtk_container_add (GTK_CONTAINER (menuitem), hbox);
+- image = gtk_image_new_from_icon_name ("system-shutdown", GTK_ICON_SIZE_MENU);
++ image = gtk_image_new_from_icon_name ("system-shutdown", GTK_ICON_SIZE_BUTTON);
+ gtk_widget_show (image);
+ gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, TRUE, 0);
+
+@@ -1276,7 +1319,7 @@
+ #endif
+ gtk_widget_show (hbox);
+ gtk_container_add (GTK_CONTAINER (menuitem), hbox);
+- image = gtk_image_new_from_icon_name ("preferences-desktop-accessibility", GTK_ICON_SIZE_MENU);
++ image = gtk_image_new_from_icon_name ("preferences-desktop-accessibility", GTK_ICON_SIZE_BUTTON);
+ gtk_widget_show (image);
+ gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, TRUE, 0);
+
+@@ -1377,6 +1420,11 @@
+ gtk_widget_show (GTK_WIDGET (login_window));
+ gdk_window_focus (gtk_widget_get_window (GTK_WIDGET (login_window)), GDK_CURRENT_TIME);
+
++ if (a11y_keyboard_command)
++ gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (keyboard_menuitem), TRUE);
++ else
++ gtk_widget_hide (GTK_WIDGET (gtk_builder_get_object (builder, "keyboard_menuitem")));
++
+ gtk_main ();
+
+ if (default_background_pixbuf)
+diff -aur lightdm-gtk-greeter-1.5.1.src/src/lightdm-gtk-greeter.glade lightdm-gtk-greeter-1.5.1.patch/src/lightdm-gtk-greeter.glade
+--- lightdm-gtk-greeter-1.5.1.src/src/lightdm-gtk-greeter.glade 2013-02-10 23:48:19.000000000 +1100
++++ lightdm-gtk-greeter-1.5.1.patch/src/lightdm-gtk-greeter.glade 2013-02-20 17:11:01.968469713 +1100
+@@ -215,6 +215,7 @@
+ <object class="GtkWindow" id="panel_window">
+ <property name="name">panel_window</property>
+ <property name="can_focus">False</property>
++ <property name="default_height">40</property>
+ <property name="decorated">False</property>
+ <property name="has_resize_grip">False</property>
+ <child>
+@@ -309,6 +310,16 @@
+ <signal name="toggled" handler="a11y_contrast_cb" swapped="no"/>
+ </object>
+ </child>
++ <child>
++ <object class="GtkCheckMenuItem" id="keyboard_menuitem">
++ <property name="name">keyboard_menuitem</property>
++ <property name="visible">True</property>
++ <property name="can_focus">False</property>
++ <property name="use_action_appearance">False</property>
++ <property name="label" translatable="yes">On Screen Keyboard</property>
++ <signal name="toggled" handler="a11y_keyboard_cb" swapped="no"/>
++ </object>
++ </child>
+ </object>
+ </child>
+ </object>
+diff -aur lightdm-gtk-greeter-1.5.1.src/src/lightdm-gtk-greeter-ui.h lightdm-gtk-greeter-1.5.1.patch/src/lightdm-gtk-greeter-ui.h
+--- lightdm-gtk-greeter-1.5.1.src/src/lightdm-gtk-greeter-ui.h 2013-02-11 01:46:04.000000000 +1100
++++ lightdm-gtk-greeter-1.5.1.patch/src/lightdm-gtk-greeter-ui.h 2013-02-20 17:52:56.172967000 +1100
+@@ -108,66 +108,73 @@
+ "\">3</property></packing></child></object></child><child type=\"tab\"><"
+ "placeholder/></child></object></child></object><object class=\"GtkWindo"
+ "w\" id=\"panel_window\"><property name=\"name\">panel_window</property>"
+- "<property name=\"can_focus\">False</property><property name=\"decorated"
+- "\">False</property><property name=\"has_resize_grip\">False</property><"
+- "child><object class=\"GtkMenuBar\" id=\"menubar\"><property name=\"name"
+- "\">menubar</property><property name=\"visible\">True</property><propert"
+- "y name=\"can_focus\">False</property><property name=\"pack_direction\">"
+- "rtl</property><child><object class=\"GtkMenuItem\" id=\"power_menuitem\""
+- "><property name=\"name\">power_menuitem</property><property name=\"visi"
+- "ble\">True</property><property name=\"can_focus\">False</property><prop"
+- "erty name=\"use_action_appearance\">False</property><child type=\"subme"
+- "nu\"><object class=\"GtkMenu\" id=\"power_menu\"><property name=\"name\""
+- ">power_menu</property><property name=\"visible\">True</property><proper"
+- "ty name=\"can_focus\">False</property><child><object class=\"GtkMenuIte"
+- "m\" id=\"suspend_menuitem\"><property name=\"name\">suspend_menuitem</p"
+- "roperty><property name=\"visible\">True</property><property name=\"can_"
+- "focus\">False</property><property name=\"use_action_appearance\">False<"
+- "/property><property name=\"label\" translatable=\"yes\">Suspend</proper"
+- "ty><signal name=\"activate\" handler=\"suspend_cb\" swapped=\"no\"/></o"
+- "bject></child><child><object class=\"GtkMenuItem\" id=\"hibernate_menui"
+- "tem\"><property name=\"name\">hibernate_menuitem</property><property na"
+- "me=\"visible\">True</property><property name=\"can_focus\">False</prope"
+- "rty><property name=\"use_action_appearance\">False</property><property "
+- "name=\"label\" translatable=\"yes\">Hibernate</property><signal name=\""
+- "activate\" handler=\"hibernate_cb\" swapped=\"no\"/></object></child><c"
+- "hild><object class=\"GtkMenuItem\" id=\"restart_menuitem\"><property na"
+- "me=\"name\">restart_menuitem</property><property name=\"visible\">True<"
+- "/property><property name=\"can_focus\">False</property><property name=\""
+- "use_action_appearance\">False</property><property name=\"label\" transl"
+- "atable=\"yes\">Restart...</property><signal name=\"activate\" handler=\""
+- "restart_cb\" swapped=\"no\"/></object></child><child><object class=\"Gt"
+- "kMenuItem\" id=\"shutdown_menuitem\"><property name=\"name\">shutdown_m"
+- "enuitem</property><property name=\"visible\">True</property><property n"
+- "ame=\"can_focus\">False</property><property name=\"use_action_appearanc"
+- "e\">False</property><property name=\"label\" translatable=\"yes\">Shutd"
+- "own...</property><signal name=\"activate\" handler=\"shutdown_cb\" swap"
+- "ped=\"no\"/></object></child></object></child></object></child><child><"
+- "object class=\"GtkMenuItem\" id=\"a11y_menuitem\"><property name=\"name"
+- "\">a11y_menuitem</property><property name=\"visible\">True</property><p"
+- "roperty name=\"can_focus\">False</property><property name=\"use_action_"
+- "appearance\">False</property><child type=\"submenu\"><object class=\"Gt"
+- "kMenu\" id=\"a11y_menu\"><property name=\"name\">a11y_menu</property><p"
+- "roperty name=\"visible\">True</property><property name=\"can_focus\">Fa"
+- "lse</property><child><object class=\"GtkCheckMenuItem\" id=\"large_font"
+- "_menuitem\"><property name=\"name\">large_font_menuitem</property><prop"
++ "<property name=\"can_focus\">False</property><property name=\"default_h"
++ "eight\">40</property><property name=\"decorated\">False</property><prop"
++ "erty name=\"has_resize_grip\">False</property><child><object class=\"Gt"
++ "kMenuBar\" id=\"menubar\"><property name=\"name\">menubar</property><pr"
++ "operty name=\"visible\">True</property><property name=\"can_focus\">Fal"
++ "se</property><property name=\"pack_direction\">rtl</property><child><ob"
++ "ject class=\"GtkMenuItem\" id=\"power_menuitem\"><property name=\"name\""
++ ">power_menuitem</property><property name=\"visible\">True</property><pr"
++ "operty name=\"can_focus\">False</property><property name=\"use_action_a"
++ "ppearance\">False</property><child type=\"submenu\"><object class=\"Gtk"
++ "Menu\" id=\"power_menu\"><property name=\"name\">power_menu</property><"
++ "property name=\"visible\">True</property><property name=\"can_focus\">F"
++ "alse</property><child><object class=\"GtkMenuItem\" id=\"suspend_menuit"
++ "em\"><property name=\"name\">suspend_menuitem</property><property name="
++ "\"visible\">True</property><property name=\"can_focus\">False</property"
++ "><property name=\"use_action_appearance\">False</property><property nam"
++ "e=\"label\" translatable=\"yes\">Suspend</property><signal name=\"activ"
++ "ate\" handler=\"suspend_cb\" swapped=\"no\"/></object></child><child><o"
++ "bject class=\"GtkMenuItem\" id=\"hibernate_menuitem\"><property name=\""
++ "name\">hibernate_menuitem</property><property name=\"visible\">True</pr"
++ "operty><property name=\"can_focus\">False</property><property name=\"us"
++ "e_action_appearance\">False</property><property name=\"label\" translat"
++ "able=\"yes\">Hibernate</property><signal name=\"activate\" handler=\"hi"
++ "bernate_cb\" swapped=\"no\"/></object></child><child><object class=\"Gt"
++ "kMenuItem\" id=\"restart_menuitem\"><property name=\"name\">restart_men"
++ "uitem</property><property name=\"visible\">True</property><property nam"
++ "e=\"can_focus\">False</property><property name=\"use_action_appearance\""
++ ">False</property><property name=\"label\" translatable=\"yes\">Restart."
++ "..</property><signal name=\"activate\" handler=\"restart_cb\" swapped=\""
++ "no\"/></object></child><child><object class=\"GtkMenuItem\" id=\"shutdo"
++ "wn_menuitem\"><property name=\"name\">shutdown_menuitem</property><prop"
+ "erty name=\"visible\">True</property><property name=\"can_focus\">False"
+ "</property><property name=\"use_action_appearance\">False</property><pr"
+- "operty name=\"label\" translatable=\"yes\">Large Font</property><signal"
+- " name=\"toggled\" handler=\"a11y_font_cb\" swapped=\"no\"/></object></c"
+- "hild><child><object class=\"GtkCheckMenuItem\" id=\"high_contrast_menui"
+- "tem\"><property name=\"name\">high_contrast_menuitem</property><propert"
+- "y name=\"visible\">True</property><property name=\"can_focus\">False</p"
+- "roperty><property name=\"use_action_appearance\">False</property><prope"
+- "rty name=\"label\" translatable=\"yes\">High Contrast</property><signal"
+- " name=\"toggled\" handler=\"a11y_contrast_cb\" swapped=\"no\"/></object"
+- "></child></object></child></object></child></object></child></object><o"
+- "bject class=\"GtkListStore\" id=\"session_liststore\"><columns><column "
+- "type=\"gchararray\"/><column type=\"gchararray\"/></columns></object><o"
+- "bject class=\"GtkListStore\" id=\"user_liststore\"><columns><column typ"
+- "e=\"gchararray\"/><column type=\"gchararray\"/><column type=\"gint\"/><"
+- "/columns></object></interface>"
++ "operty name=\"label\" translatable=\"yes\">Shutdown...</property><signa"
++ "l name=\"activate\" handler=\"shutdown_cb\" swapped=\"no\"/></object></"
++ "child></object></child></object></child><child><object class=\"GtkMenuI"
++ "tem\" id=\"a11y_menuitem\"><property name=\"name\">a11y_menuitem</prope"
++ "rty><property name=\"visible\">True</property><property name=\"can_focu"
++ "s\">False</property><property name=\"use_action_appearance\">False</pro"
++ "perty><child type=\"submenu\"><object class=\"GtkMenu\" id=\"a11y_menu\""
++ "><property name=\"name\">a11y_menu</property><property name=\"visible\""
++ ">True</property><property name=\"can_focus\">False</property><child><ob"
++ "ject class=\"GtkCheckMenuItem\" id=\"large_font_menuitem\"><property na"
++ "me=\"name\">large_font_menuitem</property><property name=\"visible\">Tr"
++ "ue</property><property name=\"can_focus\">False</property><property nam"
++ "e=\"use_action_appearance\">False</property><property name=\"label\" tr"
++ "anslatable=\"yes\">Large Font</property><signal name=\"toggled\" handle"
++ "r=\"a11y_font_cb\" swapped=\"no\"/></object></child><child><object clas"
++ "s=\"GtkCheckMenuItem\" id=\"high_contrast_menuitem\"><property name=\"n"
++ "ame\">high_contrast_menuitem</property><property name=\"visible\">True<"
++ "/property><property name=\"can_focus\">False</property><property name=\""
++ "use_action_appearance\">False</property><property name=\"label\" transl"
++ "atable=\"yes\">High Contrast</property><signal name=\"toggled\" handler"
++ "=\"a11y_contrast_cb\" swapped=\"no\"/></object></child><child><object c"
++ "lass=\"GtkCheckMenuItem\" id=\"keyboard_menuitem\"><property name=\"nam"
++ "e\">keyboard_menuitem</property><property name=\"visible\">True</proper"
++ "ty><property name=\"can_focus\">False</property><property name=\"use_ac"
++ "tion_appearance\">False</property><property name=\"label\" translatable"
++ "=\"yes\">On Screen Keyboard</property><signal name=\"toggled\" handler="
++ "\"a11y_keyboard_cb\" swapped=\"no\"/></object></child></object></child>"
++ "</object></child></object></child></object><object class=\"GtkListStore"
++ "\" id=\"session_liststore\"><columns><column type=\"gchararray\"/><colu"
++ "mn type=\"gchararray\"/></columns></object><object class=\"GtkListStore"
++ "\" id=\"user_liststore\"><columns><column type=\"gchararray\"/><column "
++ "type=\"gchararray\"/><column type=\"gint\"/></columns></object></interf"
++ "ace>"
+ };
+
+-static const unsigned lightdm_gtk_greeter_ui_length = 10699u;
++static const unsigned lightdm_gtk_greeter_ui_length = 11147u;
+
diff --git a/community/lightdm-kde-greeter/PKGBUILD b/community/lightdm-kde-greeter/PKGBUILD
new file mode 100755
index 000000000..e1b9200b1
--- /dev/null
+++ b/community/lightdm-kde-greeter/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 86223 2013-03-13 14:28:38Z alucryd $
+# Maintainer: Maxime Gauduin <alucryd@gmail.com>
+# Contributor: Massimiliano Torromeo <massimiliano.torromeo@gmail.com>
+# Contributor: Mladen Pejakovic <pejakm@gmail.com>
+# Contributor: Xiao-Long Chen <chenxiaolong@cxl.epac.to>
+
+pkgname=lightdm-kde-greeter
+pkgver=0.3.1
+pkgrel=1
+pkgdesc="KDE greeter for LightDM"
+arch=('i686' 'x86_64')
+url="https://projects.kde.org/projects/playground/base/lightdm"
+license=('GPL')
+depends=('kdelibs' 'liblightdm-qt4')
+makedepends=('cmake' 'automoc4')
+backup=('etc/lightdm/lightdm-kde-greeter.conf'
+ 'etc/dbus-1/system.d/org.kde.kcontrol.kcmlightdm.conf')
+source=("ftp://ftp.kde.org/pub/kde/unstable/${pkgname%-*}/src/${pkgname%-*}-${pkgver}.tar.bz2"
+ 'lightdm-kde-greeter.conf')
+sha256sums=('855cffaccc6500e25016e104cd593189cad9aa88ee34f237b01964fce1bcfcf9'
+ 'a8fe10ef68d553781b91b1377106f95915c3ca14d835bd66910e08f922ef64c8')
+
+build() {
+ cd "${srcdir}"/lightdm-${pkgver}
+
+# Build
+ if [[ -d build ]]; then
+ rm -rf build
+ fi
+ mkdir build && cd build
+ cmake .. -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}"/lightdm-${pkgver}/build
+
+# Install
+ make DESTDIR="${pkgdir}" install
+ install -dm 755 "${pkgdir}"/etc/lightdm
+ install -m 644 ../../lightdm-kde-greeter.conf "${pkgdir}"/etc/lightdm/lightdm-kde-greeter.conf
+}
+
+# vim ts=2 sw=2 et:
diff --git a/community/lightdm-kde-greeter/lightdm-kde-greeter.conf b/community/lightdm-kde-greeter/lightdm-kde-greeter.conf
new file mode 100755
index 000000000..09c4ad281
--- /dev/null
+++ b/community/lightdm-kde-greeter/lightdm-kde-greeter.conf
@@ -0,0 +1,2 @@
+[greeter]
+theme-name=classic
diff --git a/community/lightdm/PKGBUILD b/community/lightdm/PKGBUILD
new file mode 100755
index 000000000..c195eea24
--- /dev/null
+++ b/community/lightdm/PKGBUILD
@@ -0,0 +1,111 @@
+# $Id: PKGBUILD 86229 2013-03-13 18:51:51Z alucryd $
+# Maintainer: Maxime Gauduin <alucryd@gmail.com>
+# Contributor: Morfeo <morfeo89@hotmail.it>
+
+pkgbase=lightdm
+pkgname=('lightdm' 'liblightdm-qt4' 'liblightdm-qt5')
+pkgver=1.5.1
+pkgrel=6
+pkgdesc="A lightweight display manager"
+arch=('i686' 'x86_64')
+url="https://launchpad.net/lightdm"
+license=('GPL3' 'LGPL3')
+makedepends=('gobject-introspection' 'gtk-doc' 'intltool' 'itstool' 'libxklavier' 'qt4' 'qt5-base')
+options=('!emptydirs' '!libtool')
+source=("https://launchpad.net/lightdm/1.6/${pkgver}/+download/${pkgbase}-${pkgver}.tar.xz"
+ 'lightdm.service'
+ 'lightdm.tmpfiles'
+ 'lightdm.pam'
+ 'lightdm-autologin.pam'
+ 'lightdm.rules'
+ 'lightdm-default-config.patch'
+ 'lightdm-1.5.1-systemd_login1_power.patch'
+ 'lightdm-lock-screen-before-switch.patch'
+ 'xsession')
+sha256sums=('645db2d763cc514d6aecb1838f4a9c33c3dcf0c94567a7ef36c6b23d8aa56c86'
+ '2e03423cbe88c9fdc3a9684d6d14221aa6e92d105f9d1d53b08747d966c45125'
+ 'ec10378992907f06a6960c4644aba2f81744fbcaf38f6bdc7c364979be3207e4'
+ 'e8c4c5fd3b801a390d201166fd1fb9730e78a5c62928768103b870b6bd980ea0'
+ 'cd0a9591b61118c6de1b07e1cd9a1b74cd74e9e95288f8b41eba32e26fd22023'
+ 'a89566307e1c81c24f037d854cbd472d2f94f8a4b759877a01563a332319f7d6'
+ '51ec7eb1c50c0ba0b96b846662707533ebc1d6558cea75cb7424afddf0d064f0'
+ '8c8432294d361475293852f45673bc042eb252dbc58a17445fd10e5e874dc608'
+ '4793eaee5915f5c519f569a4cd9158822d4c57c8b6e405895d2eddf82fa00822'
+ '7fb85a1b54406032a922e8fd6f45d869fcfe5681df630e74e8e50c040b786ee4')
+
+build() {
+ cd "${srcdir}"/${pkgbase}-${pkgver}
+
+# Patch
+ patch -Np1 -i ../lightdm-default-config.patch
+ patch -Np1 -i ../lightdm-1.5.1-systemd_login1_power.patch
+ patch -Np1 -i ../lightdm-lock-screen-before-switch.patch
+
+# Build
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/lib/${pkgbase} --with-greeter-user=lightdm --with-greeter-session=lightdm-gtk-greeter --disable-{static,tests}
+ make
+}
+
+package_lightdm() {
+depends=('libgcrypt' 'libxklavier' 'pam')
+optdepends=('xorg-server-xephyr: LightDM test mode'
+ 'accountsservice: limit visible accounts')
+backup=('etc/apparmor.d/lightdm-guest-session'
+ 'etc/lightdm/keys.conf'
+ 'etc/lightdm/lightdm.conf'
+ 'etc/lightdm/users.conf')
+install=${pkgbase}.install
+
+ cd "${srcdir}"/${pkgbase}-${pkgver}
+
+# Install
+ make DESTDIR="${pkgdir}" install
+ make DESTDIR="${pkgdir}" -C liblightdm-qt uninstall
+ install -m 755 ../xsession "${pkgdir}"/etc/lightdm/xsession
+ rm -rf "${pkgdir}"/etc/init
+
+# PAM
+ install -m 644 ../lightdm.pam "${pkgdir}"/etc/pam.d/lightdm
+ install -m 644 ../lightdm-autologin.pam "${pkgdir}"/etc/pam.d/lightdm-autologin
+
+# PolicyKit
+ install -dm 700 "${pkgdir}"/usr/share/polkit-1/rules.d
+ install -m 644 ../lightdm.rules "${pkgdir}"/usr/share/polkit-1/rules.d/lightdm.rules
+
+# Systemd
+ install -dm 755 "${pkgdir}"/usr/lib/{systemd/system,tmpfiles.d}
+ install -m 644 ../lightdm.service "${pkgdir}"/usr/lib/systemd/system/lightdm.service
+ install -m 644 ../lightdm.tmpfiles "${pkgdir}"/usr/lib/tmpfiles.d/lightdm.conf
+}
+
+package_liblightdm-qt4() {
+pkgdesc=('LightDM Qt client library')
+depends=('lightdm' 'qt4')
+
+ cd "${srcdir}"/${pkgbase}-${pkgver}
+
+# Install
+ make DESTDIR="${pkgdir}" -C liblightdm-gobject install
+ make DESTDIR="${pkgdir}" -C liblightdm-qt install
+ make DESTDIR="${pkgdir}" -C liblightdm-gobject uninstall
+ find "${pkgdir}" -type d -name *qt5* -exec rm -rf {} +
+ find "${pkgdir}" -type f -name *qt5* -exec rm {} +
+ find "${pkgdir}" -type l -name *qt5* -exec rm {} +
+}
+
+package_liblightdm-qt5() {
+pkgdesc=('LightDM Qt client library')
+depends=('lightdm' 'qt5-base')
+
+ cd "${srcdir}"/${pkgbase}-${pkgver}
+
+# Install
+ make DESTDIR="${pkgdir}" -C liblightdm-gobject install
+ make DESTDIR="${pkgdir}" -C liblightdm-qt install
+ make DESTDIR="${pkgdir}" -C liblightdm-gobject uninstall
+ find "${pkgdir}" -type d -name *qt[!5]* -exec rm -rf {} +
+ find "${pkgdir}" -type f -name *qt[!5]* -exec rm {} +
+ find "${pkgdir}" -type l -name *qt[!5]* -exec rm {} +
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/community/lightdm/lightdm-1.5.1-systemd_login1_power.patch b/community/lightdm/lightdm-1.5.1-systemd_login1_power.patch
new file mode 100755
index 000000000..0bcb24589
--- /dev/null
+++ b/community/lightdm/lightdm-1.5.1-systemd_login1_power.patch
@@ -0,0 +1,211 @@
+diff -up lightdm-1.5.1/liblightdm-gobject/power.c.systemd_login1_power lightdm-1.5.1/liblightdm-gobject/power.c
+--- lightdm-1.5.1/liblightdm-gobject/power.c.systemd_login1_power 2013-03-05 20:40:10.000000000 -0600
++++ lightdm-1.5.1/liblightdm-gobject/power.c 2013-03-09 11:31:00.169897568 -0600
+@@ -17,6 +17,7 @@
+
+ static GDBusProxy *upower_proxy = NULL;
+ static GDBusProxy *ck_proxy = NULL;
++static GDBusProxy *login1_proxy = NULL;
+
+ static gboolean
+ upower_call_function (const gchar *function, gboolean default_result, GError **error)
+@@ -147,6 +148,59 @@ ck_call_function (const gchar *function,
+ return function_result;
+ }
+
++static gboolean
++login1_call_function (const gchar *function, GVariant *parameters, gboolean default_result, GError **error)
++{
++ GVariant *result;
++ gboolean function_result = FALSE;
++ const gchar *true_result = "yes";
++ gchar *str_result;
++
++ if (!login1_proxy)
++ {
++ login1_proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SYSTEM,
++ G_DBUS_PROXY_FLAGS_NONE,
++ NULL,
++ "org.freedesktop.login1",
++ "/org/freedesktop/login1",
++ "org.freedesktop.login1.Manager",
++ NULL,
++ error);
++ if (!login1_proxy)
++ return FALSE;
++ }
++
++ result = g_dbus_proxy_call_sync (login1_proxy,
++ function,
++ parameters,
++ G_DBUS_CALL_FLAGS_NONE,
++ -1,
++ NULL,
++ error);
++
++ if (!result)
++ return default_result;
++
++ if (g_variant_is_of_type (result, G_VARIANT_TYPE ("(b)")))
++ g_variant_get (result, "(s)", &function_result);
++
++ /**
++ * CanReboot, CanPowerOff returns a string "yes", "no", or "challenge", not a boolean as ConsoleKit
++ **/
++ if (g_variant_is_of_type (result, G_VARIANT_TYPE ("(s)"))) {
++ g_variant_get (result, "(b)", str_result);
++ if(g_strcmp0(str_result,true_result) == 0) {
++ function_result = TRUE;
++ }
++ else {
++ function_result = default_result;
++ }
++ }
++
++ g_variant_unref (result);
++ return function_result;
++}
++
+ /**
+ * lightdm_get_can_restart:
+ *
+@@ -157,7 +211,11 @@ ck_call_function (const gchar *function,
+ gboolean
+ lightdm_get_can_restart (void)
+ {
+- return ck_call_function ("CanRestart", FALSE, NULL);
++ gboolean function_result = FALSE;
++ function_result = login1_call_function ("CanReboot", NULL, FALSE, NULL);
++ if (!function_result)
++ function_result = ck_call_function ("CanRestart", FALSE, NULL);
++ return function_result;
+ }
+
+ /**
+@@ -171,7 +229,11 @@ lightdm_get_can_restart (void)
+ gboolean
+ lightdm_restart (GError **error)
+ {
+- return ck_call_function ("Restart", TRUE, error);
++ gboolean function_result = FALSE;
++ function_result = login1_call_function ("Reboot", g_variant_new("(b)",0), TRUE, error);
++ if (!function_result)
++ function_result = ck_call_function ("Restart", TRUE, error);
++ return function_result;
+ }
+
+ /**
+@@ -184,7 +246,11 @@ lightdm_restart (GError **error)
+ gboolean
+ lightdm_get_can_shutdown (void)
+ {
+- return ck_call_function ("CanStop", FALSE, NULL);
++ gboolean function_result = FALSE;
++ function_result = login1_call_function ("CanPowerOff", NULL, FALSE, NULL);
++ if (!function_result)
++ function_result = ck_call_function ("CanStop", FALSE, NULL);
++ return function_result;
+ }
+
+ /**
+@@ -198,5 +264,9 @@ lightdm_get_can_shutdown (void)
+ gboolean
+ lightdm_shutdown (GError **error)
+ {
+- return ck_call_function ("Stop", TRUE, error);
++ gboolean function_result = FALSE;
++ function_result = login1_call_function ("PowerOff", g_variant_new("(b)",0), TRUE, error);
++ if (!function_result)
++ function_result = ck_call_function ("Stop", TRUE, error);
++ return function_result;
+ }
+diff -up lightdm-1.5.1/liblightdm-qt/power.cpp.systemd_login1_power lightdm-1.5.1/liblightdm-qt/power.cpp
+--- lightdm-1.5.1/liblightdm-qt/power.cpp.systemd_login1_power 2013-03-05 20:40:10.000000000 -0600
++++ lightdm-1.5.1/liblightdm-qt/power.cpp 2013-03-09 11:36:47.140559838 -0600
+@@ -15,6 +15,7 @@
+ #include <QtCore/QVariant>
+ #include <QtDBus/QDBusInterface>
+ #include <QtDBus/QDBusReply>
++#include <QDebug>
+
+ #include "config.h"
+
+@@ -26,11 +27,13 @@ public:
+ PowerInterfacePrivate();
+ QScopedPointer<QDBusInterface> powerManagementInterface;
+ QScopedPointer<QDBusInterface> consoleKitInterface;
++ QScopedPointer<QDBusInterface> login1Interface;
+ };
+
+ PowerInterface::PowerInterfacePrivate::PowerInterfacePrivate() :
+ powerManagementInterface(new QDBusInterface("org.freedesktop.UPower","/org/freedesktop/UPower", "org.freedesktop.UPower", QDBusConnection::systemBus())),
+- consoleKitInterface(new QDBusInterface("org.freedesktop.ConsoleKit", "/org/freedesktop/ConsoleKit/Manager", "org.freedesktop.ConsoleKit.Manager", QDBusConnection::systemBus()))
++ consoleKitInterface(new QDBusInterface("org.freedesktop.ConsoleKit", "/org/freedesktop/ConsoleKit/Manager", "org.freedesktop.ConsoleKit.Manager", QDBusConnection::systemBus())),
++ login1Interface(new QDBusInterface("org.freedesktop.login1", "/org/freedesktop/login1", "org.freedesktop.login1.Manager", QDBusConnection::systemBus()))
+ {
+ }
+
+@@ -80,34 +83,55 @@ void PowerInterface::hibernate()
+
+ bool PowerInterface::canShutdown()
+ {
++
++ if ( d->login1Interface->isValid() ) {
++ QDBusReply<QString> reply1 = d->login1Interface->call("CanPowerOff");
++ if (reply1.isValid()) {
++ return (reply1.value()=="yes");
++ }
++ }
++ qWarning() << d->login1Interface->lastError();
++
+ QDBusReply<bool> reply = d->consoleKitInterface->call("CanStop");
+ if (reply.isValid()) {
+ return reply.value();
+ }
+- else {
+- return false;
+- }
++
++ return false;
+ }
+
+ void PowerInterface::shutdown()
+ {
+- d->consoleKitInterface->call("Stop");
++ if ( d->login1Interface->isValid() )
++ d->login1Interface->call("PowerOff",false);
++ else
++ d->consoleKitInterface->call("Stop");
+ }
+
+ bool PowerInterface::canRestart()
+ {
++ if ( d->login1Interface->isValid() ) {
++ QDBusReply<QString> reply1 = d->login1Interface->call("CanReboot");
++ if (reply1.isValid()) {
++ return (reply1.value()=="yes");
++ }
++ }
++ qWarning() << d->login1Interface->lastError();
++
+ QDBusReply<bool> reply = d->consoleKitInterface->call("CanRestart");
+ if (reply.isValid()) {
+ return reply.value();
+ }
+- else {
+- return false;
+- }
++
++ return false;
+ }
+
+ void PowerInterface::restart()
+ {
+- d->consoleKitInterface->call("Restart");
++ if ( d->login1Interface->isValid() )
++ d->login1Interface->call("Reboot",false);
++ else
++ d->consoleKitInterface->call("Restart");
+ }
+
+ #if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
diff --git a/community/lightdm/lightdm-autologin.pam b/community/lightdm/lightdm-autologin.pam
new file mode 100755
index 000000000..4cd3626cd
--- /dev/null
+++ b/community/lightdm/lightdm-autologin.pam
@@ -0,0 +1,11 @@
+#%PAM-1.0
+auth required pam_env.so$
+auth required pam_tally.so file=/var/log/faillog onerr=succeed$
+auth required pam_shells.so$
+auth required pam_nologin.so$
+auth required pam_permit.so$
+-auth optional pam_gnome_keyring.so$
+account include system-local-login$
+password include system-local-login$
+session include system-local-login$
+-session optional pam_gnome_keyring.so auto_start
diff --git a/community/lightdm/lightdm-default-config.patch b/community/lightdm/lightdm-default-config.patch
new file mode 100755
index 000000000..8b106dd91
--- /dev/null
+++ b/community/lightdm/lightdm-default-config.patch
@@ -0,0 +1,35 @@
+diff -rupN lightdm-1.5.1.orig/data/lightdm.conf lightdm-1.5.1/data/lightdm.conf
+--- lightdm-1.5.1.orig/data/lightdm.conf 2013-03-06 03:40:10.000000000 +0100
++++ lightdm-1.5.1/data/lightdm.conf 2013-03-12 22:59:22.494743200 +0100
+@@ -24,7 +24,7 @@
+ #user-authority-in-system-dir=false
+ #guest-account-script=guest-account
+ #log-directory=/var/log/lightdm
+-#run-directory=/var/run/lightdm
++run-directory=/run/lightdm
+ #cache-directory=/var/cache/lightdm
+ #xsessions-directory=/usr/share/xsessions
+ #remote-sessions-directory=/usr/share/lightdm/remote-sessions
+@@ -77,7 +77,7 @@
+ #user-session=default
+ #allow-guest=true
+ #guest-session=UNIMPLEMENTED
+-#session-wrapper=lightdm-session
++session-wrapper=/etc/lightdm/xsession
+ #display-setup-script=
+ #greeter-setup-script=
+ #session-setup-script=
+diff -rupN lightdm-1.5.1.orig/data/users.conf lightdm-1.5.1/data/users.conf
+--- lightdm-1.5.1.orig/data/users.conf 2013-03-06 03:40:10.000000000 +0100
++++ lightdm-1.5.1/data/users.conf 2013-03-12 22:54:29.398854700 +0100
+@@ -8,7 +8,7 @@
+ # hidden-users = Users that are not shown to the user
+ # hidden-shells = Shells that indicate a user cannot login
+ #
+-[UserAccounts]
+-minimum-uid=500
++[UserList]
++minimum-uid=1000
+ hidden-users=nobody nobody4 noaccess
+-hidden-shells=/bin/false /usr/sbin/nologin
++hidden-shells=/bin/false /sbin/nologin
diff --git a/community/lightdm/lightdm-lock-screen-before-switch.patch b/community/lightdm/lightdm-lock-screen-before-switch.patch
new file mode 100755
index 000000000..b8b1d559c
--- /dev/null
+++ b/community/lightdm/lightdm-lock-screen-before-switch.patch
@@ -0,0 +1,55 @@
+# HG changeset patch
+# Parent b329fa1badaa454239690c3feb93d53324134915
+try to lock the screen before switching users
+
+diff --git a/utils/gdmflexiserver b/utils/gdmflexiserver
+--- a/utils/gdmflexiserver
++++ b/utils/gdmflexiserver
+@@ -9,9 +9,47 @@
+ #
+ # See http://www.gnu.org/copyleft/gpl.html for the full text of the license.
+
++PATH=/usr/local/bin:/bin:/usr/bin
++export PATH
++
+ if [ -z "$XDG_SEAT_PATH" ]; then
+ # something went wrong
+ exit 1
+ fi
+
++find_command () {
++ cmd="$1"
++ oIFS="${IFS}"; IFS=:
++ set -- ${PATH}
++ IFS="${oIFS}"
++
++ for part; do
++ [ -x "${part}/${cmd}" ] && return 0
++ done
++ return 1
++}
++
++lock_screen () {
++ for lock_cmd in \
++ "xscreensaver-command -lock" \
++ "gnome-screensaver-command --lock" \
++ "dbus-send --session --dest=org.freedesktop.ScreenSaver --type=method_call /ScreenSaver org.freedesktop.ScreenSaver.Lock"
++ do
++ ${lock_cmd} >/dev/null 2>&1 && return
++ done
++
++ for lock_cmd in \
++ "slock" \
++ "xlock -mode blank"
++ do
++ set -- ${lock_cmd}
++ if find_command "$1"; then
++ ${lock_cmd} >/dev/null 2>&1 &
++ return
++ fi
++ done
++}
++
++lock_screen
++
+ dbus-send --system --type=method_call --print-reply --dest=org.freedesktop.DisplayManager $XDG_SEAT_PATH org.freedesktop.DisplayManager.Seat.SwitchToGreeter
diff --git a/community/lightdm/lightdm.install b/community/lightdm/lightdm.install
new file mode 100755
index 000000000..154d93e10
--- /dev/null
+++ b/community/lightdm/lightdm.install
@@ -0,0 +1,15 @@
+post_install() {
+ getent group lightdm > /dev/null 2>&1 || groupadd -g 620 lightdm
+ getent passwd lightdm > /dev/null 2>&1 || useradd -c 'Light Display Manager' -u 620 -g lightdm -d /run/lightdm -s /sbin/nologin lightdm
+ passwd -l lightdm > /dev/null
+ systemd-tmpfiles --create /usr/lib/tmpfiles.d/lightdm.conf
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ getent passwd lightdm > /dev/null 2>&1 && userdel lightdm
+ getent group lightdm > /dev/null 2>&1 && groupdel lightdm
+}
diff --git a/community/lightdm/lightdm.pam b/community/lightdm/lightdm.pam
new file mode 100755
index 000000000..76b8869a2
--- /dev/null
+++ b/community/lightdm/lightdm.pam
@@ -0,0 +1,7 @@
+#%PAM-1.0
+auth include system-login
+-auth optional pam_gnome_keyring.so
+account include system-login
+password include system-login
+session include system-login
+-session optional pam_gnome_keyring.so auto_start
diff --git a/community/lightdm/lightdm.rules b/community/lightdm/lightdm.rules
new file mode 100755
index 000000000..eda155bf3
--- /dev/null
+++ b/community/lightdm/lightdm.rules
@@ -0,0 +1,15 @@
+polkit.addRule(function(action, subject) {
+ if (subject.user == "lightdm") {
+ polkit.log("action=" + action);
+ polkit.log("subject=" + subject);
+ if (action.id.indexOf("org.freedesktop.login1.") == 0) {
+ return polkit.Result.YES;
+ }
+ if (action.id.indexOf("org.freedesktop.consolekit.system.") == 0) {
+ return polkit.Result.YES;
+ }
+ if (action.id.indexOf("org.freedesktop.upower.") == 0) {
+ return polkit.Result.YES;
+ }
+ }
+});
diff --git a/community/lightdm/lightdm.service b/community/lightdm/lightdm.service
new file mode 100755
index 000000000..7eb46ceba
--- /dev/null
+++ b/community/lightdm/lightdm.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=Light Display Manager
+Documentation=man:lightdm(1)
+After=systemd-user-sessions.service
+
+[Service]
+ExecStart=/usr/sbin/lightdm
+StandardOutput=syslog
+Restart=always
+IgnoreSIGPIPE=no
+BusName=org.freedesktop.DisplayManager
+
+[Install]
+Alias=display-manager.service
diff --git a/community/lightdm/lightdm.tmpfiles b/community/lightdm/lightdm.tmpfiles
new file mode 100755
index 000000000..5199f5327
--- /dev/null
+++ b/community/lightdm/lightdm.tmpfiles
@@ -0,0 +1,2 @@
+d /run/lightdm 0775 lightdm lightdm
+f /run/lightdm/.pam_environment 0644 lightdm lightdm - GDK_CORE_DEVICE_EVENTS=true
diff --git a/community/lightdm/xsession b/community/lightdm/xsession
new file mode 100755
index 000000000..589205342
--- /dev/null
+++ b/community/lightdm/xsession
@@ -0,0 +1,73 @@
+#!/bin/sh
+#
+# LightDM wrapper to run around X sessions.
+
+echo "Running X session wrapper"
+
+# Load profile
+for file in "/etc/profile" "$HOME/.profile" "/etc/xprofile" "$HOME/.xprofile"; do
+ if [ -f "$file" ]; then
+ echo "Loading profile from $file";
+ . "$file"
+ fi
+done
+
+# Load resources
+for file in "/etc/X11/Xresources" "$HOME/.Xresources"; do
+ if [ -f "$file" ]; then
+ echo "Loading resource: $file"
+ xrdb -nocpp -merge "$file"
+ fi
+done
+
+# Load keymaps
+for file in "/etc/X11/Xkbmap" "$HOME/.Xkbmap"; do
+ if [ -f "$file" ]; then
+ echo "Loading keymap: $file"
+ setxkbmap `cat "$file"`
+ XKB_IN_USE=yes
+ fi
+done
+
+# Load xmodmap if not using XKB
+if [ -z "$XKB_IN_USE" ]; then
+ for file in "/etc/X11/Xmodmap" "$HOME/.Xmodmap"; do
+ if [ -f "$file" ]; then
+ echo "Loading modmap: $file"
+ xmodmap "$file"
+ fi
+ done
+fi
+
+unset XKB_IN_USE
+
+# Run all system xinitrc shell scripts.
+xinitdir="/etc/X11/xinit/xinitrc.d"
+if [ -d "$xinitdir" ]; then
+ for script in $xinitdir/*; do
+ echo "Loading xinit script $script"
+ if [ -x "$script" -a ! -d "$script" ]; then
+ . "$script"
+ fi
+ done
+fi
+
+# Load xsession scripts
+xsessionddir="/etc/X11/xsession.d"
+if [ -d "$xsessionddir" ]; then
+ for i in `ls $xsessionddir`; do
+ script="$xsessionddir/$i"
+ echo "Loading X session script $script"
+ if [ -r "$script" -a -f "$script" ] && expr "$i" : '^[[:alnum:]_-]\+$' > /dev/null; then
+ . "$script"
+ fi
+ done
+fi
+if [ -x "$HOME/.xsession" -a -f "$HOME/.xsession" ]; then
+ echo "Loading user X session script"
+ . "$HOME/.xsession"
+fi
+
+echo "X session wrapper complete, running session $@"
+
+exec $@
diff --git a/community/lua-zlib/PKGBUILD b/community/lua-zlib/PKGBUILD
index 0d67dc101..b2c4c5bb0 100644
--- a/community/lua-zlib/PKGBUILD
+++ b/community/lua-zlib/PKGBUILD
@@ -1,30 +1,46 @@
-# $Id: PKGBUILD 81123 2012-12-12 00:49:35Z eric $
+# $Id: PKGBUILD 86219 2013-03-13 13:38:07Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
-pkgname=lua-zlib
+pkgname=(lua-zlib lua51-zlib)
+pkgbase=lua-zlib
pkgver=0.2
-pkgrel=3
+pkgrel=4
_gitver=8d07669
-_luaver=5.2
url="http://github.com/brimworks/lua-zlib"
pkgdesc='Simple streaming interface to zlib for Lua.'
arch=('i686' 'x86_64')
license=('MIT')
-depends=('lua' 'zlib')
-makedepends=('cmake')
+makedepends=('cmake' 'lua' 'lua51' 'zlib')
conflicts=('lua-lzlib')
source=("lua-zlib-$pkgver.zip::https://github.com/brimworks/lua-zlib/zipball/v$pkgver")
md5sums=('28ce556fccb2d364bc5392f63c6f89ee')
build() {
+ cp -a $srcdir/brimworks-lua-zlib-${_gitver} $srcdir/brimworks-lua51-zlib-${_gitver}
+
cd $srcdir/brimworks-lua-zlib-${_gitver}
- sed -i "s#share/lua/cmod#lib/lua/${_luaver}#" CMakeLists.txt
+ sed -i "s#share/lua/cmod#lib/lua/5.2#" CMakeLists.txt
+ cmake -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr .
+
+ cd $srcdir/brimworks-lua51-zlib-${_gitver}
+ sed -i "s#share/lua/cmod#lib/lua/5.1#" CMakeLists.txt
cmake -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr .
}
-package() {
+package_lua-zlib() {
+ depends=('zlib' 'lua')
+
cd $srcdir/brimworks-lua-zlib-${_gitver}
make DESTDIR="$pkgdir" install
- install -D -m644 "README" "$pkgdir/usr/share/licenses/lua-zlib/README"
+ install -D -m644 "README" "$pkgdir/usr/share/licenses/$pkgname/README"
+}
+
+package_lua51-zlib() {
+ depends=('zlib' 'lua51')
+
+ cd $srcdir/brimworks-lua51-zlib-${_gitver}
+ make DESTDIR="$pkgdir" install
+ install -D -m644 "README" "$pkgdir/usr/share/licenses/$pkgname/README"
}
diff --git a/community/nodejs/PKGBUILD b/community/nodejs/PKGBUILD
index 5e61a05e1..d369c0d94 100644
--- a/community/nodejs/PKGBUILD
+++ b/community/nodejs/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 85853 2013-03-07 19:25:26Z bpiotrowski $
+# $Id: PKGBUILD 86233 2013-03-13 19:40:21Z bpiotrowski $
# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
# Contributor: Thomas Dziedzic < gostrc at gmail >
# Contributor: James Campos <james.r.campos@gmail.com>
@@ -8,7 +8,7 @@
# Contributor: TIanyi Cui <tianyicui@gmail.com>
pkgname=nodejs
-pkgver=0.8.22
+pkgver=0.10.0
pkgrel=1
pkgdesc='Evented I/O for V8 javascript'
arch=('i686' 'x86_64')
@@ -18,7 +18,7 @@ depends=('openssl' 'python2')
checkdepends=('curl') # curl used for check()
options=('!emptydirs')
source=(http://nodejs.org/dist/v${pkgver}/node-v${pkgver}.tar.gz)
-sha256sums=('3f61152cf5cd8fc1ab5c6c18101819841b947da79e1e44b51418c0ad2e6db8e8')
+sha256sums=('1624dc37866ebfb5431e3393e6b049cf238cac8ad4d20c6d567263b1259177ab')
build() {
cd node-v${pkgver}
diff --git a/community/pigz/PKGBUILD b/community/pigz/PKGBUILD
index f9331664b..5ae1190d3 100644
--- a/community/pigz/PKGBUILD
+++ b/community/pigz/PKGBUILD
@@ -1,38 +1,41 @@
-# $Id: PKGBUILD 74606 2012-07-31 12:59:28Z bpiotrowski $
+# $Id: PKGBUILD 86235 2013-03-13 19:48:34Z bpiotrowski $
# Maintainer: Bartłomiej Piotrowski
# Contributor: Laszlo Papp <djszapi2@gmail.com>
# Contributor: Stefan Husmann <stefan-husmann@t-online.de>
pkgname=pigz
-pkgver=2.2.5
+pkgver=2.3
pkgrel=1
-pkgdesc="Parallel implementation of the gzip file compressor"
+pkgdesc='Parallel implementation of the gzip file compressor'
arch=('i686' 'x86_64')
-url="http://www.zlib.net/pigz/"
+url='http://www.zlib.net/pigz/'
license=('custom')
depends=('zlib')
-source=(http://www.zlib.net/$pkgname/$pkgname-$pkgver.tar.gz)
-md5sums=('188f769ccedc403893d03049ad31e969')
+source=(http://www.zlib.net/$pkgname/$pkgname-$pkgver.tar.gz
+ pigz-2.3-make.patch)
+md5sums=('042e3322534f2c3d761736350cac303f'
+ 'f6291ee36e36e098d7fbf0655a89b183')
build() {
- cd "${srcdir}/$pkgname-$pkgver"
+ cd "$srcdir"/$pkgname-$pkgver
+ patch -Np1 -i "$srcdir"/pigz-2.3-make.patch
make
}
package() {
- cd "${srcdir}/$pkgname-$pkgver"
+ cd "$srcdir"/$pkgname-$pkgver
- install -Dm755 "${srcdir}"/${pkgname}-$pkgver/${pkgname} \
- "${pkgdir}"/usr/bin/${pkgname}
+ install -Dm755 "$srcdir"/$pkgname-$pkgver/$pkgname \
+ "$pkgdir"/usr/bin/$pkgname
- pushd "${pkgdir}"/usr/bin
+ pushd "$pkgdir"/usr/bin
ln -s pigz unpigz
popd
- install -Dm644 "${srcdir}"/${pkgname}-$pkgver/${pkgname}.1 \
- "${pkgdir}"/usr/share/man/man1/${pkgname}.1
- install -Dm644 "${srcdir}"/${pkgname}-$pkgver/${pkgname}.pdf \
- "${pkgdir}"/usr/share/doc/${pkgname}/${pkgname}.pdf
- install -Dm644 "${srcdir}"/${pkgname}-$pkgver/README \
- "${pkgdir}"/usr/share/licenses/${pkgname}/README
+ install -Dm644 "$srcdir"/$pkgname-$pkgver/$pkgname.1 \
+ "$pkgdir"/usr/share/man/man1/$pkgname.1
+ install -Dm644 "$srcdir"/$pkgname-$pkgver/$pkgname.pdf \
+ "$pkgdir"/usr/share/doc/$pkgname/$pkgname.pdf
+ install -Dm644 "$srcdir"/$pkgname-$pkgver/README \
+ "$pkgdir"/usr/share/licenses/$pkgname/README
}
diff --git a/community/pigz/pigz-2.3-make.patch b/community/pigz/pigz-2.3-make.patch
new file mode 100644
index 000000000..f014c7b02
--- /dev/null
+++ b/community/pigz/pigz-2.3-make.patch
@@ -0,0 +1,25 @@
+From 545a9350f8026f6c9826dd4fa7ab6000d8826d78 Mon Sep 17 00:00:00 2001
+From: Tim Harder <radhermit@gmail.com>
+Date: Wed, 6 Mar 2013 15:51:27 -0800
+Subject: [PATCH] Respect LDFLAGS and explicitly link to math library
+
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 3cc231d..48d1f26 100644
+--- a/Makefile
++++ b/Makefile
+@@ -3,7 +3,7 @@ CFLAGS=-O3 -Wall -Wextra
+
+
+ pigz: pigz.o yarn.o zopfli/deflate.o zopfli/blocksplitter.o zopfli/tree.o zopfli/lz77.o zopfli/cache.o zopfli/hash.o zopfli/util.o zopfli/squeeze.o zopfli/katajainen.o
+- $(CC) -o pigz $^ -lpthread -lz
++ $(CC) $(LDFLAGS) -o pigz $^ -lpthread -lz -lm
+ ln -f pigz unpigz
+
+ pigz.o: pigz.c yarn.h zopfli/deflate.h zopfli/util.h
+--
+1.8.1.5
+
diff --git a/community/qupzilla/PKGBUILD b/community/qupzilla/PKGBUILD
index 46cb818ef..645e744fc 100644
--- a/community/qupzilla/PKGBUILD
+++ b/community/qupzilla/PKGBUILD
@@ -1,19 +1,20 @@
-# $Id: PKGBUILD 83299 2013-01-29 01:36:39Z speps $
+# $Id: PKGBUILD 86204 2013-03-13 01:33:35Z speps $
# Maintainer: speps <speps at aur dot archlinux dot org>
_name=QupZilla
-_commit=fbfcc70
+_commit=93d22ec # fixes https://github.com/QupZilla/qupzilla/issues/793
pkgname=qupzilla
-pkgver=1.3.5_git20130128
+pkgver=1.4.0_git20130312
pkgrel=1
pkgdesc="Cross-platform QtWebKit browser"
arch=(i686 x86_64)
url="http://www.qupzilla.com/"
license=('GPL3')
-depends=('qtwebkit')
+depends=('qtwebkit' 'hunspell')
+optdepends=('bash-completion: bash completion support')
install="$pkgname.install"
source=("$pkgname-$pkgver.tar.gz::https://github.com/$_name/$pkgname/tarball/$_commit")
-md5sums=('ff8bd77f785335a8157aceb3cd54507a')
+md5sums=('8fa69f60a26b55d68bfac2d7ec812bf8')
build() {
cd "$srcdir/$_name-$pkgname-"*
@@ -21,13 +22,24 @@ build() {
# enable webgl support
export USE_WEBGL=true
- qmake QUPZILLA_PREFIX=/usr/
+ # manually install bash completion
+ sed -i '/bashcompletion/d' src/install.pri
+
+ qmake-qt4 QUPZILLA_PREFIX=/usr/
make
}
package() {
cd "$srcdir/$_name-$pkgname-"*
make INSTALL_ROOT="$pkgdir/" install
+
+ # bash completion
+ install -Dm644 linux/completion/bash_completion.sh \
+ "$pkgdir/usr/share/bash-completion/completions/$pkgname"
+
+ # zsh completion
+ install -Dm644 linux/completion/zsh_completion.sh \
+ "$pkgdir/usr/share/zsh/site-functions/_$pkgname"
}
# vim:set ts=2 sw=2 et:
diff --git a/community/xnoise/PKGBUILD b/community/xnoise/PKGBUILD
index 1676dc7aa..c6918ace1 100755
--- a/community/xnoise/PKGBUILD
+++ b/community/xnoise/PKGBUILD
@@ -1,16 +1,17 @@
-# $Id: PKGBUILD 85878 2013-03-08 06:00:14Z fyan $
+# $Id: PKGBUILD 86215 2013-03-13 13:22:22Z fyan $
# Maintainer: Felix Yan <felixonmars@gmail.com>
# Contributor: archtux <antonio dot arias99999 at gmail dot com>
pkgname=xnoise
pkgver=0.2.16
-pkgrel=2
+pkgrel=3
pkgdesc="Media player with a slick GUI, great speed and lots of features."
arch=('i686' 'x86_64')
url="http://www.xnoise-media-player.com/"
license=('GPL2')
depends=('desktop-file-utils' 'gnome-icon-theme' 'gst-plugins-base-libs' 'gst-plugins-good' 'gtk3' 'libsoup' 'sqlite' 'libtaginfo')
-optdepends=('gst-plugins-bad: Extra media codecs'
+optdepends=('gst-plugins-base: Basic media codecs'
+ 'gst-plugins-bad: Extra media codecs'
'gst-plugins-ugly: Extra media codecs'
'gst-libav: Extra media codecs')
makedepends=('gettext' 'intltool')
@@ -32,6 +33,6 @@ package() {
make DESTDIR="$pkgdir" install
# Remove obsolete files
- rm -rf $pkgdir/usr/include $pkgdir/usr/share/vala
+ rm -rf "$pkgdir/usr/include" "$pkgdir/usr/share/vala"
}
md5sums=('54a3c54bb292353075a22e49e6cc1eae')