[go: up one dir, main page]

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

[glib] Update to 2.80.0 #37473

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

WangWeiLin-MV
Copy link
Contributor
@WangWeiLin-MV WangWeiLin-MV commented Mar 15, 2024

Fix #37286, update glib to 2.80.0.

Change

  • Backport patch to avoid package packaging, from 4133 and 4143. That is, python package packaging module required in meson.build at GNOME - GLib - 2.79.0
  • Change meson build option gtk_doc=false to documentation=false and man=false to man-pages=disabled at GNOME - GLib - 2.79.0
  • Add tools of gi-compile-repository, gi-decompile-typelib and gi-inspect-typeli at GNOME - GLib - 2.79.2

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.

Test

Port usage and feature libmount test pass with following triplets:

  • x64-linux
  • x64-windows

@WangWeiLin-MV WangWeiLin-MV added info:internal This PR or Issue was filed by the vcpkg team. category:port-update The issue is with a library, which is requesting update new revision labels Mar 15, 2024
ports/glib/portfile.cmake Outdated Show resolved Hide resolved
@WangWeiLin-MV
Copy link
Contributor Author
WangWeiLin-MV commented Apr 3, 2024

So, port glib requires system python package packaging module.
(The internal downloads\tools\python might take precedence over system level)

Update: backport upstream to avoid package.

@WangWeiLin-MV WangWeiLin-MV force-pushed the port/glib/upgrade-2.80.0 branch 2 times, most recently from ed9ff01 to 39fc2b4 Compare May 7, 2024 09:53
Copy link
Contributor
@dg0yt dg0yt left a comment

Choose a reason for hiding this comment

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

All those x_vcpkg_get_python_packages(PYTHON_VERSION "3" PACKAGES packaging) circumvent asset caching and need direct network access.

@WangWeiLin-MV
Copy link
Contributor Author
WangWeiLin-MV commented May 17, 2024

Progress

In platform osx, a situation was discovered that script gdbus-codegen run with system python instead of virtual environment python.

After vcpkg_configure_meson step, the Python virtual environment has been added to environment PATH:

/usr/local/microsoft/powershell/7:...
-- Setting up python virtual environment...
-- Installing python packages: packaging
-- Setting up python virtual environment... finished.
/Users/vcpkg/Data/b/gtk/x64-osx-venv/bin:/usr/local/microsoft/powershell/7:...

And in vcpkg_install_meson step:

[2/902] /Users/vcpkg/Data/b/gtk/x64-osx-venv/bin/python ...
[3/902] /Users/vcpkg/Data/b/gtk/x64-osx-venv/bin/python ...
[4/902] /Users/vcpkg/Data/installed/x64-osx/tools/glib/glib-genmarshal ...
[5/902] /Users/vcpkg/Data/installed/x64-osx/tools/glib/gdbus-codegen ...
====debug macos python
/usr/local/opt/python@3.11/bin/python3.11
...
[10/902] /Users/vcpkg/Data/b/gtk/x64-osx-venv/bin/python

In particular, this unexpected behavior only appears on the osx platform (works fine at windows and linux), The shebang at this time is #!/usr/bin/env @PYTHON@ and the @PYTHON@ is python3 for glib 2.80.

I'll try to construct a reproduction and do some investigation on how meson determines the runtime and runs the script.

Alternatively, perhaps it could be a workaround to explicitly specifying virtual environment python to meson binary python.

@Neumann-A
Copy link
Contributor
Neumann-A commented May 17, 2024

That has already been debugged..... vcpkg needs a save way to add a path to PATH without modifying existing program search paths. What you are overserving is that NINJA is put on path after PYTHON in vcpkg_configure_meson which is why /usr/bin/ is added before the vcpkg added path.

see fix in https://github.com/microsoft/vcpkg/pull/37409/files#diff-8d5517d668cf42886ab52e4ff9834f10ab72ab3ce1e841a0b97133764bb192e2

@WangWeiLin-MV WangWeiLin-MV force-pushed the port/glib/upgrade-2.80.0 branch 10 times, most recently from b3c7167 to 7184166 Compare June 26, 2024 07:37
@WangWeiLin-MV WangWeiLin-MV force-pushed the port/glib/upgrade-2.80.0 branch 3 times, most recently from 5646524 to 8242463 Compare June 26, 2024 08:09
@WangWeiLin-MV
Copy link
Contributor Author

...
In particular, this unexpected behavior only appears on the osx platform (works fine at windows and linux), ...
...

This weird situation can no longer be reproduced in CI, which now test passed.

@rdabek
Copy link
rdabek commented Sep 19, 2024

Hello, I wanted to ask if there are any news concerning when glib will be updated?

@WangWeiLin-MV
Copy link
Contributor Author

@rdabek Currently glib can be upgraded to 2.80.0. However, the internal function x_vcpkg_get_python_packages will break the asset caching, we are processing it. If you want to apply this PR temporarily, please download https://github.com/microsoft/vcpkg/pull/37473.diff and then git apply the-patch.diff.

@Osyotr
Copy link
Contributor
Osyotr commented Sep 29, 2024

@WangWeiLin-MV IIUC the packaging library is no longer needed so you can proceed with this PR.
https://gitlab.gnome.org/GNOME/glib/-/commit/38faeca62ebd5be89b1ec3e6c530e499ce2d7240

@WangWeiLin-MV
Copy link
Contributor Author

the packaging library is no longer needed so you can proceed with this PR. https://gitlab.gnome.org/GNOME/glib/-/commit/38faeca62ebd5be89b1ec3e6c530e499ce2d7240

Thanks for your comment, updated.

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:internal This PR or Issue was filed by the vcpkg team.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[glib] update to 2.80.0
6 participants