[packages/menu-cache] - rebuilding with libfm-1.3.2

mrozowik mrozowik at pld-linux.org
Wed Nov 9 19:30:09 CET 2022


commit 8022865f39f4725a2d9a41330c53420f144843b2
Author: Krzysztof Mrozowicz <mrozowik at pld-linux.org>
Date:   Wed Nov 9 18:29:58 2022 +0000

    - rebuilding with libfm-1.3.2

 ...ache-1.1.0-0001-Support-gcc10-compilation.patch | 107 +++++++++++++++++++++
 menu-cache.spec                                    |   6 +-
 upstream-libmenu-cache_Fix-memory-leaks.patch      |  38 ++++++++
 3 files changed, 150 insertions(+), 1 deletion(-)
---
diff --git a/menu-cache.spec b/menu-cache.spec
index 82081ca..55cec01 100644
--- a/menu-cache.spec
+++ b/menu-cache.spec
@@ -2,11 +2,13 @@ Summary:	Library for caching freedesktop defined application menus
 Summary(pl.UTF-8):	Biblioteka do buforowania menu freedesktop.org
 Name:		menu-cache
 Version:	1.1.0
-Release:	1
+Release:	2
 License:	LGPL v2.1+
 Group:		Libraries
 Source0:	http://downloads.sourceforge.net/lxde/%{name}-%{version}.tar.xz
 # Source0-md5:	99999a0bca48b980105208760c8fd893
+Patch0:		upstream-libmenu-cache_Fix-memory-leaks.patch
+Patch1:		menu-cache-1.1.0-0001-Support-gcc10-compilation.patch
 URL:		http://www.lxde.org/
 BuildRequires:	glib2-devel >= 1:2.16.0
 BuildRequires:	gtk-doc >= 1.14
@@ -86,6 +88,8 @@ Dokumentacja API biblioteki menu-cache.
 
 %prep
 %setup -q
+%patch0 -p1
+%patch1 -p1
 
 %build
 %configure \
