diff --git a/libfm-1.3.2-0002-FIX-support-gcc14-Werror-incompatible-pointer-types.patch b/libfm-1.3.2-0002-FIX-support-gcc14-Werror-incompatible-pointer-types.patch new file mode 100644 index 0000000..7389021 --- /dev/null +++ b/libfm-1.3.2-0002-FIX-support-gcc14-Werror-incompatible-pointer-types.patch @@ -0,0 +1,56 @@ +From a86353b8ef8ddd5c8a8a0de9b00a103e8f5e5c52 Mon Sep 17 00:00:00 2001 +From: libfm Fedora maintainer +Date: Fri, 23 Feb 2024 14:56:20 +0900 +Subject: [PATCH] FIX: support gcc14 -Werror=incompatible-pointer-types + +gcc14 now defaults to -Werror=incompatible-pointer-types . +To support this, cast GTK related objects for assignment +properly. +--- + src/gtk/exo/exo-icon-view.c | 2 +- + src/gtk/fm-dnd-dest.c | 2 +- + src/gtk/fm-standard-view.c | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/gtk/exo/exo-icon-view.c b/src/gtk/exo/exo-icon-view.c +index 3ce9809..79e1c7a 100644 +--- a/src/gtk/exo/exo-icon-view.c ++++ b/src/gtk/exo/exo-icon-view.c +@@ -2819,7 +2819,7 @@ 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 (icon_view->priv->search_entry))); ++ new_event->key.window = GDK_WINDOW(g_object_ref (G_OBJECT (gtk_widget_get_window (icon_view->priv->search_entry)))); + + /* send the event to the search entry. If the "preedit-changed" signal is + * emitted during this event, priv->search_imcontext_changed will be set. +diff --git a/src/gtk/fm-dnd-dest.c b/src/gtk/fm-dnd-dest.c +index 95d310d..ce75275 100644 +--- a/src/gtk/fm-dnd-dest.c ++++ b/src/gtk/fm-dnd-dest.c +@@ -458,7 +458,7 @@ static GdkDragAction _ask_action_on_drop(GtkWidget *widget, + gtk_action_set_sensitive(act, FALSE); + } + } +- ri.menu = g_object_ref(gtk_ui_manager_get_widget(ui, "/popup")); ++ ri.menu = GTK_MENU(g_object_ref(gtk_ui_manager_get_widget(ui, "/popup"))); + g_signal_connect(ri.menu, "selection-done", G_CALLBACK(gtk_widget_destroy), NULL); + unmap_handler = g_signal_connect(ri.menu, "unmap", + G_CALLBACK(run_unmap_handler), &ri); +diff --git a/src/gtk/fm-standard-view.c b/src/gtk/fm-standard-view.c +index e0ff5a0..df92025 100644 +--- a/src/gtk/fm-standard-view.c ++++ b/src/gtk/fm-standard-view.c +@@ -637,7 +637,7 @@ static inline void create_icon_view(FmStandardView* fv, GList* sels) + "text", FM_FOLDER_MODEL_COL_NAME ); + if(fv->renderer_text) + g_object_unref(fv->renderer_text); +- fv->renderer_text = g_object_ref_sink(render); ++ fv->renderer_text = FM_CELL_RENDERER_TEXT(g_object_ref_sink(render)); + exo_icon_view_set_search_column((ExoIconView*)fv->view, FM_FOLDER_MODEL_COL_NAME); + g_signal_connect(fv->view, "item-activated", G_CALLBACK(on_icon_view_item_activated), fv); + g_signal_connect(fv->view, "selection-changed", G_CALLBACK(on_sel_changed), fv); +-- +2.43.2 + diff --git a/libfm.spec b/libfm.spec index 5fc24d7..0caf0fd 100644 --- a/libfm.spec +++ b/libfm.spec @@ -8,35 +8,30 @@ %if 0%{?use_gitbare} < 1 # force -%global use_release 1 +%global use_release 0 %endif %global git_version %{nil} %global git_ver_rpm %{nil} %global git_builddir %{nil} -%if 0%{?use_gitbare} -%global gittardate 20251217 -%global gittartime 2335 -%define use_gitcommit_as_rel 0 +%global main_version 1.3.2 -%global gitbaredate 20251214 -%global git_rev 7e575d13fcf0532fc181fc26391ad6fd7717ed66 +%if 0%{?use_gitbare} +%global gittardate 20240227 +%global gittartime 1529 + +%global gitbaredate 20230916 +%global git_rev 5346a5390a0881d5713a71e15f371132680056ee %global git_short %(echo %{git_rev} | cut -c-8) %global git_version %{gitbaredate}git%{git_short} -%if 0%{?use_gitcommit_as_rel} %global git_ver_rpm ^%{git_version} %global git_builddir -%{git_version} -%else -%global git_ver_rpm %{nil} -%global git_builddir %{nil} -%endif - %endif -%global main_version 1.4.1 +%global main_version 1.3.2 %global bootstrap 0 %global build_doc 1 @@ -80,6 +75,8 @@ Source10: create-libfm-git-bare-tarball.sh # when subsequent config file does not contain such key but previous key had # (related to bug 2011471) Patch1: libfm-1.3.2-0001-fm_config_load_from_key_file-don-t-replace-string-va.patch +# Support gcc14 -Werror=incompatible-pointer-types +Patch2: libfm-1.3.2-0002-FIX-support-gcc14-Werror-incompatible-pointer-types.patch # http://sourceforge.net/p/pcmanfm/feature-requests/385/ #Patch1000: http://sourceforge.net/p/pcmanfm/feature-requests/_discuss/thread/0a50a386/597e/attachment/libfm-1.2.3-moduledir-gtkspecific-v02.patch Patch1000: libfm-1.3.0.2-moduledir-gtkspecific-v03.patch @@ -225,21 +222,6 @@ git init %setup -q -c -T -n %{name}-%{main_version}%{git_builddir} -a 0 git clone ./%{name}.git/ cd %{name} - -%if !%{use_gitcommit_as_rel} -git checkout -b fedora-%{version} %{version} -%endif - -# Restore timestamps -set +x -echo "Restore timestamps" -git ls-tree -r --name-only HEAD | while read f -do - unixtime=$(git log -n 1 --pretty='%ct' -- $f) - touch -d "@${unixtime}" $f -done -set -x - cp -a [A-Z]* .. %endif @@ -265,20 +247,13 @@ do done %endif -cat %PATCH1 | git am +cat %PATCH1 | git am +cat %PATCH2 | git am %patch -P1000 -p1 -Z +# Patch1000 needs below +sh autogen.sh git commit -m "Use gtk version specific module directory" -a -# Need reporting upstream -# ref: https://github.com/lxde/libfm/commit/1af95bd8f26cab6848a74b7e02b53c6c79fb53a5 -sed -i Makefile.am \ - -e '\@docs/reference/libfm/libfm-sections.txt@d' -git commit -m "Remove files entry to be regenerated" -a || true - -# Add ACLOCAL_PATH for gettext 0.25 (ref: bug 2366708) -export ACLOCAL_PATH=%{_datadir}/gettext/m4/ -sh autogen.sh -git commit -m "save modified files" -a || true # treak rpath sed -i.libdir_syssearch \ @@ -286,15 +261,9 @@ sed -i.libdir_syssearch \ configure git commit -m "Tweak library search path spec not to inject rpath" -a || true -# Ignore po/ directory make check error -sed -i.error po/Makefile.in.in \ - -e '\@check@,\@fi@s|exit 1|exit 0|' -git commit -m "ignore po/ directory make check error" -a || true - # Tell vala to regenerate C source find . -name \*.vala | xargs touch - %build %if 0%{?use_gitbare} >= 1 cd libfm @@ -388,7 +357,7 @@ done pushd INSTDIR-gtk2 find . -name '*.la' -exec rm -f {} ';' -rm -f .%{_libdir}/pkgconfig/libfm-gtk3.pc +rm -f .{_libdir}/pkgconfig/libfm-gtk3.pc diff -urNp .%{_includedir}/%{name}-1.0 $RPM_BUILD_ROOT%{_includedir}/%name-1.0 diff -urNp .%{_datadir}/%{name} $RPM_BUILD_ROOT/%{_datadir}/%{name} @@ -408,6 +377,7 @@ popd cd libfm %endif +find INSTDIR-gtk* -name \*.ui >> po/POTFILES.skip for ver in \ 2 \ 3 \ @@ -502,64 +472,6 @@ fi %endif %changelog -* Wed Dec 17 2025 Mamoru TASAKA - 1.4.1-1 -- 1.4.1 - -* Thu Jul 24 2025 Fedora Release Engineering - 1.4.0^20250316git3289abf5-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Mon May 26 2025 Mamoru TASAKA - 1.4.0^20250316git3289abf5-2 -- Add ACLOCAL_PATH for gettext 0.25 (ref: bug 2366708) - -* Sat Mar 22 2025 Mamoru TASAKA - 1.4.0^20250316git3289abf5-1 -- Update to the latest git - -* Wed Feb 19 2025 Mamoru TASAKA - 1.4.0-1 -- 1.4.0 - -* Sun Feb 16 2025 Mamoru TASAKA - 1.3.2^20250215git9ea11dca-1 -- Update to the latest git - -* Fri Feb 07 2025 Mamoru TASAKA - 1.3.2^20250114git493571d1-1 -- Update to the latest git - -* Fri Jan 17 2025 Fedora Release Engineering - 1.3.2^20250109git2d94c3c8-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Tue Jan 14 2025 Mamoru TASAKA - 1.3.2^20250109git2d94c3c8-2 -- Apply upstream PR for C23 with function prototype strictness - -* Tue Jan 14 2025 Mamoru TASAKA - 1.3.2^20250109git2d94c3c8-1 -- Update to the latest git - -* Wed Dec 25 2024 Mamoru TASAKA - 1.3.2^20241221git37456d7d-1 -- Update to the latest git -- Restore libfm.so ABI (bug 2333955) - -* Thu Dec 19 2024 Mamoru TASAKA - 1.3.2^20241216gitfb651b87-1 -- Update to the latest git - -* Fri Dec 06 2024 Mamoru TASAKA - 1.3.2^20241203gitcea66071-1 -- Update to the latest git - -* Sun Nov 10 2024 Mamoru TASAKA - 1.3.2^20241107gitd9935ec1-1 -- Update to the latest git - -* Sun Aug 25 2024 Mamoru TASAKA - 1.3.2^20240823git4d2f7b41-1 -- Update to the latest git - -* Tue Aug 13 2024 Mamoru TASAKA - 1.3.2^20240812gitfbcd1833-1 -- Update to the latest git - -* Thu Jul 18 2024 Mamoru TASAKA - 1.3.2^20240714gitee33947e-1 -- Update to the latest git (20240714gitee33947e) - -* Tue Jun 04 2024 Mamoru TASAKA - 1.3.2^20230916git5346a539-3 -- Ignore po/ directory make check error with autoconf 2.72 - -* Tue May 14 2024 Mamoru TASAKA - 1.3.2^20230916git5346a539-2 -- Restore timestamps for git ls files - * Tue Feb 27 2024 Mamoru TASAKA - 1.3.2^20230916git5346a539-1 - Update to the latest git (20230916git5346a539) diff --git a/sources b/sources index 6e2ccab..06d4435 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (libfm-20251217T2335.tar.gz) = 22310c122892588d23196b21e4e8e251fb83a49a6e8d0bd86abdc93e20d427d6f81f738f3fb8500c0aaf7d6ff7be5752329435b80ce36f5aa5c42353ab0e1864 +SHA512 (libfm-20240227T1529.tar.gz) = 716cf3eccee621ba6fd53342db483c456d08e663fccb36e2528c482eae986ed4b76ef535e14824048b60f08b28e19b55fc6204ed1d012a38c6117cc858e5c438