summaryrefslogtreecommitdiff
path: root/net/onedrivegui
diff options
context:
space:
mode:
Diffstat (limited to 'net/onedrivegui')
-rw-r--r--net/onedrivegui/Makefile50
-rw-r--r--net/onedrivegui/distinfo3
-rw-r--r--net/onedrivegui/files/onedrivegui.sh.in4
-rw-r--r--net/onedrivegui/files/patch-src_global__config.py11
-rw-r--r--net/onedrivegui/files/patch-src_resources_OneDriveGUI.desktop18
-rw-r--r--net/onedrivegui/pkg-descr17
-rw-r--r--net/onedrivegui/pkg-plist65
7 files changed, 168 insertions, 0 deletions
diff --git a/net/onedrivegui/Makefile b/net/onedrivegui/Makefile
new file mode 100644
index 000000000000..d261549201f7
--- /dev/null
+++ b/net/onedrivegui/Makefile
@@ -0,0 +1,50 @@
+PORTNAME= onedrivegui
+DISTVERSION= 1.2.1
+DISTVERSIONPREFIX= v
+CATEGORIES= net python
+
+MAINTAINER= acm@FreeBSD.org
+COMMENT= simple GUI for OneDrive client with multi-account support
+WWW= https://github.com/bpozdena/OneDriveGUI
+
+LICENSE= GPLv3
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+RUN_DEPENDS= onedrive:net/onedrive \
+ ${PYTHON_PKGNAMEPREFIX}pyside6>0:devel/pyside6@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}requests>0:www/py-requests@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}urllib3>0:net/py-urllib3@${PY_FLAVOR}
+
+USE_GITHUB= yes
+GH_ACCOUNT= bpozdena
+GH_PROJECT= OneDriveGUI
+
+USES= desktop-file-utils python shebangfix
+
+NO_ARCH= yes
+NO_BUILD= yes
+
+SHEBANG_LANG= python
+SHEBANG_GLOB= *.py
+
+SUB_FILES= onedrivegui.sh
+
+post-patch:
+ ${REINPLACE_CMD} -i "" -e "s|%%DATADIR%%|${DATADIR}|g" ${WRKSRC}/src/global_config.py
+ ${REINPLACE_CMD} -i "" -e "s|%%PYTHON_CMD%%|${PYTHON_CMD}|g" \
+ -e "s|%%DATADIR%%|${DATADIR}|g" ${WRKSRC}/src/resources/OneDriveGUI.desktop
+ ${RM} ${WRKSRC}/src/resources/OneDriveGUI.desktop.orig
+ ${RM} ${WRKSRC}/src/global_config.py.orig
+
+do-install:
+ @${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/48x48/apps
+ @${MKDIR} ${STAGEDIR}${DATADIR}
+
+ ${INSTALL_DATA} ${WRKSRC}/src/resources/images/OneDriveGUI.png ${STAGEDIR}${PREFIX}/share/icons/hicolor/48x48/apps/onedrivegui.png
+ ${INSTALL_DATA} ${WRKSRC}/src/resources/OneDriveGUI.desktop ${STAGEDIR}${DESKTOPDIR}
+
+ @cd ${WRKSRC}/src && ${COPYTREE_SHARE} "resources settings ui utils" ${STAGEDIR}${DATADIR}/
+ ${INSTALL_SCRIPT} ${WRKSRC}/src/*.py ${STAGEDIR}${DATADIR}
+ ${INSTALL_SCRIPT} ${WRKDIR}/${PORTNAME}.sh ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
+
+.include <bsd.port.mk>
diff --git a/net/onedrivegui/distinfo b/net/onedrivegui/distinfo
new file mode 100644
index 000000000000..3cbd1a2282e4
--- /dev/null
+++ b/net/onedrivegui/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1752769251
+SHA256 (bpozdena-OneDriveGUI-v1.2.1_GH0.tar.gz) = 50320c5df5ad599da673af35a0f5d0c80a0f9d4f979333a06a762017a64224c5
+SIZE (bpozdena-OneDriveGUI-v1.2.1_GH0.tar.gz) = 112478
diff --git a/net/onedrivegui/files/onedrivegui.sh.in b/net/onedrivegui/files/onedrivegui.sh.in
new file mode 100644
index 000000000000..224e2878df1e
--- /dev/null
+++ b/net/onedrivegui/files/onedrivegui.sh.in
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+cd %%DATADIR%% || exit 1
+exec %%DATADIR%%/OneDriveGUI.py "$@"
diff --git a/net/onedrivegui/files/patch-src_global__config.py b/net/onedrivegui/files/patch-src_global__config.py
new file mode 100644
index 000000000000..3455329b4b49
--- /dev/null
+++ b/net/onedrivegui/files/patch-src_global__config.py
@@ -0,0 +1,11 @@
+--- src/global_config.py.orig 2025-06-16 11:23:57 UTC
++++ src/global_config.py
+@@ -7,7 +7,7 @@ from configparser import ConfigParser
+ from configparser import ConfigParser
+
+
+-DIR_PATH = os.path.dirname(os.path.realpath(__file__))
++DIR_PATH = "/usr/local/share/onedrivegui"
+ PROFILES_FILE = os.path.expanduser("~/.config/onedrive-gui/profiles")
+
+
diff --git a/net/onedrivegui/files/patch-src_resources_OneDriveGUI.desktop b/net/onedrivegui/files/patch-src_resources_OneDriveGUI.desktop
new file mode 100644
index 000000000000..02801c7b71da
--- /dev/null
+++ b/net/onedrivegui/files/patch-src_resources_OneDriveGUI.desktop
@@ -0,0 +1,18 @@
+--- src/resources/OneDriveGUI.desktop.orig 2025-06-16 11:23:57 UTC
++++ src/resources/OneDriveGUI.desktop
+@@ -1,8 +1,10 @@ Name=OneDriveGUI
+ [Desktop Entry]
+ Name=OneDriveGUI
++GenericName=OneDrive Client for FreeBSD
+ StartupNotify=true
+-Exec=/usr/bin/python3 /home/bob/host_share/Python/OneDriveGUI/src/OneDriveGUI.py
++Exec=onedrivegui
+ Terminal=false
+-Path=/home/bob/host_share/Python/OneDriveGUI/src/resources/images
+-Icon=/home/bob/host_share/Python/OneDriveGUI/src/resources/images/icons8-clouds-48.png
+-Type=Application
+\ No newline at end of file
++Icon=onedrivegui
++Categories=Network;
++Type=Application
++
diff --git a/net/onedrivegui/pkg-descr b/net/onedrivegui/pkg-descr
new file mode 100644
index 000000000000..4d09332bf7ba
--- /dev/null
+++ b/net/onedrivegui/pkg-descr
@@ -0,0 +1,17 @@
+A GUI for FreeBSD/Linux OneDrive Client with multi-account support.
+
+Feature Highlights
+- Management and configuration of multiple OneDrive accounts.
+- Asynchronous real-time monitoring of multiple OneDrive accounts.
+- Setup wizard for easy OneDrive profile creation and import.
+- Auto-sync on GUI startup.
+- Support for GUI-based login process.
+- System tray (if supported by your desktop environment).
+- Start minimized to tray/dock.
+- Input validation to prevent configuration of incompatible OneDrive client
+ options.
+- Progress monitoring of multiple simultaneous file transfers.
+- Import and management of SharePoint Shared Libraries.
+- Tooltips with brief explanations of various OneDrive Client configuration
+ options.
+- Prompt for re-sync authorization to prevent unexpected data loss.
diff --git a/net/onedrivegui/pkg-plist b/net/onedrivegui/pkg-plist
new file mode 100644
index 000000000000..0f2a60537438
--- /dev/null
+++ b/net/onedrivegui/pkg-plist
@@ -0,0 +1,65 @@
+bin/onedrivegui
+share/applications/OneDriveGUI.desktop
+share/icons/hicolor/48x48/apps/onedrivegui.png
+%%DATADIR%%/OneDriveGUI.py
+%%DATADIR%%/global_config.py
+%%DATADIR%%/gui_settings_window.py
+%%DATADIR%%/logger.py
+%%DATADIR%%/main_window.py
+%%DATADIR%%/options.py
+%%DATADIR%%/profile_settings_window.py
+%%DATADIR%%/resources/OneDriveGUI.desktop
+%%DATADIR%%/resources/default_config
+%%DATADIR%%/resources/images/OneDriveGUI.ico
+%%DATADIR%%/resources/images/OneDriveGUI.png
+%%DATADIR%%/resources/images/account.png
+%%DATADIR%%/resources/images/close-filled.png
+%%DATADIR%%/resources/images/folder.png
+%%DATADIR%%/resources/images/gear.png
+%%DATADIR%%/resources/images/icons8-cloud-cross-40_2.png
+%%DATADIR%%/resources/images/icons8-cloud-done-40_2.png
+%%DATADIR%%/resources/images/icons8-cloud-sync-40_2.png
+%%DATADIR%%/resources/images/icons8-clouds-48.ico
+%%DATADIR%%/resources/images/icons8-clouds-48.png
+%%DATADIR%%/resources/images/icons8-clouds-80-dark-edge.png
+%%DATADIR%%/resources/images/icons8-green-circle-48.png
+%%DATADIR%%/resources/images/icons8-red-circle-48.png
+%%DATADIR%%/resources/images/menu.png
+%%DATADIR%%/resources/images/pause.png
+%%DATADIR%%/resources/images/play.png
+%%DATADIR%%/resources/images/quit.png
+%%DATADIR%%/resources/images/stop.png
+%%DATADIR%%/resources/images/storage.png
+%%DATADIR%%/resources/images/user-account.png
+%%DATADIR%%/resources/images/warning.png
+%%DATADIR%%/settings/__init__.py
+%%DATADIR%%/settings/gui_settings.py
+%%DATADIR%%/ui/create_new_profile.ui
+%%DATADIR%%/ui/external_login.ui
+%%DATADIR%%/ui/gui_settings_window.ui
+%%DATADIR%%/ui/import_existing_profile.ui
+%%DATADIR%%/ui/list_item_widget.ui
+%%DATADIR%%/ui/login.ui
+%%DATADIR%%/ui/mainwindow.ui
+%%DATADIR%%/ui/mainwindow.ui.autosave
+%%DATADIR%%/ui/mainwindow_ui.py
+%%DATADIR%%/ui/process_status_page.ui
+%%DATADIR%%/ui/profile_settings_page.ui
+%%DATADIR%%/ui/profile_settings_window.ui
+%%DATADIR%%/ui/profile_settings_window_ui.py
+%%DATADIR%%/ui/setup_wizard.ui
+%%DATADIR%%/ui/test.ui
+%%DATADIR%%/ui/ui_create_new_profile.py
+%%DATADIR%%/ui/ui_external_login.py
+%%DATADIR%%/ui/ui_gui_settings_window.py
+%%DATADIR%%/ui/ui_import_existing_profile.py
+%%DATADIR%%/ui/ui_list_item_widget.py
+%%DATADIR%%/ui/ui_login.py
+%%DATADIR%%/ui/ui_mainwindow.py
+%%DATADIR%%/ui/ui_process_status_page.py
+%%DATADIR%%/ui/ui_profile_settings_page.py
+%%DATADIR%%/ui/ui_profile_settings_window.py
+%%DATADIR%%/utils/__init__.py
+%%DATADIR%%/utils/utils.py
+%%DATADIR%%/wizard.py
+%%DATADIR%%/workers.py