git: 2ed96e28b362 - main - deskutils/spacefm: New port: SpaceFM file manager
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 21 Feb 2023 09:05:35 UTC
The branch main has been updated by yuri: URL: https://cgit.FreeBSD.org/ports/commit/?id=2ed96e28b3629d97e11811ce68b609ec3f2fe629 commit 2ed96e28b3629d97e11811ce68b609ec3f2fe629 Author: Yuri Victorovich <yuri@FreeBSD.org> AuthorDate: 2023-02-21 07:12:11 +0000 Commit: Yuri Victorovich <yuri@FreeBSD.org> CommitDate: 2023-02-21 09:05:29 +0000 deskutils/spacefm: New port: SpaceFM file manager --- deskutils/Makefile | 1 + deskutils/spacefm/Makefile | 68 +++++++++++++ deskutils/spacefm/distinfo | 3 + deskutils/spacefm/files/patch-src_settings.c | 10 ++ .../spacefm/files/patch-src_vfs_vfs-file-info.h | 11 +++ .../spacefm/files/patch-src_vfs_vfs-volume-nohal.c | 105 +++++++++++++++++++++ deskutils/spacefm/pkg-descr | 4 + deskutils/spacefm/pkg-plist | 84 +++++++++++++++++ 8 files changed, 286 insertions(+) diff --git a/deskutils/Makefile b/deskutils/Makefile index 2dc79156f89e..8848397fb8f3 100644 --- a/deskutils/Makefile +++ b/deskutils/Makefile @@ -246,6 +246,7 @@ SUBDIR += sliderule SUBDIR += solanum SUBDIR += sowon + SUBDIR += spacefm SUBDIR += spice-gtk SUBDIR += subsurface SUBDIR += synapse diff --git a/deskutils/spacefm/Makefile b/deskutils/spacefm/Makefile new file mode 100644 index 000000000000..234c72db8622 --- /dev/null +++ b/deskutils/spacefm/Makefile @@ -0,0 +1,68 @@ +PORTNAME= spacefm +DISTVERSION= 1.0.6 +CATEGORIES= deskutils + +MAINTAINER= yuri@FreeBSD.org +COMMENT= SpaceFM file manager +WWW= https://ignorantguru.github.io/spacefm + +LICENSE= GPLv3 +LICENSE_FILE= ${WRKSRC}/COPYING + +BUILD_DEPENDS= bash:shells/bash # for configure +LIB_DEPENDS= libffmpegthumbnailer.so:multimedia/ffmpegthumbnailer \ + libinotify.so:devel/libinotify \ + libstartup-notification-1.so:x11/startup-notification \ + libudev.so:devel/libudev-devd +RUN_DEPENDS= bash:shells/bash + +USES= desktop-file-utils gettext gmake gnome localbase:ldflags \ + pkgconfig shared-mime-info shebangfix xorg +USE_GNOME= cairo gdkpixbuf2 glib20 gtk20 intltool pango +USE_XORG= x11 + +USE_GITHUB= yes +GH_ACCOUNT= IgnorantGuru + +SHEBANG_FILES= src/spacefm-auth.bash spacefm-installer + +GNU_CONFIGURE= yes +CONFIGURE_SHELL= ${PREFIX}/bin/bash +CONFIGURE_ARGS= --sysconfdir=${LOCALBASE}/etc \ + --with-bash-path=${LOCALBASE}/bin/bash + +CFLAGS+= -Dstat64=stat -Dfstat64=fstat -Dlstat64=lstat \ + -fcommon +LDFLAGS+= -lX11 -linotify + +OPTIONS_DEFINE= DOCS +OPTIONS_GROUP= OPT_DEPS +OPTIONS_GROUP_OPT_DEPS= CURLFTPFS IFUSE JMTPFS LSOF PHOTOFS + +PORTDOCS= * + +CURLFTPFS_DESC= Mount FTP shares +CURLFTPFS_RUN_DEPENDS= fusefs-curlftpfs>0:sysutils/fusefs-curlftpfs + +IFUSE_DESC= Mount your iPhone/iPod Touch +IFUSE_RUN_DEPENDS= fusefs-ifuse>0:sysutils/fusefs-ifuse + +JMTPFS_DESC= Mount MTP devices +JMTPFS_RUN_DEPENDS= fusefs-jmtpfs>0:sysutils/fusefs-jmtpfs + +LSOF_DESC= Device processes +LSOF_RUN_DEPENDS= lsof:sysutils/lsof + +PHOTOFS_DESC= Mount cameras +PHOTOFS_RUN_DEPENDS= fusefs-gphotofs>0:graphics/fusefs-gphotofs + +post-patch: + @${REINPLACE_CMD} -e 's|#!/bin/bash|#!${LOCALBASE}/bin/bash|' \ + ${WRKSRC}/src/ptk/ptk-handler.c + @${REINPLACE_CMD} -e '\ + s|^/bin/bash|${LOCALBASE}/bin/bash|; \ + s|/usr/bin/sha256sum|/sbin/sha256| \ + ' \ + ${WRKSRC}/src/spacefm-auth.bash + +.include <bsd.port.mk> diff --git a/deskutils/spacefm/distinfo b/deskutils/spacefm/distinfo new file mode 100644 index 000000000000..d512763c508d --- /dev/null +++ b/deskutils/spacefm/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1676930139 +SHA256 (IgnorantGuru-spacefm-1.0.6_GH0.tar.gz) = fedea9fcad776e0af4b8d90c5a1c86684a9c96ef1cdd4e959530ce93bdebe7c9 +SIZE (IgnorantGuru-spacefm-1.0.6_GH0.tar.gz) = 3498587 diff --git a/deskutils/spacefm/files/patch-src_settings.c b/deskutils/spacefm/files/patch-src_settings.c new file mode 100644 index 000000000000..8d9b84e42548 --- /dev/null +++ b/deskutils/spacefm/files/patch-src_settings.c @@ -0,0 +1,10 @@ +--- src/settings.c.orig 2023-02-20 22:03:12 UTC ++++ src/settings.c +@@ -21,6 +21,7 @@ + #include <stdlib.h> + #include <unistd.h> + #include <sys/stat.h> ++#include <sys/wait.h> + + #include "glib-utils.h" /* for g_mkdir_with_parents() */ + #include <glib/gi18n.h> diff --git a/deskutils/spacefm/files/patch-src_vfs_vfs-file-info.h b/deskutils/spacefm/files/patch-src_vfs_vfs-file-info.h new file mode 100644 index 000000000000..d3bcc842f098 --- /dev/null +++ b/deskutils/spacefm/files/patch-src_vfs_vfs-file-info.h @@ -0,0 +1,11 @@ +--- src/vfs/vfs-file-info.h.orig 2023-02-20 22:01:54 UTC ++++ src/vfs/vfs-file-info.h +@@ -56,7 +56,7 @@ struct _VFSFileInfo + time_t mtime; + time_t atime; + long blksize; //sfm was long then blksize_t but blksize_t not defined for squeeze gcc +- blkcnt64_t blocks; //sfm was blkcnt_t ++ blkcnt_t blocks; //sfm was blkcnt_t + + char* name; /* real name on file system */ + char* disp_name; /* displayed name (in UTF-8) */ diff --git a/deskutils/spacefm/files/patch-src_vfs_vfs-volume-nohal.c b/deskutils/spacefm/files/patch-src_vfs_vfs-volume-nohal.c new file mode 100644 index 000000000000..1a9e9198f04b --- /dev/null +++ b/deskutils/spacefm/files/patch-src_vfs_vfs-volume-nohal.c @@ -0,0 +1,105 @@ +--- src/vfs/vfs-volume-nohal.c.orig 2023-02-20 22:04:57 UTC ++++ src/vfs/vfs-volume-nohal.c +@@ -35,8 +35,8 @@ + #include <sys/wait.h> + + #include <signal.h> // kill +-#include <linux/kdev_t.h> // MAJOR MINOR +-#include <sys/sysmacros.h> // needed for dev_t ++//#include <linux/kdev_t.h> // MAJOR MINOR ++//#include <sys/sysmacros.h> // needed for dev_t + + #ifdef HAVE_STATVFS + #include <sys/statvfs.h> +@@ -1000,6 +1000,7 @@ void info_device_properties( device_t *device ) + + gchar* info_mount_points( device_t *device ) + { ++#if 0 + gchar *contents; + gchar **lines; + GError *error; +@@ -1137,6 +1138,10 @@ gchar* info_mount_points( device_t *device ) + } + else + return NULL; ++ ++#else ++ return NULL; ++#endif + } + + void info_partition_table( device_t *device ) +@@ -1489,9 +1494,11 @@ char* device_show_info( device_t *device ) + + line[i++] = g_strdup_printf("Showing information for %s\n", device->devnode ); + line[i++] = g_strdup_printf(" native-path: %s\n", device->native_path ); ++#if 0 + line[i++] = g_strdup_printf(" device: %u:%u\n", + (unsigned int)MAJOR( device->devnum ), + (unsigned int)MINOR( device->devnum ) ); ++#endif + line[i++] = g_strdup_printf(" device-file: %s\n", device->devnode ); + line[i++] = g_strdup_printf(" presentation: %s\n", device->devnode ); + if ( device->device_by_id ) +@@ -1945,11 +1952,13 @@ void parse_mounts( gboolean report ) + if ( volume = vfs_volume_read_by_mount( devnum, + devmount->mount_points ) ) + { ++#if 0 + printf( "special mount changed: %s (%u:%u) on %s\n", + volume->device_file, + (unsigned int)MAJOR( volume->devnum ), + (unsigned int)MINOR( volume->devnum ), + devmount->mount_points ); ++#endif + vfs_volume_device_added( volume, FALSE ); //frees volume if needed + } + else +@@ -2465,8 +2474,12 @@ void vfs_volume_set_info( VFSVolume* volume ) + disp_fstype = g_strdup( volume->fs_type );// g_strdup_printf( "-%s", volume->fs_type ); + else + disp_fstype = g_strdup( "" ); ++#if 0 + disp_devnum = g_strdup_printf( "%u:%u", (unsigned int)MAJOR( volume->devnum ), + (unsigned int)MINOR( volume->devnum ) ); ++#else ++ disp_devnum = g_strdup_printf( "" ); ++#endif + + char* fmt = xset_get_s( "dev_dispname" ); + if ( !fmt ) +@@ -3652,6 +3665,7 @@ gboolean vfs_volume_is_automount( VFSVolume* vol ) + + char* vfs_volume_device_info( VFSVolume* vol ) + { ++#if 0 + struct udev_device* udevice = udev_device_new_from_devnum( udev, 'b', + vol->devnum ); + if ( udevice == NULL ) +@@ -3671,6 +3685,9 @@ char* vfs_volume_device_info( VFSVolume* vol ) + device_free( device ); + udev_device_unref( udevice ); + return info; ++#else ++ return g_strdup_printf( _("( no udev device )") ); ++#endif + } + + char* vfs_volume_device_mount_cmd( VFSVolume* vol, const char* options, +@@ -4203,6 +4220,7 @@ static void vfs_volume_device_added( VFSVolume* volume + + static gboolean vfs_volume_nonblock_removed( dev_t devnum ) + { ++#if 0 + GList* l; + VFSVolume* volume; + +@@ -4226,6 +4244,7 @@ static gboolean vfs_volume_nonblock_removed( dev_t dev + return TRUE; + } + } ++#endif + return FALSE; + } + diff --git a/deskutils/spacefm/pkg-descr b/deskutils/spacefm/pkg-descr new file mode 100644 index 000000000000..16f3c2e86ddb --- /dev/null +++ b/deskutils/spacefm/pkg-descr @@ -0,0 +1,4 @@ +SpaceFM is a multi-panel tabbed file and desktop manager for Linux with built-in +VFS, udev- or HAL-based device manager, customisable menu system, and bash-GTK +integration. SpaceFM aims to provide a stable, capable file manager with +significant customisation capabilities. diff --git a/deskutils/spacefm/pkg-plist b/deskutils/spacefm/pkg-plist new file mode 100644 index 000000000000..75506f1c21a6 --- /dev/null +++ b/deskutils/spacefm/pkg-plist @@ -0,0 +1,84 @@ +bin/spacefm +bin/spacefm-auth +bin/spacefm-installer +%%ETCDIR%%/spacefm.conf +share/applications/spacefm-find.desktop +share/applications/spacefm-folder-handler.desktop +share/applications/spacefm.desktop +share/icons/Faenza/apps/48/spacefm-find.png +share/icons/Faenza/apps/48/spacefm-root.png +share/icons/Faenza/apps/48/spacefm.png +share/icons/hicolor/128x128/apps/spacefm-128-cube-blue.png +share/icons/hicolor/128x128/apps/spacefm-128-cube-green.png +share/icons/hicolor/128x128/apps/spacefm-128-cube-red.png +share/icons/hicolor/128x128/apps/spacefm-128-pyramid-blue.png +share/icons/hicolor/128x128/apps/spacefm-128-pyramid-green.png +share/icons/hicolor/128x128/apps/spacefm-128-pyramid-red.png +share/icons/hicolor/48x48/apps/spacefm-48-cube-blue.png +share/icons/hicolor/48x48/apps/spacefm-48-cube-green.png +share/icons/hicolor/48x48/apps/spacefm-48-cube-red.png +share/icons/hicolor/48x48/apps/spacefm-48-folder-blue.png +share/icons/hicolor/48x48/apps/spacefm-48-folder-red.png +share/icons/hicolor/48x48/apps/spacefm-48-pyramid-blue.png +share/icons/hicolor/48x48/apps/spacefm-48-pyramid-green.png +share/icons/hicolor/48x48/apps/spacefm-48-pyramid-red.png +share/icons/hicolor/48x48/apps/spacefm-find.png +share/icons/hicolor/48x48/apps/spacefm-root.png +share/icons/hicolor/48x48/apps/spacefm.png +share/locale/af/LC_MESSAGES/spacefm.mo +share/locale/ar/LC_MESSAGES/spacefm.mo +share/locale/bg/LC_MESSAGES/spacefm.mo +share/locale/bn_IN/LC_MESSAGES/spacefm.mo +share/locale/ca/LC_MESSAGES/spacefm.mo +share/locale/cs/LC_MESSAGES/spacefm.mo +share/locale/da/LC_MESSAGES/spacefm.mo +share/locale/de/LC_MESSAGES/spacefm.mo +share/locale/el/LC_MESSAGES/spacefm.mo +share/locale/es/LC_MESSAGES/spacefm.mo +share/locale/et/LC_MESSAGES/spacefm.mo +share/locale/eu/LC_MESSAGES/spacefm.mo +share/locale/fa/LC_MESSAGES/spacefm.mo +share/locale/fi/LC_MESSAGES/spacefm.mo +share/locale/fr/LC_MESSAGES/spacefm.mo +share/locale/gl/LC_MESSAGES/spacefm.mo +share/locale/he/LC_MESSAGES/spacefm.mo +share/locale/hr/LC_MESSAGES/spacefm.mo +share/locale/hu/LC_MESSAGES/spacefm.mo +share/locale/id/LC_MESSAGES/spacefm.mo +share/locale/it/LC_MESSAGES/spacefm.mo +share/locale/ja/LC_MESSAGES/spacefm.mo +share/locale/km/LC_MESSAGES/spacefm.mo +share/locale/ko/LC_MESSAGES/spacefm.mo +share/locale/lt/LC_MESSAGES/spacefm.mo +share/locale/ltg/LC_MESSAGES/spacefm.mo +share/locale/ml/LC_MESSAGES/spacefm.mo +share/locale/ms/LC_MESSAGES/spacefm.mo +share/locale/nb/LC_MESSAGES/spacefm.mo +share/locale/nl/LC_MESSAGES/spacefm.mo +share/locale/nn/LC_MESSAGES/spacefm.mo +share/locale/pl/LC_MESSAGES/spacefm.mo +share/locale/ps/LC_MESSAGES/spacefm.mo +share/locale/pt/LC_MESSAGES/spacefm.mo +share/locale/pt_BR/LC_MESSAGES/spacefm.mo +share/locale/ru/LC_MESSAGES/spacefm.mo +share/locale/sk/LC_MESSAGES/spacefm.mo +share/locale/sl/LC_MESSAGES/spacefm.mo +share/locale/sr/LC_MESSAGES/spacefm.mo +share/locale/sr@latin/LC_MESSAGES/spacefm.mo +share/locale/sv/LC_MESSAGES/spacefm.mo +share/locale/tr/LC_MESSAGES/spacefm.mo +share/locale/uk/LC_MESSAGES/spacefm.mo +share/locale/ur/LC_MESSAGES/spacefm.mo +share/locale/ur_PK/LC_MESSAGES/spacefm.mo +share/locale/vi/LC_MESSAGES/spacefm.mo +share/locale/zh_CN/LC_MESSAGES/spacefm.mo +share/locale/zh_TW/LC_MESSAGES/spacefm.mo +share/mime/packages/spacefm-mime.xml +%%DATADIR%%/ui/about-dlg.ui +%%DATADIR%%/ui/appchooserdlg.ui +%%DATADIR%%/ui/file_properties.ui +%%DATADIR%%/ui/find-files.ui +%%DATADIR%%/ui/find-files2.ui +%%DATADIR%%/ui/godlg.ui +%%DATADIR%%/ui/prefdlg.ui +%%DATADIR%%/ui/prefdlg2.ui