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

[libwebp] Update to 1.3.0, misc changes #29165

Merged
merged 14 commits into from
Jan 27, 2023
Merged

Conversation

dg0yt
Copy link
Contributor

@dg0yt dg0yt commented Jan 25, 2023

Misc changes:

  • Add explicit usage file. (With a fifth exported target, the heuristics started to omit one.)
  • Minimize patches.
  • Fix tool and feature configuration (tested locally: linux, osx, mingw with core, default and all).
  • Consistently depend on libjpeg-turbo, libpng, tiff for all features that could pick up these modules.
    These dependencies are used only by (some) tools, and they already existed for some features.
    There is one caveat: tiff[webp] cannot be installed together with libwebp[some tools].
  • Disable debug build of the tools.
    Not installed anyways. (Some tools are not installed even for release config...)

_

  • Changes comply with the maintainer guide
  • SHA512s are updated for each updated download
  • The "supports" clause reflects platforms that may be fixed by this new version
  • Any fixed CI baseline entries are removed from that file.
  • Any patches that are no longer applied are deleted from the port's directory.
  • The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
  • Only one version is added to each modified port's versions file.

],
"platform": "!osx"
"platform": "!osx & !static"
Copy link
Contributor

Choose a reason for hiding this comment

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

why did you add all the !static?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Upstream. The vwebp tools aren't available in static builds:
https://github.com/webmproject/libwebp/blob/b54d21a01d975c9a5681e8d3db6e0f55265ea5bb/CMakeLists.txt#L55-L65
Unless we generally disable WEBP_LINK_STATIC which seems to have no positive effect in vcpkg context anyways.

Copy link
Contributor

Choose a reason for hiding this comment

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

