Skip to content

Commit

Permalink
[gtk] update to 4.4.0 (#20654)
Browse files Browse the repository at this point in the history
* Make gtk4.4 build.

* Update baseline for gtk

* Fix vcpkg version.

* Fix vcpkg version.

* [gtk] Fix macos build.

* [gtk] Fix linux build.

* [gtk] Add patches.

* [gtk] Bump versions - again

* Fix macos patch.

* Bump versions.

* Install xdamage.

* Bump versions.

* Add merged patch from upstream.

* [gtk] Bump version.

* Delete duplicate install of libxdamage-dev

* Add comment about change being merged upstream.

Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
  • Loading branch information
Berrysoft and BillyONeal committed Nov 29, 2021
1 parent b6b0e29 commit 3f56cc6
Show file tree
Hide file tree
Showing 8 changed files with 79 additions and 13 deletions.
File renamed without changes.
11 changes: 11 additions & 0 deletions ports/gtk/0002-windows-build.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
diff -ru /gdk/win32/gdkinput-winpointer.c b/gdk/win32/gdkinput-winpointer.c
--- a/gdk/win32/gdkinput-winpointer.c
+++ b/gdk/win32/gdkinput-winpointer.c
@@ -18,6 +18,7 @@
#include "config.h"

#include <gdk/gdk.h>
+#include "gdk-private.h"
#include "gdkwin32.h"
#include "gdkprivate-win32.h"
#include "gdkdevicemanager-win32.h"
35 changes: 35 additions & 0 deletions ports/gtk/0003-vs2022-rc.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
diff --git a/gtk/gtk-win32.rc.body.in b/gtk/gtk-win32.rc.body.in
index b876a6ddf51846236f2c77e4c529b0c0a84e303e..fc2dfd2ed31ed518cc8238bd5b5602cc4a343f02 100644
--- a/gtk/gtk-win32.rc.body.in
+++ b/gtk/gtk-win32.rc.body.in
@@ -1,5 +1,5 @@
-#include <winuser.h>
-#include <winver.h>
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h>

GTK_ICON ICON "gtk.ico"

diff --git a/tools/generate-uac-manifest.py b/tools/generate-uac-manifest.py
index ede6ba5044c3f11112f5e8f36dea8f1aaa14a70d..62f063a8bb6d00201ca42a28eb33e560179a41f5 100644
--- a/tools/generate-uac-manifest.py
+++ b/tools/generate-uac-manifest.py
@@ -24,7 +24,7 @@ def main():
help='require admin access to application')
parser.add_argument('--input-resource-file', dest='resource',
default=None,
- help='existing .rc file to embed UAC manifest (do not generate a new .rc file), must have included winuser.h in it')
+ help='existing .rc file to embed UAC manifest (do not generate a new .rc file), must have included windows.h in it')
parser.add_argument('--output-dir', dest='outdir',
default=None,
help='directory to output resulting files')
@@ -92,7 +92,8 @@ def write_rc_file(name, resource, outdir):

if resource is None:
outfile = open(output_file_base_name + '.rc', 'w+')
- outfile.write('#include <winuser.h>')
+ outfile.write('#define WIN32_LEAN_AND_MEAN\n')
+ outfile.write('#include <windows.h>\n')
else:
if resource != output_file_base_name + '.rc':
outfile = open(output_file_base_name + '.rc', 'w+')
12 changes: 12 additions & 0 deletions ports/gtk/0004-macos-build.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
diff -u a/gdk/macos/gdkmacoseventsource-private.h b/gdk/macos/gdkmacoseventsource-private.h
--- a/gdk/macos/gdkmacoseventsource-private.h
+++ b/gdk/macos/gdkmacoseventsource-private.h
@@ -24,6 +24,8 @@

#include "gdkmacosdisplay.h"

+#include "gdk-private.h"
+
G_BEGIN_DECLS

typedef enum
25 changes: 14 additions & 11 deletions ports/gtk/portfile.cmake
Original file line number Diff line number Diff line change
@@ -1,15 +1,18 @@

set(GTK_VERSION 4.3.0)
set(GTK_VERSION 4.4.0)

vcpkg_from_gitlab(
GITLAB_URL https://gitlab.gnome.org/
OUT_SOURCE_PATH SOURCE_PATH
REPO GNOME/gtk
REF 40ebed3a03aef096addc0af09fec4ec529d882a0 #v4.3.0
SHA512 6f68e1e2f18a4bf0299f0563ccf091cbee3a1dc1db0819565216d50f98f3f3ad4904eef746357d9bc2fdac8a5e29c5cbed5d4df5dd0f89bb941f7438ae3cd096
REF f1f197e3b94a55d5cbfaae2498f991a0ae733b32 #v4.4.0
SHA512 80ffc2c2a2baae4a4097470a41d0b10d5df9086e60daa520aad845fe571e03486c4f87e295ae4f05aa0069df80fe40ad7655de4f9aecc21c2482bbe0b2b6e2fb
HEAD_REF master # branch name
PATCHES build.patch
)
PATCHES
0001-build.patch
0002-windows-build.patch
0003-vs2022-rc.patch # https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/4063
0004-macos-build.patch
)

vcpkg_find_acquire_program(PKGCONFIG)
get_filename_component(PKGCONFIG_DIR "${PKGCONFIG}" DIRECTORY )
Expand All @@ -21,7 +24,7 @@ set(win32 false)
set(osx false)
if(VCPKG_TARGET_IS_LINUX)
set(OPTIONS -Dwayland-backend=false) # CI missing at least wayland-protocols
set(x11 true)
set(x11 true)
# Enable the wayland gdk backend (only when building on Unix except for macOS)
elseif(VCPKG_TARGET_IS_WINDOWS)
set(win32 true)
Expand Down Expand Up @@ -74,7 +77,7 @@ vcpkg_install_meson()

# If somebody finds out how to access and forward env variables to
# the meson install script be my guest. Nevertheless the script still
# needs manual execution in the crosscompiling case.
# needs manual execution in the crosscompiling case.
vcpkg_find_acquire_program(PYTHON3)
foreach(_config release debug)
if(_config STREQUAL "release")
Expand Down Expand Up @@ -112,9 +115,9 @@ vcpkg_fixup_pkgconfig()

file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)

set(TOOL_NAMES gtk4-builder-tool
gtk4-encode-symbolic-svg
gtk4-query-settings
set(TOOL_NAMES gtk4-builder-tool
gtk4-encode-symbolic-svg
gtk4-query-settings
gtk4-update-icon-cache)
if(VCPKG_TARGET_IS_LINUX)
list(APPEND TOOL_NAMES gtk4-launch)
Expand Down
2 changes: 1 addition & 1 deletion ports/gtk/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "gtk",
"version": "4.3.0",
"version": "4.4.0",
"description": "Portable library for creating graphical user interfaces.",
"homepage": "https://www.gtk.org/",
"dependencies": [
Expand Down
2 changes: 1 addition & 1 deletion versions/baseline.json
Original file line number Diff line number Diff line change
Expand Up @@ -2601,7 +2601,7 @@
"port-version": 3
},
"gtk": {
"baseline": "4.3.0",
"baseline": "4.4.0",
"port-version": 0
},
"gtkmm": {
Expand Down
5 changes: 5 additions & 0 deletions versions/g-/gtk.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "1248de2309515809a0a6d6f4a1cdb48f0aca304e",
"version": "4.4.0",
"port-version": 0
},
{
"git-tree": "2b9f746a54e5029cc327ecd7ffb1b6d042a478b6",
"version": "4.3.0",
Expand Down

0 comments on commit 3f56cc6

Please sign in to comment.