From 34826c4e076657a2f3bf611f57de517cac59cac6 Mon Sep 17 00:00:00 2001 From: mio Date: Mon, 9 Sep 2024 23:07:55 +0000 Subject: [PATCH] community/spacefm: fix build with gcc 14 --- community/spacefm/APKBUILD | 12 +++-- community/spacefm/gcc-14.patch | 87 ++++++++++++++++++++++++++++++++++ 2 files changed, 95 insertions(+), 4 deletions(-) create mode 100644 community/spacefm/gcc-14.patch diff --git a/community/spacefm/APKBUILD b/community/spacefm/APKBUILD index 50d951d757c..b81480f18a6 100644 --- a/community/spacefm/APKBUILD +++ b/community/spacefm/APKBUILD @@ -2,7 +2,7 @@ # Contributor: Bartłomiej Piotrowski pkgname=spacefm pkgver=1.0.6 -pkgrel=3 +pkgrel=4 pkgdesc="Multi-panel tabbed file manager (GTK2 version)" arch="all" url="https://ignorantguru.github.io/spacefm/" @@ -16,9 +16,10 @@ subpackages=" source="$pkgname-$pkgver.tar.gz::https://github.com/IgnorantGuru/spacefm/archive/$pkgver.tar.gz spacefm-include-sysmacros.patch gcc-10.patch + gcc-14.patch " -replaces="$pkganme-gtk3" +replaces="$pkgname-gtk3" prepare() { default_prepare @@ -50,6 +51,9 @@ doc() { default_doc } -sha512sums="37fc0dd31f02158502f592415b4c375ee49560af6f03d75b035d7c6c45bdc47064bba1ae8987b4cc8be2e02b3dfcdc17ec760411975e7b5f74343a2293fb2c8c spacefm-1.0.6.tar.gz +sha512sums=" +37fc0dd31f02158502f592415b4c375ee49560af6f03d75b035d7c6c45bdc47064bba1ae8987b4cc8be2e02b3dfcdc17ec760411975e7b5f74343a2293fb2c8c spacefm-1.0.6.tar.gz d7b33441700141dc956df54f03393c02783fc5188b82883401d4781c52fb383089af5ed3b3645b686078a6ac06d3b3e269f7ee5ab3f4d1416ebb0141fbaa7b7e spacefm-include-sysmacros.patch -343f149b96655ffe930e2ea76e78fab407904a893669b6ca71ed1797292c81750782a91db589f87ef8951601b90179f7b83c900d0039276578624b64b2661dd1 gcc-10.patch" +343f149b96655ffe930e2ea76e78fab407904a893669b6ca71ed1797292c81750782a91db589f87ef8951601b90179f7b83c900d0039276578624b64b2661dd1 gcc-10.patch +ed8d46b2b3fff6585bb75ecd53c4e24f3ef7e0ba877a052179f7370bea809f70c2a1c58ca8fc6b28cef471ce34a7b55ca545f4b54e8469de23f24810d5544f1e gcc-14.patch +" diff --git a/community/spacefm/gcc-14.patch b/community/spacefm/gcc-14.patch new file mode 100644 index 00000000000..994d5149af6 --- /dev/null +++ b/community/spacefm/gcc-14.patch @@ -0,0 +1,87 @@ +Source: https://github.com/IgnorantGuru/spacefm/pull/816/commits/98efb1f43e6339b3ceddb9f65ee85e26790fefdf +--- +From 98efb1f43e6339b3ceddb9f65ee85e26790fefdf Mon Sep 17 00:00:00 2001 +From: Brahmajit Das +Date: Mon, 22 Apr 2024 02:09:09 +0530 +Subject: [PATCH] Fix build issues with GCC 14 + +GCC 14 enables -Wincompatible-pointer-types by default thus resulting in +build error such as: +exo-icon-view.c:2686:27: error: assignment to GdkWindow {aka struct _GdkWindow } from incompatible pointer type GObject {aka struct _GObject } [-Wincompatible-pointer-types] + +Much of the code changes are borrowed from older code segments. + +First reported on Gentoo linux, for more reference please bug: +https://bugs.gentoo.org/928492 + +Signed-off-by: Brahmajit Das +--- + src/exo/exo-gdk-pixbuf-extensions.c | 5 ++++- + src/exo/exo-icon-chooser-model.c | 3 ++- + src/exo/exo-icon-view.c | 9 ++++++--- + 3 files changed, 12 insertions(+), 5 deletions(-) + +diff --git a/src/exo/exo-gdk-pixbuf-extensions.c b/src/exo/exo-gdk-pixbuf-extensions.c +index 0dd74c2e5..d86e5d928 100644 +--- a/src/exo/exo-gdk-pixbuf-extensions.c ++++ b/src/exo/exo-gdk-pixbuf-extensions.c +@@ -492,7 +492,10 @@ exo_gdk_pixbuf_scale_down (GdkPixbuf *source, + + /* check if we need to scale */ + if (G_UNLIKELY (source_width <= dest_width && source_height <= dest_height)) +- return g_object_ref (G_OBJECT (source)); ++ { ++ g_object_ref (G_OBJECT (source)); ++ return source; ++ } + + /* check if aspect ratio should be preserved */ + if (G_LIKELY (preserve_aspect_ratio)) +diff --git a/src/exo/exo-icon-chooser-model.c b/src/exo/exo-icon-chooser-model.c +index 5cd03ef33..6a3bc7db9 100644 +--- a/src/exo/exo-icon-chooser-model.c ++++ b/src/exo/exo-icon-chooser-model.c +@@ -671,7 +671,8 @@ _exo_icon_chooser_model_get_for_icon_theme (GtkIconTheme *icon_theme) + g_object_set_data (G_OBJECT (icon_theme), "exo-icon-chooser-default-model", model); + + /* associated the model with the icon theme */ +- model->icon_theme = g_object_ref (G_OBJECT (icon_theme)); ++ model->icon_theme = icon_theme; ++ g_object_ref (G_OBJECT (icon_theme)); + exo_icon_chooser_model_icon_theme_changed (icon_theme, model); + g_signal_connect (G_OBJECT (icon_theme), "changed", G_CALLBACK (exo_icon_chooser_model_icon_theme_changed), model); + } +diff --git a/src/exo/exo-icon-view.c b/src/exo/exo-icon-view.c +index 4d860680e..0156b8c00 100644 +--- a/src/exo/exo-icon-view.c ++++ b/src/exo/exo-icon-view.c +@@ -2683,7 +2683,8 @@ exo_icon_view_key_press_event (GtkWidget *widget, + /* allocate a new event to forward */ + new_event = gdk_event_copy ((GdkEvent *) event); + g_object_unref (G_OBJECT (new_event->key.window)); +- new_event->key.window = g_object_ref (G_OBJECT (gtk_widget_get_window (GTK_WIDGET(icon_view->priv->search_entry)))); ++ new_event->key.window = gtk_widget_get_window (GTK_WIDGET(icon_view->priv->search_entry)); ++ g_object_ref (G_OBJECT (gtk_widget_get_window (GTK_WIDGET(new_event->key.window)))); + + /* send the event to the search entry. If the "preedit-changed" signal is + * emitted during this event, priv->search_imcontext_changed will be set. +@@ -3082,7 +3083,8 @@ exo_icon_view_set_hadjustment (ExoIconView *icon_view, + if (!hadj) + hadj = gtk_adjustment_new (0.0, 0.0, 0.0, 0.0, 0.0, 0.0); + +- icon_view->priv->hadjustment = g_object_ref_sink (G_OBJECT (hadj)); ++ icon_view->priv->hadjustment = hadj; ++ g_object_ref_sink (G_OBJECT (icon_view->priv->hadjustment)); + + g_signal_connect (icon_view->priv->hadjustment, "value-changed", + G_CALLBACK (exo_icon_view_adjustment_changed), +@@ -3109,7 +3111,8 @@ exo_icon_view_set_vadjustment (ExoIconView *icon_view, + if (!vadj) + vadj = gtk_adjustment_new (0.0, 0.0, 0.0, 0.0, 0.0, 0.0); + +- icon_view->priv->vadjustment = g_object_ref_sink (G_OBJECT (vadj)); ++ icon_view->priv->vadjustment = vadj; ++ g_object_ref_sink(G_OBJECT (icon_view->priv->vadjustment)); + + g_signal_connect (icon_view->priv->vadjustment, "value-changed", + G_CALLBACK (exo_icon_view_adjustment_changed),