-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
Autoconf Conan 2.0 compatibility #14925
Autoconf Conan 2.0 compatibility #14925
Conversation
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Hi @System-Arch, thanks for taking the time to migrate this recipe to support Conan 2! Very well done :) From what I can see, the newer integrations and the way shell scripts are called, would make the use of Unfortunately, I believe that merging the PR as it is would probably break any current consumer recipes that are not using the new integrations, so we're in a bit of a catch-22 situation. This does not only apply to recipes that depend on There's good news and bad news. The good: only two environment variables defined here are used publicly ( The bad news: Unfortunately without this I'm investigating a workaround to see if this can be made relocatable without relying on performing path conversions in |
Having investigated this a little further, I believe we can refactor the way this recipe does "relocatability" in a way that doesn't rely on environment variables. With the advantage that we can retain the environment variables to avoid breaking existing downstream consumers, while at the same time avoiding any unix <-> windows path conversions.
|
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
f8cfcc2
to
5aabf9e
Compare
I detected other pull requests that are modifying autoconf/all recipe: This message is automatically generated by https://github.com/ericLemanissier/conan-center-conflicting-prs so don't hesitate to report issues/improvements there. |
This comment has been minimized.
This comment has been minimized.
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.
Thanks a lot for your contribution @System-Arch !! I've left a comment as I think we need to either fix the conditional for the patch on windows, or amend the package_id logic
This comment has been minimized.
This comment has been minimized.
Hi @jcar87, |
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.
hi @System-Arch, thanks so much for this PR. This actually fixes the ability to build on Windows :D
I believe the tool_requires
needs to stay as well - in fact, this could cause some problems on macOS.
The autom4te
scripts generated during the build of this package has flags that are compatible with the m4
that was available during build time (build time of the autoconf
package).
if the tool_requires
on m4 is removed, on macOS the build will use the m4
provided by Xcode, and the generated autom4ke
file will be slightly different than it would otherwise be if it depended on Conan Center's m4
. I wouldn't risk this :D
628a11e
Hi @jcar87, P.S. That said, with both Coann 1.x and Conan 2.0, I see m4 get installed during the build phase even if it is only specified as a requirement, so I admit that I am still unclear on the behavior vis-à-vis a requirement and a build_requirement when it comes to building. I wonder if this is a Conan bug and that it should not be installing requirements at build time unless they are explicitly declared via tool_requires in the build_requriements method(). CC'ing @memsharded for any additional insights. |
Conan v1 pipeline ✔️All green in build 14 (
Conan v2 pipeline (informative, not required for merge) ❌
The v2 pipeline failed. Please, review the errors and note this will be required for pull requests to be merged in the near future. See details:Failure in build 14 (
Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability. |
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.
LGTM! :) Thanks so much for fixing this - in particular, the issue when building this on Windows, which I've experienced first hard and it must not have been an easy one :)
It is indeed possible to list something as a |
Hi @jcar87, Thanks for the additional insights. Conan does indeed have its subtle nuances. Thanks |
Specify library name and version: autoconf/2.71
This PR addresses some legacy code that was left in the recipe to address an issue in Conan 1.x (conan-io/conan#12499) that is purported to be fixed in Conan 1.55. However, subsequent discussions with @memsharded have led to the discovery that this issue can be more cleanly addressed simply by eliminating the use of unix_path() in package_info. See conan-io/conan#12785 for more details.