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

[vowpal-wabbit] New port #27323

Merged
merged 15 commits into from
Oct 24, 2022
Merged

Conversation

jackgerrits
Copy link
Member

@jackgerrits jackgerrits commented Oct 19, 2022

Describe the pull request

  • What does your PR fix?

    This PR adds a port for the VowpalWabbit library

  • Which triplets are supported/not supported? Have you updated the [CI baseline]

    I believe all should be supported except x86-windows. I am unsure about uwp though.

  • Does your PR follow the maintainer guide?

    Yes

  • If you have added/updated a port: Have you run ./vcpkg x-add-version --all and committed the result?

    Yes

Closes VowpalWabbit/vowpal_wabbit#2228

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

This is a new experimental fast check for PR issues. Please let us know if this bot is helpful!

After committing all other changes, the version database must be updated
git add -u && git commit
git checkout ce99c947b64ea3c0e274e18cc3035ca727681089 -- versions
./vcpkg x-add-version --all
Diff
diff --git a/versions/baseline.json b/versions/baseline.json
index be790ae..0dd4892 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -7777,7 +7777,7 @@
       "port-version": 1
     },
     "vowpalwabbit": {
-      "baseline": "9.3.0",
+      "baseline": "9.5.0",
       "port-version": 0
     },
     "vs-yasm": {
diff --git a/versions/v-/vowpalwabbit.json b/versions/v-/vowpalwabbit.json
index deafc86..293d3c4 100644
--- a/versions/v-/vowpalwabbit.json
+++ b/versions/v-/vowpalwabbit.json
@@ -1,5 +1,10 @@
 {
   "versions": [
+    {
+      "git-tree": "6b1205a5160128a40adf6714c5f9d6a38eaf1383",
+      "version": "9.5.0",
+      "port-version": 0
+    },
     {
       "git-tree": "6aac1bbc0bca774722db8ffd2b2b29c43676b5eb",
       "version": "9.3.0",

github-actions[bot]
github-actions bot previously approved these changes Oct 19, 2022
github-actions[bot]
github-actions bot previously approved these changes Oct 19, 2022
@jackgerrits
Copy link
Member Author

I went ahead and marked arm64-windows as fail in the ci baseline file. If it's possible to see the log produced maybe it's an easy fix? I don't have access to a machine to test that configuration unfortunately though

github-actions[bot]
github-actions bot previously approved these changes Oct 19, 2022
github-actions[bot]
github-actions bot previously approved these changes Oct 19, 2022
@LilyWangLL LilyWangLL self-assigned this Oct 20, 2022
@LilyWangLL LilyWangLL added the category:new-port The issue is requesting a new library to be added; consider making a PR! label Oct 20, 2022
@@ -1132,6 +1132,8 @@ v8:x64-osx=fail
v8:x64-uwp=fail
vectorclass:arm64-windows=fail
vectorclass:arm-uwp=fail
vowpalwabbit:arm64-windows=fail
vowpalwabbit:x86-windows=fail
Copy link
Contributor

Choose a reason for hiding this comment

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

If this port doesn't support x86-windows, please add supports in vcpkg.json and remove this code from ci.baseline.txt.

Copy link
Member Author

Choose a reason for hiding this comment

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

Updated

@LilyWangLL
Copy link
Contributor

LilyWangLL commented Oct 20, 2022

Due to boost-random:x64-uwp build failed, so the uwp status of boost-math and this port on CI pipeline is cascade.

@@ -1132,6 +1132,8 @@ v8:x64-osx=fail
v8:x64-uwp=fail
vectorclass:arm64-windows=fail
vectorclass:arm-uwp=fail
vowpalwabbit:arm64-windows=fail
Copy link
Contributor

Choose a reason for hiding this comment

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

There are build error when build vowpalwabbit:arm64-windows, this port doesn't support arm64 too.
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.33.31629\include\xmmintrin.h(27): fatal error C1189: #error: This header is specific to X86, X64 and ARM64EC targets

Copy link
Member Author

Choose a reason for hiding this comment

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

Marked arm+windows unsupported

@jackgerrits
Copy link
Member Author

Thanks for the comments! I have marked the port as unsupported for x86, uwp and windows+arm.

github-actions[bot]
github-actions bot previously approved these changes Oct 20, 2022
@LilyWangLL LilyWangLL added the info:reviewed Pull Request changes follow basic guidelines label Oct 21, 2022
Copy link
Member

@BillyONeal BillyONeal left a comment

Choose a reason for hiding this comment

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

This is great, thank you! Can you check/confirm/fix the usage text? Then this is ready to merge!

vowpalwabbit

New port checklist:

  • Review the code ✅
  • Check the name against https://repology.org/ ⚠️
    No match, but there are Python and R bindings that appear to match.
  • Check the name against Bing/Google. (If the first results aren't C++ related, try "name C++")
    First hit ✅
  • Check the source code for optional find_packages
    GTest ✅, Threads ✅, Boost ✅, fmt ✅, spdlog ✅, RapidJson ✅, Boost ✅, Zlib ✅, Flatbuffers (Optional, but in vcpkg.json)
    JNI, Java skipped by BUILD_JAVA == off by default
    Boost, PythonXxx skipped by BUILD_PYTHON == off by default
  • Check that the versioning scheme matches what upstream says ✅
  • Check that the license in vcpkg.json matches what upstream says ✅
  • Check that the license installed by the port matches what upstream says ✅
  • Check that the source code comes from the upstream project's authoritative source. ✅
  • Check that the generated usage is accurate.
vowpalwabbit provides CMake targets:

    # this is heuristically generated, and may not be correct
    find_package(VowpalWabbit CONFIG REQUIRED)
    # note: 4 additional targets are not displayed.
    target_link_libraries(main PRIVATE VowpalWabbit::vw_io VowpalWabbit::vw_core VowpalWabbit::vw_common VowpalWabbit::vw_config)

This seems not right due to the "4 additional targets skipped" ? I translated the heuristically generated result to a file for you, can you confirm what a user is supposed to do there? Thanks!

  • Check for issues that are resolved. ✅

@BillyONeal BillyONeal added requires:author-response and removed info:reviewed Pull Request changes follow basic guidelines labels Oct 22, 2022
github-actions[bot]
github-actions bot previously approved these changes Oct 22, 2022
@BillyONeal
Copy link
Member

(Blank usage would also be OK if that's what's appropriate)

@jackgerrits
Copy link
Member Author

Thanks for the review!

  • Check the name against https://repology.org/ ⚠️
    No match, but there are Python and R bindings that appear to match.

Thanks for checking this. You are right, the correct name in Repology is vowpal-wabbit. I will go ahead and update the port name to vowpal-wabbit to match.

Check that the generated usage is accurate.

It looks generally right, but I would like to go in and confirm myself what the 4 additional targets are prior to merging and remove any that potentially don't make sense.

I'll mention you here when I've resolved these two things.

@jackgerrits
Copy link
Member Author

jackgerrits commented Oct 24, 2022

@BillyONeal I believe I've addressed the comments. A couple of the extra generated targets were for bins (that were previously deleted in the portfile), I added a patch to the port and created an issue in the upstream to address this (VowpalWabbit/vowpal_wabbit#4244).

I updated the usage file to explain the most common use case, those other targets are dependencies of the main one and are supporting libs.

@BillyONeal
Copy link
Member

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@BillyONeal BillyONeal changed the title [vowpalwabbit] New port [vowpal-wabbit] New port Oct 24, 2022
@BillyONeal BillyONeal added info:reviewed Pull Request changes follow basic guidelines and removed requires:author-response labels Oct 24, 2022
@BillyONeal BillyONeal merged commit 0c7c52d into microsoft:master Oct 24, 2022
@BillyONeal
Copy link
Member

Thanks for the new port!

BillyONeal added a commit to BillyONeal/vcpkg that referenced this pull request Nov 1, 2022
…0-17, he started applying use of the "embedded VERSION" feature microsoft/vcpkg-tool#717 to PRs on merge.

@dg0yt points out that this use should be accompanied by a call to vcpkg_minimum_required, in https://github.com/microsoft/vcpkg/pull/27594/files#r1010641672

This is an audit of everything merged in that time and whether it needs to gain that.

microsoft#27561 No VERSION
microsoft#27525 No VERSION
microsoft#27554 Already has vcpkg_minimum_required
microsoft#27536 No VERSION
microsoft#27562 No VERSION
microsoft#24914 Fixed here
microsoft#27547 No VERSION
microsoft#27502 No VERSION
microsoft#27497 No VERSION
microsoft#27317 No VERSION
microsoft#27288 No VERSION
microsoft#27509 No VERSION
microsoft#27504 No VERSION
microsoft#27514 No VERSION
microsoft#27501 No VERSION
microsoft#27495 No VERSION
microsoft#27488 No VERSION
microsoft#27499 No VERSION
microsoft#27378 No VERSION
microsoft#27376 Fixed here
microsoft#27373 No VERSION
microsoft#27045 No VERSION
microsoft#27521 No VERSION
microsoft#27453 No VERSION
microsoft#27481 No VERSION
microsoft#27511 No VERSION
microsoft#27490 No VERSION
microsoft#27510 No VERSION
microsoft#27496 No VERSION
microsoft#27503 No VERSION
microsoft#27485 No VERSION
microsoft#27484 No VERSION
microsoft#27483 No VERSION
microsoft#27459 No VERSION
microsoft#27369 No VERSION
microsoft#27489 No VERSION
microsoft#26594 No VERSION
microsoft#27465 No VERSION
microsoft#27456 No VERSION
microsoft#27425 No VERSION
microsoft#27464 Fixed here
microsoft#27406 No VERSION
microsoft#27398 No VERSION
microsoft#27240 No VERSION
microsoft#27450 No VERSION
microsoft#27463 No VERSION
microsoft#27462 No VERSION
microsoft#27448 No VERSION
microsoft#27440 No VERSION
microsoft#27435 No VERSION
microsoft#27424 No VERSION
microsoft#27414 No VERSION
microsoft#27412 No VERSION
microsoft#27380 No VERSION
microsoft#27343 No VERSION
microsoft#27342 No VERSION
microsoft#27367 No VERSION
microsoft#27226 No VERSION
microsoft#27320 No VERSION
microsoft#26923 No VERSION
microsoft#27284 No VERSION
microsoft#27433 No VERSION
microsoft#27314 VERSION got *removed*
microsoft#27335 No VERSION
microsoft#27370 No VERSION
microsoft#27324 No VERSION
microsoft#27391 No VERSION
microsoft#27388 No VERSION
microsoft#27396 No VERSION
microsoft#27404 No VERSION
microsoft#27413 No VERSION
microsoft#27417 No VERSION
microsoft#27427 No VERSION
microsoft#27428 No VERSION
microsoft#27368 No VERSION
microsoft#27307 No VERSION
microsoft#27415 Fixed here.
microsoft#27371 Fixed here.
microsoft#27323 No VERSION
microsoft#27352 No VERSION
microsoft#27347 No VERSION
microsoft#27366 No VERSION
microsoft#27361 No VERSION
microsoft#27359 No VERSION
microsoft#27358 No VERSION
microsoft#27355 No VERSION
microsoft#27331 No VERSION
microsoft#24615 No VERSION
microsoft#27325 No VERSION
microsoft#24861 No VERSION
microsoft#27354 No VERSION
microsoft#27346 No VERSION
microsoft#27345 No VERSION
microsoft#27218 No VERSION
microsoft#27329 No VERSION
microsoft#27326 No VERSION
microsoft#27321 No VERSION
microsoft#27312 No VERSION
microsoft#27297 No VERSION
microsoft#27336 No VERSION
microsoft#27225 No VERSION
microsoft#27339 No VERSION
microsoft#27302 No VERSION
microsoft#27295 No VERSION
microsoft#27233 No VERSION
microsoft#27313 No VERSION
microsoft#27237 No VERSION
microsoft#27250 No VERSION
microsoft#27263 No VERSION
microsoft#27266 No VERSION
microsoft#27272 No VERSION
microsoft#27287 No VERSION
microsoft#27282 No VERSION
microsoft#27294 No VERSION
microsoft#27228 No VERSION
microsoft#27163 No VERSION
microsoft#26817 No VERSION
microsoft#27286 No VERSION
microsoft#27274 No VERSION
microsoft#27276 No VERSION
microsoft#27232 No VERSION
microsoft#27221 No VERSION
microsoft#27215 No VERSION
microsoft#27166 No VERSION
microsoft#27239 No VERSION
microsoft#27246 No VERSION
microsoft#27268 No VERSION
microsoft#27259 No VERSION
microsoft#27238 No VERSION
microsoft#27224 No VERSION
microsoft#27203 No VERSION
microsoft#27124 No VERSION
JavierMatosD pushed a commit that referenced this pull request Nov 8, 2022
* When @BillyONeal started being the on-call vcpkg maintainer on 2022-10-17, he started applying use of the "embedded VERSION" feature microsoft/vcpkg-tool#717 to PRs on merge.

@dg0yt points out that this use should be accompanied by a call to vcpkg_minimum_required, in https://github.com/microsoft/vcpkg/pull/27594/files#r1010641672

This is an audit of everything merged in that time and whether it needs to gain that.

#27561 No VERSION
#27525 No VERSION
#27554 Already has vcpkg_minimum_required
#27536 No VERSION
#27562 No VERSION
#24914 Fixed here
#27547 No VERSION
#27502 No VERSION
#27497 No VERSION
#27317 No VERSION
#27288 No VERSION
#27509 No VERSION
#27504 No VERSION
#27514 No VERSION
#27501 No VERSION
#27495 No VERSION
#27488 No VERSION
#27499 No VERSION
#27378 No VERSION
#27376 Fixed here
#27373 No VERSION
#27045 No VERSION
#27521 No VERSION
#27453 No VERSION
#27481 No VERSION
#27511 No VERSION
#27490 No VERSION
#27510 No VERSION
#27496 No VERSION
#27503 No VERSION
#27485 No VERSION
#27484 No VERSION
#27483 No VERSION
#27459 No VERSION
#27369 No VERSION
#27489 No VERSION
#26594 No VERSION
#27465 No VERSION
#27456 No VERSION
#27425 No VERSION
#27464 Fixed here
#27406 No VERSION
#27398 No VERSION
#27240 No VERSION
#27450 No VERSION
#27463 No VERSION
#27462 No VERSION
#27448 No VERSION
#27440 No VERSION
#27435 No VERSION
#27424 No VERSION
#27414 No VERSION
#27412 No VERSION
#27380 No VERSION
#27343 No VERSION
#27342 No VERSION
#27367 No VERSION
#27226 No VERSION
#27320 No VERSION
#26923 No VERSION
#27284 No VERSION
#27433 No VERSION
#27314 VERSION got *removed*
#27335 No VERSION
#27370 No VERSION
#27324 No VERSION
#27391 No VERSION
#27388 No VERSION
#27396 No VERSION
#27404 No VERSION
#27413 No VERSION
#27417 No VERSION
#27427 No VERSION
#27428 No VERSION
#27368 No VERSION
#27307 No VERSION
#27415 Fixed here.
#27371 Fixed here.
#27323 No VERSION
#27352 No VERSION
#27347 No VERSION
#27366 No VERSION
#27361 No VERSION
#27359 No VERSION
#27358 No VERSION
#27355 No VERSION
#27331 No VERSION
#24615 No VERSION
#27325 No VERSION
#24861 No VERSION
#27354 No VERSION
#27346 No VERSION
#27345 No VERSION
#27218 No VERSION
#27329 No VERSION
#27326 No VERSION
#27321 No VERSION
#27312 No VERSION
#27297 No VERSION
#27336 No VERSION
#27225 No VERSION
#27339 No VERSION
#27302 No VERSION
#27295 No VERSION
#27233 No VERSION
#27313 No VERSION
#27237 No VERSION
#27250 No VERSION
#27263 No VERSION
#27266 No VERSION
#27272 No VERSION
#27287 No VERSION
#27282 No VERSION
#27294 No VERSION
#27228 No VERSION
#27163 No VERSION
#26817 No VERSION
#27286 No VERSION
#27274 No VERSION
#27276 No VERSION
#27232 No VERSION
#27221 No VERSION
#27215 No VERSION
#27166 No VERSION
#27239 No VERSION
#27246 No VERSION
#27268 No VERSION
#27259 No VERSION
#27238 No VERSION
#27224 No VERSION
#27203 No VERSION
#27124 No VERSION

* Also add libcanberra
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:new-port The issue is requesting a new library to be added; consider making a PR! info:reviewed Pull Request changes follow basic guidelines
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Create VCPKG package for VowpalWabbit
3 participants