Skip to content

ORC-1622: [C++] Support conan packaging - #1805

Closed
wgtmac wants to merge 1 commit into
apache:mainfrom
wgtmac:conan
Closed

wgtmac wants to merge 1 commit into
apache:mainfrom
wgtmac:conan

Conversation

@wgtmac

@wgtmac wgtmac commented Feb 18, 2024 •

Copy link
Copy Markdown
Member

What changes were proposed in this pull request?

Add conan recipe for the C++ library. The latest release of supported versions are added by default.

Why are the changes needed?

Conan is a popular C++ package manager: https://docs.conan.io/2/index.html. It would be good to support conan recipe on our end.

How was this patch tested?

Test it locally using conan command.

Was this patch authored or co-authored using generative AI tooling?

No

@wgtmac
wgtmac marked this pull request as draft February 19, 2024 02:54
@wgtmac
wgtmac force-pushed the conan branch 2 times, most recently from 607958b to a2cdc1a Compare February 19, 2024 05:20
@github-actions github-actions Bot added the BUILD label Feb 19, 2024
@wgtmac wgtmac changed the title [WIP][C++] Support conan packaging ORC-1622: [C++] Support conan packaging Feb 19, 2024
@wgtmac
wgtmac marked this pull request as ready for review February 19, 2024 05:35
@wgtmac

wgtmac commented Feb 19, 2024

Copy link
Copy Markdown
Member Author

@dongjoon-hyun @deshanxiao Could you please take a look? Thanks!

Comment thread conan/conandata.yml
# specific language governing permissions and limitations
# under the License.

sources:

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Do we need to maintain this in Apache ORC repository?

Comment thread conan/conanfile.py

required_conan_version = ">=1.54.0"

class OrcRecipe(ConanFile):

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

ditto.

@dongjoon-hyun dongjoon-hyun left a comment •

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thank you for this proposal, @wgtmac . I have two questions.

  • Are you going to publish all live releases (1.9/1.8/1.7) in this way? I prefer to do this at Apache ORC 2.0 only.
  • I'm curious if this is a standard way to maintain Conan stuff (version list, receipt, package test code). It looks quite different from Homebrew or vcpkg ways.

@dongjoon-hyun dongjoon-hyun added this to the 2.0.0 milestone Feb 19, 2024
@wgtmac

wgtmac commented Feb 20, 2024

Copy link
Copy Markdown
Member Author

@dongjoon-hyun Thanks for the feedback! Please see my comment below.

Are you going to publish all live releases (1.9/1.8/1.7) in this way?

I have only added the latest version of each live release in case people want to stay on an older version.

I'm curious if this is a standard way to maintain Conan stuff (version list, receipt, package test code). It looks quite different from Homebrew or vcpkg ways.

The standard way to maintain conan recipe is to put them in the conan-center-index:

Apache Arrow has also put a copy of that from conan-center-index with a slight modification: https://github.com/apache/arrow/tree/main/ci/conan/all. This is used in the release process and also facilitate users to customize their own conan recipe or use an unofficial version (e.g. current main branch).

I will upstream these to the conan-center-index and keep them in sync.

@dongjoon-hyun dongjoon-hyun left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

+1, it sounds like a great plan. Thank you, @wgtmac .

@deshanxiao

Copy link
Copy Markdown
Contributor

Thank you @wgtmac. +1 LGTM. Do you have plan to add document make-release.md in this PR?

@wgtmac

wgtmac commented Feb 20, 2024

Copy link
Copy Markdown
Member Author

Thank you @wgtmac. +1 LGTM. Do you have plan to add document make-release.md in this PR?

Thanks for the suggestion! I will update it once this gets merged in the conan-center-index.

@wgtmac wgtmac closed this in 23efdab Feb 22, 2024
@wgtmac

wgtmac commented Feb 22, 2024

Copy link
Copy Markdown
Member Author

I just merged this. Thanks @dongjoon-hyun and @deshanxiao. I will upstream this to the conan community.

@dongjoon-hyun

Copy link
Copy Markdown
Member

Please cherry-pick this to branch-2.0 too, @wgtmac .

wgtmac added a commit to wgtmac/orc that referenced this pull request Feb 23, 2024
### What changes were proposed in this pull request?
Add conan recipe for the C++ library. The latest release of supported versions are added by default.

### Why are the changes needed?
Conan is a popular C++ package manager: https://docs.conan.io/2/index.html. It would be good to support conan recipe on our end.

### How was this patch tested?
Test it locally using conan command.

### Was this patch authored or co-authored using generative AI tooling?
No

Closes apache#1805 from wgtmac/conan.

Authored-by: Gang Wu <ustcwg@gmail.com>
Signed-off-by: Gang Wu <ustcwg@gmail.com>
@wgtmac
wgtmac deleted the conan branch February 27, 2024 02:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants