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

[gtk] Bump to gtk+-3.24.10 which is the first version using meson build #9154

Closed
wants to merge 1 commit into from

Conversation

fungos
Copy link
Contributor

@fungos fungos commented Nov 30, 2019

WORK-IN-PROGRESS - I still need to do more tests on Windows.
If your issue is mentioned here, please help review and test this PR.

This simplify the gtk port and correctly generate the missing files.

The source of the problem is with the underlying build system, as these
files were installed by the demo icon-browser, but the
gtk-update-icon-cache were executed by the main gtk project, failing if
the demo wasn't built or installed.

- Fixes microsoft#7412 by using gtk 3.24.10.

- Possibly fixes microsoft#6554, microsoft#7827, microsoft#8103 as now all the missing assets are
correctly copied into installed/<triplet>/share/ and should be deployed
with the final application.

This simplify the gtk port and correctly generate the missing files.

The source of the problem is with the underlying build system, as these
files were installed by the demo `icon-browser`, but the
gtk-update-icon-cache were executed by the main gtk project, failing if
the demo wasn't built or installed.

- This also fixes microsoft#7641 as now the meson build will correctly generate
the missing .pc files.

- This also fixes microsoft#9035, microsoft#7150 by fixing `vcpkg_configure_meson.cmake`
which fails on Linux/OSX because it indiscriminately try to pass msvc
cl arguments to the cmake c/xx flags. Although this works, it is not
the ideal fix. The correct fix would be to do as suggested in
issue microsoft#8271. Also see issue microsoft#8630.
@cenit
Copy link
Contributor

cenit commented Nov 30, 2019

I was also working on improving a lot meson/pkgconfig here on vcpkg. I might already import your commit in my PR to fix gtk (one of the many libraries that are not in a very good shape here when built in *nix)

@fungos
Copy link
Contributor Author

fungos commented Dec 3, 2019

Need to hold on this as Meson is basically useless on windows. I need do some hacks to get this to find all its dependencies as meson tries pkg_config and some other cmake instance elsewhere, which in turns fail to find the right paths.

@Illation
Copy link

Illation commented Dec 5, 2019

Is it possible that this also fixes #3339 ?

@fungos
Copy link
Contributor Author

fungos commented Dec 5, 2019

Unfortunately no. But looking there, the fix referenced in there is probably your best bet. I suggest taking that and doing a PR since the person don't want to.
Also, if some recent Gtkmm uses Meson, if I find a way to get this working, then fixing Gtkmm should be something similar, but not this.

Homepage: https://www.gtk.org/
Description: Portable library for creating graphical user interfaces.
Build-Depends: glib, atk, gdk-pixbuf, pango, cairo, libepoxy, gettext
Build-Depends: tool-meson, glib, atk, gdk-pixbuf, pango, cairo, gettext, libepoxy

Choose a reason for hiding this comment

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

Why were the last two items swapped?

install(FILES gdk/win32/gdkwin32.h DESTINATION include/gdk)
install(FILES gdk/gdk.h DESTINATION include/gdk)
install(FILES gdk/gdk-autocleanup.h DESTINATION include/gdk)
install(FILES gdk/gdkapplaunchcontext.h DESTINATION include/gdk)

Choose a reason for hiding this comment

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

Having this file dropped seems like a real good action!

-Dexamples=false
-Dtests=false
--backend=ninja
#-Ddemos=false # WE NEED demos, because the icons come from here, otherwise the update icon cache will fail to build!

Choose a reason for hiding this comment

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

As a pragmatic approach I suggest to leave demos = true, and put a TODO in this code with a reference to an issue in the GTK sourcecode which addresses this bug in the upstream package.

We will then have a solution which works.

@JackBoosY
Copy link
Contributor

/azp run

@azure-pipelines
Copy link

Pull request contains merge conflicts.

@JackBoosY
Copy link
Contributor

@fungos Any progress in this PR?

@fungos
Copy link
Contributor Author

fungos commented Apr 13, 2020

Unfortunately, I do not have anymore interest on GTK at all due their own lack of interest in improving their build system.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
6 participants