aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/gtk
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/gtk')
-rw-r--r--vcpkg/ports/gtk/0001-build.patch13
-rw-r--r--vcpkg/ports/gtk/fix_vulkan_enabled.patch12
-rw-r--r--vcpkg/ports/gtk/portfile.cmake103
-rw-r--r--vcpkg/ports/gtk/vcpkg.json96
4 files changed, 224 insertions, 0 deletions
diff --git a/vcpkg/ports/gtk/0001-build.patch b/vcpkg/ports/gtk/0001-build.patch
new file mode 100644
index 0000000..40e3529
--- /dev/null
+++ b/vcpkg/ports/gtk/0001-build.patch
@@ -0,0 +1,13 @@
+diff --git a/meson.build b/meson.build
+index 5efd8a9..d51af19 100644
+--- a/meson.build
++++ b/meson.build
+@@ -857,7 +857,7 @@ subdir('po')
+
+ subdir('docs/reference')
+
+-if not meson.is_cross_build()
++if false
+ gnome.post_install(
+ glib_compile_schemas: true,
+ gio_querymodules: gio_module_dirs,
diff --git a/vcpkg/ports/gtk/fix_vulkan_enabled.patch b/vcpkg/ports/gtk/fix_vulkan_enabled.patch
new file mode 100644
index 0000000..c620959
--- /dev/null
+++ b/vcpkg/ports/gtk/fix_vulkan_enabled.patch
@@ -0,0 +1,12 @@
+diff --git a/meson.build b/meson.build
+index 5ade7c2..9f48161 100644
+--- a/meson.build
++++ b/meson.build
+@@ -123,7 +123,6 @@ os_unix = not os_win32
+
+ if os_darwin
+ wayland_enabled = false
+- vulkan_enabled = false
+ else
+ macos_enabled = false
+ endif
diff --git a/vcpkg/ports/gtk/portfile.cmake b/vcpkg/ports/gtk/portfile.cmake
new file mode 100644
index 0000000..58de5f0
--- /dev/null
+++ b/vcpkg/ports/gtk/portfile.cmake
@@ -0,0 +1,103 @@
+# It installs only shared libs, regardless build type.
+vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)
+
+vcpkg_from_gitlab(
+ GITLAB_URL https://gitlab.gnome.org/
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO GNOME/gtk
+ REF ${VERSION}
+ SHA512 2e2d3135ebf8cb176a4e5e6f1faa26ae9ea5c3e2441e2c820372a76b78e641f207257600d6a207aa05883e04f29fac1452673bffa0395789b8e482cc6b204673
+ HEAD_REF master # branch name
+ PATCHES
+ 0001-build.patch
+ fix_vulkan_enabled.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/")
+
+set(x11 false)
+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)
+ # Enable the wayland gdk backend (only when building on Unix except for macOS)
+elseif(VCPKG_TARGET_IS_WINDOWS)
+ set(win32 true)
+elseif(VCPKG_TARGET_IS_OSX)
+ set(osx true)
+endif()
+
+list(APPEND OPTIONS -Dx11-backend=${x11}) #Enable the X11 gdk backend (only when building on Unix)
+list(APPEND OPTIONS -Dbroadway-backend=false) #Enable the broadway (HTML5) gdk backend
+list(APPEND OPTIONS -Dwin32-backend=${win32}) #Enable the Windows gdk backend (only when building on Windows)
+list(APPEND OPTIONS -Dmacos-backend=${osx}) #Enable the macOS gdk backend (only when building on macOS)
+
+if("introspection" IN_LIST FEATURES)
+ list(APPEND OPTIONS_RELEASE -Dintrospection=enabled)
+ vcpkg_get_gobject_introspection_programs(PYTHON3 GIR_COMPILER GIR_SCANNER)
+else()
+ list(APPEND OPTIONS_RELEASE -Dintrospection=disabled)
+endif()
+
+vcpkg_configure_meson(
+ SOURCE_PATH ${SOURCE_PATH}
+ OPTIONS
+ ${OPTIONS}
+ -Dbuild-demos=false
+ -Dbuild-testsuite=false
+ -Dbuild-examples=false
+ -Dbuild-tests=false
+ -Ddocumentation=false
+ -Dman-pages=false
+ -Dmedia-gstreamer=disabled # Build the gstreamer media backend
+ -Dprint-cups=disabled # Build the cups print backend
+ -Dvulkan=disabled # Enable support for the Vulkan graphics API
+ -Dcloudproviders=disabled # Enable the cloudproviders support
+ -Dsysprof=disabled # include tracing support for sysprof
+ -Dtracker=disabled # Enable Tracker3 filechooser search
+ -Dcolord=disabled # Build colord support for the CUPS printing backend
+ -Df16c=disabled # Enable F16C fast paths (requires F16C)
+ OPTIONS_RELEASE
+ ${OPTIONS_RELEASE}
+ OPTIONS_DEBUG
+ -Dintrospection=disabled
+ 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}'
+ sassc='${CURRENT_HOST_INSTALLED_DIR}/tools/sassc/bin/sassc${VCPKG_HOST_EXECUTABLE_SUFFIX}'
+ "g-ir-compiler='${GIR_COMPILER}'"
+ "g-ir-scanner='${GIR_SCANNER}'"
+)
+
+vcpkg_install_meson(ADD_BIN_TO_PATH)
+
+vcpkg_copy_pdbs()
+
+vcpkg_fixup_pkgconfig()
+
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING")
+
+set(TOOL_NAMES gtk4-builder-tool
+ gtk4-encode-symbolic-svg
+ gtk4-path-tool
+ gtk4-query-settings
+ gtk4-rendernode-tool
+ gtk4-update-icon-cache
+ gtk4-image-tool)
+if(VCPKG_TARGET_IS_LINUX)
+ list(APPEND TOOL_NAMES gtk4-launch)
+endif()
+vcpkg_copy_tools(TOOL_NAMES ${TOOL_NAMES} AUTO_CLEAN)
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")
+endif()
diff --git a/vcpkg/ports/gtk/vcpkg.json b/vcpkg/ports/gtk/vcpkg.json
new file mode 100644
index 0000000..bdd85ce
--- /dev/null
+++ b/vcpkg/ports/gtk/vcpkg.json
@@ -0,0 +1,96 @@
+{
+ "name": "gtk",
+ "version": "4.16.3",
+ "port-version": 3,
+ "description": "Portable library for creating graphical user interfaces.",
+ "homepage": "https://www.gtk.org/",
+ "license": "LGPL-2.0-only",
+ "supports": "!android & !xbox & !(arm64 & windows)",
+ "dependencies": [
+ "atk",
+ {
+ "name": "cairo",
+ "default-features": false,
+ "features": [
+ "gobject"
+ ]
+ },
+ {
+ "name": "cairo",
+ "default-features": false,
+ "features": [
+ "x11"
+ ],
+ "platform": "linux"
+ },
+ "gdk-pixbuf",
+ {
+ "name": "gettext",
+ "host": true,
+ "default-features": false,
+ "features": [
+ "tools"
+ ]
+ },
+ "gettext-libintl",
+ "glib",
+ {
+ "name": "glib",
+ "host": true
+ },
+ "graphene",
+ {
+ "name": "harfbuzz",
+ "features": [
+ "glib"
+ ]
+ },
+ "libepoxy",
+ "pango",
+ {
+ "name": "sassc",
+ "host": true
+ },
+ {
+ "name": "vcpkg-tool-meson",
+ "host": true
+ }
+ ],
+ "features": {
+ "introspection": {
+ "description": "Build with introspection",
+ "supports": "!static",
+ "dependencies": [
+ {
+ "name": "atk",
+ "default-features": false,
+ "features": [
+ "introspection"
+ ]
+ },
+ {
+ "name": "gdk-pixbuf",
+ "default-features": false,
+ "features": [
+ "introspection"
+ ]
+ },
+ "gobject-introspection",
+ {
+ "name": "graphene",
+ "default-features": false,
+ "features": [
+ "introspection"
+ ]
+ },
+ {
+ "name": "pango",
+ "default-features": false,
+ "features": [
+ "introspection"
+ ]
+ }
+ ]
+ }
+ }
+}