diff --git a/net/onedrive/Makefile b/net/onedrive/Makefile index e5e6522178..0ace88a66f 100644 --- a/net/onedrive/Makefile +++ b/net/onedrive/Makefile @@ -2,62 +2,45 @@ PORTNAME= onedrive DISTVERSIONPREFIX= v -DISTVERSION= 2.3.3 -PORTREVISION= 1 +DISTVERSION= 2.4.3 CATEGORIES= net MAINTAINER= hiroo.ono+freebsd@gmail.com COMMENT= OneDrive Free client LICENSE= GPLv3 +LICENSE_FILE= ${WRKSRC}/LICENSE LIB_DEPENDS= libcurl.so:ftp/curl \ libinotify.so:devel/libinotify BUILD_DEPENDS= ldc2:lang/ldc RUN_DEPENDS= ${LOCALBASE}/sbin/logrotate:sysutils/logrotate -USES= gmake pkgconfig sqlite +USES= autoreconf gmake pkgconfig sqlite USE_GITHUB= yes GH_ACCOUNT= abraunegg +GNU_CONFIGURE= yes PKGCONFIG= pkgconf -MAKE_ARGS= DC=ldc2 -INSTALL_TARGET= install.noservice -OPTIONS_DEFINE= DOCS NOTIFY BASH ZSH -OPTIONS_DEFAULT= DOCS NOTIFY BASH ZSH +OPTIONS_DEFINE= NOTIFY COMPLETION +OPTIONS_DEFAULT= NOTIFY COMPLETION OPTIONS_SUB= yes -DOCFILES= README.md README.Office365.md config CHANGELOG.md - -NOTIFY_VARS= NOTIFICATIONS=1 +NOTIFY_CONFIGURE_ENABLE= notifications NOTIFY_USES= gnome -NOTIFY_USE= GNOME=glib20 +NOTIFY_USE= GNOME=glib20,gdkpixbuf2 NOTIFY_LIB_DEPENDS= libnotify.so:devel/libnotify -BASH_COMPLETION_DIR= ${LOCALBASE}/share/bash-completion/completions -ZSH_COMPLETION_DIR= ${LOCALBASE}/share/zsh/site-functions +COMPLETION_DESC= Install completion for BASH and ZSH +COMPLETION_CONFIGURE_ENABLE= completions + +ONEDRIVE_LOGDIR= /var/log/${PORTNAME} post-extract: ${CP} ${FILESDIR}/freebsd_inotify.d ${WRKSRC}/src -do-install-DOCS-on: -.for f in ${DOCFILES} - @${MKDIR} ${STAGEDIR}${DOCSDIR} - ${INSTALL_DATA} ${WRKSRC}/${f} ${STAGEDIR}${DOCSDIR} -.endfor - -do-install-BASH-on: - @${MKDIR} ${STAGEDIR}${BASH_COMPLETION_DIR} - ${INSTALL_DATA} ${WRKSRC}/completions/complete.bash \ - ${STAGEDIR}${BASH_COMPLETION_DIR}/onedrive - -do-install-ZSH-on: - @${MKDIR} ${STAGEDIR}${ZSH_COMPLETION_DIR} - ${INSTALL_DATA} ${WRKSRC}/completions/complete.zsh \ - ${STAGEDIR}${ZSH_COMPLETION_DIR}/_onedrive - -post-install-DOCS-on: - ${INSTALL_MAN} ${WRKSRC}/onedrive.1 ${STAGEDIR}${MANPREFIX}/man/man1 +post-install: + ${INSTALL} -d -m 0775 ${STAGEDIR}${ONEDRIVE_LOGDIR} .include diff --git a/net/onedrive/distinfo b/net/onedrive/distinfo index 7195a2c494..3290110153 100644 --- a/net/onedrive/distinfo +++ b/net/onedrive/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1556052070 -SHA256 (abraunegg-onedrive-v2.3.3_GH0.tar.gz) = 9ee4ea4b3ea880f7624761d053bbb09a2465706685e9ed258c50925ff5e32377 -SIZE (abraunegg-onedrive-v2.3.3_GH0.tar.gz) = 599457 +TIMESTAMP = 1594652822 +SHA256 (abraunegg-onedrive-v2.4.3_GH0.tar.gz) = 4236f436b3658e360164d945a8bc5c9620539c1339ef9182e3d060d2e3b90b9b +SIZE (abraunegg-onedrive-v2.4.3_GH0.tar.gz) = 959963 diff --git a/net/onedrive/files/freebsd_inotify.d b/net/onedrive/files/freebsd_inotify.d index 4892e990e7..54a4df019a 100644 --- a/net/onedrive/files/freebsd_inotify.d +++ b/net/onedrive/files/freebsd_inotify.d @@ -50,6 +50,7 @@ enum IN_MASK_ADD = 0x20000000; /* Add to the mask of an already enum IN_ISDIR = 0x40000000; /* Event occurred against dir. */ enum IN_ONESHOT = 0x80000000; /* Only send event once. */ +enum IN_ALL_EVENTS = (IN_ACCESS | IN_MODIFY | IN_ATTRIB | IN_CLOSE_WRITE | IN_CLOSE_NOWRITE | IN_OPEN | IN_MOVED_FROM | IN_MOVE_SELF | IN_MOVED_TO | IN_DELETE | IN_CREATE | IN_DELETE_SELF); /* Create and initialize inotify-kqueue instance. */ extern (C) int inotify_init (); diff --git a/net/onedrive/files/patch-Makefile b/net/onedrive/files/patch-Makefile index 602fd1ec2c..e69de29bb2 100644 --- a/net/onedrive/files/patch-Makefile +++ b/net/onedrive/files/patch-Makefile @@ -1,40 +0,0 @@ ---- Makefile.orig 2019-04-16 02:18:26 UTC -+++ Makefile -@@ -7,8 +7,9 @@ gitversion := $(shell if [ -f .git/HEAD ] ; then echo - - ifeq ($(pkgconfig),1) - LIBS = $(shell pkg-config --libs sqlite3 libcurl) -+LIBS += $(shell pkg-config --libs libinotify) - else --LIBS = -lcurl -lsqlite3 -+LIBS = -lcurl -lsqlite3 -linotify - endif - ifeq ($(notifications),1) - NOTIF_VERSIONS = -version=NoPragma -version=NoGdk -version=Notifications -@@ -74,7 +75,8 @@ SOURCES = \ - src/sync.d \ - src/upload.d \ - src/util.d \ -- src/progress.d -+ src/progress.d \ -+ src/freebsd_inotify.d - - ifeq ($(notifications),1) - SOURCES += src/notifications/notify.d src/notifications/dnotify.d -@@ -90,11 +92,12 @@ onedrive: version $(SOURCES) - - install.noservice: onedrive onedrive.1 - mkdir -p $(DESTDIR)/var/log/onedrive -- chown root.users $(DESTDIR)/var/log/onedrive -+ # chown root.users $(DESTDIR)/var/log/onedrive - chmod 0775 $(DESTDIR)/var/log/onedrive -- install -D onedrive $(DESTDIR)$(PREFIX)/bin/onedrive -- install -D onedrive.1 $(DESTDIR)$(MANDIR)/onedrive.1 -- install -D -m 644 logrotate/onedrive.logrotate $(DESTDIR)/etc/logrotate.d/onedrive -+ install onedrive $(DESTDIR)$(PREFIX)/bin/onedrive -+ # install -D onedrive.1 $(DESTDIR)$(MANDIR)/onedrive.1 -+ install -d $(DESTDIR)$(PREFIX)/etc/logrotate.d -+ install -m 644 logrotate/onedrive.logrotate $(DESTDIR)$(PREFIX)/etc/logrotate.d/onedrive - - install: all install.noservice - for i in $(DOCFILES) ; do install -D -m 644 $$i $(DESTDIR)$(DOCDIR)/$$i ; done diff --git a/net/onedrive/pkg-descr b/net/onedrive/pkg-descr index aaad10c73f..145af40ba2 100644 --- a/net/onedrive/pkg-descr +++ b/net/onedrive/pkg-descr @@ -1,15 +1,21 @@ -A complete tool to interact with OneDrive on Linux. -Built following the UNIX philosophy. +A free Microsoft OneDrive Client which supports OneDrive Personal, OneDrive +for Business, OneDrive for Office365 and Sharepoint. +This Powerful and highly configurable client can run on all major Linux +distributions, as a Docker container and on FreeBSD. +This client is a 'fork' of skilion client which was abandoned in 2018. Features: - State caching - Real-Time file monitoring with Inotify - Resumable uploads - Support OneDrive for Business (part of Office 365) - Shared folders (not Business) + * State caching + * Real-Time file monitoring with Inotify + * File uploat / download validation to ensure data integrity + * Resumable uploads + * Support OneDrive for Business (part of Office 365) + * Sharepoint / Office365 Shared libraries (refer to docs/Office365.md + to configure) What's missing: - While local changes are uploaded right away, remote changes are delayed - No GUI + * While local changes are uploaded right away, remote changes are delayed + until next sync when using --monitor + * No GUI -WWW: https://github.com/skilion/onedrive +WWW: https://github.com/abraunegg/onedrive diff --git a/net/onedrive/pkg-plist b/net/onedrive/pkg-plist index 5e086cd1ad..754c7cd89b 100644 --- a/net/onedrive/pkg-plist +++ b/net/onedrive/pkg-plist @@ -1,10 +1,11 @@ bin/onedrive etc/logrotate.d/onedrive -%%DOCS%%man/man1/onedrive.1.gz -%%BASH%%share/bash-completion/completions/onedrive -%%ZSH%%share/zsh/site-functions/_onedrive -%%PORTDOCS%%%%DOCSDIR%%/CHANGELOG.md -%%PORTDOCS%%%%DOCSDIR%%/README.Office365.md -%%PORTDOCS%%%%DOCSDIR%%/README.md -%%PORTDOCS%%%%DOCSDIR%%/config +man/man1/onedrive.1.gz +%%COMPLETION%%etc/bash_completion.d/onedrive +%%COMPLETION%%share/zsh/site-functions/_onedrive +%%DOCSDIR%%/CHANGELOG.md +%%DOCSDIR%%/Office365.md +%%DOCSDIR%%/README.md +%%DOCSDIR%%/USAGE.md +%%DOCSDIR%%/config @dir /var/log/onedrive