conda-forge / scs-feedstock

A conda-smithy repository for scs.
BSD 3-Clause "New" or "Revised" License
0 stars 12 forks source link

scs c library #18

Open traversaro opened 3 years ago

traversaro commented 3 years ago

Hi @conda-forge/scs ! I am interested in providing the scs C library in conda-forge, in a form that can be consumed by C and C++ projects. At the moment this feedstock just installs the Python bindings of scs by statically linking the Python bindings with scs, and so the resulting library is not available to downstream C or C++ projects. I would be curious on your opinion regarding on this.

This issue is similar to https://github.com/conda-forge/osqp-feedstock/issues/25, so I guess that @h-vetinari may have the same preference for having a multi output recipe, however other maintainers could be interested in provide other inputs.

isuruf commented 3 years ago

Multi output recipes are fine for projects with the same release schedule, but it looks like scs python and C library have different maintainers/release schedules. So, a separate feedstock libscs and then the python package depending on libscs is a good approach I think

traversaro commented 3 years ago

Thanks @isuruf . Indeed in this case (and also in osqp one) the maintainer is the same, but indeed the development is separated with the C library using the GitHub repo and releases from https://github.com/cvxgrp/scs, while the python one using the source code and releases from PyPI, that originate from https://github.com/bodono/scs-python .

h-vetinari commented 3 years ago

Sounds good to me.

@traversaro, how do you feel about opening an addition for libscs to https://github.com/conda-forge/staged-recipes? You can also add me as a maintainer, if you want (and ping me, if you need help).

traversaro commented 3 years ago

Perfect @h-vetinari, thanks for the reply!

traversaro commented 3 years ago

For the libscs recipe, I would try to check if we are able to get a CMake build system in the upstream repo (see https://github.com/cvxgrp/scs/issues/151), that could simplify the generation of Windows binaries.

h-vetinari commented 3 years ago

A putative libscs-feedstock would also have to take care of GPU builds now - #21 is close to finished (but currently compiling the GPU version of scs here in this feedstock).

traversaro commented 3 years ago

A putative libscs-feedstock would also have to take care of GPU builds now - #21 is close to finished (but currently compiling the GPU version of scs here in this feedstock).

Thanks for noticing. My plan was to use the newly added CMake-based buildsystem of scs (https://github.com/cvxgrp/scs/pull/161) mainly to simplify the Windows port, but at the moment that does not support the GPU build. I will look into adding GPU support to that, I opened https://github.com/cvxgrp/scs/issues/162 to track this.