Skip to content

Conversation

@wolfv
Copy link
Member

@wolfv wolfv commented Dec 16, 2025

This PR refactors the entirety of the rattler-build code base to make it much more modular.

A lot of the functionality has moved into specialized crates, such as:

  • rattler-build-source-cache: contains code to checkout code from Git or URLs and cache it locally on disk
  • rattler-build-recipe-parser: contains a revamped parser that now fails on undefined variables, even better used vars tracking, ... It also features a type-safe stage0 and stage1 recipe format for proper rendering stages.
  • rattler-build-jinja: common settings for the Jinja execution
  • rattler-build-script: The build script execution engine
  • rattler-build-variant-config: load variant configurations from files and perform variant arithmetic
  • and more...!

The refactor also comes with totally revamped Python bindings that give much more control and offer great flexibility when it comes to building packages.

While we are merging this code now, it is still considered beta and we are fixing a few last parser differences / errors (by running against a large amount of recipes-in-the-wild over at https://github.com/prefix-dev/rattler-build-parser-tests.

wolfv and others added 30 commits October 14, 2025 15:01
This refactor puts us on the right track to have something like the "intermediate recipe" format in rattler-build so that we can rely on it from the pixi-build-backends and offer really nice Python bindings.
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.

3 participants