From 743b5ab95ddfed62606a2e7fec2fbc0fa22135bf Mon Sep 17 00:00:00 2001
From: "A. Wilcox" <AWilcox@Wilcox-Tech.com>
Date: Mon, 27 May 2024 19:00:10 -0500
Subject: user/menu-cache: Integrate upstream GCC 10+ patch

---
 user/menu-cache/APKBUILD    |   9 ++--
 user/menu-cache/gcc10.patch | 103 ++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 109 insertions(+), 3 deletions(-)
 create mode 100644 user/menu-cache/gcc10.patch

diff --git a/user/menu-cache/APKBUILD b/user/menu-cache/APKBUILD
index dd8b8a0f5..3c20b042c 100644
--- a/user/menu-cache/APKBUILD
+++ b/user/menu-cache/APKBUILD
@@ -2,7 +2,7 @@
 # Maintainer:
 pkgname=menu-cache
 pkgver=1.1.0
-pkgrel=0
+pkgrel=1
 pkgdesc="Caching mechanism for freedesktop.org menus"
 url="https://lxde.org/"
 arch="all"
@@ -11,7 +11,9 @@ license="GPL-2.0+"
 depends=""
 makedepends="glib-dev libfm-extra-dev"
 subpackages="$pkgname-dev"
-source="https://downloads.sourceforge.net/lxde/menu-cache/1.1/$pkgname-$pkgver.tar.xz"
+source="https://downloads.sourceforge.net/lxde/menu-cache/1.1/$pkgname-$pkgver.tar.xz
+	gcc10.patch
+	"
 
 build() {
 	./configure \
@@ -26,4 +28,5 @@ package() {
 	make DESTDIR="$pkgdir" install
 }
 
-sha512sums="e4c6619ade7b9a1b97c1366bb94dffb9975be5664b193cf0c69cf9470ef7ae19bda3390d04d98ee9a5b1658ec48aa5c83508c26c347af689161ee67c076b3c9e  menu-cache-1.1.0.tar.xz"
+sha512sums="e4c6619ade7b9a1b97c1366bb94dffb9975be5664b193cf0c69cf9470ef7ae19bda3390d04d98ee9a5b1658ec48aa5c83508c26c347af689161ee67c076b3c9e  menu-cache-1.1.0.tar.xz
+ce4aa02e56bca4af6e32ef7ce689c26387309ef6e1d9560f37d344bca6ef5aba6c3c8c9c3ea38127ca71f8aaff0cfbfed47775c7b2cbb9703deae99b6fc78645  gcc10.patch"
diff --git a/user/menu-cache/gcc10.patch b/user/menu-cache/gcc10.patch
new file mode 100644
index 000000000..9949d09a9
--- /dev/null
+++ b/user/menu-cache/gcc10.patch
@@ -0,0 +1,103 @@
+From 4a82095ca4a334ceaf306c128248eb020f11bef1 Mon Sep 17 00:00:00 2001
+From: Mamoru TASAKA <mtasaka@fedoraproject.org>
+Date: Fri, 24 Jan 2020 13:33:00 +0900
+Subject: [PATCH] Support gcc10 compilation
+
+gcc10 now defaults to -fno-common.
+
+(original commit message cut by committer and supplemented below)
+
+Do not define variables in a header file. Declare globally used
+variables as "extern" instead.
+---
+ 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
-- 
cgit v1.2.3-70-g09d2