Skip to content

Allow for patches on a [package] #6918

Description

@ruben-arts

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions