pFUnit icon indicating copy to clipboard operation
pFUnit copied to clipboard

Consider packaging and distribution on conda-forge

Open matthewfeickert opened this issue 10 months ago • 4 comments

In addition to providing the source code and releases, it would be nice to also distribute pFUnit on conda-forge as a cross-platform distribution method, given that all of the build requirements

https://github.com/Goddard-Fortran-Ecosystem/pFUnit/blob/26dadb1157819ea1bd9c355c60ed52f42dd36432/README.md?plain=1#L39-L48

are already distributed on conda-forge.

This would have a beneficial impact on at least one library that I know of (c.f. https://github.com/Cambridge-ICCS/FTorch/pull/264).

matthewfeickert avatar Jan 29 '25 22:01 matthewfeickert

I'm not opposed in principle. Could you outline what would need to be done on my end?

Note also that I've not been successful in getting Adobe licenses for some of the pFUnit stack, and some orgs don't like to play with the NOSA open source agreement.

tclune avatar Jan 30 '25 14:01 tclune

Could you outline what would need to be done on my end?

@tclune sure.

  1. Fork https://github.com/conda-forge/staged-recipes
  2. Make a new branch
  3. cp -r recipes/example recipes/pfunit
  4. Read through the recipes/pfunit/meta.yaml and adapt the contents of it for what is needed for pFUnit. Add and commit your changes.
  5. [Optional] Once done, run pixi run lint to lint your recipe.
  6. [Optional] Run pixi run build-<your os> to build the recipe locally to verify it passes.
  7. Open up a PR.

Feel free to tag me with questions if you'd like someone to look at if before asking for review.

The conda-forge docs for the process are here: https://conda-forge.org/docs/maintainer/adding_pkgs/

Note also that I've not been successful in getting Adobe licenses for some of the pFUnit stack, and some orgs don't like to play with the NOSA open source agreement.

NASA-1.3 is an SPDX license (https://spdx.org/licenses/NASA-1.3.html) so I think that should be fine.

conda-forge allows for even non-standard modified licenses (example).

matthewfeickert avatar Jan 30 '25 14:01 matthewfeickert

I'm cc'ing in @pchakraborty so he can see this. We have a (simpler) package we want on conda, so we might be able to do that first for experience and then tackle pFUnit.

mathomp4 avatar Jan 30 '25 18:01 mathomp4

@mathomp4 @pchakraborty if you'd like examples of Fortran package recipes that I've added to conda-forge here's a few:

  • https://github.com/conda-forge/collier-feedstock
  • https://github.com/conda-forge/emela-feedstock
  • https://github.com/conda-forge/ff-feedstock
  • https://github.com/conda-forge/mpfun90-feedstock

matthewfeickert avatar Jan 30 '25 19:01 matthewfeickert