-
Notifications
You must be signed in to change notification settings - Fork 0
Add python_abi output and refactor #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: tsan
Are you sure you want to change the base?
Conversation
isuruf
commented
Jan 8, 2026
- Remove clang-19 since we are not building the experimental jit
- Remove ld_impl because we are not hacking the makefiles
- Add site_packages_path
- Make recipe.yaml identical with just the variant name difference
- Add a generate.sh to generate recipe.yaml from default variant
9a4b234 to
d810a1e
Compare
- Remove clang-19 since we are not building the experimental jit - Remove ld_impl because we are not hacking the makefiles - Add site_packages_path - Make recipe.yaml identical with just the variant name difference - Add a generate.sh to generate recipe.yaml from default variant - Add a runtime requirement of libsanitizer for gcc
|
Ping @lucascolley in case you're curious how Isuru sorted out the |
Tools/pixi-packages/generate.sh
Outdated
| if [[ "${name}" == *free-threading* ]]; then | ||
| tag="cp35t" | ||
| else | ||
| tag="cp35" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
shouldn't this be cp315? Or was this choice on purpose?
|
nice :) and on the Pixi side we have progress towards being able to use a single recipe with |
|
Can we have one recipe and pass a variant using |
| name: python_abi | ||
| version: ${{ version }} | ||
| build: | ||
| string: "0_cp315" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@lucascolley I had to change this from 0_${{ abi_tag }} because pixi cannot handle this correctly. Pixi would expect a build string of 0_ and complaint that it found 0_cp315. Probably an issue with conda/outputs thing in pixi build.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sounds right, a bug report would be perfect
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Opened prefix-dev/pixi#5250
That would indeed be more simple once the variant-sensitivity is added for Pixi workspace dependencies |
|
The readme probably needs an update too: https://github.com/python/cpython/tree/main/Tools/pixi-packages#maintenance |
|
@crusaderky when you’re able to come back to this, let us know if this looks good. |
|
I'm -1 on |
|
My pixi 0.62.2 doesn't seem to notice the |
yes this still needs work on the Pixi side |
|
Can you share your manifest @crusaderky ? |
[workspace]
channels = ["conda-forge"]
platforms = ["linux-64", "osx-arm64"]
preview = ["pixi-build"]
[dependencies]
python.git = "https://github.com/isuruf/cpython"
python.rev = "tsan"
python.subdirectory = "Tools/pixi-packages/default" |
|
Yeah the problem is that variants are local to a single workspace, so including a package from another workspace wont include those variants. In the next pixi release (0.63) In a future release, it should then also be possible to write: [dependencies]
python = { git = "..", build = "*asan" }But I personally think that depending on named helper packages is more flexible and future-proof. |
|
That seems fine to me for now. Unfortunately the recipe becomes more complicated with the multiple outputs, but that is balanced by having only a single Pixi manifest I guess. |
|
I'm sure you will be the fastest out of us to refactor into using pin_subpackage Isuru, but I'm happy to take a look if you prefer |
This would create multiple variants of python when we only really need one and seems like a waste. |
|
@isuruf I tried hardcoding the context in each recipe as follows to bypass the above issue context:
# Keep up to date
version: "3.15"
abi_tag: cp315
variant: default
freethreading_tag: ${{ "t" if "freethreading" in variant else "" }}but the recipe fails at the end of compilation: |
|
@crusaderky we need the next release of pixi for that. |