Update to 3.31.4
This commit is contained in:
parent
5cbd275002
commit
430dcf252c
1
.gitignore
vendored
1
.gitignore
vendored
@ -24,3 +24,4 @@ gnome-menus-2.30.0.tar.bz2
|
|||||||
/gnome-menus-3.8.0.tar.xz
|
/gnome-menus-3.8.0.tar.xz
|
||||||
/gnome-menus-3.10.1.tar.xz
|
/gnome-menus-3.10.1.tar.xz
|
||||||
/gnome-menus-3.13.3.tar.xz
|
/gnome-menus-3.13.3.tar.xz
|
||||||
|
/gnome-menus-3.31.4.tar.xz
|
||||||
|
@ -1,200 +0,0 @@
|
|||||||
From b4546ab43c2c7ef6fb6cb7e5db83dc3975b56e8e Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Alberts=20Muktup=C4=81vels?= <alberts.muktupavels@gmail.com>
|
|
||||||
Date: Mon, 27 Oct 2014 18:41:34 +0200
|
|
||||||
Subject: [PATCH 1/2] desktop-entries: support multiple desktops in
|
|
||||||
XDG_CURRENT_DESKTOP
|
|
||||||
|
|
||||||
This is based on glib commit:
|
|
||||||
5a5e16e93c4f11e635918ecdb41681f63fd05a39
|
|
||||||
---
|
|
||||||
libmenu/desktop-entries.c | 110 ++++++++++++++++++++++------------------------
|
|
||||||
1 file changed, 52 insertions(+), 58 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/libmenu/desktop-entries.c b/libmenu/desktop-entries.c
|
|
||||||
index 326f311..bd4f886 100644
|
|
||||||
--- a/libmenu/desktop-entries.c
|
|
||||||
+++ b/libmenu/desktop-entries.c
|
|
||||||
@@ -85,32 +85,27 @@ unix_basename_from_path (const char *path)
|
|
||||||
return path;
|
|
||||||
}
|
|
||||||
|
|
||||||
-static const char *
|
|
||||||
-get_current_desktop (void)
|
|
||||||
+static const gchar * const *
|
|
||||||
+get_current_desktops (void)
|
|
||||||
{
|
|
||||||
- static char *current_desktop = NULL;
|
|
||||||
+ static gchar **result;
|
|
||||||
|
|
||||||
- /* Support XDG_CURRENT_DESKTOP environment variable; this can be used
|
|
||||||
- * to abuse gnome-menus in non-GNOME desktops. */
|
|
||||||
- if (!current_desktop)
|
|
||||||
+ if (g_once_init_enter (&result))
|
|
||||||
{
|
|
||||||
- const char *desktop;
|
|
||||||
+ const gchar *desktops;
|
|
||||||
+ gchar **tmp;
|
|
||||||
|
|
||||||
- desktop = g_getenv ("XDG_CURRENT_DESKTOP");
|
|
||||||
+ desktops = g_getenv ("XDG_CURRENT_DESKTOP");
|
|
||||||
|
|
||||||
- /* Note: if XDG_CURRENT_DESKTOP is set but empty, do as if it
|
|
||||||
- * was not set */
|
|
||||||
- if (!desktop || desktop[0] == '\0')
|
|
||||||
- current_desktop = g_strdup ("GNOME");
|
|
||||||
- else
|
|
||||||
- current_desktop = g_strdup (desktop);
|
|
||||||
- }
|
|
||||||
+ if (desktops)
|
|
||||||
+ desktops = "";
|
|
||||||
|
|
||||||
- /* Using "*" means skipping desktop-related checks */
|
|
||||||
- if (g_strcmp0 (current_desktop, "*") == 0)
|
|
||||||
- return NULL;
|
|
||||||
+ tmp = g_strsplit (desktops, ":", 0);
|
|
||||||
+
|
|
||||||
+ g_once_init_leave (&result, tmp);
|
|
||||||
+ }
|
|
||||||
|
|
||||||
- return current_desktop;
|
|
||||||
+ return (const gchar **) result;
|
|
||||||
}
|
|
||||||
|
|
||||||
static GIcon *
|
|
||||||
@@ -151,52 +146,58 @@ key_file_get_icon (GKeyFile *key_file)
|
|
||||||
static gboolean
|
|
||||||
key_file_get_show_in (GKeyFile *key_file)
|
|
||||||
{
|
|
||||||
- const gchar *current_desktop;
|
|
||||||
- gchar **strv;
|
|
||||||
+ const gchar * const *current_desktops;
|
|
||||||
+ gchar **only_show_in;
|
|
||||||
+ gchar **not_show_in;
|
|
||||||
gboolean show_in = TRUE;
|
|
||||||
- int i;
|
|
||||||
-
|
|
||||||
- current_desktop = get_current_desktop ();
|
|
||||||
- if (!current_desktop)
|
|
||||||
- return TRUE;
|
|
||||||
-
|
|
||||||
- strv = g_key_file_get_string_list (key_file,
|
|
||||||
- DESKTOP_ENTRY_GROUP,
|
|
||||||
- "OnlyShowIn",
|
|
||||||
- NULL,
|
|
||||||
- NULL);
|
|
||||||
- if (strv)
|
|
||||||
+ gint i;
|
|
||||||
+
|
|
||||||
+ current_desktops = get_current_desktops ();
|
|
||||||
+ only_show_in = g_key_file_get_string_list (key_file,
|
|
||||||
+ DESKTOP_ENTRY_GROUP,
|
|
||||||
+ "OnlyShowIn",
|
|
||||||
+ NULL,
|
|
||||||
+ NULL);
|
|
||||||
+ not_show_in = g_key_file_get_string_list (key_file,
|
|
||||||
+ DESKTOP_ENTRY_GROUP,
|
|
||||||
+ "NotShowIn",
|
|
||||||
+ NULL,
|
|
||||||
+ NULL);
|
|
||||||
+
|
|
||||||
+ for (i = 0; current_desktops[i]; i++)
|
|
||||||
{
|
|
||||||
- show_in = FALSE;
|
|
||||||
- for (i = 0; strv[i]; i++)
|
|
||||||
+ gint j;
|
|
||||||
+
|
|
||||||
+ if (only_show_in)
|
|
||||||
{
|
|
||||||
- if (!strcmp (strv[i], current_desktop))
|
|
||||||
+ show_in = FALSE;
|
|
||||||
+ for (j = 0; only_show_in[j]; j++)
|
|
||||||
{
|
|
||||||
- show_in = TRUE;
|
|
||||||
- break;
|
|
||||||
+ if (g_str_equal (only_show_in[j], current_desktops[i]))
|
|
||||||
+ {
|
|
||||||
+ show_in = TRUE;
|
|
||||||
+ goto out;
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
- }
|
|
||||||
- else
|
|
||||||
- {
|
|
||||||
- strv = g_key_file_get_string_list (key_file,
|
|
||||||
- DESKTOP_ENTRY_GROUP,
|
|
||||||
- "NotShowIn",
|
|
||||||
- NULL,
|
|
||||||
- NULL);
|
|
||||||
- if (strv)
|
|
||||||
+
|
|
||||||
+ if (not_show_in)
|
|
||||||
{
|
|
||||||
show_in = TRUE;
|
|
||||||
- for (i = 0; strv[i]; i++)
|
|
||||||
+ for (j = 0; not_show_in[j]; j++)
|
|
||||||
{
|
|
||||||
- if (!strcmp (strv[i], current_desktop))
|
|
||||||
+ if (g_str_equal (not_show_in[j], current_desktops[i]))
|
|
||||||
{
|
|
||||||
show_in = FALSE;
|
|
||||||
+ goto out;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
- g_strfreev (strv);
|
|
||||||
+
|
|
||||||
+out:
|
|
||||||
+ g_strfreev (only_show_in);
|
|
||||||
+ g_strfreev (not_show_in);
|
|
||||||
|
|
||||||
return show_in;
|
|
||||||
}
|
|
||||||
@@ -579,14 +580,7 @@ gboolean
|
|
||||||
desktop_entry_get_show_in (DesktopEntry *entry)
|
|
||||||
{
|
|
||||||
if (entry->type == DESKTOP_ENTRY_DESKTOP)
|
|
||||||
- {
|
|
||||||
- const char *current_desktop = get_current_desktop ();
|
|
||||||
-
|
|
||||||
- if (current_desktop == NULL)
|
|
||||||
- return TRUE;
|
|
||||||
- else
|
|
||||||
- return g_desktop_app_info_get_show_in (((DesktopEntryDesktop*)entry)->appinfo, current_desktop);
|
|
||||||
- }
|
|
||||||
+ return g_desktop_app_info_get_show_in (((DesktopEntryDesktop*)entry)->appinfo, NULL);
|
|
||||||
return ((DesktopEntryDirectory*)entry)->showin;
|
|
||||||
}
|
|
||||||
|
|
||||||
--
|
|
||||||
2.4.3
|
|
||||||
|
|
||||||
|
|
||||||
From 4befe76fbdb76aa6a986297ef71d1601b2ced42e Mon Sep 17 00:00:00 2001
|
|
||||||
From: Josselin Mouette <joss@debian.org>
|
|
||||||
Date: Sun, 14 Dec 2014 20:36:36 +0100
|
|
||||||
Subject: [PATCH 2/2] desktop-entries: fix trivial bug in handling of multiple
|
|
||||||
desktops in XDG_CURRENT_DESKTOP.
|
|
||||||
|
|
||||||
https://bugzilla.gnome.org/show_bug.cgi?id=741505
|
|
||||||
---
|
|
||||||
libmenu/desktop-entries.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/libmenu/desktop-entries.c b/libmenu/desktop-entries.c
|
|
||||||
index bd4f886..a463d79 100644
|
|
||||||
--- a/libmenu/desktop-entries.c
|
|
||||||
+++ b/libmenu/desktop-entries.c
|
|
||||||
@@ -97,7 +97,7 @@ get_current_desktops (void)
|
|
||||||
|
|
||||||
desktops = g_getenv ("XDG_CURRENT_DESKTOP");
|
|
||||||
|
|
||||||
- if (desktops)
|
|
||||||
+ if (!desktops)
|
|
||||||
desktops = "";
|
|
||||||
|
|
||||||
tmp = g_strsplit (desktops, ":", 0);
|
|
||||||
--
|
|
||||||
2.4.3
|
|
||||||
|
|
@ -2,23 +2,19 @@
|
|||||||
|
|
||||||
Summary: A menu system for the GNOME project
|
Summary: A menu system for the GNOME project
|
||||||
Name: gnome-menus
|
Name: gnome-menus
|
||||||
Version: 3.13.3
|
Version: 3.31.4
|
||||||
Release: 11%{?dist}
|
Release: 1%{?dist}
|
||||||
License: LGPLv2+
|
License: LGPLv2+
|
||||||
Group: System Environment/Libraries
|
Group: System Environment/Libraries
|
||||||
URL: http://www.gnome.org/
|
URL: http://www.gnome.org/
|
||||||
|
|
||||||
#VCS: git:git://git.gnome.org/gnome-menus
|
Source0: http://download.gnome.org/sources/gnome-menus/3.31/%{name}-%{version}.tar.xz
|
||||||
Source0: http://download.gnome.org/sources/gnome-menus/3.13/%{name}-%{version}.tar.xz
|
|
||||||
|
|
||||||
Patch0: fix-multiple-desktops-in-xdg-current-desktop.patch
|
|
||||||
|
|
||||||
Requires: redhat-menus
|
Requires: redhat-menus
|
||||||
BuildRequires: gawk
|
BuildRequires: gawk
|
||||||
BuildRequires: gettext
|
BuildRequires: gettext
|
||||||
BuildRequires: glib2-devel
|
BuildRequires: glib2-devel
|
||||||
BuildRequires: pkgconfig
|
BuildRequires: pkgconfig
|
||||||
BuildRequires: intltool
|
|
||||||
BuildRequires: gobject-introspection-devel
|
BuildRequires: gobject-introspection-devel
|
||||||
|
|
||||||
%description
|
%description
|
||||||
@ -39,7 +35,6 @@ writing applications that use the GNOME menu system.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
%patch0 -p1 -b .fix-xdg-current-desktop-handling
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%configure --disable-static \
|
%configure --disable-static \
|
||||||
@ -57,11 +52,11 @@ make %{?_smp_mflags}
|
|||||||
make install DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p"
|
make install DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p"
|
||||||
find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
|
find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
|
||||||
|
|
||||||
%find_lang gnome-menus-3.0
|
%find_lang gnome-menus
|
||||||
|
|
||||||
%ldconfig_scriptlets
|
%ldconfig_scriptlets
|
||||||
|
|
||||||
%files -f gnome-menus-3.0.lang
|
%files -f gnome-menus.lang
|
||||||
%doc AUTHORS NEWS COPYING.LIB
|
%doc AUTHORS NEWS COPYING.LIB
|
||||||
%{_sysconfdir}/xdg/menus/gnome-applications.menu
|
%{_sysconfdir}/xdg/menus/gnome-applications.menu
|
||||||
%{_libdir}/lib*.so.*
|
%{_libdir}/lib*.so.*
|
||||||
@ -75,6 +70,9 @@ find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
|
|||||||
%{_datadir}/gir-1.0/GMenu-3.0.gir
|
%{_datadir}/gir-1.0/GMenu-3.0.gir
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Jan 23 2019 Kalev Lember <klember@redhat.com> - 3.31.4-1
|
||||||
|
- Update to 3.31.4
|
||||||
|
|
||||||
* Sun Aug 05 2018 Miro Hrončok <mhroncok@redhat.com> - 3.13.3-11
|
* Sun Aug 05 2018 Miro Hrončok <mhroncok@redhat.com> - 3.13.3-11
|
||||||
- There is no Python involved anymore
|
- There is no Python involved anymore
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user