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

[infoware] Add port of infoware library #11410

Merged
merged 4 commits into from
Jun 12, 2020

Conversation

ThePhD
Copy link
Contributor

@ThePhD ThePhD commented May 17, 2020

This pull request adds a port for the C++ infoware library.

All triplets should be supported, with both dynamic and static builds available.

I could not find additional examples of CI that needed to change or more. The version of infoware being targeted by vcpkg should be 0.5.3.

@msftclas
Copy link

msftclas commented May 17, 2020

CLA assistant check
All CLA requirements met.

@PhoebeHui PhoebeHui changed the title Add port of infoware library [infoware] Add port of infoware library May 18, 2020
Copy link
Contributor

@PhoebeHui PhoebeHui left a comment

Choose a reason for hiding this comment

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

Could you also update the hash value?

The CI test failures:
File does not have expected hash:

      File path: [ C:/agent/_work/1/s/downloads/temp/ThePhD-infoware-v0.5.3.tar.gz ]
  Expected hash: [ 64a4f0b1027a20bf9c90bf99d638947cb1c0d6bad1b22c8b0403713c5e2c69756435906996b154989f9eaa41e5d55743d7bf5ef51f7bbf8d99eae94d29af1b2c ]
    Actual hash: [ 217bb9332214d823445e19f2c465199536e89a36faccea8cb72f8dd41a177e1739969d131ad25d1878e688a3a6cc1290c2125ef9d2205ad4fd334b24b27d491a ]

The file may have been corrupted in transit. This can be caused by
proxies. If you use a proxy, please set the HTTPS_PROXY and HTTP_PROXY
environment variables to
"https://user:password@your-proxy-ip-address:port/".

ports/infoware/CONTROL Outdated Show resolved Hide resolved
ports/infoware/CONTROL Show resolved Hide resolved
ports/infoware/CONTROL Show resolved Hide resolved
ports/infoware/portfile.cmake Outdated Show resolved Hide resolved
ports/infoware/portfile.cmake Outdated Show resolved Hide resolved
ports/infoware/CONTROL Outdated Show resolved Hide resolved
ThePhD added a commit to ThePhD/infoware that referenced this pull request May 20, 2020
…to do a new revision just for saving distribution information
@ThePhD
Copy link
Contributor Author

ThePhD commented May 20, 2020

Files changes (133)

I, uh. Seem to have irreversibly ruined my git commit. One moment. ;;

@PhoebeHui
Copy link
Contributor

@ThePhD, the CI test with following triplet, does it expect? could you please take a look?

infoware:x64-uwp
infoware:arm-uwp
infoware:arm64-windows

@ThePhD
Copy link
Contributor Author

ThePhD commented May 28, 2020

I was not expecting this: there seems to be a specific problem with MSBuild on these platforms and building the tool to generate PCI data? Works fine with Ninja; I'll try to fix it up for MSBuild. Sorry about the failed tests...!

@ThePhD
Copy link
Contributor Author

ThePhD commented May 28, 2020

I actually don't understand what's going on in vcpkg in these cases. I can build for the platforms listed as failures independently outside of vcpkg, invoking the CMake build and install with either Ninja or MSBuild just fine. But inside of vcpkg, I get errors like these:

Desktop/vcpkg/buildtrees/infoware/arm64-windows-dbg/pciids/pci.ids > infoware_generated/pci_data.hpp"
FAILED: infoware_generated/pci_data.hpp
cmd.exe /C "cd /D Desktop\vcpkg\buildtrees\infoware\arm64-windows-dbg && Desktop\vcpkg\downloads\tools\cmake-3.17.2-windows\cmake-3.17.2-win32-x86\bin\cmake.exe -E make_directory infoware_generated/ && Desktop\vcpkg\buildtrees\infoware\arm64-windows-dbg\infoware_pci_generator.exe Desktop/vcpkg/buildtrees/infoware/arm64-windows-dbg/pciids/pci.ids > infoware_generated/pci_data.hpp"
This version of Desktop\vcpkg\buildtrees\infoware\arm64-windows-dbg\infoware_pci_generator.exe is not compatible with the version of Windows you're running. Check your computer's system information and then contact the software publisher.
ninja: build stopped: subcommand failed.

I sincerely am not sure how to handle this. Maybe I should just disable the x64_uwp, arm_uwp, and arm64 builds?

@strega-nil
Copy link
Contributor

@ThePhD For UWP, I have no idea what's wrong; I would just set it as fail. There's often an issue getting ports which aren't designed for it to work on UWP.

For arm64-windows, the issue that you have is that you have build tools that need to run on the host architecture, but you're always running them on the target architecture; it's completely valid to do that, but it means cross-compilation is impossible. You may want to pull a boost, and require that the host binaries are installed before building the target libraries, or you may want to just wait until we have support for tool-depends. If the latter, I would set it to fail and write a comment to the effect of This port doesn't support cross-compilation.

@PhoebeHui PhoebeHui added the category:new-port The issue is requesting a new library to be added; consider making a PR! label Jun 3, 2020
@ThePhD
Copy link
Contributor Author

ThePhD commented Jun 6, 2020

Is the right thing to do Supports: !(uwp|arm) or is it better to modify scripts/ci.baseline.txt?

@ThePhD
Copy link
Contributor Author

ThePhD commented Jun 6, 2020

Also, I think the x64_osx pipeline is broken...!

@PhoebeHui
Copy link
Contributor

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@PhoebeHui
Copy link
Contributor

PhoebeHui commented Jun 9, 2020

Currently we add the follow code when it unsupport some arch or platform.

  1. CONTROL: Supports: !(uwp|arm)
  2. Portfile.cmake: vcpkg_fail_port_install(ON_ARCH "arm" ON_TARGET "uwp")

@ThePhD, currently we don't need add unsupport triplet to ci baseline file, since we already have 'Support' field, could you add the warnning message for users by 'vcpkg_fail_port_install(ON_ARCH "arm" ON_TARGET "uwp")'?

@BillyONeal
Copy link
Member

@ThePhD Thanks for your contribution!

@ThePhD
Copy link
Contributor Author

ThePhD commented Jun 11, 2020

Oh, nice, thanks for adding that function to the PR, glad it seems to all work now!!

@PhoebeHui PhoebeHui added the info:reviewed Pull Request changes follow basic guidelines label Jun 12, 2020
@dan-shaw dan-shaw merged commit 250e35a into microsoft:master Jun 12, 2020
@dan-shaw
Copy link
Contributor

Thanks for the PR!

JangBoo pushed a commit to JangBoo/vcpkg that referenced this pull request Jun 18, 2020
* Improved infoware and portfile port

* Add a note for why we do this.

* Add vcpkg_fail_port_install call requested by @PhoebeHui

Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
penumbra23 pushed a commit to codespace-dev/vcpkg that referenced this pull request Aug 5, 2020
* Improved infoware and portfile port

* Add a note for why we do this.

* Add vcpkg_fail_port_install call requested by @PhoebeHui

Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
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.

6 participants