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

[fix] Arrow: Make it conan v2 comaptible, refactor auto options and add 12.0.1 version #19380

Merged
merged 4 commits into from
Aug 25, 2023

Conversation

danimtb
Copy link
Member

@danimtb danimtb commented Aug 24, 2023

Specify library name and version: arrow/*

Includes changes from and closes #18106

I wanted to fix the workaround proposed at #18106, but it turned out to be more complex than expected due to the logic implemented in the recipe.

I tried to simplify the management of the "auto" options following these rules:

  • The final value of the options should never be "auto".
  • The final value of the options should be computed as soon as possible in the recipe.
  • The final value of the options should be the ones used as conditions in the rest of the recipe methods.

cc/ @toge

@danimtb danimtb changed the title Feature/arrow options [fix] Arrow: Make it conan v2 comaptible, refactor auto options and add 12.0.1 version Aug 24, 2023
@ghost
Copy link

ghost commented Aug 24, 2023

@@ -49,8 +49,9 @@ class ArrowConan(ConanFile):
"with_glog": ["auto", True, False],
"with_grpc": ["auto", True, False],
"with_jemalloc": ["auto", True, False],
"with_mimalloc": ["auto", True, False],
Copy link
Member Author

Choose a reason for hiding this comment

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

I removed the "auto" value here as there was no real automatic management in place for this options and I didn't investigate the library's build system to know about it. I think it is fine as is.

"with_json": [True, False],
"with_thrift": ["auto", True, False],
Copy link
Member Author

Choose a reason for hiding this comment

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

this option did not exist and was conditional to other one. I think it is clear to have it as a real option.

@conan-center-bot

This comment has been minimized.

@danimtb danimtb marked this pull request as ready for review August 25, 2023 08:34
@conan-center-bot
Copy link
Collaborator

Conan v1 pipeline ✔️

All green in build 2 (caa4e81b13fc6e8d10be761ce3ef8c2ce52e389c):

  • arrow/12.0.0:
    All packages built successfully! (All logs)

  • arrow/1.0.0:
    All packages built successfully! (All logs)

  • arrow/10.0.1:
    All packages built successfully! (All logs)

  • arrow/8.0.0:
    All packages built successfully! (All logs)

  • arrow/10.0.0:
    All packages built successfully! (All logs)

  • arrow/7.0.0:
    All packages built successfully! (All logs)

  • arrow/11.0.0:
    All packages built successfully! (All logs)

  • arrow/12.0.1:
    All packages built successfully! (All logs)

  • arrow/2.0.0:
    All packages built successfully! (All logs)

  • arrow/8.0.1:
    All packages built successfully! (All logs)


Conan v2 pipeline ✔️

Note: Conan v2 builds may be required once they are on the v2 ready list

All green in build 2 (caa4e81b13fc6e8d10be761ce3ef8c2ce52e389c):

  • arrow/1.0.0:
    All packages built successfully! (All logs)

  • arrow/8.0.0:
    All packages built successfully! (All logs)

  • arrow/8.0.1:
    All packages built successfully! (All logs)

  • arrow/7.0.0:
    All packages built successfully! (All logs)

  • arrow/2.0.0:
    All packages built successfully! (All logs)

  • arrow/10.0.1:
    All packages built successfully! (All logs)

  • arrow/11.0.0:
    All packages built successfully! (All logs)

  • arrow/12.0.0:
    All packages built successfully! (All logs)

  • arrow/12.0.1:
    All packages built successfully! (All logs)

  • arrow/10.0.0:
    All packages built successfully! (All logs)

@conan-center-bot conan-center-bot merged commit eec8b00 into conan-io:master Aug 25, 2023
6 checks passed
ericLemanissier pushed a commit to ericLemanissier/conan-center-index that referenced this pull request Sep 15, 2023
…uto options and add 12.0.1 version

* arrow: add version 12.0.1, with dirty workaround for conan v2

* [fix] Arrow: Make it conan v2 comaptible, refactor auto options and add 12.0.1

* remove prints

---------

Co-authored-by: toge <toge.mail@gmail.com>
Comment on lines +160 to +174
self.options.parquet = self._parquet()
self.options.compute = self._compute()
self.options.dataset_modules = self._dataset_modules()
self.options.with_boost = self._with_boost()
self.options.with_flight_rpc = self._with_flight_rpc()
self.options.with_gflags = self._with_gflags()
self.options.with_glog = self._with_glog()
self.options.with_grpc = self._with_grpc()
self.options.with_jemalloc = self._with_jemalloc()
self.options.with_thrift = self._with_thrift()
self.options.with_llvm = self._with_llvm()
self.options.with_openssl = self._with_openssl()
self.options.with_protobuf = self._with_protobuf()
self.options.with_re2 = self._with_re2()
self.options.with_utf8proc = self._with_utf8proc()
Copy link
Contributor

@SpaceIm SpaceIm Nov 4, 2023

Choose a reason for hiding this comment

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

I just want to mention that all this logic is broken, since all these functions try to access options values which don't even exist at config_options() time.

You could set all default values of these options to False, you would get the same result.

Copy link
Contributor

Choose a reason for hiding this comment

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

what is the proper way to define dependencies between options in conan 2?

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.

8 participants