python: allow it as a build-tool again#49201
Conversation
fixes spack#44289 Python was removed from being a build tool, due to issues when reusing specs. This PR adds a new rule to match the interpreter among different Python packages, in clingo. It also adds a bunch of new "build-tools", so that specs like: py-matplotlib backend=tkagg can be concretized in one go. Signed-off-by: Massimiliano Culpo <[email protected]>
This comment was marked as off-topic.
This comment was marked as off-topic.
|
@Chrismarsh I didn't try to install yet: One hour later: |
Signed-off-by: Massimiliano Culpo <[email protected]>
Signed-off-by: Massimiliano Culpo <[email protected]>
|
Still need to measure the impact on performance, for adding a few more dupes by default |
|
This allows me to concretize from fresh. Trying the install now. |
|
The usual benchmark, run on:
seems fine: |
|
@spackbot run pipeline |
|
I've started that pipeline for you! |
Python was removed from being a build tool in #46980, due to issues when reusing specs. This PR adds a new rule to match the interpreter among different Python packages, in clingo. It also adds a bunch of new "build-tools", so that specs like: ``` py-matplotlib backend=tkagg ``` can be concretized in one go. Modifications: - [x] Make `py-matplotlib backend=tkagg` concretizable - [x] Add unit-tests to ensure situations like in #46980 do not happen --------- Signed-off-by: Massimiliano Culpo <[email protected]>
Here is another data point: Concretization of |
|
@Meax5qiu Still investigating, but currently I think the big issue with cairo is 7e65c57 which:
This makes the concretizer jump across very different solutions, since all of them have penalties applied, and backtrack a lot. This PR makes things much "worse" for |



fixes #44289
Python was removed from being a build tool in #46980, due to issues when reusing specs. This PR adds a new rule to match the interpreter among different Python packages, in clingo.
It also adds a bunch of new "build-tools", so that specs like:
can be concretized in one go.
Modifications:
py-matplotlib backend=tkaggconcretizableA performance benchmark is in #49201 (comment)