Please find below a diff to add a new flavor "-dolphin-plugin" in net/nextcloudclient.
Why all this, it is useful to have a filer bowser that works with nextcloud directories. This makes it easy to work with large server-sync in a GUI-way. I have only integrated the KDE Dolphin plugin. If you use GTK/GNOME you are welcome to provide a diff for the other side. I have sent an early copy to Adriano Barbosa (maintainer). It still has a few errors. These should be gone. Feedback welcome, Rafeal diff --git a/net/nextcloudclient/Makefile b/net/nextcloudclient/Makefile index 6b382dc6cac..484d6688ce4 100644 --- a/net/nextcloudclient/Makefile +++ b/net/nextcloudclient/Makefile @@ -1,14 +1,17 @@ USE_WXNEEDED = Yes -COMMENT = desktop sync client for Nextcloud - -V = 3.15.2 -DISTNAME = nextcloudclient-${V} +COMMENT-main = desktop sync client for Nextcloud +COMMENT-dolphin= dolphin nextcloud integration plugin +V = 3.15.3 GH_ACCOUNT = nextcloud GH_PROJECT = desktop GH_TAGNAME = v${V} +DISTNAME = nextcloudclient-${V} +PKGNAME-main = nextcloudclient-${V} +PKGNAME-dolphin = nextcloudclient-dolphin-plugin-${V} + CATEGORIES = net HOMEPAGE = https://nextcloud.com @@ -22,16 +25,23 @@ MAINTAINER = Adriano Barbosa <barbosa....@gmail.com> # GPLv2+ PERMIT_PACKAGE = Yes -WANTLIB += ${COMPILER_LIBCXX} KF6Archive KF6GuiAddons Qt6Concurrent -WANTLIB += Qt6Core Qt6Core5Compat Qt6DBus Qt6Gui Qt6Network Qt6OpenGL -WANTLIB += Qt6Positioning Qt6PrintSupport Qt6Qml Qt6QmlModels Qt6Quick -WANTLIB += Qt6QuickControls2 Qt6QuickWidgets Qt6Sql Qt6Svg Qt6WebChannel -WANTLIB += Qt6WebEngineCore Qt6WebEngineWidgets Qt6WebSockets Qt6Widgets -WANTLIB += Qt6Xml c cloudproviders crypto gio-2.0 GL glib-2.0 gobject-2.0 -WANTLIB += intl m qt6keychain sqlite3 ssl xkbcommon z +WANTLIB-main += ${COMPILER_LIBCXX} GL KF6Archive KF6GuiAddons Qt6Concurrent +WANTLIB-main += Qt6Core Qt6Core5Compat Qt6DBus Qt6Gui Qt6Network Qt6OpenGL +WANTLIB-main += Qt6Positioning Qt6PrintSupport Qt6Qml Qt6QmlMeta Qt6QmlModels +WANTLIB-main += Qt6QmlWorkerScript Qt6Quick Qt6QuickControls2 Qt6QuickWidgets +WANTLIB-main += Qt6Sql Qt6Svg Qt6WebChannel Qt6WebEngineCore Qt6WebEngineWidgets +WANTLIB-main += Qt6WebSockets Qt6Widgets Qt6Xml c cloudproviders crypto +WANTLIB-main += gio-2.0 glib-2.0 gobject-2.0 intl m qt6keychain sqlite3 +WANTLIB-main += ssl xkbcommon z -WANTLIB += lib/inotify/inotify +WANTLIB-dolphin += ${COMPILER_LIBCXX} GL KF6Completion KF6ConfigCore KF6CoreAddons +WANTLIB-dolphin += KF6JobWidgets KF6KIOCore KF6KIOGui KF6KIOWidgets KF6Service +WANTLIB-dolphin += KF6Solid KF6WidgetsAddons Qt6Core Qt6DBus Qt6Gui Qt6Network +WANTLIB-dolphin += Qt6Widgets m +MULTI_PACKAGES = -main -dolphin +PSEUDO_FLAVORS = no_dolphin +FLAVOR ?= MODULES = devel/cmake \ x11/qt6 @@ -47,11 +57,13 @@ BUILD_DEPENDS += devel/kf6/extra-cmake-modules # for tests, but detected during configure BUILD_DEPENDS += devel/cmocka -RUN_DEPENDS = devel/desktop-file-utils \ +RUN_DEPENDS-main = devel/desktop-file-utils \ misc/shared-mime-info \ x11/gtk+4,-guic -LIB_DEPENDS = databases/sqlite3 \ +RUN_DEPENDS-dolphin += x11/gtk+4,-guic + +LIB_DEPENDS-main = databases/sqlite3 \ devel/kf6/karchive \ devel/kf6/kguiaddons \ devel/libinotify \ @@ -64,9 +76,9 @@ LIB_DEPENDS = databases/sqlite3 \ x11/qt6/qtwebengine \ x11/qt6/qtwebsockets +LIB_DEPENDS-dolphin = devel/kf6/kio + CONFIGURE_ARGS = -DBUILD_SHELL_INTEGRATION_NAUTILUS=OFF \ - -DBUILD_SHELL_INTEGRATION_DOLPHIN=OFF \ - -DBUILD_SHELL_INTEGRATION=OFF \ -DUNIT_TESTING=ON \ -DWITH_CRASHREPORTER=OFF @@ -86,6 +98,16 @@ CONFIGURE_ARGS += -DCMAKE_INSTALL_RPATH=${LOCALBASE}/lib/inotify CXXFLAGS += -I${LOCALBASE}/include/inotify -I${LOCALBASE}/include/qtkeychain MODCMAKE_LDFLAGS = -L${LOCALBASE}/lib/inotify +.include <bsd.port.arch.mk> + +.if ${BUILD_PACKAGES:M-dolphin} +CONFIGURE_ARGS += -DBUILD_SHELL_INTEGRATION_DOLPHIN=ON \ + -DBUILD_SHELL_INTEGRATION=ON +.else +CONFIGURE_ARGS += -DBUILD_SHELL_INTEGRATION_DOLPHIN=OFF \ + -DBUILD_SHELL_INTEGRATION=OFF +.endif + pre-configure: rm ${WRKSRC}/cmake/modules/FindInotify.cmake diff --git a/net/nextcloudclient/distinfo b/net/nextcloudclient/distinfo index af9caab7c49..d54e8b08764 100644 --- a/net/nextcloudclient/distinfo +++ b/net/nextcloudclient/distinfo @@ -1,2 +1,2 @@ -SHA256 (nextcloudclient-3.15.2.tar.gz) = JetSSAScSWGifPmW2+v5ICxyDdNgSc0nmeLoD3vVF1Y= -SIZE (nextcloudclient-3.15.2.tar.gz) = 15671238 +SHA256 (nextcloudclient-3.15.3.tar.gz) = WksSYEyEuJhvKu50YruWg/sB9K4o7p1oggaMucrEV3M= +SIZE (nextcloudclient-3.15.3.tar.gz) = 15683038 diff --git a/net/nextcloudclient/patches/patch-shell_integration_CMakeLists_txt b/net/nextcloudclient/patches/patch-shell_integration_CMakeLists_txt new file mode 100644 index 00000000000..34f7d991de1 --- /dev/null +++ b/net/nextcloudclient/patches/patch-shell_integration_CMakeLists_txt @@ -0,0 +1,12 @@ +Never use KF5 +Index: shell_integration/CMakeLists.txt +--- shell_integration/CMakeLists.txt.orig ++++ shell_integration/CMakeLists.txt +@@ -11,7 +11,6 @@ if( UNIX AND NOT APPLE ) + endif() + + if(BUILD_SHELL_INTEGRATION_DOLPHIN) +- find_package(KF5KIO "5.16" CONFIG QUIET) + find_package(KF6KIO "5.240" CONFIG QUIET) + if(KF5KIO_FOUND OR KF6KIO_FOUND) + add_subdirectory(dolphin) diff --git a/net/nextcloudclient/pkg/DESCR-dolphin b/net/nextcloudclient/pkg/DESCR-dolphin new file mode 100644 index 00000000000..48aaf755ef9 --- /dev/null +++ b/net/nextcloudclient/pkg/DESCR-dolphin @@ -0,0 +1 @@ +The dolphin file manager integration plugin. diff --git a/net/nextcloudclient/pkg/DESCR-main b/net/nextcloudclient/pkg/DESCR-main new file mode 100644 index 00000000000..d7238d70075 --- /dev/null +++ b/net/nextcloudclient/pkg/DESCR-main @@ -0,0 +1,5 @@ +Nextcloud offers the industry-leading, on-premises content collaboration +platform. Our technology combines the convenience and ease of use of +consumer-grade solutions like Dropbox and Google Drive with the security, +privacy and control business needs. nextcloudclient is a tool to synchronize +files from Nextcloud Server with your computer. diff --git a/net/nextcloudclient/pkg/PLIST-dolphin b/net/nextcloudclient/pkg/PLIST-dolphin new file mode 100644 index 00000000000..9c7fc244ff2 --- /dev/null +++ b/net/nextcloudclient/pkg/PLIST-dolphin @@ -0,0 +1,64 @@ +@so lib/libnextclouddolphinpluginhelper.so +lib/qt6/plugins/kf6/ +lib/qt6/plugins/kf6/kfileitemaction/ +@so lib/qt6/plugins/kf6/kfileitemaction/nextclouddolphinactionplugin.so +lib/qt6/plugins/kf6/overlayicon/ +@so lib/qt6/plugins/kf6/overlayicon/nextclouddolphinoverlayplugin.so +share/dbus-1/services/com.nextcloudgmbh.Nextcloud.service +share/icons/hicolor/128x128/apps/Nextcloud_error.png +share/icons/hicolor/128x128/apps/Nextcloud_error_shared.png +share/icons/hicolor/128x128/apps/Nextcloud_ok.png +share/icons/hicolor/128x128/apps/Nextcloud_ok_shared.png +share/icons/hicolor/128x128/apps/Nextcloud_sync.png +share/icons/hicolor/128x128/apps/Nextcloud_sync_shared.png +share/icons/hicolor/128x128/apps/Nextcloud_warn.png +share/icons/hicolor/128x128/apps/Nextcloud_warn_shared.png +share/icons/hicolor/16x16/apps/Nextcloud_error.png +share/icons/hicolor/16x16/apps/Nextcloud_error_shared.png +share/icons/hicolor/16x16/apps/Nextcloud_ok.png +share/icons/hicolor/16x16/apps/Nextcloud_ok_shared.png +share/icons/hicolor/16x16/apps/Nextcloud_sync.png +share/icons/hicolor/16x16/apps/Nextcloud_sync_shared.png +share/icons/hicolor/16x16/apps/Nextcloud_warn.png +share/icons/hicolor/16x16/apps/Nextcloud_warn_shared.png +share/icons/hicolor/256x256/apps/Nextcloud_error.png +share/icons/hicolor/256x256/apps/Nextcloud_error_shared.png +share/icons/hicolor/256x256/apps/Nextcloud_ok.png +share/icons/hicolor/256x256/apps/Nextcloud_ok_shared.png +share/icons/hicolor/256x256/apps/Nextcloud_sync.png +share/icons/hicolor/256x256/apps/Nextcloud_sync_shared.png +share/icons/hicolor/256x256/apps/Nextcloud_warn.png +share/icons/hicolor/256x256/apps/Nextcloud_warn_shared.png +share/icons/hicolor/32x32/apps/Nextcloud_error.png +share/icons/hicolor/32x32/apps/Nextcloud_error_shared.png +share/icons/hicolor/32x32/apps/Nextcloud_ok.png +share/icons/hicolor/32x32/apps/Nextcloud_ok_shared.png +share/icons/hicolor/32x32/apps/Nextcloud_sync.png +share/icons/hicolor/32x32/apps/Nextcloud_sync_shared.png +share/icons/hicolor/32x32/apps/Nextcloud_warn.png +share/icons/hicolor/32x32/apps/Nextcloud_warn_shared.png +share/icons/hicolor/48x48/apps/Nextcloud_error.png +share/icons/hicolor/48x48/apps/Nextcloud_error_shared.png +share/icons/hicolor/48x48/apps/Nextcloud_ok.png +share/icons/hicolor/48x48/apps/Nextcloud_ok_shared.png +share/icons/hicolor/48x48/apps/Nextcloud_sync.png +share/icons/hicolor/48x48/apps/Nextcloud_sync_shared.png +share/icons/hicolor/48x48/apps/Nextcloud_warn.png +share/icons/hicolor/48x48/apps/Nextcloud_warn_shared.png +share/icons/hicolor/64x64/apps/Nextcloud_error.png +share/icons/hicolor/64x64/apps/Nextcloud_error_shared.png +share/icons/hicolor/64x64/apps/Nextcloud_ok.png +share/icons/hicolor/64x64/apps/Nextcloud_ok_shared.png +share/icons/hicolor/64x64/apps/Nextcloud_sync.png +share/icons/hicolor/64x64/apps/Nextcloud_sync_shared.png +share/icons/hicolor/64x64/apps/Nextcloud_warn.png +share/icons/hicolor/64x64/apps/Nextcloud_warn_shared.png +share/icons/hicolor/72x72/apps/Nextcloud_error.png +share/icons/hicolor/72x72/apps/Nextcloud_error_shared.png +share/icons/hicolor/72x72/apps/Nextcloud_ok.png +share/icons/hicolor/72x72/apps/Nextcloud_ok_shared.png +share/icons/hicolor/72x72/apps/Nextcloud_sync.png +share/icons/hicolor/72x72/apps/Nextcloud_sync_shared.png +share/icons/hicolor/72x72/apps/Nextcloud_warn.png +share/icons/hicolor/72x72/apps/Nextcloud_warn_shared.png +@tag gtk-update-icon-cache %D/share/icons/hicolor diff --git a/net/nextcloudclient/pkg/PLIST-main b/net/nextcloudclient/pkg/PLIST-main new file mode 100644 index 00000000000..e580be8a5c6 --- /dev/null +++ b/net/nextcloudclient/pkg/PLIST-main @@ -0,0 +1,101 @@ +@bin bin/nextcloud +@bin bin/nextcloudcmd +include/nextcloudsync/ +include/nextcloudsync/creds/ +include/nextcloudsync/creds/abstractcredentials.h +include/nextcloudsync/creds/httpcredentials.h +include/nextcloudsync/mirall/ +include/nextcloudsync/mirall/account.h +include/nextcloudsync/mirall/configfile.h +include/nextcloudsync/mirall/networkjobs.h +include/nextcloudsync/mirall/progressdispatcher.h +include/nextcloudsync/mirall/syncengine.h +include/nextcloudsync/mirall/syncfileitem.h +include/nextcloudsync/mirall/syncresult.h +@lib lib/libnextcloud_csync.so.${LIBnextcloud_csync_VERSION} +@lib lib/libnextcloudsync.so.${LIBnextcloudsync_VERSION} +@lib lib/libnextcloudsync_vfs_suffix.so.${LIBnextcloudsync_vfs_suffix_VERSION} +share/applications/com.nextcloud.desktopclient.nextcloud.desktop +share/examples/Nextcloud/ +@sample ${SYSCONFDIR}/Nextcloud/ +share/examples/Nextcloud/sync-exclude.lst +@sample ${SYSCONFDIR}/Nextcloud/sync-exclude.lst +share/icons/hicolor/1024x1024/ +share/icons/hicolor/1024x1024/apps/ +share/icons/hicolor/1024x1024/apps/Nextcloud.png +share/icons/hicolor/128x128/apps/Nextcloud.png +share/icons/hicolor/16x16/apps/Nextcloud.png +share/icons/hicolor/24x24/apps/Nextcloud.png +share/icons/hicolor/256x256/apps/Nextcloud.png +share/icons/hicolor/32x32/apps/Nextcloud.png +share/icons/hicolor/48x48/apps/Nextcloud.png +share/icons/hicolor/512x512/apps/Nextcloud.png +share/icons/hicolor/64x64/apps/Nextcloud.png +share/mime/packages/nextcloud.xml +share/nextcloud/ +share/nextcloud/i18n/ +share/nextcloud/i18n/client_TW.qm +share/nextcloud/i18n/client_af.qm +share/nextcloud/i18n/client_ar.qm +share/nextcloud/i18n/client_bg.qm +share/nextcloud/i18n/client_br.qm +share/nextcloud/i18n/client_ca.qm +share/nextcloud/i18n/client_cs.qm +share/nextcloud/i18n/client_da.qm +share/nextcloud/i18n/client_de.qm +share/nextcloud/i18n/client_el.qm +share/nextcloud/i18n/client_en.qm +share/nextcloud/i18n/client_en_GB.qm +share/nextcloud/i18n/client_eo.qm +share/nextcloud/i18n/client_es.qm +share/nextcloud/i18n/client_es_AR.qm +share/nextcloud/i18n/client_es_CL.qm +share/nextcloud/i18n/client_es_CO.qm +share/nextcloud/i18n/client_es_CR.qm +share/nextcloud/i18n/client_es_DO.qm +share/nextcloud/i18n/client_es_EC.qm +share/nextcloud/i18n/client_es_GT.qm +share/nextcloud/i18n/client_es_HN.qm +share/nextcloud/i18n/client_es_MX.qm +share/nextcloud/i18n/client_es_SV.qm +share/nextcloud/i18n/client_et.qm +share/nextcloud/i18n/client_eu.qm +share/nextcloud/i18n/client_fa.qm +share/nextcloud/i18n/client_fi.qm +share/nextcloud/i18n/client_fr.qm +share/nextcloud/i18n/client_ga.qm +share/nextcloud/i18n/client_gl.qm +share/nextcloud/i18n/client_he.qm +share/nextcloud/i18n/client_hr.qm +share/nextcloud/i18n/client_hu.qm +share/nextcloud/i18n/client_id.qm +share/nextcloud/i18n/client_is.qm +share/nextcloud/i18n/client_it.qm +share/nextcloud/i18n/client_ja.qm +share/nextcloud/i18n/client_ko.qm +share/nextcloud/i18n/client_lt_LT.qm +share/nextcloud/i18n/client_lv.qm +share/nextcloud/i18n/client_mk.qm +share/nextcloud/i18n/client_nb_NO.qm +share/nextcloud/i18n/client_nl.qm +share/nextcloud/i18n/client_oc.qm +share/nextcloud/i18n/client_pl.qm +share/nextcloud/i18n/client_pt.qm +share/nextcloud/i18n/client_pt_BR.qm +share/nextcloud/i18n/client_ro.qm +share/nextcloud/i18n/client_ru.qm +share/nextcloud/i18n/client_sc.qm +share/nextcloud/i18n/client_sk.qm +share/nextcloud/i18n/client_sl.qm +share/nextcloud/i18n/client_sr.qm +share/nextcloud/i18n/client_sv.qm +share/nextcloud/i18n/client_th.qm +share/nextcloud/i18n/client_tr.qm +share/nextcloud/i18n/client_ug.qm +share/nextcloud/i18n/client_uk.qm +share/nextcloud/i18n/client_zh_CN.qm +share/nextcloud/i18n/client_zh_HK.qm +share/nextcloud/i18n/client_zh_TW.qm +@tag update-desktop-database +@tag gtk-update-icon-cache %D/share/icons/hicolor +@tag update-mime-database