Summary: | deskutils/nextcloudclient: update to 3.14.1 | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | Ports & Packages | Reporter: | Guido Falsi <madpilot> | ||||||||||||
Component: | Individual Port(s) | Assignee: | Michael Reifenberger <mr> | ||||||||||||
Status: | In Progress --- | ||||||||||||||
Severity: | Affects Only Me | CC: | arrowd, mr, vvd | ||||||||||||
Priority: | --- | Flags: | bugzilla:
maintainer-feedback?
(mr) |
||||||||||||
Version: | Latest | ||||||||||||||
Hardware: | Any | ||||||||||||||
OS: | Any | ||||||||||||||
Attachments: |
|
ecm => ecm:build Don't need ecm at runtime - tested with 3.13.3. Created attachment 253630 [details]
patch v2
Updated patch making KDE ecm a build time only requirement.
Thanks to vvd@ for reporting it!
Hi, currently I'm investigating a build error during manual build: ... ------------ Running 'makeindex -s python.ist -o "NextcloudClientManual.ind" "NextcloudClientManual.idx"' ------------ This is makeindex, version 2.17 [TeX Live 2024] (kpathsea + Thai support). Scanning style file ./python.ist.......done (7 attributes redefined, 0 ignored). Scanning input file NextcloudClientManual.idx....done (56 entries accepted, 0 rejected). Sorting entries....done (420 comparisons). Generating output file NextcloudClientManual.ind....done (103 lines written, 0 warnings). Output written in NextcloudClientManual.ind. Transcript written in NextcloudClientManual.ilg. Latexmk: applying rule 'pdflatex'... Rule 'pdflatex': Reasons for rerun Changed files or newly in use/created: NextcloudClientManual.ind ------------ Run number 1 of rule 'pdflatex' ------------ ------------ Running 'pdflatex -recorder "NextcloudClientManual.tex"' ------------ ... LaTeX Warning: File `{images/building/visual-studio-installer}.png' not found o n input line 2608. LaTeX Warning: File `{images/building/visual-studio-installer}.png' not found o n input line 2608. ! Package pdftex.def Error: File `images/building/visual-studio-installer.png' not found: using draft setting. See the pdftex.def package documentation for explanation. Type H <return> for immediate help. ... l.2608 ...s/building/visual-studio-installer}.png} ... (In reply to Michael Reifenberger from comment #3) I encountered this one too, the patch I added in files/patch-doc_building.rst addresses these by removing references to these missing files. Created attachment 253861 [details]
patch v3
Adding patch updating to newer version 3.14.1
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=0ae245619be4fb1d0e4ab58a8cd46b3183020f73 commit 0ae245619be4fb1d0e4ab58a8cd46b3183020f73 Author: Michael Reifenberger <mr@FreeBSD.org> AuthorDate: 2024-09-28 11:27:51 +0000 Commit: Michael Reifenberger <mr@FreeBSD.org> CommitDate: 2024-09-28 11:30:57 +0000 deskutils/nextcloudclient: update to 3.14.1 Update and switch to QT6 PR: 281544 Reported by: Guido Falsi madpilot@ deskutils/nextcloudclient/Makefile | 19 ++++++++-------- deskutils/nextcloudclient/distinfo | 6 +++--- .../files/patch-doc_building.rst (new) | 25 ++++++++++++++++++++++ deskutils/nextcloudclient/pkg-plist | 8 +++++-- 4 files changed, 43 insertions(+), 15 deletions(-) Yes, that worked. Its now committed after testing. Thanks for Providing! Is it mandatory to use qt6 now? ===>>> nextcloudclient-3.13.3 >> devel/kf6-kio >> devel/kf6-kbookmarks >> x11-themes/kf6-kcolorscheme >> x11-toolkits/kf6-kguiaddons (15/30) ===> Installing for kf6-kguiaddons-6.3.0 ===> Checking if kf6-kguiaddons is already installed ===> Registering installation for kf6-kguiaddons-6.3.0 as automatic Installing kf6-kguiaddons-6.3.0... pkg-static: kf6-kguiaddons-6.3.0 conflicts with kf5-kguiaddons-5.116.0 (installs files into the same place). Problematic file: /usr/local/bin/kde-geo-uri-handler *** Error code 1 Is it possible to install nextcloudclient-3.14.1 together with KDE5? (In reply to Vladimir Druzenko from comment #8) Starting with version 3.14 qt6 is the only supported version [1], so yes, it is mandatory, unless we stop al 3.13.x Looks like it is possible, though, to not strictly depend on gui addons [2], but there is no flag to force not using it, so it could easily become an hidden requirements for people building on live systems. I could take abetter look, most probably the cmakefile will require patching. BTW maybe you should file a separate bug report for this. BTW I don't use KDE, so I was not aware of such conflict. [1] https://github.com/nextcloud/desktop/blob/fab20289444e6d70ef1422752f22679d47c00849/CMakeLists.txt#L27 [2] https://github.com/nextcloud/desktop/blob/fab20289444e6d70ef1422752f22679d47c00849/src/gui/CMakeLists.txt#L562 Created attachment 253933 [details] Fix guiaddons conflict Hi, I created the attached patch. Adds an option to enable guiaddons semparately, that implies KDE if enabled. The only difference in upstream code caused by not having guiaddons is related to clipboard management [1] @vvd can you test it and report back if this actually fixes your issue? [1] https://github.com/nextcloud/desktop/blob/a9fe12325b559a0923939f18cda48bc65a129899/src/gui/socketapi/socketapi.cpp#L79 (In reply to Guido Falsi from comment #10) nextcloudclient-3.13.3 >> devel/kf6-kio >> devel/kf6-kbookmarks >> x11-themes/kf6-kcolorscheme >> x11-toolkits/kf6-kguiaddons (4/4) Moved kio from KDE_USE to GUIADDONS_USE (BTW, GUIADDONS msut be early than KDE): # DEVELOPER=YES make check-plist stage-qa ... ====> Running Q/A tests (stage-qa) Error: /usr/local/lib/libnextclouddolphinpluginhelper.so is linked to /usr/local/lib/qt5/libQt5Network.so.5 from net/qt5-network but it is not declared as a dependency Warning: you need USES=qt:5 and USE_QT+=network Error: /usr/local/lib/libnextclouddolphinpluginhelper.so is linked to /usr/local/lib/qt5/libQt5Core.so.5 from devel/qt5-core but it is not declared as a dependency Warning: you need USES=qt:5 and USE_QT+=core Error: /usr/local/lib/qt5/plugins/kf5/kfileitemaction/nextclouddolphinactionplugin.so is linked to /usr/local/lib/libKF5KIOWidgets.so.5 from devel/kf5-kio but it is not declared as a dependency Warning: you need to use USE_KDE+=kio Error: /usr/local/lib/qt5/plugins/kf5/kfileitemaction/nextclouddolphinactionplugin.so is linked to /usr/local/lib/libKF5KIOGui.so.5 from devel/kf5-kio but it is not declared as a dependency Warning: you need to use USE_KDE+=kio Error: /usr/local/lib/qt5/plugins/kf5/kfileitemaction/nextclouddolphinactionplugin.so is linked to /usr/local/lib/libKF5KIOCore.so.5 from devel/kf5-kio but it is not declared as a dependency Warning: you need to use USE_KDE+=kio Error: /usr/local/lib/qt5/plugins/kf5/kfileitemaction/nextclouddolphinactionplugin.so is linked to /usr/local/lib/qt5/libQt5Concurrent.so.5 from devel/qt5-concurrent but it is not declared as a dependency Warning: you need USES=qt:5 and USE_QT+=concurrent Error: /usr/local/lib/qt5/plugins/kf5/kfileitemaction/nextclouddolphinactionplugin.so is linked to /usr/local/lib/libKF5Service.so.5 from devel/kf5-kservice but it is not declared as a dependency Warning: you need USE_KDE+=service Error: /usr/local/lib/qt5/plugins/kf5/kfileitemaction/nextclouddolphinactionplugin.so is linked to /usr/local/lib/libKF5JobWidgets.so.5 from x11-toolkits/kf5-kjobwidgets but it is not declared as a dependency Warning: you need USE_KDE+=jobwidgets Error: /usr/local/lib/qt5/plugins/kf5/kfileitemaction/nextclouddolphinactionplugin.so is linked to /usr/local/lib/libKF5Solid.so.5 from devel/kf5-solid but it is not declared as a dependency Warning: you need to use USE_KDE+=solid Error: /usr/local/lib/qt5/plugins/kf5/kfileitemaction/nextclouddolphinactionplugin.so is linked to /usr/local/lib/libKF5Completion.so.5 from x11-toolkits/kf5-kcompletion but it is not declared as a dependency Warning: you need USE_KDE+=completion Error: /usr/local/lib/qt5/plugins/kf5/kfileitemaction/nextclouddolphinactionplugin.so is linked to /usr/local/lib/libKF5WindowSystem.so.5 from x11/kf5-kwindowsystem but it is not declared as a dependency Warning: you need USE_KDE+=windowsystem Error: /usr/local/lib/qt5/plugins/kf5/kfileitemaction/nextclouddolphinactionplugin.so is linked to /usr/local/lib/libKF5WidgetsAddons.so.5 from x11-toolkits/kf5-kwidgetsaddons but it is not declared as a dependency Warning: you need USE_KDE+=widgetsaddons Error: /usr/local/lib/qt5/plugins/kf5/kfileitemaction/nextclouddolphinactionplugin.so is linked to /usr/local/lib/libKF5ConfigCore.so.5 from devel/kf5-kconfig but it is not declared as a dependency Warning: you need USE_KDE+=config Error: /usr/local/lib/qt5/plugins/kf5/kfileitemaction/nextclouddolphinactionplugin.so is linked to /usr/local/lib/qt5/libQt5Widgets.so.5 from x11-toolkits/qt5-widgets but it is not declared as a dependency Warning: you need USES=qt:5 and USE_QT+=widgets Error: /usr/local/lib/qt5/plugins/kf5/kfileitemaction/nextclouddolphinactionplugin.so is linked to /usr/local/lib/qt5/libQt5Gui.so.5 from x11-toolkits/qt5-gui but it is not declared as a dependency Warning: you need USES=qt:5 and USE_QT+=gui Error: /usr/local/lib/qt5/plugins/kf5/kfileitemaction/nextclouddolphinactionplugin.so is linked to /usr/local/lib/libKF5CoreAddons.so.5 from devel/kf5-kcoreaddons but it is not declared as a dependency Warning: you need USE_KDE+=coreaddons Error: /usr/local/lib/qt5/plugins/kf5/kfileitemaction/nextclouddolphinactionplugin.so is linked to /usr/local/lib/qt5/libQt5DBus.so.5 from devel/qt5-dbus but it is not declared as a dependency Warning: you need USES=qt:5 and USE_QT+=dbus Warning: you might not need LIB_DEPENDS on libqt6keychain.so Warning: you might not need LIB_DEPENDS on libKF6Completion.so Warning: you might not need LIB_DEPENDS on libKF6ConfigCore.so Warning: you might not need LIB_DEPENDS on libKF6CoreAddons.so Warning: you might not need LIB_DEPENDS on libKF6JobWidgets.so Warning: you might not need LIB_DEPENDS on libKF6Service.so Warning: you might not need LIB_DEPENDS on libKF6Solid.so Warning: you might not need LIB_DEPENDS on libKF6WidgetsAddons.so Warning: you might not need LIB_DEPENDS on libKF6WindowSystem.so ====> Checking for pkg-plist issues (check-plist) ===> Parsing plist ===> Checking for items in STAGEDIR missing from pkg-plist Error: Orphaned: lib/qt5/plugins/kf5/kfileitemaction/nextclouddolphinactionplugin.so Error: Orphaned: lib/qt5/plugins/kf5/overlayicon/nextclouddolphinoverlayplugin.so ===> Checking for items in pkg-plist which are not in STAGEDIR Error: Missing: %%QT_PLUGINDIR%%/kf6/kfileitemaction/nextclouddolphinactionplugin.so Error: Missing: %%QT_PLUGINDIR%%/kf6/overlayicon/nextclouddolphinoverlayplugin.so ===> Error: Plist issues found. *** Error code 1 (In reply to Vladimir Druzenko from comment #11) Looks like the Dolphin integration (and that only, not the main UI) has some support for KDE5, and so can somehow link with QT5. I'm not sure how that plays with being linked with QT6 in the main binary at the same time though. Also, I don't know the extent of patching required to make that happen. OTOH if KIO is required by the main binary and that depends on guiaddons I really supect it's impossible to get rid of that anyway. I'll try to find time to take a better look in the next few days. (In reply to Vladimir Druzenko from comment #11) Hi, I have experimented a little with this in poudriere but I'm not sure what is going on with the partial log you posted. My impression is that to link against KDE5, this port requires parts from qt5, qt6, kde5 to be simultaneously installed, but I don't think there is a proper way to describe such a dependency in ports Makefiles. But, if the required parts are present on the system it will link correctly, and provide an hopefully working binary set. I suspect it can be baked up with a mix of USES and LIB_DEPENDS. Could you share the full build log from which your snippet comes from? Other parts (for example the configure section) could provide some more hints. (In reply to Guido Falsi from comment #13) Hello! Build in progress. Created attachment 254471 [details]
build log on live system with KDE5 installed
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=5a232f461b1598a8d0ed1554c0cfbbb7b283c801 commit 5a232f461b1598a8d0ed1554c0cfbbb7b283c801 Author: Michael Reifenberger <mr@FreeBSD.org> AuthorDate: 2024-10-26 21:08:14 +0000 Commit: Michael Reifenberger <mr@FreeBSD.org> CommitDate: 2024-10-26 21:14:12 +0000 deskutils/nextcloudclient: Update and add option Update to 3.14.2 and add GUIADDONS option from PR PR: 281544 deskutils/nextcloudclient/Makefile | 14 +++++++++++--- deskutils/nextcloudclient/distinfo | 6 +++--- 2 files changed, 14 insertions(+), 6 deletions(-) Hi, since it builds fine with/without the option cleanly in poudriere I commited the option together with the latest update. BTW: even if GUIADDONS implies KDE shouldn't the USE line be: GUIADDONS_USE= KDE+=guiaddons I'm not sure. I don't quite understand what's the point in this option. The port already pulls a bunch of KDE Frameworks when KDE is enabled and putting one of the frameworks under a separate option seems pointless. (In reply to Gleb Popov from comment #18) The port at present really supports only kde6, and pulls in only kde6 dependencies. The software build system does pick up kde5 libraries if they happen to be present, which should not happen in the ports tree. It created hidden dependencies. What I'd like to do is explicitly add kde5 dependencies under a specific option, to allow properly depending on them if required, but the option would be disabled by default. When disabled the software cmake files should NOT pick up kde5 dependencies even if present. Unluckily the USES flags do not provide a way to depend on kde5 and kde6 at the same time, hence the difficulties. I have limited time available to work on this so the solution will not be fast. This is all caused by this software migrating its main interface to qt6 only and this causes the need to link to both qt6, kde6 and, only for the dolphin plugin, to qt5 and kde5 to get kde5 support. Looks like nextcloudclient itself pulls this out successfully, but the ports system is not really able to describe the build environment required to get this in a clean way, so I'm trying to get a not too dirty hack to make this work. (In reply to Gleb Popov from comment #18) Things are much worse - without this option in the disabled state, the port compiled on poudriere cannot be installed on a system with KDE5: "kf6-kguiaddons-6.3.0 conflicts with kf5-kguiaddons-5.116.0". (In reply to Vladimir Druzenko from comment #20) Hi, I have made a bunch of tests, but I'm unable to reproduce anything looking like the log you posted. The problem is that during the configure stage cmake is always not even trying to find KDE5 components and simply skips building the dolphin integration. I'm also always getting a waning about missing KF6GuiAddons which for some reason you are not getting. I'm clearly failing to understand what if triggering the KF5 version if the plugin being built. Maybe if you posted your port configuration and a list of installed packages it could give some insight. It is also difficult to describe this kind of configuration with the ports framework in poudriere, I could need some help from someone with a deep CMake understanding, I only have a basic understanding about how it works. |
Created attachment 253611 [details] patch v1 Hi! I'm attaching a patch to update to the latest 3.14 release. This new version migrated to qt6, so the patch contains the required changes. Also, DOCs failed to build for me due to missing image files. I worked around that by removing references to those images in the doc sources. This version is working fine on my PC and laptop. I also tested it in poudriere for supported releases +HEAD and it works fine there. Thanks in advance!