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

Add MadGraph5_aMC@NLO #29054

Merged
merged 1 commit into from
Feb 7, 2025
Merged

Conversation

matthewfeickert
Copy link
Member

@matthewfeickert matthewfeickert commented Feb 7, 2025

Checklist

  • Title of this PR is meaningful: e.g. "Adding my_nifty_package", not "updated meta.yaml".
  • License file is packaged (see here for an example).
  • Source is from official source.
  • Package does not vendor other packages. (If a package uses the source of another package, they should be separate packages or the licenses of all packages need to be packaged).
  • [N/A] If static libraries are linked in, the license of the static library is packaged.
  • Package does not ship static libraries. If static libraries are needed, follow CFEP-18.
  • Build number is 0.
  • A tarball (url) rather than a repo (e.g. git_url) is used in your recipe (see here for more details).
  • GitHub users listed in the maintainer section have posted a comment confirming they are willing to be listed there.
  • When in trouble, please check our knowledge base documentation before pinging a team.

@conda-forge-admin
Copy link
Contributor

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 (recipes/mg5amcnlo/meta.yaml) and found it was in an excellent condition.

Copy link
Contributor

github-actions bot commented Feb 7, 2025

Hi! This is the staged-recipes linter and your PR looks excellent! 🚀

Copy link
Member Author

@matthewfeickert matthewfeickert left a comment

Choose a reason for hiding this comment

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

Notes for reviewers as making mg5amcnlo portable/installable is weird and rather hacky.

Comment on lines +40 to +48
# Build configuration file be replacing placeholder values with PREFIX
- cp $RECIPE_DIR/mg5_configuration.txt .
- sed -i "s|REPLACE_WITH_PREFIX|$PREFIX|g" mg5_configuration.txt
- sed -i "s|REPLACE_WITH_BASENAME_FC|$(basename $FC)|g" mg5_configuration.txt
- sed -i "s|REPLACE_WITH_BASENAME_GXX|$(basename $GXX)|g" mg5_configuration.txt
- mv mg5_configuration.txt $PREFIX/MG5_aMC/input/mg5_configuration.txt
Copy link
Member Author

Choose a reason for hiding this comment

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

mg5amcnlo looks up all the tools it knows about and can use for code generation using MG5_aMC/input/mg5_configuration.txt. The author assumed you would always compile everything from scratch on every machine you ever used it on. To avoid this and get the correct paths for the conda-forge packages installed as run requirements, use REPLACE_WITH_ variables in mg5_configuration.txt to overwrite with the value of their $PREFIX paths so they will be found correctly at install time.

Instead of trying to properly sed -i edit each line of mg5_configuration.txt during the build, include mg5_configuration.txt as a file in the feedstock source to then overwrite and mv into what is packaged.

Comment on lines +152 to +154
# modified University of Illinois/NCSA license
license: LicenseRef-NCSA
license_family: OTHER
license_file: source/LICENSE
Copy link
Member Author

Choose a reason for hiding this comment

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


build:
# FIXME: mg5amcnlo doesn't support Python 3.12 yet
skip: true # [py<37 or py>311 or win]
Copy link
Member Author

Choose a reason for hiding this comment

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

At the moment this could technically be noarch, but as the goal is to add compiled components to support Pythia8 in the future, it would have to move away from noarch, so might as well start off as non-noarch.

@matthewfeickert matthewfeickert force-pushed the feat/add-madgraph branch 6 times, most recently from 1a3f005 to 82f06c9 Compare February 7, 2025 10:23
* Add MadGraph5_aMC@NLO v3.5.7.
   - c.f. https://github.com/mg5amcnlo/mg5amcnlo
   - Add tutorial example (tutorial.mg5) for a simple test.
* Integration with Pythia8 via MG5aMC_PY8_interface is not yet supported.
   - c.f. https://github.com/mg5amcnlo/MG5aMC_PY8_interface
* Detection of existing libraries (ninja, collier) for NLO calculations
  is not supported yet either given bugs.
@matthewfeickert matthewfeickert marked this pull request as ready for review February 7, 2025 10:57
@matthewfeickert
Copy link
Member Author

@conda-forge/staged-recipes, ready for review! This is partly a python package, but it is a bit of an odd collection.

cc @chrisburr given the particle physics context here.

Copy link
Contributor

github-actions bot commented Feb 7, 2025

To help direct your pull request to the best reviewers, please mention a topic-specifc team if your recipe matches any of the following: conda-forge/help-c-cpp, conda-forge/help-cdts, conda-forge/help-go, conda-forge/help-java, conda-forge/help-julia, conda-forge/help-nodejs, conda-forge/help-perl, conda-forge/help-python, conda-forge/help-python-c, conda-forge/help-r, conda-forge/help-ruby,or conda-forge/help-rust. Thanks!

@chrisburr chrisburr merged commit c516946 into conda-forge:main Feb 7, 2025
7 checks passed
@matthewfeickert matthewfeickert deleted the feat/add-madgraph branch February 7, 2025 16:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

3 participants