This is probably not a bug, but why does graphics/qgis depend on misc/qt5-doc? If I understand correctly the latter is the qt5 documentation itself, and why should that be needed for qgis?
Maybe devel/qt5-qdoc is really meant here?
Thanks, Martin, for the report. Good question!
I seem to remember that qt-doc once had a role for dependents (plugins?). Unfortunately I can't find my records anymore. If memory does not deceive me and doc should be used, however, using qdoc is probably more correct.
I have since built and installed QGIS (1) without doc and (2) with qdoc without doc. I don't notice anything missing at runtime. So I will probably do without it completely in the future.
Currently I am still trying to get information from QGIS developers if doc/qdoc should be used for reasons I don't know.
One more thought about the dependencies in QGIS:
The dependency list in the QGIS port is unfortunately very high. Many of the dependencies are necessary for good functionality of plugins that are usually included. Otherwise such plugins don't work without giving the user concrete hints about the causes. I am considering whether and in what form such dependencies can be included only optionally.
Thank you for your quick reply.
In my opinion the other dependencies are not so much of an issue because usually one will really want to work with many plugins anyway. Only qt5-doc is a nuisance because it is huge (occupies much disk space).
To fill this out:
- misc/qt5-doc is the HTML documentation of Qt itself. It's not even *recent* documentation, since it was pinned to 5.12 when the docs tarball was dropped by upstream.
- misc/qt5-qdoc is the documentation-generation tool.
Looking at `USE_QT` though:
- there is a dep on webkit, *and* webengine. Yay, two complete browser engines (one of which is seriously depreated). Something to prod upstream about.
- designer should be a _build dep, it is *extremely* rare that an application needs to have a UI-design-tool installed (like linguist is a _build dep: you don't need the UI-translation-helper-application for translators)
- doc should most likely be qdoc_build. You don't need the docs-generation tools at runtime.
- testlib should be testlib_build, unless running the tests at runtime is an important thing.
- uitools should be uitools_build, same reason.
Thank you very much for the assessment and detailed consideration of individual dependencies. My answer took some time because on the one hand many geo-based dependencies have been updated in the meantime and on the other hand many of the suggestions had to be tested against different configurations of QGIS and its extensions.
After much trial and error, the need for changes to the graphics/qgis port currently looks something like this:
It looks like restricting designer, testlib, uitools and qdoc to _build does not introduce any new problems at runtime and therefore makes sense :D
The change from doc to qdoc seems correct, thanks again to Martin for that.
I have testwise then also taken out the dependency for webkit, for webengine and for both and run different tests with dependencies (= QGIS plugins). Here some surprises showed up.
It turned out that without webkit (WITH_QTWEBKIT=off) extensions like 'Data Plotly' don't even start. A user of this extension is not even notified in case of a crash that functionalities provided by webkit are missing. webengine cannot provide the missing functionalities for extensions like 'Data Plotly'.
Building QGIS without webengine already imposes significant limitations on QGIS itself. During the installation 6030 entries in pkg-plist (!) are missing, concerning various documentations, but also many icons (svg). It would have to be analyzed in more detail whether these files only play a role for QGIS Server. For this I lacked the time so far.
The dependency list of QGIS could also be limited by the port introducing new options for extensions that install dependencies only when a user needs them. However, this would have to be foreseeable and decided before installation. Afterwards, during the runtime of QGIS, a user hardly gets helpful hints about missing dependencies when she wants to install new extensions.
In the next commit for graphics/qgis I will therefore only change designer, qdoc, testlib and uitools to _build, but leave webkit and webengine unchanged. Unless someone else has some tips how to solve the described dilemma, of course ;)
A commit in branch main references this bug:
Author: Rainer Hurling <rhurlin@FreeBSD.org>
AuthorDate: 2022-02-20 09:50:01 +0000
Commit: Rainer Hurling <rhurlin@FreeBSD.org>
CommitDate: 2022-02-20 09:50:01 +0000
graphics/qgis: Update to 3.24.0
This update takes into account suggestions by Martin Birgmeier and
adrig@ in PR 261333 to reduce the number of dependents, especially
for Qt5. Dependencies like webengine and webkit must remain,
otherwise functionalities for QGIS and for important extensions are
missing, see PR.
Reported by: portscout, Repology
graphics/qgis/Makefile | 9 +++----
graphics/qgis/distinfo | 6 ++---
graphics/qgis/pkg-plist | 71 +++++++++++++++++++++++--------------------------
3 files changed, 41 insertions(+), 45 deletions(-)
Hi, I just committed 3.24.0, which also includes most of the suggestions made here. Many thanks again!
For the LTR version, there will be an update from 3.16.16 to 3.22.4 in the next time, which will also contain these changes.
Thank you for your efforts, the new version works beautifully!
(In reply to Martin Birgmeier from comment #7)
Many thanks for the feedback :)