-
Notifications
You must be signed in to change notification settings - Fork 629
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Use vcpkg GTK3 with enabled wayland (#772)
- Loading branch information
Showing
7 changed files
with
276 additions
and
10 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
13 changes: 13 additions & 0 deletions
13
dependencies/vcpkg_overlay_ports_linux/gtk3/0001-build.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
diff --git a/meson.build b/meson.build | ||
index c599843..0cafd79 100644 | ||
--- a/meson.build | ||
+++ b/meson.build | ||
@@ -1008,7 +1008,7 @@ subdir('docs/reference') | ||
|
||
install_data('m4macros/gtk-3.0.m4', install_dir: join_paths(get_option('datadir'), 'aclocal')) | ||
|
||
-if not meson.is_cross_build() | ||
+if false | ||
if meson.version().version_compare('>=0.57.0') | ||
gnome.post_install( | ||
glib_compile_schemas: true, |
62 changes: 62 additions & 0 deletions
62
dependencies/vcpkg_overlay_ports_linux/gtk3/cairo-cpp-linkage.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
diff --git a/gtk/meson.build b/gtk/meson.build | ||
index 79f4f0d..33a7723 100644 | ||
--- a/gtk/meson.build | ||
+++ b/gtk/meson.build | ||
@@ -1074,6 +1074,7 @@ gtk_query_settings = executable( | ||
'gtk-query-settings.c', | ||
c_args: gtk_cargs, | ||
dependencies: libgtk_dep, | ||
+ link_language: 'cpp', | ||
install: true | ||
) | ||
gtk_tools += gtk_query_settings | ||
@@ -1083,6 +1084,7 @@ gtk_builder_tool = executable( | ||
'gtk-builder-tool.c', | ||
c_args: gtk_cargs, | ||
dependencies: libgtk_dep, | ||
+ link_language: 'cpp', | ||
install: true | ||
) | ||
gtk_tools += gtk_builder_tool | ||
@@ -1115,6 +1117,7 @@ gtk_update_icon_cache = executable( | ||
extra_update_icon_cache_objs, | ||
c_args: gtk_cargs, | ||
dependencies: libgtk_dep, | ||
+ link_language: 'cpp', | ||
install: true | ||
) | ||
gtk_tools += gtk_update_icon_cache | ||
@@ -1125,6 +1128,7 @@ gtk_query_immodules = executable( | ||
'gtkutils.c', | ||
c_args: gtk_cargs, | ||
dependencies: libgtk_dep, | ||
+ link_language: 'cpp', | ||
install: true | ||
) | ||
gtk_tools += gtk_query_immodules | ||
@@ -1134,6 +1138,7 @@ gtk_encode_symbolic_svg = executable( | ||
'encodesymbolic.c', | ||
c_args: gtk_cargs, | ||
dependencies: libgtk_dep, | ||
+ link_language: 'cpp', | ||
install: true | ||
) | ||
gtk_tools += gtk_encode_symbolic_svg | ||
@@ -1143,6 +1148,7 @@ gtk_launch = executable( | ||
'gtk-launch.c', | ||
c_args: gtk_cargs, | ||
dependencies: libgtk_dep, | ||
+ link_language: 'cpp', | ||
install: true | ||
) | ||
gtk_tools += gtk_launch | ||
diff --git a/meson.build b/meson.build | ||
index 287f0cb..d35106f 100644 | ||
--- a/meson.build | ||
+++ b/meson.build | ||
@@ -1,4 +1,4 @@ | ||
-project('gtk+-3.0', 'c', | ||
+project('gtk+-3.0', 'c', 'cpp', | ||
version: '3.24.34', | ||
default_options: [ | ||
'buildtype=debugoptimized', |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,98 @@ | ||
set(VCPKG_POLICY_EMPTY_PACKAGE enabled) | ||
set(warning_length 24) | ||
string(LENGTH "${CURRENT_BUILDTREES_DIR}" buildtrees_path_length) | ||
if(buildtrees_path_length GREATER warning_length AND CMAKE_HOST_WIN32) | ||
message(WARNING "${PORT}'s buildsystem uses very long paths and may fail on your system.\n" | ||
"We recommend moving vcpkg to a short path such as 'C:\\vcpkg' or using the subst command." | ||
) | ||
endif() | ||
|
||
vcpkg_minimum_required(VERSION 2022-10-12) # for ${VERSION} | ||
vcpkg_from_gitlab( | ||
OUT_SOURCE_PATH SOURCE_PATH | ||
GITLAB_URL https://gitlab.gnome.org | ||
REPO GNOME/gtk | ||
REF "${VERSION}" | ||
SHA512 20a91e30a89070461af06b33829bc723b348806b4a785d0743af8bd4789b55dade24686e08bf1b2f0335240463aacc040134babb0605b809186b15de9cf261e4 | ||
PATCHES | ||
0001-build.patch | ||
cairo-cpp-linkage.patch | ||
) | ||
|
||
vcpkg_find_acquire_program(PKGCONFIG) | ||
get_filename_component(PKGCONFIG_DIR "${PKGCONFIG}" DIRECTORY ) | ||
vcpkg_add_to_path("${PKGCONFIG_DIR}") # Post install script runs pkg-config so it needs to be on PATH | ||
vcpkg_add_to_path("${CURRENT_HOST_INSTALLED_DIR}/tools/glib/") | ||
vcpkg_add_to_path("${CURRENT_HOST_INSTALLED_DIR}/tools/gdk-pixbuf") | ||
vcpkg_add_to_path("${CURRENT_HOST_INSTALLED_DIR}/tools/gettext/bin") | ||
|
||
if("introspection" IN_LIST FEATURES) | ||
if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "static") | ||
message(FATAL_ERROR "Feature introspection currently only supports dynamic build.") | ||
endif() | ||
list(APPEND OPTIONS_DEBUG -Dintrospection=false) | ||
list(APPEND OPTIONS_RELEASE -Dintrospection=true) | ||
else() | ||
list(APPEND OPTIONS -Dintrospection=false) | ||
endif() | ||
|
||
if(CMAKE_HOST_WIN32 AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") | ||
set(GIR_TOOL_DIR ${CURRENT_INSTALLED_DIR}) | ||
else() | ||
set(GIR_TOOL_DIR ${CURRENT_HOST_INSTALLED_DIR}) | ||
endif() | ||
|
||
vcpkg_configure_meson( | ||
SOURCE_PATH "${SOURCE_PATH}" | ||
OPTIONS | ||
${OPTIONS} | ||
-Dwayland_backend=true | ||
-Ddemos=false | ||
-Dexamples=false | ||
-Dtests=false | ||
-Dgtk_doc=false | ||
-Dman=false | ||
-Dxinerama=no # Enable support for the X11 Xinerama extension | ||
-Dcloudproviders=false # Enable the cloudproviders support | ||
-Dprofiler=false # include tracing support for sysprof | ||
-Dtracker3=false # Enable Tracker3 filechooser search | ||
-Dcolord=no # Build colord support for the CUPS printing backend | ||
OPTIONS_DEBUG | ||
${OPTIONS_DEBUG} | ||
OPTIONS_RELEASE | ||
${OPTIONS_RELEASE} | ||
ADDITIONAL_BINARIES | ||
"glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal'" | ||
"glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums'" | ||
"glib-compile-resources='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-compile-resources${VCPKG_HOST_EXECUTABLE_SUFFIX}'" | ||
"gdbus-codegen='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/gdbus-codegen'" | ||
"glib-compile-schemas='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-compile-schemas${VCPKG_HOST_EXECUTABLE_SUFFIX}'" | ||
"g-ir-compiler='${CURRENT_HOST_INSTALLED_DIR}/tools/gobject-introspection/g-ir-compiler${VCPKG_HOST_EXECUTABLE_SUFFIX}'" | ||
"g-ir-scanner='${GIR_TOOL_DIR}/tools/gobject-introspection/g-ir-scanner'" | ||
) | ||
|
||
# Reduce command line lengths, in particular for static windows builds. | ||
foreach(dir IN ITEMS "${TARGET_TRIPLET}-dbg" "${TARGET_TRIPLET}-rel") | ||
if(EXISTS "${CURRENT_BUILDTREES_DIR}/${dir}/build.ninja") | ||
vcpkg_replace_string("${CURRENT_BUILDTREES_DIR}/${dir}/build.ninja" "/${dir}/../src/" "/src/") | ||
endif() | ||
endforeach() | ||
vcpkg_install_meson(ADD_BIN_TO_PATH) | ||
|
||
vcpkg_copy_pdbs() | ||
|
||
vcpkg_fixup_pkgconfig() | ||
|
||
set(GTK_TOOLS | ||
gtk-builder-tool | ||
gtk-encode-symbolic-svg | ||
gtk-launch | ||
gtk-query-immodules-3.0 | ||
gtk-query-settings | ||
gtk-update-icon-cache | ||
) | ||
vcpkg_copy_tools(TOOL_NAMES ${GTK_TOOLS} AUTO_CLEAN) | ||
|
||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/etc") | ||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") | ||
|
||
file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,99 @@ | ||
{ | ||
"name": "gtk3", | ||
"version": "3.24.34", | ||
"port-version": 3, | ||
"port-version": 4, | ||
"description": "Portable library for creating graphical user interfaces.", | ||
"homepage": "https://www.gtk.org/", | ||
"license": null | ||
"license": null, | ||
"dependencies": [ | ||
{ | ||
"name": "at-spi2-atk", | ||
"platform": "linux" | ||
}, | ||
"atk", | ||
{ | ||
"name": "cairo", | ||
"default-features": false, | ||
"features": [ | ||
"gobject" | ||
] | ||
}, | ||
{ | ||
"name": "cairo", | ||
"default-features": false, | ||
"features": [ | ||
"x11" | ||
], | ||
"platform": "linux" | ||
}, | ||
"gdk-pixbuf", | ||
{ | ||
"name": "gdk-pixbuf", | ||
"host": true | ||
}, | ||
"gettext", | ||
{ | ||
"name": "gettext", | ||
"host": true, | ||
"default-features": false, | ||
"features": [ | ||
"tools" | ||
] | ||
}, | ||
"glib", | ||
{ | ||
"name": "glib", | ||
"host": true | ||
}, | ||
"libepoxy", | ||
"pango", | ||
{ | ||
"name": "vcpkg-tool-meson", | ||
"host": true | ||
} | ||
], | ||
"features": { | ||
"introspection": { | ||
"description": "build with introspection", | ||
"dependencies": [ | ||
{ | ||
"name": "atk", | ||
"default-features": false, | ||
"features": [ | ||
"introspection" | ||
] | ||
}, | ||
{ | ||
"name": "gdk-pixbuf", | ||
"host": true, | ||
"default-features": false, | ||
"features": [ | ||
"introspection" | ||
] | ||
}, | ||
{ | ||
"name": "gdk-pixbuf", | ||
"default-features": false, | ||
"features": [ | ||
"introspection" | ||
] | ||
}, | ||
{ | ||
"name": "gobject-introspection", | ||
"host": true | ||
}, | ||
{ | ||
"name": "gobject-introspection", | ||
"platform": "windows & x86" | ||
}, | ||
{ | ||
"name": "pango", | ||
"default-features": false, | ||
"features": [ | ||
"introspection" | ||
] | ||
} | ||
] | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters