diff options
-rw-r--r-- | pcr/bamf/PKGBUILD | 37 | ||||
-rw-r--r-- | pcr/bamf/fix-current-desktop.patch | 31 |
2 files changed, 68 insertions, 0 deletions
diff --git a/pcr/bamf/PKGBUILD b/pcr/bamf/PKGBUILD new file mode 100644 index 000000000..8d0f0439d --- /dev/null +++ b/pcr/bamf/PKGBUILD @@ -0,0 +1,37 @@ +# Maintainer: Balló György <ballogyor+arch at gmail dot com> + +pkgname=bamf +pkgver=0.3.6 +pkgrel=1 +pkgdesc="Removes the headache of applications matching into a simple DBus daemon and c wrapper library" +arch=('i686' 'x86_64') +url="https://launchpad.net/bamf" +license=('GPL') +depends=('dbus-glib' 'libwnck3' 'libgtop') +makedepends=('gobject-introspection' 'vala') +options=('!libtool') +source=(http://launchpad.net/$pkgname/${pkgver%.*}/$pkgver/+download/$pkgname-$pkgver.tar.gz + fix-current-desktop.patch) +md5sums=('56b0b0ac2d3f2a0401db268c78cc8527' + '406dfbb06f78a325515186be83523b1b') + +build() { + cd "$srcdir/$pkgname-$pkgver" + + # Fix build + sed -i 's/ -Werror//' configure{,.in} + sed -i 's/--c-include/--include/' lib/libbamf/Makefile.in + + # Fix desktop file table if XDG_CURRENT_DESKTOP environment variable is not available + patch -Np1 -i "$srcdir/fix-current-desktop.patch" + + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/lib/$pkgname \ + --disable-static --disable-webapps + make +} + +package() { + cd "$srcdir/$pkgbase-$pkgver" + + make DESTDIR="$pkgdir" install +} diff --git a/pcr/bamf/fix-current-desktop.patch b/pcr/bamf/fix-current-desktop.patch new file mode 100644 index 000000000..c4837c6ec --- /dev/null +++ b/pcr/bamf/fix-current-desktop.patch @@ -0,0 +1,31 @@ +diff -Naur bamf-0.3.4.orig/src/bamf-matcher.c bamf-0.3.4/src/bamf-matcher.c +--- bamf-0.3.4.orig/src/bamf-matcher.c 2012-10-11 09:40:29.122317000 +0200 ++++ bamf-0.3.4/src/bamf-matcher.c 2012-12-04 04:44:07.236990092 +0100 +@@ -827,6 +827,7 @@ + GHashTable *desktop_class_table) + { + GDesktopAppInfo *desktop_file; ++ const char *current_desktop; + char *exec; + char *path; + GString *desktop_id; /* is ok... really */ +@@ -840,7 +841,9 @@ + return; + } + +- if (!g_desktop_app_info_get_show_in (desktop_file, g_getenv ("XDG_CURRENT_DESKTOP"))) ++ current_desktop = g_getenv ("XDG_CURRENT_DESKTOP"); ++ ++ if (current_desktop && !g_desktop_app_info_get_show_in (desktop_file, current_desktop)) + { + g_object_unref (desktop_file); + return; +@@ -848,7 +851,7 @@ + + exec = g_strdup (g_app_info_get_commandline (G_APP_INFO (desktop_file))); + +- if (!exec) ++ if (!exec || exec[0] == '\0') + { + g_object_unref (desktop_file); + return; |