-
-
Notifications
You must be signed in to change notification settings - Fork 12.6k
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
gromacs: build with legacy api #126931
gromacs: build with legacy api #126931
Conversation
@@ -54,6 +54,7 @@ def install | |||
args = %W[ | |||
-DGROMACS_CXX_COMPILER=#{cxx} | |||
-DGMX_VERSION_STRING_OF_FORK=#{tap.user} | |||
-DGMX_INSTALL_LEGACY_API=ON |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does the legacy API replace the modern API?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is no new API (yet), the main thing the switch does is to install the header files.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm confused: why would you install this without any headers? It seems very odd for the default build to install things without the headers.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why would you install this without any headers?
Primarily, the project provides a (suite of) command line tool(s).
Several libraries with various degrees of support are also bundled. One of them (libgmxapi) is enabled by default and installs gmxapi/
headers. The oldest (libgromacs
) is primarily for internal use to support the command line tool(s). Some of its headers are available, optionally (the gromacs/
headers), but it is not well-supported for use by external software.
If it's a legacy API that is disabled by upstream by default, I'm not sure brew should enable it regardless. |
Most other Gromacs packages have this enabled as it only installs a couple more header files and otherwise Gromacs cannot used a library due to the missing headers. |
Commit message updated! |
Can you ask upstream why they disable this by default? It seems like an oversight that a lot of people are compensating for. |
I am part of gromacs upstream as well, but the answer is simply that we haven't made any progress on the new API, see @mabraham @eirrgang @pszi1ard any additional comments on this? |
Actually, we put the names of formulae first in our commit messages, so it should be something like
Will fix that up for you. |
this will install additional headers for C/C++ consumer's of the Gromacs library.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fine with this, but it seems like this should just be the upstream default for now if the library is not usable without this option.
Oops, CI didn't run. githubstatus says degraded performance for GHA. |
@carlocab thanks! |
🤖 A scheduled task has requested bottles to be published to this PR. |
That's a fair statement. As Eric said, the primary use for the library is to support command-line tools. Some people make use of the library directly, via the legacy headers, which we don't install by default to underscore that these headers are deprecated, unsupported, and unstable. |
That makes me inclined to revert this change then. We only ship stable and supported software/features in Homebrew/core. |
This should definitely be reverted based off that information. |
Well one more important note is, there is no replacement for the legacy headers yet and hence the options for library using Gromacs are use the legacy api or drop Gromacs support completely. |
Well, as @mabraham says above, the only supported use of the library is in the command line tools, so that's the only thing we should use the library for. |
That's a pretty clear indication this should be reverted |
That said, the headers do little harm and only to the subset of people who opt into using them and perhaps later run into instability. It's your project, but I'd just leave things as they are. :-) |
@carlocab @p-linnane could one of your help me to create a Formula for the votca package? |
brew install --build-from-source <formula>
, where<formula>
is the name of the formula you're submitting?brew test <formula>
, where<formula>
is the name of the formula you're submitting?brew audit --strict <formula>
(after doingbrew install --build-from-source <formula>
)? If this is a new formula, does it passbrew audit --new <formula>
?For espressopp/espressopp#454