aboutsummaryrefslogtreecommitdiff
path: root/repos/xorg/spacefm
diff options
context:
space:
mode:
authoremmett1 <emmett1.2miligrams@protonmail.com>2024-06-29 23:15:54 +0800
committeremmett1 <emmett1.2miligrams@protonmail.com>2024-06-29 23:15:54 +0800
commitae4593e20cef97c7323d522b40994a59425cd6d5 (patch)
tree7b3e8750bbbfa32e917869e325027108ee59ee85 /repos/xorg/spacefm
parentb5aa76f45da627817380276080b2b8bba6e74f68 (diff)
downloadalicelinux-ae4593e20cef97c7323d522b40994a59425cd6d5.tar.gz
alicelinux-ae4593e20cef97c7323d522b40994a59425cd6d5.zip
added xorg repo
Diffstat (limited to 'repos/xorg/spacefm')
-rw-r--r--repos/xorg/spacefm/.files56
-rw-r--r--repos/xorg/spacefm/abuild20
-rw-r--r--repos/xorg/spacefm/depends3
-rw-r--r--repos/xorg/spacefm/spacefm-9999-include-sysmacros.patch11
-rw-r--r--repos/xorg/spacefm/spacefm-dash.patch47
-rw-r--r--repos/xorg/spacefm/spacefm-fno-common.patch86
-rw-r--r--repos/xorg/spacefm/spacefm-gcc14-build-fix.patch76
-rw-r--r--repos/xorg/spacefm/x11-only.patch10
8 files changed, 309 insertions, 0 deletions
diff --git a/repos/xorg/spacefm/.files b/repos/xorg/spacefm/.files
new file mode 100644
index 00000000..0ca5ba8f
--- /dev/null
+++ b/repos/xorg/spacefm/.files
@@ -0,0 +1,56 @@
+drwxr-xr-x root/root etc/
+drwxr-xr-x root/root etc/spacefm/
+-rw-r--r-- root/root etc/spacefm/spacefm.conf.new
+drwxr-xr-x root/root usr/
+drwxr-xr-x root/root usr/bin/
+-rwxr-xr-x root/root usr/bin/spacefm
+-rwxr-xr-x root/root usr/bin/spacefm-auth
+-rwxr-xr-x root/root usr/bin/spacefm-installer
+drwxr-xr-x root/root usr/lib/
+drwxr-xr-x root/root usr/share/
+drwxr-xr-x root/root usr/share/applications/
+-rw-r--r-- root/root usr/share/applications/spacefm-find.desktop
+-rw-r--r-- root/root usr/share/applications/spacefm-folder-handler.desktop
+-rw-r--r-- root/root usr/share/applications/spacefm.desktop
+drwxr-xr-x root/root usr/share/icons/
+drwxr-xr-x root/root usr/share/icons/Faenza/
+drwxr-xr-x root/root usr/share/icons/Faenza/apps/
+drwxr-xr-x root/root usr/share/icons/Faenza/apps/48/
+-rw-r--r-- root/root usr/share/icons/Faenza/apps/48/spacefm-find.png
+-rw-r--r-- root/root usr/share/icons/Faenza/apps/48/spacefm-root.png
+-rw-r--r-- root/root usr/share/icons/Faenza/apps/48/spacefm.png
+drwxr-xr-x root/root usr/share/icons/hicolor/
+drwxr-xr-x root/root usr/share/icons/hicolor/128x128/
+drwxr-xr-x root/root usr/share/icons/hicolor/128x128/apps/
+-rw-r--r-- root/root usr/share/icons/hicolor/128x128/apps/spacefm-128-cube-blue.png
+-rw-r--r-- root/root usr/share/icons/hicolor/128x128/apps/spacefm-128-cube-green.png
+-rw-r--r-- root/root usr/share/icons/hicolor/128x128/apps/spacefm-128-cube-red.png
+-rw-r--r-- root/root usr/share/icons/hicolor/128x128/apps/spacefm-128-pyramid-blue.png
+-rw-r--r-- root/root usr/share/icons/hicolor/128x128/apps/spacefm-128-pyramid-green.png
+-rw-r--r-- root/root usr/share/icons/hicolor/128x128/apps/spacefm-128-pyramid-red.png
+drwxr-xr-x root/root usr/share/icons/hicolor/48x48/
+drwxr-xr-x root/root usr/share/icons/hicolor/48x48/apps/
+-rw-r--r-- root/root usr/share/icons/hicolor/48x48/apps/spacefm-48-cube-blue.png
+-rw-r--r-- root/root usr/share/icons/hicolor/48x48/apps/spacefm-48-cube-green.png
+-rw-r--r-- root/root usr/share/icons/hicolor/48x48/apps/spacefm-48-cube-red.png
+-rw-r--r-- root/root usr/share/icons/hicolor/48x48/apps/spacefm-48-folder-blue.png
+-rw-r--r-- root/root usr/share/icons/hicolor/48x48/apps/spacefm-48-folder-red.png
+-rw-r--r-- root/root usr/share/icons/hicolor/48x48/apps/spacefm-48-pyramid-blue.png
+-rw-r--r-- root/root usr/share/icons/hicolor/48x48/apps/spacefm-48-pyramid-green.png
+-rw-r--r-- root/root usr/share/icons/hicolor/48x48/apps/spacefm-48-pyramid-red.png
+-rw-r--r-- root/root usr/share/icons/hicolor/48x48/apps/spacefm-find.png
+-rw-r--r-- root/root usr/share/icons/hicolor/48x48/apps/spacefm-root.png
+-rw-r--r-- root/root usr/share/icons/hicolor/48x48/apps/spacefm.png
+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/spacefm-mime.xml
+drwxr-xr-x root/root usr/share/spacefm/
+drwxr-xr-x root/root usr/share/spacefm/ui/
+-rw-r--r-- root/root usr/share/spacefm/ui/about-dlg.ui
+-rw-r--r-- root/root usr/share/spacefm/ui/appchooserdlg.ui
+-rw-r--r-- root/root usr/share/spacefm/ui/file_properties.ui
+-rw-r--r-- root/root usr/share/spacefm/ui/find-files.ui
+-rw-r--r-- root/root usr/share/spacefm/ui/find-files2.ui
+-rw-r--r-- root/root usr/share/spacefm/ui/godlg.ui
+-rw-r--r-- root/root usr/share/spacefm/ui/prefdlg.ui
+-rw-r--r-- root/root usr/share/spacefm/ui/prefdlg2.ui
diff --git a/repos/xorg/spacefm/abuild b/repos/xorg/spacefm/abuild
new file mode 100644
index 00000000..515ba09d
--- /dev/null
+++ b/repos/xorg/spacefm/abuild
@@ -0,0 +1,20 @@
+name=spacefm
+version=1.0.6
+release=1
+source="https://github.com/IgnorantGuru/${name}/archive/${version}/${name}-${version}.tar.gz
+ spacefm-9999-include-sysmacros.patch
+ spacefm-dash.patch
+ spacefm-fno-common.patch
+ spacefm-gcc14-build-fix.patch
+ x11-only.patch"
+
+build() {
+ ./configure \
+ --prefix=/usr \
+ --disable-hal \
+ --disable-pixmaps \
+ --with-gtk3 \
+ --disable-video-thumbnails
+ make
+ make -j1 $DESTDIR=$PKG install
+}
diff --git a/repos/xorg/spacefm/depends b/repos/xorg/spacefm/depends
new file mode 100644
index 00000000..8ff81688
--- /dev/null
+++ b/repos/xorg/spacefm/depends
@@ -0,0 +1,3 @@
+gtk3
+intltool
+libudev-zero
diff --git a/repos/xorg/spacefm/spacefm-9999-include-sysmacros.patch b/repos/xorg/spacefm/spacefm-9999-include-sysmacros.patch
new file mode 100644
index 00000000..3a586bba
--- /dev/null
+++ b/repos/xorg/spacefm/spacefm-9999-include-sysmacros.patch
@@ -0,0 +1,11 @@
+--- a/src/main.c
++++ b/src/main.c
+@@ -30,6 +30,8 @@
+
+ #include <locale.h>
+
++#include <sys/sysmacros.h> /* for major/minor, dev_t */
++
+ #include "main-window.h"
+
+ #include "vfs-file-info.h"
diff --git a/repos/xorg/spacefm/spacefm-dash.patch b/repos/xorg/spacefm/spacefm-dash.patch
new file mode 100644
index 00000000..7b99fee4
--- /dev/null
+++ b/repos/xorg/spacefm/spacefm-dash.patch
@@ -0,0 +1,47 @@
+https://github.com/IgnorantGuru/spacefm/pull/813
+
+From 30fc0024a8f023277537db1e168294c21ca3b9b0 Mon Sep 17 00:00:00 2001
+From: orbea <orbea@riseup.net>
+Date: Sun, 7 May 2023 07:31:56 -0700
+Subject: [PATCH] configure.ac: fix bad substitutions with dash
+
+Uses POSIX compatible substitutions that is not specific to bash.
+
+Gentoo-Issue: https://bugs.gentoo.org/891181
+---
+ configure.ac | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 035da60e2..ec080e03f 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -40,11 +40,11 @@ bash_path="$withval"
+ # bash v4. SpaceFM runs bash as root and you WILL open root exploits if you
+ # disable this check, or run bash based on $PATH.
+ if test ! -z "$bash_path"; then
+- if test ! "${bash_path:0:1}" = "/"; then
++ if test "${bash_path%"${bash_path#?}"}" != "/"; then
+ AC_MSG_ERROR([Fatal Error: Option --with-bash-path requires absolute path.])
+ fi
+ echo "Modifying spacefm-auth to use bash path..."
+- bash_esc="${bash_path//\//\\/}"
++ bash_esc="$(printf %s "$bash_path" | sed "s|/|\\\/|g")"
+ sed "s/\(\/bin\/bash\)/$bash_esc/" src/spacefm-auth.bash > src/spacefm-auth
+ else
+ cp -pf src/spacefm-auth.bash src/spacefm-auth
+@@ -308,12 +308,12 @@ data/Makefile
+ ])
+
+ resolve_datadir="$(eval echo "$datadir")"
+-while [[ "${resolve_datadir:0:1}" == "$" ]]; do
++while test "${resolve_datadir%"${resolve_datadir#?}"}" = "\$"; do
+ resolve_datadir="$(eval echo "$resolve_datadir")"
+ done
+
+ resolve_htmldir="$(eval echo "$htmldir")"
+-while [[ "${resolve_htmldir:0:1}" == "$" ]]; do
++while test "${resolve_htmldir%"${resolve_htmldir#?}"}" = "\$"; do
+ resolve_htmldir="$(eval echo "$resolve_htmldir")"
+ done
+
diff --git a/repos/xorg/spacefm/spacefm-fno-common.patch b/repos/xorg/spacefm/spacefm-fno-common.patch
new file mode 100644
index 00000000..4cdc834a
--- /dev/null
+++ b/repos/xorg/spacefm/spacefm-fno-common.patch
@@ -0,0 +1,86 @@
+--- a/src/settings.c
++++ b/src/settings.c
+@@ -52,6 +52,24 @@
+ /* Dirty hack: check whether we are under LXDE or not */
+ #define is_under_LXDE() (g_getenv( "_LXSESSION_PID" ) != NULL)
+
++char* settings_terminal_su = NULL;
++char* settings_graphical_su = NULL;
++GList* xset_cmd_history = NULL;
++XSet* evt_win_focus = NULL;
++XSet* evt_win_move = NULL;
++XSet* evt_win_click = NULL;
++XSet* evt_win_key = NULL;
++XSet* evt_win_close = NULL;
++XSet* evt_pnl_show = NULL;
++XSet* evt_pnl_focus = NULL;
++XSet* evt_pnl_sel = NULL;
++XSet* evt_tab_new = NULL;
++XSet* evt_tab_chdir = NULL;
++XSet* evt_tab_focus = NULL;
++XSet* evt_tab_close = NULL;
++XSet* evt_device = NULL;
++
++
+ AppSettings app_settings = {0};
+ /* const gboolean singleInstance_default = TRUE; */
+ const gboolean show_hidden_files_default = FALSE;
+--- a/src/settings.h
++++ b/src/settings.h
+@@ -120,7 +120,7 @@ const char* xset_get_user_tmp_dir();
+ ///////////////////////////////////////////////////////////////////////////////
+ //MOD extra settings below
+
+-GList* xsets;
++extern GList* xsets;
+
+ enum {
+ XSET_B_UNSET,
+@@ -311,22 +311,22 @@ typedef struct
+ } XMenuItem;
+
+ // cache these for speed in event handlers
+-XSet* evt_win_focus;
+-XSet* evt_win_move;
+-XSet* evt_win_click;
+-XSet* evt_win_key;
+-XSet* evt_win_close;
+-XSet* evt_pnl_show;
+-XSet* evt_pnl_focus;
+-XSet* evt_pnl_sel;
+-XSet* evt_tab_new;
+-XSet* evt_tab_chdir;
+-XSet* evt_tab_focus;
+-XSet* evt_tab_close;
+-XSet* evt_device;
++extern XSet* evt_win_focus;
++extern XSet* evt_win_move;
++extern XSet* evt_win_click;
++extern XSet* evt_win_key;
++extern XSet* evt_win_close;
++extern XSet* evt_pnl_show;
++extern XSet* evt_pnl_focus;
++extern XSet* evt_pnl_sel;
++extern XSet* evt_tab_new;
++extern XSet* evt_tab_chdir;
++extern XSet* evt_tab_focus;
++extern XSet* evt_tab_close;
++extern XSet* evt_device;
+
+ // instance-wide command history
+-GList* xset_cmd_history;
++extern GList* xset_cmd_history;
+
+ static const char* terminal_programs[] = //for pref-dialog.c
+ {
+@@ -374,8 +374,8 @@ static const char* gsu_commands[] = // order and contents must match prefdlg.ui
+ };
+
+ // These will contain the su and gsu settings from /etc/spacefm/spacefm.conf
+-char* settings_terminal_su;
+-char* settings_graphical_su;
++extern char* settings_terminal_su;
++extern char* settings_graphical_su;
+
+ typedef struct
+ {
diff --git a/repos/xorg/spacefm/spacefm-gcc14-build-fix.patch b/repos/xorg/spacefm/spacefm-gcc14-build-fix.patch
new file mode 100644
index 00000000..7212241c
--- /dev/null
+++ b/repos/xorg/spacefm/spacefm-gcc14-build-fix.patch
@@ -0,0 +1,76 @@
+https://github.com/IgnorantGuru/spacefm/pull/816
+From: Brahmajit Das <brahmajit.xyz@gmail.com>
+Date: Mon, 22 Apr 2024 02:09:09 +0530
+Subject: [PATCH 1/1] 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 <brahmajit.xyz@gmail.com>
+--- 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))
+--- 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);
+ }
+--- 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),
+--
+2.44.0
+
diff --git a/repos/xorg/spacefm/x11-only.patch b/repos/xorg/spacefm/x11-only.patch
new file mode 100644
index 00000000..1b2f9f14
--- /dev/null
+++ b/repos/xorg/spacefm/x11-only.patch
@@ -0,0 +1,10 @@
+--- a/src/main.c 2021-02-09 13:54:32.847364236 +0100
++++ b/src/main.c 2021-02-09 10:41:51.541203271 +0100
+@@ -1350,6 +1351,7 @@
+ vfs_file_monitor_clean();
+ return 1;
+ }
++ gdk_set_allowed_backends("x11");
+ gtk_init (&argc, &argv);
+ int ret = custom_dialog_init( argc, argv );
+ if ( ret != 0 )