bazel-contrib / bazel-contrib/rules_python

Support adding patch_cmds in pip.override

未关闭
#3,512 2 条评论 1 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Starlark
星标
688
派生
721
平均合并
15 小时 7 分钟
30 天内合并 PR
76

描述

# 🚀 feature request

### Description

Currently, the following exists for patching targets. However, for certain targets like pytorch, we have custom commands that patch the rpath of shared object libraries in our current workspace. However, this isn't doable with pip.override as we can't quite generate a patch for rpath differences. We can't patch the wheel beforehand because we're using pip torch relies on an rpath that is variable to change depending on the sha256sum of the wheel so we have to patch after the wheel is built as we can't know the sha256sum of the wheel before it's built

```
pip.override(
file = ".whl",
patch_strip = 1,
patches = [
"",
],
)
```

### Describe the solution you'd like

ideally if pip.override has a `patch_cmds` optional argument that would be great
```
pip.override(
file = ".whl",
patch_strip = 1,
patches = [
"",
],
patch_cmds = [
]
)
```

### Describe alternatives you've considered

We've tried patching before the wheel is built, but like the description above says, it's currently a chicken and egg problem

贡献指南

打开贡献指南

调研方向

Start by locating the pip.override entry point and the existing handling for patches and patch_strip. Trace how the wheel is processed after it is built, then determine where an optional patch_cmds argument would fit. Done means pip.override accepts and runs the commands while preserving existing patch behavior; the issue names no specific files or tests to run.

由索引模型根据 Issue 内容生成。

评估

技术栈
python
领域
build-system
Issue 类型
功能
难度
3/5
预计耗时
1-2 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
45/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。