[libxfcegui4] Add patch and rebuild for Xfce 4.10
Kevin Fenzi
kevin at fedoraproject.org
Thu Apr 5 03:31:03 UTC 2012
commit 7c499cd471a4725687c5b5ffffdde82b5f549b77
Author: Kevin Fenzi <kevin at scrye.com>
Date: Wed Apr 4 21:31:00 2012 -0600
Add patch and rebuild for Xfce 4.10
libxfce4gui-xfce-4.10.patch | 158 +++++++++++++++++++++++++++++++++++++++++++
libxfcegui4.spec | 8 ++-
2 files changed, 165 insertions(+), 1 deletions(-)
---
diff --git a/libxfce4gui-xfce-4.10.patch b/libxfce4gui-xfce-4.10.patch
new file mode 100644
index 0000000..197f850
--- /dev/null
+++ b/libxfce4gui-xfce-4.10.patch
@@ -0,0 +1,158 @@
+From 9042e70bf7c8266aef059114d27ec1764fc41466 Mon Sep 17 00:00:00 2001
+From: Nick Schermer <nick at xfce.org>
+Date: Tue, 21 Jun 2011 19:55:19 +0000
+Subject: Drop XfceDesktopEntry usage.
+
+---
+diff --git a/libxfcegui4/xfce-appmenuitem.c b/libxfcegui4/xfce-appmenuitem.c
+index 20dfa06..ffb15ed 100644
+--- a/libxfcegui4/xfce-appmenuitem.c
++++ b/libxfcegui4/xfce-appmenuitem.c
+@@ -522,127 +522,17 @@ GtkWidget *xfce_app_menu_item_new_full(const gchar *label, const gchar *command,
+ * xfce_app_menu_item_new_with_command(), xfce_app_menu_item_set_needs_term(),
+ * xfce_app_menu_item_set_icon_name(), and
+ * xfce_app_menu_item_set_startup_notification().
++ *
++ * In Xfce 4.10 this function only returns NULL, since XfceDesktopEntry was
++ * removed from libxfce4util.
+ *
+ * Since 4.1
+ **/
+ GtkWidget *
+-xfce_app_menu_item_new_from_desktop_entry(XfceDesktopEntry *entry,
++xfce_app_menu_item_new_from_desktop_entry(gpointer *entry,
+ gboolean show_icon)
+ {
+- XfceAppMenuItem *app_menu_item;
+- gchar *name = NULL, *cmd = NULL, *icon = NULL, *snotify = NULL;
+- gchar *onlyshowin = NULL, *categories = NULL, *term = NULL;
+- const gchar *dfile;
+-
+- g_return_val_if_fail(XFCE_IS_DESKTOP_ENTRY(entry), NULL);
+-
+- if(xfce_desktop_entry_get_string(entry, "OnlyShowIn", FALSE, &onlyshowin)
+- || xfce_desktop_entry_get_string(entry, "Categories", FALSE,
+- &categories))
+- {
+- if((onlyshowin && strstr(onlyshowin, "XFCE;"))
+- || (categories && strstr(categories, "X-XFCE;")))
+- {
+- if(xfce_desktop_entry_has_translated_entry(entry, "GenericName")) {
+- xfce_desktop_entry_get_string(entry, "GenericName", TRUE,
+- &name);
+- } else if(xfce_desktop_entry_has_translated_entry(entry, "Name")) {
+- xfce_desktop_entry_get_string(entry, "Name", TRUE, &name);
+- } else {
+- xfce_desktop_entry_get_string(entry, "GenericName", FALSE,
+- &name);
+- }
+- } else if(onlyshowin) {
+- g_free(onlyshowin);
+- g_free(categories);
+- return NULL;
+- }
+-
+- g_free(onlyshowin);
+- g_free(categories);
+- }
+-
+- app_menu_item = XFCE_APP_MENU_ITEM(xfce_app_menu_item_new());
+-
+- if(!name && !xfce_desktop_entry_get_string(entry, "Name", TRUE, &name)) {
+- gchar *tmp, *tmp1;
+-
+- tmp = g_filename_to_utf8(xfce_desktop_entry_get_file(entry), -1,
+- NULL, NULL, NULL);
+- if(!tmp)
+- tmp = g_strdup(xfce_desktop_entry_get_file(entry));
+-
+- if((tmp1 = g_strrstr(tmp, ".desktop")))
+- *tmp1 = 0;
+- if((tmp1 = g_strrstr(tmp, "/")))
+- tmp1++;
+- else
+- tmp1 = name;
+- name = g_strdup(tmp1);
+- g_free(tmp);
+- }
+-
+- app_menu_item->priv->name = name;
+-
+- if(!g_utf8_validate(name, -1, NULL)) {
+- g_warning("XfceAppMenuItem: 'name' failed utf8 validation for .desktop file '%s'",
+- xfce_desktop_entry_get_file(entry));
+- gtk_widget_destroy(GTK_WIDGET(app_menu_item));
+- return NULL;
+- }
+-
+- gtk_label_set_text(GTK_LABEL(app_menu_item->priv->accel_label),
+- app_menu_item->priv->name);
+-
+- if(xfce_desktop_entry_get_string(entry, "Terminal", TRUE, &term)) {
+- app_menu_item->priv->needs_term = (*term == '1'
+- || !g_ascii_strcasecmp(term,
+- "true"));
+- g_free(term);
+- }
+-
+- if(xfce_desktop_entry_get_string(entry, "StartupNotify", TRUE, &snotify)) {
+- app_menu_item->priv->snotify = (*snotify == '1'
+- || !g_ascii_strcasecmp(snotify,
+- "true"));
+- g_free(snotify);
+- }
+-
+- if(!xfce_desktop_entry_get_string(entry, "Exec", TRUE, &cmd)) {
+- gtk_widget_destroy(GTK_WIDGET(app_menu_item));
+- return NULL;
+- }
+-
+- /* remove quotes around the command (yes, people do that!) */
+- if(cmd[0] == '"') {
+- gint i;
+-
+- for(i = 1; cmd[i - 1] != '\0'; ++i) {
+- if (cmd[i] != '"')
+- cmd[i-1] = cmd[i];
+- else {
+- cmd[i-1] = cmd[i] = ' ';
+- break;
+- }
+- }
+- }
+-
+- app_menu_item->priv->command = xfce_expand_variables(cmd, NULL);
+- g_free(cmd);
+-
+- if(show_icon) {
+- xfce_desktop_entry_get_string(entry, "Icon", TRUE, &icon);
+- if(icon) {
+- xfce_app_menu_item_set_icon_name(app_menu_item, icon);
+- g_free(icon);
+- }
+- }
+-
+- dfile = xfce_desktop_entry_get_file(entry);
+- if(dfile)
+- app_menu_item->priv->dot_desktop_filename = g_strdup(dfile);
+-
+- return GTK_WIDGET(app_menu_item);
++ return NULL;
+ }
+
+ /**
+diff --git a/libxfcegui4/xfce-appmenuitem.h b/libxfcegui4/xfce-appmenuitem.h
+index 5732af9..0ce0f29 100644
+--- a/libxfcegui4/xfce-appmenuitem.h
++++ b/libxfcegui4/xfce-appmenuitem.h
+@@ -70,7 +70,7 @@ GtkWidget *xfce_app_menu_item_new_full (const gchar *label,
+ gboolean needs_term,
+ gboolean snotify);
+
+-GtkWidget *xfce_app_menu_item_new_from_desktop_entry (XfceDesktopEntry *entry,
++GtkWidget *xfce_app_menu_item_new_from_desktop_entry (gpointer *entry,
+ gboolean show_icon);
+
+ void xfce_app_menu_item_set_name (XfceAppMenuItem *app_menu_item,
+--
+cgit v0.9.0.3
diff --git a/libxfcegui4.spec b/libxfcegui4.spec
index 4d788c9..282a33c 100644
--- a/libxfcegui4.spec
+++ b/libxfcegui4.spec
@@ -2,7 +2,7 @@
Name: libxfcegui4
Version: 4.8.1
-Release: 5%{?dist}
+Release: 6%{?dist}
Summary: GTK widgets for Xfce
Group: System Environment/Libraries
@@ -10,6 +10,8 @@ License: LGPLv2+
URL: http://www.xfce.org/
Source0: http://archive.xfce.org/src/xfce/%{name}/%{xfceversion}/%{name}-%{version}.tar.bz2
Patch0: %{name}-4.4.2-xfce-exec-use-thunar.patch
+# http://git.xfce.org/xfce/libxfcegui4/patch/?id=9042e70bf7c8266aef059114d27ec1764fc41466
+Patch1: libxfce4gui-xfce-4.10.patch
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
BuildRequires: gtk2-devel >= 2.0.6
@@ -48,6 +50,7 @@ developing applications that use %{name}.
%prep
%setup -q
%patch0 -p1 -b .thunar
+%patch1 -p1
%build
@@ -100,6 +103,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%doc %{_datadir}/gtk-doc
%changelog
+* Wed Apr 04 2012 Kevin Fenzi <kevin at scrye.com> - 4.8.1-6
+- Add patch and rebuild for Xfce 4.10
+
* Fri Jan 20 2012 Kevin Fenzi <kevin at scrye.com> - 4.8.1-5
- Remove glade3 support. It's gtk3 only and this library shouldn't be used for new projects anyhow.
More information about the scm-commits
mailing list