conda-forge / esmpy-feedstock

A conda-smithy repository for esmpy.
BSD 3-Clause "New" or "Revised" License
6 stars 15 forks source link

esmpy v8.4.1 #69

Closed regro-cf-autotick-bot closed 1 year ago

regro-cf-autotick-bot commented 1 year ago

It is very likely that the current package version for this feedstock is out of date.

Checklist before merging this PR:

Information about this PR:

  1. Feel free to push to the bot's branch to update this PR if needed.
  2. The bot will almost always only open one PR per version.
  3. The bot will stop issuing PRs if more than 3 version bump PRs generated by the bot are open. If you don't want to package a particular version please close the PR.
  4. If you want these PRs to be merged automatically, make an issue with code>@conda-forge-admin,</codeplease add bot automerge in the title and merge the resulting PR. This command will add our bot automerge feature to your feedstock.
  5. If this PR was opened in error or needs to be updated please add the bot-rerun label to this PR. The bot will close this PR and schedule another one. If you do not have permissions to add this label, you can use the phrase code>@<space/conda-forge-admin, please rerun bot in a PR comment to have the conda-forge-admin add it for you.

Pending Dependency Version Updates

Here is a list of all the pending dependency version updates for this repo. Please double check all dependencies before merging.

Name Upstream Version Current Version
esmf 8.4.1 Anaconda-Server Badge

This PR was created by the regro-cf-autotick-bot. The regro-cf-autotick-bot is a service to automatically track the dependency graph, migrate packages, and propose package version updates for conda-forge. Feel free to drop us a line if there are any issues! This PR was generated by https://github.com/regro/cf-scripts/actions/runs/4321266512, please use this URL for debugging.

conda-forge-webservices[bot] commented 1 year ago

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

xylar commented 1 year ago

Needs https://github.com/conda-forge/esmf-feedstock/pull/97

xylar commented 1 year ago

@zklaus, it seems like there are some patches to either remove or update here. Since that was your magic touch, I'd be grateful if you'd give it a go when you have time.

xylar commented 1 year ago

@conda-forge-admin, please restart ci

xylar commented 1 year ago

Travis builds are stalling or failing and I can't restart them individually, which is a giant pain. @ocefpaf are you able to restart them individually?

xylar commented 1 year ago

Alternatively, how do folks feel about switching to cross-compiling (and thus skipping testing)? Seems better than struggling with Travis...

xylar commented 1 year ago

I'm going to go ahead a switch to cross-compiling. But I will wait to merge until I hear from you all.

xylar commented 1 year ago

@conda-forge-admin, please rerender

zklaus commented 1 year ago

Good call, @xylar. I had already restarted the Travis builds two times and a number of the sub-jobs never even made it through git checkout.

zklaus commented 1 year ago

Btw, some time ago, @ocefpaf commented that this could even be noarch, were it not for the mpi variants and the lack of a Windows build for esmf. Is this still true? Why do we need the mpi variants and how do they preclude a noarch build?

xylar commented 1 year ago

I don't know very much about esmpy, to be honest. But it seems to depend on mpi4py when MPI is enabled so there seems to be no way around requiring separate builds for mpi and no mpi, which means noarch is out. The fact that there isn't esmf for windows isn't a problem in and of itself. esmpy would simply fail to install for Windows because of the missing dependency.

Why do we need the mpi variants and how do they preclude a noarch build?

Presumably because of mpi4py, and perhaps some other stuff at build time (it requires make, which makes me think it's doing some kind of building). There is no way to be noarch and have selectors for mpi, so that's the main reason I can see for sure.

xylar commented 1 year ago

I don't actually see any evidence that mpi4py is a required dependency: https://github.com/search?q=repo%3Aesmf-org%2Fesmf%20mpi4py&type=code It seems like it would be "good to have" if you install esmpy along with an esmf version with MPI. But we could be strict about the required dependencies and drop it. That could let us go noarch: python.

xylar commented 1 year ago

I'll make a PR to try this out.

ocefpaf commented 1 year ago

I think this only calls ESMF but it would be nice to ask upstream. If that is true it can be noarch and, the mpi stuff would be handled, or not, depending on the installed version/variant of ESMF.

zklaus commented 1 year ago

I think this is indeed the case. All interaction with ESMF is handled in esmpy.interface, where in loadESMF the ctypes handle to the correct library is established and in cbindings all the function bindings are created. This should imho work completely transparently.

xylar commented 1 year ago

Shall we give it a try in #71 (depending on what @rokuingh thinks)?