summaryrefslogtreecommitdiff
path: root/community/gnome-do
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-06-26 00:01:48 +0000
committerroot <root@rshg054.dnsready.net>2012-06-26 00:01:48 +0000
commit9a6b691757346035549dbd12d1323301d04a6675 (patch)
tree5e06d2322b58a73254a0ca2c05d2083cb0209db2 /community/gnome-do
parent3b99c42eb8ca744e86e4e17197b1bf10642c6785 (diff)
Tue Jun 26 00:01:48 UTC 2012
Diffstat (limited to 'community/gnome-do')
-rw-r--r--community/gnome-do/PKGBUILD39
-rw-r--r--community/gnome-do/gio-gnomedesktop.patch252
-rw-r--r--community/gnome-do/gnome-do.install22
3 files changed, 313 insertions, 0 deletions
diff --git a/community/gnome-do/PKGBUILD b/community/gnome-do/PKGBUILD
new file mode 100644
index 000000000..b201a9a73
--- /dev/null
+++ b/community/gnome-do/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 72904 2012-06-24 18:16:23Z bgyorgy $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+# Contributor: Allan McRae <allan@archlinux.org>
+# Contributor: Doehni <dohny@gmx.de>
+
+pkgname=gnome-do
+pkgver=0.9
+pkgrel=2
+pkgdesc="Quickly search for many items present on your desktop or the web, and perform useful actions on those items"
+arch=('i686' 'x86_64')
+url="http://do.davebsd.com/"
+license=('GPL3')
+depends=('gconf-sharp' 'libgnome-desktop-sharp' 'gnome-keyring-sharp' 'mono-addins' 'notify-sharp' 'hicolor-icon-theme' 'xdg-utils')
+makedepends=('intltool' 'libgnome-sharp' 'gio-sharp')
+options=('!libtool')
+install=$pkgname.install
+source=(http://launchpad.net/do/trunk/$pkgver/+download/$pkgname-$pkgver.tar.gz
+ gio-gnomedesktop.patch)
+md5sums=('d360e56953915d9585c0ee71f433129c'
+ 'e9ac5e4510c1475d61a20c5d94594d98')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # https://code.launchpad.net/~ballogy/do/gio-gnomedesktop-port/+merge/95842
+ patch -Np1 -i "$srcdir/gio-gnomedesktop.patch"
+
+ autoreconf -fi
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --disable-schemas-install \
+ --with-gconf-schema-file-dir=/usr/share/gconf/schemas
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/gnome-do/gio-gnomedesktop.patch b/community/gnome-do/gio-gnomedesktop.patch
new file mode 100644
index 000000000..358b0b731
--- /dev/null
+++ b/community/gnome-do/gio-gnomedesktop.patch
@@ -0,0 +1,252 @@
+diff -Naur gnome-do-0.9.orig/configure.ac gnome-do-0.9/configure.ac
+--- gnome-do-0.9.orig/configure.ac 2012-03-04 08:46:12.000000000 +0100
++++ gnome-do-0.9/configure.ac 2012-06-24 19:31:49.150955445 +0200
+@@ -60,17 +60,29 @@
+ PKG_CHECK_MODULES([GCONF_SHARP_20], [gconf-sharp-2.0])
+ PKG_CHECK_MODULES([GLADE_SHARP_20], [glade-sharp-2.0])
+ PKG_CHECK_MODULES([GLIB_SHARP_20], [glib-sharp-2.0])
++
++dnl gio-sharp is an unstable api library
++PKG_CHECK_MODULES([GIO_SHARP], [gio-sharp-2.0])
++files="`$PKG_CONFIG --variable=Libraries gio-sharp-2.0`"
++for file in $files; do
++ GIO_SHARP_SOURCE_ASSEMBLIES="$GIO_SHARP_SOURCE_ASSEMBLIES $file"
++ GIO_SHARP_ASSEMBLIES="$GIO_SHARP_ASSEMBLIES $top_srcdir/build/$(basename $file)"
++ [[ -r "$file.config" ]] && GIO_SHARP_SOURCE_ASSEMBLIES="$GIO_SHARP_SOURCE_ASSEMBLIES $file.config"
++ [[ -r "$file.config" ]] && GIO_SHARP_ASSEMBLIES="$GIO_SHARP_ASSEMBLIES $top_srcdir/build/$(basename $file).config"
++
++ GIO_SHARP_LIBS="$GIO_SHARP_LIBS -r:$top_srcdir/build/$(basename $file)"
++done
++AC_SUBST([GIO_SHARP_SOURCE_ASSEMBLIES])
++AC_SUBST([GIO_SHARP_ASSEMBLIES])
++AC_SUBST([GIO_SHARP_LIBS])
++
+ PKG_CHECK_MODULES([GNOME_DESKTOP_SHARP_20], [gnome-desktop-sharp-2.0])
+ PKG_CHECK_MODULES([GNOME_KEYRING_SHARP], [gnome-keyring-sharp-1.0])
+-PKG_CHECK_MODULES([GNOME_SHARP_20], [gnome-sharp-2.0])
+-PKG_CHECK_MODULES([GNOME_VFS_SHARP_20], [gnome-vfs-sharp-2.0])
+ PKG_CHECK_MODULES([GTK_SHARP_20], [gtk-sharp-2.0])
+-PKG_CHECK_MODULES([LIBRSVG_SHARP], [rsvg2-sharp-2.0])
+ PKG_CHECK_MODULES([MONO_ADDINS], [mono-addins])
+ PKG_CHECK_MODULES([MONO_ADDINS_GUI], [mono-addins-gui])
+ PKG_CHECK_MODULES([MONO_ADDINS_SETUP], [mono-addins-setup])
+ PKG_CHECK_MODULES([NOTIFY_SHARP], [notify-sharp])
+-PKG_CHECK_MODULES([WNCK_SHARP_10], [wnck-sharp-1.0])
+
+
+ AC_SUBST([GCONF_SHARP_20_LIBS])
+@@ -78,10 +90,7 @@
+ AC_SUBST([GLIB_SHARP_20_LIBS])
+ AC_SUBST([GNOME_DESKTOP_SHARP_20_LIBS])
+ AC_SUBST([GNOME_KEYRING_SHARP_LIBS])
+-AC_SUBST([GNOME_SHARP_20_LIBS])
+-AC_SUBST([GNOME_VFS_SHARP_20_LIBS])
+ AC_SUBST([GTK_SHARP_20_LIBS])
+-AC_SUBST([LIBRSVG_SHARP_LIBS])
+ AC_SUBST([MONO_ADDINS_LIBS])
+ AC_SUBST([MONO_ADDINS_GUI_LIBS])
+ AC_SUBST([MONO_ADDINS_SETUP_LIBS])
+diff -Naur gnome-do-0.9.orig/Do.Platform.Linux/Do.Platform.Linux.dll.config.in gnome-do-0.9/Do.Platform.Linux/Do.Platform.Linux.dll.config.in
+--- gnome-do-0.9.orig/Do.Platform.Linux/Do.Platform.Linux.dll.config.in 2012-01-14 14:49:58.000000000 +0100
++++ gnome-do-0.9/Do.Platform.Linux/Do.Platform.Linux.dll.config.in 2012-06-24 19:31:49.124289904 +0200
+@@ -1,3 +1,4 @@
+ <configuration>
+ <dllmap dll="libdo" target="@expanded_libdir@/@PACKAGE@/libdo.so"/>
++ <dllmap dll="gnome-desktop-2" target="libgnome-desktop-2.so.17"/>
+ </configuration>
+diff -Naur gnome-do-0.9.orig/Do.Platform.Linux/Makefile.am gnome-do-0.9/Do.Platform.Linux/Makefile.am
+--- gnome-do-0.9.orig/Do.Platform.Linux/Makefile.am 2012-01-14 14:49:58.000000000 +0100
++++ gnome-do-0.9/Do.Platform.Linux/Makefile.am 2012-06-24 19:31:49.127623096 +0200
+@@ -27,6 +27,8 @@
+ src/Do.Platform/Do.Platform.Linux/KeyBindingService.cs \
+ src/Do.Universe/ApplicationItem.cs \
+ src/Do.Universe/CategoryItem.cs \
++ src/Do.Universe/Desktop.cs \
++ src/Do.Universe/DesktopThumbnailSize.cs \
+ src/Do.Universe/NullApplicationItem.cs \
+ src/Do.Universe/FileItem.cs \
+ src/Do.Universe/ApplicationItemSource.cs \
+@@ -54,7 +56,7 @@
+ Mono.Posix \
+ $(GTK_SHARP_20_LIBS) \
+ $(GNOME_KEYRING_SHARP_LIBS) \
+- $(GNOME_SHARP_20_LIBS) \
++ $(GIO_SHARP_LIBS) \
+ $(GNOME_DESKTOP_SHARP_20_LIBS) \
+ $(GCONF_SHARP_20_LIBS) \
+ $(MONO_ADDINS_LIBS) \
+diff -Naur gnome-do-0.9.orig/Do.Platform.Linux/src/Do.Platform/Do.Platform.Linux/SystemService.cs gnome-do-0.9/Do.Platform.Linux/src/Do.Platform/Do.Platform.Linux/SystemService.cs
+--- gnome-do-0.9.orig/Do.Platform.Linux/src/Do.Platform/Do.Platform.Linux/SystemService.cs 2012-01-14 14:49:58.000000000 +0100
++++ gnome-do-0.9/Do.Platform.Linux/src/Do.Platform/Do.Platform.Linux/SystemService.cs 2012-06-24 19:31:49.130956287 +0200
+@@ -166,7 +166,8 @@
+
+ string AutoStartUri {
+ get {
+- return Gnome.Vfs.Uri.GetUriFromLocalPath (AutoStartFileName);
++ var uri = new Uri(AutoStartFileName).ToString();
++ return uri;
+ }
+ }
+
+diff -Naur gnome-do-0.9.orig/Do.Platform.Linux/src/Do.Universe/Desktop.cs gnome-do-0.9/Do.Platform.Linux/src/Do.Universe/Desktop.cs
+--- gnome-do-0.9.orig/Do.Platform.Linux/src/Do.Universe/Desktop.cs 1970-01-01 01:00:00.000000000 +0100
++++ gnome-do-0.9/Do.Platform.Linux/src/Do.Universe/Desktop.cs 2012-06-24 19:31:49.134289478 +0200
+@@ -0,0 +1,76 @@
++// This file was generated by the Gtk# code generator.
++// Any changes made will be lost if regenerated.
++
++namespace Gnome {
++
++ using System;
++ using System.Runtime.InteropServices;
++
++#region Autogenerated code
++ public class Desktop {
++
++ [DllImport("gnome-desktop-2")]
++ static extern void gnome_desktop_prepend_terminal_to_vector(out int argc, IntPtr argv);
++
++ public static int PrependTerminalToVector(string argv) {
++ int argc;
++ gnome_desktop_prepend_terminal_to_vector(out argc, GLib.Marshaller.StringToPtrGStrdup(argv));
++ return argc;
++ }
++
++ [DllImport("gnome-desktop-2")]
++ static extern bool gnome_desktop_thumbnail_has_uri(IntPtr pixbuf, IntPtr uri);
++
++ public static bool ThumbnailHasUri(Gdk.Pixbuf pixbuf, string uri) {
++ IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
++ bool raw_ret = gnome_desktop_thumbnail_has_uri(pixbuf == null ? IntPtr.Zero : pixbuf.Handle, native_uri);
++ bool ret = raw_ret;
++ GLib.Marshaller.Free (native_uri);
++ return ret;
++ }
++
++ [DllImport("gnome-desktop-2")]
++ static extern IntPtr gnome_desktop_thumbnail_scale_down_pixbuf(IntPtr pixbuf, int dest_width, int dest_height);
++
++ public static Gdk.Pixbuf ThumbnailScaleDownPixbuf(Gdk.Pixbuf pixbuf, int dest_width, int dest_height) {
++ IntPtr raw_ret = gnome_desktop_thumbnail_scale_down_pixbuf(pixbuf == null ? IntPtr.Zero : pixbuf.Handle, dest_width, dest_height);
++ Gdk.Pixbuf ret = GLib.Object.GetObject(raw_ret) as Gdk.Pixbuf;
++ return ret;
++ }
++
++ [DllImport("gnome-desktop-2")]
++ static extern IntPtr gnome_desktop_thumbnail_path_for_uri(IntPtr uri, int size);
++
++ public static string ThumbnailPathForUri(string uri, Gnome.DesktopThumbnailSize size) {
++ IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
++ IntPtr raw_ret = gnome_desktop_thumbnail_path_for_uri(native_uri, (int) size);
++ string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
++ GLib.Marshaller.Free (native_uri);
++ return ret;
++ }
++
++ [DllImport("gnome-desktop-2")]
++ static extern bool gnome_desktop_thumbnail_is_valid(IntPtr pixbuf, IntPtr uri, IntPtr mtime);
++
++ public static bool ThumbnailIsValid(Gdk.Pixbuf pixbuf, string uri, System.DateTime mtime) {
++ IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
++ bool raw_ret = gnome_desktop_thumbnail_is_valid(pixbuf == null ? IntPtr.Zero : pixbuf.Handle, native_uri, GLib.Marshaller.DateTimeTotime_t (mtime));
++ bool ret = raw_ret;
++ GLib.Marshaller.Free (native_uri);
++ return ret;
++ }
++
++ [DllImport("gnome-desktop-2")]
++ static extern IntPtr gnome_desktop_thumbnail_md5(IntPtr uri);
++
++ public static string ThumbnailMd5(string uri) {
++ IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
++ IntPtr raw_ret = gnome_desktop_thumbnail_md5(native_uri);
++ string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
++ GLib.Marshaller.Free (native_uri);
++ return ret;
++ }
++
++#endregion
++ }
++}
+diff -Naur gnome-do-0.9.orig/Do.Platform.Linux/src/Do.Universe/DesktopThumbnailSize.cs gnome-do-0.9/Do.Platform.Linux/src/Do.Universe/DesktopThumbnailSize.cs
+--- gnome-do-0.9.orig/Do.Platform.Linux/src/Do.Universe/DesktopThumbnailSize.cs 1970-01-01 01:00:00.000000000 +0100
++++ gnome-do-0.9/Do.Platform.Linux/src/Do.Universe/DesktopThumbnailSize.cs 2012-06-24 19:31:49.137622670 +0200
+@@ -0,0 +1,16 @@
++// This file was generated by the Gtk# code generator.
++// Any changes made will be lost if regenerated.
++
++namespace Gnome {
++
++ using System;
++ using System.Runtime.InteropServices;
++
++#region Autogenerated code
++ public enum DesktopThumbnailSize {
++
++ Normal,
++ Large,
++ }
++#endregion
++}
+diff -Naur gnome-do-0.9.orig/Do.Platform.Linux/src/Do.Universe/FileItem.cs gnome-do-0.9/Do.Platform.Linux/src/Do.Universe/FileItem.cs
+--- gnome-do-0.9.orig/Do.Platform.Linux/src/Do.Universe/FileItem.cs 2012-01-14 14:49:58.000000000 +0100
++++ gnome-do-0.9/Do.Platform.Linux/src/Do.Universe/FileItem.cs 2012-06-24 19:31:49.140955864 +0200
+@@ -63,8 +63,6 @@
+
+ static FileItem ()
+ {
+- Gnome.Vfs.Vfs.Initialize ();
+-
+ // Initialize SpecialFolderIcons by expanding paths in
+ // SpecialFolderIconsXDG.
+ //
+@@ -130,7 +128,11 @@
+ }
+
+ public string MimeType {
+- get { return Gnome.Vfs.Global.GetMimeType (Path); }
++ get {
++ GLib.File file = GLib.FileFactory.NewFromCommandlineArg(Path);
++ var info = file.QueryInfo ("standard::content-type", GLib.FileQueryInfoFlags.None, null);
++ return info.ContentType;
++ }
+ }
+
+ public override string Icon {
+@@ -142,8 +144,8 @@
+ icon = MaybeGetSpecialFolderIconForPath (Path);
+ if (icon != null) return icon;
+
+- string large_thumb = Thumbnail.PathForUri (Uri, ThumbnailSize.Large);
+- string normal_thumb = Thumbnail.PathForUri (Uri, ThumbnailSize.Normal);
++ string large_thumb = Desktop.ThumbnailPathForUri (Uri, DesktopThumbnailSize.Large);
++ string normal_thumb = Desktop.ThumbnailPathForUri (Uri, DesktopThumbnailSize.Normal);
+
+ // Generating the thumbnail ourself is too slow for large files.
+ // Suggestion: generate thumbnails asynchronously. Banshee's
+diff -Naur gnome-do-0.9.orig/Makefile.am gnome-do-0.9/Makefile.am
+--- gnome-do-0.9.orig/Makefile.am 2012-01-14 14:49:58.000000000 +0100
++++ gnome-do-0.9/Makefile.am 2012-06-24 19:31:56.837297364 +0200
+@@ -2,6 +2,22 @@
+
+ ACLOCAL_AMFLAGS = -I m4 -I m4/shamrock
+
++# Install copied assemblies to our libdir
++copiedlibsdir = $(pkglibdir)
++copiedlibs_DATA = \
++ $(GIO_SHARP_ASSEMBLIES)
++
++$(GIO_SHARP_ASSEMBLIES): $(GIO_SHARP_SOURCE_ASSEMBLIES)
++ @mkdir -p $(top_builddir)/build
++ @for file in $@ ; do \
++ for source in $? ; do \
++ if [ $$(basename $$source) == $$(basename $$file) ] ; then \
++ echo " CP " $$(basename $$file) ; \
++ cp $$source $$file ; \
++ fi ;\
++ done ; \
++ done
++
+ SUBDIRS = \
+ . \
+ data \
diff --git a/community/gnome-do/gnome-do.install b/community/gnome-do/gnome-do.install
new file mode 100644
index 000000000..11768f0ed
--- /dev/null
+++ b/community/gnome-do/gnome-do.install
@@ -0,0 +1,22 @@
+pkgname=gnome-do
+
+post_install() {
+ gconfpkg --install $pkgname
+ xdg-icon-resource forceupdate
+}
+
+pre_upgrade() {
+ pre_remove $1
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ gconfpkg --uninstall $pkgname
+}
+
+post_remove() {
+ xdg-icon-resource forceupdate
+}