Skip to content

python: drop build-tools tag#46980

Merged
alalazo merged 1 commit intodevelopfrom
hs/fix/python-not-build-tag
Oct 15, 2024
Merged

python: drop build-tools tag#46980
alalazo merged 1 commit intodevelopfrom
hs/fix/python-not-build-tag

Conversation

@haampie
Copy link
Copy Markdown
Member

@haampie haampie commented Oct 15, 2024

Remove the build-tools tag of python, otherwise these types of
concretizations are possible:

py-root
  ^py-pip  # reused spec
    ^[email protected]
  ^[email protected]

So, a package would be configured with py-pip using python 3.12, but
installed for 3.13, which does not work.

Remove the `build-tools` tag of python, otherwise these types of
concretizations are possible:

```
py-root
  ^py-pip
    ^[email protected]
  ^[email protected]
```

So, a package would be configured with py-pip using python 3.12, but
installed for 3.13, which does not work.
@spackbot-app spackbot-app bot requested review from scheibelp and skosukhin October 15, 2024 08:03
@haampie haampie added this to the v0.22.3 milestone Oct 15, 2024
@haampie haampie added the v0.22.3 PRs to backport for v0.22.3 label Oct 15, 2024
@haampie haampie removed this from the v0.22.3 milestone Oct 15, 2024
@alalazo
Copy link
Copy Markdown
Member

alalazo commented Oct 15, 2024

To re-enable the "build-tools" tag on Python, we need extra rules in clingo for interpreted languages that ensures build only deps that are extensions always use the same interpreter as their parent.

@alalazo alalazo merged commit b9873c5 into develop Oct 15, 2024
@alalazo alalazo deleted the hs/fix/python-not-build-tag branch October 15, 2024 09:30
@alalazo alalazo self-assigned this Oct 15, 2024
arezaii pushed a commit to arezaii/spack that referenced this pull request Oct 22, 2024
Remove the `build-tools` tag of python, otherwise these types of
concretizations are possible:

```
py-root
  ^py-pip
    ^[email protected]
  ^[email protected]
```

So, a package would be configured with py-pip using python 3.12, but
installed for 3.13, which does not work.
haampie added a commit that referenced this pull request Oct 31, 2024
Remove the `build-tools` tag of python, otherwise these types of
concretizations are possible:

```
py-root
  ^py-pip
    ^[email protected]
  ^[email protected]
```

So, a package would be configured with py-pip using python 3.12, but
installed for 3.13, which does not work.
haampie added a commit that referenced this pull request Nov 18, 2024
Remove the `build-tools` tag of python, otherwise these types of
concretizations are possible:

```
py-root
  ^py-pip
    ^[email protected]
  ^[email protected]
```

So, a package would be configured with py-pip using python 3.12, but
installed for 3.13, which does not work.
tgamblin pushed a commit that referenced this pull request Feb 26, 2025
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]>
white238 pushed a commit that referenced this pull request Mar 3, 2025
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]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

python update-package v0.22.3 PRs to backport for v0.22.3

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants