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

[libpq,libxslt] Update libpq, fix misc issues #31314

Merged
merged 22 commits into from
Jun 1, 2023
Merged

Conversation

dg0yt
Copy link
Contributor

@dg0yt dg0yt commented May 8, 2023

libxslt

Fixes libname in the installed pc files for msvc triplets.

libpq

Update to 15.3.
Fixes feature zstd pulling in lz4 libs.
da1fc66 fixes #31242 (to be tested).
29a66ae fixes #30327 (to be tested).
a4e83a5 fixes #30099.
Fixes building the programs (libpq[client]) with all possible features enabled.
Fixes building libpq[python] on static non-msvc triplets using pkg-config.
Establishes consistency between msvc and non-msvc triplets by always installing libecpg.
Fixes race conditions in non-msvc builds.
Mitigates winflex races in msvc builds.
Cleanup.

Notes

References for Upstream platform support:
https://www.postgresql.org/about/featurematrix/#platforms
https://buildfarm.postgresql.org/cgi-bin/show_status.pl

  • uwp is unsupported upstream. Unchanged.

  • arm64-windows is unsupported upstream. Patches were extended. I don't know if the binaries were healthy before this PR, withouth the spin_delay patch, and I'm unable to test if they are healthy now.
    Alternative (seriously): Drop patched-in arm64-windows support. Affects downstream ports (e.g. gdal).

  • *-windows-static-* is unsupported upstream. Patches were extended. I don't know if the binaries were healthy before this PR, e.g. without dllexport/dllimport changes. Maybe this was subject to feature configuration. At least the client programs build now, with all possible features enabled.

  • The msvc builds don't provide exported configurations (pkgconfig), and the cmake wrapper doesn't yet cover all features. This can cause downstream ports (e.g gdal) to fail because they are unaware of the full set of transitive link libraries pulled in via optional features.
    Not a regression and out of scope for this PR. (NB: Upstream doesn't seem to support static builds.)

  • On windows, building the programs (libpq[client]) suffers from [mesa] win_FLEX.exe has races in %TEMP% that cause sporadic build failures. #29139. Not a regression.
    This is now mitigated by not using the -m msbuild option when building with the opt-in client feature. Build-time effect in vcpkg CI:

    • default features: < 1 min
    • all features with -m: 2 min if successful
    • all features w/o -m: 5 min

    The -m effect may be less drastic on user machines with less CPU cores.
    In vcpkg CI, the client feature won't be build when this PR is complete, so it doesn't hurt there.

  • There is also a Github mirror: https://github.com/postgres/postgres
    It would allow for --head builds.

  • The coming version 16 seems to support meson.

Checklist

  • 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.

@LilyWangLL LilyWangLL self-assigned this May 8, 2023
@LilyWangLL LilyWangLL added category:community-triplet A PR or issue related to community triplets not officially validated by the vcpkg team. category:port-feature The issue is with a library, which is requesting new capabilities that didn’t exist labels May 8, 2023
@dg0yt dg0yt force-pushed the libpq branch 5 times, most recently from da6e87c to 0c51999 Compare May 18, 2023 16:07
@dg0yt dg0yt force-pushed the libpq branch 10 times, most recently from 29b9261 to b5c2bb7 Compare May 20, 2023 11:28
@LilyWangLL LilyWangLL added category:port-bug The issue is with a library, which is something the port should already support and removed category:community-triplet A PR or issue related to community triplets not officially validated by the vcpkg team. labels May 22, 2023
@dg0yt dg0yt force-pushed the libpq branch 2 times, most recently from c51663a to 3734e69 Compare May 22, 2023 06:39
@dg0yt dg0yt changed the title [libpq,libxslt] Fix misc issues [libpq,libxslt] Update libpq, fix misc issues May 22, 2023
@dg0yt dg0yt marked this pull request as ready for review May 23, 2023 05:18
@dg0yt dg0yt marked this pull request as draft May 23, 2023 11:18
@dg0yt dg0yt marked this pull request as ready for review May 25, 2023 04:35
@LilyWangLL LilyWangLL added the requires:all-feature-testing vcpkg install port[all features supported by that port] needs to be demonstrated to function label May 25, 2023
@Cheney-W
Copy link
Contributor

Features passed with following triplets:
x86-windows
x64-windows
x64-windows-static

@Cheney-W Cheney-W added info:reviewed Pull Request changes follow basic guidelines and removed requires:all-feature-testing vcpkg install port[all features supported by that port] needs to be demonstrated to function labels May 26, 2023
@dan-shaw dan-shaw merged commit 2f56fda into microsoft:master Jun 1, 2023
@dg0yt dg0yt deleted the libpq branch June 1, 2023 05:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:port-bug The issue is with a library, which is something the port should already support category:port-feature The issue is with a library, which is requesting new capabilities that didn’t exist info:reviewed Pull Request changes follow basic guidelines
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[libpq] build failure [libpq] build failure [android] [libpq] Build error
4 participants