new thunar-9999 ebuild w/ patched xfdesktop github/master
authordweezil <bram.aelvoet@gmail.com>
Sun, 3 Dec 2017 16:49:42 +0000 (17:49 +0100)
committerdweezil <bram.aelvoet@gmail.com>
Sun, 3 Dec 2017 16:49:42 +0000 (17:49 +0100)
xfce-base/thunar/Manifest [new file with mode: 0644]
xfce-base/thunar/thunar-9999.ebuild [new file with mode: 0644]
xfce-base/xfdesktop/Manifest [new file with mode: 0644]
xfce-base/xfdesktop/files/4c77522252500818869654832594a2d38c3dc291.patch [new file with mode: 0644]
xfce-base/xfdesktop/metadata.xml [new file with mode: 0644]
xfce-base/xfdesktop/xfdesktop-4.13.1.ebuild [new file with mode: 0644]

diff --git a/xfce-base/thunar/Manifest b/xfce-base/thunar/Manifest
new file mode 100644 (file)
index 0000000..aa47a61
--- /dev/null
@@ -0,0 +1 @@
+EBUILD thunar-9999.ebuild 1656 SHA256 108207bf391b446831fd0d11ead2b5339b5e2bf7648ab25a86dae19388729180 SHA512 eb2b497bc09bd9d7059f5dcb9e5d2b612631876d94eeee4c85c79af761c83d5ce98edb4135f664429cc6b5c5d3d21f87667bd8ee68c113eb837f66e40f4c2149 WHIRLPOOL ebbe1d70dcfd6de085a4fe17ddfc46b8dc2f23b2745f50cb47a946d334cfffe7770a005e707c9cbb1030b5fbe6cb3511d9f4b076921b2bb0eca9f8e10b333879
diff --git a/xfce-base/thunar/thunar-9999.ebuild b/xfce-base/thunar/thunar-9999.ebuild
new file mode 100644 (file)
index 0000000..cd5564a
--- /dev/null
@@ -0,0 +1,68 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit virtualx xfconf
+
+MY_P=${P/t/T}
+
+DESCRIPTION="File manager for the Xfce desktop environment"
+HOMEPAGE="http://www.xfce.org/projects/ http://thunar.xfce.org/"
+
+LICENSE="GPL-2 LGPL-2"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE="+dbus debug exif libnotify pcre test udisks +xfce_plugins_trash"
+
+GVFS_DEPEND=">=gnome-base/gvfs-1.18.3"
+COMMON_DEPEND=">=dev-lang/perl-5.6
+       >=dev-libs/glib-2.30
+       >=x11-libs/gdk-pixbuf-2.14
+       >=x11-libs/gtk+-2.24:2
+       >=xfce-base/exo-0.10
+       >=xfce-base/libxfce4ui-4.10
+       >=xfce-base/libxfce4util-4.10.1
+       >=xfce-base/xfconf-4.10
+       dbus? ( >=dev-libs/dbus-glib-0.100 )
+       exif? ( >=media-libs/libexif-0.6.19 )
+       libnotify? ( >=x11-libs/libnotify-0.7 )
+       pcre? ( >=dev-libs/libpcre-6 )
+       udisks? ( virtual/libgudev:= )
+       xfce_plugins_trash? ( >=xfce-base/xfce4-panel-4.10 )"
+RDEPEND="${COMMON_DEPEND}
+       >=dev-util/desktop-file-utils-0.20-r1
+       x11-misc/shared-mime-info
+       dbus? ( ${GVFS_DEPEND} )
+       udisks? (
+               virtual/udev
+               ${GVFS_DEPEND}[udisks,udev]
+               )
+       xfce_plugins_trash? ( ${GVFS_DEPEND} )"
+DEPEND="${COMMON_DEPEND}
+       dev-util/intltool
+       sys-devel/gettext
+       virtual/pkgconfig"
+REQUIRED_USE="xfce_plugins_trash? ( dbus )"
+
+S=${WORKDIR}/${MY_P}
+
+pkg_setup() {
+       XFCONF=(
+               --docdir="${EPREFIX}"/usr/share/doc/${PF}
+               $(use_enable dbus)
+               $(use_enable udisks gudev)
+               $(use_enable libnotify notifications)
+               $(xfconf_use_debug)
+               $(use_enable exif)
+               $(use_enable pcre)
+               )
+
+       use xfce_plugins_trash || XFCONF+=( --disable-tpa-plugin )
+
+       DOCS=( AUTHORS ChangeLog FAQ HACKING NEWS README THANKS TODO )
+}
+
+src_test() {
+       Xemake check
+}
diff --git a/xfce-base/xfdesktop/Manifest b/xfce-base/xfdesktop/Manifest
new file mode 100644 (file)
index 0000000..f80ab09
--- /dev/null
@@ -0,0 +1,4 @@
+AUX 4c77522252500818869654832594a2d38c3dc291.patch 5619 SHA256 b59113a6d1e6d5833288ac50149cdf2517b0c62a634afddcf341e1aabc92b4f3 SHA512 bbc97a41d101285ad5ef9ff938c10816c3e084a6b663f589497696c9f51773dd6e0ec4a1bb474d97c505423e8533cb02bbe13320ce947fbe89d1931013a49afd WHIRLPOOL 55458d8b411bc1f249e3ab436f3b08444e763c49fb877255d3060863eecbcaa1ba4570b699ef1f0a22bcca134305c849290fbb91f9839e8e2f735600144766f0
+DIST xfdesktop-4.13.1.tar.bz2 1485914 SHA256 7e81fd3b8c939d7eee4e293ac1b670c1f3f59cf4de81e47382ecf857bc8879a4 SHA512 efe5ffe450f498ee0188a1ca5efd0ef340d73b5650060f18db4fe94ae9130dd27e41c6b30af2f90839e6c8272f3e270d16b86df64d595fe82169c26d624f806a WHIRLPOOL 99dcb6331b93b14e99aec09207c00b9adba810d6eaa622c0c175b1e4601a9c7076a2f2dd2e1564c9cf318edcdc6ea8e4ce0c11656235fd41d0cd12c7077cba75
+EBUILD xfdesktop-4.13.1.ebuild 1369 SHA256 658137d5b064301e796534114c2adb8fb40fca651b8b3efc4cbca64a8bfa4de0 SHA512 8372e7bd927b8fb28ecacecd09efe4f73033ebcad8104d235258b22173daf41cecf06e78e4f0995566276689beb78bceb4bf7e0ee119da0518681c23b3d67b99 WHIRLPOOL 214492fe527ec6593de8b2f09204011bcf3732263d83b9c6ab644790fe84db9aa5a42cf108856f3f8ed086440d5464821c75a40c76d94675f382bece0d387135
+MISC metadata.xml 364 SHA256 b96a049b5851b97a7dd96b96f9ce8437dc61c569386d3cc1c3cd5a4daf9dba1c SHA512 3140dbe5320efba5393874f93b907ef2dff1cc8dd44cda7340abaf19dcbbd709beb7649ac72f1e9f92da546e010f966cd9f5d51b867c6df8c49332bf9de67dac WHIRLPOOL 6f933bac990de0c4438c039f9220775ddc81547e111bd0aeeef497db09ed62ebb2afccf7054244a72aad8000cc357eaad4e7b2871e0a1f489b1b2be5a1e64159
diff --git a/xfce-base/xfdesktop/files/4c77522252500818869654832594a2d38c3dc291.patch b/xfce-base/xfdesktop/files/4c77522252500818869654832594a2d38c3dc291.patch
new file mode 100644 (file)
index 0000000..5da49b1
--- /dev/null
@@ -0,0 +1,128 @@
+From 4c77522252500818869654832594a2d38c3dc291 Mon Sep 17 00:00:00 2001
+From: Andre Miranda <andreldm@xfce.org>
+Date: Fri, 3 Nov 2017 15:39:17 +0300
+Subject: [PATCH] Use the new Thunarx-3 API
+
+Signed-off-by: Eric Koegel <eric.koegel@gmail.com>
+---
+ src/xfdesktop-file-icon-manager.c | 80 ++++++++++++++++++++++++++++-----------
+ 1 file changed, 58 insertions(+), 22 deletions(-)
+
+diff --git a/src/xfdesktop-file-icon-manager.c b/src/xfdesktop-file-icon-manager.c
+index fa8cbe37..48045c12 100644
+--- a/src/xfdesktop-file-icon-manager.c
++++ b/src/xfdesktop-file-icon-manager.c
+@@ -1269,19 +1269,55 @@ xfdesktop_file_icon_menu_fill_template_menu(GtkWidget *menu,
+ }
+ #ifdef HAVE_THUNARX
++static void
++thunarx_action_callback (GtkAction *action,
++                         gpointer callback_data)
++{
++    thunarx_menu_item_activate (THUNARX_MENU_ITEM (callback_data));
++}
++
++
++
++static GtkWidget*
++xfdesktop_menu_create_menu_item_from_thunarx_menu_item (GObject *item)
++{
++    gchar *label, *icon_name;
++    GtkWidget *mi, *img;
++
++    g_return_val_if_fail (THUNARX_IS_MENU_ITEM (item), NULL);
++
++    g_object_get (G_OBJECT (item),
++                  "label", &label,
++                  "icon", &icon_name,
++                  NULL);
++
++    img = gtk_image_new_from_icon_name(icon_name, GTK_ICON_SIZE_MENU);
++    mi = xfdesktop_menu_create_menu_item_with_mnemonic (label, img);
++
++    g_signal_connect_data (mi, "activate",
++                           G_CALLBACK (thunarx_action_callback),
++                           g_object_ref (item),
++                           (GClosureNotify) g_object_unref, 0);
++
++    g_free (label);
++    g_free (icon_name);
++
++    return mi;
++}
++
++
++
+ static inline void
+-xfdesktop_menu_shell_append_action_list(GtkMenuShell *menu_shell,
+-                                        GList *actions)
++xfdesktop_menu_shell_append_thunarx_menu_item_list(GtkMenuShell *menu_shell,
++                                                   GList *items)
+ {
+     GList *l;
+-    GtkAction *action;
+     GtkWidget *mi;
+-    
+-    for(l = actions; l; l = l->next) {
+-        action = GTK_ACTION(l->data);
+-        mi = gtk_action_create_menu_item(action);
++
++    for(l = items; l; l = l->next) {
++        mi = xfdesktop_menu_create_menu_item_from_thunarx_menu_item (l->data);
+         gtk_widget_show(mi);
+-        gtk_menu_shell_append(menu_shell, mi);    
++        gtk_menu_shell_append(menu_shell, mi);
+     }
+ }
+ #endif
+@@ -1751,35 +1787,35 @@ xfdesktop_file_icon_manager_populate_context_menu(XfceDesktop *desktop,
+ #ifdef HAVE_THUNARX
+         if(!multi_sel_special && fmanager->priv->thunarx_menu_providers) {
+-            GList *menu_actions = NULL;
++            GList *menu_items = NULL;
+             ThunarxMenuProvider *provider;
+             if(selected->data == fmanager->priv->desktop_icon) {
+                 /* click on the desktop itself, only show folder actions */
+                 for(l = fmanager->priv->thunarx_menu_providers; l; l = l->next) {
+                     provider = THUNARX_MENU_PROVIDER(l->data);
+-                    menu_actions = g_list_concat(menu_actions,
+-                                                 thunarx_menu_provider_get_folder_actions(provider,
+-                                                                                          toplevel,
+-                                                                                          THUNARX_FILE_INFO(file_icon)));
++                    menu_items = g_list_concat(menu_items,
++                                                 thunarx_menu_provider_get_folder_menu_items(provider,
++                                                                                             toplevel,
++                                                                                             THUNARX_FILE_INFO(file_icon)));
+                 }
+             } else {
+                 /* thunar file specific actions (allows them to operate on folders
+                  * that are on the desktop as well) */
+                 for(l = fmanager->priv->thunarx_menu_providers; l; l = l->next) {
+                     provider = THUNARX_MENU_PROVIDER(l->data);
+-                    menu_actions = g_list_concat(menu_actions,
+-                                                 thunarx_menu_provider_get_file_actions(provider,
+-                                                                                        toplevel,
+-                                                                                        selected));
++                    menu_items = g_list_concat(menu_items,
++                                                 thunarx_menu_provider_get_file_menu_items(provider,
++                                                                                           toplevel,
++                                                                                           selected));
+                 }
+             }
+-            if(menu_actions) {
+-                xfdesktop_menu_shell_append_action_list(GTK_MENU_SHELL(menu),
+-                                                        menu_actions);
+-                g_list_foreach(menu_actions, (GFunc)g_object_unref, NULL);
+-                g_list_free(menu_actions);
++            if(menu_items) {
++                xfdesktop_menu_shell_append_thunarx_menu_item_list(GTK_MENU_SHELL(menu),
++                                                        menu_items);
++                g_list_foreach(menu_items, (GFunc)g_object_unref, NULL);
++                g_list_free(menu_items);
+                 mi = gtk_separator_menu_item_new();
+                 gtk_widget_show(mi);
diff --git a/xfce-base/xfdesktop/metadata.xml b/xfce-base/xfdesktop/metadata.xml
new file mode 100644 (file)
index 0000000..87838b0
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+  <maintainer type="project">
+    <email>xfce@gentoo.org</email>
+    <name>XFCE Team</name>
+  </maintainer>
+  <use>
+    <flag name="thunar">Build support for desktop icons (for example, launchers and folders)</flag>
+  </use>
+</pkgmetadata>
diff --git a/xfce-base/xfdesktop/xfdesktop-4.13.1.ebuild b/xfce-base/xfdesktop/xfdesktop-4.13.1.ebuild
new file mode 100644 (file)
index 0000000..5b7b941
--- /dev/null
@@ -0,0 +1,59 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit gnome2-utils
+
+DESCRIPTION="Desktop manager for the Xfce desktop environment"
+HOMEPAGE="https://www.xfce.org/projects/"
+SRC_URI="mirror://xfce/src/xfce/${PN}/${PV%.*}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x86-solaris"
+IUSE="debug libnotify +thunar"
+
+# src/xfdesktop-file-utils.c:#if GLIB_CHECK_VERSION (2, 38, 0)
+RDEPEND=">=x11-libs/cairo-1.12:=
+       >=dev-libs/glib-2.42:=
+       >=x11-libs/gtk+-3.20:3=
+       >=x11-libs/libwnck-3.14:3=
+       x11-libs/libX11:=
+       >=xfce-base/exo-0.11:=
+       >=xfce-base/garcon-0.6:=
+       >=xfce-base/libxfce4ui-4.13:=
+       >=xfce-base/libxfce4util-4.12:=
+       >=xfce-base/xfconf-4.12.1:=
+       libnotify? ( >=x11-libs/libnotify-0.7:= )
+       thunar? (
+               >=dev-libs/glib-2.38:=
+               >=xfce-base/thunar-1.6:=[dbus]
+               )"
+DEPEND="${RDEPEND}
+       dev-util/intltool
+       sys-devel/gettext
+       virtual/pkgconfig"
+       
+src_prepare() {
+       default
+       epatch "${FILESDIR}/4c77522252500818869654832594a2d38c3dc291.patch"
+       }
+       
+src_configure() {
+       local myconf=(
+               $(use_enable thunar file-icons)
+               $(use_enable thunar thunarx)
+               $(use_enable libnotify notifications)
+       )
+
+       econf "${myconf[@]}"
+}
+
+pkg_postinst() {
+       gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+       gnome2_icon_cache_update
+}