userver icon indicating copy to clipboard operation
userver copied to clipboard

[WIP] Conan support for userver

Open JorgenPo opened this issue 2 years ago • 1 comments

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.

JorgenPo avatar Sep 13 '22 15:09 JorgenPo

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

xakod avatar Sep 15 '22 11:09 xakod

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)

JorgenPo avatar Sep 16 '22 08:09 JorgenPo

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

xakod avatar Sep 18 '22 16:09 xakod