Skip to content

feat: add support for Git and path dependencies in recipe parsing and variant resolution #1723

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

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

zelosleone
Copy link
Collaborator

closes #1722

i also used async for git deps resolution in requirements as that was my only idea that i could think of.

Comment on lines +882 to +889
let Some(dep_name) = dep.package_name() else {
if let Dependency::Git(git) = dep {
tracing::warn!(
"Git dependency {} cannot be resolved in build order calculation",
git.git
);
}
continue;
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

we will also not throw a panic now when its empty, and try to resolve git deps correctly

@zelosleone zelosleone requested a review from wolfv June 13, 2025 00:43
@wolfv
Copy link
Member

wolfv commented Jun 13, 2025

This is an interesting idea. I think it might clash a bit with what we do in pixi though (where we will also have source dependencies like this, and the ability to depend on other packages by git or path).

We need to think of a way to do this that will have a good user experience. And we would also have to orchestrate builds in a way similar to what we are currently implementing in pixi.

On the other hand, what users can do today is that they can checkout the git repositories they are interested in manually, and then merge them all into a recipe-dir from which all packages will be built in the right order.

@sstadick
Copy link

sstadick commented Jun 13, 2025

Hi @wolfv! I was the original requester for this.

The use case I'm hitting is using the pixi-build-rattler-build with pixi-build. I have other packages that also use that same setup, but they can't easily depend on each-other in a clean way without publishing them as conda packages. It would be really nice to be able to set up deps without having to publish to a conda channel.

That's really good to know about the recipe-dir, is there an example of that being done somewhere in a recipe.yaml file that I could check out?

My use case is the Mojo ecosystem. I spent a little bit of time trying to implement a mojo-build backend, but realized I just don't know enough about pixi yet to do that, and Mojo already uses rattler-build for modular-community.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support git and path depencencies in the requirements section.
3 participants