Hmm in that case I am less interested in what upstream says (because obviously they don't have a clue) but what the actual error is.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Me too.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Neither port freeglut nor port sdl1 provide their complete static link libraries for x64-linux. As usual, this isn't caught in CI because vcpkg doesn't build executables.
The lack of vwebp[_sdl] on static triplets isn't a regression, so I will probably not fix it at this point.
I should revert the manifest changes, so that other people can look into this with --allow-unsupported. i.e. this a suitable test port to fix those ports. If someone cares about sdl1.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

... and CMake reordering libraries due to mix of targets and filepaths.

@dg0yt
Copy link
Contributor Author

dg0yt commented Jan 25, 2023

opencv:x64-windows: Fails to find webpmux

mapnik:x64-windows: Could NOT find WebP (missing: WebP_LIBRARY) (found version "1.3.0")
in vendored cmake/FindWebP.cmake

@dg0yt
Copy link
Contributor Author

dg0yt commented Jan 25, 2023

Upstream changed the output name of the libraries on windows. They added the lib prefix:

-libwebp:x64-windows:/bin/webp.dll
-libwebp:x64-windows:/bin/webp.pdb
-libwebp:x64-windows:/bin/webpdecoder.dll
-libwebp:x64-windows:/bin/webpdecoder.pdb
-libwebp:x64-windows:/bin/webpdemux.dll
-libwebp:x64-windows:/bin/webpdemux.pdb
-libwebp:x64-windows:/bin/webpmux.dll
-libwebp:x64-windows:/bin/webpmux.pdb
-libwebp:x64-windows:/lib/webp.lib
-libwebp:x64-windows:/lib/webpdecoder.lib
-libwebp:x64-windows:/lib/webpdemux.lib
-libwebp:x64-windows:/lib/webpmux.lib
+libwebp:x64-windows:/bin/libsharpyuv.dll
+libwebp:x64-windows:/bin/libsharpyuv.pdb
+libwebp:x64-windows:/bin/libwebp.dll
+libwebp:x64-windows:/bin/libwebp.pdb
+libwebp:x64-windows:/bin/libwebpdecoder.dll
+libwebp:x64-windows:/bin/libwebpdecoder.pdb
+libwebp:x64-windows:/bin/libwebpdemux.dll
+libwebp:x64-windows:/bin/libwebpdemux.pdb
+libwebp:x64-windows:/bin/libwebpmux.dll
+libwebp:x64-windows:/bin/libwebpmux.pdb
+libwebp:x64-windows:/lib/libsharpyuv.lib
+libwebp:x64-windows:/lib/libwebp.lib
+libwebp:x64-windows:/lib/libwebpdecoder.lib
+libwebp:x64-windows:/lib/libwebpdemux.lib
+libwebp:x64-windows:/lib/libwebpmux.lib

github-actions[bot]
github-actions bot previously approved these changes Jan 25, 2023
github-actions[bot]
github-actions bot previously approved these changes Jan 26, 2023
github-actions[bot]
github-actions bot previously approved these changes Jan 26, 2023
github-actions[bot]
github-actions bot previously approved these changes Jan 26, 2023
@BillyONeal BillyONeal added info:reviewed Pull Request changes follow basic guidelines requires:all-feature-testing vcpkg install port[all features supported by that port] needs to be demonstrated to function labels Jan 27, 2023
BillyONeal
BillyONeal previously approved these changes Jan 27, 2023
# Conflicts:
#	ports/mapnik/vcpkg.json
#	versions/baseline.json
#	versions/m-/mapnik.json
@BillyONeal BillyONeal dismissed stale reviews from GitHub Actions and themself via 1f143ef January 27, 2023 03:41
github-actions[bot]
github-actions bot previously approved these changes Jan 27, 2023
@BillyONeal
Copy link
Member

Feature testing:

libwebp[anim,cwebp,dwebp,extras,gif2webp,img2webp,info,libwebpmux,mux,nearlossless,simd,all,swap16bitcsp,unicode,vwebp,vwebp-sdl]:x64-windows pass
libwebp[core]:x64-windows pass
libwebp[core,anim,cwebp,dwebp,extras,gif2webp,img2webp,info,libwebpmux,mux,nearlossless,simd,unicode,vwebp,vwebp-sdl]:x64-windows pass
libwebp[core,cwebp,dwebp,extras,gif2webp,img2webp,info,libwebpmux,mux,nearlossless,simd,unicode,vwebp,vwebp-sdl]:x64-windows pass
libwebp[core,anim,dwebp,extras,gif2webp,img2webp,info,libwebpmux,mux,nearlossless,simd,unicode,vwebp,vwebp-sdl]:x64-windows pass
libwebp[core,anim,cwebp,extras,gif2webp,img2webp,info,libwebpmux,mux,nearlossless,simd,unicode,vwebp,vwebp-sdl]:x64-windows pass
libwebp[core,anim,cwebp,dwebp,gif2webp,img2webp,info,libwebpmux,mux,nearlossless,simd,unicode,vwebp,vwebp-sdl]:x64-windows pass
libwebp[core,anim,cwebp,dwebp,extras,img2webp,info,libwebpmux,mux,nearlossless,simd,unicode,vwebp,vwebp-sdl]:x64-windows pass
libwebp[core,anim,cwebp,dwebp,extras,gif2webp,info,libwebpmux,mux,nearlossless,simd,unicode,vwebp,vwebp-sdl]:x64-windows pass
libwebp[core,anim,cwebp,dwebp,extras,gif2webp,img2webp,libwebpmux,mux,nearlossless,simd,unicode,vwebp,vwebp-sdl]:x64-windows pass
libwebp[core,anim,cwebp,dwebp,extras,gif2webp,img2webp,info,mux,nearlossless,simd,unicode,vwebp,vwebp-sdl]:x64-windows pass
libwebp[core,anim,cwebp,dwebp,extras,gif2webp,img2webp,info,libwebpmux,nearlossless,simd,unicode,vwebp,vwebp-sdl]:x64-windows pass
libwebp[core,anim,cwebp,dwebp,extras,gif2webp,img2webp,info,libwebpmux,mux,simd,unicode,vwebp,vwebp-sdl]:x64-windows pass
libwebp[core,anim,cwebp,dwebp,extras,gif2webp,img2webp,info,libwebpmux,mux,nearlossless,unicode,vwebp,vwebp-sdl]:x64-windows pass
libwebp[core,anim,cwebp,dwebp,extras,gif2webp,img2webp,info,libwebpmux,mux,nearlossless,simd,vwebp,vwebp-sdl]:x64-windows pass
libwebp[core,anim,cwebp,dwebp,extras,gif2webp,img2webp,info,libwebpmux,mux,nearlossless,simd,unicode,vwebp-sdl]:x64-windows pass
libwebp[core,anim,cwebp,dwebp,extras,gif2webp,img2webp,info,libwebpmux,mux,nearlossless,simd,unicode,vwebp]:x64-windows pass

@BillyONeal BillyONeal removed the requires:all-feature-testing vcpkg install port[all features supported by that port] needs to be demonstrated to function label Jan 27, 2023
@BillyONeal
Copy link
Member

Sorry I'm fixing the patch now...

@BillyONeal
Copy link
Member

It looks like the patch added to mapnik is no longer necessary so I'm just reverting those changes.

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!

PRs must add only one version and must not modify any published versions

When making any changes to a library, the version or port-version in vcpkg.json or CONTROL must be modified.

error: checked-in files for mapnik have changed but the version was not updated
version: 2023-01-17
old SHA: 6fc189206b9c2055b544278ede1ce5be2e0f48ff
new SHA: 7edf56f41dd09aba37d31f34e1952ea32f0a56b3
Did you remember to update the version or port version?
Use --overwrite-version to bypass this check
***No files were updated***

@BillyONeal
Copy link
Member

@dg0yt Please confirm that the merge I did looks OK to you :)

@BillyONeal BillyONeal added requires:author-response category:port-update The issue is with a library, which is requesting update new revision labels Jan 27, 2023
@dg0yt
Copy link
Contributor Author

dg0yt commented Jan 27, 2023

Okay.
Mapnik switch from a vendored CMake Find module to pkg-config (via CMake's FindPkgConfig.cmake). This works as good or as bad as anything else.

@BillyONeal
Copy link
Member

Thanks!

@BillyONeal BillyONeal merged commit 91dd61b into microsoft:master Jan 27, 2023
@dg0yt dg0yt deleted the libwebp branch January 27, 2023 19:36
@LilyWangLL LilyWangLL mentioned this pull request Feb 7, 2023
7 tasks
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.

3 participants