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

[llvm-core] bring package up to date. Support for Conan 2. #22997

Open
wants to merge 58 commits into
base: master
Choose a base branch
from

Conversation

planetmarshall
Copy link
Contributor

@planetmarshall planetmarshall commented Mar 5, 2024

Specify library name and version: llvm-core/*

Attempt to bring the llvm-core recipe up to date. Includes contributions from @jusito and #17509. Fixes #20339

Note that I have opted not to add the latest version (18.1.3) as part of this PR, as the existing recipe needed updating and is already quite complex. I (or someone else) will add the latest version as a followup.


Copy link
Contributor

github-actions bot commented Mar 5, 2024

🤖 Beep Boop! This pull request is making changes to 'recipes/llvm-core//'.

👋 @Hopobcn @paulharris you might be interested. 😉

@planetmarshall planetmarshall marked this pull request as draft March 5, 2024 21:24
@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@planetmarshall planetmarshall force-pushed the llvm-core-conan2 branch 3 times, most recently from b8f48e8 to 471320c Compare March 5, 2024 22:41
@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@planetmarshall planetmarshall changed the title [llvm-core] bring package up to date. Initial support for 13.0.0 [llvm-core] bring package up to date. Support for Conan 2. Mar 7, 2024
@planetmarshall planetmarshall marked this pull request as ready for review March 7, 2024 22:48
@RubenRBS RubenRBS self-assigned this Apr 1, 2024
@ericLemanissierBot
Copy link

I detected other pull requests that are modifying llvm-core/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.

@conan-center-bot

This comment has been minimized.

@planetmarshall
Copy link
Contributor Author

@RubenRBS The build seems to have been stuck in limbo for a while. Are there still CI issues? Thanks.

@conan-center-bot

This comment has been minimized.

Copy link
Contributor

@jwillikers jwillikers left a comment

Choose a reason for hiding this comment

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

Woot!

@RubenRBS
Copy link
Member

@planetmarshall sorry about that - llvm takes quite a long time to compile - I see that the compilation is now done and the results posted and they are passing, yay!! I'll get a review going for monday, thanks a lot for your patience and for the contribution in the first place, we really aprpeciate it :)

@planetmarshall
Copy link
Contributor Author

@planetmarshall sorry about that - llvm takes quite a long time to compile - I see that the compilation is now done and the results posted and they are passing, yay!! I'll get a review going for monday, thanks a lot for your patience and for the contribution in the first place, we really aprpeciate it :)

Thanks, I also appreciate the efforts of the CCI team.

@jacobfriedman
Copy link

@jusito possible to review this week? I opted not to use llvm-core and your PR instead (llvm-16) but am eagerly waiting on this PR and can help update/test/review the later PRs.

@jcar87 It would be a big plus to be able to simply pull down transparent/conan-compiled compilers in Dockerfiles e.g. https://github.com/conan-io/conan-docker-tools/blob/master/modern/clang/Dockerfile

url = 'https://github.com/conan-io/conan-center-index'

settings = ('os', 'arch', 'compiler', 'build_type')
license = "LLVM-exception"
Copy link
Contributor

Choose a reason for hiding this comment

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

This license change is wrong. Please undo

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Are you sure? This is the SPDX identifier for the LLVM license, according to https://spdx.org/licenses/LLVM-exception.html, and according to the conan docs, "..it is strongly recommended that recipes of Open Source projects use SPDX identifiers from the SPDX license list"

Copy link
Contributor

Choose a reason for hiding this comment

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

The existing license was correct. See https://spdx.org/licenses/exceptions-index.html

The SPDX License List includes a list of exceptions. These exceptions grant an exception to a license condition or additional permissions beyond those granted in a license; they are not stand-alone licenses. Exceptions are added to a license using the License Expression operator, "WITH".

Copy link
Contributor

Choose a reason for hiding this comment

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

What you linked is just an exception identifier not a license identifier. @planetmarshall

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Reverted - thanks for the clarification.

# Older cmake versions may have issues generating the graphviz output used
# to model the components
build_requires = [
'cmake/3.20.5'
Copy link
Contributor

Choose a reason for hiding this comment

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

Why is it not required anymore?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Because graphviz is not used to model component dependencies, as noted in the comment.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

To clarify further - the original recipe used graphviz output which was then parsed and sanitized to generate component dependencies. Instead of doing this I opted to just use the information that LLVM already outputs in its CMake files, I thought this was more robust since the best source of cmake dependencies is cmake itself rather than going via graphviz and back again.

'DataFlow',
'Address;Undefined',
'None'
"shared": [True, False],
Copy link
Contributor

@Croydon Croydon May 25, 2024

Choose a reason for hiding this comment

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

This pull request is a nightmare to review due to size and patches, you really shouldn't have made formatting changes in such a pull request 🙈

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Sorry that it's been a "nightmare" for you, but the recipe was unmaintained and did not build with conan2. Now it does.

Copy link
Contributor

Choose a reason for hiding this comment

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

Thank you for your work! Didn't mean to sound ungrateful or something 🙂

Co-authored-by: Michael Keck <git@cr0ydon.com>
@conan-center-bot

This comment has been minimized.

@conan-center-bot
Copy link
Collaborator

Conan v1 pipeline ✔️

All green in build 28 (83e44ce3e3501f7393ebf4f61cb41ac213b15ccc):

  • llvm-core/13.0.0:
    All packages built successfully! (All logs)

  • llvm-core/12.0.0:
    All packages built successfully! (All logs)

  • llvm-core/11.1.0:
    All packages built successfully! (All logs)


Conan v2 pipeline ✔️

Note: Conan v2 builds are now mandatory. Please read our discussion about it.

All green in build 29 (83e44ce3e3501f7393ebf4f61cb41ac213b15ccc):

  • llvm-core/13.0.0:
    All packages built successfully! (All logs)

  • llvm-core/12.0.0:
    All packages built successfully! (All logs)

  • llvm-core/11.1.0:
    All packages built successfully! (All logs)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

llvm-core/13.0.0: recipe is broken (conan 2)
10 participants