Open hmaarrfk opened 2 years ago
I'd be happy to help out, but TBH I'm not familiar with conda-forge package creation and the process, so I'm kind of lost in the many closed PRs about the qt packages. Is there an active effort to get other packages into conda?
A PR similar to https://github.com/conda-forge/staged-recipes/pull/25992 is likely the best "documentation" we have.
Thanks for your willingness to help!
If you know the name of a file/library that is contained in the library you are looking for, a possible strategy is to use https://conda-metadata-app.streamlit.app/Search_by_file_path?q=conda-forge to search which package (if any) in conda-forge contains that file.
@hmaarrfk Thanks. There seems to be a lot of boilerplate, like the x11 deps. Is there any chance to share those between the recipes? I could hack at it and see if I can build the libs I need, but I don't think it is feasible to expand this to all the qt libs (well, it might be, but it will become a huge maintenance burden).
@traversaro Thanks, this is awesome and should be part of the main package repository :-)
Hi! When considering different modules, I suggest each of them gets a its own package based on theqt structure. This has a huge advantage for developers, since they already know the package name and don't have to search. The dependency list already is written in the CMakeLists.txt for the project (well, mostly) .
I said it before and I'll reiterate again: that would be too much work for Conda-forge maintainers. @Krakonos, all you need to know is that mostly everything required for development is in the qt-main
package. The one Qt module that is not part of it is QtWebEngine, which has its own separate package.
boilerplate, like the x11 deps
There are efforts to make alot of the boiler plate easier, see https://github.com/conda-forge/qt-main-feedstock/pull/287 but...
Don't get loose track of your goal, which is to get your app up and running ^_^. Copy paste is a very well established technology.
@ccordoba12
that mostly everything required for development is in the qt-main package.
this doesn't seem to be true for the package of interest of his. Ultimately, maintaining the megapackage is really difficult..... I think beyond what we have today for the "qt6", we should be trying to split things off. the build time is MUCH faster, and allows more contributors to get involved.
I said it before and I'll reiterate again: that would be too much work for Conda-forge maintainers. @Krakonos, all you need to know is that mostly everything required for development is in the qt-main package. The one Qt module that is not part of it is QtWebEngine, which has its own separate package.
Noted. And yeah, that might be a bit excessive. But I guess matching the source tarballs makes sense though, right? For example, Core, widgets etc. is in a single base package, but extras like networkauth, svg, 5compat, etc. should be separate package. Otherwise I don't know how to handle single package from multiple tarballs.
(list of packages: https://download.qt.io/official_releases/qt/6.7/6.7.2/submodules/ )
@hmaarrfk My app is running. QNetworkAuth is small enough so I can just build it as part of the job, not a huge deal now, but I don't like the concept of mixing source & conda packages together (and building whole qt is out of the question, qt official unattended installer seems pretty hard to run).
But I'm a bit confused, the package in qt-main-feedstock seems to be fixed to a single 5.x version, is there a separate qt6 package?
We build it as part of a separate branch https://github.com/conda-forge/qt-main-feedstock/tree/qt6
An other reason to separate it it out is that it is a GPL-3.0-only package. My attempt is here: https://github.com/conda-forge/staged-recipes/pull/27591
Comment:
There is alot of worry that Qt6 will cause a slow rollout for many libraries.
Already we can see that many of the packages have not yet completed the
qt
->qt-main
migration inhttps://conda-forge.org/status/#qt515
Many of the packages seem abandoned, so it might be best to:
It seems at least that ubuntu is at least providing both:
Other relevant discussion: