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

[libharu,wt] Update libharu to 2.4.2 and Wt to 4.8.1 #26945

Merged
merged 2 commits into from
Sep 30, 2022

Conversation

RockinRoel
Copy link
Contributor

  • What does your PR fix?

    Updates libharu version to 2.4.2 and Wt version to 4.8.1.

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

    libharu builds on all of them, for Wt the triplets should stay the same as before:

    • x64-linux
    • x64-osx
    • x64-windows
    • x64-windows-static
    • x86-windows

    It turns out UWP flavors don't build because of the Boost Filesystem dependency, and on my machine arm64-windows fails when building glew.

  • Does your PR follow the maintainer guide?

    Mostly, some remarks:

    • I can't split this up in separate PRs since older versions of Wt don't compile with libharu 2.4.x.
    • libharu 2.4.2 changed the target name from haru to hpdf, but I used EXPORT_NAME to keep it the same as it was before. If desired I could change it to unofficial::libharu::hpdf, but then all ports that depend on it require fixing.
    • poco[pdf] appears to be broken (the PocoPDF library is not built or installed). I did not address this with this PR.
  • If you have added/updated a port: Have you run ./vcpkg x-add-version --all and committed the result?

    Yes

github-actions[bot]
github-actions bot previously approved these changes Sep 23, 2022
@dg0yt
Copy link
Contributor

dg0yt commented Sep 23, 2022

  • libharu 2.4.2 changed the target name from haru to hpdf, but I used EXPORT_NAME to keep it the same as it was before. If desired I could change it to unofficial::libharu::hpdf, but then all ports that depend on it require fixing.

We should not touch the new target names. To avoid patching downstream vpckg ports, we should just add an interface library with the old name to CMake config file.
This must be complemented by a usage file which shows the proper new CMake usage.

github-actions[bot]
github-actions bot previously approved these changes Sep 26, 2022
@RockinRoel
Copy link
Contributor Author

  • libharu 2.4.2 changed the target name from haru to hpdf, but I used EXPORT_NAME to keep it the same as it was before. If desired I could change it to unofficial::libharu::hpdf, but then all ports that depend on it require fixing.

We should not touch the new target names. To avoid patching downstream vpckg ports, we should just add an interface library with the old name to CMake config file. This must be complemented by a usage file which shows the proper new CMake usage.

I added an interface library and a usage file. I hope I did everything correctly.

@Cheney-W
Copy link
Contributor

Old usage:

find_package(unofficial-libharu CONFIG REQUIRED)
target_link_libraries(main PRIVATE unofficial::libharu::haru)

New usage:

find_package(unofficial-libharu CONFIG REQUIRED)
target_link_libraries(main PRIVATE unofficial::libharu::hpdf)

@RockinRoel
Copy link
Contributor Author

I updated the usage file.

github-actions[bot]
github-actions bot previously approved these changes Sep 29, 2022
@Cheney-W
Copy link
Contributor

I'm sorry to mislead you, what I meant was that the updated usage has changed, which may affect the results of other ports when using libharu, which in turn will lead to the need to make the appropriate changes, just as you did with the vtk changes. But in practice we don't want the port itself to be modified to affect downstream.

@RockinRoel
Copy link
Contributor Author

So do you need me to make special mention of it in libharu's usage file, or do I just mention the latest usage?

I have now used an imported target to maintain compatibility, so I think the autogenerated usage string will mention both instead of just the one they're supposed to use. Do I keep it like that or do I remove the imported target?

I updated the patches for libharu so they apply to 2.4.2 properly.
The target name changed from haru to hpdf, the haru imported
library is included for backwards compatibility. I added a usage
file that only mentions hpdf.

I added a patch for VTK so that it compiles with libharu 2.4.x,
since the type of one the HPDF_Page_SetDash arguments changed
from HPDF_UINT16 to HPDF_REAL.

POCO also has an optional libharu dependency when the 'pdf'
feature is enabled, but at the moment the PocoPDF library
doesn't seem to be built even when enabled.
This release fixes compatibility with libharu 2.4.x
@Cheney-W
Copy link
Contributor

I've discussed this with others and since the usage for this port is one that we provide, it's an unofficial one, so if something changes here and affects downstream, then it does require going and manually modifying the downstream using to match the new usage, so you don't need to make any changes, the current usage is fine.

@Cheney-W Cheney-W added info:reviewed Pull Request changes follow basic guidelines and removed requires:author-response labels Sep 30, 2022
@vicroms vicroms merged commit 65521f7 into microsoft:master Sep 30, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:port-update The issue is with a library, which is requesting update new revision info:reviewed Pull Request changes follow basic guidelines
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants