-
-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create -devel
and -static
variants
#103
Conversation
Hi! This is the friendly automated conda-forge-linting service. I just wanted to let you know that I linted all conda-recipes in your PR ( |
Just a curiosity, why you choose to call the static variant with -devel suffix instead of -static as suggested in CFEP-018 (https://github.com/conda-forge/cfep/blob/main/cfep-18.md)? |
Hi!
From the CFEP-18, it looks like we should also convert the win-64 package to expose shared libs (because it's possible, and somehow desirable and more consistent across platforms). But the it may break current usage, so for now I stick with the past choices |
Ok, I got it, so installing -devel can be used to link both shared or static, given how sundials defines CMake imported targets, that is clear, thanks! |
fix `superlu_mt` vendoring remove unused patch build shared and static on windows in both packages patch windows build to fix building both static and shared libs add superlu_mt license
ed32b5b
to
59c6977
Compare
I just packaged the The Windows package is building successfully providing a small fix upstream, also tracked as an issue and an associated PR. Ready for review @traversaro @jschueller @bjodah |
building static+shared does not follow the conda-forge standards, a sundials-static with only static libs would be ok though |
hi @jschueller Where is this mentioned? I can surely add another Is this a no-go from your perspective? |
clone superlu_mt from the source section of the yaml recipe add tests
@conda-forge/help-c-cpp any advice about this discussion ? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You should add a separate package -static
that contains the static library. This should be explicitly pulled in if you want the static library, not automatically as part of -devel
. This is a bit different in the boost case as some things in the boost world are static only. Otherwise, we really want to have -devel
be "what you need to compile against this lib" and -static
"I really want to link against the static library".
Thanks for the quick feedback!
I agree, a
I don't get from your answer if having a I'll fix the build scripts concerning |
What is the use case for the |
I answered the same question few lines above :): #103 (comment)
On Windows yes, because @jschueller built the recipe with Windows shipping static libs and Linux shipping shared ones. I didn't wanted to break projects relying on Windows package shipping statics.. and don't know about deprecating this package in favor of a On linux, |
its ok to remove static libs because users should not expect them outside static packages |
-devel
variant to expose static libs-devel
and -static
variants
@jschueller @xhochy your recommendations have been followed. Ready for review! |
@jschueller is it OK for you? |
@xhochy I would like to make this available asap, what's the process when there is no answer from feedstock maintainers? Thanks! |
@conda-forge/help-c-cpp |
@jschueller bump. |
Thanks! |
Description
Convert this feedstock into a multi-output recipe:
sundials
: ships shared librariessundials-devel
: variant to expose static libs (and shared ones) to allow developers selecting the variants they needsundials-static
: ships static librariesfix
superlu_mt
vendoring (install the lib and headers in the host prefix)remove unused patch
Fixes #102
I still need to test this on Windows to see to make the appropriate changes
I also need to add the
superlu_mt
licenseChecklist
0
(if the version changed)conda-smithy
(Use the phrase@conda-forge-admin, please rerender
in a comment in this PR for automated rerendering)