Skip to content
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

Build Matplotlib 3.9.0rc1 #373

Merged
merged 136 commits into from
Jul 1, 2024
Merged

Build Matplotlib 3.9.0rc1 #373

merged 136 commits into from
Jul 1, 2024

Conversation

dopplershift
Copy link
Member

Checklist

  • Used a personal fork of the feedstock to propose changes
  • Bumped the build number (if the version is unchanged)
  • Reset the build number to 0 (if the version changed)
  • Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
  • Ensured the license file is being packaged.

dopplershift and others added 30 commits February 14, 2023 12:31
Matches changes in upstream with 3.8.0 final.
automerged PR by conda-forge/automerge-action
Reflect PSF-2.0 being an official SPDX license
automerged PR by conda-forge/automerge-action
automerged PR by conda-forge/automerge-action
recipe/build_base.bat Outdated Show resolved Hide resolved
recipe/build_base.bat Outdated Show resolved Hide resolved
recipe/build_base.bat Outdated Show resolved Hide resolved
regro-cf-autotick-bot and others added 16 commits June 28, 2024 11:35
TL;DR: The way we build against numpy has changed as of numpy 2.0. This bot
PR has updated the recipe to account for the changes (see below for details).

The biggest change is that we no longer need to use the oldest available numpy
version at build time in order to support old numpy version at runtime - numpy
will by default use a compatible ABI for the oldest still-supported numpy versions.

Additionally, we no longer need to use `{{ pin_compatible("numpy") }}` as a
run requirement - this has been handled for more than two years now by a
run-export on the numpy package itself. The migrator will therefore remove
any occurrences of this.

However, by default, building against numpy 2.0 will assume that the package
is compatible with numpy 2.0, which is not necessarily the case. You should
check that the upstream package explicitly supports numpy 2.0, otherwise you
need to add a `- numpy <2.0dev0` run requirement until that happens (check numpy
issue 26191 for an overview of the most important packages).

### To-Dos:
  * [ ] Match run-requirements for numpy (i.e. check upstream `pyproject.toml` or however the project specifies numpy compatibility)
    * If upstream is not yet compatible with numpy 2.0, add `numpy <2.0dev0` upper bound under `run:`.
    * If upstream is already compatible with numpy 2.0, nothing else should be necessary in most cases.
    * If upstream requires a minimum numpy version newer than 1.19, you can add `numpy >=x.y` under `run:`.
  * [ ] Remove any remaining occurrences of `{{ pin_compatible("numpy") }}` that the bot may have missed.

PS. If the build does not compile anymore, this is almost certainly a sign that
the upstream project is not yet ready for numpy 2.0; do not close this PR until
a version compatible with numpy 2.0 has been released upstream and on this
feedstock (in the meantime, you can keep the bot from reopening this PR in
case of git conflicts by marking it as a draft).
Comment on lines 5 to 23
if "%CI%" == "azure" (
:: Hack to try removing problematic Python from Azure CI image
:: Replace with conda-smithy solution when available
:: xref: https://github.com/conda-forge/conda-smithy/pull/1966
set CLEANUP_DIRS=^
C:\hostedtoolcache\windows\Python;^
;

%PYTHON% -m pip install --no-deps --no-build-isolation -vv .
mkdir C:\empty
for %%f in (%CLEANUP_DIRS:;= %) do (
if not [%%f] == [] (
echo Removing %%f
dir %%f
robocopy /purge /r:0 /w:0 /mt /ns /nc /np /nfl /ndl /njh /njs C:\empty %%f > nul 2>&1
rmdir /q %%f
)
)
rmdir /q C:\empty
)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Am planning to get this into conda-smithy ( conda-forge/conda-smithy#1966 )

However it is taking a bit longer to complete

So not to hold things up, have added similar logic here. With a note to follow up later

@jakirkham
Copy link
Member

Ok all green 🥳

Please let me know if you need anything else here 🙂

@tacaswell tacaswell merged commit be67991 into conda-forge:rc Jul 1, 2024
37 checks passed
@jakirkham
Copy link
Member

Thanks Tom! 🙏

Looks like CI didn't start when this was merged. So have manually started it

That said, it looks like this may run into the same failure you observed in comment: #390 (comment)

@jakirkham
Copy link
Member

The macOS and Windows builds passed

Linux builds failed as expected

Since this issue emerged, we have deployed a fix. So restarting failed builds to see if the remaining issues clear up

@jakirkham
Copy link
Member

All builds have now passed and uploaded packages

@jtilly
Copy link

jtilly commented Jul 4, 2024

Note that merging this PR into the rc branch of this repo pushed 3.9.0 builds onto conda-forge (see https://anaconda.org/conda-forge/matplotlib). Also see #390 (comment).

@dopplershift dopplershift deleted the bump-rc branch July 8, 2024 22:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants