Conan-build is a PITA for all external packagers
StefanBruens opened this issue · comments
- standardprojectsettings is not a proper dependency usable outside of Conan
- Conan is not really usable in an offline scenario
This is a kind request to:
- Make standardprojectsettings usable with a standard build, e.g.
git clone; git checkout; cmake; make
. I.e.find_package(standardprojectsettings)
should be working outside Conan - Install libraries with
make install
- Install CMake config files with
make install
See e.g. https://repology.org/project/cura/versions - nobody packages Cura > 4.13.1 (AUR is just repackaged AppImage).
See e.g. NixOS/nixpkgs#208124 for e.g. NixOS struggles, and that is with libSavitar 5.0, not even 5.2.2.
In case Ultimaker has no intention to support building distribution packages, lowering the hurdles would be very welcome (e.g. reintroducing make install
targets).
Disclaimer: I am not related to NixOS, but face the same problems.
Sorry to hear it is a PITA for some people, but the fact of the matter is that it was a PITA for UltiMaker before our switch to Conan. The move to GitHub Actions and the use of Conan ensured that we have a yearly cost reduction in the ball park of 50k euro a year; coupled with reproducable builds and less risk in our development process and release cycles. We also see a huge increase in community developers being able to setup their development environment with less trouble.
We acknowledge the fact that certain package Linux Package maintainers have a different philosophy how package should be build, but we can also not put in the resources to facilitate all those different philosophies. There is a reason why we optimized one of our bigger resource hogs (aka the build system) in the first place.
That being said: Pull Request to facilitate Linux package managers are welcome and they will recieve propper attention but they will be judge on limitting extra complexity and maintenance from the UltiMaker side.
If people are dead set on skipping Conan as a dependency manager that still is possible. The would have to manage the downloading and installing of the dependencies themself, and write the find_packages
for them. The standardprojectsettings can be found here: https://github.com/Ultimaker/conan-ultimaker-index/blob/CURA-8831_pyqt6_recipe/recipes/standardprojectsettings/StandardProjectSettings.cmake and no this will not be pulled into the seperate repo's.
So I will close and defer this issue for now.