Problem description
When using remote sources for the Pixi packages it is useful to be able to apply patches.
This is heavily used in RoboStack to build the distros without waiting for fixes first.
Proposal
Add it to the package build source table similar to rattler-build
[package.build.source]
patches = ["my.patch", "my-other.patch"]
The patches location is relative to the definition of the patches. When using it in an inline path dependency it should be relative to the manifest it was defined in. e.g.:
[workspace]
# bla
[dependencies.my-pkg]
package.build.source = { git = "https://git.com/repo/user", patches = ["my.patch"] }
This should look for my.patch in the workspace local to the manifest where it was defined. Not in the git repo that was defined as the dependency location.
Copying source code
Pixi build workflows generally don't copy source code into the build dir but use the code in place. This would be needed to change when you apply patches. So my proposal is to copy source code into the working directories and apply the patches there. Just like rattler-build does.
Problem description
When using remote sources for the Pixi packages it is useful to be able to apply patches.
This is heavily used in RoboStack to build the distros without waiting for fixes first.
Proposal
Add it to the package build source table similar to
rattler-buildThe patches location is relative to the definition of the patches. When using it in an inline path dependency it should be relative to the manifest it was defined in. e.g.:
This should look for
my.patchin the workspace local to the manifest where it was defined. Not in the git repo that was defined as the dependency location.Copying source code
Pixi build workflows generally don't copy source code into the build dir but use the code in place. This would be needed to change when you apply patches. So my proposal is to copy source code into the working directories and apply the patches there. Just like
rattler-builddoes.