From e3e167b8ba31a0d4be79fbe226d416a7154c20c9 Mon Sep 17 00:00:00 2001 From: Exzap <13877693+Exzap@users.noreply.github.com> Date: Mon, 17 Apr 2023 15:48:18 +0200 Subject: [PATCH] vcpkg: Use system GTK3 --- .github/workflows/build.yml | 4 +- .../gtk3/0001-build.patch | 13 --- .../gtk3/cairo-cpp-linkage.patch | 62 ------------ .../gtk3/portfile.cmake | 99 +------------------ .../vcpkg_overlay_ports_linux/gtk3/vcpkg.json | 95 +----------------- 5 files changed, 5 insertions(+), 268 deletions(-) delete mode 100644 dependencies/vcpkg_overlay_ports_linux/gtk3/0001-build.patch delete mode 100644 dependencies/vcpkg_overlay_ports_linux/gtk3/cairo-cpp-linkage.patch diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2dfa245e..a91d562b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -53,7 +53,7 @@ jobs: - name: "Install system dependencies" run: | sudo apt update -qq - sudo apt install -y clang-12 cmake freeglut3-dev libgcrypt20-dev libglm-dev libx11-dev libgles2-mesa-dev libgtk-3-dev libpulse-dev libsecret-1-dev libsystemd-dev libudev-dev nasm ninja-build + sudo apt install -y clang-12 cmake freeglut3-dev libgcrypt20-dev libglm-dev libgtk-3-dev libpulse-dev libsecret-1-dev libsystemd-dev libudev-dev nasm ninja-build - name: "Bootstrap vcpkg" run: | @@ -107,7 +107,7 @@ jobs: - name: "Install system dependencies" run: | sudo apt update -qq - sudo apt install -y clang-12 cmake freeglut3-dev libgcrypt20-dev libglm-dev libx11-dev libgles2-mesa-dev libgtk-3-dev libpulse-dev libsecret-1-dev libsystemd-dev nasm ninja-build appstream + sudo apt install -y clang-12 cmake freeglut3-dev libgcrypt20-dev libglm-dev libgtk-3-dev libpulse-dev libsecret-1-dev libsystemd-dev nasm ninja-build appstream - name: "Build AppImage" run: | diff --git a/dependencies/vcpkg_overlay_ports_linux/gtk3/0001-build.patch b/dependencies/vcpkg_overlay_ports_linux/gtk3/0001-build.patch deleted file mode 100644 index 0f3d7b4f..00000000 --- a/dependencies/vcpkg_overlay_ports_linux/gtk3/0001-build.patch +++ /dev/null @@ -1,13 +0,0 @@ -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, diff --git a/dependencies/vcpkg_overlay_ports_linux/gtk3/cairo-cpp-linkage.patch b/dependencies/vcpkg_overlay_ports_linux/gtk3/cairo-cpp-linkage.patch deleted file mode 100644 index 84260f9e..00000000 --- a/dependencies/vcpkg_overlay_ports_linux/gtk3/cairo-cpp-linkage.patch +++ /dev/null @@ -1,62 +0,0 @@ -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', diff --git a/dependencies/vcpkg_overlay_ports_linux/gtk3/portfile.cmake b/dependencies/vcpkg_overlay_ports_linux/gtk3/portfile.cmake index 7138e422..065116c2 100644 --- a/dependencies/vcpkg_overlay_ports_linux/gtk3/portfile.cmake +++ b/dependencies/vcpkg_overlay_ports_linux/gtk3/portfile.cmake @@ -1,98 +1 @@ -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) +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) diff --git a/dependencies/vcpkg_overlay_ports_linux/gtk3/vcpkg.json b/dependencies/vcpkg_overlay_ports_linux/gtk3/vcpkg.json index 7018691e..c160ac00 100644 --- a/dependencies/vcpkg_overlay_ports_linux/gtk3/vcpkg.json +++ b/dependencies/vcpkg_overlay_ports_linux/gtk3/vcpkg.json @@ -1,99 +1,8 @@ { "name": "gtk3", "version": "3.24.34", - "port-version": 4, + "port-version": 5, "description": "Portable library for creating graphical user interfaces.", "homepage": "https://www.gtk.org/", - "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" - ] - } - ] - } - } + "license": null }