diff --git a/menu-cache-1.1.0-0001-Support-gcc10-compilation.patch b/menu-cache-1.1.0-0001-Support-gcc10-compilation.patch
new file mode 100644
index 0000000..f7fce3b
--- /dev/null
+++ b/menu-cache-1.1.0-0001-Support-gcc10-compilation.patch
@@ -0,0 +1,107 @@
+From 1ce739649b4d66339a03fc0ec9ee7a2f7c141780 Mon Sep 17 00:00:00 2001
+From: Mamoru TASAKA <mtasaka at fedoraproject.org>
+Date: Fri, 24 Jan 2020 13:33:00 +0900
+Subject: [PATCH] Support gcc10 compilation
+
+gcc10 now defaults to -fno-common, and with gcc10 menu-cache compilation fails like
+
+/bin/ld: menu-merge.o:menu-cache-gen/menu-tags.h:167: multiple definition of `DirDirs'; main.o:menu-cache-gen/menu-tags.h:167: first defined here
+/bin/ld: menu-merge.o:menu-cache-gen/menu-tags.h:164: multiple definition of `AppDirs'; main.o:menu-cache-gen/menu-tags.h:164: first defined here
+/bin/ld: menu-merge.o:menu-cache-gen/menu-tags.h:52: multiple definition of `menuTag_Layout'; main.o:menu-cache-gen/menu-tags.h:52: first defined here
+....
+
+This patch fixes compilation with gcc10: properly declaring variables in header with "extern", and also removing some unneeded variables in header files.
+---
+ menu-cache-gen/menu-tags.h | 55 ++++++++++++--------------------------
+ 1 file changed, 17 insertions(+), 38 deletions(-)
+
+diff --git a/menu-cache-gen/menu-tags.h b/menu-cache-gen/menu-tags.h
+index f3fd7d3..f71c0bc 100644
+--- a/menu-cache-gen/menu-tags.h
++++ b/menu-cache-gen/menu-tags.h
+@@ -22,38 +22,17 @@
+ #include <libfm/fm-extra.h>
+ #include <menu-cache.h>
+ 
+-FmXmlFileTag menuTag_Menu;
+-FmXmlFileTag menuTag_AppDir;
+-FmXmlFileTag menuTag_DefaultAppDirs;
+-FmXmlFileTag menuTag_DirectoryDir;
+-FmXmlFileTag menuTag_DefaultDirectoryDirs;
+-FmXmlFileTag menuTag_Include;
+-FmXmlFileTag menuTag_Exclude;
+-FmXmlFileTag menuTag_Filename;
+-FmXmlFileTag menuTag_Or;
+-FmXmlFileTag menuTag_And;
+-FmXmlFileTag menuTag_Not;
+-FmXmlFileTag menuTag_Category;
+-FmXmlFileTag menuTag_MergeFile;
+-FmXmlFileTag menuTag_MergeDir;
+-FmXmlFileTag menuTag_DefaultMergeDirs;
+-FmXmlFileTag menuTag_Directory;
+-FmXmlFileTag menuTag_Name;
+-FmXmlFileTag menuTag_Deleted;
+-FmXmlFileTag menuTag_NotDeleted;
+-FmXmlFileTag menuTag_OnlyUnallocated;
+-FmXmlFileTag menuTag_NotOnlyUnallocated;
+-FmXmlFileTag menuTag_All;
+-FmXmlFileTag menuTag_LegacyDir;
+-FmXmlFileTag menuTag_KDELegacyDirs;
+-FmXmlFileTag menuTag_Move;
+-FmXmlFileTag menuTag_Old;
+-FmXmlFileTag menuTag_New;
+-FmXmlFileTag menuTag_Layout;
+-FmXmlFileTag menuTag_DefaultLayout;
+-FmXmlFileTag menuTag_Menuname;
+-FmXmlFileTag menuTag_Separator;
+-FmXmlFileTag menuTag_Merge;
++extern FmXmlFileTag menuTag_AppDir;
++extern FmXmlFileTag menuTag_DirectoryDir;
++extern FmXmlFileTag menuTag_Include;
++extern FmXmlFileTag menuTag_Exclude;
++extern FmXmlFileTag menuTag_Filename;
++extern FmXmlFileTag menuTag_Or;
++extern FmXmlFileTag menuTag_And;
++extern FmXmlFileTag menuTag_Not;
++extern FmXmlFileTag menuTag_Category;
++extern FmXmlFileTag menuTag_All;
++extern FmXmlFileTag menuTag_LegacyDir;
+ 
+ typedef enum {
+     MERGE_NONE, /* starting value */
+@@ -152,19 +131,19 @@ typedef struct {
+ } MenuRule;
+ 
+ /* requested language(s) */
+-char **languages;
++extern char **languages;
+ 
+ /* list of menu files to monitor */
+-GSList *MenuFiles;
++extern GSList *MenuFiles;
+ 
+ /* list of menu dirs to monitor */
+-GSList *MenuDirs;
++extern GSList *MenuDirs;
+ 
+ /* list of available app dirs */
+-GSList *AppDirs;
++extern GSList *AppDirs;
+ 
+ /* list of available dir dirs */
+-GSList *DirDirs;
++extern GSList *DirDirs;
+ 
+ /* parse and merge menu files */
+ MenuMenu *get_merged_menu(const char *file, FmXmlFile **xmlfile, GError **error);
+@@ -177,7 +156,7 @@ gboolean save_menu_cache(MenuMenu *layout, const char *menuname, const char *fil
+ void _free_layout_items(GList *data);
+ 
+ /* verbosity level */
+-gint verbose;
++extern gint verbose;
+ 
+ #define DBG if (verbose) g_debug
+ #define VDBG if (verbose > 1) g_debug
+-- 
+2.24.1
diff --git a/upstream-libmenu-cache_Fix-memory-leaks.patch b/upstream-libmenu-cache_Fix-memory-leaks.patch
new file mode 100644
index 0000000..80b146e
--- /dev/null
+++ b/upstream-libmenu-cache_Fix-memory-leaks.patch
@@ -0,0 +1,38 @@
+From 97e5de8682c0c44fe4e6a2df864c5fdf76cd77cc Mon Sep 17 00:00:00 2001
+From: Palo Kisa <palo.kisa at gmail.com>
+Date: Thu, 30 Nov 2017 11:36:18 +0100
+Subject: [PATCH] libmenu-cache: Fix memory leaks
+
+---
+ libmenu-cache/menu-cache.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/libmenu-cache/menu-cache.c b/libmenu-cache/menu-cache.c
+index 5025d72..273b503 100644
+--- a/libmenu-cache/menu-cache.c
++++ b/libmenu-cache/menu-cache.c
+@@ -379,11 +379,15 @@ static MenuCacheItem* read_item(GDataInputStream* f, MenuCache* cache,
+             else /* separator */
+             {
+                 item->type = MENU_CACHE_TYPE_SEP;
++                g_free(line);
+                 return item;
+             }
+         }
+         else
++        {
++            g_free(line);
+             return NULL;
++        }
+ 
+         item->id = g_strndup( line + 1, len - 1 );
+         g_free(line);
+@@ -923,6 +927,7 @@ gboolean menu_cache_item_unref(MenuCacheItem* item)
+         else
+         {
+             MenuCacheApp* app = MENU_CACHE_APP(item);
++            g_free(app->generic_name);
+             g_free( app->exec );
+             g_free(app->try_exec);
+             g_free(app->working_dir);
+
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/menu-cache.git/commitdiff/8022865f39f4725a2d9a41330c53420f144843b2



More information about the pld-cvs-commit mailing list