Skip to content
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

add libtinyspline #26343

Open
wants to merge 26 commits into
base: main
Choose a base branch
from
Open

add libtinyspline #26343

wants to merge 26 commits into from

Conversation

mantkiew
Copy link

@mantkiew mantkiew commented May 13, 2024

Checklist

  • Title of this PR is meaningful: e.g. "Adding my_nifty_package", not "updated meta.yaml".
  • License file is packaged (see here for an example).
  • Source is from official source.
  • Package does not vendor other packages. (If a package uses the source of another package, they should be separate packages or the licenses of all packages need to be packaged).
  • If static libraries are linked in, the license of the static library is packaged.
  • Package does not ship static libraries. If static libraries are needed, follow CFEP-18.
  • Build number is 0.
  • A tarball (url) rather than a repo (e.g. git_url) is used in your recipe (see here for more details).
  • GitHub users listed in the maintainer section have posted a comment confirming they are willing to be listed there.
  • When in trouble, please check our knowledge base documentation before pinging a team.

@conda-forge-webservices
Copy link

Hi! This is the friendly automated conda-forge-linting service.

I wanted to let you know that I linted all conda-recipes in your PR (recipes/tinyspline) and found some lint.

Here's what I've got...

For recipes/tinyspline:

  • The "test" section was expected to be a dictionary, but got a CommentedSeq.
  • The recipe must have some tests.
  • The "test" section was expected to be a dictionary, but got a CommentedSeq.

For recipes/tinyspline:

@conda-forge-webservices
Copy link

Hi! This is the friendly automated conda-forge-linting service.

I wanted to let you know that I linted all conda-recipes in your PR (recipes/tinyspline) and found some lint.

Here's what I've got...

For recipes/tinyspline:

  • The "test" section was expected to be a dictionary, but got a CommentedSeq.
  • The recipe must have some tests.
  • The following maintainers have not yet confirmed that they are willing to be listed here: msteinbeck. Please ask them to comment on this PR if they are.
  • The "test" section was expected to be a dictionary, but got a CommentedSeq.

For recipes/tinyspline:

@conda-forge-webservices
Copy link

Hi! This is the friendly automated conda-forge-linting service.

I wanted to let you know that I linted all conda-recipes in your PR (recipes/tinyspline) and found some lint.

Here's what I've got...

For recipes/tinyspline:

  • The following maintainers have not yet confirmed that they are willing to be listed here: msteinbeck. Please ask them to comment on this PR if they are.

@conda-forge-webservices
Copy link

Hi! This is the friendly automated conda-forge-linting service.

I wanted to let you know that I linted all conda-recipes in your PR (recipes/tinyspline) and found some lint.

Here's what I've got...

For recipes/tinyspline:

  • Selectors are suggested to take a <two spaces>#<one space>[<expression>] form. See lines [17, 24]
  • The following maintainers have not yet confirmed that they are willing to be listed here: msteinbeck. Please ask them to comment on this PR if they are.

@conda-forge-webservices
Copy link

Hi! This is the friendly automated conda-forge-linting service.

I wanted to let you know that I linted all conda-recipes in your PR (recipes/tinyspline) and found some lint.

Here's what I've got...

For recipes/tinyspline:

  • The following maintainers have not yet confirmed that they are willing to be listed here: msteinbeck. Please ask them to comment on this PR if they are.

@mantkiew
Copy link
Author

mantkiew commented May 14, 2024

@conda-forge/help-c-cpp , ready for review

Questions:

  1. there's tinyspline on PyPi that can be added separately.
  2. this one is C/C++ only. I'm confused about the naming conventions. Should there be tinyspline just for Python and then tinysplinec and tinysplinecxx for C and C++, respectively?
  3. I tried using ctest to run the tests but the command is not available in the build environment. I have the cmake in the requirements and that should bring in the ctest command as well.

@conda-forge-webservices
Copy link

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 (recipes/tinyspline) and found it was in an excellent condition.

Copy link
Member

@xhochy xhochy left a 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 lib prefix to distinguish it from the python package.

Also, as this ships shared libraries, it should have a run_exports statement.

@conda-forge-webservices
Copy link

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 (recipes/libtinyspline) and found it was in an excellent condition.

@mantkiew mantkiew changed the title add tinyspline add libtinyspline May 23, 2024
@mantkiew
Copy link
Author

@xhochy is that ok?

Finally, can we use ctest to execute tests? That would be great but so far my builds were failing because ctest command is not available. Looks like it's excluded from the cmake installation in the build image.

requirements:
build:
- cmake
- binutils # [linux]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should not be required.

Suggested change
- binutils # [linux]

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added binutils to have the command strip. Otherwise, the build was failing with "command not found". Also, stripping only works on Linux (and all binaries should be stripped).

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There should be a $STRIP command set that comes in via the compiler. Please use that one.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the end, I switched to using cmake --install . --strip instead of manually using the command $STRIP because cmake knows how to do it across all platforms.

recipes/libtinyspline/meta.yaml Outdated Show resolved Hide resolved
@xhochy
Copy link
Member

xhochy commented May 24, 2024

Finally, can we use ctest to execute tests? That would be great but so far my builds were failing because ctest command is not available. Looks like it's excluded from the cmake installation in the build image.

This should work 🤔 I have been doing this in other locations. You need to run these tests though during the build phase of conda-build.

Co-authored-by: Uwe L. Korn <xhochy@users.noreply.github.com>
@mantkiew
Copy link
Author

Finally, can we use ctest to execute tests? That would be great but so far my builds were failing because ctest command is not available. Looks like it's excluded from the cmake installation in the build image.

This should work 🤔 I have been doing this in other locations. You need to run these tests though during the build phase of conda-build.

Ah, that's the problem! I was running ctest in the test section not in the build. Also, I couldn't find any mention of ctest in the documentation at all.

@mantkiew mantkiew requested a review from xhochy May 30, 2024 17:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

None yet

2 participants