aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--repos/xorg/libfm/.files120
-rw-r--r--repos/xorg/libfm/abuild37
-rw-r--r--repos/xorg/libfm/depends5
-rw-r--r--repos/xorg/libfm/fix-background-colour-gtk3.patch79
-rw-r--r--repos/xorg/libfm/gcc14-support.patch55
-rwxr-xr-xrepos/xorg/libfm/postinstall3
6 files changed, 299 insertions, 0 deletions
diff --git a/repos/xorg/libfm/.files b/repos/xorg/libfm/.files
new file mode 100644
index 00000000..c6a355e5
--- /dev/null
+++ b/repos/xorg/libfm/.files
@@ -0,0 +1,120 @@
+drwxr-xr-x root/root etc/
+drwxr-xr-x root/root etc/xdg/
+drwxr-xr-x root/root etc/xdg/libfm/
+-rw-r--r-- root/root etc/xdg/libfm/libfm.conf.new
+drwxr-xr-x root/root usr/
+drwxr-xr-x root/root usr/bin/
+-rwxr-xr-x root/root usr/bin/libfm-pref-apps
+-rwxr-xr-x root/root usr/bin/lxshortcut
+drwxr-xr-x root/root usr/include/
+drwxr-xr-x root/root usr/include/libfm/
+-rw-r--r-- root/root usr/include/libfm/fm-action.h
+-rw-r--r-- root/root usr/include/libfm/fm-app-chooser-combo-box.h
+-rw-r--r-- root/root usr/include/libfm/fm-app-chooser-dlg.h
+-rw-r--r-- root/root usr/include/libfm/fm-app-info.h
+-rw-r--r-- root/root usr/include/libfm/fm-app-menu-view.h
+-rw-r--r-- root/root usr/include/libfm/fm-archiver.h
+-rw-r--r-- root/root usr/include/libfm/fm-bookmarks.h
+-rw-r--r-- root/root usr/include/libfm/fm-cell-renderer-pixbuf.h
+-rw-r--r-- root/root usr/include/libfm/fm-cell-renderer-text.h
+-rw-r--r-- root/root usr/include/libfm/fm-clipboard.h
+-rw-r--r-- root/root usr/include/libfm/fm-config.h
+-rw-r--r-- root/root usr/include/libfm/fm-deep-count-job.h
+-rw-r--r-- root/root usr/include/libfm/fm-dir-list-job.h
+-rw-r--r-- root/root usr/include/libfm/fm-dir-tree-model.h
+-rw-r--r-- root/root usr/include/libfm/fm-dir-tree-view.h
+-rw-r--r-- root/root usr/include/libfm/fm-dnd-auto-scroll.h
+-rw-r--r-- root/root usr/include/libfm/fm-dnd-dest.h
+-rw-r--r-- root/root usr/include/libfm/fm-dnd-src.h
+-rw-r--r-- root/root usr/include/libfm/fm-dummy-monitor.h
+-rw-r--r-- root/root usr/include/libfm/fm-file-info-job.h
+-rw-r--r-- root/root usr/include/libfm/fm-file-info.h
+-rw-r--r-- root/root usr/include/libfm/fm-file-launcher.h
+-rw-r--r-- root/root usr/include/libfm/fm-file-menu.h
+-rw-r--r-- root/root usr/include/libfm/fm-file-ops-job-change-attr.h
+-rw-r--r-- root/root usr/include/libfm/fm-file-ops-job-delete.h
+-rw-r--r-- root/root usr/include/libfm/fm-file-ops-job-xfer.h
+-rw-r--r-- root/root usr/include/libfm/fm-file-ops-job.h
+-rw-r--r-- root/root usr/include/libfm/fm-file-properties.h
+-rw-r--r-- root/root usr/include/libfm/fm-file.h
+-rw-r--r-- root/root usr/include/libfm/fm-folder-config.h
+-rw-r--r-- root/root usr/include/libfm/fm-folder-model.h
+-rw-r--r-- root/root usr/include/libfm/fm-folder-view.h
+-rw-r--r-- root/root usr/include/libfm/fm-folder.h
+-rw-r--r-- root/root usr/include/libfm/fm-gtk-file-launcher.h
+-rw-r--r-- root/root usr/include/libfm/fm-gtk-marshal.h
+-rw-r--r-- root/root usr/include/libfm/fm-gtk-utils.h
+-rw-r--r-- root/root usr/include/libfm/fm-gtk.h
+-rw-r--r-- root/root usr/include/libfm/fm-icon-pixbuf.h
+-rw-r--r-- root/root usr/include/libfm/fm-icon.h
+-rw-r--r-- root/root usr/include/libfm/fm-job.h
+-rw-r--r-- root/root usr/include/libfm/fm-list.h
+-rw-r--r-- root/root usr/include/libfm/fm-marshal.h
+-rw-r--r-- root/root usr/include/libfm/fm-menu-tool-item.h
+-rw-r--r-- root/root usr/include/libfm/fm-mime-type.h
+-rw-r--r-- root/root usr/include/libfm/fm-module.h
+-rw-r--r-- root/root usr/include/libfm/fm-monitor.h
+-rw-r--r-- root/root usr/include/libfm/fm-nav-history.h
+-rw-r--r-- root/root usr/include/libfm/fm-path-bar.h
+-rw-r--r-- root/root usr/include/libfm/fm-path-entry.h
+-rw-r--r-- root/root usr/include/libfm/fm-path.h
+-rw-r--r-- root/root usr/include/libfm/fm-places-model.h
+-rw-r--r-- root/root usr/include/libfm/fm-places-view.h
+-rw-r--r-- root/root usr/include/libfm/fm-progress-dlg.h
+-rw-r--r-- root/root usr/include/libfm/fm-seal.h
+-rw-r--r-- root/root usr/include/libfm/fm-side-pane.h
+-rw-r--r-- root/root usr/include/libfm/fm-simple-job.h
+-rw-r--r-- root/root usr/include/libfm/fm-sortable.h
+-rw-r--r-- root/root usr/include/libfm/fm-standard-view.h
+-rw-r--r-- root/root usr/include/libfm/fm-tab-label.h
+-rw-r--r-- root/root usr/include/libfm/fm-templates.h
+-rw-r--r-- root/root usr/include/libfm/fm-terminal.h
+-rw-r--r-- root/root usr/include/libfm/fm-thumbnail-loader.h
+-rw-r--r-- root/root usr/include/libfm/fm-thumbnail.h
+-rw-r--r-- root/root usr/include/libfm/fm-thumbnailer.h
+-rw-r--r-- root/root usr/include/libfm/fm-utils.h
+-rw-r--r-- root/root usr/include/libfm/fm.h
+drwxr-xr-x root/root usr/lib/
+lrwxrwxrwx root/root usr/lib/libfm-gtk3.so -> libfm-gtk3.so.4.1.3
+lrwxrwxrwx root/root usr/lib/libfm-gtk3.so.4 -> libfm-gtk3.so.4.1.3
+-rwxr-xr-x root/root usr/lib/libfm-gtk3.so.4.1.3
+lrwxrwxrwx root/root usr/lib/libfm.so -> libfm.so.4.1.3
+lrwxrwxrwx root/root usr/lib/libfm.so.4 -> libfm.so.4.1.3
+-rwxr-xr-x root/root usr/lib/libfm.so.4.1.3
+drwxr-xr-x root/root usr/lib/libfm/
+drwxr-xr-x root/root usr/lib/libfm/modules/
+-rwxr-xr-x root/root usr/lib/libfm/modules/gtk-fileprop-x-desktop.so
+-rwxr-xr-x root/root usr/lib/libfm/modules/gtk-fileprop-x-shortcut.so
+-rwxr-xr-x root/root usr/lib/libfm/modules/gtk-menu-actions.so
+-rwxr-xr-x root/root usr/lib/libfm/modules/gtk-menu-trash.so
+-rwxr-xr-x root/root usr/lib/libfm/modules/vfs-menu.so
+-rwxr-xr-x root/root usr/lib/libfm/modules/vfs-search.so
+drwxr-xr-x root/root usr/lib/pkgconfig/
+-rw-r--r-- root/root usr/lib/pkgconfig/libfm-gtk3.pc
+-rw-r--r-- root/root usr/lib/pkgconfig/libfm.pc
+drwxr-xr-x root/root usr/share/
+drwxr-xr-x root/root usr/share/applications/
+-rw-r--r-- root/root usr/share/applications/libfm-pref-apps.desktop
+-rw-r--r-- root/root usr/share/applications/lxshortcut.desktop
+drwxr-xr-x root/root usr/share/libfm/
+-rw-r--r-- root/root usr/share/libfm/archivers.list
+drwxr-xr-x root/root usr/share/libfm/images/
+-rw-r--r-- root/root usr/share/libfm/images/folder.png
+-rw-r--r-- root/root usr/share/libfm/images/unknown.png
+-rw-r--r-- root/root usr/share/libfm/terminals.list
+drwxr-xr-x root/root usr/share/libfm/ui/
+-rw-r--r-- root/root usr/share/libfm/ui/app-chooser.ui
+-rw-r--r-- root/root usr/share/libfm/ui/ask-rename.ui
+-rw-r--r-- root/root usr/share/libfm/ui/choose-icon.ui
+-rw-r--r-- root/root usr/share/libfm/ui/exec-file.ui
+-rw-r--r-- root/root usr/share/libfm/ui/file-prop.ui
+-rw-r--r-- root/root usr/share/libfm/ui/filesearch.ui
+-rw-r--r-- root/root usr/share/libfm/ui/preferred-apps.ui
+-rw-r--r-- root/root usr/share/libfm/ui/progress.ui
+drwxr-xr-x root/root usr/share/man/
+drwxr-xr-x root/root usr/share/man/man1/
+-rw-r--r-- root/root usr/share/man/man1/libfm-pref-apps.1.gz
+-rw-r--r-- root/root usr/share/man/man1/lxshortcut.1.gz
+drwxr-xr-x root/root usr/share/mime/
+drwxr-xr-x root/root usr/share/mime/packages/
+-rw-r--r-- root/root usr/share/mime/packages/libfm.xml
diff --git a/repos/xorg/libfm/abuild b/repos/xorg/libfm/abuild
new file mode 100644
index 00000000..d8e071e1
--- /dev/null
+++ b/repos/xorg/libfm/abuild
@@ -0,0 +1,37 @@
+name=libfm
+version=1.3.2
+release=1
+source="https://downloads.sourceforge.net/pcmanfm/$name-$version.tar.xz
+ gcc14-support.patch
+ fix-background-colour-gtk3.patch"
+build_opt="--with-gtk=3 --disable-old-actions"
+
+prebuild() {
+ # Update xarchiver option
+ # https://github.com/lxde/libfm/issues/35
+ sed -i 's/create=xarchiver --add-to %F/create=xarchiver --compress %F/' data/archivers.list
+
+ # disable gtk-doc
+ sed -ie '/^SUBDIR.*=/s#docs##' Makefile.am
+ sed -ie '/^[[:space:]]*docs/d' configure.ac
+
+ # faking gtkdocize
+ mkdir bin
+ touch bin/gtkdocize
+ chmod +x bin/gtkdocize
+ export PATH=$PATH:$PWD/bin
+
+ autoreconf -fi
+}
+
+postbuild() {
+ rm $PKG/usr/include/libfm
+ mv $PKG/usr/include/libfm-1.0 $PKG/usr/include/libfm
+ rm $PKG/usr/lib/libfm-extra.so* \
+ $PKG/usr/lib/libfm-extra.a \
+ $PKG/usr/lib/libfm-extra.la
+ rm $PKG/usr/lib/pkgconfig/libfm-extra.pc
+ rm $PKG/usr/include/libfm/fm-extra.h \
+ $PKG/usr/include/libfm/fm-version.h \
+ $PKG/usr/include/libfm/fm-xml-file.h
+}
diff --git a/repos/xorg/libfm/depends b/repos/xorg/libfm/depends
new file mode 100644
index 00000000..c5ebad1a
--- /dev/null
+++ b/repos/xorg/libfm/depends
@@ -0,0 +1,5 @@
+gtk3
+menu-cache
+libexif
+vala
+lxmenu-data
diff --git a/repos/xorg/libfm/fix-background-colour-gtk3.patch b/repos/xorg/libfm/fix-background-colour-gtk3.patch
new file mode 100644
index 00000000..77f5a901
--- /dev/null
+++ b/repos/xorg/libfm/fix-background-colour-gtk3.patch
@@ -0,0 +1,79 @@
+From 126358218ea22bc9fff02953db1e72bf96c9f184 Mon Sep 17 00:00:00 2001
+From: Livanh <livanh@protonmail.com>
+Date: Mon, 15 Mar 2021 16:13:23 +0100
+Subject: [PATCH 1/3] Fix background color with GTK3
+
+---
+ src/gtk/exo/exo-icon-view.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/src/gtk/exo/exo-icon-view.c b/src/gtk/exo/exo-icon-view.c
+index 3ce98099..62229e25 100644
+--- a/src/gtk/exo/exo-icon-view.c
++++ b/src/gtk/exo/exo-icon-view.c
+@@ -1878,6 +1878,16 @@ exo_icon_view_expose_event (GtkWidget *widget,
+
+ if (!gtk_cairo_should_draw_window (cr, priv->bin_window))
+ return FALSE;
++
++ /* draw a background according to the css theme */
++ style = gtk_widget_get_style_context (widget);
++ gtk_style_context_save (style);
++ gtk_style_context_add_class (style, GTK_STYLE_CLASS_VIEW);
++ gtk_render_background (style, cr,
++ 0, 0,
++ gtk_widget_get_allocated_width (widget),
++ gtk_widget_get_allocated_height (widget));
++ gtk_style_context_restore (style);
+ #endif
+
+ /* don't handle expose if the layout isn't done yet; the layout
+
+From 313bf9ee0a8bc318a50e17d22b7d963c29f51d0c Mon Sep 17 00:00:00 2001
+From: Livanh <livanh@protonmail.com>
+Date: Tue, 16 Mar 2021 15:50:55 +0100
+Subject: [PATCH 2/3] Remove unneeded call to gtk_widget_get_style_context()
+
+---
+ src/gtk/exo/exo-icon-view.c | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+diff --git a/src/gtk/exo/exo-icon-view.c b/src/gtk/exo/exo-icon-view.c
+index 62229e25..4eb13de4 100644
+--- a/src/gtk/exo/exo-icon-view.c
++++ b/src/gtk/exo/exo-icon-view.c
+@@ -1989,9 +1989,7 @@ exo_icon_view_expose_event (GtkWidget *widget,
+ }
+
+ if (G_UNLIKELY (dest_item != NULL || priv->doing_rubberband))
+-#if GTK_CHECK_VERSION(3, 0, 0)
+- style = gtk_widget_get_style_context (widget);
+-#else
++#if !GTK_CHECK_VERSION(3, 0, 0)
+ style = gtk_widget_get_style (widget);
+ #endif
+
+
+From 75d3986f8a0de55d7cd7235eb1f03e79bbe6e08a Mon Sep 17 00:00:00 2001
+From: Livanh <livanh@protonmail.com>
+Date: Tue, 16 Mar 2021 17:36:02 +0100
+Subject: [PATCH 3/3] Fix possible "if" condition with empty body
+
+---
+ src/gtk/exo/exo-icon-view.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/gtk/exo/exo-icon-view.c b/src/gtk/exo/exo-icon-view.c
+index 4eb13de4..893576cb 100644
+--- a/src/gtk/exo/exo-icon-view.c
++++ b/src/gtk/exo/exo-icon-view.c
+@@ -1988,8 +1988,8 @@ exo_icon_view_expose_event (GtkWidget *widget,
+ #endif
+ }
+
+- if (G_UNLIKELY (dest_item != NULL || priv->doing_rubberband))
+ #if !GTK_CHECK_VERSION(3, 0, 0)
++ if (G_UNLIKELY (dest_item != NULL || priv->doing_rubberband))
+ style = gtk_widget_get_style (widget);
+ #endif
+
diff --git a/repos/xorg/libfm/gcc14-support.patch b/repos/xorg/libfm/gcc14-support.patch
new file mode 100644
index 00000000..c04fd53c
--- /dev/null
+++ b/repos/xorg/libfm/gcc14-support.patch
@@ -0,0 +1,55 @@
+From ec6a21263d150aea918826941a80f335b45470a8 Mon Sep 17 00:00:00 2001
+From: Mamoru TASAKA <mtasaka@fedoraproject.org>
+Date: Fri, 1 Mar 2024 14:19:46 +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.
+
+Fixes #100 .
+---
+ 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 3ce98099..79e1c7ab 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 95d310d3..ce752758 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 e0ff5a06..df920254 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);
diff --git a/repos/xorg/libfm/postinstall b/repos/xorg/libfm/postinstall
new file mode 100755
index 00000000..e2d50975
--- /dev/null
+++ b/repos/xorg/libfm/postinstall
@@ -0,0 +1,3 @@
+#!/bin/sh
+update-mime-database /usr/share/mime
+update-desktop-database --quiet