bazel-contrib / bazel-contrib/rules_python

Support adding patch_cmds in pip.override

Đang mở
#3,512 2 bình luận 1 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Starlark
Star
688
Fork
721
Merge trung bình
15 giờ 7 phút
Pull request đã merge (30 ngày)
76

Mô tả

# 🚀 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

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

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.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
python
Lĩnh vực
build-system
Loại issue
Tính năng
Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
45/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.