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 libcamera and related recipes #29477

Draft
wants to merge 45 commits into
base: main
Choose a base branch
from
Draft

Conversation

carlodri
Copy link
Contributor

@carlodri carlodri commented Mar 20, 2025

https://libcamera.org/index.html

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.

Copy link
Contributor

Hi! This is the staged-recipes linter and your PR looks excellent! 🚀

@conda-forge-admin
Copy link
Contributor

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/libcamera/meta.yaml) and found some lint.

Here's what I've got...

For recipes/libcamera/meta.yaml:

For recipes/libcamera/meta.yaml:

  • ℹ️ The boost-cpp output has been superseded by libboost-devel (as of 1.82), which now comes with a run-export (on libboost) as well. In case you only needed the boost headers, you should use libboost-headers.

This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/13972575441. Examine the logs at this URL for more detail.

@conda-forge-admin
Copy link
Contributor

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/libcamera/meta.yaml) and found it was in an excellent condition.

@carlodri
Copy link
Contributor Author

@conda-forge/help-c-cpp can someone help me in landing this? I think this a pretty relevant library. But my c-cpp skills are too low to get it working....

This is also important to have the picamera2 Python library built in a flexible way and still maintaining the strict link required between the versions of picamera2-libcamera. As soon as libcamera works I would like to add it here to the same feedstock.

@carlodri
Copy link
Contributor Author

carlodri commented Mar 21, 2025

CC @hmaarrfk sorry to ping you on this but I had the feeling that you could also be interested. Forgive me if not...

@carlodri
Copy link
Contributor Author

@conda-forge-admin please rerender

@conda-forge-admin
Copy link
Contributor

conda-forge-admin commented Mar 23, 2025

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/libcamera/meta.yaml) and found some lint.

Here's what I've got...

For recipes/libcamera/meta.yaml:

  • ❌ You are setting c_stdlib_version below the current global baseline in conda-forge (10.13). If this is your intention, you also need to override MACOSX_DEPLOYMENT_TARGET (with the same value) locally.

This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/14022991544. Examine the logs at this URL for more detail.

@hmaarrfk
Copy link
Contributor

if you don't personally need osx support, then don't worry about it. let somebody else come in and help you with it "later".

Now you should still move your dependencies to the host section, keep tools like pkg-config, meson, cmake, compilers in the build section.

@carlodri
Copy link
Contributor Author

carlodri commented Mar 23, 2025

at the moment I only need aarch64. Am I understanding your suggestion correctly, to drop the aarch_64 for now, build only on linux_64 and then migrate later?

@hmaarrfk
Copy link
Contributor

at the moment I only need aarch64. Am I understanding your suggestion correctly, to drop the aarch_64 for now, build only on linux_64 and then migrate later?

yes. mostly doing cross compilation blind is sure to fail.... especially if you are having trouble organizing the dependencies correctly.

You can just ask the bot to rerender immeimdately and it gives you a PR that you can edit.

@conda-forge-admin
Copy link
Contributor

conda-forge-admin commented Mar 23, 2025

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/libcamera-rpi/meta.yaml, recipes/libcamera/meta.yaml) and found it was in an excellent condition.

@carlodri
Copy link
Contributor Author

at the moment I only need aarch64. Am I understanding your suggestion correctly, to drop the aarch_64 for now, build only on linux_64 and then migrate later?

yes. mostly doing cross compilation blind is sure to fail.... especially if you are having trouble organizing the dependencies correctly.

You can just ask the bot to rerender immeimdately and it gives you a PR that you can edit.

thanks a lot for the insight and help @hmaarrfk, trying now on linux_64 only.

@hmaarrfk
Copy link
Contributor

There is always something odd with meson stuff.

Basically, meson pulls in python, and then the build python gets found.... if python is actually a build time dpenednecy, then we can move all the python stuff to the build prefix.

But hte "libraries", like libjpegturbo should be in the host section for sure.

@carlodri carlodri mentioned this pull request Mar 24, 2025
10 tasks
Copy link
Contributor

To help direct your pull request to the best reviewers, please mention a topic-specifc team if your recipe matches any of the following: conda-forge/help-c-cpp, conda-forge/help-cdts, conda-forge/help-go, conda-forge/help-java, conda-forge/help-julia, conda-forge/help-nodejs, conda-forge/help-perl, conda-forge/help-python, conda-forge/help-python-c, conda-forge/help-r, conda-forge/help-ruby,or conda-forge/help-rust. Thanks!

@carlodri
Copy link
Contributor Author

sorry pinged the staged recipes team by mistake, this is not ready yet

@carlodri
Copy link
Contributor Author

@hmaarrfk what do you think? I'm not sure about the libcamera-rpi lacking tests. And maybe we could merge this one before adding https://github.com/raspberrypi/picamera2

Let me know your thoughts (and if you want to help maintain this mess I made 😅)


test:
commands:
- echo "Tests not implemented for libcamera-rpi, needs rpicam-apps."
Copy link
Contributor

Choose a reason for hiding this comment

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

you can likely add test for existance of headers and so files.


test:
commands:
- cam -l
Copy link
Contributor

Choose a reason for hiding this comment

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

are header files and so files expected? if so, add those tests.

@hmaarrfk
Copy link
Contributor

See tensorflow or PyTorch for recipes with variants. They have selectors in the meta.yaml. You would have a selector for the source url and the source sha256

Copy link
Contributor

Hi! This is the staged-recipes linter and your PR looks excellent but I have some suggestions.

File-specific lints and/or hints:

  • recipes/libcamera/meta.yaml:
    • hints:
      • It looks like you are submitting a multi-output recipe. In these cases, the correct name for the feedstock is ambiguous, and our infrastructure defaults to the top-level package.name field. Please add a feedstock-name entry in the extra section.

@conda-forge-admin
Copy link
Contributor

conda-forge-admin commented Mar 26, 2025

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/libcamera/meta.yaml) and found some lint.

Here's what I've got...

For recipes/libcamera/meta.yaml:

  • ❌ The "source" section was expected to be a dictionary or a list, but got a builtins.NoneType.
  • ❌ Selectors are suggested to take a <two spaces>#<one space>[<expression>] form. See lines [66, 75]
  • ❌ The recipe is not parsable by any of the known recipe parsers (['conda-forge-tick (the bot)', 'conda-recipe-manager', 'conda-souschef (grayskull)']). Please check the logs for more information and ensure your recipe can be parsed.
  • ❌ The "source" section was expected to be a dictionary or a list, but got a builtins.NoneType.

For recipes/libcamera/meta.yaml:

  • ℹ️ The recipe is not parsable by parser conda-forge-tick (the bot). Your recipe may not receive automatic updates and/or may not be compatible with conda-forge's infrastructure. Please check the logs for more information and ensure your recipe can be parsed.
  • ℹ️ The recipe is not parsable by parser conda-souschef (grayskull). This parser is not currently used by conda-forge, but may be in the future. We are collecting information to see which recipes are compatible with grayskull.
  • ℹ️ The recipe is not parsable by parser conda-recipe-manager. The recipe can only be automatically migrated to the new v1 format if it is parseable by conda-recipe-manager.

This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/14116206179. Examine the logs at this URL for more detail.

@conda-forge-admin
Copy link
Contributor

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/libcamera/meta.yaml) and found it was in an excellent condition.

@hmaarrfk
Copy link
Contributor

don't bother creating different pakcage names, just different build strings.

that will make them exclusive.

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.

3 participants