userver
userver copied to clipboard
[WIP] Conan support for userver
This PR should contribute to #67 and make userver available through conan package manager
Work is still in progress but userver-core library is successfully built at least on ubuntu 22.04
Roadmap
Components
- [x] Core library building
- [ ] Mongodb feature
- [ ] Postresql feature
- [ ] Redis feature
- [ ] Clickhouse feature
- [ ] GRPC feature
- [ ] RabbitMQ feature
- [ ] Universal feature
OS testing
Receipt building need to be tested at least on these platforms:
- [x] Ubuntu 22.04
- [ ] Ubuntu 21.10 (failed to build test docker image)
- [ ] Ubuntu 20.04
- [ ] Ubuntu 18.04
- [ ] Gentoo
- [ ] Fedora 36
- [ ] Fedora 35
- [ ] Archlinux
- [ ] Debian
- [ ] MacOS
Polishing (at the end)
- [ ] Remove conan folder and helper docker images
- [ ] Change scm attribute to the official github repo
Current problems
- Some python packages (
jinja2
,voluptuous
,pyyaml
) should be installed through pip to generate cmake files - Libev package sources aren't available for some reason: http://dist.schmorp.de/libev/Attic/libev-4.33.tar.gz (connection timed out). Maybe this is a temporary problem. Libev is supposed to be installed through the system package manager until it's sources will be available.
Why not to use official conan docker images? You hardcoded conan version in dockerfiles. Maybe it's better to install conan via pip without any hardcoded values
Why not to use official conan docker images? You hardcoded conan version in dockerfiles. Maybe it's better to install conan via pip without any hardcoded values
These docker images are temporary and only for testing the receipt. When the receipt will be ready I'm going to delete all utility files (including these docker images and Makefile)
Postgresql-extra feature with gssapi (https://github.com/userver-framework/userver/blob/develop/postgresql/pq-extra/CMakeLists.txt#L17) cannot be enabled with conan due to https://github.com/conan-io/conan-center-index/issues/4102