diff --git a/ports/atk/CMakeLists.txt.in b/ports/atk/CMakeLists.txt.in
deleted file mode 100644
index d8b84882369d99..00000000000000
--- a/ports/atk/CMakeLists.txt.in
+++ /dev/null
@@ -1,155 +0,0 @@
-cmake_minimum_required(VERSION 3.0)
-project(atk C)
-
-set(ATK_LIB_SUFFIX @ATK_LIB_SUFFIX@)
-set(ATK_DLL_SUFFIX @ATK_DLL_SUFFIX@)
-set(GLIB_LIB_VERSION @GLIB_LIB_VERSION@)
-
-if(BUILD_SHARED_LIBS)
- set(ATK_EXPORT_MACRO DLL_EXPORT)
-endif()
-
-# generate atkmarshal.c and atkmarshal.h source files
-# glib-genmarshal should be installed along with glib
-find_program(GLIB_GENMARSHAL glib-genmarshal PATH_SUFFIXES glib)
-file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/atk)
-
-message("Generating atkmarshal.h: ${GLIB_GENMARSHAL} --prefix=atk_marshal ${CMAKE_CURRENT_SOURCE_DIR}/atk/atkmarshal.list --header")
-execute_process(
- COMMAND ${GLIB_GENMARSHAL} --prefix=atk_marshal ${CMAKE_CURRENT_SOURCE_DIR}/atk/atkmarshal.list --header
- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/atk
- OUTPUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/atk/atkmarshal.h
-)
-
-message("Generating atkmarshal.c: ${GLIB_GENMARSHAL} --prefix=atk_marshal ${CMAKE_CURRENT_SOURCE_DIR}/atk/atkmarshal.list --body")
-execute_process(
- COMMAND ${GLIB_GENMARSHAL} --prefix=atk_marshal ${CMAKE_CURRENT_SOURCE_DIR}/atk/atkmarshal.list --body
- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/atk
- OUTPUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/atk/atkmarshal.c
-)
-
-if (WIN32)
- configure_file(config.h.win32 ${CMAKE_CURRENT_BINARY_DIR}/config.h COPYONLY)
-else()
- configure_file(config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h @ONLY)
-endif()
-add_definitions(-DHAVE_CONFIG_H)
-include_directories(. ./atk ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}/atk)
-
-find_path(GLIB_INCLUDE_DIR glib.h)
-find_library(GLIB_GLIB_LIBRARY glib-${GLIB_LIB_VERSION})
-find_library(GLIB_GOBJECT_LIBRARY gobject-${GLIB_LIB_VERSION})
-find_library(GLIB_GMODULE_LIBRARY gmodule-${GLIB_LIB_VERSION})
-set(GLIB_LIBRARIES ${GLIB_GLIB_LIBRARY} ${GLIB_GOBJECT_LIBRARY} ${GLIB_GMODULE_LIBRARY})
-
-if (WIN32 OR APPLE)
- find_path(LIBINTL_INCLUDE_DIR libintl.h)
- find_library(LIBINTL_LIBRARY NAMES libintl intl)
-else()
- find_package(Intl REQUIRED)
- set(LIBINTL_INCLUDE_DIR ${Intl_INCLUDE_DIRS})
- set(LIBINTL_LIBRARY ${Intl_LIBRARIES})
-endif()
-
-set(ATK_SOURCES
- atk/atkaction.c
- atk/atkcomponent.c
- atk/atkdocument.c
- atk/atkeditabletext.c
- atk/atkgobjectaccessible.c
- atk/atkhyperlink.c
- atk/atkhyperlinkimpl.c
- atk/atkhypertext.c
- atk/atkimage.c
- atk/atknoopobject.c
- atk/atknoopobjectfactory.c
- atk/atkobject.c
- atk/atkobjectfactory.c
- atk/atkplug.c
- atk/atkprivate.c
- atk/atkrange.c
- atk/atkregistry.c
- atk/atkrelation.c
- atk/atkrelationset.c
- atk/atkselection.c
- atk/atksocket.c
- atk/atkstate.c
- atk/atkstateset.c
- atk/atkstreamablecontent.c
- atk/atktable.c
- atk/atktablecell.c
- atk/atktext.c
- atk/atkutil.c
- atk/atkmisc.c
- atk/atkvalue.c
- atk/atkversion.c
- atk/atkwindow.c
- atk/atk-enum-types.c)
-
-add_library(atk ${ATK_SOURCES})
-target_compile_definitions(atk PRIVATE ATK_COMPILATION ${ATK_EXPORT_MACRO} G_DISABLE_SINGLE_INCLUDES ATK_LOCALEDIR="/dummy/share/locale")
-target_link_libraries(atk ${LIBINTL_LIBRARY} ${GLIB_LIBRARIES})
-target_include_directories(atk PRIVATE ${GLIB_INCLUDE_DIR} ${LIBINTL_INCLUDE_DIR})
-
-set_target_properties(atk PROPERTIES
- OUTPUT_NAME atk-${ATK_DLL_SUFFIX}
- ARCHIVE_OUTPUT_NAME atk-${ATK_LIB_SUFFIX})
-
-install(TARGETS atk RUNTIME DESTINATION bin ARCHIVE DESTINATION lib LIBRARY DESTINATION lib)
-
-if(NOT ATK_SKIP_HEADERS)
- install(FILES
- atk/atk.h
- atk/atkaction.h
- atk/atkcomponent.h
- atk/atkdocument.h
- atk/atkeditabletext.h
- atk/atkgobjectaccessible.h
- atk/atkhyperlink.h
- atk/atkhyperlinkimpl.h
- atk/atkhypertext.h
- atk/atknoopobject.h
- atk/atknoopobjectfactory.h
- atk/atkobject.h
- atk/atkobjectfactory.h
- atk/atkplug.h
- atk/atkimage.h
- atk/atkrange.h
- atk/atkregistry.h
- atk/atkrelation.h
- atk/atkrelationtype.h
- atk/atkrelationset.h
- atk/atkselection.h
- atk/atksocket.h
- atk/atkstate.h
- atk/atkstateset.h
- atk/atkstreamablecontent.h
- atk/atktable.h
- atk/atktablecell.h
- atk/atktext.h
- atk/atkutil.h
- atk/atkmisc.h
- atk/atkvalue.h
- atk/atkwindow.h
- atk/atkversion.h
- atk/atk-enum-types.h
- atk/atkversion.h
- DESTINATION include/atk)
-endif()
-
-message(STATUS "Link-time dependencies:")
-message(STATUS " " ${LIBINTL_LIBRARY})
-foreach(GL ${GLIB_LIBRARIES})
- message(STATUS " " ${GL})
-endforeach()
-
-set(prefix ${CMAKE_INSTALL_PREFIX})
-set(exec_prefix ${CMAKE_INSTALL_PREFIX})
-set(libdir ${CMAKE_INSTALL_PREFIX}/lib)
-set(includedir ${CMAKE_INSTALL_PREFIX}/include)
-set(ATK_API_VERSION @ATK_API_VERSION@)
-set(VERSION @ATK_VERSION@)
-set(GLIB_PACKAGES "glib-${GLIB_LIB_VERSION} gobject-${GLIB_LIB_VERSION} gmodule-${GLIB_LIB_VERSION}")
-
-configure_file("${CMAKE_CURRENT_SOURCE_DIR}/atk.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/atk.pc" @ONLY)
-install(FILES "${CMAKE_CURRENT_BINARY_DIR}/atk.pc" DESTINATION lib/pkgconfig)
\ No newline at end of file
diff --git a/ports/atk/CONTROL b/ports/atk/CONTROL
deleted file mode 100644
index d91c0272aebf47..00000000000000
--- a/ports/atk/CONTROL
+++ /dev/null
@@ -1,7 +0,0 @@
-Source: atk
-Version: 2.24.0-5
-Port-Version: 2
-Homepage: https://developer.gnome.org/atk/
-Description: GNOME Accessibility Toolkit
-Build-Depends: glib, gettext
-Supports: !(osx|arm)
diff --git a/ports/atk/fix-linux-config.patch b/ports/atk/fix-linux-config.patch
deleted file mode 100644
index ec6a37a8b44277..00000000000000
--- a/ports/atk/fix-linux-config.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/config.h.in b/config.h.in
-index b94d23f..a26dac8 100644
---- a/config.h.in
-+++ b/config.h.in
-@@ -5,7 +5,7 @@
- #undef ENABLE_NLS
-
- /* Define the gettext package to be used */
--#undef GETTEXT_PACKAGE
-+#cmakedefine GETTEXT_PACKAGE "@GETTEXT_PACKAGE@"
-
- /* Define to 1 if you have the `bind_textdomain_codeset' function. */
- #undef HAVE_BIND_TEXTDOMAIN_CODESET
-@@ -86,7 +86,7 @@
- #undef STDC_HEADERS
-
- /* Version number of package */
--#undef VERSION
-+#cmakedefine VERSION @VERSION@
-
- /* defines how to decorate public symbols while building */
- #undef _ATK_EXTERN
diff --git a/ports/atk/portfile.cmake b/ports/atk/portfile.cmake
index 51cf824af5a285..c7db3633489d9d 100644
--- a/ports/atk/portfile.cmake
+++ b/ports/atk/portfile.cmake
@@ -1,45 +1,31 @@
vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT)
-set(ATK_VERSION 2.24.0)
+set(ATK_VERSION 2.36.0)
vcpkg_download_distfile(ARCHIVE
- URLS "https://ftp.gnome.org/pub/GNOME/sources/atk/2.24/atk-${ATK_VERSION}.tar.xz"
+ URLS "https://ftp.gnome.org/pub/GNOME/sources/atk/2.36/atk-${ATK_VERSION}.tar.xz"
FILENAME "atk-${ATK_VERSION}.tar.xz"
- SHA512 3ae0a4d5f28d5619d465135c685161f690732053bcb70a47669c951fbf389b5d2ccc5c7c73d4ee8c5a3b2df14e2f5b082e812a215f10a79b27b412d077f5e962
+ SHA512 d0f18204eaf96511e8448e3dfbc4b6953a7cf8b816151fb7caf5592cf578572b1cdb16836fe2157b11e3ad018ef171f1ca1bfdf255bb31bb455716d7519fd634
)
vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH
ARCHIVE ${ARCHIVE}
PATCHES
- fix-linux-config.patch
)
-# Here are used API version of library, not the version of library itself
-set(ATK_LIB_SUFFIX 1.0)
-set(ATK_DLL_SUFFIX 1)
-
-set(GLIB_LIB_VERSION 2.0)
-if (WIN32)
- set(ATK_API_VERSION ${ATK_LIB_SUFFIX})
-else()
- set(ATK_API_VERSION ${ATK_DLL_SUFFIX})
-endif()
-configure_file("${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt.in" "${SOURCE_PATH}/CMakeLists.txt" @ONLY)
-
-vcpkg_configure_cmake(
+vcpkg_configure_meson(
SOURCE_PATH ${SOURCE_PATH}
- PREFER_NINJA
- OPTIONS
- -DCMAKE_PROGRAM_PATH=${CURRENT_INSTALLED_DIR}/tools/glib
- -DGETTEXT_PACKAGE=atk10
- -DVERSION=10
- OPTIONS_DEBUG
- -DATK_SKIP_HEADERS=ON)
+ OPTIONS -Dintrospection=false
+ ADDITIONAL_NATIVE_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal'
+ glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums'
+ ADDITIONAL_CROSS_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal'
+ glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums'
+)
+vcpkg_install_meson()
-vcpkg_install_cmake()
vcpkg_copy_pdbs()
vcpkg_fixup_pkgconfig()
-
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/atk/vcpkg.json b/ports/atk/vcpkg.json
new file mode 100644
index 00000000000000..7cbda67be2c68a
--- /dev/null
+++ b/ports/atk/vcpkg.json
@@ -0,0 +1,15 @@
+{
+ "name": "atk",
+ "version": "2.36.0",
+ "description": "GNOME Accessibility Toolkit",
+ "homepage": "https://developer.gnome.org/atk/",
+ "supports": "!(osx | arm)",
+ "dependencies": [
+ "gettext",
+ "glib",
+ {
+ "name": "glib",
+ "host": true
+ }
+ ]
+}
diff --git a/ports/atkmm/CONTROL b/ports/atkmm/CONTROL
deleted file mode 100644
index 6d7674c44d867e..00000000000000
--- a/ports/atkmm/CONTROL
+++ /dev/null
@@ -1,7 +0,0 @@
-Source: atkmm
-Version: 2.24.2
-Port-Version: 5
-Homepage: https://www.gtkmm.org
-Description: atkmm is the official C++ interface for the ATK accessibility toolkit library. It may be used, for instance, by user interfaces implemented with gtkmm.
-Build-Depends: glib, gettext, atk, glibmm
-Supports: !(osx)
diff --git a/ports/atkmm/fix_charset.patch b/ports/atkmm/fix_charset.patch
deleted file mode 100644
index 60cd8fbcd6bc6e..00000000000000
--- a/ports/atkmm/fix_charset.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-diff --git a/MSVC_Net2013/atkmm.vcxproj b/MSVC_Net2013/atkmm.vcxproj
-index 40f21cb..e9f5c5e 100644
---- a/MSVC_Net2013/atkmm.vcxproj
-+++ b/MSVC_Net2013/atkmm.vcxproj
-@@ -22,21 +22,22 @@
- atkmm
- {9FE0D5A6-458C-45C7-B954-2C3C1E6196C2}
- Win32Proj
-+ 8.1
-
-
-
- DynamicLibrary
-- MultiByte
-+ Unicode
- v120
-
-
- DynamicLibrary
-- MultiByte
-+ Unicode
- v120
-
-
- DynamicLibrary
-- MultiByte
-+ Unicode
- v120
-
-
-diff --git a/MSVC_Net2013/gendef.vcxproj b/MSVC_Net2013/gendef.vcxproj
-index d6f2798..aab7023 100644
---- a/MSVC_Net2013/gendef.vcxproj
-+++ b/MSVC_Net2013/gendef.vcxproj
-@@ -21,21 +21,22 @@
-
- {07324745-C9BE-4D65-B08A-9C88188C0C28}
- Win32Proj
-+ 8.1
-
-
-
- Application
-- MultiByte
-+ Unicode
- v120
-
-
- Application
-- MultiByte
-+ Unicode
- v120
-
-
- Application
-- MultiByte
-+ Unicode
- v120
-
-
-diff --git a/MSVC_Net2013/install.vcxproj b/MSVC_Net2013/install.vcxproj
-index 6225a66..7f61dc5 100644
---- a/MSVC_Net2013/install.vcxproj
-+++ b/MSVC_Net2013/install.vcxproj
-@@ -22,28 +22,29 @@
- {2093D218-190E-4194-9421-3BA7CBF33B10}
- install
- Win32Proj
-+ 8.1
-
-
-
- Utility
-- MultiByte
-+ Unicode
- true
- v120
-
-
- Utility
-- MultiByte
-+ Unicode
- v120
-
-
- Utility
-- MultiByte
-+ Unicode
- true
- v120
-
-
- Utility
-- MultiByte
-+ Unicode
- v120
-
-
diff --git a/ports/atkmm/fix_properties.patch b/ports/atkmm/fix_properties.patch
deleted file mode 100644
index a0392438690861..00000000000000
--- a/ports/atkmm/fix_properties.patch
+++ /dev/null
@@ -1,306 +0,0 @@
-diff --git a/MSVC_Net2013/atkmm-build-defines.props b/MSVC_Net2013/atkmm-build-defines.props
-index 421f5c3..0275e6e 100644
---- a/MSVC_Net2013/atkmm-build-defines.props
-+++ b/MSVC_Net2013/atkmm-build-defines.props
-@@ -5,8 +5,6 @@
-
-
- ATKMM_BUILD
-- glibmm-vc$(VSVer)0-2_4.lib;sigc-vc$(VSVer)0-2_0.lib
-- glibmm-vc$(VSVer)0-d-2_4.lib;sigc-vc$(VSVer)0-d-2_0.lib
-
-
- <_PropertySheetDisplayName>panogmmbuilddefinesprops
-@@ -15,25 +13,19 @@
-
-
-
-- .\atkmm;..\atk;$(GlibEtcInstallRoot)\include\glibmm-2.4;$(GlibEtcInstallRoot)\lib\glibmm-2.4\include;$(GlibEtcInstallRoot)\include\sigc++-2.0;$(GlibEtcInstallRoot)\lib\sigc++-2.0\include;$(GlibEtcInstallRoot)\include\atk-1.0;$(GlibEtcInstallRoot)\include\glib-2.0;$(GlibEtcInstallRoot)\lib\glib-2.0\include;$(GlibEtcInstallRoot)\include;%(AdditionalIncludeDirectories)
-+ .\atkmm;..\atk;.;%(AdditionalIncludeDirectories)
- msvc_recommended_pragmas.h;%(ForcedIncludeFiles)
- true
- /d2Zi+ %(AdditionalOptions)
-
-
-- atk-1.0.lib;gobject-2.0.lib;glib-2.0.lib;%(AdditionalDependencies)
-- $(GlibEtcInstallRoot)\lib;%(AdditionalLibraryDirectories)
-+ %(AdditionalDependencies)
-+ %(AdditionalLibraryDirectories)
-
-
-
-
- $(AtkMMBuildDefs)
-
--
-- $(CPPDepLibsRelease)
--
--
-- $(CPPDepLibsDebug)
--
-
-
-\ No newline at end of file
-diff --git a/MSVC_Net2013/atkmm-version-paths.props b/MSVC_Net2013/atkmm-version-paths.props
-index affd50f..675aa3e 100644
---- a/MSVC_Net2013/atkmm-version-paths.props
-+++ b/MSVC_Net2013/atkmm-version-paths.props
-@@ -2,13 +2,9 @@
-
-
- 12
-- $(SolutionDir)\..\..\vs$(VSVer)\$(Platform)
-- $(GlibEtcInstallRoot)
- $(SolutionDir)$(Configuration)\$(Platform)\obj\$(ProjectName)\
- 1
- 6
-- -vc$(VSVer)0-$(ApiMajorVersion)_$(ApiMinorVersion)
-- -vc$(VSVer)0-d-$(ApiMajorVersion)_$(ApiMinorVersion)
-
-
- <_PropertySheetDisplayName>atkmmversionpathsprops
-@@ -17,12 +13,6 @@
-
- $(VSVer)
-
--
-- $(GlibEtcInstallRoot)
--
--
-- $(CopyDir)
--
-
- $(DefDir)
-
-@@ -32,11 +22,5 @@
-
- $(ApiMinorVersion)
-
--
-- $(ReleaseDllSuffix)
--
--
-- $(DebugDllSuffix)
--
-
-
-\ No newline at end of file
-diff --git a/MSVC_Net2013/atkmm.vcxproj b/MSVC_Net2013/atkmm.vcxproj
-index c3db50a..40f21cb 100644
---- a/MSVC_Net2013/atkmm.vcxproj
-+++ b/MSVC_Net2013/atkmm.vcxproj
-@@ -41,7 +41,7 @@
-
-
- DynamicLibrary
-- MultiByte
-+ Unicode
- v120
-
-
-diff --git a/MSVC_Net2013/atkmm.vcxproj.filters b/MSVC_Net2013/atkmm.vcxproj.filters
-index f0fca22..6598996 100644
---- a/MSVC_Net2013/atkmm.vcxproj.filters
-+++ b/MSVC_Net2013/atkmm.vcxproj.filters
-@@ -15,55 +15,143 @@
-
-
-
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-
-
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-
-
--
-+
- Resource Files
-
-
-diff --git a/MSVC_Net2013/gendef.vcxproj b/MSVC_Net2013/gendef.vcxproj
-index 554054c..d6f2798 100644
---- a/MSVC_Net2013/gendef.vcxproj
-+++ b/MSVC_Net2013/gendef.vcxproj
-@@ -40,7 +40,7 @@
-
-
- Application
-- MultiByte
-+ Unicode
- v120
-
-
diff --git a/ports/atkmm/msvc_recommended_pragmas.h b/ports/atkmm/msvc_recommended_pragmas.h
deleted file mode 100644
index c0eb1d5edf4cd5..00000000000000
--- a/ports/atkmm/msvc_recommended_pragmas.h
+++ /dev/null
@@ -1,34 +0,0 @@
-#ifndef _MSC_VER
-#pragma error "This header is for Microsoft VC only."
-#endif /* _MSC_VER */
-
-/* Make MSVC more pedantic, this is a recommended pragma list
- * from _Win32_Programming_ by Rector and Newcomer.
- */
-#pragma warning(error:4002) /* too many actual parameters for macro */
-#pragma warning(error:4003) /* not enough actual parameters for macro */
-#pragma warning(1:4010) /* single-line comment contains line-continuation character */
-#pragma warning(error:4013) /* 'function' undefined; assuming extern returning int */
-#pragma warning(1:4016) /* no function return type; using int as default */
-#pragma warning(error:4020) /* too many actual parameters */
-#pragma warning(error:4021) /* too few actual parameters */
-#pragma warning(error:4027) /* function declared without formal parameter list */
-#pragma warning(error:4029) /* declared formal parameter list different from definition */
-#pragma warning(error:4033) /* 'function' must return a value */
-#pragma warning(error:4035) /* 'function' : no return value */
-#pragma warning(error:4045) /* array bounds overflow */
-#pragma warning(error:4047) /* different levels of indirection */
-#pragma warning(error:4049) /* terminating line number emission */
-#pragma warning(error:4053) /* An expression of type void was used as an operand */
-#pragma warning(error:4071) /* no function prototype given */
-#pragma warning(disable:4101) /* unreferenced local variable */
-#pragma warning(error:4150)
-
-#pragma warning(disable:4244) /* No possible loss of data warnings */
-#pragma warning(disable:4305) /* No truncation from int to char warnings */
-
-#pragma warning(error:4819) /* The file contains a character that cannot be represented in the current code page */
-
-/* work around Microsoft's premature attempt to deprecate the C-Library */
-#define _CRT_SECURE_NO_WARNINGS
-#define _CRT_NONSTDC_NO_WARNINGS
diff --git a/ports/atkmm/portfile.cmake b/ports/atkmm/portfile.cmake
index 279ba7e25e5ec3..9f7a7256002306 100644
--- a/ports/atkmm/portfile.cmake
+++ b/ports/atkmm/portfile.cmake
@@ -3,57 +3,26 @@ if (VCPKG_TARGET_IS_WINDOWS)
endif()
vcpkg_download_distfile(ARCHIVE
- URLS "https://ftp.gnome.org/pub/GNOME/sources/atkmm/2.24/atkmm-2.24.2.tar.xz"
- FILENAME "atkmm-2.24.2.tar.xz"
- SHA512 427714cdf3b10e3f9bc36df09c4b05608d295f5895fb1e079b9bd84afdf7bf1cfdec6794ced7f1e35bd430b76f87792df4ee63c515071a2ea6e3e51e672cdbe2
+ URLS "https://ftp.gnome.org/pub/GNOME/sources/atkmm/2.36/atkmm-2.36.0.tar.xz"
+ FILENAME "atkmm-2.36.0.tar.xz"
+ SHA512 8527dfa50191919a7dcf6db6699767352cb0dac800d834ee39ed21694eee3136a41a7532d600b8b3c0fcea52da6129b623e8e61ada728d806aa61fdc8dc8dedf
)
vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH
ARCHIVE ${ARCHIVE}
PATCHES
- fix_properties.patch
- fix_charset.patch
)
-if (VCPKG_TARGET_IS_WINDOWS)
- file(COPY ${CMAKE_CURRENT_LIST_DIR}/msvc_recommended_pragmas.h DESTINATION ${SOURCE_PATH}/MSVC_Net2013)
-
- set(VS_PLATFORM ${VCPKG_TARGET_ARCHITECTURE})
- if(${VCPKG_TARGET_ARCHITECTURE} STREQUAL x86)
- set(VS_PLATFORM "Win32")
- endif(${VCPKG_TARGET_ARCHITECTURE} STREQUAL x86)
- vcpkg_build_msbuild(
- PROJECT_PATH ${SOURCE_PATH}/MSVC_Net2013/atkmm.sln
- TARGET atkmm
- PLATFORM ${VS_PLATFORM}
- USE_VCPKG_INTEGRATION
- )
-
- # Handle headers
- file(COPY ${SOURCE_PATH}/MSVC_Net2013/atkmm/atkmmconfig.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
- file(COPY ${SOURCE_PATH}/atk/atkmm.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
- file(COPY ${SOURCE_PATH}/atk/atkmm
- DESTINATION ${CURRENT_PACKAGES_DIR}/include
- FILES_MATCHING PATTERN *.h)
+vcpkg_configure_meson(
+ SOURCE_PATH ${SOURCE_PATH}
+ OPTIONS
+ -Dbuild-documentation=false
+ -Dbuild-deprecated-api=true # Build deprecated API and include it in the library
+ -Dmsvc14x-parallel-installable=false) # Use separate DLL and LIB filenames for Visual Studio 2017 and 2019
+vcpkg_install_meson()
- # Handle libraries
- file(COPY ${SOURCE_PATH}/MSVC_Net2013/Release/${VS_PLATFORM}/bin/atkmm.dll
- DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
- file(COPY ${SOURCE_PATH}/MSVC_Net2013/Release/${VS_PLATFORM}/bin/atkmm.lib
- DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
- file(COPY ${SOURCE_PATH}/MSVC_Net2013/Debug/${VS_PLATFORM}/bin/atkmm.dll
- DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
- file(COPY ${SOURCE_PATH}/MSVC_Net2013/Debug/${VS_PLATFORM}/bin/atkmm.lib
- DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
-
- vcpkg_copy_pdbs()
-else()
- set(ENV{CONFIG_SHELL} bash)
- vcpkg_configure_make(SOURCE_PATH ${SOURCE_PATH} OPTIONS ${ATKMM_OPTIONS})
-
- vcpkg_install_make()
-endif()
+vcpkg_fixup_pkgconfig()
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
diff --git a/ports/atkmm/vcpkg.json b/ports/atkmm/vcpkg.json
new file mode 100644
index 00000000000000..832fa3b98da9c1
--- /dev/null
+++ b/ports/atkmm/vcpkg.json
@@ -0,0 +1,13 @@
+{
+ "name": "atkmm",
+ "version": "2.36.0",
+ "description": "atkmm is the official C++ interface for the ATK accessibility toolkit library. It may be used, for instance, by user interfaces implemented with gtkmm.",
+ "homepage": "https://www.gtkmm.org",
+ "supports": "!osx",
+ "dependencies": [
+ "atk",
+ "gettext",
+ "glib",
+ "glibmm"
+ ]
+}
diff --git a/ports/cairo/CMakeLists.txt b/ports/cairo/CMakeLists.txt
deleted file mode 100644
index a4f5f21c96e18c..00000000000000
--- a/ports/cairo/CMakeLists.txt
+++ /dev/null
@@ -1,360 +0,0 @@
-cmake_minimum_required(VERSION 3.11)
-project(cairo C)
-
-# Add include directories
-include_directories(".")
-if(WIN32)
- include_directories("./win32")
-endif()
-
-set(CAIRO_HEADERS
- cairo.h
- cairo-deprecated.h
- cairo-features.h
- cairo-pdf.h
- cairo-ps.h
- cairo-script.h
- cairo-svg.h
- cairo-version.h
- cairo-win32.h
- ../util/cairo-gobject/cairo-gobject.h
- cairo-ft.h
-)
-
-set(CAIRO_X11_HEADERS
- cairo-xlib.h
-)
-
-set(CAIRO_QUARTZ_HEADERS
- cairo-quartz.h
- cairo-quartz-image.h
-)
-
-file(GLOB SOURCES
-"cairo-analysis-surface.c"
-"cairo-arc.c"
-"cairo-array.c"
-"cairo-atomic.c"
-"cairo-base64-stream.c"
-"cairo-base85-stream.c"
-"cairo-bentley-ottmann.c"
-"cairo-bentley-ottmann-rectangular.c"
-"cairo-bentley-ottmann-rectilinear.c"
-"cairo-botor-scan-converter.c"
-"cairo-boxes.c"
-"cairo-boxes-intersect.c"
-"cairo.c"
-"cairo-cache.c"
-"cairo-clip.c"
-"cairo-clip-boxes.c"
-"cairo-clip-polygon.c"
-"cairo-clip-region.c"
-"cairo-clip-surface.c"
-"cairo-color.c"
-"cairo-composite-rectangles.c"
-"cairo-compositor.c"
-"cairo-contour.c"
-"cairo-damage.c"
-"cairo-debug.c"
-"cairo-default-context.c"
-"cairo-device.c"
-"cairo-error.c"
-"cairo-fallback-compositor.c"
-"cairo-fixed.c"
-"cairo-font-face.c"
-"cairo-font-face-twin.c"
-"cairo-font-face-twin-data.c"
-"cairo-font-options.c"
-"cairo-freelist.c"
-"cairo-freed-pool.c"
-"cairo-gstate.c"
-"cairo-hash.c"
-"cairo-hull.c"
-"cairo-image-compositor.c"
-"cairo-image-info.c"
-"cairo-image-source.c"
-"cairo-image-surface.c"
-"cairo-line.c"
-"cairo-lzw.c"
-"cairo-matrix.c"
-"cairo-mask-compositor.c"
-"cairo-mesh-pattern-rasterizer.c"
-"cairo-mempool.c"
-"cairo-misc.c"
-"cairo-mono-scan-converter.c"
-"cairo-mutex.c"
-"cairo-no-compositor.c"
-"cairo-observer.c"
-"cairo-output-stream.c"
-"cairo-paginated-surface.c"
-"cairo-path-bounds.c"
-"cairo-path.c"
-"cairo-path-fill.c"
-"cairo-path-fixed.c"
-"cairo-path-in-fill.c"
-"cairo-path-stroke.c"
-"cairo-path-stroke-boxes.c"
-"cairo-path-stroke-polygon.c"
-"cairo-path-stroke-traps.c"
-"cairo-path-stroke-tristrip.c"
-"cairo-pattern.c"
-"cairo-pen.c"
-"cairo-polygon.c"
-"cairo-polygon-intersect.c"
-"cairo-polygon-reduce.c"
-"cairo-raster-source-pattern.c"
-"cairo-recording-surface.c"
-"cairo-rectangle.c"
-"cairo-rectangular-scan-converter.c"
-"cairo-region.c"
-"cairo-rtree.c"
-"cairo-scaled-font.c"
-"cairo-shape-mask-compositor.c"
-"cairo-slope.c"
-"cairo-spans.c"
-"cairo-spans-compositor.c"
-"cairo-spline.c"
-"cairo-stroke-dash.c"
-"cairo-stroke-style.c"
-"cairo-surface.c"
-"cairo-surface-clipper.c"
-"cairo-surface-fallback.c"
-"cairo-surface-observer.c"
-"cairo-surface-offset.c"
-"cairo-surface-snapshot.c"
-"cairo-surface-subsurface.c"
-"cairo-surface-wrapper.c"
-"cairo-time.c"
-"cairo-tor-scan-converter.c"
-"cairo-tor22-scan-converter.c"
-"cairo-clip-tor-scan-converter.c"
-"cairo-tag-attributes.c"
-"cairo-tag-stack.c"
-"cairo-toy-font-face.c"
-"cairo-traps.c"
-"cairo-tristrip.c"
-"cairo-traps-compositor.c"
-"cairo-unicode.c"
-"cairo-user-font.c"
-"cairo-version.c"
-"cairo-wideint.c"
-# generic font support
-"cairo-cff-subset.c"
-"cairo-scaled-font-subsets.c"
-"cairo-truetype-subset.c"
-"cairo-type1-fallback.c"
-"cairo-type1-glyph-names.c"
-"cairo-type1-subset.c"
-"cairo-type3-glyph-surface.c"
-# pdf
-"cairo-pdf-interchange.c"
-"cairo-pdf-operators.c"
-"cairo-pdf-shading.c"
-"cairo-pdf-surface.c"
-# png
-"cairo-png.c"
-# ps surface
-"cairo-ps-surface.c"
-# deflate source
-"cairo-deflate-stream.c"
-# svg surface
-"cairo-svg-surface.c"
-# script surface
-"cairo-script-surface.c"
-)
-
-if(WITH_FREETYPE)
- file(GLOB _FREETYPE_SOURCES "cairo-ft-font.c")
- list(APPEND SOURCES ${_FREETYPE_SOURCES})
-endif()
-
-if(WITH_QUARTZ)
- file(GLOB _QUARTZ_SOURCES
- "cairo-quartz-font.c"
- "cairo-quartz-image-surface.c"
- "cairo-quartz-surface.c"
- )
- list(APPEND SOURCES ${_QUARTZ_SOURCES})
-endif()
-
-# win32
-file(GLOB PLATFORM_SOURCES_WIN32
-"win32/cairo-win32-debug.c"
-"win32/cairo-win32-device.c"
-"win32/cairo-win32-gdi-compositor.c"
-"win32/cairo-win32-system.c"
-"win32/cairo-win32-surface.c"
-"win32/cairo-win32-display-surface.c"
-"win32/cairo-win32-printing-surface.c"
-"win32/cairo-win32-font.c"
-)
-
-if(WIN32)
- list(APPEND SOURCES ${PLATFORM_SOURCES_WIN32})
-endif()
-
-set(CMAKE_DEBUG_POSTFIX "d")
-
-find_package(Threads REQUIRED)
-find_package(ZLIB REQUIRED)
-find_package(PNG REQUIRED)
-if(WITH_FREETYPE)
- find_package(Freetype REQUIRED)
-endif()
-if(WITH_FONTCONFIG)
- find_package(Fontconfig REQUIRED)
-endif()
-if(WITH_QUARTZ)
- find_library(CF CoreFoundation)
- find_library(CG CoreGraphics)
-endif()
-find_package(unofficial-pixman CONFIG REQUIRED)
-
-# Cairo needs to be told which features of FreeType are availible
-if(WITH_FREETYPE)
- add_definitions(
- -DHAVE_FT_GLYPHSLOT_EMBOLDEN=1
- -DHAVE_FT_LIBRARY_SETLCDFILTER=1
- -DHAVE_FT_GLYPHSLOT_OBLIQUE=1
- -DHAVE_FT_LOAD_SFNT_TABLE=1
- -DHAVE_FT_GET_X11_FONT_FORMAT=1)
-endif()
-
-# additional features for macOS
-if(UNIX OR APPLE)
- add_definitions(
- -DHAVE_INTTYPES_H=1
- -DHAVE_STDINT_H=1
- -DHAVE_SYS_TYPES_H=1
- -DHAVE_UINT64_T=1
- -DHAVE_UNISTD_H=1
- -DCAIRO_HAS_PTHREAD=1
- -DCAIRO_HAS_REAL_PTHREAD=1)
-endif()
-
-add_library(cairo ${SOURCES})
-
-if (WITH_X11)
- target_compile_definitions(cairo PUBLIC -DCAIRO_HAS_XLIB_SURFACE=1)
-endif()
-if(WITH_FREETYPE)
- target_include_directories(cairo PUBLIC ${FREETYPE_INCLUDE_DIRS})
- target_link_libraries(cairo PRIVATE Freetype::Freetype)
-endif()
-
-if(WITH_FONTCONFIG)
- target_link_libraries(cairo PRIVATE Fontconfig::Fontconfig)
-endif()
-
-target_link_libraries(cairo PRIVATE ZLIB::ZLIB PNG::PNG unofficial::pixman::pixman-1)
-
-if(WIN32)
- target_link_libraries(cairo PRIVATE gdi32 msimg32 user32)
-endif()
-
-if(WITH_QUARTZ)
- target_link_libraries(cairo PRIVATE ${CF} ${CG})
-endif()
-
-# GObject support module
-
-set(CAIRO_GOBJECT_SOURCES
- "../util/cairo-gobject/cairo-gobject-enums.c"
- "../util/cairo-gobject/cairo-gobject-structs.c")
-
-# GObject support sources do not include header with export macro
-if(WITH_GOBJECT)
- if(BUILD_SHARED_LIBS)
- if(MSVC)
- set_source_files_properties(
- "../util/cairo-gobject/cairo-gobject-enums.c"
- "../util/cairo-gobject/cairo-gobject-structs.c"
- PROPERTIES COMPILE_DEFINITIONS "cairo_public=__declspec(dllexport)")
- else()
- set_source_files_properties(
- "../util/cairo-gobject/cairo-gobject-enums.c"
- "../util/cairo-gobject/cairo-gobject-structs.c"
- PROPERTIES COMPILE_DEFINITIONS "cairo_public=__attribute__((visibility(\"default\")))")
- endif()
- endif()
-
- find_package(unofficial-glib CONFIG REQUIRED)
- add_library(cairo-gobject ${CAIRO_GOBJECT_SOURCES})
- target_link_libraries(cairo-gobject PRIVATE cairo unofficial::glib::gobject unofficial::glib::glib)
-endif()
-
-if(MSVC)
- # cairo produces a lot of warnings which are disabled here because they otherwise fill up the log files
- # NOTE: options only available to MSVC, clang in macOS doesn't understand these flags
- target_compile_options(cairo PRIVATE
- "/wd4244" "/wd4146" "/wd4312" "/wd4267" "/wd4996" "/wd4311" "/wd4334" "/wd4101"
- )
- if(WITH_GOBJECT)
- target_compile_options(cairo-gobject PRIVATE
- "/wd4244" "/wd4146" "/wd4312" "/wd4267" "/wd4996" "/wd4311" "/wd4334" "/wd4101"
- )
- endif()
-endif()
-
-if (CAIRO_HAS_XLIB_SURFACE)
- file(INSTALL cairo-xlib.h DESTINATION include)
-endif()
-
-install(FILES ${CAIRO_HEADERS} DESTINATION include)
-install(FILES ${CAIRO_HEADERS} DESTINATION include/cairo)
-
-if(WITH_QUARTZ)
- install(FILES ${CAIRO_QUARTZ_HEADERS} DESTINATION include)
- install(FILES ${CAIRO_QUARTZ_HEADERS} DESTINATION include/cairo)
-endif()
-
-if (WITH_X11)
- install(FILES ${CAIRO_X11_HEADERS} DESTINATION include)
- install(FILES ${CAIRO_X11_HEADERS} DESTINATION include/cairo)
-endif()
-
-install(TARGETS cairo
- EXPORT cairo-targets
- RUNTIME DESTINATION bin
- LIBRARY DESTINATION lib
- ARCHIVE DESTINATION lib
-)
-
-if(WITH_GOBJECT)
- install(TARGETS cairo-gobject
- EXPORT cairo-targets
- RUNTIME DESTINATION bin
- LIBRARY DESTINATION lib
- ARCHIVE DESTINATION lib
-)
-endif()
-
-install(
- EXPORT cairo-targets
- NAMESPACE unofficial::cairo::
- FILE unofficial-cairo-targets.cmake
- DESTINATION share/unofficial-cairo
-)
-
-file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/unofficial-cairo-config.cmake
-"include(CMakeFindDependencyMacro)
-find_dependency(ZLIB)
-find_dependency(PNG)
-if(${WITH_FREETYPE})
- find_dependency(Freetype)
-endif()
-if(${WITH_FONTCONFIG})
- find_dependency(Fontconfig)
-endif()
-find_dependency(unofficial-pixman CONFIG)
-if(${WITH_GOBJECT})
- find_dependency(unofficial-glib CONFIG)
-endif()
-if(${WITH_QUARTZ})
- find_library(CF CoreFoundation)
- find_library(CG CoreGraphics)
-endif()
-
-include(\${CMAKE_CURRENT_LIST_DIR}/unofficial-cairo-targets.cmake)
-")
-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/unofficial-cairo-config.cmake DESTINATION share/unofficial-cairo)
diff --git a/ports/cairo/build2.patch b/ports/cairo/build2.patch
new file mode 100644
index 00000000000000..6fd7dcd7591353
--- /dev/null
+++ b/ports/cairo/build2.patch
@@ -0,0 +1,109 @@
+diff --git a/build/Makefile.win32.common b/build/Makefile.win32.common
+index 7d7e9735f..f39ea1991 100644
+--- a/build/Makefile.win32.common
++++ b/build/Makefile.win32.common
+@@ -44,13 +44,13 @@ else
+ ifeq ($(ZLIB_PATH),)
+ ZLIB_PATH := $(top_builddir)/../zlib
+ endif
+-ZLIB_CFLAGS += -I$(ZLIB_PATH)/
+-CAIRO_LIBS += $(ZLIB_PATH)/zdll.lib
++# ZLIB_CFLAGS += -I$(ZLIB_PATH)/
++# CAIRO_LIBS += $(ZLIB_PATH)/zdll.lib
+ endif
+
+ DEFAULT_CFLAGS = -nologo $(CFG_CFLAGS)
+ DEFAULT_CFLAGS += -I. -I$(top_srcdir) -I$(top_srcdir)/src
+-DEFAULT_CFLAGS += $(PIXMAN_CFLAGS) $(LIBPNG_CFLAGS) $(ZLIB_CFLAGS)
++DEFAULT_CFLAGS += $(PIXMAN_CFLAGS) $(LIBPNG_CFLAGS)
+
+ CAIRO_CFLAGS = $(DEFAULT_CFLAGS) $(CFLAGS)
+
+diff --git a/configure.ac b/configure.ac
+index 5e33c96ea..c9e9cfaa9 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -43,7 +43,7 @@ AC_CACHE_SAVE
+
+ dnl ===========================================================================
+
+-AC_CHECK_LIB(z, compress,
++AC_SEARCH_LIBS(compress, z zlib zlibd,
+ [AC_CHECK_HEADER(zlib.h, [
+ have_libz=yes
+ AC_DEFINE(HAVE_ZLIB, 1, [Define to 1 if you have zlib available])
+@@ -481,7 +481,7 @@ CAIRO_ENABLE_SURFACE_BACKEND(script, script, yes, [
+ any2ppm_cs=yes
+ # The script backend requires zlib.
+ use_script=$have_libz
+- script_NONPKGCONFIG_LIBS=-lz
++ script_NONPKGCONFIG_LIBS=$ac_cv_search_compress
+ ])
+
+ dnl ===========================================================================
+@@ -582,7 +582,7 @@ dnl ===========================================================================
+ CAIRO_ENABLE_SURFACE_BACKEND(ps, PostScript, yes, [
+ # The ps backend requires zlib.
+ use_ps=$have_libz
+- ps_NONPKGCONFIG_LIBS=-lz
++ ps_NONPKGCONFIG_LIBS=$ac_cv_search_compress
+ ])
+
+ dnl ===========================================================================
+@@ -619,7 +619,7 @@ dnl ===========================================================================
+ CAIRO_ENABLE_SURFACE_BACKEND(pdf, PDF, yes, [
+ # The pdf backend requires zlib.
+ use_pdf=$have_libz
+- pdf_NONPKGCONFIG_LIBS=-lz
++ pdf_NONPKGCONFIG_LIBS=$ac_cv_search_compress
+ ])
+
+ dnl ===========================================================================
+@@ -706,7 +706,7 @@ CAIRO_ENABLE_SURFACE_BACKEND(observer, observer, always)
+ CAIRO_ENABLE_SURFACE_BACKEND(tee, tee, no)
+ CAIRO_ENABLE_SURFACE_BACKEND(xml, xml, no, [
+ use_xml=$have_libz
+- xml_NONPKGCONFIG_LIBS=-lz
++ xml_NONPKGCONFIG_LIBS=$ac_cv_search_compress
+ ])
+
+ dnl ===========================================================================
+diff --git a/src/Makefile.am b/src/Makefile.am
+index acf0a8281..fe339a3cf 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -68,7 +68,7 @@ cairo.def: cairo-features.h $(enabled_cairo_headers)
+ @(echo EXPORTS; \
+ (cd $(srcdir); cat $(enabled_cairo_headers) || echo 'cairo_ERROR ()' ) | \
+ $(EGREP) -v '^# *include' | \
+- ( cat cairo-features.h - | $(CPP) -D__cplusplus - || echo 'cairo_ERROR ()' ) | \
++ ( cat cairo-features.h - | $(CPP) $(CPP_FLAGS) -D__cplusplus - || echo 'cairo_ERROR ()' ) | \
+ $(EGREP) '^cairo_.* \(' | \
+ sed -e 's/[ ].*//' | \
+ sort; \
+diff --git a/util/cairo-script/Makefile.am b/util/cairo-script/Makefile.am
+index d5c2998ac..e6e23b2ed 100644
+--- a/util/cairo-script/Makefile.am
++++ b/util/cairo-script/Makefile.am
+@@ -15,7 +15,7 @@ libcairo_script_interpreter_la_SOURCES = \
+ $(NULL)
+ libcairo_script_interpreter_la_CFLAGS = $(CAIRO_CFLAGS)
+ libcairo_script_interpreter_la_LDFLAGS = -version-info $(CAIRO_LIBTOOL_VERSION_INFO) -no-undefined $(export_symbols)
+-libcairo_script_interpreter_la_LIBADD = $(top_builddir)/src/libcairo.la $(CAIRO_LIBS) $(lzo_LIBS) -lz
++libcairo_script_interpreter_la_LIBADD = $(top_builddir)/src/libcairo.la $(CAIRO_LIBS) $(lzo_LIBS)
+
+ csi_replay_SOURCES = csi-replay.c
+ csi_replay_CFLAGS = $(CAIRO_CFLAGS)
+diff --git a/util/cairo-trace/Makefile.am b/util/cairo-trace/Makefile.am
+index a0091f882..64d86184f 100644
+--- a/util/cairo-trace/Makefile.am
++++ b/util/cairo-trace/Makefile.am
+@@ -13,7 +13,7 @@ libcairo_trace_la_CPPFLAGS = -DCAIRO_TRACE_OUTDIR="\"$(cairooutdir)\"" \
+ libcairo_trace_la_CFLAGS = $(CAIRO_CFLAGS) $(real_pthread_CFLAGS)
+ libcairo_trace_la_LDFLAGS = -module -no-undefined -avoid-version
+
+-libcairo_trace_la_LIBADD = $(real_pthread_LIBS) -lz
++libcairo_trace_la_LIBADD = $(real_pthread_LIBS)
+ if CAIRO_HAS_DL
+ libcairo_trace_la_LIBADD += -ldl
+ endif
diff --git a/ports/cairo/cairo-features.h.in b/ports/cairo/cairo-features.h.in
deleted file mode 100644
index d0b38dccbce36c..00000000000000
--- a/ports/cairo/cairo-features.h.in
+++ /dev/null
@@ -1,43 +0,0 @@
-#ifndef CAIRO_FEATURES_H
-#define CAIRO_FEATURES_H
-/* Chosen from the various possible defines in "../build/Makefile.win32.features.h""
- guided by "../build/Makefile.win32.features". Modify at your own risk.
-*/
-
-/* Always for Win32 */
-#ifdef _WIN32
-#define CAIRO_HAS_WIN32_SURFACE 1
-#define CAIRO_HAS_WIN32_FONT 1
-#endif
-
-/* Require libpng */
-#define CAIRO_HAS_PNG_FUNCTIONS 1
-#define CAIRO_HAS_PS_SURFACE 1
-#define CAIRO_HAS_PDF_SURFACE 1
-
-// Likely available
-#define CAIRO_HAS_SCRIPT_SURFACE 1
-#define CAIRO_HAS_SVG_SURFACE 1
-
-/* Always available */
-#define CAIRO_HAS_IMAGE_SURFACE 1
-#define CAIRO_HAS_MIME_SURFACE 1
-#define CAIRO_HAS_RECORDING_SURFACE 1
-#define CAIRO_HAS_OBSERVER_SURFACE 1
-#define CAIRO_HAS_USER_FONT 1
-
-/* Require GObject */
-#define CAIRO_HAS_GOBJECT_FUNCTIONS 1
-
-/* Require FreeType */
-#cmakedefine01 CAIRO_HAS_FT_FONT
-
-/* Require FontConfig */
-#cmakedefine01 CAIRO_HAS_FC_FONT
-
-// apple quartz support
-#cmakedefine01 CAIRO_HAS_QUARTZ_FONT
-#cmakedefine01 CAIRO_HAS_QUARTZ_IMAGE_SURFACE
-#cmakedefine01 CAIRO_HAS_QUARTZ_SURFACE
-
-#endif
diff --git a/ports/cairo/portfile.cmake b/ports/cairo/portfile.cmake
index ab3447dae141d4..3b7448d7be547a 100644
--- a/ports/cairo/portfile.cmake
+++ b/ports/cairo/portfile.cmake
@@ -12,72 +12,90 @@ vcpkg_extract_source_archive_ex(
PATCHES
export-only-in-shared-build.patch
0001_fix_osx_defined.patch
+ build2.patch
+ remove_test_perf.patch
)
-file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}/src)
-
-if("freetype" IN_LIST FEATURES)
- set(CAIRO_HAS_FT_FONT TRUE)
-endif()
-
+#TODO the autoconf script has a lot of additional option which use auto detection and should be disabled!
if("fontconfig" IN_LIST FEATURES)
- set(CAIRO_HAS_FC_FONT TRUE)
+ list(APPEND OPTIONS --enable-fc=yes)
+else()
+ list(APPEND OPTIONS --enable-fc=no)
endif()
-if("quartz" IN_LIST FEATURES)
- set(CAIRO_HAS_QUARTZ TRUE)
- set(CAIRO_HAS_QUARTZ_FONT TRUE)
- set(CAIRO_HAS_QUARTZ_IMAGE_SURFACE TRUE)
- set(CAIRO_HAS_QUARTZ_SURFACE TRUE)
+if("freetype" IN_LIST FEATURES)
+ list(APPEND OPTIONS --enable-ft=yes)
+else()
+ list(APPEND OPTIONS --enable-ft=no)
endif()
-configure_file("${CMAKE_CURRENT_LIST_DIR}/cairo-features.h.in" "${SOURCE_PATH}/src/cairo-features.h")
-
if ("x11" IN_LIST FEATURES)
if (VCPKG_TARGET_IS_WINDOWS)
message(FATAL_ERROR "Feature x11 only support UNIX.")
endif()
message(WARNING "You will need to install Xorg dependencies to use feature x11:\napt install libx11-dev libxft-dev\n")
+ list(APPEND OPTIONS --with-x --enable-xlib=yes)
+else()
+ list(APPEND OPTIONS --enable-xlib=no)
endif()
if("gobject" IN_LIST FEATURES)
if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "static")
message(FATAL_ERROR "Feature gobject currently only supports dynamic build.")
endif()
+ list(APPEND OPTIONS --enable-gobject=yes)
+else()
+ list(APPEND OPTIONS --enable-gobject=no)
endif()
-vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
- FEATURES
- x11 WITH_X11
- gobject WITH_GOBJECT
- freetype WITH_FREETYPE
- fontconfig WITH_FONTCONFIG
- quartz WITH_QUARTZ
-)
+if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
+ set(ENV{CPP} "cl_cpp_wrapper")
+endif()
-vcpkg_configure_cmake(
- PREFER_NINJA
- SOURCE_PATH ${SOURCE_PATH}/src
- OPTIONS ${FEATURE_OPTIONS}
+vcpkg_configure_make(
+ SOURCE_PATH ${SOURCE_PATH}
+ AUTOCONFIG
+ OPTIONS ${OPTIONS}
+ ax_cv_c_float_words_bigendian=no
+ ac_cv_lib_z_compress=yes
+ ac_cv_lib_lzo2_lzo2a_decompress=yes
+ lt_cv_deplibs_check_method=pass_all
)
-
-vcpkg_install_cmake()
-
-vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-cairo TARGET_PATH share/unofficial-cairo)
+vcpkg_install_make()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
-foreach(FILE "${CURRENT_PACKAGES_DIR}/include/cairo.h" "${CURRENT_PACKAGES_DIR}/include/cairo/cairo.h")
- file(READ ${FILE} CAIRO_H)
- if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
- string(REPLACE "defined (CAIRO_WIN32_STATIC_BUILD)" "1" CAIRO_H "${CAIRO_H}")
- else()
- string(REPLACE "defined (CAIRO_WIN32_STATIC_BUILD)" "0" CAIRO_H "${CAIRO_H}")
- endif()
- file(WRITE ${FILE} "${CAIRO_H}")
-endforeach()
+set(_file "${CURRENT_PACKAGES_DIR}/include/cairo/cairo.h")
+file(READ ${_file} CAIRO_H)
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ string(REPLACE "defined (CAIRO_WIN32_STATIC_BUILD)" "1" CAIRO_H "${CAIRO_H}")
+else()
+ string(REPLACE "defined (CAIRO_WIN32_STATIC_BUILD)" "0" CAIRO_H "${CAIRO_H}")
+endif()
+file(WRITE ${_file} "${CAIRO_H}")
+
# Handle copyright
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
vcpkg_copy_pdbs()
+
+if(VCPKG_TARGET_IS_WINDOWS)
+ set(ZLINK "-lzlibd")
+else()
+ set(ZLINK "-lz")
+endif()
+set(_file "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/cairo-script.pc")
+if(EXISTS "${_file}")
+ vcpkg_replace_string("${_file}" "Libs: ${ZLINK}" "Requires.private: lzo2 zlib\nLibs: -L\${libdir} -lcairo-script-interpreter")
+ file(INSTALL "${_file}" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/" RENAME cairo-script-interpreter.pc) #normally the *.pc file is named like the library
+endif()
+if(VCPKG_TARGET_IS_WINDOWS)
+ set(ZLINK "-lzlib")
+endif()
+set(_file "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/cairo-script.pc")
+if(EXISTS "${_file}")
+ vcpkg_replace_string("${_file}" "Libs: ${ZLINK}" "Requires.private: lzo2 zlib\nLibs: -L\${libdir} -lcairo-script-interpreter")
+ file(INSTALL "${_file}" DESTINATION "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/" RENAME cairo-script-interpreter.pc) #normally the *.pc file is named like the library
+endif()
+vcpkg_fixup_pkgconfig()
\ No newline at end of file
diff --git a/ports/cairo/remove_test_perf.patch b/ports/cairo/remove_test_perf.patch
new file mode 100644
index 00000000000000..8ae4a3e23f9c4d
--- /dev/null
+++ b/ports/cairo/remove_test_perf.patch
@@ -0,0 +1,122 @@
+diff --git a/Makefile.am b/Makefile.am
+index 03fa35236..94a7a263a 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -16,11 +16,11 @@ EXTRA_DIST += \
+
+ ACLOCAL_AMFLAGS = -I build ${ACLOCAL_FLAGS}
+
+-DIST_SUBDIRS = src doc util boilerplate test perf
+-SUBDIRS = src doc util
++DIST_SUBDIRS = src util boilerplate
++SUBDIRS = src util
+ # libpng is required for our test programs
+ if CAIRO_HAS_PNG_FUNCTIONS
+-SUBDIRS += boilerplate test perf
++SUBDIRS += boilerplate
+ endif
+
+ configure: cairo-version.h
+@@ -28,12 +28,11 @@ configure: cairo-version.h
+ doc:
+ cd doc && $(MAKE) $(AM_MAKEFLAGS) $@
+ test retest recheck: all
+- cd test && $(MAKE) $(AM_MAKEFLAGS) $@
++ echo "do nothing"
+ perf: all
+ cd perf && $(MAKE) $(AM_MAKEFLAGS) $@
+ check-valgrind: all
+- cd test && $(MAKE) $(AM_MAKEFLAGS) check-valgrind
+- cd perf && $(MAKE) $(AM_MAKEFLAGS) check-valgrind
++ echo "do nothing"
+ .PHONY: doc test retest recheck perf check-valgrind
+
+
+diff --git a/boilerplate/Makefile.am b/boilerplate/Makefile.am
+index 29ad015ac..9234014ed 100644
+--- a/boilerplate/Makefile.am
++++ b/boilerplate/Makefile.am
+@@ -69,7 +69,7 @@ test: check
+
+ if CROSS_COMPILING
+ else
+-TESTS += check-link$(EXEEXT)
++#TESTS += check-link$(EXEEXT)
+ endif
+
+ check_PROGRAMS += check-link
+diff --git a/perf/cairo-analyse-trace.c b/perf/cairo-analyse-trace.c
+index 994148660..5d2dceaec 100644
+--- a/perf/cairo-analyse-trace.c
++++ b/perf/cairo-analyse-trace.c
+@@ -53,7 +53,7 @@
+ #include
+
+ #ifdef _MSC_VER
+-#include "dirent-win32.h"
++#include "dirent.h"
+
+ static char *
+ basename_no_ext (char *path)
+diff --git a/perf/cairo-perf-trace.c b/perf/cairo-perf-trace.c
+index 02e0e29f9..36daf3fd6 100644
+--- a/perf/cairo-perf-trace.c
++++ b/perf/cairo-perf-trace.c
+@@ -54,7 +54,7 @@
+ #include
+
+ #ifdef _MSC_VER
+-#include "dirent-win32.h"
++#include "dirent.h"
+
+ static char *
+ basename_no_ext (char *path)
+diff --git a/src/Makefile.am b/src/Makefile.am
+index fe339a3cf..df6de0136 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -100,8 +100,8 @@ else
+ TESTS += check-link$(EXEEXT)
+ endif
+
+-EXTRA_DIST += $(TESTS_SH) check-has-hidden-symbols.c check-doc-syntax.awk
+-check_PROGRAMS += check-link
++# EXTRA_DIST += $(TESTS_SH) check-has-hidden-symbols.c check-doc-syntax.awk
++# check_PROGRAMS += check-link
+ check_link_LDADD = libcairo.la
+
+ check: headers-standalone
+diff --git a/src/cairo-compiler-private.h b/src/cairo-compiler-private.h
+index d982c101d..ad9b26ba0 100644
+--- a/src/cairo-compiler-private.h
++++ b/src/cairo-compiler-private.h
+@@ -201,10 +201,10 @@
+ #define hypot _hypot
+ #define pclose _pclose
+ #define popen _popen
+-#define snprintf _snprintf
++//#define snprintf _snprintf
+ #define strdup _strdup
+ #define unlink _unlink
+-#define vsnprintf _vsnprintf
++//#define vsnprintf _vsnprintf
+ #endif
+
+ #ifdef _MSC_VER
+diff --git a/test/Makefile.am b/test/Makefile.am
+index e3c42ea88..099ca8b22 100644
+--- a/test/Makefile.am
++++ b/test/Makefile.am
+@@ -351,9 +351,9 @@ FAILED_TESTS = `grep -l '\' $(test_sources:.c=.log) 2>/dev/null | tr '\n'
+ recheck = check CAIRO_TESTS="$(FAILED_TESTS)"
+
+ # Re-checks all failed tests, i.e. tests with a log file that has a failure
+-recheck:
+- @echo Re-checking failed tests
+- @$(MAKE) $(AM_MAKEFLAGS) $(recheck)
++# recheck:
++# @echo Re-checking failed tests
++# @$(MAKE) $(AM_MAKEFLAGS) $(recheck)
+
+ # Checks tests.
+ # Target doesn't fail if tests fail.
diff --git a/ports/cairo/vcpkg.json b/ports/cairo/vcpkg.json
index dda4fd0425065b..a2ff0d2563bc54 100644
--- a/ports/cairo/vcpkg.json
+++ b/ports/cairo/vcpkg.json
@@ -1,13 +1,15 @@
{
- "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg/master/scripts/vcpkg.schema.json",
"name": "cairo",
- "version-string": "1.16.0",
- "port-version": 10,
+ "version": "1.16.0",
+ "port-version": 11,
"description": "Cairo is a 2D graphics library with support for multiple output devices. Currently supported output targets include the X Window System (via both Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.",
"homepage": "https://cairographics.org",
"dependencies": [
+ "dirent",
"libpng",
+ "lzo",
"pixman",
+ "pthread",
"zlib"
],
"default-features": [
@@ -33,9 +35,6 @@
"glib"
]
},
- "quartz": {
- "description": "build with quartz support"
- },
"x11": {
"description": "build with x11 support"
}
diff --git a/ports/cairomm/0001-fix-build.patch b/ports/cairomm/0001-fix-build.patch
deleted file mode 100644
index 59e281d79d8b07..00000000000000
--- a/ports/cairomm/0001-fix-build.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From b769f250a39df110db2615c0e0d85b52f2ab6e77 Mon Sep 17 00:00:00 2001
-From: Mikhail Paulyshka
-Date: Sun, 12 Mar 2017 17:57:03 +0300
-Subject: [PATCH] Fix build
-
----
- cairomm/win32_surface.h | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/cairomm/win32_surface.h b/cairomm/win32_surface.h
-index 2e35b9a..c4454c4 100644
---- a/cairomm/win32_surface.h
-+++ b/cairomm/win32_surface.h
-@@ -84,6 +84,8 @@ public:
- */
- static RefPtr create(HDC hdc);
-
-+ static RefPtr create(Format format, int width, int height);
-+
- /** Creates a device-independent-bitmap surface not associated with any
- * particular existing surface or device context. The created bitmap will be
- * unititialized.
---
-2.11.0.windows.1
-
diff --git a/ports/cairomm/CMakeLists.txt b/ports/cairomm/CMakeLists.txt
deleted file mode 100644
index 41591f558d96de..00000000000000
--- a/ports/cairomm/CMakeLists.txt
+++ /dev/null
@@ -1,125 +0,0 @@
-project(cairomm)
-cmake_minimum_required(VERSION 3.4)
-
-set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/build/cmake")
-
-set(CMAKE_CXX_STANDARD 11)
-set(CMAKE_CXX_STANDARD_REQUIRED ON)
-
-#get cairomm version
-file (STRINGS "configure.ac" CONFIGURE_AC_INIT REGEX "AC_INIT\\(\\[cairomm\\], \\[.*\\].*" )
-string(REGEX REPLACE "AC_INIT\\(\\[.*\\], \\[([0-9]+\\.[0-9]+\\.[0-9]+)\\].*" "\\1" VERSION ${CONFIGURE_AC_INIT})
-string(REGEX REPLACE "([0-9]+)\\.[0-9]+\\.[0-9]+" "\\1" CAIROMM_MAJOR_VERSION ${VERSION})
-string(REGEX REPLACE "[0-9]+\\.([0-9]+)\\.[0-9]+" "\\1" CAIROMM_MINOR_VERSION ${VERSION})
-string(REGEX REPLACE "[0-9]+\\.[0-9]+\\.([0-9]+)" "\\1" CAIROMM_MICRO_VERSION ${VERSION})
-message(STATUS "Ciaromm version: ${CAIROMM_MAJOR_VERSION}.${CAIROMM_MINOR_VERSION}.${CAIROMM_MICRO_VERSION}")
-
-find_package(Cairo REQUIRED)
-find_package(Freetype REQUIRED)
-find_package(SigC++ REQUIRED)
-
-#configure
-option(BUILD_SHARED_LIBS "Build the shared library" ON)
-
-option(CAIROMM_ENABLE_API_EXCEPTIONS "enable API exceptions" ON)
-if(CAIROMM_ENABLE_API_EXCEPTIONS)
- set(CAIROMM_EXCEPTIONS_ENABLED ON)
-else()
- set(CAIROMM_EXCEPTIONS_ENABLED OFF)
-endif()
-
-configure_file("build/cmake/cairommconfig.h.cmake" "cairommconfig.h")
-configure_file("build/cmake/cairomm.rc.cmake" "cairomm.rc" @ONLY)
-
-#build
-set(cairomm_cc
- cairomm/context.cc
- cairomm/device.cc
- cairomm/exception.cc
- cairomm/fontface.cc
- cairomm/fontoptions.cc
- cairomm/matrix.cc
- cairomm/path.cc
- cairomm/pattern.cc
- cairomm/private.cc
- cairomm/region.cc
- cairomm/scaledfont.cc
- cairomm/script.cc
- cairomm/script_surface.cc
- cairomm/surface.cc)
-
-set(cairomm_public_h
- cairomm/cairomm.h
- cairomm/context.h
- cairomm/device.h
- cairomm/enums.h
- cairomm/exception.h
- cairomm/fontface.h
- cairomm/fontoptions.h
- cairomm/matrix.h
- cairomm/path.h
- cairomm/pattern.h
- cairomm/refptr.h
- cairomm/region.h
- cairomm/scaledfont.h
- cairomm/script.h
- cairomm/script_surface.h
- cairomm/surface.h
- cairomm/types.h)
-
-set(cairomm_private_h
- cairomm/context_private.h
- cairomm/private.h)
-
-set(cairomm_rc
- ${CMAKE_BINARY_DIR}/cairomm.rc)
-
-if(WITH_QUARTZ)
- list(APPEND cairomm_cc
- cairomm/context_surface_quartz.cc
- cairomm/quartz_font.cc
- cairomm/quartz_surface.cc)
- list(APPEND cairomm_public_h
- cairomm/xlib_surface.h)
-endif()
-
-if(WITH_X11)
- list(APPEND cairomm_cc
- cairomm/xlib_surface.cc
- cairomm/context_surface_xlib.cc)
- list(APPEND cairomm_public_h
- cairomm/quartz_font.h
- cairomm/quartz_surface.h)
-endif()
-
-if(WIN32)
- list(APPEND cairomm_cc
- cairomm/context_surface_win32.cc
- cairomm/win32_font.cc
- cairomm/win32_surface.cc)
- list(APPEND cairomm_public_h
- cairomm/win32_font.h
- cairomm/win32_surface.h)
-endif()
-
-add_library(cairomm-1.0 ${cairomm_cc} ${cairomm_rc})
-target_link_libraries(cairomm-1.0 ${CAIRO_LIBRARY} ${SIGC++_LIBRARY} Freetype::Freetype)
-target_include_directories(cairomm-1.0 PRIVATE
- ${CAIRO_INCLUDE_DIR}
- ${SIGC++_INCLUDE_DIR}
- ${CMAKE_BINARY_DIR}
- ${CMAKE_SOURCE_DIR})
-
-install(
- TARGETS cairomm-1.0
- RUNTIME DESTINATION bin
- ARCHIVE DESTINATION lib
- LIBRARY DESTINATION lib)
-
-install(
- FILES ${cairomm_public_h}
- DESTINATION include/cairomm)
-
-install(
- FILES ${CMAKE_BINARY_DIR}/cairommconfig.h
- DESTINATION include)
diff --git a/ports/cairomm/cmake/FindCairo.cmake b/ports/cairomm/cmake/FindCairo.cmake
deleted file mode 100644
index 0a87fadf8df6fa..00000000000000
--- a/ports/cairomm/cmake/FindCairo.cmake
+++ /dev/null
@@ -1,131 +0,0 @@
-# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
-# file Copyright.txt or https://cmake.org/licensing for details.
-#
-# revision: 2
-# See https://github.com/CMakePorts/CMakeFindPackages for updates
-#
-#.rst:
-# FindCairo
-# ---------
-#
-# Locate Cairo library
-#
-# This module defines
-#
-# ::
-# CAIRO_FOUND - system has the CAIRO library
-# CAIRO_INCLUDE_DIR - the CAIRO include directory
-# CAIRO_LIBRARIES - The libraries needed to use CAIRO
-# CAIRO_VERSION - This is set to $major.$minor.$revision (eg. 0.9.8)
-# CAIRO_VERSION_STRING - This is set to $major.$minor.$revision (eg. 0.9.8)
-#
-# Authors:
-# Copyright (c) Eric Wing
-# Copyright (c) Alexander Neundorf
-# Copyright (c) 2008 Joshua L. Blocher
-# Copyright (c) 2012 Dmitry Baryshnikov
-# Copyright (c) 2013-2017 Mikhail Paulyshka
-#
-
-
-if (NOT WIN32)
- find_package(PkgConfig)
- if (PKG_CONFIG_FOUND)
- pkg_check_modules(_CAIRO cairo)
-
- SET(CAIRO_VERSION ${_CAIRO_VERSION})
- STRING (REGEX REPLACE "([0-9]+).([0-9]+).([0-9]+)" "\\1" num "${CAIRO_VERSION}")
- MATH (EXPR CAIRO_VERSION_MAJOR "${num}")
- STRING (REGEX REPLACE "([0-9]+).([0-9]+).([0-9]+)" "\\2" num "${CAIRO_VERSION}")
- MATH (EXPR CAIRO_VERSION_MINOR "${num}")
- STRING (REGEX REPLACE "([0-9]+).([0-9]+).([0-9]+)" "\\3" num "${CAIRO_VERSION}")
- MATH (EXPR CAIRO_VERSION_MICRO "${num}")
- endif (PKG_CONFIG_FOUND)
-endif (NOT WIN32)
-
-set(_CAIRO_ROOT_HINTS_AND_PATHS
- HINTS
- $ENV{CAIRO}
- $ENV{CAIRO_DIR}
- ${CMAKE_FIND_ROOT_PATH}
- ${CAIRO_ROOT_DIR}
- PATHS
- ${CMAKE_FIND_ROOT_PATH}
- $ENV{CAIRO}/src
- /usr
- /usr/local
-)
-
-find_path(CAIRO_INCLUDE_DIR
- NAMES
- cairo.h
- HINTS
- ${_CAIRO_INCLUDEDIR}
- ${_CAIRO_ROOT_HINTS_AND_PATHS}
- PATH_SUFFIXES
- include
- "include/cairo"
-)
-
-if(NOT CAIRO_LIBRARY)
- FIND_LIBRARY(CAIRO_LIBRARY_RELEASE
- NAMES
- cairo
- cairo-static
- HINTS
- ${_CAIRO_LIBDIR}
- ${_CAIRO_ROOT_HINTS_AND_PATHS}
- PATH_SUFFIXES
- "lib"
- "local/lib"
- )
-
- FIND_LIBRARY(CAIRO_LIBRARY_DEBUG
- NAMES
- cairod
- cairo-staticd
- HINTS
- ${_CAIRO_LIBDIR}
- ${_CAIRO_ROOT_HINTS_AND_PATHS}
- PATH_SUFFIXES
- "lib"
- "local/lib"
- )
-
- include(SelectLibraryConfigurations)
- select_library_configurations(CAIRO)
-endif()
-set(CAIRO_LIBRARIES ${CAIRO_LIBRARY})
-
-if (NOT CAIRO_VERSION)
- if (EXISTS "${CAIRO_INCLUDE_DIR}/cairo-version.h")
- file(READ "${CAIRO_INCLUDE_DIR}/cairo-version.h" CAIRO_VERSION_CONTENT)
-
- string(REGEX MATCH "#define +CAIRO_VERSION_MAJOR +([0-9]+)" _dummy "${CAIRO_VERSION_CONTENT}")
- set(CAIRO_VERSION_MAJOR "${CMAKE_MATCH_1}")
-
- string(REGEX MATCH "#define +CAIRO_VERSION_MINOR +([0-9]+)" _dummy "${CAIRO_VERSION_CONTENT}")
- set(CAIRO_VERSION_MINOR "${CMAKE_MATCH_1}")
-
- string(REGEX MATCH "#define +CAIRO_VERSION_MICRO +([0-9]+)" _dummy "${CAIRO_VERSION_CONTENT}")
- set(CAIRO_VERSION_MICRO "${CMAKE_MATCH_1}")
-
- set(CAIRO_VERSION "${CAIRO_VERSION_MAJOR}.${CAIRO_VERSION_MINOR}.${CAIRO_VERSION_MICRO}")
- set(CAIRO_VERSION_STRING CAIRO_VERSION)
- endif ()
-endif()
-
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(
- CAIRO
- REQUIRED_VARS
- CAIRO_LIBRARIES
- CAIRO_INCLUDE_DIR
- VERSION_VAR
- CAIRO_VERSION_STRING
-)
-
-MARK_AS_ADVANCED(
- CAIRO_INCLUDE_DIR
- CAIRO_LIBRARY
- CAIRO_LIBRARIES)
diff --git a/ports/cairomm/cmake/FindSigC++.cmake b/ports/cairomm/cmake/FindSigC++.cmake
deleted file mode 100644
index 8d65f70d9a67ad..00000000000000
--- a/ports/cairomm/cmake/FindSigC++.cmake
+++ /dev/null
@@ -1,111 +0,0 @@
-# - Try to find SIGC++
-# Once done this will define
-#
-# SIGC++_ROOT_DIR - Set this variable to the root installation of SIGC++
-# SIGC++_FOUND - system has SIGC++
-# SIGC++_INCLUDE_DIRS - the SIGC++ include directory
-# SIGC++_LIBRARIES - Link these to use SIGC++
-#
-# Copyright (c) 2008 Joshua L. Blocher
-# Copyright (c) 2012 Dmitry Baryshnikov
-# Copyright (c) 2013-2017 Mikhail Paulyshka
-#
-# Distributed under the OSI-approved BSD License
-#
-
-if (NOT WIN32)
- find_package(PkgConfig)
- if (PKG_CONFIG_FOUND)
- pkg_check_modules(_SIGC++ sigc++-2.0)
- SET(SIGC++_VERSION ${_SIGC++_VERSION})
- endif (PKG_CONFIG_FOUND)
-endif (NOT WIN32)
-
-SET(_SIGC++_ROOT_HINTS
- $ENV{SIGC++}
- ${CMAKE_FIND_ROOT_PATH}
- ${SIGC++_ROOT_DIR}
-)
-
-SET(_SIGC++_ROOT_PATHS
- $ENV{SIGC++}/src
- /usr
- /usr/local
-)
-
-SET(_SIGC++_ROOT_HINTS_AND_PATHS
- HINTS ${_SIGC++_ROOT_HINTS}
- PATHS ${_SIGC++_ROOT_PATHS}
-)
-
-FIND_PATH(SIGC++_INCLUDE_DIR
- NAMES
- "sigc++/sigc++.h"
- HINTS
- ${_SIGC++_INCLUDEDIR}
- ${_SIGC++_ROOT_HINTS_AND_PATHS}
- PATH_SUFFIXES
- include
- "include/sigc++-2.0"
-)
-
-find_path(SIGC++_CONFIG_INCLUDE_DIR
- NAMES
- sigc++config.h
- HINTS
- ${_SIGC++_LIBDIR}
- ${_SIGC++_INCLUDEDIR}
- ${_SIGC++_ROOT_HINTS_AND_PATHS}
- PATH_SUFFIXES
- include
- lib
- "sigc++-2.0/include"
- "lib/sigc++-2.0"
- "lib/sigc++-2.0/include"
-)
-
-FIND_LIBRARY(SIGC++_LIBRARY
- NAMES
- sigc-2.0
- HINTS
- ${_SIGC++_LIBDIR}
- ${_SIGC++_ROOT_HINTS_AND_PATHS}
- PATH_SUFFIXES
- "lib"
- "local/lib"
-)
-
-SET(SIGC++_LIBRARIES
- ${SIGC++_LIBRARY}
-)
-
-SET(SIGC++_INCLUDE_DIRS
- ${SIGC++_INCLUDE_DIR}
- ${SIGC++_CONFIG_INCLUDE_DIR}
-)
-
-if (NOT SIGC++_VERSION)
- if (EXISTS "${SIGC++_CONFIG_INCLUDE_DIR}/sigc++config.h")
- file(READ "${SIGC++_CONFIG_INCLUDE_DIR}/sigc++config.h" SIGC++_VERSION_CONTENT)
-
- string(REGEX MATCH "#define +SIGCXX_MAJOR_VERSION +([0-9]+)" _dummy "${SIGC++_VERSION_CONTENT}")
- set(SIGC++_VERSION_MAJOR "${CMAKE_MATCH_1}")
-
- string(REGEX MATCH "#define +SIGCXX_MINOR_VERSION +([0-9]+)" _dummy "${SIGC++_VERSION_CONTENT}")
- set(SIGC++_VERSION_MINOR "${CMAKE_MATCH_1}")
-
- string(REGEX MATCH "#define +SIGCXX_MICRO_VERSION +([0-9]+)" _dummy "${SIGC++_VERSION_CONTENT}")
- set(SIGC++_VERSION_MICRO "${CMAKE_MATCH_1}")
-
- set(SIGC++_VERSION "${SIGC++_VERSION_MAJOR}.${SIGC++_VERSION_MINOR}.${SIGC++_VERSION_MICRO}")
- endif (EXISTS "${SIGC++_CONFIG_INCLUDE_DIR}/sigc++config.h")
-endif(NOT SIGC++_VERSION)
-
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(SIGC++
- REQUIRED_VARS SIGC++_LIBRARIES SIGC++_INCLUDE_DIRS
- VERSION_VAR SIGC++_VERSION
- FAIL_MESSAGE "Could NOT find SIGC++, try to set the path to SIGC++ root folder in the system variable SIGC++"
-)
-
-MARK_AS_ADVANCED(SIGC++_CONFIG_INCLUDE_DIR SIGC++_INCLUDE_DIR SIGC++_INCLUDE_DIRS SIGC++_LIBRARY SIGC++_LIBRARIES)
diff --git a/ports/cairomm/cmake/cairomm.rc.cmake b/ports/cairomm/cmake/cairomm.rc.cmake
deleted file mode 100644
index 4aa7a0a0598b4c..00000000000000
--- a/ports/cairomm/cmake/cairomm.rc.cmake
+++ /dev/null
@@ -1,71 +0,0 @@
-
-#define APSTUDIO_READONLY_SYMBOLS
-
-#include
-
-#undef APSTUDIO_READONLY_SYMBOLS
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-
-1 TEXTINCLUDE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE
-BEGIN
- "#include ""afxres.h""\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION @CAIROMM_MAJOR_VERSION@,@CAIROMM_MINOR_VERSION@,@CAIROMM_MICRO_VERSION@,1
- PRODUCTVERSION @CAIROMM_MAJOR_VERSION@,@CAIROMM_MINOR_VERSION@,@CAIROMM_MICRO_VERSION@,1
- FILEFLAGSMASK 0x17L
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x4L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "CompanyName", "The cairomm development team (see AUTHORS)"
- VALUE "FileDescription", "The official C++ wrapper for cairo"
- VALUE "FileVersion", "@VERSION@"
- VALUE "LegalCopyright", "Distribution is under the LGPL (see COPYING)"
- VALUE "OriginalFilename", "cairomm-1.0"
- VALUE "ProductName", "cairomm"
- VALUE "ProductVersion", "@VERSION@"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-#endif // English (U.S.) resources
-
-#ifndef APSTUDIO_INVOKED
-
-#endif // not APSTUDIO_INVOKED
diff --git a/ports/cairomm/cmake/cairommconfig.h.cmake b/ports/cairomm/cmake/cairommconfig.h.cmake
deleted file mode 100644
index 526a70c4cc312c..00000000000000
--- a/ports/cairomm/cmake/cairommconfig.h.cmake
+++ /dev/null
@@ -1,13 +0,0 @@
-/* This file is part of cairomm. */
-
-/* Defined when the --enable-api-exceptions configure argument was given */
-#cmakedefine CAIROMM_EXCEPTIONS_ENABLED 1
-
-/* Major version number of cairomm. */
-#cmakedefine CAIROMM_MAJOR_VERSION @CAIROMM_MAJOR_VERSION@
-
-/* Minor version number of cairomm. */
-#cmakedefine CAIROMM_MINOR_VERSION @CAIROMM_MINOR_VERSION@
-
-/* Micro version number of cairomm. */
-#cmakedefine CAIROMM_MICRO_VERSION @CAIROMM_MICRO_VERSION@
diff --git a/ports/cairomm/portfile.cmake b/ports/cairomm/portfile.cmake
index dc5d2c9fff5d19..c20887b0da9064 100644
--- a/ports/cairomm/portfile.cmake
+++ b/ports/cairomm/portfile.cmake
@@ -1,11 +1,9 @@
-vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
-
-set(CAIROMM_VERSION 1.15.3)
-set(CAIROMM_HASH a2c28786dbd167179561d8f580eeb11d10634a36dfdb1adeefc0279acf83ee906f01f264cb924845fc4ab98da1afac71e1ead742f283c1a32368ca9af28e464a)
+set(CAIROMM_VERSION 1.16.0)
+set(CAIROMM_HASH 51929620feeac45377da5d486ea7a091bbd10ad8376fb16525328947b9e6ee740cdc8e8bd190a247b457cc9fec685a829c81de29b26cabaf95383ef04cce80d3)
vcpkg_download_distfile(ARCHIVE
- URLS "https://www.cairographics.org/releases/cairomm-${CAIROMM_VERSION}.tar.gz"
- FILENAME "cairomm-${CAIROMM_VERSION}.tar.gz"
+ URLS "https://www.cairographics.org/releases/cairomm-${CAIROMM_VERSION}.tar.xz"
+ FILENAME "cairomm-${CAIROMM_VERSION}.tar.xz"
SHA512 ${CAIROMM_HASH}
)
@@ -13,29 +11,31 @@ vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH
ARCHIVE ${ARCHIVE}
PATCHES
- 0001-fix-build.patch
+ undef.win32.patch # because WIN32 is used as an ENUM identifier.
)
-file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
-file(COPY ${CMAKE_CURRENT_LIST_DIR}/cmake DESTINATION ${SOURCE_PATH}/build)
-
-vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
- FEATURES
- x11 WITH_X11
- gobject WITH_GOBJECT
- freetype WITH_FREETYPE
- fontconfig WITH_FONTCONFIG
- quartz WITH_QUARTZ
-)
-
-vcpkg_configure_cmake(
+vcpkg_configure_meson(
SOURCE_PATH ${SOURCE_PATH}
- PREFER_NINJA
+ OPTIONS
+ -Dbuild-examples=false
+ -Dmsvc14x-parallel-installable=false # Use separate DLL and LIB filenames for Visual Studio 2017 and 2019
)
-vcpkg_install_cmake()
+vcpkg_install_meson()
+vcpkg_fixup_pkgconfig()
vcpkg_copy_pdbs()
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+
+file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
-file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
+if(VCPKG_LIBRARY_LINAKGE STREQUAL "static")
+ set(_file "${CURRENT_PACKAGES_DIR}/lib/cairomm-1.16/include/cairommconfig.h")
+ if(EXISTS "${_file}")
+ vcpkg_replace_string("${_file}" "# define CAIROMM_DLL 1" "# undef CAIROMM_DLL\n# define CAIROMM_STATIC_LIB 1")
+ endif()
+ set(_file "${CURRENT_PACKAGES_DIR}/debug/lib/cairomm-1.16/include/cairommconfig.h")
+ if(EXISTS "${_file}")
+ vcpkg_replace_string("${_file}" "# define CAIROMM_DLL 1" "# undef CAIROMM_DLL\n# define CAIROMM_STATIC_LIB 1")
+ endif()
+endif()
diff --git a/ports/cairomm/undef.win32.patch b/ports/cairomm/undef.win32.patch
new file mode 100644
index 00000000000000..e91db0bfe42b06
--- /dev/null
+++ b/ports/cairomm/undef.win32.patch
@@ -0,0 +1,12 @@
+diff --git a/cairomm/surface.h b/cairomm/surface.h
+index c923e6086..8cfaa76a3 100644
+--- a/cairomm/surface.h
++++ b/cairomm/surface.h
+@@ -49,6 +49,7 @@
+ #include
+ #endif // CAIRO_HAS_GLITZ_SURFACE
+
++#undef WIN32
+
+ namespace Cairo
+ {
diff --git a/ports/cairomm/vcpkg.json b/ports/cairomm/vcpkg.json
index 7c7d62b1b98387..d760825a0ea7b7 100644
--- a/ports/cairomm/vcpkg.json
+++ b/ports/cairomm/vcpkg.json
@@ -1,78 +1,10 @@
{
- "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg/master/scripts/vcpkg.schema.json",
"name": "cairomm",
- "version-string": "1.15.3",
- "port-version": 6,
- "description": "A C++ wrapper for the cairo graphics library.",
- "homepage": "https://cairographics.org",
+ "version": "1.16.0",
+ "description": "A C++ wrapper for the cairo graphics library",
+ "homepage": "https://www.cairographics.org",
"dependencies": [
"cairo",
"libsigcpp"
- ],
- "default-features": [
- "fontconfig",
- "freetype"
- ],
- "features": {
- "fontconfig": {
- "description": "build with fontconfig",
- "dependencies": [
- {
- "name": "cairo",
- "default-features": false,
- "features": [
- "fontconfig"
- ]
- }
- ]
- },
- "freetype": {
- "description": "use the freetype font backend",
- "dependencies": [
- {
- "name": "cairo",
- "default-features": false,
- "features": [
- "freetype"
- ]
- }
- ]
- },
- "gobject": {
- "description": "build gobject module",
- "dependencies": [
- {
- "name": "cairo",
- "default-features": false,
- "features": [
- "gobject"
- ]
- }
- ]
- },
- "quartz": {
- "description": "build with quartz support",
- "dependencies": [
- {
- "name": "cairo",
- "default-features": false,
- "features": [
- "quartz"
- ]
- }
- ]
- },
- "x11": {
- "description": "build with x11 support",
- "dependencies": [
- {
- "name": "cairo",
- "default-features": false,
- "features": [
- "x11"
- ]
- }
- ]
- }
- }
+ ]
}
diff --git a/ports/cartographer/CONTROL b/ports/cartographer/CONTROL
deleted file mode 100644
index 50d324a9475752..00000000000000
--- a/ports/cartographer/CONTROL
+++ /dev/null
@@ -1,5 +0,0 @@
-Source: cartographer
-Version: 1.0.0-3
-Build-Depends: ceres[suitesparse], gflags, glog, lua, cairo, boost-iostreams, gtest, protobuf
-Homepage: https://github.com/googlecartographer/cartographer
-Description: Google 2D & 3D SLAM package
diff --git a/ports/cartographer/fix-find-packages.patch b/ports/cartographer/fix-find-packages.patch
index 3ab53bff96de6b..59e433c5fff55b 100644
--- a/ports/cartographer/fix-find-packages.patch
+++ b/ports/cartographer/fix-find-packages.patch
@@ -28,9 +28,9 @@ index 2e3a686..f36f15a 100644
-PKG_SEARCH_MODULE(CAIRO REQUIRED cairo>=1.12.16)
+#include(FindPkgConfig)
+#PKG_SEARCH_MODULE(CAIRO REQUIRED cairo>=1.12.16)
-+if(CMAKE_BUILD_TYPE STREQUAL Debug)
-+ set(CAIRO_LIB_SUFFIX d)
-+endif()
++#if(CMAKE_BUILD_TYPE STREQUAL Debug)
++# set(CAIRO_LIB_SUFFIX d)
++#endif()
+find_library(CAIRO_LIBRARY cairo${CAIRO_LIB_SUFFIX})
# Only build the documentation if we can find Sphinx.
@@ -88,7 +88,7 @@ index 2e3a686..f36f15a 100644
-target_link_libraries(${PROJECT_NAME} PUBLIC gflags)
+#target_link_libraries(${PROJECT_NAME} PUBLIC glog)
+#target_link_libraries(${PROJECT_NAME} PUBLIC gflags)
-+target_link_libraries(${PROJECT_NAME} PUBLIC ${CAIRO_LIBRARY})
++#target_link_libraries(${PROJECT_NAME} PUBLIC ${CAIRO_LIBRARY})
target_include_directories(${PROJECT_NAME} SYSTEM PUBLIC
"${CAIRO_INCLUDE_DIRS}")
diff --git a/ports/cartographer/vcpkg.json b/ports/cartographer/vcpkg.json
new file mode 100644
index 00000000000000..78acff4dd15afb
--- /dev/null
+++ b/ports/cartographer/vcpkg.json
@@ -0,0 +1,22 @@
+{
+ "name": "cartographer",
+ "version": "1.0.0",
+ "port-version": 4,
+ "description": "Google 2D & 3D SLAM package",
+ "homepage": "https://github.com/googlecartographer/cartographer",
+ "dependencies": [
+ "boost-iostreams",
+ "cairo",
+ {
+ "name": "ceres",
+ "features": [
+ "suitesparse"
+ ]
+ },
+ "gflags",
+ "glog",
+ "gtest",
+ "lua",
+ "protobuf"
+ ]
+}
diff --git a/ports/gdk-pixbuf/CMakeLists.txt b/ports/gdk-pixbuf/CMakeLists.txt
deleted file mode 100644
index 0ff2a85e2c54ae..00000000000000
--- a/ports/gdk-pixbuf/CMakeLists.txt
+++ /dev/null
@@ -1,144 +0,0 @@
-cmake_minimum_required(VERSION 3.0)
-project(gdk-pixbuf C)
-
-set(GDK_PIXBUF_LIB_SUFFIX 2.0)
-set(GDK_PIXBUF_DLL_SUFFIX 2)
-set(GDK_PIXBUF_BINARY_VERSION 2.10.0)
-set(GLIB_LIB_VERSION 2.0)
-
-find_package(ZLIB REQUIRED)
-find_package(PNG REQUIRED)
-
-find_package(unofficial-glib CONFIG REQUIRED)
-find_path(GLIB_INCLUDE_DIR glib.h)
-
-find_package(Intl REQUIRED)
-find_path(LIBINTL_INCLUDE_DIR libintl.h)
-
-if(WIN32)
- configure_file(${CMAKE_SOURCE_DIR}/config.h.win32 ${CMAKE_SOURCE_DIR}/config.h COPYONLY)
-else()
- configure_file(${CMAKE_SOURCE_DIR}/config.h.linux ${CMAKE_SOURCE_DIR}/config.h COPYONLY)
-endif()
-include_directories(. ./gdk-pixbuf)
-
-set(SOURCES
- gdk-pixbuf/gdk-pixbuf.c
- gdk-pixbuf/gdk-pixbuf-animation.c
- gdk-pixbuf/gdk-pixbuf-data.c
- gdk-pixbuf/gdk-pixbuf-io.c
- gdk-pixbuf/gdk-pixbuf-loader.c
- gdk-pixbuf/gdk-pixbuf-scale.c
- gdk-pixbuf/gdk-pixbuf-simple-anim.c
- gdk-pixbuf/gdk-pixbuf-scaled-anim.c
- gdk-pixbuf/gdk-pixbuf-util.c
- gdk-pixbuf/gdk-pixdata.c
- gdk-pixbuf/gdk-pixbuf-enum-types.c
- gdk-pixbuf/gdk-pixbuf-marshal.c
- gdk-pixbuf/io-ani.c
- gdk-pixbuf/io-ani-animation.c
- gdk-pixbuf/io-icns.c
- gdk-pixbuf/io-pnm.c
- gdk-pixbuf/io-png.c
- gdk-pixbuf/io-qtif.c
- gdk-pixbuf/io-tga.c
- gdk-pixbuf/gdk-pixbuf-buffer-queue.c
- gdk-pixbuf/io-xpm.c
- gdk-pixbuf/io-xbm.c
- gdk-pixbuf/pixops/pixops.c
-)
-if(WIN32)
- list(APPEND SOURCES
- gdk-pixbuf/io-gdip-animation.c
- gdk-pixbuf/io-gdip-bmp.c
- gdk-pixbuf/io-gdip-emf.c
- gdk-pixbuf/io-gdip-gif.c
- gdk-pixbuf/io-gdip-ico.c
- gdk-pixbuf/io-gdip-jpeg.c
- gdk-pixbuf/io-gdip-tiff.c
- gdk-pixbuf/io-gdip-utils.c
- gdk-pixbuf/io-gdip-wmf.c
-)
-endif()
-add_library(gdk-pixbuf ${SOURCES})
-
-target_include_directories(gdk-pixbuf PRIVATE
- ${GLIB_INCLUDE_DIR}
- ${PNG_INCLUDE_DIRS}
- ${ZLIB_INCLUDE_DIRS}
- ${Intl_INCLUDE_DIR})
-
-set(LIBS
- unofficial::glib::gio unofficial::glib::glib unofficial::glib::gmodule unofficial::glib::gobject ${Intl_LIBRARIES}
- ${ZLIB_LIBRARIES}
- ${PNG_LIBRARIES}
-)
-if(WIN32)
- list(APPEND LIBS Gdiplus ole32)
-else()
- list(APPEND LIBS m)
-endif()
-
-target_link_libraries(gdk-pixbuf ${LIBS})
-
-set(DEFS
- HAVE_CONFIG_H
- GDK_PIXBUF_COMPILATION
- GDK_PIXBUF_ENABLE_BACKEND
- DLL_EXPORT
- GDK_PIXBUF_RELOCATABLE
- GDK_PIXBUF_PREFIX="/dummy"
- GDK_PIXBUF_BINARY_VERSION="${GDK_PIXBUF_BINARY_VERSION}"
- INCLUDE_ani
- INCLUDE_tga
- INCLUDE_xbm
- INCLUDE_png
- INCLUDE_qtif
- INCLUDE_pnm
- INCLUDE_icns
- INCLUDE_xpm
- G_DISABLE_SINGLE_INCLUDES
- GDK_PIXBUF_DISABLE_SINGLE_INCLUDES)
-if(WIN32)
- list(APPEND DEFS INCLUDE_gdiplus)
-endif()
-target_compile_definitions(gdk-pixbuf PRIVATE ${DEFS})
-
-set_target_properties(gdk-pixbuf PROPERTIES
- OUTPUT_NAME gdk_pixbuf-${GDK_PIXBUF_DLL_SUFFIX}
- ARCHIVE_OUTPUT_NAME gdk_pixbuf-${GDK_PIXBUF_LIB_SUFFIX})
-
-install(TARGETS gdk-pixbuf
- RUNTIME DESTINATION bin
- ARCHIVE DESTINATION lib
- LIBRARY DESTINATION lib)
-
-macro(gdk_add_tool TOOL_NAME)
- add_executable(${TOOL_NAME} ${ARGN})
- target_include_directories(${TOOL_NAME} PRIVATE ${GLIB_INCLUDE_DIR})
- target_link_libraries(${TOOL_NAME} gdk-pixbuf ${GLIB_LIBRARIES})
- install(TARGETS ${TOOL_NAME} RUNTIME DESTINATION tools/gdk-pixbuf)
-endmacro()
-
-if(NOT GDK_SKIP_TOOLS)
- gdk_add_tool(gdk-pixbuf-csource gdk-pixbuf/gdk-pixbuf-csource.c)
- gdk_add_tool(gdk-pixbuf-pixdata gdk-pixbuf/gdk-pixbuf-pixdata.c)
-endif()
-
-if(NOT GDK_SKIP_HEADERS)
- INSTALL(FILES
- gdk-pixbuf/gdk-pixbuf.h
- gdk-pixbuf/gdk-pixbuf-autocleanups.h
- gdk-pixbuf/gdk-pixbuf-core.h
- gdk-pixbuf/gdk-pixbuf-transform.h
- gdk-pixbuf/gdk-pixbuf-io.h
- gdk-pixbuf/gdk-pixbuf-animation.h
- gdk-pixbuf/gdk-pixbuf-simple-anim.h
- gdk-pixbuf/gdk-pixbuf-loader.h
- gdk-pixbuf/gdk-pixbuf-enum-types.h
- gdk-pixbuf/gdk-pixbuf-marshal.h
- gdk-pixbuf/gdk-pixbuf-features.h
- gdk-pixbuf/gdk-pixdata.h
- gdk-pixbuf/gdk-pixbuf-macros.h
- DESTINATION include/gdk-pixbuf)
-endif()
diff --git a/ports/gdk-pixbuf/CONTROL b/ports/gdk-pixbuf/CONTROL
deleted file mode 100644
index 1e08aeebe74fbd..00000000000000
--- a/ports/gdk-pixbuf/CONTROL
+++ /dev/null
@@ -1,6 +0,0 @@
-Source: gdk-pixbuf
-Version: 2.36.9-5
-Port-Version: 7
-Homepage: https://developer.gnome.org/gdk-pixbuf/
-Description: Image loading library.
-Build-Depends: gettext, zlib, libpng, glib
diff --git a/ports/gdk-pixbuf/config.h.linux b/ports/gdk-pixbuf/config.h.linux
deleted file mode 100644
index f6738732821365..00000000000000
--- a/ports/gdk-pixbuf/config.h.linux
+++ /dev/null
@@ -1,158 +0,0 @@
-/* config.h. Generated from config.h.in by configure. */
-/* config.h.in. Generated from configure.ac by autoheader. */
-
-/* Define to 1 if translation of program messages to the user's native
- language is requested. */
-#define ENABLE_NLS 1
-
-/* Define to 1 to replace the build-time prefix in modules */
-/* #undef GDK_PIXBUF_RELOCATABLE */
-
-/* Define if gio can sniff image data */
-#define GDK_PIXBUF_USE_GIO_MIME 1
-
-/* The prefix for our gettext translation domains. */
-#define GETTEXT_PACKAGE "gdk-pixbuf"
-
-/* Define to 1 if you have the `bind_textdomain_codeset' function. */
-#define HAVE_BIND_TEXTDOMAIN_CODESET 1
-
-/* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the
- CoreFoundation framework. */
-/* #undef HAVE_CFLOCALECOPYCURRENT */
-
-/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in
- the CoreFoundation framework. */
-/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */
-
-/* Define if the GNU dcgettext() function is already present or preinstalled.
- */
-#define HAVE_DCGETTEXT 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_DLFCN_H 1
-
-/* Define if the GNU gettext() function is already present or preinstalled. */
-#define HAVE_GETTEXT 1
-
-/* Define if you have the iconv() function and it works. */
-/* #undef HAVE_ICONV */
-
-/* Define to 1 if you have the header file. */
-#define HAVE_INTTYPES_H 1
-
-/* Define to 1 if libm has lrint */
-#define HAVE_LRINT 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_MEMORY_H 1
-
-/* Define to 1 is libjpeg supports progressive JPEG */
-#define HAVE_PROGRESSIVE_JPEG 1
-
-/* Define to 1 if libm has round */
-#define HAVE_ROUND 1
-
-/* Define to 1 if you have the `setrlimit' function. */
-#define HAVE_SETRLIMIT 1
-
-/* Define to 1 if sigsetjmp is available */
-#define HAVE_SIGSETJMP 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_STDINT_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_STDLIB_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_STRINGS_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_STRING_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_SYS_RESOURCE_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_SYS_STAT_H 1
-
-/* Define to 1 if sys/sysinfo.h is available */
-#define HAVE_SYS_SYSINFO_H 1
-
-/* Define to 1 if sys/systeminfo.h is available */
-/* #undef HAVE_SYS_SYSTEMINFO_H */
-
-/* Define to 1 if you have the header file. */
-#define HAVE_SYS_TIME_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_SYS_TYPES_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_UNISTD_H 1
-
-/* Define to the sub-directory where libtool stores uninstalled libraries. */
-#define LT_OBJDIR ".libs/"
-
-/* Define to 1 if your C compiler doesn't accept -c and -o together. */
-/* #undef NO_MINUS_C_MINUS_O */
-
-/* Define to 1 if it's a darwin platform */
-/* #undef OS_DARWIN */
-
-/* Define to 1 if it's a Linux platform */
-#define OS_LINUX 1
-
-/* Define to the address where bug reports for this package should be sent. */
-#define PACKAGE_BUGREPORT "http://bugzilla.gnome.org/enter_bug.cgi?product=gdk-pixbuf"
-
-/* Define to the full name of this package. */
-#define PACKAGE_NAME "gdk-pixbuf"
-
-/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "gdk-pixbuf 2.36.9"
-
-/* Define to the one symbol short name of this package. */
-#define PACKAGE_TARNAME "gdk-pixbuf"
-
-/* Define to the home page for this package. */
-#define PACKAGE_URL ""
-
-/* Define to the version of this package. */
-#define PACKAGE_VERSION "2.36.9"
-
-/* Define to 1 if you have the ANSI C header files. */
-#define STDC_HEADERS 1
-
-/* Define to 1 if gmodule works and should be used */
-#define USE_GMODULE 1
-
-/* Whether to load modules via .la files rather than directly */
-/* #undef USE_LA_MODULES */
-
-/* Define to 1 if medialib is available and should be used */
-/* #undef USE_MEDIALIB */
-
-/* Define to 1 if medialib 2.5 is available */
-/* #undef USE_MEDIALIB25 */
-
-/* Define to 1 if MMX is available and should be used */
-/* #undef USE_MMX */
-
-/* Enable large inode numbers on Mac OS X 10.5. */
-#ifndef _DARWIN_USE_64_BIT_INODE
-# define _DARWIN_USE_64_BIT_INODE 1
-#endif
-
-/* Number of bits in a file offset, on hosts where this is settable. */
-/* #undef _FILE_OFFSET_BITS */
-
-/* defines how to decorate public symbols while building */
-#define _GDK_PIXBUF_EXTERN __attribute__((visibility("default"))) extern
-
-/* Define for large files, on AIX-style hosts. */
-/* #undef _LARGE_FILES */
-
-/* Define to empty if `const' does not conform to ANSI C. */
-/* #undef const */
diff --git a/ports/gdk-pixbuf/fix_build.patch b/ports/gdk-pixbuf/fix_build.patch
new file mode 100644
index 00000000000000..2afdd9c86c4741
--- /dev/null
+++ b/ports/gdk-pixbuf/fix_build.patch
@@ -0,0 +1,67 @@
+diff --git a/build-aux/post-install.bat b/build-aux/post-install.bat
+index 6994d49e1..b4789dd62 100644
+--- a/build-aux/post-install.bat
++++ b/build-aux/post-install.bat
+@@ -7,8 +7,8 @@ set binary_version=%3
+ set libdir_windows=%libdir:/=\%
+
+ if not "%DESTDIR%" == "" goto warn_msg
+-if not exist %libdir_windows%\gdk-pixbuf-2.0\%binary_version%\ mkdir %libdir_windows%\gdk-pixbuf-2.0\%binary_version%
+-%bindir%\gdk-pixbuf-query-loaders > %libdir_windows%\gdk-pixbuf-2.0\%binary_version%\loaders.cache
++if not exist %libdir_windows%\..\gdk-pixbuf-2.0\%binary_version%\ mkdir %libdir_windows%\..\gdk-pixbuf-2.0\%binary_version%
++%bindir%\gdk-pixbuf-query-loaders > %libdir_windows%\..\gdk-pixbuf-2.0\%binary_version%\loaders.cache
+
+ goto end
+
+@@ -18,7 +18,7 @@ echo *** Warning: loaders.cache not built
+ echo ***
+ echo *** You should generate this file manually on the host system
+ echo *** using:
+-echo *** gdk-pixbuf-query-loaders ^> %libdir_windows%\gdk-pixbuf-2.0\%binary_version%\loaders.cache
++echo *** gdk-pixbuf-query-loaders ^> %libdir_windows%\..\gdk-pixbuf-2.0\%binary_version%\loaders.cache
+ echo ***
+
+ :end
+diff --git a/build-aux/post-install.sh b/build-aux/post-install.sh
+index 661bceeef..0b1a46527 100644
+--- a/build-aux/post-install.sh
++++ b/build-aux/post-install.sh
+@@ -5,14 +5,14 @@ libdir="$2"
+ binary_version="$3"
+
+ if [ -z "$DESTDIR" ]; then
+- mkdir -p "$libdir/gdk-pixbuf-2.0/$binary_version"
+- $bindir/gdk-pixbuf-query-loaders > "$libdir/gdk-pixbuf-2.0/$binary_version/loaders.cache"
++ mkdir -p "$libdir/../gdk-pixbuf-2.0/$binary_version"
++ $bindir/gdk-pixbuf-query-loaders > "$libdir/../gdk-pixbuf-2.0/$binary_version/loaders.cache"
+ else
+ echo "***"
+ echo "*** Warning: loaders.cache not built"
+ echo "***"
+ echo "*** You should generate this file manually on the host system"
+ echo "*** using:"
+- echo "*** gdk-pixbuf-query-loaders > $libdir/gdk-pixbuf-2.0/$binary_version/loaders.cache"
++ echo "*** gdk-pixbuf-query-loaders > $libdir/../gdk-pixbuf-2.0/$binary_version/loaders.cache"
+ echo "***"
+ fi
+diff --git a/meson.build b/meson.build
+index c38607029..4b5df91ae 100644
+--- a/meson.build
++++ b/meson.build
+@@ -308,12 +310,12 @@ endif
+ # Don't check and build the jpeg loader if native_windows_loaders is true
+ if get_option('jpeg') and not native_windows_loaders
+ if cc.has_header('jpeglib.h')
+- jpeg_dep = cc.find_library('jpeg', required: false)
+- if cc.get_id() == 'msvc' and not jpeg_dep.found()
++ jpeg_dep = dependency('libjpeg', required: false)
++ #if cc.get_id() == 'msvc' and not jpeg_dep.found()
+ # The IJG JPEG library builds the .lib file as libjpeg.lib in its MSVC build system,
+ # so look for it as well when jpeg.lib cannot be found
+- jpeg_dep = cc.find_library('libjpeg', required: false)
+- endif
++ # jpeg_dep = cc.find_library('libjpeg', required: false)
++ #endif
+ if jpeg_dep.found() and cc.has_function('jpeg_destroy_decompress', dependencies: jpeg_dep)
+ enabled_loaders += 'jpeg'
+ loaders_deps += jpeg_dep
diff --git a/ports/gdk-pixbuf/portfile.cmake b/ports/gdk-pixbuf/portfile.cmake
index b9b82df4fc9ff1..f235c5b312e27a 100644
--- a/ports/gdk-pixbuf/portfile.cmake
+++ b/ports/gdk-pixbuf/portfile.cmake
@@ -1,32 +1,69 @@
-vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)
-
-set(GDK_PIXBUF_VERSION 2.36)
-set(GDK_PIXBUF_PATCH 9)
+set(GDK_PIXBUF_VERSION 2.42)
+set(GDK_PIXBUF_PATCH 2)
vcpkg_download_distfile(ARCHIVE
URLS "https://ftp.gnome.org/pub/GNOME/sources/gdk-pixbuf/${GDK_PIXBUF_VERSION}/gdk-pixbuf-${GDK_PIXBUF_VERSION}.${GDK_PIXBUF_PATCH}.tar.xz"
FILENAME "gdk-pixbuf-${GDK_PIXBUF_VERSION}.${GDK_PIXBUF_PATCH}.tar.xz"
- SHA512 ab8f2cda4490012936b094a1321e64b85e1fa1f8d070fae135a514f87f695201b845f4192e4a02954e2767d44314c0a95d727118853528182952d15890130261
+ SHA512 f341d032ea410efed7a35f8ca6a7389bf988f663dae16e774d114d6f11611e9e182c835e90d752b71c258c905cc5c4c785ea697feed5e6921a2a676c9deaa5f2
)
vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH
ARCHIVE ${ARCHIVE}
+ PATCHES fix_build.patch
)
+if(VCPKG_TARGET_IS_WINDOWS)
+ #list(APPEND OPTIONS -Dnative_windows_loaders=true) # Use Windows system components to handle BMP, EMF, GIF, ICO, JPEG, TIFF and WMF images, overriding jpeg and tiff. To build this into gdk-pixbuf, pass in windows" with the other loaders to build in or use "all" with the builtin_loaders option
+endif()
+vcpkg_configure_meson(
+ SOURCE_PATH ${SOURCE_PATH}
+ OPTIONS
+ -Dman=false # Whether to generate man pages (requires xlstproc)
+ -Dgtk_doc=false # Whether to generate the API reference (requires GTK-Doc)
+ -Ddocs=false
+ -Dpng=true # Enable PNG loader (requires libpng)
+ -Dtiff=true # Enable TIFF loader (requires libtiff), disabled on Windows if "native_windows_loaders" is used
+ -Djpeg=true # Enable JPEG loader (requires libjpeg), disabled on Windows if "native_windows_loaders" is used
+ -Dintrospection=disabled # Whether to generate the API introspection data (requires GObject-Introspection)
+ -Drelocatable=true # Whether to enable application bundle relocation support
+ -Dinstalled_tests=false
+ -Dgio_sniffing=false # Perform file type detection using GIO (Unused on MacOS and Windows)
+ -Dbuiltin_loaders=all # since it is unclear where loadable plugins should be located;
+ # Comma-separated list of loaders to build into gdk-pixbuf, or "none", or "all" to build all buildable loaders into gdk-pixbuf
+ ADDITIONAL_NATIVE_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal'
+ glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums'
+ ADDITIONAL_CROSS_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal'
+ glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums'
+ )
+vcpkg_install_meson(ADD_BIN_TO_PATH)
-file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
-configure_file(${CMAKE_CURRENT_LIST_DIR}/config.h.linux ${SOURCE_PATH}/config.h.linux)
+# Fix paths in pc file.
+set(_file "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/gdk-pixbuf-2.0.pc")
+if(EXISTS "${_file}")
+ file(READ "${_file}" _contents)
+ string(REPLACE [[${bindir}]] "\${bindir}/../../tools/${PORT}" _contents "${_contents}")
+ string(REPLACE [[gdk_pixbuf_binarydir=${libdir}/gdk-pixbuf-2.0/2.10.0]] "gdk_pixbuf_binarydir=\${libdir}/../gdk-pixbuf-2.0/2.10.0" _contents "${_contents}")
+ file(WRITE "${_file}" "${_contents}")
+endif()
+set(_file "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/gdk-pixbuf-2.0.pc")
+if(EXISTS "${_file}")
+ file(READ "${_file}" _contents)
+ string(REPLACE [[${bindir}]] "\${bindir}/../tools/${PORT}" _contents "${_contents}")
+ string(REPLACE [[gdk_pixbuf_binarydir=${libdir}/gdk-pixbuf-2.0/2.10.0]] "gdk_pixbuf_binarydir=\${libdir}/../gdk-pixbuf-2.0/2.10.0" _contents "${_contents}")
+ file(WRITE "${_file}" "${_contents}")
+endif()
-vcpkg_configure_cmake(
- SOURCE_PATH ${SOURCE_PATH}
- PREFER_NINJA
- OPTIONS_DEBUG
- -DGDK_SKIP_HEADERS=ON
- -DGDK_SKIP_TOOLS=ON)
+vcpkg_fixup_pkgconfig()
+
+set(TOOL_NAMES gdk-pixbuf-csource gdk-pixbuf-pixdata gdk-pixbuf-query-loaders gdk-pixbuf-thumbnailer)
+
+if(VCPKG_TARGET_ARCHITECTURE MATCHES "arm" AND VCPKG_TARGET_IS_WINDOWS)
+ list(REMOVE_ITEM TOOL_NAMES gdk-pixbuf-thumbnailer)
+endif()
-vcpkg_install_cmake()
vcpkg_copy_pdbs()
-vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/gdk-pixbuf)
+vcpkg_copy_tools(TOOL_NAMES ${TOOL_NAMES} AUTO_CLEAN)
+
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
-file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/gdk-pixbuf)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/gdk-pixbuf/COPYING ${CURRENT_PACKAGES_DIR}/share/gdk-pixbuf/copyright)
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
diff --git a/ports/gdk-pixbuf/vcpkg.json b/ports/gdk-pixbuf/vcpkg.json
new file mode 100644
index 00000000000000..c123f6a3e7d015
--- /dev/null
+++ b/ports/gdk-pixbuf/vcpkg.json
@@ -0,0 +1,17 @@
+{
+ "name": "gdk-pixbuf",
+ "version": "2.42.2",
+ "description": "Image loading library.",
+ "homepage": "https://developer.gnome.org/gdk-pixbuf/",
+ "dependencies": [
+ "gettext",
+ "glib",
+ {
+ "name": "glib",
+ "host": true
+ },
+ "libpng",
+ "tiff",
+ "zlib"
+ ]
+}
diff --git a/ports/glib/CMakeLists.txt b/ports/glib/CMakeLists.txt
deleted file mode 100644
index e71d662784e479..00000000000000
--- a/ports/glib/CMakeLists.txt
+++ /dev/null
@@ -1,393 +0,0 @@
-cmake_minimum_required(VERSION 3.0)
-project(glib C)
-
-set(CMAKE_CXX_STANDARD 17)
-set(CMAKE_C_STANDARD 11)
-
-if(MSVC)
- add_compile_options(/utf-8)
-endif()
-set(GLIB_DLL_SUFFIX 2.0)
-set(GLIB_LIB_SUFFIX 2.0)
-
-if(CMAKE_BUILD_TYPE STREQUAL Debug)
- add_definitions(-DG_ENABLE_DEBUG)
-endif()
-
-if(BUILD_SHARED_LIBS)
- add_definitions(-DDLL_EXPORT)
-endif()
-
-set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
-
-# find dependencies
-
-# zlib
-find_package(ZLIB REQUIRED)
-# pcre
-find_path(PCRE_INCLUDE_DIR pcre.h)
-if(CMAKE_BUILD_TYPE STREQUAL Debug)
- set(PCRE_SUFFIX d)
-endif()
-find_library(PCRE_LIBRARY NAMES pcre${PCRE_SUFFIX} pcre)
-# libiconv
-find_package(Iconv REQUIRED)
-# libffi
-find_path(FFI_INCLUDE_DIR ffi.h)
-find_library(FFI_LIBRARY NAMES ffi libffi)
-get_filename_component(LIB_DIR "${FFI_LIBRARY}" DIRECTORY)
-if(APPLE)
- find_library(COREFOUNDATION_LIBRARY CoreFoundation)
- find_library(FOUNDATION_LIBRARY Foundation)
- find_library(CORESERVICES_LIBRARY CoreServices)
- link_libraries(${CORESERVICES_LIBRARY} ${COREFOUNDATION_LIBRARY} ${FOUNDATION_LIBRARY})
-endif()
-
-if(WIN32 OR APPLE)
- # libintl(gettext)
- find_package(Intl REQUIRED)
-endif()
-
-if(WIN32)
- set(LIBRESOLV_LIBRARY)
-else()
- find_library(LIBRESOLV_LIBRARY NAMES resolv libresolv)
-endif()
-
-#prepare config files
-if(WIN32)
- configure_file(config.h.win32 ${CMAKE_BINARY_DIR}/config/config.h COPYONLY)
- configure_file(glib/glibconfig.h.win32 ${CMAKE_BINARY_DIR}/config/glib/glibconfig.h COPYONLY)
- configure_file(gmodule/gmoduleconf.h.win32 ${CMAKE_BINARY_DIR}/config/gmodule/gmoduleconf.h COPYONLY)
- configure_file(gio/gnetworking.h.win32 ${CMAKE_BINARY_DIR}/config/gio/gnetworking.h COPYONLY)
- add_definitions(-DHAVE_CONFIG_H)
-else()
- file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/config)
- set(ENV{LIBFFI_LIBS} "${FFI_LIBRARY}")
- set(ENV{PCRE_LIBS} "${PCRE_LIBRARY}")
- set(ENV{LIBFFI_CFLAGS} "-I${FFI_INCLUDE_DIR}")
- set(ENV{PCRE_CFLAGS} "-I${PCRE_INCLUDE_DIR}")
- set(ENV{MSGFMT} "/bin/echo")
- set(ENV{GMSGFMT} "/bin/echo")
- string(TOUPPER "${CMAKE_BUILD_TYPE}" UPPER_CONFIG)
- set(CXXFLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${UPPER_CONFIG}} -I${PCRE_INCLUDE_DIR}")
- set(CFLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_${UPPER_CONFIG}} -I${PCRE_INCLUDE_DIR}")
- if(BUILD_SHARED_LIBS)
- set(LDFLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${CMAKE_SHARED_LINKER_FLAGS_${UPPER_CONFIG}} -L${LIB_DIR}")
- else()
- set(LDFLAGS "${CMAKE_STATIC_LINKER_FLAGS} ${CMAKE_STATIC_LINKER_FLAGS_${UPPER_CONFIG}} -L${LIB_DIR}")
- endif()
-
- string(STRIP "${CXXFLAGS}" CXXFLAGS)
- string(STRIP "${CFLAGS}" CFLAGS)
- string(STRIP "${LDFLAGS}" LDFLAGS)
- execute_process(
- COMMAND "${CMAKE_SOURCE_DIR}/configure"
- --disable-libelf
- --disable-libmount
- "CPPFLAGS=${CXXFLAGS}"
- "CFLAGS=${CFLAGS}"
- "LDFLAGS=${LDFLAGS}"
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/config
- RESULT_VARIABLE res
- )
- if(NOT res EQUAL 0)
- message(FATAL_ERROR "Configure failed.")
- endif()
-
- if (NOT HAVE_SELINUX)
- file(READ "${CMAKE_BINARY_DIR}/config/config.h" CONFIG_H)
- string(REPLACE "#define HAVE_SELINUX 1"
- "#undef HAVE_SELINUX" CONFIG_H "${CONFIG_H}")
- file(WRITE "${CMAKE_BINARY_DIR}/config/config.h" "${CONFIG_H}")
- endif()
-
- add_definitions("-DGIO_MODULE_DIR=\"gio/modules\"")
-endif()
-install(FILES ${CMAKE_BINARY_DIR}/config/config.h DESTINATION include/glib)
-install(FILES ${CMAKE_SOURCE_DIR}/msvc_recommended_pragmas.h DESTINATION include)
-
-include_directories(${CMAKE_BINARY_DIR}/config ${CMAKE_BINARY_DIR}/config/glib ${CMAKE_BINARY_DIR}/config/gio ${CMAKE_BINARY_DIR}/config/gmodule)
-include_directories(. glib)
-
-# This macro purposely doesn't find nodes with sources that have additional properties set
-# Most of such files in glib are PCRE sources which we don't use anyway
-macro(extract_vcproj_sources VC_PROJECT OUT_VAR)
- file(READ ${VC_PROJECT} ${VC_PROJECT}-CONTENTS)
- STRING(REPLACE "\n" ";" ${VC_PROJECT}-CONTENTS "${${VC_PROJECT}-CONTENTS}") # split by lines
- foreach(LINE ${${VC_PROJECT}-CONTENTS})
- if(LINE MATCHES "")
- string(REPLACE "" "" LINE ${LINE})
- string(STRIP ${LINE} LINE)
- file(TO_CMAKE_PATH ${LINE} LINE)
- list(APPEND ${OUT_VAR} ${LINE})
- endif()
- endforeach()
-endmacro()
-
-# main module
-extract_vcproj_sources(win32/vs14/glib.vcxproj GLIB_SOURCES)
-list(APPEND GLIB_SOURCES glib/libcharset/localcharset.c) # modified internal version with prefixed symbols
-if(NOT WIN32)
- list(FILTER GLIB_SOURCES EXCLUDE REGEX "win32.c\$|win32-helper.c\$")
- list(APPEND GLIB_SOURCES "glib/gthread-posix.c" "glib/giounix.c" "glib/gspawn.c" "glib/glib-unix.c")
-endif()
-add_library(glib ${GLIB_SOURCES})
-target_compile_definitions(glib PRIVATE GLIB_COMPILATION G_LOG_DOMAIN="GLib" LIBDIR="")
-target_link_libraries(glib PRIVATE ${PCRE_LIBRARY} Iconv::Iconv ${Intl_LIBRARIES})
-if(WIN32)
- target_compile_definitions(glib PRIVATE USE_SYSTEM_PCRE)
- target_link_libraries(glib PRIVATE ws2_32 winmm advapi32 ole32 shell32)
-else()
- set(THREADS_PREFER_PTHREAD_FLAG ON)
- find_package(Threads REQUIRED)
- target_link_libraries(glib PRIVATE Threads::Threads ${CMAKE_DL_LIBS})
-endif()
-target_include_directories(glib PRIVATE ${PCRE_INCLUDE_DIR} ${ICONV_INCLUDE_DIR})
-target_include_directories(glib PUBLIC $ $)
-list(APPEND GLIB_TARGETS glib)
-if(NOT GLIB_SKIP_HEADERS)
- install(FILES glib/glib.h glib/glib-object.h ${CMAKE_BINARY_DIR}/config/glib/glibconfig.h DESTINATION include)
-
- file(GLOB GLIB_HEADERS glib/*.h)
- list(FILTER GLIB_HEADERS EXCLUDE REGEX "/glib.h\$|/glib-object.h\$|private.h\$")
- install(FILES ${GLIB_HEADERS} DESTINATION include/glib)
-
- file(GLOB GLIB_DEP_HEADERS glib/deprecated/*.h)
- install(FILES ${GLIB_DEP_HEADERS} DESTINATION include/glib/deprecated)
-endif()
-
-# gthread
-add_library(gthread gthread/gthread-impl.c)
-target_compile_definitions(gthread PRIVATE G_LOG_DOMAIN="GThread")
-target_link_libraries(gthread PRIVATE glib ${Intl_LIBRARIES})
-target_include_directories(gthread PRIVATE ${Intl_INCLUDE_DIRS})
-list(APPEND GLIB_TARGETS gthread)
-
-# gobject
-extract_vcproj_sources(win32/vs14/gobject.vcxproj GOBJECT_SOURCES)
-add_library(gobject ${GOBJECT_SOURCES})
-target_compile_definitions(gobject PRIVATE GOBJECT_COMPILATION G_LOG_DOMAIN="GLib-GObject")
-target_link_libraries(gobject PRIVATE gthread glib ${FFI_LIBRARY})
-target_include_directories(gobject PRIVATE ${FFI_INCLUDE_DIR} PUBLIC $)
-list(APPEND GLIB_TARGETS gobject)
-if(NOT GLIB_SKIP_HEADERS)
- file(GLOB GOBJECT_HEADERS gobject/*.h gobject/gobjectnotifyqueue.c)
- list(FILTER GOBJECT_HEADERS EXCLUDE REGEX "private.h\$")
- install(FILES ${GOBJECT_HEADERS} DESTINATION include/gobject)
-endif()
-
-# gmodule
-add_library(gmodule gmodule/gmodule.c)
-target_compile_definitions(gmodule PRIVATE G_LOG_DOMAIN="GModule")
-target_link_libraries(gmodule PRIVATE glib ${CMAKE_DL_LIBS} ${Intl_LIBRARIES})
-target_include_directories(gmodule PUBLIC $)
-target_include_directories(gmodule PRIVATE ${Intl_INCLUDE_DIRS} PUBLIC $)
-list(APPEND GLIB_TARGETS gmodule)
-if(NOT GLIB_SKIP_HEADERS)
- install(FILES gmodule/gmodule.h DESTINATION include)
-endif()
-
-# gio subdirs
-if(NOT WIN32)
- file(GLOB XDGMIME_SOURCES gio/xdgmime/*.c)
- add_library(xdgmime ${XDGMIME_SOURCES})
- target_compile_definitions(xdgmime PRIVATE -DXDG_PREFIX=_gio_xdg)
- list(APPEND GLIB_TARGETS xdgmime)
-endif()
-
-if(NOT WIN32 AND NOT APPLE)
- file(GLOB INOTIFY_SOURCES gio/inotify/*.c)
- add_library(inotify ${INOTIFY_SOURCES})
- target_link_libraries(inotify PRIVATE gmodule)
- target_compile_definitions(inotify PRIVATE -DG_LOG_DOMAIN=\"GLib-GIO\" -DGIO_COMPILATION -DG_DISABLE_DEPRECATED)
- list(APPEND GLIB_TARGETS inotify)
-endif()
-
-if(APPLE)
- file(GLOB KQUEUE_SOURCES gio/kqueue/*.c)
- add_library(kqueue ${KQUEUE_SOURCES})
- target_link_libraries(kqueue PRIVATE gmodule)
- target_compile_definitions(kqueue PRIVATE -DG_LOG_DOMAIN=\"GLib-GIO\" -DGIO_COMPILATION -DG_DISABLE_DEPRECATED)
- list(APPEND GLIB_TARGETS kqueue)
-endif()
-
-# gio
-extract_vcproj_sources(win32/vs14/gio.vcxproj GIO_SOURCES)
-if(NOT WIN32)
- file(GLOB GIO_UNIX_SOURCES "gio/gunix*.c" "gio/g*notificationbackend.c" "gio/g*portal*.c")
- list(APPEND GIO_SOURCES ${GIO_UNIX_SOURCES})
- list(APPEND GIO_SOURCES
- "gio/gcontenttype.c"
- "gio/gfiledescriptorbased.c"
- "gio/gnetworkmonitornm.c"
- "gio/xdp-dbus.c"
- )
- list(FILTER GIO_SOURCES EXCLUDE REGEX "/gwin32[^/]+\$|win32/[^/]+\$|win32.c\$|gregistrysettingsbackend.c\$")
- if(APPLE)
- set_property(SOURCE
- gio/gcocoanotificationbackend.c
- gio/gosxappinfo.c
- gio/gnextstepsettingsbackend.c
- PROPERTY COMPILE_FLAGS "-x objective-c")
- list(APPEND GIO_SOURCES
- "gio/gnextstepsettingsbackend.c"
- "gio/gosxappinfo.c"
- )
- else()
- list(APPEND GIO_SOURCES
- "gio/gnetworkmonitornetlink.c"
- "gio/gdesktopappinfo.c"
- )
- list(FILTER GIO_SOURCES EXCLUDE REGEX "gcocoanotificationbackend.c\$")
- endif()
-endif()
-if(NOT GLIB_SKIP_HEADERS)
- file(GLOB GIO_HEADERS gio/*.h)
- list(FILTER GIO_HEADERS EXCLUDE REGEX "private.h\$")
- install(FILES ${GIO_HEADERS} ${CMAKE_BINARY_DIR}/config/gio/gnetworking.h DESTINATION include/gio)
-endif()
-add_library(gio ${GIO_SOURCES})
-target_compile_definitions(gio PRIVATE GIO_COMPILATION G_LOG_DOMAIN="GLib-GIO")
-target_link_libraries(gio PRIVATE glib gmodule gobject ZLIB::ZLIB ${LIBRESOLV_LIBRARY} ${Intl_LIBRARIES})
-target_include_directories(gio PUBLIC $ $)
-if(WIN32)
- target_link_libraries(gio PRIVATE ws2_32 shlwapi dnsapi iphlpapi advapi32 shell32)
-elseif(APPLE)
- target_link_libraries(gio PRIVATE xdgmime kqueue)
- if (HAVE_SELINUX)
- target_link_libraries(gio PRIVATE selinux)
- endif()
-else()
- target_link_libraries(gio PRIVATE xdgmime inotify)
- if (HAVE_SELINUX)
- target_link_libraries(gio PRIVATE selinux)
- endif()
-endif()
-list(APPEND GLIB_TARGETS gio)
-
-foreach(GTARGET ${GLIB_TARGETS})
- set_target_properties(${GTARGET} PROPERTIES
- OUTPUT_NAME ${GTARGET}-${GLIB_DLL_SUFFIX}
- ARCHIVE_OUTPUT_NAME ${GTARGET}-${GLIB_LIB_SUFFIX})
-endforeach()
-
-macro(add_glib_tool TOOL_NAME)
- add_executable(${TOOL_NAME} ${ARGN})
- if(WIN32)
- target_link_libraries(${TOOL_NAME} glib ${Intl_LIBRARIES} shell32)
- else()
- target_link_libraries(${TOOL_NAME} glib ${Intl_LIBRARIES})
- endif()
- target_compile_definitions(${TOOL_NAME} PRIVATE GLIB_COMPILATION)
- list(APPEND GLIB_TOOLS ${TOOL_NAME})
-endmacro()
-
-macro(add_gio_tool TOOL_NAME)
- add_executable(${TOOL_NAME} ${ARGN})
- target_link_libraries(${TOOL_NAME} PRIVATE glib gio gobject gmodule ${Intl_LIBRARIES})
- target_include_directories(${TOOL_NAME} PRIVATE gmodule gio)
- target_compile_definitions(${TOOL_NAME} PRIVATE GIO_COMPILATION)
- list(APPEND GLIB_TOOLS ${TOOL_NAME})
-endmacro()
-
-if(NOT GLIB_SKIP_TOOLS)
- configure_file(gobject/glib-mkenums.in ${CMAKE_SOURCE_DIR}/gobject/glib-mkenums @ONLY) # uses GLIB_VERSION
- install(FILES gobject/glib-mkenums DESTINATION tools/glib)
-
- configure_file(gio/gdbus-2.0/codegen/gdbus-codegen.in ${CMAKE_SOURCE_DIR}/gio/gdbus-2.0/codegen/gdbus-codegen COPYONLY)
- install(FILES gio/gdbus-2.0/codegen/gdbus-codegen DESTINATION tools/glib)
- file(GLOB CODEGEN_SOURCES gio/gdbus-2.0/codegen/*.py)
- install(FILES ${CODEGEN_SOURCES} DESTINATION tools/glib/codegen)
-
- add_gio_tool(gdbus gio/gdbus-tool.c)
- add_gio_tool(gio-querymodules gio/gio-querymodules.c)
- file(GLOB GIO_TOOL_SOURCES gio/gio-tool*.c)
- add_gio_tool(gio-tool ${GIO_TOOL_SOURCES})
- set_target_properties(gio-tool PROPERTIES OUTPUT_NAME gio)
- add_gio_tool(glib-compile-resources gio/glib-compile-resources.c gio/gvdb/gvdb-builder.c)
- add_gio_tool(glib-compile-schemas gio/glib-compile-schemas.c gio/gvdb/gvdb-builder.c)
- add_gio_tool(gresource gio/gresource-tool.c)
- add_gio_tool(gsettings gio/gsettings-tool.c)
-
- if(CMAKE_SIZEOF_VOID_P EQUAL 4)
- set(WIN win32)
- else()
- set(WIN win64)
- endif()
-
- add_glib_tool(glib-genmarshal gobject/glib-genmarshal.c)
- if(WIN32)
- add_glib_tool(gspawn-${WIN}-helper WIN32 glib/gspawn-win32-helper.c)
- add_glib_tool(gspawn-${WIN}-helper-console glib/gspawn-win32-helper-console.c)
- endif()
-
- install(TARGETS ${GLIB_TOOLS} RUNTIME DESTINATION tools/glib)
-endif()
-
-install(
- TARGETS ${GLIB_TARGETS}
- EXPORT glib
- RUNTIME DESTINATION bin
- ARCHIVE DESTINATION lib
- LIBRARY DESTINATION lib
-)
-install(
- EXPORT glib
- NAMESPACE unofficial::glib::
- FILE unofficial-glib-targets.cmake
- DESTINATION share/unofficial-glib
-)
-configure_file(
- ${CMAKE_CURRENT_SOURCE_DIR}/cmake/unofficial-glib-config.in.cmake
- ${CMAKE_CURRENT_BINARY_DIR}/cmake/unofficial-glib-config.cmake
- @ONLY
-)
-install(
- FILES ${CMAKE_CURRENT_BINARY_DIR}/cmake/unofficial-glib-config.cmake
- DESTINATION share/unofficial-glib
-)
-
-message(STATUS "Link-time dependencies:")
-message(STATUS " " ${ZLIB_LIBRARIES})
-message(STATUS " " ${PCRE_LIBRARY})
-message(STATUS " " ${ICONV_LIBRARY})
-message(STATUS " " ${CHARSET_LIBRARY})
-message(STATUS " " ${FFI_LIBRARY})
-message(STATUS " " ${Intl_LIBRARIES})
-
-set(VERSION ${GLIB_VERSION})
-set(prefix ${CMAKE_INSTALL_PREFIX})
-set(exec_prefix ${CMAKE_INSTALL_PREFIX})
-set(libdir ${CMAKE_INSTALL_PREFIX}/lib)
-set(includedir ${CMAKE_INSTALL_PREFIX}/include)
-set(PCRE_REQUIRES libpcre)
-set(LIBFFI_LIBS "-lffi")
-
-configure_file("${CMAKE_CURRENT_SOURCE_DIR}/glib-2.0.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/glib-2.0.pc" @ONLY)
-configure_file("${CMAKE_CURRENT_SOURCE_DIR}/gobject-2.0.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/gobject-2.0.pc" @ONLY)
-configure_file("${CMAKE_CURRENT_SOURCE_DIR}/gmodule-2.0.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/gmodule-2.0.pc" @ONLY)
-configure_file("${CMAKE_CURRENT_SOURCE_DIR}/gmodule-export-2.0.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/gmodule-export-2.0.pc" @ONLY)
-configure_file("${CMAKE_CURRENT_SOURCE_DIR}/gmodule-no-export-2.0.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/gmodule-no-export-2.0.pc" @ONLY)
-configure_file("${CMAKE_CURRENT_SOURCE_DIR}/gthread-2.0.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/gthread-2.0.pc" @ONLY)
-configure_file("${CMAKE_CURRENT_SOURCE_DIR}/gio-2.0.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/gio-2.0.pc" @ONLY)
-
-install(FILES "${CMAKE_CURRENT_BINARY_DIR}/glib-2.0.pc"
- "${CMAKE_CURRENT_BINARY_DIR}/gobject-2.0.pc"
- "${CMAKE_CURRENT_BINARY_DIR}/gmodule-2.0.pc"
- "${CMAKE_CURRENT_BINARY_DIR}/gmodule-export-2.0.pc"
- "${CMAKE_CURRENT_BINARY_DIR}/gmodule-no-export-2.0.pc"
- "${CMAKE_CURRENT_BINARY_DIR}/gthread-2.0.pc"
- "${CMAKE_CURRENT_BINARY_DIR}/gio-2.0.pc"
- DESTINATION lib/pkgconfig)
-
-if(WIN32)
-configure_file("${CMAKE_CURRENT_SOURCE_DIR}/gio-windows-2.0.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/gio-windows-2.0.pc" @ONLY)
-install(FILES "${CMAKE_CURRENT_BINARY_DIR}/gio-windows-2.0.pc" DESTINATION lib/pkgconfig)
-endif()
-
-if(UNIX)
-configure_file("${CMAKE_CURRENT_SOURCE_DIR}/gio-unix-2.0.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/gio-unix-2.0.pc" @ONLY)
-install(FILES "${CMAKE_CURRENT_BINARY_DIR}/gio-unix-2.0.pc" DESTINATION lib/pkgconfig)
-endif()
diff --git a/ports/glib/CONTROL b/ports/glib/CONTROL
deleted file mode 100644
index fd3219b2d73489..00000000000000
--- a/ports/glib/CONTROL
+++ /dev/null
@@ -1,10 +0,0 @@
-Source: glib
-Version: 2.52.3
-Port-Version: 27
-Homepage: https://developer.gnome.org/glib/
-Description: Portable, general-purpose utility library.
-Build-Depends: zlib, pcre, libffi, gettext, libiconv
-Supports: !uwp
-
-Feature: selinux
-Description: Build with selinux support.
diff --git a/ports/glib/arm64-defines.patch b/ports/glib/arm64-defines.patch
deleted file mode 100644
index c1b5181c65c077..00000000000000
--- a/ports/glib/arm64-defines.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-diff --git a/config.h.win32 b/config.h.win32
-index 999641d65..531843e0e 100644
---- a/config.h.win32
-+++ b/config.h.win32
-@@ -728,7 +728,7 @@
-
- /* The size of `void *', as computed by sizeof. */
- #ifdef _MSC_VER
--#if (defined(_M_X64) || defined(_M_AMD64))
-+#if (defined(_M_X64) || defined(_M_AMD64) || defined(_M_ARM64))
- #define SIZEOF_VOID_P 8
- #elif (defined(_M_IX86))
- #define SIZEOF_VOID_P 4
-diff --git a/config.h.win32.in b/config.h.win32.in
-index eaf7e2818..049c5e9f4 100644
---- a/config.h.win32.in
-+++ b/config.h.win32.in
-@@ -728,7 +728,7 @@
-
- /* The size of `void *', as computed by sizeof. */
- #ifdef _MSC_VER
--#if (defined(_M_X64) || defined(_M_AMD64))
-+#if (defined(_M_X64) || defined(_M_AMD64) || defined(_M_ARM64))
- #define SIZEOF_VOID_P 8
- #elif (defined(_M_IX86))
- #define SIZEOF_VOID_P 4
-diff --git a/gio/gdbusaddress.c b/gio/gdbusaddress.c
-index 9b3619cb1..6400572a2 100644
---- a/gio/gdbusaddress.c
-+++ b/gio/gdbusaddress.c
-@@ -1469,7 +1469,7 @@ get_session_address_dbus_launch (GError **error)
- wcscat (args, rundll_path);
- wcscat (args, L"\" ");
- wcscat (args, gio_path_short);
--#if defined(_WIN64) || defined(_M_X64) || defined(_M_AMD64)
-+#if defined(_WIN64) || defined(_M_X64) || defined(_M_AMD64) || defined(_M_ARM64)
- wcscat (args, L",g_win32_run_session_bus");
- #elif defined (_MSC_VER)
- wcscat (args, L",_g_win32_run_session_bus@16");
-diff --git a/glib/gatomic.c b/glib/gatomic.c
-index e3e49fab4..e257e4377 100644
---- a/glib/gatomic.c
-+++ b/glib/gatomic.c
-@@ -474,7 +474,7 @@ gsize
- #elif defined (G_PLATFORM_WIN32)
-
- #include
--#if !defined(_M_AMD64) && !defined (_M_IA64) && !defined(_M_X64) && !(defined _MSC_VER && _MSC_VER <= 1200)
-+#if !defined(_M_ARM64) && !defined(_M_AMD64) && !defined (_M_IA64) && !defined(_M_X64) && !(defined _MSC_VER && _MSC_VER <= 1200)
- #define InterlockedAnd _InterlockedAnd
- #define InterlockedOr _InterlockedOr
- #define InterlockedXor _InterlockedXor
-diff --git a/glib/glibconfig.h.win32 b/glib/glibconfig.h.win32
-index d9f893a15..b75a86f10 100644
---- a/glib/glibconfig.h.win32
-+++ b/glib/glibconfig.h.win32
-@@ -68,7 +68,7 @@ typedef unsigned __int64 guint64;
- #define G_GINT64_FORMAT "I64i"
- #define G_GUINT64_FORMAT "I64u"
-
--#if defined(_WIN64) || defined(_M_X64) || defined(_M_AMD64)
-+#if defined(_WIN64) || defined(_M_X64) || defined(_M_AMD64) || defined(_M_ARM64)
-
- #define GLIB_SIZEOF_VOID_P 8
- #define GLIB_SIZEOF_LONG 4
-diff --git a/glib/glibconfig.h.win32.in b/glib/glibconfig.h.win32.in
-index 9a91c5e96..f0b88c976 100644
---- a/glib/glibconfig.h.win32.in
-+++ b/glib/glibconfig.h.win32.in
-@@ -68,7 +68,7 @@ typedef unsigned __int64 guint64;
- #define G_GINT64_FORMAT "I64i"
- #define G_GUINT64_FORMAT "I64u"
-
--#if defined(_WIN64) || defined(_M_X64) || defined(_M_AMD64)
-+#if defined(_WIN64) || defined(_M_X64) || defined(_M_AMD64) || defined(_M_ARM64)
-
- #define GLIB_SIZEOF_VOID_P 8
- #define GLIB_SIZEOF_LONG 4
diff --git a/ports/glib/cmake/install_headers.cmake b/ports/glib/cmake/install_headers.cmake
deleted file mode 100644
index 7840f34ab983b4..00000000000000
--- a/ports/glib/cmake/install_headers.cmake
+++ /dev/null
@@ -1,255 +0,0 @@
-# generated from glib-install.props
-install(FILES glib/glib.h DESTINATION include)
-install(FILES ${CMAKE_BINARY_DIR}/config/glib/glibconfig.h DESTINATION include)
-install(FILES glib/glib-object.h DESTINATION include)
-install(FILES glib/deprecated/gallocator.h DESTINATION include/glib/deprecated)
-install(FILES glib/deprecated/gcache.h DESTINATION include/glib/deprecated)
-install(FILES glib/deprecated/gcompletion.h DESTINATION include/glib/deprecated)
-install(FILES glib/deprecated/gmain.h DESTINATION include/glib/deprecated)
-install(FILES glib/deprecated/grel.h DESTINATION include/glib/deprecated)
-install(FILES glib/deprecated/gthread.h DESTINATION include/glib/deprecated)
-install(FILES glib/glib-autocleanups.h DESTINATION include/glib)
-install(FILES glib/galloca.h DESTINATION include/glib)
-install(FILES glib/garray.h DESTINATION include/glib)
-install(FILES glib/gasyncqueue.h DESTINATION include/glib)
-install(FILES glib/gatomic.h DESTINATION include/glib)
-install(FILES glib/gbacktrace.h DESTINATION include/glib)
-install(FILES glib/gbase64.h DESTINATION include/glib)
-install(FILES glib/gbitlock.h DESTINATION include/glib)
-install(FILES glib/gbookmarkfile.h DESTINATION include/glib)
-install(FILES glib/gbytes.h DESTINATION include/glib)
-install(FILES glib/gcharset.h DESTINATION include/glib)
-install(FILES glib/gchecksum.h DESTINATION include/glib)
-install(FILES glib/gconvert.h DESTINATION include/glib)
-install(FILES glib/gdataset.h DESTINATION include/glib)
-install(FILES glib/gdate.h DESTINATION include/glib)
-install(FILES glib/gdatetime.h DESTINATION include/glib)
-install(FILES glib/gdir.h DESTINATION include/glib)
-install(FILES glib/genviron.h DESTINATION include/glib)
-install(FILES glib/gerror.h DESTINATION include/glib)
-install(FILES glib/gfileutils.h DESTINATION include/glib)
-install(FILES glib/ggettext.h DESTINATION include/glib)
-install(FILES glib/ghash.h DESTINATION include/glib)
-install(FILES glib/ghmac.h DESTINATION include/glib)
-install(FILES glib/ghook.h DESTINATION include/glib)
-install(FILES glib/ghostutils.h DESTINATION include/glib)
-install(FILES glib/gi18n.h DESTINATION include/glib)
-install(FILES glib/gi18n-lib.h DESTINATION include/glib)
-install(FILES glib/giochannel.h DESTINATION include/glib)
-install(FILES glib/gkeyfile.h DESTINATION include/glib)
-install(FILES glib/glist.h DESTINATION include/glib)
-install(FILES glib/gmacros.h DESTINATION include/glib)
-install(FILES glib/gmain.h DESTINATION include/glib)
-install(FILES glib/gmappedfile.h DESTINATION include/glib)
-install(FILES glib/gmarkup.h DESTINATION include/glib)
-install(FILES glib/gmem.h DESTINATION include/glib)
-install(FILES glib/gmessages.h DESTINATION include/glib)
-install(FILES glib/gnode.h DESTINATION include/glib)
-install(FILES glib/goption.h DESTINATION include/glib)
-install(FILES glib/gpattern.h DESTINATION include/glib)
-install(FILES glib/gpoll.h DESTINATION include/glib)
-install(FILES glib/gprimes.h DESTINATION include/glib)
-install(FILES glib/gqsort.h DESTINATION include/glib)
-install(FILES glib/gquark.h DESTINATION include/glib)
-install(FILES glib/gqueue.h DESTINATION include/glib)
-install(FILES glib/grand.h DESTINATION include/glib)
-install(FILES glib/gregex.h DESTINATION include/glib)
-install(FILES glib/gscanner.h DESTINATION include/glib)
-install(FILES glib/gsequence.h DESTINATION include/glib)
-install(FILES glib/gshell.h DESTINATION include/glib)
-install(FILES glib/gslice.h DESTINATION include/glib)
-install(FILES glib/gslist.h DESTINATION include/glib)
-install(FILES glib/gspawn.h DESTINATION include/glib)
-install(FILES glib/gstdio.h DESTINATION include/glib)
-install(FILES glib/gstrfuncs.h DESTINATION include/glib)
-install(FILES glib/gtestutils.h DESTINATION include/glib)
-install(FILES glib/gstring.h DESTINATION include/glib)
-install(FILES glib/gstringchunk.h DESTINATION include/glib)
-install(FILES glib/gthread.h DESTINATION include/glib)
-install(FILES glib/gthreadpool.h DESTINATION include/glib)
-install(FILES glib/gtimer.h DESTINATION include/glib)
-install(FILES glib/gtimezone.h DESTINATION include/glib)
-install(FILES glib/gtrashstack.h DESTINATION include/glib)
-install(FILES glib/gtree.h DESTINATION include/glib)
-install(FILES glib/gtypes.h DESTINATION include/glib)
-install(FILES glib/gunicode.h DESTINATION include/glib)
-install(FILES glib/gurifuncs.h DESTINATION include/glib)
-install(FILES glib/gutils.h DESTINATION include/glib)
-install(FILES glib/guuid.h DESTINATION include/glib)
-install(FILES glib/gvarianttype.h DESTINATION include/glib)
-install(FILES glib/gvariant.h DESTINATION include/glib)
-install(FILES glib/gversion.h DESTINATION include/glib)
-install(FILES glib/gversionmacros.h DESTINATION include/glib)
-install(FILES glib/gwin32.h DESTINATION include/glib)
-install(FILES glib/gprintf.h DESTINATION include/glib)
-install(FILES gmodule/gmodule.h DESTINATION include)
-install(FILES gobject/gobject-autocleanups.h DESTINATION include/gobject)
-install(FILES gobject/glib-types.h DESTINATION include/gobject)
-install(FILES gobject/gbinding.h DESTINATION include/gobject)
-install(FILES gobject/gboxed.h DESTINATION include/gobject)
-install(FILES gobject/gclosure.h DESTINATION include/gobject)
-install(FILES gobject/genums.h DESTINATION include/gobject)
-install(FILES gobject/gmarshal.h DESTINATION include/gobject)
-install(FILES gobject/gobject.h DESTINATION include/gobject)
-install(FILES gobject/gparam.h DESTINATION include/gobject)
-install(FILES gobject/gparamspecs.h DESTINATION include/gobject)
-install(FILES gobject/gsignal.h DESTINATION include/gobject)
-install(FILES gobject/gsourceclosure.h DESTINATION include/gobject)
-install(FILES gobject/gtype.h DESTINATION include/gobject)
-install(FILES gobject/gtypemodule.h DESTINATION include/gobject)
-install(FILES gobject/gtypeplugin.h DESTINATION include/gobject)
-install(FILES gobject/gvalue.h DESTINATION include/gobject)
-install(FILES gobject/gvaluearray.h DESTINATION include/gobject)
-install(FILES gobject/gvaluecollector.h DESTINATION include/gobject)
-install(FILES gobject/gvaluetypes.h DESTINATION include/gobject)
-install(FILES gobject/gobjectnotifyqueue.c DESTINATION include/gobject)
-install(FILES gio/gappinfo.h DESTINATION include/gio)
-install(FILES gio/gasyncinitable.h DESTINATION include/gio)
-install(FILES gio/gasyncresult.h DESTINATION include/gio)
-install(FILES gio/gbufferedinputstream.h DESTINATION include/gio)
-install(FILES gio/gbufferedoutputstream.h DESTINATION include/gio)
-install(FILES gio/gbytesicon.h DESTINATION include/gio)
-install(FILES gio/gcancellable.h DESTINATION include/gio)
-install(FILES gio/gcontenttype.h DESTINATION include/gio)
-install(FILES gio/gcharsetconverter.h DESTINATION include/gio)
-install(FILES gio/gconverter.h DESTINATION include/gio)
-install(FILES gio/gconverterinputstream.h DESTINATION include/gio)
-install(FILES gio/gconverteroutputstream.h DESTINATION include/gio)
-install(FILES gio/gdatagrambased.h DESTINATION include/gio)
-install(FILES gio/gdatainputstream.h DESTINATION include/gio)
-install(FILES gio/gdataoutputstream.h DESTINATION include/gio)
-install(FILES gio/gdrive.h DESTINATION include/gio)
-install(FILES gio/gemblem.h DESTINATION include/gio)
-install(FILES gio/gemblemedicon.h DESTINATION include/gio)
-install(FILES gio/gfile.h DESTINATION include/gio)
-install(FILES gio/gfileattribute.h DESTINATION include/gio)
-install(FILES gio/gfileenumerator.h DESTINATION include/gio)
-install(FILES gio/gfileicon.h DESTINATION include/gio)
-install(FILES gio/gfileinfo.h DESTINATION include/gio)
-install(FILES gio/gfileinputstream.h DESTINATION include/gio)
-install(FILES gio/gfilemonitor.h DESTINATION include/gio)
-install(FILES gio/gfilenamecompleter.h DESTINATION include/gio)
-install(FILES gio/gfileoutputstream.h DESTINATION include/gio)
-install(FILES gio/gfileiostream.h DESTINATION include/gio)
-install(FILES gio/gfilterinputstream.h DESTINATION include/gio)
-install(FILES gio/gfilteroutputstream.h DESTINATION include/gio)
-install(FILES gio/gicon.h DESTINATION include/gio)
-install(FILES gio/ginetaddress.h DESTINATION include/gio)
-install(FILES gio/ginetaddressmask.h DESTINATION include/gio)
-install(FILES gio/ginetsocketaddress.h DESTINATION include/gio)
-install(FILES gio/ginputstream.h DESTINATION include/gio)
-install(FILES gio/ginitable.h DESTINATION include/gio)
-install(FILES gio/gio.h DESTINATION include/gio)
-install(FILES gio/gio-autocleanups.h DESTINATION include/gio)
-install(FILES gio/giotypes.h DESTINATION include/gio)
-install(FILES gio/gioenums.h DESTINATION include/gio)
-install(FILES gio/gioerror.h DESTINATION include/gio)
-install(FILES gio/giomodule.h DESTINATION include/gio)
-install(FILES gio/gioscheduler.h DESTINATION include/gio)
-install(FILES gio/giostream.h DESTINATION include/gio)
-install(FILES gio/gloadableicon.h DESTINATION include/gio)
-install(FILES gio/gmount.h DESTINATION include/gio)
-install(FILES gio/gmemoryinputstream.h DESTINATION include/gio)
-install(FILES gio/gmemoryoutputstream.h DESTINATION include/gio)
-install(FILES gio/gmountoperation.h DESTINATION include/gio)
-install(FILES gio/gnativevolumemonitor.h DESTINATION include/gio)
-install(FILES gio/gnetworkaddress.h DESTINATION include/gio)
-install(FILES gio/gnetworkmonitor.h DESTINATION include/gio)
-install(FILES gio/gnetworkservice.h DESTINATION include/gio)
-install(FILES gio/goutputstream.h DESTINATION include/gio)
-install(FILES gio/gpermission.h DESTINATION include/gio)
-install(FILES gio/gpollableinputstream.h DESTINATION include/gio)
-install(FILES gio/gpollableoutputstream.h DESTINATION include/gio)
-install(FILES gio/gpollableutils.h DESTINATION include/gio)
-install(FILES gio/gproxyaddress.h DESTINATION include/gio)
-install(FILES gio/gproxy.h DESTINATION include/gio)
-install(FILES gio/gproxyaddressenumerator.h DESTINATION include/gio)
-install(FILES gio/gproxyresolver.h DESTINATION include/gio)
-install(FILES gio/gresolver.h DESTINATION include/gio)
-install(FILES gio/gresource.h DESTINATION include/gio)
-install(FILES gio/gseekable.h DESTINATION include/gio)
-install(FILES gio/gsimpleasyncresult.h DESTINATION include/gio)
-install(FILES gio/gsimpleiostream.h DESTINATION include/gio)
-install(FILES gio/gsimplepermission.h DESTINATION include/gio)
-install(FILES gio/gsocket.h DESTINATION include/gio)
-install(FILES gio/gsocketaddress.h DESTINATION include/gio)
-install(FILES gio/gsocketaddressenumerator.h DESTINATION include/gio)
-install(FILES gio/gsocketclient.h DESTINATION include/gio)
-install(FILES gio/gsocketconnectable.h DESTINATION include/gio)
-install(FILES gio/gsocketconnection.h DESTINATION include/gio)
-install(FILES gio/gsocketcontrolmessage.h DESTINATION include/gio)
-install(FILES gio/gsocketlistener.h DESTINATION include/gio)
-install(FILES gio/gsocketservice.h DESTINATION include/gio)
-install(FILES gio/gsrvtarget.h DESTINATION include/gio)
-install(FILES gio/gsimpleproxyresolver.h DESTINATION include/gio)
-install(FILES gio/gtask.h DESTINATION include/gio)
-install(FILES gio/gsubprocess.h DESTINATION include/gio)
-install(FILES gio/gsubprocesslauncher.h DESTINATION include/gio)
-install(FILES gio/gtcpconnection.h DESTINATION include/gio)
-install(FILES gio/gtcpwrapperconnection.h DESTINATION include/gio)
-install(FILES gio/gthreadedsocketservice.h DESTINATION include/gio)
-install(FILES gio/gthemedicon.h DESTINATION include/gio)
-install(FILES gio/gtlsbackend.h DESTINATION include/gio)
-install(FILES gio/gtlscertificate.h DESTINATION include/gio)
-install(FILES gio/gtlsclientconnection.h DESTINATION include/gio)
-install(FILES gio/gtlsconnection.h DESTINATION include/gio)
-install(FILES gio/gtlsdatabase.h DESTINATION include/gio)
-install(FILES gio/gtlsfiledatabase.h DESTINATION include/gio)
-install(FILES gio/gtlsinteraction.h DESTINATION include/gio)
-install(FILES gio/gtlspassword.h DESTINATION include/gio)
-install(FILES gio/gtlsserverconnection.h DESTINATION include/gio)
-install(FILES gio/gdtlsconnection.h DESTINATION include/gio)
-install(FILES gio/gdtlsclientconnection.h DESTINATION include/gio)
-install(FILES gio/gdtlsserverconnection.h DESTINATION include/gio)
-install(FILES gio/gvfs.h DESTINATION include/gio)
-install(FILES gio/gvolume.h DESTINATION include/gio)
-install(FILES gio/gvolumemonitor.h DESTINATION include/gio)
-install(FILES gio/gzlibcompressor.h DESTINATION include/gio)
-install(FILES gio/gzlibdecompressor.h DESTINATION include/gio)
-install(FILES gio/glistmodel.h DESTINATION include/gio)
-install(FILES gio/gliststore.h DESTINATION include/gio)
-install(FILES gio/gapplication.h DESTINATION include/gio)
-install(FILES gio/gapplicationcommandline.h DESTINATION include/gio)
-install(FILES gio/gactiongroup.h DESTINATION include/gio)
-install(FILES gio/gactionmap.h DESTINATION include/gio)
-install(FILES gio/gsimpleactiongroup.h DESTINATION include/gio)
-install(FILES gio/gremoteactiongroup.h DESTINATION include/gio)
-install(FILES gio/gactiongroupexporter.h DESTINATION include/gio)
-install(FILES gio/gdbusactiongroup.h DESTINATION include/gio)
-install(FILES gio/gaction.h DESTINATION include/gio)
-install(FILES gio/gpropertyaction.h DESTINATION include/gio)
-install(FILES gio/gsimpleaction.h DESTINATION include/gio)
-install(FILES gio/gmenumodel.h DESTINATION include/gio)
-install(FILES gio/gmenu.h DESTINATION include/gio)
-install(FILES gio/gmenuexporter.h DESTINATION include/gio)
-install(FILES gio/gdbusmenumodel.h DESTINATION include/gio)
-install(FILES gio/gnotification.h DESTINATION include/gio)
-install(FILES gio/gsettingsbackend.h DESTINATION include/gio)
-install(FILES gio/gsettingsschema.h DESTINATION include/gio)
-install(FILES gio/gsettings.h DESTINATION include/gio)
-install(FILES gio/gdbusauthobserver.h DESTINATION include/gio)
-install(FILES gio/gcredentials.h DESTINATION include/gio)
-install(FILES gio/gdbusutils.h DESTINATION include/gio)
-install(FILES gio/gdbuserror.h DESTINATION include/gio)
-install(FILES gio/gdbusaddress.h DESTINATION include/gio)
-install(FILES gio/gdbusconnection.h DESTINATION include/gio)
-install(FILES gio/gdbusmessage.h DESTINATION include/gio)
-install(FILES gio/gdbusnameowning.h DESTINATION include/gio)
-install(FILES gio/gdbusnamewatching.h DESTINATION include/gio)
-install(FILES gio/gdbusproxy.h DESTINATION include/gio)
-install(FILES gio/gdbusintrospection.h DESTINATION include/gio)
-install(FILES gio/gdbusmethodinvocation.h DESTINATION include/gio)
-install(FILES gio/gdbusserver.h DESTINATION include/gio)
-install(FILES gio/gdbusinterface.h DESTINATION include/gio)
-install(FILES gio/gdbusinterfaceskeleton.h DESTINATION include/gio)
-install(FILES gio/gdbusobject.h DESTINATION include/gio)
-install(FILES gio/gdbusobjectskeleton.h DESTINATION include/gio)
-install(FILES gio/gdbusobjectproxy.h DESTINATION include/gio)
-install(FILES gio/gdbusobjectmanager.h DESTINATION include/gio)
-install(FILES gio/gdbusobjectmanagerclient.h DESTINATION include/gio)
-install(FILES gio/gdbusobjectmanagerserver.h DESTINATION include/gio)
-install(FILES gio/gtestdbus.h DESTINATION include/gio)
-install(FILES gio/gioenumtypes.h DESTINATION include/gio)
-install(FILES ${CMAKE_BINARY_DIR}/config/gio/gnetworking.h DESTINATION include/gio)
-install(FILES gio/gwin32inputstream.h DESTINATION include/gio)
-install(FILES gio/gwin32outputstream.h DESTINATION include/gio)
diff --git a/ports/glib/cmake/unofficial-glib-config.in.cmake b/ports/glib/cmake/unofficial-glib-config.in.cmake
deleted file mode 100644
index 6edc8348be7e34..00000000000000
--- a/ports/glib/cmake/unofficial-glib-config.in.cmake
+++ /dev/null
@@ -1,7 +0,0 @@
-include(CMakeFindDependencyMacro)
-find_dependency(Iconv)
-if(NOT WIN32)
- find_dependency(Threads)
-endif()
-
-include("${CMAKE_CURRENT_LIST_DIR}/unofficial-glib-targets.cmake")
diff --git a/ports/glib/fix-arm-builds.patch b/ports/glib/fix-arm-builds.patch
deleted file mode 100644
index 257ee75c6b35c9..00000000000000
--- a/ports/glib/fix-arm-builds.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-diff --git a/gio/tests/plugin_resources.c b/gio/tests/plugin_resources.c
-index 4c1b0214b..bbfc7ae07 100644
---- a/gio/tests/plugin_resources.c
-+++ b/gio/tests/plugin_resources.c
-@@ -80,13 +80,13 @@ GResource *_g_plugin_get_resource (void)
- */
-
- /* We need to account for differences between the mangling of symbols
-- * for Win32 (x86) and x64 programs, as symbols on Win32 are prefixed
-- * with an underscore but symbols on x64 are not.
-+ * for x86 and x64/ARM/ARM64 programs, as symbols on x86 are prefixed
-+ * with an underscore but symbols on x64/ARM/ARM64 are not.
- */
--#ifdef _WIN64
--#define G_MSVC_SYMBOL_PREFIX ""
--#else
-+#ifdef _M_IX86
- #define G_MSVC_SYMBOL_PREFIX "_"
-+#else
-+#define G_MSVC_SYMBOL_PREFIX ""
- #endif
-
- #define G_DEFINE_CONSTRUCTOR(_func) G_MSVC_CTOR (_func, G_MSVC_SYMBOL_PREFIX)
-diff --git a/glib/gconstructor.h b/glib/gconstructor.h
-index dccb0314c..fa1139302 100644
---- a/glib/gconstructor.h
-+++ b/glib/gconstructor.h
-@@ -40,13 +40,13 @@
- */
-
- /* We need to account for differences between the mangling of symbols
-- * for Win32 (x86) and x64 programs, as symbols on Win32 are prefixed
-- * with an underscore but symbols on x64 are not.
-+ * for x86 and x64/ARM/ARM64 programs, as symbols on x86 are prefixed
-+ * with an underscore but symbols on x64/ARM/ARM64 are not.
- */
--#ifdef _WIN64
--#define G_MSVC_SYMBOL_PREFIX ""
--#else
-+#ifdef _M_IX86
- #define G_MSVC_SYMBOL_PREFIX "_"
-+#else
-+#define G_MSVC_SYMBOL_PREFIX ""
- #endif
-
- #define G_DEFINE_CONSTRUCTOR(_func) G_MSVC_CTOR (_func, G_MSVC_SYMBOL_PREFIX)
diff --git a/ports/glib/fix-libintl-detection.patch b/ports/glib/fix-libintl-detection.patch
new file mode 100644
index 00000000000000..0ee0063b4c46de
--- /dev/null
+++ b/ports/glib/fix-libintl-detection.patch
@@ -0,0 +1,13 @@
+diff --git a/meson.build b/meson.build
+--- a/meson.build
++++ b/meson.build
+@@ -2029,6 +2029,9 @@ else
+ libintl = disabler()
+ endif
+ endif
++ if not libintl.found()
++ libintl = dependency('Intl', required : false, method : 'cmake')
++ endif
+ if not libintl.found()
+ libintl = subproject('proxy-libintl').get_variable('intl_dep')
+ libintl_deps = [libintl] + libintl_deps
diff --git a/ports/glib/fix_pkgconfig.patch b/ports/glib/fix_pkgconfig.patch
deleted file mode 100644
index e429120f23323f..00000000000000
--- a/ports/glib/fix_pkgconfig.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff --git a/gio-unix-2.0.pc.in b/gio-unix-2.0.pc.in
-index fba58e2..2d015f6 100644
---- a/gio-unix-2.0.pc.in
-+++ b/gio-unix-2.0.pc.in
-@@ -8,4 +8,4 @@ Description: unix specific headers for glib I/O library
- Version: @VERSION@
- Requires: gobject-2.0,gio-2.0
- Libs: -L${libdir} -lgio-2.0
--Cflags: -I${includedir}/gio-unix-2.0/
-+Cflags: -I${includedir}/gio
-diff --git a/gio-windows-2.0.pc.in b/gio-windows-2.0.pc.in
-index 77eecdf..25bb0ae 100644
---- a/gio-windows-2.0.pc.in
-+++ b/gio-windows-2.0.pc.in
-@@ -8,4 +8,4 @@ Description: Windows specific headers for glib I/O library
- Version: @VERSION@
- Requires: gobject-2.0,gmodule-no-export-2.0,gio-2.0
- Libs: -L${libdir} -lgio-2.0
--Cflags: -I${includedir}/gio-win32-2.0/
-+Cflags: -I${includedir}/gio
-diff --git a/glib-2.0.pc.in b/glib-2.0.pc.in
-index 275fc01..1bfd74a 100644
---- a/glib-2.0.pc.in
-+++ b/glib-2.0.pc.in
-@@ -13,4 +13,4 @@ Version: @VERSION@
- Requires.private: @PCRE_REQUIRES@
- Libs: -L${libdir} -lglib-2.0 @INTLLIBS@
- Libs.private: @G_THREAD_LIBS@ @G_LIBS_EXTRA@ @PCRE_LIBS@ @INTLLIBS@ @ICONV_LIBS@ @CARBON_LIBS@ @COCOA_LIBS@
--Cflags: -I${includedir}/glib-2.0 -I${libdir}/glib-2.0/include @GLIB_EXTRA_CFLAGS@
-+Cflags: -I${includedir}/glib @GLIB_EXTRA_CFLAGS@
diff --git a/ports/glib/portfile.cmake b/ports/glib/portfile.cmake
index 099886a3c53e52..1a0d01a09751c8 100644
--- a/ports/glib/portfile.cmake
+++ b/ports/glib/portfile.cmake
@@ -4,13 +4,15 @@ vcpkg_fail_port_install(ON_TARGET "UWP")
# Glib relies on DllMain on Windows
if (VCPKG_TARGET_IS_WINDOWS)
vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)
+ #remove if merged: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1655
endif()
-set(GLIB_VERSION 2.52.3)
+set(GLIB_MAJOR_MINOR 2.66)
+set(GLIB_PATCH 4)
vcpkg_download_distfile(ARCHIVE
- URLS "https://ftp.gnome.org/pub/gnome/sources/glib/2.52/glib-${GLIB_VERSION}.tar.xz"
- FILENAME "glib-${GLIB_VERSION}.tar.xz"
- SHA512 a068f2519cfb82de8d4b7f004e7c1f15e841cad4046430a83b02b359d011e0c4077cdff447a1687ed7c68f1a11b4cf66b9ed9fc23ab5f0c7c6be84eb0ddc3017)
+ URLS "https://ftp.gnome.org/pub/gnome/sources/glib/${GLIB_MAJOR_MINOR}/glib-${GLIB_MAJOR_MINOR}.${GLIB_PATCH}.tar.xz"
+ FILENAME "glib-${GLIB_MAJOR_MINOR}.${GLIB_PATCH}.tar.xz"
+ SHA512 b3bc3e6e5cca793139848940e5c0894f1c7e3bd3a770b213a1ea548ac54a2432aebb140ed54518712fb8af36382b3b13d5f7ffd3d87ff63cba9e2f55434f7260)
vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH
@@ -18,43 +20,107 @@ vcpkg_extract_source_archive_ex(
REF ${GLIB_VERSION}
PATCHES
use-libiconv-on-windows.patch
- arm64-defines.patch
- fix-arm-builds.patch
- fix_pkgconfig.patch
+ fix-libintl-detection.patch
)
-configure_file(${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt ${SOURCE_PATH}/CMakeLists.txt COPYONLY)
-file(COPY ${CMAKE_CURRENT_LIST_DIR}/cmake DESTINATION ${SOURCE_PATH})
-file(REMOVE_RECURSE ${SOURCE_PATH}/glib/pcre)
-file(WRITE ${SOURCE_PATH}/glib/pcre/Makefile.in)
-file(REMOVE ${SOURCE_PATH}/glib/win_iconv.c)
-if (selinux IN_LIST FEATURES AND NOT VCPKG_TARGET_IS_WINDOWS AND NOT EXISTS "/usr/include/selinux")
- message("Selinux was not found in its typical system location. Your build may fail. You can install Selinux with \"apt-get install selinux\".")
+if (selinux IN_LIST FEATURES)
+ if(NOT VCPKG_TARGET_IS_WINDOWS AND NOT EXISTS "/usr/include/selinux")
+ message("Selinux was not found in its typical system location. Your build may fail. You can install Selinux with \"apt-get install selinux\".")
+ endif()
+ list(APPEND OPTIONS -Dselinux=enabled)
+else()
+ list(APPEND OPTIONS -Dselinux=disabled)
endif()
-vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
- selinux HAVE_SELINUX
-)
+if(VCPKG_TARGET_IS_WINDOWS)
+ list(APPEND OPTIONS -Diconv=external)
+else()
+ #list(APPEND OPTIONS -Diconv=libc) ?
+endif()
-vcpkg_configure_cmake(
+vcpkg_configure_meson(
SOURCE_PATH ${SOURCE_PATH}
- PREFER_NINJA
- OPTIONS ${FEATURE_OPTIONS}
- -DGLIB_VERSION=${GLIB_VERSION}
- OPTIONS_DEBUG
- -DGLIB_SKIP_HEADERS=ON
- -DGLIB_SKIP_TOOLS=ON
+ OPTIONS
+ -Dbuild_tests=false
+ -Dinstalled_tests=false
+ ${OPTIONS}
+ -Dinternal_pcre=false
)
+#-Dnls=true
+#-Dlibelf=false
+#-Dlibmount=false
+#-Dxattr=true?
-vcpkg_install_cmake()
-vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-glib TARGET_PATH share/unofficial-glib)
+vcpkg_install_meson(ADD_BIN_TO_PATH)
vcpkg_copy_pdbs()
-vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT})
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+set(GLIB_TOOLS gdbus
+ gio
+ gio-querymodules
+ glib-compile-resources
+ glib-compile-schemas
+ gobject-query
+ gresource
+ gsettings
+ )
+
+if(NOT VCPKG_TARGET_IS_WINDOWS)
+ if(NOT VCPKG_TARGET_IS_OSX)
+ list(APPEND GLIB_TOOLS gapplication)
+ endif()
+ list(APPEND GLIB_TOOLS glib-gettextize gtester)
+endif()
+set(GLIB_SCRIPTS gdbus-codegen glib-genmarshal glib-mkenums gtester-report)
+
-vcpkg_fixup_pkgconfig()
+if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_TARGET_ARCHITECTURE MATCHES "x64|arm64")
+ list(APPEND GLIB_TOOLS gspawn-win64-helper${VCPKG_EXECUTABLE_SUFFIX}
+ gspawn-win64-helper-console${VCPKG_EXECUTABLE_SUFFIX})
+elseif(VCPKG_TARGET_IS_WINDOWS AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
+ list(APPEND GLIB_TOOLS gspawn-win32-helper${VCPKG_EXECUTABLE_SUFFIX}
+ gspawn-win32-helper-console${VCPKG_EXECUTABLE_SUFFIX})
+endif()
+vcpkg_copy_tools(TOOL_NAMES ${GLIB_TOOLS} AUTO_CLEAN)
+foreach(script IN LISTS GLIB_SCRIPTS)
+ file(RENAME "${CURRENT_PACKAGES_DIR}/bin/${script}" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/${script}")
+ file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/bin/${script}")
+endforeach()
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+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()
+
+IF(VCPKG_TARGET_IS_WINDOWS)
+ set(SYSTEM_LIBRARIES dnsapi iphlpapi winmm lshlwapi)
+else()
+ set(SYSTEM_LIBRARIES resolv mount blkid selinux)
+endif()
+if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/gio-2.0.pc")
+ vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/gio-2.0.pc" "\${bindir}" "\${bindir}/../tools/${PORT}")
+endif()
+if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/gio-2.0.pc")
+ vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/gio-2.0.pc" "\${bindir}" "\${bindir}/../../tools/${PORT}")
+endif()
+if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/glib-2.0.pc")
+ vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/glib-2.0.pc" "\${bindir}" "\${bindir}/../tools/${PORT}")
+endif()
+if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/glib-2.0.pc")
+ vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/glib-2.0.pc" "\${bindir}" "\${bindir}/../../tools/${PORT}")
+endif()
+vcpkg_fixup_pkgconfig(SYSTEM_LIBRARIES ${SYSTEM_LIBRARIES})
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
+
+# Fix python scripts
+set(_file "${CURRENT_PACKAGES_DIR}/tools/${PORT}/gdbus-codegen")
+file(READ "${_file}" _contents)
+string(REPLACE "elif os.path.basename(filedir) == 'bin':" "elif os.path.basename(filedir) == 'tools':" _contents "${_contents}")
+string(REPLACE "path = os.path.join(filedir, '..', 'share', 'glib-2.0')" "path = os.path.join(filedir, '../..', 'share', 'glib-2.0')" _contents "${_contents}")
+string(REPLACE "path = os.path.join(filedir, '..')" "path = os.path.join(filedir, '../../share/glib-2.0')" _contents "${_contents}")
+string(REPLACE "path = os.path.join('${CURRENT_PACKAGES_DIR}/share', 'glib-2.0')" "path = os.path.join('unuseable/share', 'glib-2.0')" _contents "${_contents}")
+
+file(WRITE "${_file}" "${_contents}")
diff --git a/ports/glib/use-libiconv-on-windows.patch b/ports/glib/use-libiconv-on-windows.patch
index 927de0bb1d161e..a8ccde0a5ff6c5 100644
--- a/ports/glib/use-libiconv-on-windows.patch
+++ b/ports/glib/use-libiconv-on-windows.patch
@@ -12,3 +12,17 @@ index 3deac78..134ded9 100644
#endif
#ifdef G_PLATFORM_WIN32
+diff --git a/meson.build b/meson.build
+index d938ddf51..2ba256115 100644
+--- a/meson.build
++++ b/meson.build
+@@ -1914,7 +1914,8 @@ glibconfig_conf.set10('G_HAVE_GROWING_STACK', growing_stack)
+ # the built-in implementation
+ iconv_opt = get_option('iconv')
+ if host_system == 'windows'
+- libiconv = []
++ libiconv = [cc.find_library('iconv')]
++ found_iconv = true
+ # We have a #include "win_iconv.c" in gconvert.c on Windows, so we don't need
+ # any external library for it
+ if iconv_opt != 'auto'
diff --git a/ports/glib/vcpkg.json b/ports/glib/vcpkg.json
new file mode 100644
index 00000000000000..16e6b397867f99
--- /dev/null
+++ b/ports/glib/vcpkg.json
@@ -0,0 +1,21 @@
+{
+ "name": "glib",
+ "version": "2.66.4",
+ "description": "Portable, general-purpose utility library.",
+ "homepage": "https://developer.gnome.org/glib/",
+ "supports": "!uwp & !(windows & static)",
+ "dependencies": [
+ "dirent",
+ "gettext",
+ "libffi",
+ "libiconv",
+ "pcre",
+ "tool-meson",
+ "zlib"
+ ],
+ "features": {
+ "selinux": {
+ "description": "Build with selinux support."
+ }
+ }
+}
diff --git a/ports/glibmm/CONTROL b/ports/glibmm/CONTROL
deleted file mode 100644
index 9fe1d1b2cb3b73..00000000000000
--- a/ports/glibmm/CONTROL
+++ /dev/null
@@ -1,7 +0,0 @@
-Source: glibmm
-Version: 2.52.1
-Port-Version: 14
-Description: This is glibmm, a C++ API for parts of glib that are useful for C++.
-Homepage: https://www.gtkmm.org.
-Build-Depends: zlib, pcre, libffi, gettext, libiconv, glib, libsigcpp
-Supports: !uwp
diff --git a/ports/glibmm/fix-define-glibmmconfig.patch b/ports/glibmm/fix-define-glibmmconfig.patch
deleted file mode 100644
index 90b97d9072a7a4..00000000000000
--- a/ports/glibmm/fix-define-glibmmconfig.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-diff --git a/MSVC_Net2013/glibmm/glibmmconfig.h b/MSVC_Net2013/glibmm/glibmmconfig.h
-index 61bb83e..7dbe809 100644
---- a/MSVC_Net2013/glibmm/glibmmconfig.h
-+++ b/MSVC_Net2013/glibmm/glibmmconfig.h
-@@ -7,12 +7,17 @@
- # if defined(_MSC_VER)
- # define GLIBMM_MSC 1
- # define GLIBMM_WIN32 1
--# define GLIBMM_DLL 1
-+# if !defined(GLIBMM_STATIC_LIB)
-+# define GLIBMM_DLL 1
-+# endif
- # elif defined(__CYGWIN__)
- # define GLIBMM_CONFIGURE 1
- # elif defined(__MINGW32__)
- # define GLIBMM_WIN32 1
- # define GLIBMM_CONFIGURE 1
-+# if !defined(GLIBMM_STATIC_LIB)
-+# define GLIBMM_DLL 1
-+# endif
- # else
- /* AIX clR compiler complains about this even though it doesn't get this far */
- # error "Unknown architecture (send me gcc --dumpspecs or equiv)"
-@@ -108,6 +113,7 @@
- # define GLIBMM_HAVE_WIDE_STREAM 1
- # define GLIBMM_HAVE_DISAMBIGUOUS_CONST_TEMPLATE_SPECIALIZATIONS 1
- # define GLIBMM_HAVE_C_STD_TIME_T_IS_NOT_INT32 1
-+# define GLIBMM_HAVE_ALLOWS_STATIC_INLINE_NPOS 1
- # define GLIBMM_CAN_USE_DYNAMIC_CAST_IN_UNUSED_TEMPLATE_WITHOUT_DEFINITION 1
- # define GLIBMM_CAN_ASSIGN_NON_EXTERN_C_FUNCTIONS_TO_EXTERN_C_CALLBACKS 1
- # define GLIBMM_CAN_USE_NAMESPACES_INSIDE_EXTERNC 1
-@@ -140,11 +146,6 @@
- * it to be defined. Remove after grace period. */
- #define GLIBMM_USING_STD(Symbol)
-
--/* Enable DLL-specific stuff only when not building a static library */
--#if !defined(__CYGWIN__) && defined(__MINGW32__) && !defined(GLIBMM_STATIC_LIB)
--# define GLIBMM_DLL 1
--#endif
--
- #ifdef GLIBMM_DLL
- # if defined(GLIBMM_BUILD) && defined(_WINDLL)
- /* Do not dllexport as it is handled by gendef on MSVC */
diff --git a/ports/glibmm/fix-thread.h.patch b/ports/glibmm/fix-thread.h.patch
deleted file mode 100644
index 8e7c01b6b5eff5..00000000000000
--- a/ports/glibmm/fix-thread.h.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/glib/glibmm/threads.h b/glib/glibmm/threads.h
-index 5350a99..cc48c01 100644
---- a/glib/glibmm/threads.h
-+++ b/glib/glibmm/threads.h
-@@ -657,7 +657,7 @@ public:
- */
- inline void replace(T* data);
-
-- GPrivate* gobj() { return gobject_; }
-+ GPrivate* gobj() { return &gobject_; }
-
- private:
- GPrivate gobject_;
diff --git a/ports/glibmm/glibmm-api-variant.patch b/ports/glibmm/glibmm-api-variant.patch
deleted file mode 100644
index bb00ac3f5dc96c..00000000000000
--- a/ports/glibmm/glibmm-api-variant.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-diff --git a/glib/glibmm/varianttype.h b/glib/glibmm/varianttype.h
-index a232e70..64eb4a1 100644
---- a/glib/glibmm/varianttype.h
-+++ b/glib/glibmm/varianttype.h
-@@ -500,54 +500,79 @@ public:
-
- };
-
-+GLIBMM_API
- extern const VariantType VARIANT_TYPE_BOOL;
-
-+GLIBMM_API
- extern const VariantType VARIANT_TYPE_BYTE;
-
-+GLIBMM_API
- extern const VariantType VARIANT_TYPE_INT16;
-
-+GLIBMM_API
- extern const VariantType VARIANT_TYPE_UINT16;
-
-+GLIBMM_API
- extern const VariantType VARIANT_TYPE_INT32;
-
-+GLIBMM_API
- extern const VariantType VARIANT_TYPE_UINT32;
-
-+GLIBMM_API
- extern const VariantType VARIANT_TYPE_INT64;
-
-+GLIBMM_API
- extern const VariantType VARIANT_TYPE_UINT64;
-
-+GLIBMM_API
- extern const VariantType VARIANT_TYPE_DOUBLE;
-
-+GLIBMM_API
- extern const VariantType VARIANT_TYPE_STRING;
-
-+GLIBMM_API
- extern const VariantType VARIANT_TYPE_OBJECT_PATH;
-
-+GLIBMM_API
- extern const VariantType VARIANT_TYPE_SIGNATURE;
-
-+GLIBMM_API
- extern const VariantType VARIANT_TYPE_VARIANT;
-
-+GLIBMM_API
- extern const VariantType VARIANT_TYPE_HANDLE;
-
-+GLIBMM_API
- extern const VariantType VARIANT_TYPE_UNIT;
-
-+GLIBMM_API
- extern const VariantType VARIANT_TYPE_ANY;
-
-+GLIBMM_API
- extern const VariantType VARIANT_TYPE_BASIC;
-
-+GLIBMM_API
- extern const VariantType VARIANT_TYPE_MAYBE;
-
-+GLIBMM_API
- extern const VariantType VARIANT_TYPE_ARRAY;
-
-+GLIBMM_API
- extern const VariantType VARIANT_TYPE_TUPLE;
-
-+GLIBMM_API
- extern const VariantType VARIANT_TYPE_DICT_ENTRY;
-
-+GLIBMM_API
- extern const VariantType VARIANT_TYPE_DICTIONARY;
-
-+GLIBMM_API
- extern const VariantType VARIANT_TYPE_STRING_ARRAY;
-
-+GLIBMM_API
- extern const VariantType VARIANT_TYPE_BYTESTRING;
-
-+GLIBMM_API
- extern const VariantType VARIANT_TYPE_BYTESTRING_ARRAY;
-
-
diff --git a/ports/glibmm/portfile.cmake b/ports/glibmm/portfile.cmake
index c3bf9c9db006be..5e0dd354318e76 100644
--- a/ports/glibmm/portfile.cmake
+++ b/ports/glibmm/portfile.cmake
@@ -2,33 +2,23 @@
vcpkg_fail_port_install(ON_TARGET "UWP")
vcpkg_download_distfile(ARCHIVE
- URLS "https://ftp.gnome.org/pub/GNOME/sources/glibmm/2.52/glibmm-2.52.1.tar.xz"
- FILENAME "glibmm-2.52.1.tar.xz"
- SHA512 702158762cb28972b315ab98dc00a62e532bda08b6e76dc2a2556e8cb381c2021290891887a4af2fbff5a62bab4d50581be73037dc8e0dc47d5febd6cbeb7bda
+ URLS "https://ftp.gnome.org/pub/GNOME/sources/glibmm/2.68/glibmm-2.68.0.tar.xz"
+ FILENAME "glibmm-2.68.0.tar.xz"
+ SHA512 a13121052315e949acf2528e226079f1a2cf7853080aec770dcb269e422997e5515ed767c7a549231fb3fa5f913b3fd9ef083080589283824b6a218d066b253e
)
vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH
ARCHIVE ${ARCHIVE}
- PATCHES
- glibmm-api-variant.patch
- fix-define-glibmmconfig.patch
- fix-thread.h.patch
)
-file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
-
-vcpkg_configure_cmake(
+vcpkg_configure_meson(
SOURCE_PATH ${SOURCE_PATH}
- PREFER_NINJA
- OPTIONS
- -DWARNINGS_HEADER=${CMAKE_CURRENT_LIST_DIR}/msvc_recommended_pragmas.h
- OPTIONS_DEBUG
- -DDISABLE_INSTALL_HEADERS=ON
+ OPTIONS
+ -Dbuild-examples=false
+ -Dmsvc14x-parallel-installable=false
)
-
-vcpkg_install_cmake()
-
+vcpkg_install_meson()
vcpkg_copy_pdbs()
vcpkg_fixup_pkgconfig()
diff --git a/ports/glibmm/vcpkg.json b/ports/glibmm/vcpkg.json
new file mode 100644
index 00000000000000..ddd4b7ef69b0ad
--- /dev/null
+++ b/ports/glibmm/vcpkg.json
@@ -0,0 +1,16 @@
+{
+ "name": "glibmm",
+ "version": "2.68.0",
+ "description": "This is glibmm, a C++ API for parts of glib that are useful for C++.",
+ "homepage": "https://www.gtkmm.org.",
+ "supports": "!uwp",
+ "dependencies": [
+ "gettext",
+ "glib",
+ "libffi",
+ "libiconv",
+ "libsigcpp-3",
+ "pcre",
+ "zlib"
+ ]
+}
diff --git a/ports/gmime/CMakeLists.txt b/ports/gmime/CMakeLists.txt
index cefc0f22672444..b957e4656e5fba 100644
--- a/ports/gmime/CMakeLists.txt
+++ b/ports/gmime/CMakeLists.txt
@@ -5,8 +5,9 @@ project(gmime C)
set(GMIME_DLL_SUFFIX 3)
set(GMIME_LIB_SUFFIX 3.0)
-find_package(zlib REQUIRED)
-find_package(unofficial-glib CONFIG REQUIRED)
+find_package(ZLIB REQUIRED)
+find_package(PkgConfig REQUIRED)
+pkg_check_modules(GLIB2 glib-2.0 gobject-2.0 gmodule-2.0 gio-2.0 IMPORTED_TARGET)
find_package(Iconv REQUIRED)
find_library(IDN_LIBRARY NAMES libidn2)
@@ -46,7 +47,7 @@ set_target_properties(${PROJECT_NAME} PROPERTIES
target_include_directories(${PROJECT_NAME} PRIVATE . ./util)
target_link_libraries(${PROJECT_NAME} PRIVATE Iconv::Iconv ZLIB::ZLIB ${IDN_LIBRARY})
-target_link_libraries(${PROJECT_NAME} PRIVATE unofficial::glib::gobject unofficial::glib::gio unofficial::glib::glib)
+target_link_libraries(${PROJECT_NAME} PRIVATE PkgConfig::GLIB2)
target_link_libraries(${PROJECT_NAME} PRIVATE Ws2_32.lib)
install(TARGETS ${PROJECT_NAME}
diff --git a/ports/gmime/CONTROL b/ports/gmime/CONTROL
deleted file mode 100644
index 301f303e3f8bb7..00000000000000
--- a/ports/gmime/CONTROL
+++ /dev/null
@@ -1,7 +0,0 @@
-Source: gmime
-Version: 3.2.6
-Port-Version: 1
-Build-Depends: zlib, glib, libiconv, libidn2
-Homepage: https://developer.gnome.org/gmime/
-Description: GMime is a C/C++ library which may be used for the creation and parsing of messages using the Multipurpose Internet Mail Extension (MIME).
-Supports: windows
\ No newline at end of file
diff --git a/ports/gmime/portfile.cmake b/ports/gmime/portfile.cmake
index ac471e875b425e..d1e145a8381afa 100644
--- a/ports/gmime/portfile.cmake
+++ b/ports/gmime/portfile.cmake
@@ -21,10 +21,12 @@ file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
configure_file(${SOURCE_PATH}/build/vs2017/unistd.h ${SOURCE_PATH} COPYONLY)
configure_file(${SOURCE_PATH}/build/vs2017/config.h ${SOURCE_PATH} COPYONLY)
configure_file(${SOURCE_PATH}/build/vs2017/gmime.def ${SOURCE_PATH} COPYONLY)
-
+vcpkg_find_acquire_program(PKGCONFIG)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
+ OPTIONS
+ -DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}
)
vcpkg_install_cmake()
diff --git a/ports/gmime/vcpkg.json b/ports/gmime/vcpkg.json
new file mode 100644
index 00000000000000..356f24e44e7277
--- /dev/null
+++ b/ports/gmime/vcpkg.json
@@ -0,0 +1,14 @@
+{
+ "name": "gmime",
+ "version": "3.2.6",
+ "port-version": 2,
+ "description": "GMime is a C/C++ library which may be used for the creation and parsing of messages using the Multipurpose Internet Mail Extension (MIME).",
+ "homepage": "https://developer.gnome.org/gmime/",
+ "supports": "windows",
+ "dependencies": [
+ "glib",
+ "libiconv",
+ "libidn2",
+ "zlib"
+ ]
+}
diff --git a/ports/graphene/CONTROL b/ports/graphene/CONTROL
deleted file mode 100644
index d4796f804e79ba..00000000000000
--- a/ports/graphene/CONTROL
+++ /dev/null
@@ -1,7 +0,0 @@
-Source: graphene
-Version: 1.10.2
-Port-Version: 0
-Homepage: https://www.gtk.org/
-Description: A thin layer of types for graphic libraries.
-Build-Depends: glib, gettext
-Supports: !(arm&windows)
\ No newline at end of file
diff --git a/ports/graphene/portfile.cmake b/ports/graphene/portfile.cmake
index 46c254676bf4e9..8b50663679bb62 100644
--- a/ports/graphene/portfile.cmake
+++ b/ports/graphene/portfile.cmake
@@ -15,15 +15,15 @@ vcpkg_extract_source_archive_ex(
vcpkg_configure_meson(
SOURCE_PATH ${SOURCE_PATH}
OPTIONS
- -Dgtk_doc=false
- -Dgobject_types=true
- -Dintrospection=false
+ -Dgtk_doc=false #Enable generating the API reference (depends on GTK-Doc)
+ -Dgobject_types=true #Enable GObject types (depends on GObject)
+ -Dintrospection=false #Enable GObject Introspection (depends on GObject)'
-Dtests=false
-Dinstalled_tests=false
- ADDITIONAL_NATIVE_BINARIES glib-genmarshal='${CURRENT_INSTALLED_DIR}/tools/glib/glib-genmarshal'
- glib-mkenums='${CURRENT_INSTALLED_DIR}/tools/glib/glib-mkenums'
- ADDITIONAL_CROSS_BINARIES glib-genmarshal='${CURRENT_INSTALLED_DIR}/tools/glib/glib-genmarshal'
- glib-mkenums='${CURRENT_INSTALLED_DIR}/tools/glib/glib-mkenums'
+ ADDITIONAL_NATIVE_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal'
+ glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums'
+ ADDITIONAL_CROSS_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal'
+ glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums'
)
vcpkg_install_meson()
@@ -32,32 +32,4 @@ vcpkg_copy_pdbs()
vcpkg_fixup_pkgconfig()
-file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright)
-
-# option('gtk_doc', type: 'boolean',
- # value: false,
- # description: 'Enable generating the API reference (depends on GTK-Doc)')
-# option('gobject_types', type: 'boolean',
- # value: true,
- # description: 'Enable GObject types (depends on GObject)')
-# option('introspection', type: 'boolean',
- # value: true,
- # description: 'Enable GObject Introspection (depends on GObject)')
-# option('gcc_vector', type: 'boolean',
- # value: true,
- # description: 'Enable GCC vector fast paths (requires GCC)')
-# option('sse2', type: 'boolean',
- # value: true,
- # description: 'Enable SSE2 fast paths (requires SSE2 or later)')
-# option('arm_neon', type: 'boolean',
- # value: true,
- # description: 'Enable ARM NEON fast paths (requires ARM)')
-# option('tests', type: 'boolean',
- # value: true,
- # description: 'Build the test suite (requires GObject)')
-# option('installed_tests', type: 'boolean',
- # value: true,
- # description: 'Install tests')
-
-
+file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/graphene/vcpkg.json b/ports/graphene/vcpkg.json
new file mode 100644
index 00000000000000..8849b4d42d4ce9
--- /dev/null
+++ b/ports/graphene/vcpkg.json
@@ -0,0 +1,16 @@
+{
+ "name": "graphene",
+ "version": "1.10.2",
+ "port-version": 1,
+ "description": "A thin layer of types for graphic libraries.",
+ "homepage": "https://www.gtk.org/",
+ "supports": "!(arm & windows)",
+ "dependencies": [
+ "gettext",
+ "glib",
+ {
+ "name": "glib",
+ "host": true
+ }
+ ]
+}
diff --git a/ports/gtk/CMakeLists.txt b/ports/gtk/CMakeLists.txt
deleted file mode 100644
index 9c265c7e597426..00000000000000
--- a/ports/gtk/CMakeLists.txt
+++ /dev/null
@@ -1,177 +0,0 @@
-cmake_minimum_required(VERSION 3.0)
-project(gtk+ C)
-
-configure_file(config.h.win32 ${CMAKE_CURRENT_SOURCE_DIR}/config.h COPYONLY)
-configure_file(gdk/gdkconfig.h.win32_broadway ${CMAKE_CURRENT_SOURCE_DIR}/gdk/gdkconfig.h COPYONLY)
-
-set(GLIB_LIB_SUFFIX 2.0)
-set(PANGO_LIB_SUFFIX 1.0)
-set(ATK_LIB_SUFFIX 1.0)
-set(GDK_PIXBUF_LIB_SUFFIX 2.0)
-if(CMAKE_BUILD_TYPE STREQUAL Debug)
- set(CAIRO_LIB_SUFFIX d)
-endif()
-
-if (WIN32)
- # Set utf-8 charset to avoid compile error C2001
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /utf-8")
-endif()
-
-# find dependencies
-# glib
-find_path(GLIB_INCLUDE_DIR glib.h)
-find_library(GLIB_GLIB_LIBRARY glib-${GLIB_LIB_SUFFIX})
-find_library(GLIB_GIO_LIBRARY gio-${GLIB_LIB_SUFFIX})
-find_library(GLIB_GMODULE_LIBRARY gmodule-${GLIB_LIB_SUFFIX})
-find_library(GLIB_GOBJECT_LIBRARY gobject-${GLIB_LIB_SUFFIX})
-set(GLIB_LIBRARIES ${GLIB_GLIB_LIBRARY} ${GLIB_GIO_LIBRARY} ${GLIB_GMODULE_LIBRARY} ${GLIB_GOBJECT_LIBRARY})
-
-# pango
-find_path(PANGO_INCLUDE_DIR pango/pango.h)
-find_library(PANGO_LIBRARY pango-${PANGO_LIB_SUFFIX})
-find_library(PANGO_CAIRO_LIBRARY pangocairo-${PANGO_LIB_SUFFIX})
-find_library(PANGO_WIN32_LIBRARY pangowin32-${PANGO_LIB_SUFFIX})
-set(PANGO_LIBRARIES ${PANGO_LIBRARY} ${PANGO_CAIRO_LIBRARY} ${PANGO_WIN32_LIBRARY})
-# cairo
-find_library(CAIRO_LIBRARY cairo${CAIRO_LIB_SUFFIX})
-find_library(CAIRO_GOBJECT_LIBRARY cairo-gobject${CAIRO_LIB_SUFFIX})
-set(CAIRO_LIBRARIES ${CAIRO_LIBRARY} ${CAIRO_GOBJECT_LIBRARY})
-find_path(CAIRO_INCLUDE_DIR cairo.h)
-
-# atk
-find_path(ATK_INCLUDE_DIR atk/atk.h)
-find_library(ATK_LIBRARY atk-${ATK_LIB_SUFFIX})
-
-# gdk-pixbuf
-find_path(GDK_PIXBUF_INCLUDE_DIR gdk-pixbuf/gdk-pixbuf.h)
-find_library(GDK_PIXBUF_LIBRARY gdk_pixbuf-${GDK_PIXBUF_LIB_SUFFIX})
-
-# epoxy
-find_path(EPOXY_INCLUDE_DIR epoxy/common.h)
-find_library(EPOXY_LIBRARY epoxy)
-
-# gettext
-find_path(LIBINTL_INCLUDE_DIR libintl.h)
-find_library(LIBINTL_LIBRARY NAMES intl libintl)
-
-set(GTK_REQUIRED_LIBRARIES
- ${LIBINTL_LIBRARY}
- ${EPOXY_LIBRARY}
- ${GLIB_LIBRARIES}
- ${CAIRO_LIBRARIES}
- ${PANGO_LIBRARIES}
- ${GDK_PIXBUF_LIBRARY}
- ${ATK_LIBRARY})
-
-set(GTK_REQUIRED_INCLUDE_DIR
- ${LIBINTL_INCLUDE_DIR}
- ${EPOXY_INCLUDE_DIR}
- ${GLIB_INCLUDE_DIR}
- ${GDK_PIXBUF_INCLUDE_DIR}
- ${CAIRO_INCLUDE_DIR}
- ${PANGO_INCLUDE_DIR}
- ${ATK_INCLUDE_DIR})
-
-# defines expected by all modules
-add_definitions(
- -DHAVE_CONFIG_H
- -DG_DISABLE_SINGLE_INCLUDES
- -DATK_DISABLE_SINGLE_INCLUDES
- -DGDK_PIXBUF_DISABLE_SINGLE_INCLUDES
- -DGTK_DISABLE_SINGLE_INCLUDES
- -D_USE_MATH_DEFINES)
-
-add_definitions(-DG_ENABLE_DEBUG)
-if(CMAKE_BUILD_TYPE STREQUAL Debug)
- add_definitions(-DG_ENABLE_CONSISTENCY_CHECKS)
-else()
- add_definitions(-DG_DISABLE_CAST_CHECKS)
-endif()
-
-macro(extract_vcproj_sources VC_PROJECT OUT_VAR)
- file(READ ${VC_PROJECT} ${VC_PROJECT}-CONTENTS)
- STRING(REPLACE "\n" ";" ${VC_PROJECT}-CONTENTS "${${VC_PROJECT}-CONTENTS}") # split by lines
- foreach(LINE ${${VC_PROJECT}-CONTENTS})
- if(LINE MATCHES "")
- string(REPLACE "" "" LINE ${LINE})
- string(STRIP ${LINE} LINE)
- file(TO_CMAKE_PATH ${LINE} LINE)
- list(APPEND ${OUT_VAR} ${LINE})
- endif()
- endforeach()
-endmacro()
-
-# build 'win32' gdk backend
-extract_vcproj_sources(build/win32/vs14/gdk3-win32.vcxproj GDK_WIN32_SOURCES)
-add_library(gdk-3-win32 STATIC ${GDK_WIN32_SOURCES})
-target_compile_definitions(gdk-3-win32 PRIVATE
- GDK_COMPILATION G_LOG_DOMAIN="Gdk" INSIDE_GDK_WIN32)
-target_include_directories(gdk-3-win32 PRIVATE . ./gdk ./gdk/win32 ${GTK_REQUIRED_INCLUDE_DIR})
-
-# build 'broadway' gdk backend
-extract_vcproj_sources(build/win32/vs14/gdk3-broadway.vcxproj GDK_BROADWAY_SOURCES)
-add_library(gdk-3-broadway STATIC ${GDK_BROADWAY_SOURCES})
-target_compile_definitions(gdk-3-broadway PRIVATE
- GDK_COMPILATION G_LOG_DOMAIN="Gdk")
-target_include_directories(gdk-3-broadway PRIVATE . ./gdk ./gdk/broadway ${GTK_REQUIRED_INCLUDE_DIR})
-
-macro(gtk_add_module MODULE_NAME)
- add_library(${MODULE_NAME} ${ARGN})
- target_include_directories(${MODULE_NAME} PRIVATE . ./gdk ./gtk ${GTK_REQUIRED_INCLUDE_DIR})
- target_link_libraries(${MODULE_NAME} ${GTK_REQUIRED_LIBRARIES})
- set_target_properties(${MODULE_NAME} PROPERTIES
- ARCHIVE_OUTPUT_NAME ${MODULE_NAME}.0)
- install(TARGETS ${MODULE_NAME} RUNTIME DESTINATION bin ARCHIVE DESTINATION lib LIBRARY DESTINATION lib)
-endmacro()
-
-extract_vcproj_sources(build/win32/vs14/gdk-3.vcxproj GDK_SOURCES)
-gtk_add_module(gdk-3 ${GDK_SOURCES})
-target_compile_definitions(gdk-3 PRIVATE GDK_COMPILATION)
-target_include_directories(gdk-3 PRIVATE ./gdk/win32 ./gdk/broadway)
-target_link_libraries(gdk-3 gdk-3-win32 gdk-3-broadway winmm dwmapi setupapi imm32 ws2_32)
-
-extract_vcproj_sources(build/win32/vs14/gtk-3.vcxproj GTK_SOURCES)
-set_source_files_properties(gtk/inspector/visual.c PROPERTIES COMPILE_FLAGS "/FImath.h")
-gtk_add_module(gtk-3 ${GTK_SOURCES})
-target_compile_definitions(gtk-3 PRIVATE
- GTK_COMPILATION
- G_LOG_DOMAIN="Gtk"
- GTK_HOST="i686-pc"
- GTK_PRINT_BACKENDS="file"
- GTK_PRINT_BACKEND_ENABLE_UNSUPPORTED
- INCLUDE_IM_am_et
- INCLUDE_IM_cedilla
- INCLUDE_IM_cyrillic_translit
- INCLUDE_IM_ime
- INCLUDE_IM_inuktitut
- INCLUDE_IM_ipa
- INCLUDE_IM_multipress
- INCLUDE_IM_thai
- INCLUDE_IM_ti_er
- INCLUDE_IM_ti_et
- INCLUDE_IM_viqr
- GTK_LIBDIR="/dummy/lib"
- GTK_DATADIR="/dummy/share"
- GTK_DATA_PREFIX="/dummy"
- GTK_SYSCONFDIR="/dummy/etc"
- MULTIPRESS_CONFDIR="/dummy/etc/gtk-3.0"
- MULTIPRESS_LOCALEDIR="/dummy/share/locale"
- GTK_VERSION="${GTK_VERSION}/etc"
- GTK_BINARY_VERSION="3.0.0/etc"
- GDK_DISABLE_DEPRECATED
- ISOLATION_AWARE_ENABLED)
-target_link_libraries(gtk-3 gdk-3 winspool comctl32 imm32)
-target_compile_options(gtk-3 PRIVATE "/wd4828" PRIVATE "/wd4244" PRIVATE "/wd4305" PRIVATE "/wd4018")
-
-extract_vcproj_sources(build/win32/vs14/gailutil-3.vcxproj GAILUTIL_SOURCES)
-gtk_add_module(gailutil-3 ${GAILUTIL_SOURCES})
-target_compile_definitions(gailutil-3 PRIVATE GTK_DISABLE_DEPRECATED GDK_DISABLE_DEPRECATED)
-target_link_libraries(gailutil-3 gtk-3 gdk-3)
-set_target_properties(gailutil-3 PROPERTIES
- LINK_FLAGS \"/DEF:${CMAKE_CURRENT_SOURCE_DIR}/libgail-util/gailutil.def\")
-
-if(NOT GTK_SKIP_HEADERS)
- set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
- include(install_headers)
-endif()
diff --git a/ports/gtk/CONTROL b/ports/gtk/CONTROL
deleted file mode 100644
index 037d87efddd3d2..00000000000000
--- a/ports/gtk/CONTROL
+++ /dev/null
@@ -1,5 +0,0 @@
-Source: gtk
-Version: 3.22.19-4
-Homepage: https://www.gtk.org/
-Description: Portable library for creating graphical user interfaces.
-Build-Depends: glib, atk, gdk-pixbuf, pango, cairo, libepoxy, gettext
diff --git a/ports/gtk/build.patch b/ports/gtk/build.patch
new file mode 100644
index 00000000000000..b39ceba82b0b68
--- /dev/null
+++ b/ports/gtk/build.patch
@@ -0,0 +1,31 @@
+diff --git a/meson.build b/meson.build
+index 9fe9cd5ac..19a19e5c6 100644
+--- a/meson.build
++++ b/meson.build
+@@ -792,16 +792,16 @@ subdir('docs/tools')
+ subdir('docs/reference')
+
+ # Keep this in sync with post-install.sh expected arguments
+-if not meson.is_cross_build()
+- meson.add_install_script('build-aux/meson/post-install.py',
+- gtk_api_version,
+- gtk_binary_version,
+- gtk_libdir,
+- gtk_datadir,
+- gtk_bindir)
+-else
+- message('Not executing post-install steps automatically when cross compiling')
+-endif
++#if not meson.is_cross_build()
++# meson.add_install_script('build-aux/meson/post-install.py',
++# gtk_api_version,
++# gtk_binary_version,
++# gtk_libdir,
++# gtk_datadir,
++# gtk_bindir)
++#else
++# message('Not executing post-install steps automatically when cross compiling')
++#endif
+
+ if host_machine.system() != 'windows'
+ # Install Valgrind suppression files (except on Windows,
diff --git a/ports/gtk/cmake/install_headers.cmake b/ports/gtk/cmake/install_headers.cmake
deleted file mode 100644
index ca2a273e44473e..00000000000000
--- a/ports/gtk/cmake/install_headers.cmake
+++ /dev/null
@@ -1,376 +0,0 @@
-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)
-install(FILES gdk/gdkcairo.h DESTINATION include/gdk)
-install(FILES gdk/gdkcursor.h DESTINATION include/gdk)
-install(FILES gdk/gdkdevice.h DESTINATION include/gdk)
-install(FILES gdk/gdkdevicepad.h DESTINATION include/gdk)
-install(FILES gdk/gdkdevicetool.h DESTINATION include/gdk)
-install(FILES gdk/gdkdevicemanager.h DESTINATION include/gdk)
-install(FILES gdk/gdkdisplay.h DESTINATION include/gdk)
-install(FILES gdk/gdkdisplaymanager.h DESTINATION include/gdk)
-install(FILES gdk/gdkdnd.h DESTINATION include/gdk)
-install(FILES gdk/gdkdrawingcontext.h DESTINATION include/gdk)
-install(FILES gdk/gdkevents.h DESTINATION include/gdk)
-install(FILES gdk/gdkframetimings.h DESTINATION include/gdk)
-install(FILES gdk/gdkglcontext.h DESTINATION include/gdk)
-install(FILES gdk/gdkkeys.h DESTINATION include/gdk)
-install(FILES gdk/gdkkeysyms.h DESTINATION include/gdk)
-install(FILES gdk/gdkkeysyms-compat.h DESTINATION include/gdk)
-install(FILES gdk/gdkmain.h DESTINATION include/gdk)
-install(FILES gdk/gdkmonitor.h DESTINATION include/gdk)
-install(FILES gdk/gdkpango.h DESTINATION include/gdk)
-install(FILES gdk/gdkframeclock.h DESTINATION include/gdk)
-install(FILES gdk/gdkpixbuf.h DESTINATION include/gdk)
-install(FILES gdk/gdkprivate.h DESTINATION include/gdk)
-install(FILES gdk/gdkproperty.h DESTINATION include/gdk)
-install(FILES gdk/gdkrectangle.h DESTINATION include/gdk)
-install(FILES gdk/gdkrgba.h DESTINATION include/gdk)
-install(FILES gdk/gdkscreen.h DESTINATION include/gdk)
-install(FILES gdk/gdkseat.h DESTINATION include/gdk)
-install(FILES gdk/gdkselection.h DESTINATION include/gdk)
-install(FILES gdk/gdktestutils.h DESTINATION include/gdk)
-install(FILES gdk/gdkthreads.h DESTINATION include/gdk)
-install(FILES gdk/gdktypes.h DESTINATION include/gdk)
-install(FILES gdk/gdkvisual.h DESTINATION include/gdk)
-install(FILES gdk/gdkwindow.h DESTINATION include/gdk)
-install(FILES gdk/deprecated/gdkcolor.h DESTINATION include/gdk/deprecated)
-install(FILES gdk/gdkconfig.h DESTINATION include/gdk)
-install(FILES gdk/gdkenumtypes.h DESTINATION include/gdk)
-install(FILES gdk/gdkversionmacros.h DESTINATION include/gdk)
-install(FILES gdk/win32/gdkwin32cursor.h DESTINATION include/gdk/win32)
-install(FILES gdk/win32/gdkwin32display.h DESTINATION include/gdk/win32)
-install(FILES gdk/win32/gdkwin32displaymanager.h DESTINATION include/gdk/win32)
-install(FILES gdk/win32/gdkwin32dnd.h DESTINATION include/gdk/win32)
-install(FILES gdk/win32/gdkwin32glcontext.h DESTINATION include/gdk/win32)
-install(FILES gdk/win32/gdkwin32keys.h DESTINATION include/gdk/win32)
-install(FILES gdk/win32/gdkwin32misc.h DESTINATION include/gdk/win32)
-install(FILES gdk/win32/gdkwin32monitor.h DESTINATION include/gdk/win32)
-install(FILES gdk/win32/gdkwin32screen.h DESTINATION include/gdk/win32)
-install(FILES gdk/win32/gdkwin32window.h DESTINATION include/gdk/win32)
-install(FILES gtk/gtk.h DESTINATION include/gtk)
-install(FILES gtk/gtk-autocleanups.h DESTINATION include/gtk)
-install(FILES gtk/gtkx.h DESTINATION include/gtk)
-install(FILES gtk/gtkx-autocleanups.h DESTINATION include/gtk)
-install(FILES gtk/gtk-a11y.h DESTINATION include/gtk)
-install(FILES gtk/gtkaboutdialog.h DESTINATION include/gtk)
-install(FILES gtk/gtkaccelgroup.h DESTINATION include/gtk)
-install(FILES gtk/gtkaccellabel.h DESTINATION include/gtk)
-install(FILES gtk/gtkaccelmap.h DESTINATION include/gtk)
-install(FILES gtk/gtkaccessible.h DESTINATION include/gtk)
-install(FILES gtk/gtkactionable.h DESTINATION include/gtk)
-install(FILES gtk/gtkactionbar.h DESTINATION include/gtk)
-install(FILES gtk/gtkadjustment.h DESTINATION include/gtk)
-install(FILES gtk/gtkappchooser.h DESTINATION include/gtk)
-install(FILES gtk/gtkappchooserbutton.h DESTINATION include/gtk)
-install(FILES gtk/gtkappchooserdialog.h DESTINATION include/gtk)
-install(FILES gtk/gtkappchooserwidget.h DESTINATION include/gtk)
-install(FILES gtk/gtkapplication.h DESTINATION include/gtk)
-install(FILES gtk/gtkapplicationwindow.h DESTINATION include/gtk)
-install(FILES gtk/gtkaspectframe.h DESTINATION include/gtk)
-install(FILES gtk/gtkassistant.h DESTINATION include/gtk)
-install(FILES gtk/gtkbbox.h DESTINATION include/gtk)
-install(FILES gtk/gtkbin.h DESTINATION include/gtk)
-install(FILES gtk/gtkbindings.h DESTINATION include/gtk)
-install(FILES gtk/gtkborder.h DESTINATION include/gtk)
-install(FILES gtk/gtkbox.h DESTINATION include/gtk)
-install(FILES gtk/gtkbuilder.h DESTINATION include/gtk)
-install(FILES gtk/gtkbuildable.h DESTINATION include/gtk)
-install(FILES gtk/gtkbutton.h DESTINATION include/gtk)
-install(FILES gtk/gtkcalendar.h DESTINATION include/gtk)
-install(FILES gtk/gtkcellarea.h DESTINATION include/gtk)
-install(FILES gtk/gtkcellareacontext.h DESTINATION include/gtk)
-install(FILES gtk/gtkcellareabox.h DESTINATION include/gtk)
-install(FILES gtk/gtkcelleditable.h DESTINATION include/gtk)
-install(FILES gtk/gtkcelllayout.h DESTINATION include/gtk)
-install(FILES gtk/gtkcellrenderer.h DESTINATION include/gtk)
-install(FILES gtk/gtkcellrendereraccel.h DESTINATION include/gtk)
-install(FILES gtk/gtkcellrenderercombo.h DESTINATION include/gtk)
-install(FILES gtk/gtkcellrendererpixbuf.h DESTINATION include/gtk)
-install(FILES gtk/gtkcellrendererprogress.h DESTINATION include/gtk)
-install(FILES gtk/gtkcellrendererspin.h DESTINATION include/gtk)
-install(FILES gtk/gtkcellrendererspinner.h DESTINATION include/gtk)
-install(FILES gtk/gtkcellrenderertext.h DESTINATION include/gtk)
-install(FILES gtk/gtkcellrenderertoggle.h DESTINATION include/gtk)
-install(FILES gtk/gtkcellview.h DESTINATION include/gtk)
-install(FILES gtk/gtkcheckbutton.h DESTINATION include/gtk)
-install(FILES gtk/gtkcheckmenuitem.h DESTINATION include/gtk)
-install(FILES gtk/gtkclipboard.h DESTINATION include/gtk)
-install(FILES gtk/gtkcolorbutton.h DESTINATION include/gtk)
-install(FILES gtk/gtkcolorchooser.h DESTINATION include/gtk)
-install(FILES gtk/gtkcolorchooserwidget.h DESTINATION include/gtk)
-install(FILES gtk/gtkcolorchooserdialog.h DESTINATION include/gtk)
-install(FILES gtk/gtkcolorutils.h DESTINATION include/gtk)
-install(FILES gtk/gtkcombobox.h DESTINATION include/gtk)
-install(FILES gtk/gtkcomboboxtext.h DESTINATION include/gtk)
-install(FILES gtk/gtkcontainer.h DESTINATION include/gtk)
-install(FILES gtk/gtkcssprovider.h DESTINATION include/gtk)
-install(FILES gtk/gtkcsssection.h DESTINATION include/gtk)
-install(FILES gtk/gtkdebug.h DESTINATION include/gtk)
-install(FILES gtk/gtkdialog.h DESTINATION include/gtk)
-install(FILES gtk/gtkdnd.h DESTINATION include/gtk)
-install(FILES gtk/gtkdragdest.h DESTINATION include/gtk)
-install(FILES gtk/gtkdragsource.h DESTINATION include/gtk)
-install(FILES gtk/gtkdrawingarea.h DESTINATION include/gtk)
-install(FILES gtk/gtkeditable.h DESTINATION include/gtk)
-install(FILES gtk/gtkentry.h DESTINATION include/gtk)
-install(FILES gtk/gtkentrybuffer.h DESTINATION include/gtk)
-install(FILES gtk/gtkentrycompletion.h DESTINATION include/gtk)
-install(FILES gtk/gtkenums.h DESTINATION include/gtk)
-install(FILES gtk/gtkeventbox.h DESTINATION include/gtk)
-install(FILES gtk/gtkeventcontroller.h DESTINATION include/gtk)
-install(FILES gtk/gtkexpander.h DESTINATION include/gtk)
-install(FILES gtk/gtkfilechooser.h DESTINATION include/gtk)
-install(FILES gtk/gtkfilechooserbutton.h DESTINATION include/gtk)
-install(FILES gtk/gtkfilechooserdialog.h DESTINATION include/gtk)
-install(FILES gtk/gtkfilechoosernative.h DESTINATION include/gtk)
-install(FILES gtk/gtkfilechooserwidget.h DESTINATION include/gtk)
-install(FILES gtk/gtkfilefilter.h DESTINATION include/gtk)
-install(FILES gtk/gtkfixed.h DESTINATION include/gtk)
-install(FILES gtk/gtkflowbox.h DESTINATION include/gtk)
-install(FILES gtk/gtkfontbutton.h DESTINATION include/gtk)
-install(FILES gtk/gtkfontchooser.h DESTINATION include/gtk)
-install(FILES gtk/gtkfontchooserdialog.h DESTINATION include/gtk)
-install(FILES gtk/gtkfontchooserwidget.h DESTINATION include/gtk)
-install(FILES gtk/gtkframe.h DESTINATION include/gtk)
-install(FILES gtk/gtkgesture.h DESTINATION include/gtk)
-install(FILES gtk/gtkgesturedrag.h DESTINATION include/gtk)
-install(FILES gtk/gtkgesturelongpress.h DESTINATION include/gtk)
-install(FILES gtk/gtkgesturemultipress.h DESTINATION include/gtk)
-install(FILES gtk/gtkgesturepan.h DESTINATION include/gtk)
-install(FILES gtk/gtkgesturerotate.h DESTINATION include/gtk)
-install(FILES gtk/gtkgesturesingle.h DESTINATION include/gtk)
-install(FILES gtk/gtkgestureswipe.h DESTINATION include/gtk)
-install(FILES gtk/gtkgesturezoom.h DESTINATION include/gtk)
-install(FILES gtk/gtkglarea.h DESTINATION include/gtk)
-install(FILES gtk/gtkgrid.h DESTINATION include/gtk)
-install(FILES gtk/gtkheaderbar.h DESTINATION include/gtk)
-install(FILES gtk/gtkicontheme.h DESTINATION include/gtk)
-install(FILES gtk/gtkiconview.h DESTINATION include/gtk)
-install(FILES gtk/gtkimage.h DESTINATION include/gtk)
-install(FILES gtk/gtkimcontext.h DESTINATION include/gtk)
-install(FILES gtk/gtkimcontextinfo.h DESTINATION include/gtk)
-install(FILES gtk/gtkimcontextsimple.h DESTINATION include/gtk)
-install(FILES gtk/gtkimmodule.h DESTINATION include/gtk)
-install(FILES gtk/gtkimmulticontext.h DESTINATION include/gtk)
-install(FILES gtk/gtkinfobar.h DESTINATION include/gtk)
-install(FILES gtk/gtkinvisible.h DESTINATION include/gtk)
-install(FILES gtk/gtklabel.h DESTINATION include/gtk)
-install(FILES gtk/gtklayout.h DESTINATION include/gtk)
-install(FILES gtk/gtklevelbar.h DESTINATION include/gtk)
-install(FILES gtk/gtklinkbutton.h DESTINATION include/gtk)
-install(FILES gtk/gtklistbox.h DESTINATION include/gtk)
-install(FILES gtk/gtkliststore.h DESTINATION include/gtk)
-install(FILES gtk/gtklockbutton.h DESTINATION include/gtk)
-install(FILES gtk/gtkmain.h DESTINATION include/gtk)
-install(FILES gtk/gtkmenu.h DESTINATION include/gtk)
-install(FILES gtk/gtkmenubar.h DESTINATION include/gtk)
-install(FILES gtk/gtkmenubutton.h DESTINATION include/gtk)
-install(FILES gtk/gtkmenuitem.h DESTINATION include/gtk)
-install(FILES gtk/gtkmenushell.h DESTINATION include/gtk)
-install(FILES gtk/gtkmenutoolbutton.h DESTINATION include/gtk)
-install(FILES gtk/gtkmessagedialog.h DESTINATION include/gtk)
-install(FILES gtk/gtkmodelbutton.h DESTINATION include/gtk)
-install(FILES gtk/gtkmodules.h DESTINATION include/gtk)
-install(FILES gtk/gtkmountoperation.h DESTINATION include/gtk)
-install(FILES gtk/gtknativedialog.h DESTINATION include/gtk)
-install(FILES gtk/gtknotebook.h DESTINATION include/gtk)
-install(FILES gtk/gtkoffscreenwindow.h DESTINATION include/gtk)
-install(FILES gtk/gtkorientable.h DESTINATION include/gtk)
-install(FILES gtk/gtkoverlay.h DESTINATION include/gtk)
-install(FILES gtk/gtkpadcontroller.h DESTINATION include/gtk)
-install(FILES gtk/gtkpagesetup.h DESTINATION include/gtk)
-install(FILES gtk/gtkpaned.h DESTINATION include/gtk)
-install(FILES gtk/gtkpapersize.h DESTINATION include/gtk)
-install(FILES gtk/gtkplacessidebar.h DESTINATION include/gtk)
-install(FILES gtk/gtkplug.h DESTINATION include/gtk)
-install(FILES gtk/gtkpopover.h DESTINATION include/gtk)
-install(FILES gtk/gtkpopovermenu.h DESTINATION include/gtk)
-install(FILES gtk/gtkprintcontext.h DESTINATION include/gtk)
-install(FILES gtk/gtkprintoperation.h DESTINATION include/gtk)
-install(FILES gtk/gtkprintoperationpreview.h DESTINATION include/gtk)
-install(FILES gtk/gtkprintsettings.h DESTINATION include/gtk)
-install(FILES gtk/gtkprogressbar.h DESTINATION include/gtk)
-install(FILES gtk/gtkradiobutton.h DESTINATION include/gtk)
-install(FILES gtk/gtkradiomenuitem.h DESTINATION include/gtk)
-install(FILES gtk/gtkradiotoolbutton.h DESTINATION include/gtk)
-install(FILES gtk/gtkrange.h DESTINATION include/gtk)
-install(FILES gtk/gtkrecentchooser.h DESTINATION include/gtk)
-install(FILES gtk/gtkrecentchooserdialog.h DESTINATION include/gtk)
-install(FILES gtk/gtkrecentchoosermenu.h DESTINATION include/gtk)
-install(FILES gtk/gtkrecentchooserwidget.h DESTINATION include/gtk)
-install(FILES gtk/gtkrecentfilter.h DESTINATION include/gtk)
-install(FILES gtk/gtkrecentmanager.h DESTINATION include/gtk)
-install(FILES gtk/gtkrender.h DESTINATION include/gtk)
-install(FILES gtk/gtkrevealer.h DESTINATION include/gtk)
-install(FILES gtk/gtkscale.h DESTINATION include/gtk)
-install(FILES gtk/gtkscalebutton.h DESTINATION include/gtk)
-install(FILES gtk/gtkscrollable.h DESTINATION include/gtk)
-install(FILES gtk/gtkscrollbar.h DESTINATION include/gtk)
-install(FILES gtk/gtkscrolledwindow.h DESTINATION include/gtk)
-install(FILES gtk/gtksearchbar.h DESTINATION include/gtk)
-install(FILES gtk/gtksearchentry.h DESTINATION include/gtk)
-install(FILES gtk/gtkselection.h DESTINATION include/gtk)
-install(FILES gtk/gtkseparator.h DESTINATION include/gtk)
-install(FILES gtk/gtkseparatormenuitem.h DESTINATION include/gtk)
-install(FILES gtk/gtkseparatortoolitem.h DESTINATION include/gtk)
-install(FILES gtk/gtksettings.h DESTINATION include/gtk)
-install(FILES gtk/gtkshortcutlabel.h DESTINATION include/gtk)
-install(FILES gtk/gtkshortcutsgroup.h DESTINATION include/gtk)
-install(FILES gtk/gtkshortcutssection.h DESTINATION include/gtk)
-install(FILES gtk/gtkshortcutsshortcut.h DESTINATION include/gtk)
-install(FILES gtk/gtkshortcutswindow.h DESTINATION include/gtk)
-install(FILES gtk/gtkshow.h DESTINATION include/gtk)
-install(FILES gtk/gtkstacksidebar.h DESTINATION include/gtk)
-install(FILES gtk/gtksizegroup.h DESTINATION include/gtk)
-install(FILES gtk/gtksizerequest.h DESTINATION include/gtk)
-install(FILES gtk/gtksocket.h DESTINATION include/gtk)
-install(FILES gtk/gtkspinbutton.h DESTINATION include/gtk)
-install(FILES gtk/gtkspinner.h DESTINATION include/gtk)
-install(FILES gtk/gtkstack.h DESTINATION include/gtk)
-install(FILES gtk/gtkstackswitcher.h DESTINATION include/gtk)
-install(FILES gtk/gtkstatusbar.h DESTINATION include/gtk)
-install(FILES gtk/gtkstylecontext.h DESTINATION include/gtk)
-install(FILES gtk/gtkstyleprovider.h DESTINATION include/gtk)
-install(FILES gtk/gtkswitch.h DESTINATION include/gtk)
-install(FILES gtk/gtktestutils.h DESTINATION include/gtk)
-install(FILES gtk/gtktextattributes.h DESTINATION include/gtk)
-install(FILES gtk/gtktextbuffer.h DESTINATION include/gtk)
-install(FILES gtk/gtktextbufferrichtext.h DESTINATION include/gtk)
-install(FILES gtk/gtktextchild.h DESTINATION include/gtk)
-install(FILES gtk/gtktextdisplay.h DESTINATION include/gtk)
-install(FILES gtk/gtktextiter.h DESTINATION include/gtk)
-install(FILES gtk/gtktextmark.h DESTINATION include/gtk)
-install(FILES gtk/gtktexttag.h DESTINATION include/gtk)
-install(FILES gtk/gtktexttagtable.h DESTINATION include/gtk)
-install(FILES gtk/gtktextview.h DESTINATION include/gtk)
-install(FILES gtk/gtktogglebutton.h DESTINATION include/gtk)
-install(FILES gtk/gtktoggletoolbutton.h DESTINATION include/gtk)
-install(FILES gtk/gtktoolbar.h DESTINATION include/gtk)
-install(FILES gtk/gtktoolbutton.h DESTINATION include/gtk)
-install(FILES gtk/gtktoolitem.h DESTINATION include/gtk)
-install(FILES gtk/gtktoolitemgroup.h DESTINATION include/gtk)
-install(FILES gtk/gtktoolpalette.h DESTINATION include/gtk)
-install(FILES gtk/gtktoolshell.h DESTINATION include/gtk)
-install(FILES gtk/gtktooltip.h DESTINATION include/gtk)
-install(FILES gtk/gtktreednd.h DESTINATION include/gtk)
-install(FILES gtk/gtktreemodel.h DESTINATION include/gtk)
-install(FILES gtk/gtktreemodelfilter.h DESTINATION include/gtk)
-install(FILES gtk/gtktreemodelsort.h DESTINATION include/gtk)
-install(FILES gtk/gtktreeselection.h DESTINATION include/gtk)
-install(FILES gtk/gtktreesortable.h DESTINATION include/gtk)
-install(FILES gtk/gtktreestore.h DESTINATION include/gtk)
-install(FILES gtk/gtktreeview.h DESTINATION include/gtk)
-install(FILES gtk/gtktreeviewcolumn.h DESTINATION include/gtk)
-install(FILES gtk/gtktypes.h DESTINATION include/gtk)
-install(FILES gtk/gtkviewport.h DESTINATION include/gtk)
-install(FILES gtk/gtkvolumebutton.h DESTINATION include/gtk)
-install(FILES gtk/gtkwidget.h DESTINATION include/gtk)
-install(FILES gtk/gtkwidgetpath.h DESTINATION include/gtk)
-install(FILES gtk/gtkwindow.h DESTINATION include/gtk)
-install(FILES gtk/gtkwindowgroup.h DESTINATION include/gtk)
-install(FILES gtk/gtktextlayout.h DESTINATION include/gtk)
-install(FILES gtk/gtktypebuiltins.h DESTINATION include/gtk)
-install(FILES gtk/gtkversion.h DESTINATION include/gtk)
-install(FILES gtk/a11y/gtk-a11y-autocleanups.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtkarrowaccessible.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtkbooleancellaccessible.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtkbuttonaccessible.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtkcellaccessible.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtkcellaccessibleparent.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtkcheckmenuitemaccessible.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtkcomboboxaccessible.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtkcontaineraccessible.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtkcontainercellaccessible.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtkentryaccessible.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtkexpanderaccessible.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtkflowboxaccessible.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtkflowboxchildaccessible.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtkframeaccessible.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtkiconviewaccessible.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtkimageaccessible.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtkimagecellaccessible.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtklabelaccessible.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtklevelbaraccessible.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtklinkbuttonaccessible.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtklistboxaccessible.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtklistboxrowaccessible.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtklockbuttonaccessible.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtkmenuaccessible.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtkmenubuttonaccessible.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtkmenuitemaccessible.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtkmenushellaccessible.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtknotebookaccessible.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtknotebookpageaccessible.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtkpanedaccessible.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtkpopoveraccessible.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtkprogressbaraccessible.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtkradiobuttonaccessible.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtkradiomenuitemaccessible.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtkrangeaccessible.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtkrenderercellaccessible.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtkscaleaccessible.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtkscalebuttonaccessible.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtkscrolledwindowaccessible.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtkspinbuttonaccessible.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtkspinneraccessible.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtkstatusbaraccessible.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtkstackaccessible.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtkswitchaccessible.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtktextcellaccessible.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtktextviewaccessible.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtktogglebuttonaccessible.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtktoplevelaccessible.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtktreeviewaccessible.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtkwidgetaccessible.h DESTINATION include/gtk/a11y)
-install(FILES gtk/a11y/gtkwindowaccessible.h DESTINATION include/gtk/a11y)
-install(FILES gtk/deprecated/gtkactivatable.h DESTINATION include/gtk/deprecated)
-install(FILES gtk/deprecated/gtkaction.h DESTINATION include/gtk/deprecated)
-install(FILES gtk/deprecated/gtkactiongroup.h DESTINATION include/gtk/deprecated)
-install(FILES gtk/deprecated/gtkalignment.h DESTINATION include/gtk/deprecated)
-install(FILES gtk/deprecated/gtkarrow.h DESTINATION include/gtk/deprecated)
-install(FILES gtk/deprecated/gtkcolorsel.h DESTINATION include/gtk/deprecated)
-install(FILES gtk/deprecated/gtkcolorseldialog.h DESTINATION include/gtk/deprecated)
-install(FILES gtk/deprecated/gtkfontsel.h DESTINATION include/gtk/deprecated)
-install(FILES gtk/deprecated/gtkgradient.h DESTINATION include/gtk/deprecated)
-install(FILES gtk/deprecated/gtkhandlebox.h DESTINATION include/gtk/deprecated)
-install(FILES gtk/deprecated/gtkhbbox.h DESTINATION include/gtk/deprecated)
-install(FILES gtk/deprecated/gtkhbox.h DESTINATION include/gtk/deprecated)
-install(FILES gtk/deprecated/gtkhpaned.h DESTINATION include/gtk/deprecated)
-install(FILES gtk/deprecated/gtkhscale.h DESTINATION include/gtk/deprecated)
-install(FILES gtk/deprecated/gtkhscrollbar.h DESTINATION include/gtk/deprecated)
-install(FILES gtk/deprecated/gtkhseparator.h DESTINATION include/gtk/deprecated)
-install(FILES gtk/deprecated/gtkhsv.h DESTINATION include/gtk/deprecated)
-install(FILES gtk/deprecated/gtkiconfactory.h DESTINATION include/gtk/deprecated)
-install(FILES gtk/deprecated/gtkimagemenuitem.h DESTINATION include/gtk/deprecated)
-install(FILES gtk/deprecated/gtkmisc.h DESTINATION include/gtk/deprecated)
-install(FILES gtk/deprecated/gtknumerableicon.h DESTINATION include/gtk/deprecated)
-install(FILES gtk/deprecated/gtkradioaction.h DESTINATION include/gtk/deprecated)
-install(FILES gtk/deprecated/gtkrc.h DESTINATION include/gtk/deprecated)
-install(FILES gtk/deprecated/gtkrecentaction.h DESTINATION include/gtk/deprecated)
-install(FILES gtk/deprecated/gtkstatusicon.h DESTINATION include/gtk/deprecated)
-install(FILES gtk/deprecated/gtkstock.h DESTINATION include/gtk/deprecated)
-install(FILES gtk/deprecated/gtkstyle.h DESTINATION include/gtk/deprecated)
-install(FILES gtk/deprecated/gtkstyleproperties.h DESTINATION include/gtk/deprecated)
-install(FILES gtk/deprecated/gtksymboliccolor.h DESTINATION include/gtk/deprecated)
-install(FILES gtk/deprecated/gtktable.h DESTINATION include/gtk/deprecated)
-install(FILES gtk/deprecated/gtktearoffmenuitem.h DESTINATION include/gtk/deprecated)
-install(FILES gtk/deprecated/gtkthemingengine.h DESTINATION include/gtk/deprecated)
-install(FILES gtk/deprecated/gtktoggleaction.h DESTINATION include/gtk/deprecated)
-install(FILES gtk/deprecated/gtkuimanager.h DESTINATION include/gtk/deprecated)
-install(FILES gtk/deprecated/gtkvbbox.h DESTINATION include/gtk/deprecated)
-install(FILES gtk/deprecated/gtkvbox.h DESTINATION include/gtk/deprecated)
-install(FILES gtk/deprecated/gtkvscale.h DESTINATION include/gtk/deprecated)
-install(FILES gtk/deprecated/gtkvscrollbar.h DESTINATION include/gtk/deprecated)
-install(FILES gtk/deprecated/gtkvseparator.h DESTINATION include/gtk/deprecated)
-install(FILES gtk/deprecated/gtkvpaned.h DESTINATION include/gtk/deprecated)
-install(FILES libgail-util/gailmisc.h DESTINATION include/libgail-util)
-install(FILES libgail-util/gailtextutil.h DESTINATION include/libgail-util)
-install(FILES libgail-util/gail-util.h DESTINATION include/libgail-util)
-install(FILES gdk/broadway/gdkbroadway.h DESTINATION include/gdk)
-install(FILES gdk/broadway/gdkbroadwaydisplay.h DESTINATION include/gdk/broadway)
-install(FILES gdk/broadway/gdkbroadwaywindow.h DESTINATION include/gdk/broadway)
-install(FILES gdk/broadway/gdkbroadwaycursor.h DESTINATION include/gdk/broadway)
-install(FILES gdk/broadway/gdkbroadwaymonitor.h DESTINATION include/gdk/broadway)
-install(FILES gdk/broadway/gdkbroadwayvisual.h DESTINATION include/gdk/broadway)
diff --git a/ports/gtk/link_fix_static.patch b/ports/gtk/link_fix_static.patch
new file mode 100644
index 00000000000000..4e72a95cb1fde7
--- /dev/null
+++ b/ports/gtk/link_fix_static.patch
@@ -0,0 +1,27 @@
+diff --git a/gsk/meson.build b/gsk/meson.build
+index 748f4738a..6d6247343 100644
+--- a/gsk/meson.build
++++ b/gsk/meson.build
+@@ -165,6 +165,7 @@ gsk_deps = [
+ pango_dep,
+ cairo_dep,
+ cairo_csi_dep,
++ lzo_dep,
+ pixbuf_dep,
+ libgdk_dep,
+ ]
+diff --git a/meson.build b/meson.build
+index 19c3fa942..cd57128b2 100644
+--- a/meson.build
++++ b/meson.build
+@@ -451,7 +451,9 @@ cairo_csi_dep = dependency('cairo-script-interpreter', required: false)
+ if not cairo_csi_dep.found()
+ cairo_csi_dep = cc.find_library('cairo-script-interpreter', required: get_option('build-tests'))
+ endif
+-
++if cairo_csi_dep.found()
++ lzo_dep = dependency('lzo2')
++endif
+ cdata.set('HAVE_CAIRO_SCRIPT_INTERPRETER', cairo_csi_dep.found())
+ cdata.set('HAVE_HARFBUZZ', harfbuzz_dep.found())
+ cdata.set('HAVE_PANGOFT', pangoft_dep.found())
diff --git a/ports/gtk/portfile.cmake b/ports/gtk/portfile.cmake
index 92f69ca8f58f95..7055090117219d 100644
--- a/ports/gtk/portfile.cmake
+++ b/ports/gtk/portfile.cmake
@@ -1,42 +1,131 @@
-set(GTK_VERSION 3.22.19)
+set(GTK_VERSION 4.0.1)
vcpkg_download_distfile(ARCHIVE
- URLS "https://ftp.gnome.org/pub/gnome/sources/gtk+/3.22/gtk+-${GTK_VERSION}.tar.xz"
- FILENAME "gtk+-${GTK_VERSION}.tar.xz"
- SHA512 c83198794433ee6eb29f8740d59bd7056cd36808b4bff1a99563ab1a1742e6635dab4f2a8be33317f74d3b336f0d1adc28dd91410da056b50a08c215f184dce2
+ URLS "https://download.gnome.org/sources/gtk/4.0/gtk-4.0.1.tar.xz"
+ FILENAME "gtk-${GTK_VERSION}.tar.xz"
+ SHA512 cab50b5bcf1a6bfdd5245c908e813330b9173531c49fdd63f9b5618f5329ddf2560f0a3548f61bba55dea6d816e57681d4e59941cfc50cf430544d3ebcd90aad
)
vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH
ARCHIVE ${ARCHIVE}
+ PATCHES build.patch
+ #link_fix_static.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/")
-file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
-file(COPY ${CMAKE_CURRENT_LIST_DIR}/cmake DESTINATION ${SOURCE_PATH})
-
-# generate sources using python script installed with glib
-if(NOT EXISTS ${SOURCE_PATH}/gtk/gtkdbusgenerated.h OR NOT EXISTS ${SOURCE_PATH}/gtk/gtkdbusgenerated.c)
- vcpkg_find_acquire_program(PYTHON3)
- set(GLIB_TOOL_DIR ${CURRENT_INSTALLED_DIR}/tools/glib)
-
- vcpkg_execute_required_process(
- COMMAND ${PYTHON3} ${GLIB_TOOL_DIR}/gdbus-codegen --interface-prefix org.Gtk. --c-namespace _Gtk --generate-c-code gtkdbusgenerated ./gtkdbusinterfaces.xml
- WORKING_DIRECTORY ${SOURCE_PATH}/gtk
- LOGNAME source-gen)
+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()
-vcpkg_configure_cmake(
+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)
+
+vcpkg_configure_meson(
SOURCE_PATH ${SOURCE_PATH}
- PREFER_NINJA
- DISABLE_PARALLEL_CONFIGURE
OPTIONS
- -DGTK_VERSION=${GTK_VERSION}
- OPTIONS_DEBUG
- -DGTK_SKIP_HEADERS=ON)
+ ${OPTIONS}
+ -Ddemos=false
+ -Dbuild-examples=false
+ -Dbuild-tests=false
+ -Dinstall-tests=false
+ -Dgtk_doc=false
+ -Dman-pages=false
+ -Dintrospection=disabled
+ -Dsassc=enabled # Rebuild themes using sassc
+ -Dmedia-ffmpeg=disabled # Build the ffmpeg media backend
+ -Dmedia-gstreamer=disabled # Build the gstreamer media backend
+ -Dprint-cups=disabled # Build the cups print backend
+ -Dprint-cloudprint=disabled # Build the cloudprint print backend
+ -Dvulkan=disabled # Enable support for the Vulkan graphics API
+ -Dxinerama=disabled # Enable support for the X11 Xinerama extension
+ -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
+ ADDITIONAL_NATIVE_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_INSTALLED_DIR}/tools/sassc/bin/sassc${VCPKG_HOST_EXECUTABLE_SUFFIX}'
+ ADDITIONAL_CROSS_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_INSTALLED_DIR}/tools/sassc/bin/sassc${VCPKG_HOST_EXECUTABLE_SUFFIX}'
+)
+
+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.
+vcpkg_find_acquire_program(PYTHON3)
+foreach(_config release debug)
+ if(_config STREQUAL "release")
+ set(_short rel)
+ set(_path_suffix)
+ else()
+ set(_short dbg)
+ set(_path_suffix /debug)
+ endif()
+ if(NOT EXISTS "${CURRENT_PACKAGES_DIR}${_path_suffix}/lib")
+ continue()
+ endif()
+ message(STATUS "Running post install script: ${TARGET_TRIPLET}-${_short}")
+
+ set(PKGCONFIG_INSTALLED_DIR "${CURRENT_INSTALLED_DIR}${_path_suffix}/lib/pkgconfig/")
+ set(ENV{PKG_CONFIG_PATH} "${PKGCONFIG_INSTALLED_DIR}")
+ #file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}${_path_suffix}/lib/gtk-4.0/4.0.0/media")
+ #file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}${_path_suffix}/lib/gtk-4.0/4.0.0/immodules")
+ #file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}${_path_suffix}/lib/gtk-4.0/4.0.0/printbackends")
+ vcpkg_execute_required_process(
+ COMMAND "${PYTHON3}" "${SOURCE_PATH}/build-aux/meson/post-install.py" 4.0 4.0.0 "${CURRENT_PACKAGES_DIR}${_path_suffix}/lib" "${CURRENT_PACKAGES_DIR}${_path_suffix}/share" "${CURRENT_PACKAGES_DIR}${_path_suffix}/bin"
+ WORKING_DIRECTORY ${SOURCE_PATH}
+ LOGNAME post-install-${TARGET_TRIPLET}-${_short}
+ )
+ unset(ENV{PKG_CONFIG_PATH})
+ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}${_path_suffix}/lib/gtk-4.0")
+ #file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}${_path_suffix}/bin/gtk-4.0")
+ #file(RENAME "${CURRENT_PACKAGES_DIR}${_path_suffix}/lib/gtk-4.0/" "${CURRENT_PACKAGES_DIR}${_path_suffix}/bin/gtk-4.0")
+ message(STATUS "Post install ${TARGET_TRIPLET}-${_short} done")
+endforeach()
-vcpkg_install_cmake()
vcpkg_copy_pdbs()
-file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/gtk)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/gtk/COPYING ${CURRENT_PACKAGES_DIR}/share/gtk/copyright)
+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
+ gtk4-update-icon-cache)
+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/ports/gtk/vcpkg.json b/ports/gtk/vcpkg.json
new file mode 100644
index 00000000000000..d9fedf148437fb
--- /dev/null
+++ b/ports/gtk/vcpkg.json
@@ -0,0 +1,35 @@
+{
+ "name": "gtk",
+ "version": "4.0.1",
+ "description": "Portable library for creating graphical user interfaces.",
+ "homepage": "https://www.gtk.org/",
+ "dependencies": [
+ "atk",
+ {
+ "name": "cairo",
+ "default-features": false,
+ "features": [
+ "gobject"
+ ]
+ },
+ {
+ "name": "cairo",
+ "default-features": false,
+ "features": [
+ "x11"
+ ],
+ "platform": "linux"
+ },
+ "gdk-pixbuf",
+ "gettext",
+ "glib",
+ {
+ "name": "glib",
+ "host": true
+ },
+ "graphene",
+ "libepoxy",
+ "pango",
+ "sassc"
+ ]
+}
diff --git a/ports/gtkmm/CONTROL b/ports/gtkmm/CONTROL
deleted file mode 100644
index 42ff1167b90b98..00000000000000
--- a/ports/gtkmm/CONTROL
+++ /dev/null
@@ -1,7 +0,0 @@
-Source: gtkmm
-Version: 3.22.2
-Port-Version: 5
-Homepage: https://www.gtkmm.org/
-Description: gtkmm is the official C++ interface for the popular GUI library GTK+.
-Build-Depends: glib, atk, gtk, gdk-pixbuf, pango, cairo, libepoxy, gettext, glibmm, atkmm, cairomm, pangomm
-Supports: !uwp
diff --git a/ports/gtkmm/COPYING b/ports/gtkmm/COPYING
deleted file mode 100644
index 4362b49151d7b3..00000000000000
--- a/ports/gtkmm/COPYING
+++ /dev/null
@@ -1,502 +0,0 @@
- GNU LESSER GENERAL PUBLIC LICENSE
- Version 2.1, February 1999
-
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the Lesser GPL. It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
- This license, the Lesser General Public License, applies to some
-specially designated software packages--typically libraries--of the
-Free Software Foundation and other authors who decide to use it. You
-can use it too, but we suggest you first think carefully about whether
-this license or the ordinary General Public License is the better
-strategy to use in any particular case, based on the explanations below.
-
- When we speak of free software, we are referring to freedom of use,
-not price. Our General Public Licenses are designed to make sure that
-you have the freedom to distribute copies of free software (and charge
-for this service if you wish); that you receive source code or can get
-it if you want it; that you can change the software and use pieces of
-it in new free programs; and that you are informed that you can do
-these things.
-
- To protect your rights, we need to make restrictions that forbid
-distributors to deny you these rights or to ask you to surrender these
-rights. These restrictions translate to certain responsibilities for
-you if you distribute copies of the library or if you modify it.
-
- For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you. You must make sure that they, too, receive or can get the source
-code. If you link other code with the library, you must provide
-complete object files to the recipients, so that they can relink them
-with the library after making changes to the library and recompiling
-it. And you must show them these terms so they know their rights.
-
- We protect your rights with a two-step method: (1) we copyright the
-library, and (2) we offer you this license, which gives you legal
-permission to copy, distribute and/or modify the library.
-
- To protect each distributor, we want to make it very clear that
-there is no warranty for the free library. Also, if the library is
-modified by someone else and passed on, the recipients should know
-that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.
-
- Finally, software patents pose a constant threat to the existence of
-any free program. We wish to make sure that a company cannot
-effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder. Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.
-
- Most GNU software, including some libraries, is covered by the
-ordinary GNU General Public License. This license, the GNU Lesser
-General Public License, applies to certain designated libraries, and
-is quite different from the ordinary General Public License. We use
-this license for certain libraries in order to permit linking those
-libraries into non-free programs.
-
- When a program is linked with a library, whether statically or using
-a shared library, the combination of the two is legally speaking a
-combined work, a derivative of the original library. The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom. The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.
-
- We call this license the "Lesser" General Public License because it
-does Less to protect the user's freedom than the ordinary General
-Public License. It also provides other free software developers Less
-of an advantage over competing non-free programs. These disadvantages
-are the reason we use the ordinary General Public License for many
-libraries. However, the Lesser license provides advantages in certain
-special circumstances.
-
- For example, on rare occasions, there may be a special need to
-encourage the widest possible use of a certain library, so that it becomes
-a de-facto standard. To achieve this, non-free programs must be
-allowed to use the library. A more frequent case is that a free
-library does the same job as widely used non-free libraries. In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.
-
- In other cases, permission to use a particular library in non-free
-programs enables a greater number of people to use a large body of
-free software. For example, permission to use the GNU C Library in
-non-free programs enables many more people to use the whole GNU
-operating system, as well as its variant, the GNU/Linux operating
-system.
-
- Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run
-that program using a modified version of the Library.
-
- The precise terms and conditions for copying, distribution and
-modification follow. Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library". The
-former contains code derived from the library, whereas the latter must
-be combined with the library in order to run.
-
- GNU LESSER GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License Agreement applies to any software library or other
-program which contains a notice placed by the copyright holder or
-other authorized party saying it may be distributed under the terms of
-this Lesser General Public License (also called "this License").
-Each licensee is addressed as "you".
-
- A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
- The "Library", below, refers to any such software library or work
-which has been distributed under these terms. A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language. (Hereinafter, translation is
-included without limitation in the term "modification".)
-
- "Source code" for a work means the preferred form of the work for
-making modifications to it. For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation
-and installation of the library.
-
- Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it). Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-
- 1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
- You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-
- 2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) The modified work must itself be a software library.
-
- b) You must cause the files modified to carry prominent notices
- stating that you changed the files and the date of any change.
-
- c) You must cause the whole of the work to be licensed at no
- charge to all third parties under the terms of this License.
-
- d) If a facility in the modified Library refers to a function or a
- table of data to be supplied by an application program that uses
- the facility, other than as an argument passed when the facility
- is invoked, then you must make a good faith effort to ensure that,
- in the event an application does not supply such function or
- table, the facility still operates, and performs whatever part of
- its purpose remains meaningful.
-
- (For example, a function in a library to compute square roots has
- a purpose that is entirely well-defined independent of the
- application. Therefore, Subsection 2d requires that any
- application-supplied function or table used by this function must
- be optional: if the application does not supply it, the square
- root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library. To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License. (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.) Do not make any other change in
-these notices.
-
- Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
- This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
- 4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
- If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library". Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
- However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library". The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
- When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library. The
-threshold for this to be true is not precisely defined by law.
-
- If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work. (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
- Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-
- 6. As an exception to the Sections above, you may also combine or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
- You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License. You must supply a copy of this License. If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License. Also, you must do one
-of these things:
-
- a) Accompany the work with the complete corresponding
- machine-readable source code for the Library including whatever
- changes were used in the work (which must be distributed under
- Sections 1 and 2 above); and, if the work is an executable linked
- with the Library, with the complete machine-readable "work that
- uses the Library", as object code and/or source code, so that the
- user can modify the Library and then relink to produce a modified
- executable containing the modified Library. (It is understood
- that the user who changes the contents of definitions files in the
- Library will not necessarily be able to recompile the application
- to use the modified definitions.)
-
- b) Use a suitable shared library mechanism for linking with the
- Library. A suitable mechanism is one that (1) uses at run time a
- copy of the library already present on the user's computer system,
- rather than copying library functions into the executable, and (2)
- will operate properly with a modified version of the library, if
- the user installs one, as long as the modified version is
- interface-compatible with the version that the work was made with.
-
- c) Accompany the work with a written offer, valid for at
- least three years, to give the same user the materials
- specified in Subsection 6a, above, for a charge no more
- than the cost of performing this distribution.
-
- d) If distribution of the work is made by offering access to copy
- from a designated place, offer equivalent access to copy the above
- specified materials from the same place.
-
- e) Verify that the user has already received a copy of these
- materials or that you have already sent this user a copy.
-
- For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it. However, as a special exception,
-the materials to be distributed need not include anything that is
-normally distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
- It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system. Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-
- 7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
- a) Accompany the combined library with a copy of the same work
- based on the Library, uncombined with any other library
- facilities. This must be distributed under the terms of the
- Sections above.
-
- b) Give prominent notice with the combined library of the fact
- that part of it is a work based on the Library, and explaining
- where to find the accompanying uncombined form of the same work.
-
- 8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License. Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License. However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
- 9. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Library or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
- 10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties with
-this License.
-
- 11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all. For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply,
-and the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License may add
-an explicit geographical distribution limitation excluding those countries,
-so that distribution is permitted only in or among countries not thus
-excluded. In such case, this License incorporates the limitation as if
-written in the body of this License.
-
- 13. The Free Software Foundation may publish revised and/or new
-versions of the Lesser General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation. If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-
- 14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission. For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this. Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
- NO WARRANTY
-
- 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Libraries
-
- If you develop a new library, and you want it to be of the greatest
-possible use to the public, we recommend making it free software that
-everyone can redistribute and change. You can do so by permitting
-redistribution under these terms (or, alternatively, under the terms of the
-ordinary General Public License).
-
- To apply these terms, attach the following notices to the library. It is
-safest to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least the
-"copyright" line and a pointer to where the full notice is found.
-
-
- Copyright (C)
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with this library; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-
-Also add information on how to contact you by electronic and paper mail.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the library, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the
- library `Frob' (a library for tweaking knobs) written by James Random Hacker.
-
- , 1 April 1990
- Ty Coon, President of Vice
-
-That's all there is to it!
diff --git a/ports/gtkmm/build.patch b/ports/gtkmm/build.patch
new file mode 100644
index 00000000000000..d5d795c49ee200
--- /dev/null
+++ b/ports/gtkmm/build.patch
@@ -0,0 +1,40 @@
+diff --git a/gtk/gtkmm/meson.build b/gtk/gtkmm/meson.build
+index bf6c5804d..3b2ae866d 100644
+--- a/gtk/gtkmm/meson.build
++++ b/gtk/gtkmm/meson.build
+@@ -489,6 +489,10 @@ if is_host_windows
+ extra_gtkmm_objects += gtkmm_res
+ endif
+
++if meson.get_compiler('cpp').get_id() == 'msvc'
++ gtkmm_cpp_args += ['-std:c++17']
++endif
++
+ gtkmm_library = library(gtkmm_libname, extra_gtkmm_objects,
+ gtk_gen_sources, built_dummy_h_file_target, gtkmm_extra_used_cc_files,
+ include_directories: extra_include_dirs,
+diff --git a/gtk/src/expressionwatch.hg b/gtk/src/expressionwatch.hg
+index 78308d221..04e593f8b 100644
+--- a/gtk/src/expressionwatch.hg
++++ b/gtk/src/expressionwatch.hg
+@@ -16,6 +16,7 @@
+
+ _CONFIGINCLUDE(gtkmmconfig.h)
+
++#include
+ #include
+ #include
+
+diff --git a/untracked/gtk/gtkmm/expressionwatch.h b/untracked/gtk/gtkmm/expressionwatch.h
+index 3a80efd64..279870ed7 100644
+--- a/untracked/gtk/gtkmm/expressionwatch.h
++++ b/untracked/gtk/gtkmm/expressionwatch.h
+@@ -4,7 +4,7 @@
+
+ #include
+
+-
++#include
+ #include
+ #include
+
diff --git a/ports/gtkmm/fix_properties.patch b/ports/gtkmm/fix_properties.patch
deleted file mode 100644
index 3db0a30e5719d4..00000000000000
--- a/ports/gtkmm/fix_properties.patch
+++ /dev/null
@@ -1,2423 +0,0 @@
-diff --git a/MSVC_Net2013/gdkmm.vcxproj b/MSVC_Net2013/gdkmm.vcxproj
-index dd495a0..94c6396 100644
---- a/MSVC_Net2013/gdkmm.vcxproj
-+++ b/MSVC_Net2013/gdkmm.vcxproj
-@@ -93,7 +93,7 @@
- $(OutDir)\gendef.exe $(DefDir)\$(ProjectName).def $(TargetFileName) $(IntDir)*.obj
-
-
-- $(CPPDepLibsDebug);%(AdditionalDependencies)
-+ %(AdditionalDependencies)
- $(OutDir)$(ProjectName)$(DebugDllSuffix).dll
- $(IntDir)\$(ProjectName).def
- true
-@@ -118,7 +118,7 @@
- $(OutDir)\gendef.exe $(DefDir)\$(ProjectName).def $(TargetFileName) $(IntDir)*.obj
-
-
-- $(CPPDepLibsRelease);%(AdditionalDependencies)
-+ %(AdditionalDependencies)
- $(OutDir)$(ProjectName)$(ReleaseDllSuffix).dll
- $(IntDir)\$(ProjectName).def
- true
-@@ -150,7 +150,7 @@
- $(OutDir)\gendef.exe $(DefDir)\$(ProjectName).def $(TargetFileName) $(IntDir)*.obj
-
-
-- $(CPPDepLibsDebug);%(AdditionalDependencies)
-+ %(AdditionalDependencies)
- $(OutDir)$(ProjectName)$(DebugDllSuffix).dll
- $(IntDir)\$(ProjectName).def
- true
-@@ -179,7 +179,7 @@
- $(OutDir)\gendef.exe $(DefDir)\$(ProjectName).def $(TargetFileName) $(IntDir)*.obj
-
-
-- $(CPPDepLibsRelease);%(AdditionalDependencies)
-+ %(AdditionalDependencies)
- $(OutDir)$(ProjectName)$(ReleaseDllSuffix).dll
- $(IntDir)\$(ProjectName).def
- false
-@@ -263,4 +263,4 @@
-
-
-
--
-+
-\ No newline at end of file
-diff --git a/MSVC_Net2013/gdkmm.vcxproj.filters b/MSVC_Net2013/gdkmm.vcxproj.filters
-index 826f785..da390e5 100644
---- a/MSVC_Net2013/gdkmm.vcxproj.filters
-+++ b/MSVC_Net2013/gdkmm.vcxproj.filters
-@@ -15,71 +15,183 @@
-
-
-
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-
-
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-
-
-
- Resource Files
-
-
--
-+
-\ No newline at end of file
-diff --git a/MSVC_Net2013/gtkmm-build-defines.props b/MSVC_Net2013/gtkmm-build-defines.props
-index 880cbf7..2cb24a3 100644
---- a/MSVC_Net2013/gtkmm-build-defines.props
-+++ b/MSVC_Net2013/gtkmm-build-defines.props
-@@ -4,10 +4,8 @@
-
-
-
-- GDKMM_BUILD
-- GTKMM_BUILD
-- pangomm-vc$(VSVer)0-1_4.lib;giomm-vc$(VSVer)0-2_4.lib;glibmm-vc$(VSVer)0-2_4.lib;cairomm-vc$(VSVer)0-1_0.lib;sigc-vc$(VSVer)0-2_0.lib
-- pangomm-vc$(VSVer)0-d-1_4.lib;giomm-vc$(VSVer)0-d-2_4.lib;glibmm-vc$(VSVer)0-d-2_4.lib;cairomm-vc$(VSVer)0-d-1_0.lib;sigc-vc$(VSVer)0-d-2_0.lib
-+ GDKMM_BUILD;_WINDLL
-+ GTKMM_BUILD;_WINDLL
-
-
- <_PropertySheetDisplayName>glibmmbuilddefinesprops
-@@ -16,15 +14,15 @@
-
-
-
-- .\gdkmm;..;..\gdk;$(GlibEtcInstallRoot)\include\pangomm-1.4;$(GlibEtcInstallRoot)\lib\pangomm-1.4\include;$(GlibEtcInstallRoot)\include\giomm-2.4;$(GlibEtcInstallRoot)\lib\giomm-2.4\include;$(GlibEtcInstallRoot)\include\glibmm-2.4;$(GlibEtcInstallRoot)\lib\glibmm-2.4\include;$(GlibEtcInstallRoot)\include\cairomm-1.0;$(GlibEtcInstallRoot)\lib\cairomm-1.0\include;$(GlibEtcInstallRoot)\include\sigc++-2.0;$(GlibEtcInstallRoot)\lib\sigc++-2.0\include;$(GlibEtcInstallRoot)\include\gtk-3.0;$(GlibEtcInstallRoot)\include\gdk-pixbuf-2.0;$(GlibEtcInstallRoot)\include\pango-1.0;$(GlibEtcInstallRoot)\include\gio-win32-2.0;$(GlibEtcInstallRoot)\include\glib-2.0;$(GlibEtcInstallRoot)\lib\glib-2.0\include;$(GlibEtcInstallRoot)\include;%(AdditionalIncludeDirectories)
-+ .\gdkmm;..;..\gdk;.;%(AdditionalIncludeDirectories)
- msvc_recommended_pragmas.h;%(ForcedIncludeFiles)
- 4250;%(DisableSpecificWarnings)
- true
- /d2Zi+ %(AdditionalOptions)
-
-
-- gtk-3.0.lib;gdk-3.0.lib;gdk_pixbuf-2.0.lib;gobject-2.0.lib;gio-2.0.lib;glib-2.0.lib;epoxy.lib;%(AdditionalDependencies)
-- $(GlibEtcInstallRoot)\lib;%(AdditionalLibraryDirectories)
-+ %(AdditionalDependencies)
-+ %(AdditionalLibraryDirectories)
-
-
-
-@@ -34,11 +32,5 @@
-
- $(GtkMMBuildDefs)
-
--
-- $(CPPDepLibsRelease)
--
--
-- $(CPPDepLibsDebug)
--
-
--
-+
-\ No newline at end of file
-diff --git a/MSVC_Net2013/gtkmm-version-paths.props b/MSVC_Net2013/gtkmm-version-paths.props
-index f0c2834..968562a 100644
---- a/MSVC_Net2013/gtkmm-version-paths.props
-+++ b/MSVC_Net2013/gtkmm-version-paths.props
-@@ -2,13 +2,9 @@
-
-
- 12
-- $(SolutionDir)\..\..\vs$(VSVer)\$(Platform)
-- $(GlibEtcInstallRoot)
- $(SolutionDir)$(Configuration)\$(Platform)\obj\$(ProjectName)\
- 3
- 0
-- -vc$(VSVer)0-$(ApiMajorVersion)_$(ApiMinorVersion)
-- -vc$(VSVer)0-d-$(ApiMajorVersion)_$(ApiMinorVersion)
-
-
- <_PropertySheetDisplayName>glibmmversionpathsprops
-@@ -17,12 +13,6 @@
-
- $(VSVer)
-
--
-- $(GlibEtcInstallRoot)
--
--
-- $(CopyDir)
--
-
- $(DefDir)
-
-@@ -32,11 +22,5 @@
-
- $(ApiMinorVersion)
-
--
-- $(ReleaseDllSuffix)
--
--
-- $(DebugDllSuffix)
--
-
-
-\ No newline at end of file
-diff --git a/MSVC_Net2013/gtkmm.vcxproj b/MSVC_Net2013/gtkmm.vcxproj
-index 8093886..ec56ed1 100644
---- a/MSVC_Net2013/gtkmm.vcxproj
-+++ b/MSVC_Net2013/gtkmm.vcxproj
-@@ -80,7 +80,7 @@
- %(AdditionalOptions)
- Disabled
- .\gtkmm;..\gtk;$(GlibEtcInstallRoot)\include\atkmm-1.6;$(GlibEtcInstallRoot)\lib\atkmm-1.6\include;%(AdditionalIncludeDirectories)
-- _DEBUG;$(GtkMMBuildDefs);%(PreprocessorDefinitions)
-+ _DEBUG;_NO_CRT_STDIO_INLINE;$(GtkMMBuildDefs);_NO_CRT_STDIO_INLINE;%(PreprocessorDefinitions)
- true
- EnableFastChecks
- MultiThreadedDebugDLL
-@@ -95,7 +95,7 @@
- $(OutDir)\gendef.exe $(DefDir)\$(ProjectName).def $(TargetFileName) $(IntDir)*.obj
-
-
-- atkmm-vc$(VSVer)0-d-1_6.lib;$(CPPDepLibsDebug);%(AdditionalDependencies)
-+ legacy_stdio_definitions.lib;%(AdditionalDependencies)
- $(OutDir)$(ProjectName)$(DebugDllSuffix).dll
- $(IntDir)\$(ProjectName).def
- true
-@@ -108,7 +108,7 @@
-
- %(AdditionalOptions)
- .\gtkmm;..\gtk;$(GlibEtcInstallRoot)\include\atkmm-1.6;$(GlibEtcInstallRoot)\lib\atkmm-1.6\include;%(AdditionalIncludeDirectories)
-- $(GtkMMBuildDefs);%(PreprocessorDefinitions)
-+ $(GtkMMBuildDefs);_NO_CRT_STDIO_INLINE;%(PreprocessorDefinitions)
- MultiThreadedDLL
- true
-
-@@ -121,7 +121,7 @@
- $(OutDir)\gendef.exe $(DefDir)\$(ProjectName).def $(TargetFileName) $(IntDir)*.obj
-
-
-- atkmm-vc$(VSVer)0-1_6.lib;$(CPPDepLibsRelease);%(AdditionalDependencies)
-+ legacy_stdio_definitions.lib;%(AdditionalDependencies)
- $(OutDir)$(ProjectName)$(ReleaseDllSuffix).dll
- $(IntDir)\$(ProjectName).def
- false
-@@ -139,7 +139,7 @@
- %(AdditionalOptions)
- Disabled
- .\gtkmm;..\gtk;$(GlibEtcInstallRoot)\include\atkmm-1.6;$(GlibEtcInstallRoot)\lib\atkmm-1.6\include;%(AdditionalIncludeDirectories)
-- _DEBUG;$(GtkMMBuildDefs);%(PreprocessorDefinitions)
-+ _DEBUG;_NO_CRT_STDIO_INLINE;$(GtkMMBuildDefs);)
- true
- EnableFastChecks
- MultiThreadedDebugDLL
-@@ -154,7 +154,7 @@
- $(OutDir)\gendef.exe $(DefDir)\$(ProjectName).def $(TargetFileName) $(IntDir)*.obj
-
-
-- atkmm-vc$(VSVer)0-d-1_6.lib;$(CPPDepLibsDebug);%(AdditionalDependencies)
-+ legacy_stdio_definitions.lib;%(AdditionalDependencies)
- $(OutDir)$(ProjectName)$(DebugDllSuffix).dll
- $(IntDir)\$(ProjectName).def
- true
-@@ -171,7 +171,7 @@
-
- %(AdditionalOptions)
- .\gtkmm;..\gtk;$(GlibEtcInstallRoot)\include\atkmm-1.6;$(GlibEtcInstallRoot)\lib\atkmm-1.6\include;%(AdditionalIncludeDirectories)
-- $(GtkMMBuildDefs);%(PreprocessorDefinitions)
-+ $(GtkMMBuildDefs);_NO_CRT_STDIO_INLINE;%(PreprocessorDefinitions)
- MultiThreadedDLL
- true
-
-@@ -184,7 +184,7 @@
- $(OutDir)\gendef.exe $(DefDir)\$(ProjectName).def $(TargetFileName) $(IntDir)*.obj
-
-
-- atkmm-vc$(VSVer)0-1_6.lib;$(CPPDepLibsRelease);%(AdditionalDependencies)
-+ legacy_stdio_definitions.lib;%(AdditionalDependencies)
- $(OutDir)$(ProjectName)$(ReleaseDllSuffix).dll
- $(IntDir)\$(ProjectName).def
- true
-@@ -697,4 +697,4 @@
-
-
-
--
-+
-\ No newline at end of file
-diff --git a/MSVC_Net2013/gtkmm.vcxproj.filters b/MSVC_Net2013/gtkmm.vcxproj.filters
-index 5237502..5e8bd36 100644
---- a/MSVC_Net2013/gtkmm.vcxproj.filters
-+++ b/MSVC_Net2013/gtkmm.vcxproj.filters
-@@ -14,496 +14,1459 @@
-
-
-
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Header Files
-- Header Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Header Files
-- Header Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-- Source Files
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-
-
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Source Files
-- Source Files
-- Source Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Source Files
-- Source Files
-- Source Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-- Header Files
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Source Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-+
-+ Header Files
-+
-
-
-
- Resource Files
-
-
--
-+
-\ No newline at end of file
diff --git a/ports/gtkmm/fix_treeviewcolumn.patch b/ports/gtkmm/fix_treeviewcolumn.patch
deleted file mode 100644
index 8daf91afbd00a9..00000000000000
--- a/ports/gtkmm/fix_treeviewcolumn.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/gtk/gtkmm/treeviewcolumn.h b/gtk/gtkmm/treeviewcolumn.h
-index f2a77c1..c66302a 100644
---- a/gtk/gtkmm/treeviewcolumn.h
-+++ b/gtk/gtkmm/treeviewcolumn.h
-@@ -1026,9 +1026,7 @@ void TreeViewColumn::pack_end(const TreeModelColumn& column,
- template inline
- TreeViewColumn::TreeViewColumn(const Glib::ustring& title,
- const TreeModelColumn& column)
--:
-- Glib::ObjectBase(nullptr), // not (yet) a custom class
-- Gtk::Object(Glib::ConstructParams(class_init_(), "title", title.c_str(), nullptr))
-+: TreeViewColumn (title)
- {
- pack_start(column, true /* expand */);
- }
diff --git a/ports/gtkmm/gtkapi.patch b/ports/gtkmm/gtkapi.patch
new file mode 100644
index 00000000000000..09fa038f33de30
--- /dev/null
+++ b/ports/gtkmm/gtkapi.patch
@@ -0,0 +1,35 @@
+diff --git a/untracked/gtk/gtkmm/expression.h b/untracked/gtk/gtkmm/expression.h
+index fc3bf1e5b..ff70c720a 100644
+--- a/untracked/gtk/gtkmm/expression.h
++++ b/untracked/gtk/gtkmm/expression.h
+@@ -377,7 +377,7 @@ private:
+ namespace Expression_Private
+ {
+
+-void watch_callback(gpointer data);
++GTKMM_API void watch_callback(gpointer data);
+
+ template
+ class Invoker
+@@ -406,7 +406,7 @@ void closure_marshal(GClosure* closure,
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-void closure_callback_func();
++GTKMM_API void closure_callback_func();
+
+ template
+ void closure_destroy(gpointer data, GClosure* closure);
+diff --git a/untracked/gtk/gtkmm/expressionwatch.h b/untracked/gtk/gtkmm/expressionwatch.h
+index 279870ed7..e9c760664 100644
+--- a/untracked/gtk/gtkmm/expressionwatch.h
++++ b/untracked/gtk/gtkmm/expressionwatch.h
+@@ -83,7 +83,7 @@ public:
+ };
+
+ template
+-class GTKMM_API ExpressionWatch final : public ExpressionWatchBase
++class ExpressionWatch final : public ExpressionWatchBase
+ {
+ public:
+ /** Evaluates the watched expression and on success returns the result.
diff --git a/ports/gtkmm/msvc_recommended_pragmas.h b/ports/gtkmm/msvc_recommended_pragmas.h
deleted file mode 100644
index c0eb1d5edf4cd5..00000000000000
--- a/ports/gtkmm/msvc_recommended_pragmas.h
+++ /dev/null
@@ -1,34 +0,0 @@
-#ifndef _MSC_VER
-#pragma error "This header is for Microsoft VC only."
-#endif /* _MSC_VER */
-
-/* Make MSVC more pedantic, this is a recommended pragma list
- * from _Win32_Programming_ by Rector and Newcomer.
- */
-#pragma warning(error:4002) /* too many actual parameters for macro */
-#pragma warning(error:4003) /* not enough actual parameters for macro */
-#pragma warning(1:4010) /* single-line comment contains line-continuation character */
-#pragma warning(error:4013) /* 'function' undefined; assuming extern returning int */
-#pragma warning(1:4016) /* no function return type; using int as default */
-#pragma warning(error:4020) /* too many actual parameters */
-#pragma warning(error:4021) /* too few actual parameters */
-#pragma warning(error:4027) /* function declared without formal parameter list */
-#pragma warning(error:4029) /* declared formal parameter list different from definition */
-#pragma warning(error:4033) /* 'function' must return a value */
-#pragma warning(error:4035) /* 'function' : no return value */
-#pragma warning(error:4045) /* array bounds overflow */
-#pragma warning(error:4047) /* different levels of indirection */
-#pragma warning(error:4049) /* terminating line number emission */
-#pragma warning(error:4053) /* An expression of type void was used as an operand */
-#pragma warning(error:4071) /* no function prototype given */
-#pragma warning(disable:4101) /* unreferenced local variable */
-#pragma warning(error:4150)
-
-#pragma warning(disable:4244) /* No possible loss of data warnings */
-#pragma warning(disable:4305) /* No truncation from int to char warnings */
-
-#pragma warning(error:4819) /* The file contains a character that cannot be represented in the current code page */
-
-/* work around Microsoft's premature attempt to deprecate the C-Library */
-#define _CRT_SECURE_NO_WARNINGS
-#define _CRT_NONSTDC_NO_WARNINGS
diff --git a/ports/gtkmm/portfile.cmake b/ports/gtkmm/portfile.cmake
index 96add947bab078..b1964c2455b58e 100644
--- a/ports/gtkmm/portfile.cmake
+++ b/ports/gtkmm/portfile.cmake
@@ -1,97 +1,33 @@
-if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore)
- message(FATAL_ERROR "Error: UWP builds are currently not supported.")
-endif()
-
-vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)
+vcpkg_fail_port_install(ON_TARGET "uwp")
vcpkg_download_distfile(ARCHIVE
- URLS "https://ftp.gnome.org/pub/GNOME/sources/gtkmm/3.22/gtkmm-3.22.2.tar.xz"
- FILENAME "gtkmm-3.22.2.tar.xz"
- SHA512 6e96b543e459481145ee0f56f31a7ad2466bd8ccdd2abf3205998aecede73d235149ca6e5ba6e8d20a4fd5345e310870d81ac2a716d4f78d1460ed685badbdc2
+ URLS "https://ftp.gnome.org/pub/GNOME/sources/gtkmm/4.0/gtkmm-4.0.0.tar.xz"
+ FILENAME "gtkmm-4.0.0.tar.xz"
+ SHA512 16893b6caa39f1b65a4140296d8d25c0d5e5f8a6ab808086783e7222bc1f5e8b94d17d48e4b718a12f0e0291010d445f4da9f88b7f494ec36adb22752d932743
)
vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH
ARCHIVE ${ARCHIVE}
- PATCHES
- fix_properties.patch
- fix_treeviewcolumn.patch
+ PATCHES
+ build.patch
+ gtkapi.patch #upstream patch to fix dllimport issue
)
-file(COPY ${CMAKE_CURRENT_LIST_DIR}/msvc_recommended_pragmas.h DESTINATION ${SOURCE_PATH}/MSVC_Net2013)
-
-set(VS_PLATFORM ${VCPKG_TARGET_ARCHITECTURE})
-if(${VCPKG_TARGET_ARCHITECTURE} STREQUAL x86)
- set(VS_PLATFORM "Win32")
-endif(${VCPKG_TARGET_ARCHITECTURE} STREQUAL x86)
-
-vcpkg_build_msbuild(
- PROJECT_PATH ${SOURCE_PATH}/MSVC_Net2013/gtkmm.sln
- TARGET gtkmm
- PLATFORM ${VS_PLATFORM}
- USE_VCPKG_INTEGRATION
+vcpkg_configure_meson(
+ SOURCE_PATH ${SOURCE_PATH}
+ OPTIONS
+ -Dmsvc14x-parallel-installable=false # Use separate DLL and LIB filenames for Visual Studio 2017 and 2019
+ -Dbuild-tests=false
+ -Dbuild-demos=false
+ ADDITIONAL_NATIVE_BINARIES glib-compile-resources='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-compile-resources${VCPKG_HOST_EXECUTABLE_SUFFIX}'
+ ADDITIONAL_CROSS_BINARIES glib-compile-resources='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-compile-resources${VCPKG_HOST_EXECUTABLE_SUFFIX}'
)
-# Handle headers
-file(COPY ${SOURCE_PATH}/MSVC_Net2013/gdkmm/gdkmmconfig.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
-file(COPY ${SOURCE_PATH}/gdk/gdkmm.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
-file(
- COPY
- ${SOURCE_PATH}/gdk/gdkmm
- DESTINATION ${CURRENT_PACKAGES_DIR}/include
- FILES_MATCHING PATTERN *.h
-)
-file(COPY ${SOURCE_PATH}/MSVC_Net2013/gtkmm/gtkmmconfig.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
-file(COPY ${SOURCE_PATH}/gtk/gtkmm.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
-file(
- COPY
- ${SOURCE_PATH}/gtk/gtkmm
- DESTINATION ${CURRENT_PACKAGES_DIR}/include
- FILES_MATCHING PATTERN *.h
-)
-
-# Handle libraries
-file(
- COPY
- ${SOURCE_PATH}/MSVC_Net2013/Release/${VS_PLATFORM}/bin/gdkmm.dll
- DESTINATION ${CURRENT_PACKAGES_DIR}/bin
-)
-file(
- COPY
- ${SOURCE_PATH}/MSVC_Net2013/Release/${VS_PLATFORM}/bin/gdkmm.lib
- DESTINATION ${CURRENT_PACKAGES_DIR}/lib
-)
-file(
- COPY
- ${SOURCE_PATH}/MSVC_Net2013/Release/${VS_PLATFORM}/bin/gtkmm.dll
- DESTINATION ${CURRENT_PACKAGES_DIR}/bin
-)
-file(
- COPY
- ${SOURCE_PATH}/MSVC_Net2013/Release/${VS_PLATFORM}/bin/gtkmm.lib
- DESTINATION ${CURRENT_PACKAGES_DIR}/lib
-)
-file(
- COPY
- ${SOURCE_PATH}/MSVC_Net2013/Debug/${VS_PLATFORM}/bin/gdkmm.dll
- DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin
-)
-file(
- COPY
- ${SOURCE_PATH}/MSVC_Net2013/Debug/${VS_PLATFORM}/bin/gdkmm.lib
- DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib
-)
-file(
- COPY
- ${SOURCE_PATH}/MSVC_Net2013/Debug/${VS_PLATFORM}/bin/gtkmm.dll
- DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin
-)
-file(
- COPY
- ${SOURCE_PATH}/MSVC_Net2013/Debug/${VS_PLATFORM}/bin/gtkmm.lib
- DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib
-)
+vcpkg_install_meson()
vcpkg_copy_pdbs()
-file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/gtkmm RENAME copyright)
+vcpkg_fixup_pkgconfig()
+
+file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
diff --git a/ports/gtkmm/vcpkg.json b/ports/gtkmm/vcpkg.json
new file mode 100644
index 00000000000000..7764c53908127d
--- /dev/null
+++ b/ports/gtkmm/vcpkg.json
@@ -0,0 +1,25 @@
+{
+ "name": "gtkmm",
+ "version": "4.0.0",
+ "description": "gtkmm is the official C++ interface for the popular GUI library GTK+.",
+ "homepage": "https://www.gtkmm.org/",
+ "supports": "!uwp",
+ "dependencies": [
+ "atk",
+ "atkmm",
+ "cairo",
+ "cairomm",
+ "gdk-pixbuf",
+ "gettext",
+ "glib",
+ {
+ "name": "glib",
+ "host": true
+ },
+ "glibmm",
+ "gtk",
+ "libepoxy",
+ "pango",
+ "pangomm"
+ ]
+}
diff --git a/ports/gts/CONTROL b/ports/gts/CONTROL
deleted file mode 100644
index 7d9db739126a56..00000000000000
--- a/ports/gts/CONTROL
+++ /dev/null
@@ -1,5 +0,0 @@
-Source: gts
-Version: 0.7.6-3
-Homepage: https://github.com/finetjul/gts
-Description: A Library intended to provide a set of useful functions to deal with 3D surfaces meshed with interconnected triangles
-Build-Depends: glib
diff --git a/ports/gts/glib2.patch b/ports/gts/glib2.patch
new file mode 100644
index 00000000000000..60de77c70d9e16
--- /dev/null
+++ b/ports/gts/glib2.patch
@@ -0,0 +1,54 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 941e9b96b..ea031828d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -85,30 +85,35 @@ include_directories(
+ ${CMAKE_CURRENT_SOURCE_DIR}/src
+ )
+
+-find_library(glib_LIBRARY NAMES glib libglib glib-2.0 libglib-2.0
+- HINTS ${glib_BINARY_DIR})
++find_package(PkgConfig REQUIRED)
++pkg_check_modules(GLIB2 glib-2.0 IMPORTED_TARGET)
+
+-get_filename_component(glib_LIBRARY_DIR ${glib_LIBRARY} DIRECTORY)
+-get_filename_component(glib_LIBRARY_NAME ${glib_LIBRARY} NAME)
+-string(REGEX REPLACE "\\.[^.]*$" "" glib_LIBRARY_NAME ${glib_LIBRARY_NAME})
++# find_library(glib_LIBRARY NAMES glib libglib glib-2.0 libglib-2.0
++ # HINTS ${glib_BINARY_DIR})
+
+-find_path(glib_H NAMES glib.h
+- HINTS ${glib_LIBRARY_DIR}/../include)
+-get_filename_component(glib_INCLUDE_DIR ${glib_H} DIRECTORY)
++# get_filename_component(glib_LIBRARY_DIR ${glib_LIBRARY} DIRECTORY)
++# get_filename_component(glib_LIBRARY_NAME ${glib_LIBRARY} NAME)
++# string(REGEX REPLACE "\\.[^.]*$" "" glib_LIBRARY_NAME ${glib_LIBRARY_NAME})
+
+-set(glib_CONFIG_H)
+-find_path(glib_CONFIG_H NAMES glibconfig.h
+- HINTS ${glib_LIBRARY_DIR}/${glib_LIBRARY_NAME}/include)
++# find_path(glib_H NAMES glib.h
++ # HINTS ${glib_LIBRARY_DIR}/../include)
++# get_filename_component(glib_INCLUDE_DIR ${glib_H} DIRECTORY)
+
+-get_filename_component(glibconfig_INCLUDE_DIR ${glib_CONFIG_H} DIRECTORY)
+-include_directories(${glib_INCLUDE_DIR} ${glib_CONFIG_H})
++# set(glib_CONFIG_H)
++# find_path(glib_CONFIG_H NAMES glibconfig.h
++ # HINTS ${glib_LIBRARY_DIR}/${glib_LIBRARY_NAME}/include)
++
++# get_filename_component(glibconfig_INCLUDE_DIR ${glib_CONFIG_H} DIRECTORY)
++# include_directories(${glib_INCLUDE_DIR} ${glib_CONFIG_H})
++include_directories(${GLIB2_INCLUDE_DIRS})
+
+ if (NOT WIN32 AND BUILD_SHARED_LIBS)
+ add_definitions(/DGTS_COMPILATION)
+ endif()
+
+ add_library(${kit} SHARED ${srcs})
+-target_link_libraries(${kit} ${glib_LIBRARY})
++target_include_directories(${kit} PUBLIC ${GLIB2_INCLUDE_DIRS})
++target_link_libraries(${kit} PkgConfig::GLIB2)
+
+ if(MSVC)
+ SET_TARGET_PROPERTIES(${kit} PROPERTIES LINK_FLAGS "/DEF:\"${CMAKE_CURRENT_SOURCE_DIR}/src/gts.def\"")
diff --git a/ports/gts/portfile.cmake b/ports/gts/portfile.cmake
index da7ed6183c0a77..98ea07a8fab5ae 100644
--- a/ports/gts/portfile.cmake
+++ b/ports/gts/portfile.cmake
@@ -10,10 +10,13 @@ vcpkg_from_github(
fix-M_PI-in-windows.patch
support-unix.patch
fix-pkgconfig.patch
+ glib2.patch
)
-
+vcpkg_find_acquire_program(PKGCONFIG)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
+ OPTIONS
+ -DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}
)
vcpkg_install_cmake()
diff --git a/ports/gts/vcpkg.json b/ports/gts/vcpkg.json
new file mode 100644
index 00000000000000..45de1e6a448c62
--- /dev/null
+++ b/ports/gts/vcpkg.json
@@ -0,0 +1,10 @@
+{
+ "name": "gts",
+ "version": "0.7.6",
+ "port-version": 4,
+ "description": "A Library intended to provide a set of useful functions to deal with 3D surfaces meshed with interconnected triangles",
+ "homepage": "https://github.com/finetjul/gts",
+ "dependencies": [
+ "glib"
+ ]
+}
diff --git a/ports/harfbuzz/portfile.cmake b/ports/harfbuzz/portfile.cmake
index 54cc71fbab1f44..ad30ce7101d8a0 100644
--- a/ports/harfbuzz/portfile.cmake
+++ b/ports/harfbuzz/portfile.cmake
@@ -5,34 +5,59 @@ vcpkg_from_github(
SHA512 d231a788ea4e52231d4c363c1eca76424cb82ed0952b5c24d0b082e88b3dddbda967e7fffe67fffdcb22c7ebfbf0ec923365eb4532be772f2e61fa7d29b51998
HEAD_REF master
PATCHES
- # This patch is a workaround that is needed until the following issues are resolved upstream:
- # - https://github.com/mesonbuild/meson/issues/8375
- # - https://github.com/harfbuzz/harfbuzz/issues/2870
- # Details: https://github.com/microsoft/vcpkg/issues/16262
- 0001-circumvent-samefile-error.patch
+ # This patch is a workaround that is needed until the following issues are resolved upstream:
+ # - https://github.com/mesonbuild/meson/issues/8375
+ # - https://github.com/harfbuzz/harfbuzz/issues/2870
+ # Details: https://github.com/microsoft/vcpkg/issues/16262
+ 0001-circumvent-samefile-error.patch
0002-fix-uwp-build.patch
)
-vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
- icu icu
- graphite2 graphite
- glib glib
-)
+if("icu" IN_LIST FEATURES)
+ list(APPEND FEATURE_OPTIONS -Dicu=enabled) # Enable ICU library unicode functions
+else()
+ list(APPEND FEATURE_OPTIONS -Dicu=disabled)
+endif()
+if("graphite2" IN_LIST FEATURES)
+ list(APPEND FEATURE_OPTIONS -Dgraphite=enabled) #Enable Graphite2 complementary shaper
+else()
+ list(APPEND FEATURE_OPTIONS -Dgraphite=disabled)
+endif()
+if("coretext" IN_LIST FEATURES)
+ list(APPEND FEATURE_OPTIONS -Dcoretext=enabled) # Enable CoreText shaper backend on macOS
+ if(NOT VCPKG_TARGET_IS_OSX)
+ message(FATAL_ERROR "Feature 'coretext' os only available on OSX")
+ endif()
+else()
+ list(APPEND FEATURE_OPTIONS -Dcoretext=disabled)
+endif()
+if("glib" IN_LIST FEATURES)
+ list(APPEND FEATURE_OPTIONS -Dglib=enabled) # Enable GLib unicode functions
+ list(APPEND FEATURE_OPTIONS -Dgobject=enabled) #Enable GObject bindings
+else()
+ list(APPEND FEATURE_OPTIONS -Dglib=disabled)
+ list(APPEND FEATURE_OPTIONS -Dgobject=disabled)
+endif()
+list(APPEND FEATURE_OPTIONS -Dfreetype=enabled) #Enable freetype interop helpers
+#if(VCPKG_TARGET_IS_WINDOWS)
+ #link errors in qt5-base. probably requires changes to the pc files generated by meson
+ #list(APPEND FEATURE_OPTIONS -Dgdi=enabled) # enable gdi helpers and uniscribe shaper backend (windows only)
+#endif()
-string(REPLACE "=ON" "=enabled" FEATURE_OPTIONS "${FEATURE_OPTIONS}")
-string(REPLACE "=OFF" "=disabled" FEATURE_OPTIONS "${FEATURE_OPTIONS}")
vcpkg_configure_meson(
SOURCE_PATH ${SOURCE_PATH}
OPTIONS ${FEATURE_OPTIONS}
- -Dfreetype=enabled
- -Dgobject=disabled
- -Dcairo=disabled
- -Dfontconfig=disabled
- -Dintrospection=disabled
- -Ddocs=disabled
+ -Dcairo=disabled # Use Cairo graphics library
+ -Dfontconfig=disabled # Use fontconfig
+ -Dintrospection=disabled # Generate gobject-introspection bindings (.gir/.typelib files)
+ -Ddocs=disabled # Generate documentation with gtk-doc
-Dtests=disabled
-Dbenchmark=disabled
+ ADDITIONAL_NATIVE_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal'
+ glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums'
+ ADDITIONAL_CROSS_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal'
+ glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums'
)
vcpkg_install_meson()
@@ -45,4 +70,15 @@ configure_file("${CMAKE_CURRENT_LIST_DIR}/harfbuzzConfig.cmake.in"
"${CURRENT_PACKAGES_DIR}/share/${PORT}/harfbuzzConfig.cmake" @ONLY)
# Handle copyright
-file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
+file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
+
+if("glib" IN_LIST FEATURES)
+ list(APPEND TOOL_NAMES hb-subset hb-shape hb-ot-shape-closure)
+endif()
+if(TOOL_NAMES)
+ vcpkg_copy_tools(TOOL_NAMES ${TOOL_NAMES} AUTO_CLEAN)
+endif()
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")
+endif()
diff --git a/ports/harfbuzz/vcpkg.json b/ports/harfbuzz/vcpkg.json
index c2e9ab742139a5..1fc28ff5ad2f1b 100644
--- a/ports/harfbuzz/vcpkg.json
+++ b/ports/harfbuzz/vcpkg.json
@@ -1,7 +1,7 @@
{
"name": "harfbuzz",
- "version-string": "2.7.4",
- "port-version": 1,
+ "version": "2.7.4",
+ "port-version": 2,
"description": "HarfBuzz OpenType text shaping engine",
"homepage": "https://github.com/harfbuzz/harfbuzz",
"dependencies": [
@@ -15,10 +15,17 @@
}
],
"features": {
+ "coretext": {
+ "description": "Enable CoreText shaper backend on macOS"
+ },
"glib": {
"description": "Glib Unicode callbacks support",
"dependencies": [
- "glib"
+ "glib",
+ {
+ "name": "glib",
+ "host": true
+ }
]
},
"graphite2": {
diff --git a/ports/ignition-cmake2/CONTROL b/ports/ignition-cmake2/CONTROL
deleted file mode 100644
index 66c405a0d730b0..00000000000000
--- a/ports/ignition-cmake2/CONTROL
+++ /dev/null
@@ -1,5 +0,0 @@
-Source: ignition-cmake2
-Version: 2.5.0
-Homepage: https://ignitionrobotics.org/libs/cmake
-Description: CMake helper functions for building robotic applications
-Build-Depends: ignition-modularscripts
diff --git a/ports/ignition-cmake2/FindGTS.patch b/ports/ignition-cmake2/FindGTS.patch
new file mode 100644
index 00000000000000..47bb145e00235b
--- /dev/null
+++ b/ports/ignition-cmake2/FindGTS.patch
@@ -0,0 +1,31 @@
+diff --git a/cmake/FindGTS.cmake b/cmake/FindGTS.cmake
+index ad00a9715..a83d8af40 100644
+--- a/cmake/FindGTS.cmake
++++ b/cmake/FindGTS.cmake
+@@ -67,6 +67,26 @@ else()
+ # 2.1 Need glib library
+ find_library(GLIB_LIBRARY glib-2.0)
+ list(APPEND GTS_LIBRARIES "${GLIB_LIBRARY}")
++ find_path(GLIB_INCLUDE_DIRS glib.h
++ HINTS
++ ${CMAKE_FIND_ROOT_PATH}
++ PATH
++ ${CMAKE_FIND_ROOT_PATH}
++ PATH_SUFFIXES
++ include
++ include/glib-2.0
++ DOC "glib header include dir"
++ )
++ find_path(GLIB_CONFIG_INCLUDE_DIRS glibconfig.h
++ HINTS
++ ${CMAKE_FIND_ROOT_PATH}
++ PATHS
++ ${CMAKE_FIND_ROOT_PATH}
++ PATH_SUFFIXES
++ lib/glib-2.0/include
++ doc "glib header include dir"
++ )
++ list(APPEND GTS_INCLUDE_DIRS ${GLIB_INCLUDE_DIRS} ${GLIB_CONFIG_INCLUDE_DIRS})
+
+ if (GTS_FOUND)
+ # We need to manually specify the pkgconfig entry (and type of entry),
diff --git a/ports/ignition-cmake2/portfile.cmake b/ports/ignition-cmake2/portfile.cmake
index 5c6879bf3ad87f..454a84f1734052 100644
--- a/ports/ignition-cmake2/portfile.cmake
+++ b/ports/ignition-cmake2/portfile.cmake
@@ -4,7 +4,8 @@ set(PACKAGE_VERSION "2.5.0")
ignition_modular_library(NAME cmake
VERSION ${PACKAGE_VERSION}
- SHA512 dc546e5e4deabba12faec5fb0162309dfce9b429a6bbd6637c058acdda3eb4fa1e44e9b71f55603d0cff77550117dafc3fc8475621ede65fa8aa915254beb463)
+ SHA512 dc546e5e4deabba12faec5fb0162309dfce9b429a6bbd6637c058acdda3eb4fa1e44e9b71f55603d0cff77550117dafc3fc8475621ede65fa8aa915254beb463
+ PATCHES FindGTS.patch)
# Install custom usage
configure_file(${CMAKE_CURRENT_LIST_DIR}/usage ${CURRENT_PACKAGES_DIR}/share/${PORT}/usage @ONLY)
diff --git a/ports/ignition-cmake2/vcpkg.json b/ports/ignition-cmake2/vcpkg.json
new file mode 100644
index 00000000000000..52c91489255fb7
--- /dev/null
+++ b/ports/ignition-cmake2/vcpkg.json
@@ -0,0 +1,10 @@
+{
+ "name": "ignition-cmake2",
+ "version": "2.5.0",
+ "port-version": 1,
+ "description": "CMake helper functions for building robotic applications",
+ "homepage": "https://ignitionrobotics.org/libs/cmake",
+ "dependencies": [
+ "ignition-modularscripts"
+ ]
+}
diff --git a/ports/io2d/CONTROL b/ports/io2d/CONTROL
deleted file mode 100644
index 59ff0c23cf183d..00000000000000
--- a/ports/io2d/CONTROL
+++ /dev/null
@@ -1,5 +0,0 @@
-Source: io2d
-Version: 2020-09-14
-Port-Version: 1
-Description: a lightweight, cross platform drawing library
-Build-Depends: cairo (!osx), cairo[x11] (linux), graphicsmagick (!osx)
diff --git a/ports/io2d/cmake.dep.patch b/ports/io2d/cmake.dep.patch
index baad3634137cb8..bcc7ea2a2580db 100644
--- a/ports/io2d/cmake.dep.patch
+++ b/ports/io2d/cmake.dep.patch
@@ -8,7 +8,7 @@ index 5ebeb6afa..702864667 100644
-find_package(Cairo REQUIRED)
-find_package(GraphicsMagick REQUIRED)
-+find_package(unofficial-Cairo REQUIRED)
++find_package(Cairo REQUIRED)
+find_package(unofficial-GraphicsMagick REQUIRED)
add_library(io2d_cairo
@@ -18,7 +18,7 @@ index 5ebeb6afa..702864667 100644
target_compile_features(io2d_cairo PUBLIC cxx_std_17)
-target_link_libraries(io2d_cairo PUBLIC io2d_core Cairo::Cairo GraphicsMagick::GraphicsMagick)
-+target_link_libraries(io2d_cairo PUBLIC io2d_core unofficial::cairo::cairo unofficial::graphicsmagick::graphicsmagick)
++target_link_libraries(io2d_cairo PUBLIC io2d_core Cairo::Cairo unofficial::graphicsmagick::graphicsmagick)
install(
TARGETS io2d_cairo EXPORT io2d_targets
diff --git a/ports/io2d/vcpkg.json b/ports/io2d/vcpkg.json
new file mode 100644
index 00000000000000..876616dd9460d6
--- /dev/null
+++ b/ports/io2d/vcpkg.json
@@ -0,0 +1,23 @@
+{
+ "name": "io2d",
+ "version-date": "2020-09-14",
+ "port-version": 2,
+ "description": "a lightweight, cross platform drawing library",
+ "dependencies": [
+ {
+ "name": "cairo",
+ "platform": "!osx"
+ },
+ {
+ "name": "cairo",
+ "features": [
+ "x11"
+ ],
+ "platform": "linux"
+ },
+ {
+ "name": "graphicsmagick",
+ "platform": "!osx"
+ }
+ ]
+}
diff --git a/ports/lcm/CONTROL b/ports/lcm/CONTROL
deleted file mode 100644
index 6a20be1dbf0173..00000000000000
--- a/ports/lcm/CONTROL
+++ /dev/null
@@ -1,7 +0,0 @@
-Source: lcm
-Version: 1.4.0
-Port-Version: 1
-Build-Depends: glib
-Homepage: https://github.com/lcm-proj/lcm
-Description: Lightweight Communications and Marshalling (LCM)
- LCM is a set of libraries and tools for message passing and data marshalling, targeted at real-time systems where high-bandwidth and low latency are critical. It provides a publish/subscribe message passing model and automatic marshalling/unmarshalling code generation with bindings for applications in a variety of programming languages.
diff --git a/ports/lcm/fix-linux-build.patch b/ports/lcm/fix-linux-build.patch
deleted file mode 100644
index 47ccf8b9390986..00000000000000
--- a/ports/lcm/fix-linux-build.patch
+++ /dev/null
@@ -1,127 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 6d3a4c2..da3bfc5 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -7,7 +7,7 @@ if(CMAKE_VERSION VERSION_LESS 3.7)
- list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/3.7")
- endif()
-
--find_package(GLib2 REQUIRED)
-+find_package(unofficial-glib CONFIG REQUIRED)
-
- # Configuration and utility functions
- include(lcm-cmake/config.cmake NO_POLICY_SCOPE)
-@@ -22,6 +22,11 @@ if (WIN32)
- include_directories(${lcm_SOURCE_DIR})
- add_subdirectory(WinSpecific)
- set(lcm-winport lcm-winport)
-+ if(CMAKE_BUILD_TYPE STREQUAL Debug)
-+ get_target_property(GLIB2_GLIB_RUNTIME unofficial::glib::glib IMPORTED_LOCATION_DEBUG)
-+ elseif(CMAKE_BUILD_TYPE STREQUAL Release)
-+ get_target_property(GLIB2_GLIB_RUNTIME unofficial::glib::glib IMPORTED_LOCATION_RELEASE)
-+ endif()
- get_filename_component(LCM_LCMGEN_PATH ${GLIB2_GLIB_RUNTIME} DIRECTORY)
- set(LCM_USE_GLIB_RUNTIME "set(LCM_LCMGEN_PATH \"${LCM_LCMGEN_PATH}\")")
- else()
-diff --git a/lcm-logger/CMakeLists.txt b/lcm-logger/CMakeLists.txt
-index 9aee9df..253af08 100644
---- a/lcm-logger/CMakeLists.txt
-+++ b/lcm-logger/CMakeLists.txt
-@@ -1,9 +1,9 @@
- add_executable(lcm-logger lcm_logger.c glib_util.c)
--target_link_libraries(lcm-logger
-- lcm
-- ${lcm-winport}
-- GLib2::glib
--)
-+if(WIN32)
-+ target_link_libraries(lcm-logger lcm ${lcm-winport} unofficial::glib::glib ws2_32)
-+else()
-+ target_link_libraries(lcm-logger lcm ${lcm-winport} unofficial::glib::glib)
-+endif()
-
- add_executable(lcm-logplayer lcm_logplayer.c)
- target_link_libraries(lcm-logplayer lcm ${lcm-winport})
-diff --git a/lcm/CMakeLists.txt b/lcm/CMakeLists.txt
-index 639ec12..9da0c00 100644
---- a/lcm/CMakeLists.txt
-+++ b/lcm/CMakeLists.txt
-@@ -60,10 +60,11 @@ foreach(lcm_lib lcm lcm-static)
- $
- )
-
-- target_link_libraries(${lcm_lib} PRIVATE
-- GLib2::glib
-- ${CMAKE_THREAD_LIBS_INIT}
-- )
-+ if(WIN32)
-+ target_link_libraries(${lcm_lib} PRIVATE unofficial::glib::glib ${CMAKE_THREAD_LIBS_INIT} ws2_32)
-+ else()
-+ target_link_libraries(${lcm_lib} PRIVATE unofficial::glib::glib ${CMAKE_THREAD_LIBS_INIT})
-+ endif()
- endforeach()
-
- generate_export_header(lcm STATIC_DEFINE LCM_STATIC)
-diff --git a/lcmgen/CMakeLists.txt b/lcmgen/CMakeLists.txt
-index 29354bb..d848b16 100644
---- a/lcmgen/CMakeLists.txt
-+++ b/lcmgen/CMakeLists.txt
-@@ -43,7 +43,11 @@ if(_uses_sanitizers AND NOT LCM_SANITIZE_LCMGEN)
- endif()
-
- add_executable(lcm-gen ${lcm-gen_sources})
--target_link_libraries(lcm-gen PRIVATE GLib2::glib)
-+if(WIN32)
-+ target_link_libraries(lcm-gen PRIVATE unofficial::glib::glib ws2_32)
-+else()
-+ target_link_libraries(lcm-gen PRIVATE unofficial::glib::glib)
-+endif()
-
- install(TARGETS lcm-gen
- EXPORT lcmTargets
-diff --git a/liblcm-test/CMakeLists.txt b/liblcm-test/CMakeLists.txt
-index bb24675..da041d9 100644
---- a/liblcm-test/CMakeLists.txt
-+++ b/liblcm-test/CMakeLists.txt
-@@ -5,7 +5,11 @@ add_executable(lcm-source lcm-source.c)
- target_link_libraries(lcm-source lcm ${lcm-winport})
-
- add_executable(lcm-tester lcm-tester.c)
--target_link_libraries(lcm-tester lcm GLib2::glib)
-+if(WIN32)
-+ target_link_libraries(lcm-tester lcm unofficial::glib::glib ws2_32)
-+else()
-+ target_link_libraries(lcm-tester lcm unofficial::glib::glib)
-+endif()
-
- add_executable(lcm-example lcm-example.c)
- target_link_libraries(lcm-example lcm)
-@@ -14,13 +18,25 @@ if(WIN32)
- endif()
-
- add_executable(lcm-logfilter lcm-logfilter.c)
--target_link_libraries(lcm-logfilter lcm ${lcm-winport} GLib2::glib)
-+if(WIN32)
-+ target_link_libraries(lcm-logfilter lcm ${lcm-winport} unofficial::glib::glib ws2_32)
-+else()
-+ target_link_libraries(lcm-logfilter lcm ${lcm-winport} unofficial::glib::glib)
-+endif()
-
- add_executable(lcm-buftest-receiver buftest-receiver.c)
--target_link_libraries(lcm-buftest-receiver lcm GLib2::glib)
-+if(WIN32)
-+ target_link_libraries(lcm-buftest-receiver lcm unofficial::glib::glib ws2_32)
-+else()
-+ target_link_libraries(lcm-buftest-receiver lcm unofficial::glib::glib)
-+endif()
-
- add_executable(lcm-buftest-sender buftest-sender.c)
--target_link_libraries(lcm-buftest-sender lcm GLib2::glib)
-+if(WIN32)
-+ target_link_libraries(lcm-buftest-sender lcm unofficial::glib::glib ws2_32)
-+else()
-+ target_link_libraries(lcm-buftest-sender lcm unofficial::glib::glib)
-+endif()
-
- install(TARGETS
- lcm-sink
diff --git a/ports/lcm/glib.link.patch b/ports/lcm/glib.link.patch
new file mode 100644
index 00000000000000..67f6dc0f5805c8
--- /dev/null
+++ b/ports/lcm/glib.link.patch
@@ -0,0 +1,30 @@
+diff --git a/cmake/FindGLib2.cmake b/cmake/FindGLib2.cmake
+index 2f1a8be45..db823b953 100644
+--- a/cmake/FindGLib2.cmake
++++ b/cmake/FindGLib2.cmake
+@@ -14,7 +14,7 @@ function(_glib2_find_include VAR HEADER)
+
+ find_path(GLIB2_${VAR}_INCLUDE_DIR ${HEADER}
+ PATHS ${_paths}
+- PATH_SUFFIXES glib-2.0 glib-2.0/include
++ PATH_SUFFIXES glib-2.0 glib-2.0/include lib/glib-2.0/include
+ )
+ mark_as_advanced(GLIB2_${VAR}_INCLUDE_DIR)
+ endfunction()
+@@ -108,6 +108,16 @@ foreach(_glib2_component ${GLib2_FIND_COMPONENTS})
+
+ endforeach()
+
++find_library(PCRE_LIBRARY pcre)
++set_property(TARGET GLib2::glib APPEND PROPERTY
++ INTERFACE_LINK_LIBRARIES ${PCRE_LIBRARY}
++)
++set(THREADS_PREFER_PTHREAD_FLAG ON)
++find_package(Threads)
++set_property(TARGET GLib2::glib APPEND PROPERTY
++ INTERFACE_LINK_LIBRARIES Threads::Threads
++)
++
+ list(APPEND GLib2_FIND_COMPONENTS glib)
+ set(GLib2_FIND_REQUIRED_glib TRUE)
+
diff --git a/ports/lcm/portfile.cmake b/ports/lcm/portfile.cmake
index 24ebb21b04a739..74bca46d300d8c 100644
--- a/ports/lcm/portfile.cmake
+++ b/ports/lcm/portfile.cmake
@@ -7,7 +7,7 @@ vcpkg_from_github(
PATCHES
only-install-one-flavor.patch
fix-build-error.patch
- fix-linux-build.patch
+ glib.link.patch
)
vcpkg_configure_cmake(
diff --git a/ports/lcm/vcpkg.json b/ports/lcm/vcpkg.json
new file mode 100644
index 00000000000000..ec04fd87b91c52
--- /dev/null
+++ b/ports/lcm/vcpkg.json
@@ -0,0 +1,13 @@
+{
+ "name": "lcm",
+ "version": "1.4.0",
+ "port-version": 2,
+ "description": [
+ "Lightweight Communications and Marshalling (LCM)",
+ "LCM is a set of libraries and tools for message passing and data marshalling, targeted at real-time systems where high-bandwidth and low latency are critical. It provides a publish/subscribe message passing model and automatic marshalling/unmarshalling code generation with bindings for applications in a variety of programming languages."
+ ],
+ "homepage": "https://github.com/lcm-proj/lcm",
+ "dependencies": [
+ "glib"
+ ]
+}
diff --git a/ports/libcroco/CMakeLists.txt b/ports/libcroco/CMakeLists.txt
index f8e8a71058eb68..9e05f376dc6706 100644
--- a/ports/libcroco/CMakeLists.txt
+++ b/ports/libcroco/CMakeLists.txt
@@ -3,7 +3,8 @@ project(libcroco C)
find_package(Iconv REQUIRED)
find_package(Intl REQUIRED)
-find_package(unofficial-glib CONFIG REQUIRED)
+find_package(PkgConfig REQUIRED)
+pkg_check_modules(GLIB2 glib-2.0 gobject-2.0 gmodule-2.0 gio-2.0 IMPORTED_TARGET)
find_package(LibXml2 REQUIRED)
if(NOT WIN32)
find_package(Threads REQUIRED)
@@ -70,12 +71,9 @@ set(CMAKE_DEBUG_POSTFIX "d")
add_library(croco-0.6 ${SOURCES})
-target_include_directories(croco-0.6 PRIVATE ${GLIB_INCLUDE_DIR} ${LIBXML2_INCLUDE_DIR})
+target_include_directories(croco-0.6 PRIVATE ${GLIB_INCLUDE_DIRS} ${LIBXML2_INCLUDE_DIR})
target_link_libraries(croco-0.6 PRIVATE
- unofficial::glib::gio
- unofficial::glib::glib
- unofficial::glib::gmodule
- unofficial::glib::gobject
+ PkgConfig::GLIB2
${LIBXML2_LIBRARIES} ${Intl_LIBRARIES} Iconv::Iconv
)
@@ -129,7 +127,8 @@ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/unofficial-libcroco-config.cmake "
include(CMakeFindDependencyMacro)
find_dependency(Intl)
find_dependency(Iconv)
-find_dependency(unofficial-glib CONFIG)
+find_dependency(PkgConfig)
+pkg_check_modules(GLIB2 glib-2.0 gobject-2.0 gmodule-2.0 gio-2.0 IMPORTED_TARGET)
find_dependency(LibXml2)
if(NOT WIN32)
find_dependency(Threads)
diff --git a/ports/libcroco/CONTROL b/ports/libcroco/CONTROL
deleted file mode 100644
index bb1ea8fd29376b..00000000000000
--- a/ports/libcroco/CONTROL
+++ /dev/null
@@ -1,5 +0,0 @@
-Source: libcroco
-Version: 0.6.13
-Port-Version: 2
-Description: A standalone css2 parsing and manipulation library
-Build-Depends: glib, libxml2
diff --git a/ports/libcroco/portfile.cmake b/ports/libcroco/portfile.cmake
index dd4816b52d82cc..de8c0fe2a99855 100644
--- a/ports/libcroco/portfile.cmake
+++ b/ports/libcroco/portfile.cmake
@@ -14,10 +14,12 @@ configure_file(${SOURCE_PATH}/config.h.win32 ${SOURCE_PATH}/src/config.h COPYONL
file(READ "${SOURCE_PATH}/src/libcroco.symbols" SYMBOLS)
string(REGEX REPLACE ";[^\n]*\n" "" DEF "EXPORTS\n${SYMBOLS}")
file(WRITE "${SOURCE_PATH}/src/libcroco.def" "${DEF}")
-
+vcpkg_find_acquire_program(PKGCONFIG)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
+ OPTIONS
+ -DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}
)
vcpkg_install_cmake()
diff --git a/ports/libcroco/vcpkg.json b/ports/libcroco/vcpkg.json
new file mode 100644
index 00000000000000..f6781ed63b2675
--- /dev/null
+++ b/ports/libcroco/vcpkg.json
@@ -0,0 +1,10 @@
+{
+ "name": "libcroco",
+ "version": "0.6.13",
+ "port-version": 3,
+ "description": "A standalone css2 parsing and manipulation library",
+ "dependencies": [
+ "glib",
+ "libxml2"
+ ]
+}
diff --git a/ports/libgpod/CMakeLists.txt b/ports/libgpod/CMakeLists.txt
deleted file mode 100644
index f74038d71c49d0..00000000000000
--- a/ports/libgpod/CMakeLists.txt
+++ /dev/null
@@ -1,78 +0,0 @@
-cmake_minimum_required (VERSION 3.12)
-
-project (libgpod C)
-
-option(WITH_INTERNAL_GCHECKSUM OFF)
-
-find_package(unofficial-sqlite3 CONFIG REQUIRED)
-
-include(SelectLibraryConfigurations)
-find_path(glib_PATH glib.h PATHS include)
-find_library(glib_LIBRARY_RELEASE NAMES glib-2.0 PATHS lib)
-find_library(glib_LIBRARY_DEBUG NAMES glib-2.0 PATHS debug/lib)
-select_library_configurations(glib)
-if (NOT glib_FOUND)
- message(FATAL_ERROR "glib not found.")
-endif()
-
-find_path(plist_PATH plist++.h PATH_SUFFIXES plist)
-find_library(plist_LIBRARY_RELEASE NAMES plist plist-2.0 libplist libplist-2.0 PATHS lib)
-find_library(plist_LIBRARY_DEBUG NAMES plist plist-2.0 libplist libplist-2.0 PATHS debug/lib)
-select_library_configurations(plist)
-if (NOT plist_FOUND)
- message(FATAL_ERROR "plist not found.")
-endif()
-message("plist_PATH: ${plist_PATH}")
-
-list(APPEND libgpod_Sources
- ${CMAKE_CURRENT_SOURCE_DIR}/src/db-artwork-debug.c
- ${CMAKE_CURRENT_SOURCE_DIR}/src/db-artwork-parser.c
- ${CMAKE_CURRENT_SOURCE_DIR}/src/db-artwork-writer.c
- ${CMAKE_CURRENT_SOURCE_DIR}/src/db-image-parser.c
- ${CMAKE_CURRENT_SOURCE_DIR}/src/db-parse-context.c
- ${CMAKE_CURRENT_SOURCE_DIR}/src/gchecksum.c
- ${CMAKE_CURRENT_SOURCE_DIR}/src/itdb_artwork.c
- ${CMAKE_CURRENT_SOURCE_DIR}/src/itdb_chapterdata.c
- ${CMAKE_CURRENT_SOURCE_DIR}/src/itdb_device.c
- ${CMAKE_CURRENT_SOURCE_DIR}/src/itdb_hash58.c
- ${CMAKE_CURRENT_SOURCE_DIR}/src/itdb_hash72.c
- ${CMAKE_CURRENT_SOURCE_DIR}/src/itdb_hashAB.c
- ${CMAKE_CURRENT_SOURCE_DIR}/src/itdb_iphone.c
- ${CMAKE_CURRENT_SOURCE_DIR}/src/itdb_itunesdb.c
- ${CMAKE_CURRENT_SOURCE_DIR}/src/itdb_photoalbum.c
- ${CMAKE_CURRENT_SOURCE_DIR}/src/itdb_playlist.c
- ${CMAKE_CURRENT_SOURCE_DIR}/src/itdb_plist.c
- ${CMAKE_CURRENT_SOURCE_DIR}/src/itdb_sqlite.c
- ${CMAKE_CURRENT_SOURCE_DIR}/src/itdb_sysinfo_extended_parser.c
- ${CMAKE_CURRENT_SOURCE_DIR}/src/itdb_thumb.c
- ${CMAKE_CURRENT_SOURCE_DIR}/src/itdb_track.c
- ${CMAKE_CURRENT_SOURCE_DIR}/src/itdb_tzinfo.c
- ${CMAKE_CURRENT_SOURCE_DIR}/src/itdb_zlib.c
- ${CMAKE_CURRENT_SOURCE_DIR}/src/ithumb-writer.c
- ${CMAKE_CURRENT_SOURCE_DIR}/src/pixmaps.c
- ${CMAKE_CURRENT_SOURCE_DIR}/src/rijndael.c
-)
-
-if (NOT WITH_INTERNAL_GCHECKSUM)
- list(REMOVE_ITEM libgpod_Sources ${CMAKE_CURRENT_SOURCE_DIR}/src/gchecksum.c)
-endif()
-
-add_library(libgpod ${libgpod_Sources})
-
-target_include_directories(libgpod PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ${glib_PATH} ${plist_PATH})
-
-if (WITH_INTERNAL_GCHECKSUM)
- target_compile_definitions(libgpod PRIVATE -DWITH_INTERNAL_GCHECKSUM)
-endif()
-target_compile_definitions(libgpod PRIVATE -DLIBGPOD_BLOB_DIR=\"${LIBGPOD_BLOB_DIR}\" -DGETTEXT_PACKAGE="libgpod")
-
-target_link_libraries(libgpod PRIVATE ${glib_LIBRARY} ${plist_LIBRARY} unofficial::sqlite3::sqlite3)
-
-install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/itdb.h DESTINATION include/libgpod/gpod)
-
-install(
- TARGETS libgpod
- RUNTIME DESTINATION bin
- LIBRARY DESTINATION lib
- ARCHIVE DESTINATION lib
-)
\ No newline at end of file
diff --git a/ports/libgpod/CONTROL b/ports/libgpod/CONTROL
deleted file mode 100644
index f681cdf35cdc8e..00000000000000
--- a/ports/libgpod/CONTROL
+++ /dev/null
@@ -1,6 +0,0 @@
-Source: libgpod
-Version: 2019-08-29
-Port-Version: 2
-Homepage: https://github.com/fadingred/libgpod
-Description: libgpod is a library meant to abstract access to an iPod content.
-Build-Depends: glib, libplist, sqlite3
\ No newline at end of file
diff --git a/ports/libgpod/configure.ac.patch b/ports/libgpod/configure.ac.patch
new file mode 100644
index 00000000000000..53ca42c2db5316
--- /dev/null
+++ b/ports/libgpod/configure.ac.patch
@@ -0,0 +1,13 @@
+diff --git a/configure.ac b/configure.ac
+index a52ac3a78..ac5cf03f4 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -42,7 +42,7 @@ AC_CHECK_FUNCS([localtime_r])
+ AC_CHECK_MEMBERS([struct tm.tm_gmtoff],,,[#include ])
+ dnl sqlite3 is needed for newer ipod models (nano5g), and libplist is needed
+ dnl by libgpod sqlite code
+-PKG_CHECK_MODULES(LIBGPOD, glib-2.0 >= 2.8.0 gobject-2.0 sqlite3 libplist >= 1.0)
++PKG_CHECK_MODULES(LIBGPOD, glib-2.0 >= 2.8.0 gmodule-2.0 gobject-2.0 sqlite3 libplist >= 1.0)
+
+ dnl **************************************************
+ dnl we've copied gchecksum from glib 2.16. Only use the
diff --git a/ports/libgpod/fix-glibconfigpath.patch b/ports/libgpod/fix-glibconfigpath.patch
deleted file mode 100644
index 1a60eb1aa0b8cb..00000000000000
--- a/ports/libgpod/fix-glibconfigpath.patch
+++ /dev/null
@@ -1,117 +0,0 @@
-diff --git a/src/db-artwork-writer.c b/src/db-artwork-writer.c
-index c19f481..cca786f 100644
---- a/src/db-artwork-writer.c
-+++ b/src/db-artwork-writer.c
-@@ -22,7 +22,7 @@
- *
- */
-
--#include
-+#include
- #include "itdb.h"
- #include "itdb_device.h"
- #include "itdb_private.h"
-diff --git a/src/itdb_artwork.c b/src/itdb_artwork.c
-index 2328840..a7cdec4 100644
---- a/src/itdb_artwork.c
-+++ b/src/itdb_artwork.c
-@@ -26,7 +26,7 @@
- | $Id$
- */
-
--#include
-+#include
-
- #include "itdb_device.h"
- #include "itdb_private.h"
-diff --git a/src/itdb_chapterdata.c b/src/itdb_chapterdata.c
-index 469e8b5..cb53077 100644
---- a/src/itdb_chapterdata.c
-+++ b/src/itdb_chapterdata.c
-@@ -27,7 +27,7 @@
- | $Id: itdb_chapterdata.c 1612 2007-06-29 16:02:00Z jcsjcs $
- */
-
--#include
-+#include
-
- #include "itdb_device.h"
- #include
-diff --git a/src/itdb_device.c b/src/itdb_device.c
-index 34b89fe..d776a64 100644
---- a/src/itdb_device.c
-+++ b/src/itdb_device.c
-@@ -29,7 +29,7 @@
- |
- | $Id$
- */
--#include
-+#include
-
- #include "db-itunes-parser.h"
- #include "itdb_device.h"
-diff --git a/src/itdb_photoalbum.c b/src/itdb_photoalbum.c
-index a2c8c29..562cbb7 100644
---- a/src/itdb_photoalbum.c
-+++ b/src/itdb_photoalbum.c
-@@ -26,7 +26,7 @@
- |
- | $Id$
- */
--#include
-+#include
-
- #include "itdb_private.h"
- #include "itdb_device.h"
-diff --git a/src/itdb_track.c b/src/itdb_track.c
-index 52a9fd4..d8a2ff3 100644
---- a/src/itdb_track.c
-+++ b/src/itdb_track.c
-@@ -26,7 +26,7 @@
- | $Id$
- */
-
--#include
-+#include
-
- #include "itdb_private.h"
- #include "itdb_device.h"
-diff --git a/src/itdb_tzinfo.c b/src/itdb_tzinfo.c
-index ded4dd2..594e312 100644
---- a/src/itdb_tzinfo.c
-+++ b/src/itdb_tzinfo.c
-@@ -27,7 +27,7 @@
- |
- | $Id$
- */
--#include
-+#include
-
- #include "itdb.h"
- #include "itdb_device.h"
-diff --git a/src/itdb_zlib.c b/src/itdb_zlib.c
-index f6fa29b..43ec5e3 100644
---- a/src/itdb_zlib.c
-+++ b/src/itdb_zlib.c
-@@ -25,7 +25,7 @@
- |
- | $Id$
- */
--#include
-+#include
- #include
- #include
-
-diff --git a/src/ithumb-writer.c b/src/ithumb-writer.c
-index 6b47aa6..e1c26e7 100644
---- a/src/ithumb-writer.c
-+++ b/src/ithumb-writer.c
-@@ -25,7 +25,7 @@
- * $Id$
- */
-
--#include
-+#include
- #include "itdb.h"
- #include "db-image-parser.h"
-
diff --git a/ports/libgpod/portfile.cmake b/ports/libgpod/portfile.cmake
index 2bcf7fc37a9f25..397f0e5d125313 100644
--- a/ports/libgpod/portfile.cmake
+++ b/ports/libgpod/portfile.cmake
@@ -6,19 +6,32 @@ vcpkg_from_github(
REF 4a8a33ef4bc58eee1baca6793618365f75a5c3fa
SHA512 b7a120c1106c1205e8de2808de5ac4ff1cf189943017939a5ea4eded4e1ceef44557587e69a8591cc5249f8c8dbf0cbdcce1dd309d33a0e9207b0560abe3ae39
HEAD_REF master
- PATCHES fix-glibconfigpath.patch
+ PATCHES configure.ac.patch
)
-file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
-
-vcpkg_configure_cmake(
+vcpkg_execute_required_process(
+ COMMAND intltoolize --force --copy --automake
+ WORKING_DIRECTORY "${SOURCE_PATH}"
+ LOGNAME intltoolize-${TARGET_TRIPLET}
+)
+vcpkg_execute_required_process(
+ COMMAND gtkdocize --copy
+ WORKING_DIRECTORY "${SOURCE_PATH}"
+ LOGNAME gtkdocize-${TARGET_TRIPLET}
+)
+vcpkg_configure_make(
SOURCE_PATH ${SOURCE_PATH}
- PREFER_NINJA
- OPTIONS ${FEATURE_OPTIONS}
- -DLIBGPOD_BLOB_DIR=${CURRENT_PACKAGES_DIR}/tools
+ AUTOCONFIG
+ OPTIONS
+ --without-hal
+ --disable-gdk-pixbuf
+ --disable-pygobject
+ --disable-more-warnings
+ --disable-libxml
+ --disable-gtk-doc-html
)
-
-vcpkg_install_cmake()
+vcpkg_install_make()
+vcpkg_fixup_pkgconfig()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
diff --git a/ports/libgpod/vcpkg.json b/ports/libgpod/vcpkg.json
new file mode 100644
index 00000000000000..3915e50b11d2bb
--- /dev/null
+++ b/ports/libgpod/vcpkg.json
@@ -0,0 +1,12 @@
+{
+ "name": "libgpod",
+ "version-date": "2019-08-29",
+ "port-version": 3,
+ "description": "libgpod is a library meant to abstract access to an iPod content.",
+ "homepage": "https://github.com/fadingred/libgpod",
+ "dependencies": [
+ "glib",
+ "libplist",
+ "sqlite3"
+ ]
+}
diff --git a/ports/libmicrohttpd/CONTROL b/ports/libmicrohttpd/CONTROL
index c1a76d5f9f1223..3a77ac72b5f084 100644
--- a/ports/libmicrohttpd/CONTROL
+++ b/ports/libmicrohttpd/CONTROL
@@ -1,6 +1,6 @@
Source: libmicrohttpd
Version: 0.9.63
-Port-Version: 4
+Port-Version: 5
Homepage: https://www.gnu.org/software/libmicrohttpd/
Description: GNU libmicrohttpd is a small C library that is supposed to make it easy to run an HTTP server as part of another application
Supports: !(arm|uwp)
\ No newline at end of file
diff --git a/ports/libmicrohttpd/portfile.cmake b/ports/libmicrohttpd/portfile.cmake
index e055a246a38fce..993ba722b8ecfd 100644
--- a/ports/libmicrohttpd/portfile.cmake
+++ b/ports/libmicrohttpd/portfile.cmake
@@ -33,6 +33,9 @@ if (VCPKG_TARGET_IS_WINDOWS)
file(GLOB MICROHTTPD_HEADERS ${SOURCE_PATH}/src/include/microhttpd*.h)
file(COPY ${MICROHTTPD_HEADERS} DESTINATION ${CURRENT_PACKAGES_DIR}/include)
else()
+ if(VCPKG_TARGET_IS_OSX AND VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ set(ENV{LIBS} "$ENV{LIBS} -framework Foundation -framework AppKit") # TODO: Get this from the extracted cmake vars somehow
+ endif()
vcpkg_configure_make(
SOURCE_PATH "${SOURCE_PATH}"
)
diff --git a/ports/libnice/CMakeLists.txt b/ports/libnice/CMakeLists.txt
index 78224ecb23c2c0..0ca7cdafaa5d13 100644
--- a/ports/libnice/CMakeLists.txt
+++ b/ports/libnice/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.0)
+cmake_minimum_required(VERSION 3.19)
project(libnice
LANGUAGES C
VERSION 0.1.15)
@@ -20,10 +20,8 @@ endif()
configure_file(${CMAKE_SOURCE_DIR}/win32/vs9/config.h ${CMAKE_SOURCE_DIR}/config.h COPYONLY)
configure_file(${CMAKE_SOURCE_DIR}/win32/vs9/libnice.def ${CMAKE_SOURCE_DIR}/libnice.def COPYONLY)
-find_path(GLIB_INCLUDE_DIR glib.h)
-find_library(GLIB_LIBRARY glib-2.0)
-find_library(GOBJECT_LIBRARY gobject-2.0)
-find_library(GIO_LIBRARY gio-2.0)
+find_package(PkgConfig REQUIRED)
+pkg_check_modules(GLIB2 glib-2.0 gobject-2.0 gmodule-2.0 gio-2.0 IMPORTED_TARGET)
find_library(IPHLPAPI_LIBRARY iphlpapi)
find_library(WS2_32_LIB ws2_32)
find_library(ADVAPI32_LIB advapi32)
@@ -34,7 +32,7 @@ include_directories(
${CMAKE_CURRENT_SOURCE_DIR}/random
${CMAKE_CURRENT_SOURCE_DIR}/socket
${CMAKE_CURRENT_SOURCE_DIR}/stun
- ${GLIB_INCLUDE_DIR})
+ ${GLIB2_INCLUDE_DIRS})
SET (SRCS
@@ -132,9 +130,9 @@ if (MSVC)
set_target_properties(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "/wd4244 /wd4005 /wd4391 /wd4142 /wd4267")
endif()
if (WIN32)
- target_link_libraries(libnice ${IPHLPAPI_LIBRARY} ${WS2_32_LIB} ${ADVAPI32_LIB} ${GLIB_LIBRARY} ${GOBJECT_LIBRARY} ${GIO_LIBRARY} OpenSSL::SSL)
+ target_link_libraries(libnice ${IPHLPAPI_LIBRARY} ${WS2_32_LIB} ${ADVAPI32_LIB} PkgConfig::GLIB2 OpenSSL::SSL)
else()
- target_link_libraries(libnice ${GLIB_LIBRARY} ${GOBJECT_LIBRARY} ${GIO_LIBRARY} OpenSSL::SSL)
+ target_link_libraries(libnice PkgConfig::GLIB2 OpenSSL::SSL)
endif()
install(TARGETS libnice
RUNTIME DESTINATION bin
diff --git a/ports/libnice/CONTROL b/ports/libnice/CONTROL
deleted file mode 100644
index 106ee6064d9f94..00000000000000
--- a/ports/libnice/CONTROL
+++ /dev/null
@@ -1,6 +0,0 @@
-Source: libnice
-Version: 0.1.15
-Port-Version: 6
-Homepage: https://nice.freedesktop.org
-Description: Libnice is an implementation of the IETF's Interactive Connectivity Establishment (ICE) standard (RFC 5245) and the Session Traversal Utilities for NAT (STUN) standard (RFC 5389).
-Build-Depends: glib, openssl
diff --git a/ports/libnice/portfile.cmake b/ports/libnice/portfile.cmake
index 2741712a3bd2c8..038b21ebbc079c 100644
--- a/ports/libnice/portfile.cmake
+++ b/ports/libnice/portfile.cmake
@@ -10,11 +10,13 @@ vcpkg_extract_source_archive_ex(
)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
-
+vcpkg_find_acquire_program(PKGCONFIG)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
DISABLE_PARALLEL_CONFIGURE
+ OPTIONS
+ -DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}
OPTIONS_RELEASE -DOPTIMIZE=1
OPTIONS_DEBUG -DDEBUGGABLE=1
)
diff --git a/ports/libnice/vcpkg.json b/ports/libnice/vcpkg.json
new file mode 100644
index 00000000000000..16802d092bf276
--- /dev/null
+++ b/ports/libnice/vcpkg.json
@@ -0,0 +1,11 @@
+{
+ "name": "libnice",
+ "version": "0.1.15",
+ "port-version": 7,
+ "description": "Libnice is an implementation of the IETF's Interactive Connectivity Establishment (ICE) standard (RFC 5245) and the Session Traversal Utilities for NAT (STUN) standard (RFC 5389).",
+ "homepage": "https://nice.freedesktop.org",
+ "dependencies": [
+ "glib",
+ "openssl"
+ ]
+}
diff --git a/ports/libplist/CONTROL b/ports/libplist/CONTROL
deleted file mode 100644
index e6ba166f023501..00000000000000
--- a/ports/libplist/CONTROL
+++ /dev/null
@@ -1,3 +0,0 @@
-Source: libplist
-Version: 1.3.6
-Description: A library to handle Apple Property List format in binary or XML
diff --git a/ports/libplist/portfile.cmake b/ports/libplist/portfile.cmake
index 5137b40467cced..2cad077a6f8e1b 100644
--- a/ports/libplist/portfile.cmake
+++ b/ports/libplist/portfile.cmake
@@ -23,3 +23,25 @@ vcpkg_fixup_pkgconfig()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
+
+set(pcfile "libplist-2.0.pc")
+set(pcfiletarget "libplist.pc")
+set(basepath "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/")
+if(EXISTS "${basepath}${pcfile}")
+ file(CREATE_LINK "${basepath}${pcfile}" "${basepath}${pcfiletarget}" COPY_ON_ERROR)
+endif()
+set(basepath "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/")
+if(EXISTS "${basepath}${pcfile}")
+ file(CREATE_LINK "${basepath}${pcfile}" "${basepath}${pcfiletarget}" COPY_ON_ERROR)
+endif()
+
+set(pcfile "libplist++-2.0.pc")
+set(pcfiletarget "libplist++.pc")
+set(basepath "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/")
+if(EXISTS "${basepath}${pcfile}")
+ file(CREATE_LINK "${basepath}${pcfile}" "${basepath}${pcfiletarget}" COPY_ON_ERROR)
+endif()
+set(basepath "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/")
+if(EXISTS "${basepath}${pcfile}")
+ file(CREATE_LINK "${basepath}${pcfile}" "${basepath}${pcfiletarget}" COPY_ON_ERROR)
+endif()
diff --git a/ports/libplist/vcpkg.json b/ports/libplist/vcpkg.json
new file mode 100644
index 00000000000000..752fd8b26c4072
--- /dev/null
+++ b/ports/libplist/vcpkg.json
@@ -0,0 +1,7 @@
+{
+ "name": "libplist",
+ "version": "1.3.6",
+ "port-version": 1,
+ "description": "A library to handle Apple Property List format in binary or XML",
+ "homepage": "https://libimobiledevice.org/"
+}
diff --git a/ports/librsvg/CMakeLists.txt b/ports/librsvg/CMakeLists.txt
index b3b3ca892e4763..67cfced8c26267 100644
--- a/ports/librsvg/CMakeLists.txt
+++ b/ports/librsvg/CMakeLists.txt
@@ -1,30 +1,22 @@
cmake_minimum_required(VERSION 3.11)
project(librsvg C)
-find_package(unofficial-cairo CONFIG REQUIRED)
find_package(unofficial-libcroco CONFIG REQUIRED)
-find_package(unofficial-glib CONFIG REQUIRED)
+find_package(PkgConfig REQUIRED)
+pkg_check_modules(GLIB2 glib-2.0 gobject-2.0 gmodule-2 gio-2 IMPORTED_TARGET)
+pkg_check_modules(CAIRO cairo IMPORTED_TARGET)
+pkg_check_modules(GDK_PIXBUF gdk-pixbuf-2.0 IMPORTED_TARGET)
+pkg_check_modules(PANGO pango pangocairo IMPORTED_TARGET)
find_package(LibXml2 REQUIRED)
if(CMAKE_SYSTEM_NAME MATCHES "Windows")
- find_library(PANGO_LIB pango-1.0)
- find_library(PANGO_CAIRO_LIB pangocairo-1.0)
- find_library(GDK_PIXBUF_LIB gdk_pixbuf-2.0)
elseif(CMAKE_SYSTEM_NAME MATCHES "Linux")
- find_library(PANGO_LIB pango-1.0)
- find_library(PANGO_CAIRO_LIB pangocairo-1.0)
- find_library(GDK_PIXBUF_LIB gdk_pixbuf-2)
else()
- find_library(PANGO_LIB pango-1)
- find_library(PANGO_CAIRO_LIB pangocairo-1)
- find_library(PANGO_FT2_LIB pangoft2-1)
- find_library(FONTCONFIG_LIB fontconfig)
- find_library(GDK_PIXBUF_LIB gdk_pixbuf-2)
+ pkg_check_modules(PANGO2 pangoft2 pangofc IMPORTED_TARGET)
+ set(PANGO_FT2_LIB PkgConfig::PANGO2)
endif()
-find_path(CAIRO_INCLUDE_DIR cairo/cairo.h)
-
# Add include directories
-include_directories(${CAIRO_INCLUDE_DIR} ${GDK_PIXBUF_INCLUDE_DIR})
+include_directories(${CAIRO_INCLUDE_DIRS} ${GDK_PIXBUF_INCLUDE_DIRS} ${GLIB2_INCLUDE_DIRS} ${PANGO_INCLUDE_DIRS} ${PANGO2_INCLUDE_DIRS})
set(LIBRSVG_SOURCES
librsvg-features.c
@@ -110,24 +102,17 @@ target_compile_definitions(pixbufloader-svg PRIVATE
-DG_LOG_DOMAIN="libpixbufloader-svg")
target_link_libraries(rsvg-2.40 PRIVATE
- unofficial::cairo::cairo
- unofficial::libcroco::croco-0.6
- unofficial::glib::gio
- unofficial::glib::glib
- unofficial::glib::gmodule
- unofficial::glib::gobject
+ PkgConfig::GLIB2
${LIBXML2_LIBRARIES}
- ${PANGO_LIB}
- ${PANGO_CAIRO_LIB}
- ${GDK_PIXBUF_LIB}
+ PkgConfig::PANGO
+ PkgConfig::GDK_PIXBUF
${PANGO_FT2_LIB}
- ${FONTCONFIG_LIB}
+ unofficial::libcroco::croco-0.6
)
target_link_libraries(pixbufloader-svg PRIVATE
rsvg-2.40
- unofficial::glib::glib
- unofficial::glib::gobject
- ${GDK_PIXBUF_LIB}
+ PkgConfig::GLIB2
+ PkgConfig::GDK_PIXBUF
)
install(TARGETS rsvg-2.40 pixbufloader-svg
@@ -154,10 +139,12 @@ install(FILES
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/unofficial-librsvg-config.cmake "
include(CMakeFindDependencyMacro)
-find_dependency(unofficial-cairo CONFIG)
+find_dependency(PkgConfig)
+pkg_check_modules(GLIB2 glib-2.0 gobject-2.0 gmodule-2 gio-2 IMPORTED_TARGET)
+pkg_check_modules(CAIRO cairo IMPORTED_TARGET)
+pkg_check_modules(GDK_PIXBUF gdk-pixbuf IMPORTED_TARGET)
+pkg_check_modules(PANGO pango pangocairo IMPORTED_TARGET)
find_dependency(unofficial-libcroco CONFIG)
-find_dependency(gdk-pixbuf CONFIG)
-find_dependency(pango CONFIG)
include(\${CMAKE_CURRENT_LIST_DIR}/unofficial-librsvg-targets.cmake)
")
diff --git a/ports/librsvg/CONTROL b/ports/librsvg/CONTROL
deleted file mode 100644
index 380186c6eccec0..00000000000000
--- a/ports/librsvg/CONTROL
+++ /dev/null
@@ -1,5 +0,0 @@
-Source: librsvg
-Version: 2.40.20-2
-Homepage: https://gitlab.gnome.org/GNOME/librsvg
-Description: A small library to render Scalable Vector Graphics (SVG)
-Build-Depends: cairo, pango, gdk-pixbuf, libcroco
\ No newline at end of file
diff --git a/ports/librsvg/portfile.cmake b/ports/librsvg/portfile.cmake
index 2720c5011748e8..19b86ff4740df8 100644
--- a/ports/librsvg/portfile.cmake
+++ b/ports/librsvg/portfile.cmake
@@ -1,3 +1,5 @@
+# port update requires rust/cargo
+
vcpkg_download_distfile(ARCHIVE
URLS "https://download.gnome.org/sources/librsvg/2.40/librsvg-2.40.20.tar.xz"
FILENAME "librsvg-2.40.20.tar.xz"
@@ -12,9 +14,12 @@ vcpkg_extract_source_archive_ex(
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
configure_file(${CMAKE_CURRENT_LIST_DIR}/config.h.linux ${SOURCE_PATH}/config.h.linux COPYONLY)
+vcpkg_find_acquire_program(PKGCONFIG)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
- PREFER_NINJA # Disable this option if project cannot be built with Ninja
+ PREFER_NINJA
+ OPTIONS
+ -DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}
)
vcpkg_install_cmake()
diff --git a/ports/librsvg/vcpkg.json b/ports/librsvg/vcpkg.json
new file mode 100644
index 00000000000000..13d22016379200
--- /dev/null
+++ b/ports/librsvg/vcpkg.json
@@ -0,0 +1,13 @@
+{
+ "name": "librsvg",
+ "version": "2.40.20",
+ "port-version": 3,
+ "description": "A small library to render Scalable Vector Graphics (SVG)",
+ "homepage": "https://gitlab.gnome.org/GNOME/librsvg",
+ "dependencies": [
+ "cairo",
+ "gdk-pixbuf",
+ "libcroco",
+ "pango"
+ ]
+}
diff --git a/ports/libsigcpp-3/portfile.cmake b/ports/libsigcpp-3/portfile.cmake
index 44cf6c862b2f64..0015715fb66c72 100644
--- a/ports/libsigcpp-3/portfile.cmake
+++ b/ports/libsigcpp-3/portfile.cmake
@@ -1,19 +1 @@
-vcpkg_from_github(
- OUT_SOURCE_PATH SOURCE_PATH
- REPO libsigcplusplus/libsigcplusplus
- REF 7e20b36bddab74faed39aa3768d07fd372fce596
- SHA512 6220a3974ee90afb5028a5b60ffcbff353fffbbfcf1570d8db05b6d91604324a73badcb17c73c852d6c5265e2b31e1c2de1b3ea20c0e60ecdb17ce90c9ca40bd
- HEAD_REF master
- PATCHES disable_tests_enable_static_build.patch
-)
-
-vcpkg_configure_cmake(
- SOURCE_PATH ${SOURCE_PATH}
-)
-vcpkg_install_cmake()
-vcpkg_copy_pdbs()
-vcpkg_fixup_pkgconfig()
-vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/sigc++-3 TARGET_PATH share/sigc++-3)
-
-file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
-file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
+set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
\ No newline at end of file
diff --git a/ports/libsigcpp-3/vcpkg.json b/ports/libsigcpp-3/vcpkg.json
index b7cf550dbd6db7..a52d20dc9c7a3d 100644
--- a/ports/libsigcpp-3/vcpkg.json
+++ b/ports/libsigcpp-3/vcpkg.json
@@ -1,6 +1,10 @@
{
"name": "libsigcpp-3",
- "version-string": "3.0.3",
+ "version": "3.0.3",
+ "port-version": 1,
"description": "Typesafe callback framework for C++",
- "homepage": "https://libsigcplusplus.github.io/libsigcplusplus/"
+ "homepage": "https://libsigcplusplus.github.io/libsigcplusplus/",
+ "dependencies": [
+ "libsigcpp"
+ ]
}
diff --git a/ports/libsigcpp/CMakeLists.txt b/ports/libsigcpp/CMakeLists.txt
deleted file mode 100644
index e5a1dbee0d6eba..00000000000000
--- a/ports/libsigcpp/CMakeLists.txt
+++ /dev/null
@@ -1,68 +0,0 @@
-cmake_minimum_required(VERSION 3.0)
-project(libsigc++)
-
-set(CMAKE_CXX_STANDARD 17)
-
-set(SIGCPP_API_VERSION 2.0)
-
-add_definitions(-DSIGC_BUILD)
-
-include_directories(./MSVC_Net2013) # config file for windows is there
-include_directories(.)
-
-set(SICGPP_SOURCES
- sigc++/connection.cc
- sigc++/signal_base.cc
- sigc++/trackable.cc
- sigc++/adaptors/lambda/lambda.cc
- sigc++/functors/slot_base.cc)
-
-add_library(sigc ${SICGPP_SOURCES})
-set_target_properties(sigc PROPERTIES OUTPUT_NAME sigc-${SIGCPP_API_VERSION})
-install(TARGETS sigc RUNTIME DESTINATION bin ARCHIVE DESTINATION lib)
-
-if(NOT SIGCPP_SKIP_HEADERS)
- install(FILES MSVC_Net2013/sigc++config.h DESTINATION include)
- install(FILES sigc++/sigc++.h DESTINATION include/sigc++)
- install(FILES sigc++/bind.h DESTINATION include/sigc++)
- install(FILES sigc++/bind_return.h DESTINATION include/sigc++)
- install(FILES sigc++/connection.h DESTINATION include/sigc++)
- install(FILES sigc++/limit_reference.h DESTINATION include/sigc++)
- install(FILES sigc++/reference_wrapper.h DESTINATION include/sigc++)
- install(FILES sigc++/retype_return.h DESTINATION include/sigc++)
- install(FILES sigc++/signal.h DESTINATION include/sigc++)
- install(FILES sigc++/signal_base.h DESTINATION include/sigc++)
- install(FILES sigc++/slot.h DESTINATION include/sigc++)
- install(FILES sigc++/trackable.h DESTINATION include/sigc++)
- install(FILES sigc++/type_traits.h DESTINATION include/sigc++)
- install(FILES sigc++/visit_each.h DESTINATION include/sigc++)
- install(FILES sigc++/adaptors/adaptors.h DESTINATION include/sigc++/adaptors)
- install(FILES sigc++/adaptors/adaptor_trait.h DESTINATION include/sigc++/adaptors)
- install(FILES sigc++/adaptors/bind.h DESTINATION include/sigc++/adaptors)
- install(FILES sigc++/adaptors/bind_return.h DESTINATION include/sigc++/adaptors)
- install(FILES sigc++/adaptors/bound_argument.h DESTINATION include/sigc++/adaptors)
- install(FILES sigc++/adaptors/compose.h DESTINATION include/sigc++/adaptors)
- install(FILES sigc++/adaptors/deduce_result_type.h DESTINATION include/sigc++/adaptors)
- install(FILES sigc++/adaptors/exception_catch.h DESTINATION include/sigc++/adaptors)
- install(FILES sigc++/adaptors/hide.h DESTINATION include/sigc++/adaptors)
- install(FILES sigc++/adaptors/retype.h DESTINATION include/sigc++/adaptors)
- install(FILES sigc++/adaptors/retype_return.h DESTINATION include/sigc++/adaptors)
- install(FILES sigc++/adaptors/track_obj.h DESTINATION include/sigc++/adaptors)
- install(FILES sigc++/adaptors/lambda/base.h DESTINATION include/sigc++/adaptors/lambda)
- install(FILES sigc++/adaptors/lambda/select.h DESTINATION include/sigc++/adaptors/lambda)
- install(FILES sigc++/functors/functors.h DESTINATION include/sigc++/functors)
- install(FILES sigc++/functors/functor_trait.h DESTINATION include/sigc++/functors)
- install(FILES sigc++/functors/mem_fun.h DESTINATION include/sigc++/functors)
- install(FILES sigc++/functors/ptr_fun.h DESTINATION include/sigc++/functors)
- install(FILES sigc++/functors/slot.h DESTINATION include/sigc++/functors)
- install(FILES sigc++/functors/slot_base.h DESTINATION include/sigc++/functors)
-endif()
-
-set(prefix ${CMAKE_INSTALL_PREFIX})
-set(exec_prefix ${CMAKE_INSTALL_PREFIX})
-set(libdir ${CMAKE_INSTALL_PREFIX}/lib)
-set(includedir ${CMAKE_INSTALL_PREFIX}/include)
-set(SIGCXX_API_VERSION "2.0")
-configure_file("${CMAKE_CURRENT_SOURCE_DIR}/sigc++.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/sigc++.pc" @ONLY)
-install(FILES "${CMAKE_CURRENT_BINARY_DIR}/sigc++.pc" DESTINATION lib/pkgconfig)
-install(FILES "${CMAKE_CURRENT_BINARY_DIR}/sigc++.pc" DESTINATION lib/pkgconfig RENAME sigc++-2.0.pc)
diff --git a/ports/libsigcpp/CONTROL b/ports/libsigcpp/CONTROL
deleted file mode 100644
index 82b48ec5706a06..00000000000000
--- a/ports/libsigcpp/CONTROL
+++ /dev/null
@@ -1,4 +0,0 @@
-Source: libsigcpp
-Version: 2.10-3
-Port-Version: 2
-Description: Typesafe callback framework for C++
diff --git a/ports/libsigcpp-3/disable_tests_enable_static_build.patch b/ports/libsigcpp/disable_tests_enable_static_build.patch
similarity index 100%
rename from ports/libsigcpp-3/disable_tests_enable_static_build.patch
rename to ports/libsigcpp/disable_tests_enable_static_build.patch
diff --git a/ports/libsigcpp/portfile.cmake b/ports/libsigcpp/portfile.cmake
index a8b70d0533dd3e..7dceaa2f4550e8 100644
--- a/ports/libsigcpp/portfile.cmake
+++ b/ports/libsigcpp/portfile.cmake
@@ -1,33 +1,21 @@
-
-vcpkg_download_distfile(ARCHIVE
- URLS "https://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.10/libsigc++-2.10.0.tar.xz"
- FILENAME "libsigc++-2.10.0.tar.xz"
- SHA512 5b96df21d6bd6ba41520c7219e77695a86aabc60b7259262c7a9f4b8475ce0e2fd8dc37bcf7c17e24e818ff28c262d682b964c83e215b51bdbe000f3f58794ae
-)
-
-vcpkg_extract_source_archive_ex(
+vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
- ARCHIVE ${ARCHIVE}
+ REPO libsigcplusplus/libsigcplusplus
+ REF 7e20b36bddab74faed39aa3768d07fd372fce596
+ SHA512 6220a3974ee90afb5028a5b60ffcbff353fffbbfcf1570d8db05b6d91604324a73badcb17c73c852d6c5265e2b31e1c2de1b3ea20c0e60ecdb17ce90c9ca40bd
+ HEAD_REF master
+ PATCHES
+ disable_tests_enable_static_build.patch
+ version.patch
)
-file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
-
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
- OPTIONS_DEBUG
- -DSIGCPP_SKIP_HEADERS=ON)
-
+)
vcpkg_install_cmake()
vcpkg_copy_pdbs()
vcpkg_fixup_pkgconfig()
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/sigc++-3 TARGET_PATH share/sigc++-3)
-if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
- file(READ ${CURRENT_PACKAGES_DIR}/include/sigc++config.h SIGCPPCONFIG_H)
- string(REPLACE "endif /* !SIGC_MSC */"
- "endif /* !SIGC_MSC */
-#undef SIGC_DLL" SIGCPPCONFIG_H "${SIGCPPCONFIG_H}")
- file(WRITE ${CURRENT_PACKAGES_DIR}/include/sigc++config.h "${SIGCPPCONFIG_H}")
-endif()
-
-file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libsigcpp)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/libsigcpp/COPYING ${CURRENT_PACKAGES_DIR}/share/libsigcpp/copyright)
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/libsigcpp/vcpkg.json b/ports/libsigcpp/vcpkg.json
new file mode 100644
index 00000000000000..bf94085c59ab16
--- /dev/null
+++ b/ports/libsigcpp/vcpkg.json
@@ -0,0 +1,6 @@
+{
+ "name": "libsigcpp",
+ "version": "3.0.3",
+ "description": "Typesafe callback framework for C++",
+ "homepage": "https://libsigcplusplus.github.io/libsigcplusplus/"
+}
diff --git a/ports/libsigcpp/version.patch b/ports/libsigcpp/version.patch
new file mode 100644
index 00000000000000..dd485021edbf48
--- /dev/null
+++ b/ports/libsigcpp/version.patch
@@ -0,0 +1,17 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index b06ef121c..9b9520342 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -16,9 +16,9 @@
+
+ cmake_minimum_required (VERSION 3.2)
+
+-set (SIGCXX_MAJOR_VERSION 2)
+-set (SIGCXX_MINOR_VERSION 99)
+-set (SIGCXX_MICRO_VERSION 1)
++set (SIGCXX_MAJOR_VERSION 3)
++set (SIGCXX_MINOR_VERSION 0)
++set (SIGCXX_MICRO_VERSION 3)
+
+ set (SIGCXX_API_VERSION 3.0)
+ set (PACKAGE_VERSION ${SIGCXX_MAJOR_VERSION}.${SIGCXX_MINOR_VERSION}.${SIGCXX_MICRO_VERSION})
diff --git a/ports/libxmlpp/CMakeLists.txt b/ports/libxmlpp/CMakeLists.txt
deleted file mode 100644
index 2a36ed7ba3782a..00000000000000
--- a/ports/libxmlpp/CMakeLists.txt
+++ /dev/null
@@ -1,95 +0,0 @@
-cmake_minimum_required(VERSION 3.9)
-project(libxmlpp)
-
-set(CMAKE_CXX_STANDARD 17)
-
-find_path(GLIBMM_INCLUDE_DIR NAMES glibmm.h)
-find_library(GLIBMM_LIBRARY NAMES glibmm glibmm-2.0)
-find_library(GIOMM_LIBRARY NAMES giomm)
-find_library(GLIB_LIBRARY NAMES glib glib-2.0)
-find_library(GIO_LIBRARY NAMES gio gio-2.0)
-find_library(GMODULE_LIBRARY NAMES gmodule gmodule-2.0)
-find_library(GOBJECT_LIBRARY NAMES gobject gobject-2.0)
-find_library(SIGCPP_LIBRARY NAMES sigc sigc-2.0)
-find_library(FFI_LIBRARY NAMES ffi libffi)
-find_library(PCRE_LIBRARY NAMES pcre libpcre)
-find_package(LibXml2 REQUIRED)
-find_package(LibLZMA REQUIRED)
-find_package(ZLIB REQUIRED)
-
-if(APPLE)
- find_library(LIBINTL_LIBRARY NAMES intl)
-endif()
-
-find_package(Iconv REQUIRED)
-link_libraries(${LIBINTL_LIBRARY} Iconv::Iconv)
-
-if(APPLE)
- find_library(COREFOUNDATION_LIBRARY CoreFoundation)
- find_library(CORESERVICES_LIBRARY CoreServices)
- find_library(FOUNDATION_LIBRARY Foundation)
- link_libraries(${COREFOUNDATION_LIBRARY} ${CORESERVICES_LIBRARY} ${FOUNDATION_LIBRARY})
-endif()
-
-link_libraries(
- ${GIOMM_LIBRARY}
- ${GLIBMM_LIBRARY}
- ${GMODULE_LIBRARY}
- ${GOBJECT_LIBRARY}
- ${GIO_LIBRARY}
- ${GLIB_LIBRARY}
- ${SIGCPP_LIBRARY}
- ${FFI_LIBRARY}
- ${LIBXML2_LIBRARIES}
- ${PCRE_LIBRARY}
- ${LIBLZMA_LIBRARIES}
- ZLIB::ZLIB
-)
-include_directories(${GLIBMM_INCLUDE_DIR} ${LIBXML2_INCLUDE_DIRS} ${LIBLZMA_INCLUDE_DIRS})
-include_directories(. ${CMAKE_BINARY_DIR}/config)
-if(NOT WIN32)
- set(THREADS_PREFER_PTHREAD_FLAG ON)
- find_package(Threads REQUIRED)
- link_libraries(Threads::Threads ${CMAKE_DL_LIBS})
-endif()
-
-# config file
-if(WIN32)
- configure_file(MSVC_Net2010/libxml++/libxml++config.h ${CMAKE_BINARY_DIR}/config/libxml++config.h COPYONLY)
-else()
- set(ENV{GLIBMM_CFLAGS} -I${GLIBMM_INCLUDE_DIR})
- set(ENV{GLIBMM_LIBS} "${GLIBMM_LIBRARY}")
- set(ENV{GIOMM_CFLAGS} -I${GLIBMM_INCLUDE_DIR})
- set(ENV{GIOMM_LIBS} "${GIOMM_LIBRARY}")
- set(ENV{PKG_CONFIG} "echo")
-
- file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/config)
- execute_process(
- COMMAND "${CMAKE_SOURCE_DIR}/configure"
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/config
- RESULT_VARIABLE res
- )
- if(NOT res EQUAL 0)
- message(FATAL_ERROR "Configure failed.")
- endif()
-endif()
-
-file(GLOB_RECURSE SOURCES libxml++/*.cc)
-add_library(xml++ ${SOURCES})
-target_compile_definitions(xml++ PRIVATE -DLIBXMLPP_BUILD)
-
-if(NOT DISABLE_INSTALL_HEADERS)
- install(FILES ${CMAKE_BINARY_DIR}/config/libxml++config.h DESTINATION include)
- install(DIRECTORY libxml++ DESTINATION include FILES_MATCHING PATTERN *.h)
-endif()
-install(
- TARGETS xml++
- RUNTIME DESTINATION bin
- ARCHIVE DESTINATION lib
- LIBRARY DESTINATION lib
-)
-
-if(NOT DISABLE_EXAMPLES)
- add_executable(dom_build examples/dom_build/main.cc)
- target_link_libraries(dom_build xml++)
-endif()
diff --git a/ports/libxmlpp/CONTROL b/ports/libxmlpp/CONTROL
deleted file mode 100644
index 65ac0b963bc894..00000000000000
--- a/ports/libxmlpp/CONTROL
+++ /dev/null
@@ -1,5 +0,0 @@
-Source: libxmlpp
-Version: 2.40.1
-Port-Version: 8
-Description: a C++ wrapper for the libxml XML parser library.
-Build-Depends: libxml2, glibmm
diff --git a/ports/libxmlpp/fixAutoPtrExpired.patch b/ports/libxmlpp/fixAutoPtrExpired.patch
deleted file mode 100644
index 98d4df6bc63944..00000000000000
--- a/ports/libxmlpp/fixAutoPtrExpired.patch
+++ /dev/null
@@ -1,114 +0,0 @@
-diff --git a/libxml++/parsers/saxparser.h b/libxml++/parsers/saxparser.h
-index 1362ca3..0bd36d2 100644
---- a/libxml++/parsers/saxparser.h
-+++ b/libxml++/parsers/saxparser.h
-@@ -221,7 +221,7 @@ private:
- //TODO: Remove the virtual when we can break ABI?
- virtual void parse();
-
-- std::auto_ptr<_xmlSAXHandler> sax_handler_;
-+ std::unique_ptr<_xmlSAXHandler> sax_handler_;
-
- // A separate xmlpp::Document that is just used for entity resolution,
- // and never seen in the API:
-diff --git a/libxml++/parsers/textreader.h b/libxml++/parsers/textreader.h
-index 48901b2..17f0737 100644
---- a/libxml++/parsers/textreader.h
-+++ b/libxml++/parsers/textreader.h
-@@ -257,7 +257,7 @@ class TextReader: NonCopyable
- void * locator);
- void check_for_exceptions() const;
-
-- std::auto_ptr propertyreader;
-+ std::unique_ptr propertyreader;
- _xmlTextReader* impl_;
- int severity_;
- Glib::ustring error_;
-diff --git a/libxml++/relaxngschema.h b/libxml++/relaxngschema.h
-index 8df7089..ffe2eaa 100644
---- a/libxml++/relaxngschema.h
-+++ b/libxml++/relaxngschema.h
-@@ -23,7 +23,7 @@
-
- #include
- #include
--#include // std::auto_ptr
-+#include // std::unique_ptr
-
- #ifndef DOXYGEN_SHOULD_SKIP_THIS
- extern "C" {
-@@ -105,7 +105,7 @@ protected:
-
- private:
- struct Impl;
-- std::auto_ptr pimpl_;
-+ std::unique_ptr pimpl_;
- };
-
- } // namespace xmlpp
-diff --git a/libxml++/validators/relaxngvalidator.h b/libxml++/validators/relaxngvalidator.h
-index 5cd5ad7..cd29393 100644
---- a/libxml++/validators/relaxngvalidator.h
-+++ b/libxml++/validators/relaxngvalidator.h
-@@ -22,7 +22,7 @@
- #define __LIBXMLPP_VALIDATOR_RELAXNGVALIDATOR_H
-
- #include
--#include // std::auto_ptr
-+#include // std::unique_ptr
-
- namespace Glib
- {
-@@ -156,7 +156,7 @@ protected:
-
- private:
- struct Impl;
-- std::auto_ptr pimpl_;
-+ std::unique_ptr pimpl_;
- };
-
- } // namespace xmlpp
-diff --git a/libxml++/validators/xsdvalidator.h b/libxml++/validators/xsdvalidator.h
-index 941d7f1..d64b971 100644
---- a/libxml++/validators/xsdvalidator.h
-+++ b/libxml++/validators/xsdvalidator.h
-@@ -20,7 +20,7 @@
- #define __LIBXMLPP_VALIDATOR_XSDVALIDATOR_H
-
- #include
--#include // std::auto_ptr
-+#include // std::unique_ptr
-
- namespace Glib
- {
-@@ -146,7 +146,7 @@ protected:
-
- private:
- struct Impl;
-- std::auto_ptr pimpl_;
-+ std::unique_ptr pimpl_;
- };
-
- } // namespace xmlpp
-diff --git a/libxml++/xsdschema.h b/libxml++/xsdschema.h
-index 1333025..8220e4e 100644
---- a/libxml++/xsdschema.h
-+++ b/libxml++/xsdschema.h
-@@ -21,7 +21,7 @@
-
- #include
- #include
--#include // std::auto_ptr
-+#include // std::unique_ptr
-
- #ifndef DOXYGEN_SHOULD_SKIP_THIS
- extern "C" {
-@@ -96,7 +96,7 @@ protected:
-
- private:
- struct Impl;
-- std::auto_ptr pimpl_;
-+ std::unique_ptr pimpl_;
- };
-
- } // namespace xmlpp
diff --git a/ports/libxmlpp/portfile.cmake b/ports/libxmlpp/portfile.cmake
index ae65892008784e..1620e79b38995d 100644
--- a/ports/libxmlpp/portfile.cmake
+++ b/ports/libxmlpp/portfile.cmake
@@ -1,31 +1,29 @@
-vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
-
-set(LIBXMLPP_VERSION 2.40.1)
+#..\src\libxml++-5-7c4d4a4cea.clean\meson.build:278:4: ERROR: Problem encountered: Static builds are not supported by MSVC-style builds
+set(LIBXMLPP_VERSION 5.0.0)
vcpkg_download_distfile(ARCHIVE
- URLS "https://ftp.gnome.org/pub/GNOME/sources/libxml++/2.40/libxml++-${LIBXMLPP_VERSION}.tar.xz"
+ URLS "https://ftp.gnome.org/pub/GNOME/sources/libxml++/5.0/libxml++-${LIBXMLPP_VERSION}.tar.xz"
FILENAME "libxml++-${LIBXMLPP_VERSION}.tar.xz"
- SHA512 a4ec2e8182d981c57bdcb8f0a203a3161f8c735ceb59fd212408b7a539d1dc826adf6717bed8f4d544ab08afd9c2fc861efe518e24bbd3a1c4b158e2ca48183a
+ SHA512 ae8d7a178e7a3b48a9f0e1ea303e8a4e4d879d0d9367124ede3783d0c31e31c862b98e5d28d72edc4c0b19c6b457ead2d25664efd33d65e44fd52c5783ec3091
)
vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH
- ARCHIVE ${ARCHIVE}
- PATCHES
- fixAutoPtrExpired.patch
+ ARCHIVE "${ARCHIVE}"
)
-file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
-
-vcpkg_configure_cmake(
- SOURCE_PATH ${SOURCE_PATH}
- PREFER_NINJA
- OPTIONS_DEBUG
- -DDISABLE_INSTALL_HEADERS=ON
+vcpkg_configure_meson(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS
+ -Dbuild-documentation=false
+ -Dvalidation=false # Validate the tutorial XML file
+ -Dbuild-examples=false
+ -Dbuild-tests=false
+ -Dmsvc14x-parallel-installable=false # Use separate DLL and LIB filenames for Visual Studio 2017 and 2019
+ -Dbuild-deprecated-api=true # Build deprecated API and include it in the library
)
-
-vcpkg_install_cmake()
-
+vcpkg_install_meson()
+vcpkg_fixup_pkgconfig()
vcpkg_copy_pdbs()
# Handle copyright and readme
diff --git a/ports/libxmlpp/vcpkg.json b/ports/libxmlpp/vcpkg.json
new file mode 100644
index 00000000000000..ca45f1bc5041bf
--- /dev/null
+++ b/ports/libxmlpp/vcpkg.json
@@ -0,0 +1,10 @@
+{
+ "name": "libxmlpp",
+ "version": "5.0.0",
+ "description": "a C++ wrapper for the libxml XML parser library.",
+ "supports": "!(windows & static)",
+ "dependencies": [
+ "glibmm",
+ "libxml2"
+ ]
+}
diff --git a/ports/pango/0001-fix-static-symbols-export.diff b/ports/pango/0001-fix-static-symbols-export.diff
deleted file mode 100644
index a7ab60901ff1a6..00000000000000
--- a/ports/pango/0001-fix-static-symbols-export.diff
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/config.h.win32 b/config.h.win32
-index 31b330f..e5ed86c 100644
---- a/config.h.win32
-+++ b/config.h.win32
-@@ -147,7 +147,11 @@
-
- /* defines how to decorate public symbols while building */
- #ifdef _MSC_VER
-+#ifdef PANGO_EXPORTS
- #define _PANGO_EXTERN __declspec(dllexport) extern
- #else
-+#define _PANGO_EXTERN extern
-+#endif
-+#else
- #define _PANGO_EXTERN __attribute__((visibility("default"))) __declspec(dllexport) extern
- #endif
diff --git a/ports/pango/0002-remove-hb-glib.diff b/ports/pango/0002-remove-hb-glib.diff
deleted file mode 100644
index 10234ae861bd0e..00000000000000
--- a/ports/pango/0002-remove-hb-glib.diff
+++ /dev/null
@@ -1,75 +0,0 @@
-diff --git a/pango/pango-ot-buffer.c b/pango/pango-ot-buffer.c
-index 142b2f17..334df746 100644
---- a/pango/pango-ot-buffer.c
-+++ b/pango/pango-ot-buffer.c
-@@ -40,7 +40,6 @@ pango_ot_buffer_new (PangoFcFont *font)
- PangoOTBuffer *buffer = g_slice_new (PangoOTBuffer);
-
- buffer->buffer = hb_buffer_create ();
-- hb_buffer_set_unicode_funcs (buffer->buffer, hb_glib_get_unicode_funcs ());
-
- return buffer;
- }
-diff --git a/pango/pango-ot-private.h b/pango/pango-ot-private.h
-index 0d803ec1..d9d86644 100644
---- a/pango/pango-ot-private.h
-+++ b/pango/pango-ot-private.h
-@@ -22,12 +22,12 @@
- #ifndef __PANGO_OT_PRIVATE_H__
- #define __PANGO_OT_PRIVATE_H__
-
-+#include
- #include
-
- #include
- #include
- #include
--#include
-
- #include "pangofc-private.h"
-
-diff --git a/pango/pango-ot-tag.c b/pango/pango-ot-tag.c
-index 610b59d7..3bf4eccd 100644
---- a/pango/pango-ot-tag.c
-+++ b/pango/pango-ot-tag.c
-@@ -47,7 +47,8 @@ PangoOTTag
- pango_ot_tag_from_script (PangoScript script)
- {
- hb_tag_t tag1, tag2;
-- hb_ot_tags_from_script (hb_glib_script_to_script (script), &tag1, &tag2);
-+ hb_ot_tags_from_script ((hb_script_t) g_unicode_script_to_iso15924 ((GUnicodeScript) script),
-+ &tag1, &tag2);
- return (PangoOTTag) tag1;
- }
-
-@@ -75,7 +76,7 @@ pango_ot_tag_from_script (PangoScript script)
- PangoScript
- pango_ot_tag_to_script (PangoOTTag script_tag)
- {
-- return (PangoScript) hb_glib_script_from_script (hb_ot_tag_to_script ((hb_tag_t) script_tag));
-+ return (PangoScript) g_unicode_script_from_iso15924 (hb_ot_tag_to_script ((hb_tag_t) script_tag));
- }
-
-
-diff --git a/pango/pangofc-shape.c b/pango/pangofc-shape.c
-index 60f829f3..4cb0ae04 100644
---- a/pango/pangofc-shape.c
-+++ b/pango/pangofc-shape.c
-@@ -28,7 +28,7 @@
-
- #include "pangofc-private.h"
- #include
--#include
-+#include
-
- /* cache a single hb_buffer_t */
- static hb_buffer_t *cached_buffer = NULL; /* MT-safe */
-@@ -362,7 +362,7 @@ _pango_fc_shape (PangoFont *font,
- /* setup buffer */
-
- hb_buffer_set_direction (hb_buffer, hb_direction);
-- hb_buffer_set_script (hb_buffer, hb_glib_script_to_script (analysis->script));
-+ hb_buffer_set_script (hb_buffer, (hb_script_t) g_unicode_script_to_iso15924 (analysis->script));
- hb_buffer_set_language (hb_buffer, hb_language_from_string (pango_language_to_string (analysis->language), -1));
- #if HB_VERSION_ATLEAST(1,0,3)
- hb_buffer_set_cluster_level (hb_buffer, HB_BUFFER_CLUSTER_LEVEL_MONOTONE_CHARACTERS);
diff --git a/ports/pango/CMakeLists.txt b/ports/pango/CMakeLists.txt
deleted file mode 100644
index 127b92319c7dce..00000000000000
--- a/ports/pango/CMakeLists.txt
+++ /dev/null
@@ -1,211 +0,0 @@
-cmake_minimum_required(VERSION 3.0)
-project(pango C)
-
-set(PANGO_LIB_SUFFIX 1.0)
-set(PANGO_DLL_SUFFIX 1)
-set(GLIB_LIB_VERSION 2.0)
-
-if(WIN32)
- configure_file(./config.h.win32 ${CMAKE_CURRENT_BINARY_DIR}/config.h COPYONLY)
-else()
- configure_file(./config.h.unix ${CMAKE_CURRENT_BINARY_DIR}/config.h COPYONLY)
-endif()
-
-if (WIN32)
- # Set utf-8 charset to avoid compile error C2001
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /utf-8")
-endif()
-
-add_definitions(-DHAVE_CONFIG_H)
-include_directories(. ./pango ${CMAKE_CURRENT_BINARY_DIR})
-
-if(NOT CMAKE_SYSTEM_NAME STREQUAL "Linux")
-# find libintl
-find_path(LIBINTL_INCLUDE_DIR libintl.h)
-find_library(LIBINTL_LIBRARY NAMES libintl intl)
-endif()
-
-# find glib
-find_path(GLIB_INCLUDE_DIR glib.h)
-find_library(GLIB_GLIB_LIBRARY glib-${GLIB_LIB_VERSION})
-find_library(GLIB_GOBJECT_LIBRARY gobject-${GLIB_LIB_VERSION})
-find_library(GLIB_GMODULE_LIBRARY gmodule-${GLIB_LIB_VERSION})
-set(GLIB_LIBRARIES ${GLIB_GLIB_LIBRARY} ${GLIB_GOBJECT_LIBRARY} ${GLIB_GMODULE_LIBRARY})
-
-# find cairo
-find_path(CAIRO_INCLUDE_DIR cairo.h)
-if(CMAKE_BUILD_TYPE STREQUAL Debug)
- set(CAIRO_SUFFIX d)
-endif()
-find_library(CAIRO_LIBRARY
- NAMES
- cairo${CAIRO_SUFFIX}
- cairo-static${CAIRO_SUFFIX})
-find_library(CAIRO_GOBJECT_LIBRARY cairo-gobject${CAIRO_SUFFIX})
-set(CAIRO_LIBRARIES ${CAIRO_LIBRARY} ${CAIRO_GOBJECT_LIBRARY})
-
-# find fontconfig
-find_path(FONTCONFIG_INCLUDE_DIR fontconfig/fontconfig.h)
-find_library(FONTCONFIG_LIBRARY fontconfig)
-
-# find freetype
-find_package(Freetype REQUIRED)
-
-# find harfbuzz
-find_path(HARFBUZZ_INCLUDE_DIR harfbuzz/hb.h)
-find_library(HARFBUZZ_LIBRARY harfbuzz)
-
-if (APPLE)
- find_library(COREFOUNDATION_LIBRARY CoreFoundation)
- link_libraries(${COREFOUNDATION_LIBRARY})
-endif()
-
-set(FONT_INCLUDE_DIRS ${FREETYPE_INCLUDE_DIR} ${FONTCONFIG_INCLUDE_DIR} ${HARFBUZZ_INCLUDE_DIR}/harfbuzz)
-set(FONT_LIBRARIES Freetype::Freetype ${FONTCONFIG_LIBRARY} ${HARFBUZZ_LIBRARY})
-
-macro(pango_add_module MODULE_NAME)
- add_library(${MODULE_NAME} ${ARGN})
- target_include_directories(${MODULE_NAME} PRIVATE ${GLIB_INCLUDE_DIR} ${LIBINTL_INCLUDE_DIR})
- target_link_libraries(${MODULE_NAME} ${LIBINTL_LIBRARY} ${GLIB_LIBRARIES})
- target_compile_definitions(${MODULE_NAME} PRIVATE
- G_LOG_DOMAIN="Pango" PANGO_ENABLE_BACKEND PANGO_ENABLE_ENGINE
- G_DISABLE_SINGLE_INCLUDES SYSCONFDIR="/dummy/etc" LIBDIR="/dummy/lib")
- target_compile_definitions(${MODULE_NAME} PRIVATE HAVE_CAIRO_FREETYPE=1)
- set_target_properties(${MODULE_NAME} PROPERTIES
- DEFINE_SYMBOL PANGO_EXPORTS
- OUTPUT_NAME ${MODULE_NAME}-${PANGO_DLL_SUFFIX}
- ARCHIVE_OUTPUT_NAME ${MODULE_NAME}-${PANGO_LIB_SUFFIX})
- install(TARGETS ${MODULE_NAME} RUNTIME DESTINATION bin ARCHIVE DESTINATION lib LIBRARY DESTINATION lib)
-endmacro()
-
-pango_add_module(pango
- pango/break-arabic.c
- pango/break-indic.c
- pango/mini-fribidi/fribidi.c
- pango/mini-fribidi/fribidi_char_type.c
- pango/mini-fribidi/fribidi_types.c
- pango/break.c
- pango/ellipsize.c
- pango/fonts.c
- pango/glyphstring.c
- pango/modules.c
- pango/pango-attributes.c
- pango/pango-bidi-type.c
- pango/pango-color.c
- pango/pango-context.c
- pango/pango-coverage.c
- pango/pango-emoji.c
- pango/pango-engine.c
- pango/pango-fontmap.c
- pango/pango-fontset.c
- pango/pango-glyph-item.c
- pango/pango-gravity.c
- pango/pango-item.c
- pango/pango-language.c
- pango/pango-layout.c
- pango/pango-markup.c
- pango/pango-matrix.c
- pango/pango-renderer.c
- pango/pango-script.c
- pango/pango-tabs.c
- pango/pango-utils.c
- pango/reorder-items.c
- pango/shape.c
- pango/pango-enum-types.c)
-
-if(WIN32)
-pango_add_module(pangowin32
- pango/pangowin32.c
- pango/pangowin32-fontcache.c
- pango/pangowin32-fontmap.c
- pango/pangowin32-shape.c)
-target_link_libraries(pangowin32 usp10 pango gdi32)
-endif()
-
-pango_add_module(pangoft2
- pango/pangofc-font.c
- pango/pangofc-fontmap.c
- pango/pangofc-decoder.c
- pango/pangofc-shape.c
- pango/pangoft2.c
- pango/pangoft2-fontmap.c
- pango/pangoft2-render.c
- pango/pango-ot-buffer.c
- pango/pango-ot-info.c
- pango/pango-ot-ruleset.c
- pango/pango-ot-tag.c)
-target_link_libraries(pangoft2 pango ${FONT_LIBRARIES})
-target_include_directories(pangoft2 PRIVATE ${FONT_INCLUDE_DIRS})
-
-list(APPEND PANGO_CAIRO_SOURCES
- pango/pangocairo-fcfont.c
- pango/pangocairo-fcfontmap.c
- pango/pangocairo-context.c
- pango/pangocairo-font.c
- pango/pangocairo-fontmap.c
- pango/pangocairo-render.c)
-
-if(WIN32)
- list(APPEND PANGO_CAIRO_SOURCES
- pango/pangocairo-win32font.c
- pango/pangocairo-win32fontmap.c)
-endif()
-
-pango_add_module(pangocairo ${PANGO_CAIRO_SOURCES})
-list(APPEND PANGO_CAIRO_LIBRARIES ${CAIRO_LIBRARIES} pango pangoft2 ${FONT_LIBRARIES})
-if (WIN32)
- list(APPEND PANGO_CAIRO_LIBRARIES pangowin32)
-endif()
-target_link_libraries(pangocairo ${PANGO_CAIRO_LIBRARIES})
-target_include_directories(pangocairo PRIVATE ${CAIRO_INCLUDE_DIR} ${FONT_INCLUDE_DIRS})
-
-
-if(NOT PANGO_SKIP_HEADERS)
- install(FILES
- pango/pango.h
- pango/pango-attributes.h
- pango/pango-bidi-type.h
- pango/pango-break.h
- pango/pango-context.h
- pango/pango-coverage.h
- pango/pango-engine.h
- pango/pango-font.h
- pango/pango-fontmap.h
- pango/pango-fontset.h
- pango/pango-glyph.h
- pango/pango-glyph-item.h
- pango/pango-gravity.h
- pango/pango-item.h
- pango/pango-language.h
- pango/pango-layout.h
- pango/pango-matrix.h
- pango/pango-modules.h
- pango/pango-renderer.h
- pango/pango-script.h
- pango/pango-tabs.h
- pango/pango-types.h
- pango/pango-utils.h
- pango/pango-version-macros.h
- pango/pangocairo.h
- pango/pangowin32.h
- pango/pango-features.h
- pango/pango-enum-types.h
- pango/pangofc-decoder.h
- pango/pangofc-font.h
- pango/pangofc-fontmap.h
- pango/pango-ot.h
- pango/pangoft2.h
- DESTINATION include/pango)
-endif()
-
-message(STATUS "Link-time dependencies:")
-message(STATUS " " ${LIBINTL_LIBRARY})
-foreach(GL ${GLIB_LIBRARIES})
- message(STATUS " " ${GL})
-endforeach()
-foreach(CL ${CAIRO_LIBRARIES})
- message(STATUS " " ${CL})
-endforeach()
-foreach(FL ${FONT_LIBRARIES})
- message(STATUS " " ${FL})
-endforeach()
diff --git a/ports/pango/CONTROL b/ports/pango/CONTROL
deleted file mode 100644
index 8ab0abd62870b5..00000000000000
--- a/ports/pango/CONTROL
+++ /dev/null
@@ -1,6 +0,0 @@
-Source: pango
-Version: 1.40.11
-Port-Version: 9
-Homepage: https://ftp.gnome.org/pub/GNOME/sources/pango/
-Description: Text and font handling library.
-Build-Depends: glib, gettext, cairo[gobject], fontconfig, freetype, harfbuzz (!(windows&static)&!osx)
diff --git a/ports/pango/config.h.unix b/ports/pango/config.h.unix
deleted file mode 100644
index 83b2f52fddc806..00000000000000
--- a/ports/pango/config.h.unix
+++ /dev/null
@@ -1,153 +0,0 @@
-/* config.h. Generated from config.h.in by configure. */
-/* config.h.in. Generated from configure.ac by autoheader. */
-
-/* Have usable Cairo library and font backend */
-#define HAVE_CAIRO 1
-
-/* Whether Cairo can use FreeType for fonts */
-#define HAVE_CAIRO_FREETYPE 1
-
-/* Whether Cairo has PDF support */
-/* #undef HAVE_CAIRO_PDF */
-
-/* Whether Cairo has PNG support */
-/* #undef HAVE_CAIRO_PNG */
-
-/* Whether Cairo has PS support */
-/* #undef HAVE_CAIRO_PS */
-
-/* Whether Cairo can use Quartz for fonts */
-/* #undef HAVE_CAIRO_QUARTZ */
-
-/* Whether Cairo can use the Win32 GDI for fonts */
-/* #undef HAVE_CAIRO_WIN32 */
-
-/* Whether Cairo has Xlib support */
-/* #undef HAVE_CAIRO_XLIB */
-
-/* Whether CoreText is available on the system */
-#ifdef __APPLE_CC__
- #define HAVE_CORE_TEXT 1
-#else
- #undef HAVE_CORE_TEXT
-#endif
-
-/* Define to 1 if you have the header file, and it defines `DIR'.
- */
-#define HAVE_DIRENT_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_DLFCN_H 1
-
-/* Define to 1 if you have the `FcWeightFromOpenType' function. */
-/* #undef HAVE_FCWEIGHTFROMOPENTYPE */
-
-/* Define to 1 if you have the `flockfile' function. */
-#define HAVE_FLOCKFILE 1
-
-/* Have FreeType 2 library */
-#define HAVE_FREETYPE 1
-
-/* Define to 1 if you have the `getpagesize' function. */
-#define HAVE_GETPAGESIZE 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_INTTYPES_H 1
-
-/* Whether libthai is available */
-/* #undef HAVE_LIBTHAI */
-
-/* Define to 1 if you have the header file. */
-#define HAVE_MEMORY_H 1
-
-/* Define to 1 if you have the header file, and it defines `DIR'. */
-/* #undef HAVE_NDIR_H */
-
-/* Define to 1 if you have the header file. */
-#define HAVE_STDINT_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_STDLIB_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_STRINGS_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_STRING_H 1
-
-/* Define to 1 if you have the `strtok_r' function. */
-#define HAVE_STRTOK_R 1
-
-/* Define to 1 if you have the `sysconf' function. */
-#define HAVE_SYSCONF 1
-
-/* Define to 1 if you have the header file, and it defines `DIR'.
- */
-/* #undef HAVE_SYS_DIR_H */
-
-/* Define to 1 if you have the header file. */
-#define HAVE_SYS_MMAN_H 1
-
-/* Define to 1 if you have the header file, and it defines `DIR'.
- */
-/* #undef HAVE_SYS_NDIR_H */
-
-/* Define to 1 if you have the header file. */
-#define HAVE_SYS_STAT_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_SYS_TYPES_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_UNISTD_H 1
-
-/* Have Xft library */
-/* #undef HAVE_XFT */
-
-/* Define to the sub-directory where libtool stores uninstalled libraries. */
-#define LT_OBJDIR ".libs/"
-
-/* Name of package */
-#define PACKAGE "pango"
-
-/* Define to the address where bug reports for this package should be sent. */
-#define PACKAGE_BUGREPORT "http://bugzilla.gnome.org/enter_bug.cgi?product=pango"
-
-/* Define to the full name of this package. */
-#define PACKAGE_NAME "pango"
-
-/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "pango 1.40.11"
-
-/* Define to the one symbol short name of this package. */
-#define PACKAGE_TARNAME "pango"
-
-/* Define to the home page for this package. */
-#define PACKAGE_URL ""
-
-/* Define to the version of this package. */
-#define PACKAGE_VERSION "1.40.11"
-
-/* PANGO binary age */
-#define PANGO_BINARY_AGE 4011
-
-/* PANGO interface age */
-#define PANGO_INTERFACE_AGE 11
-
-/* PANGO major version */
-#define PANGO_VERSION_MAJOR 1
-
-/* PANGO micro version */
-#define PANGO_VERSION_MICRO 11
-
-/* PANGO minor version */
-#define PANGO_VERSION_MINOR 40
-
-/* Define to 1 if you have the ANSI C header files. */
-#define STDC_HEADERS 1
-
-/* Version number of package */
-#define VERSION "1.40.11"
-
-/* defines how to decorate public symbols while building */
-#define _PANGO_EXTERN __attribute__((visibility("default"))) extern
diff --git a/ports/pango/portfile.cmake b/ports/pango/portfile.cmake
index 2127e3c56f4eb2..ba68c0541f0c5f 100644
--- a/ports/pango/portfile.cmake
+++ b/ports/pango/portfile.cmake
@@ -1,28 +1,45 @@
-set(PANGO_VERSION 1.40.11)
+set(PANGO_VERSION 1.48.0)
vcpkg_download_distfile(ARCHIVE
- URLS "http://ftp.gnome.org/pub/GNOME/sources/pango/1.40/pango-${PANGO_VERSION}.tar.xz"
+ URLS "http://ftp.gnome.org/pub/GNOME/sources/pango/1.48/pango-${PANGO_VERSION}.tar.xz"
FILENAME "pango-${PANGO_VERSION}.tar.xz"
- SHA512 e4ac40f8da9c326e1e4dfaf4b1d2070601b17f88f5a12991a9a8bbc58bb08640404e2a794a5c68c5ebb2e7e80d9c186d4b26cd417bb63a23f024ef8a38bb152a)
+ SHA512 4819575a583134083819c1548d86bba71af97fd927f7cac05e3903b6d1c84de0ab1b593eea1e17b974f194e2d81123aa46e3af942eef258ad1bd14c72322342e)
vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH
ARCHIVE ${ARCHIVE}
REF ${PANGO_VERSION}
- PATCHES
- 0001-fix-static-symbols-export.diff
- 0002-remove-hb-glib.diff
)
-file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
-file(COPY ${CMAKE_CURRENT_LIST_DIR}/config.h.unix DESTINATION ${SOURCE_PATH})
-vcpkg_configure_cmake(
+vcpkg_configure_meson(
SOURCE_PATH ${SOURCE_PATH}
- PREFER_NINJA
- OPTIONS_DEBUG
- -DPANGO_SKIP_HEADERS=ON
+ OPTIONS
+ -Dintrospection=disabled # Build the GObject introspection data for Pango
+ -Dfontconfig=enabled # Build with FontConfig support.
+ -Dsysprof=disabled # include tracing support for sysprof
+ -Dlibtahi=disabled # Build with libthai support
+ -Dcairo=enabled # Build with cairo support
+ -Dxft=disabled # Build with xft support
+ -Dfreetype=enabled # Build with freetype support
+ -Dgtk_doc=false #Build API reference for Pango using GTK-Doc
+ ADDITIONAL_NATIVE_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal'
+ glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums'
+ ADDITIONAL_CROSS_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal'
+ glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums'
)
-vcpkg_install_cmake()
+vcpkg_install_meson()
+vcpkg_fixup_pkgconfig()
vcpkg_copy_pdbs()
-file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
\ No newline at end of file
+vcpkg_copy_tools(TOOL_NAMES pango-view pango-list AUTO_CLEAN)
+
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
+
+set(_file "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/pango.pc")
+if(EXISTS "${_file}")
+ vcpkg_replace_string("${_file}" [[-I"${includedir}/pango-1.0"]] [[-I"${includedir}/pango-1.0" -I"${includedir}/harfbuzz"]])
+endif()
+set(_file "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/pango.pc")
+if(EXISTS "${_file}")
+ vcpkg_replace_string("${_file}" [[-I"${includedir}/pango-1.0"]] [[-I"${includedir}/pango-1.0" -I"${includedir}/harfbuzz"]])
+endif()
diff --git a/ports/pango/vcpkg.json b/ports/pango/vcpkg.json
new file mode 100644
index 00000000000000..a1c209d6556d9b
--- /dev/null
+++ b/ports/pango/vcpkg.json
@@ -0,0 +1,31 @@
+{
+ "name": "pango",
+ "version": "1.48.0",
+ "description": "Text and font handling library.",
+ "homepage": "https://ftp.gnome.org/pub/GNOME/sources/pango/",
+ "dependencies": [
+ {
+ "name": "cairo",
+ "features": [
+ "gobject"
+ ]
+ },
+ "fontconfig",
+ "freetype",
+ "fribidi",
+ "gettext",
+ "glib",
+ {
+ "name": "glib",
+ "host": true
+ },
+ "harfbuzz",
+ {
+ "name": "harfbuzz",
+ "features": [
+ "coretext"
+ ],
+ "platform": "osx"
+ }
+ ]
+}
diff --git a/ports/pangomm/CONTROL b/ports/pangomm/CONTROL
deleted file mode 100644
index a373ba7ed268f7..00000000000000
--- a/ports/pangomm/CONTROL
+++ /dev/null
@@ -1,6 +0,0 @@
-Source: pangomm
-Version: 2.40.1
-Port-Version: 4
-Homepage: https://ftp.gnome.org/pub/GNOME/sources/pangomm
-Description: pangomm is the official C++ interface for the Pango font layout library. See, for instance, the Pango::Layout class.
-Build-Depends: glib, gettext, cairo, fontconfig, freetype, harfbuzz, pango, cairomm, glibmm
diff --git a/ports/pangomm/fix_charset.patch b/ports/pangomm/fix_charset.patch
deleted file mode 100644
index d57063c86e9330..00000000000000
--- a/ports/pangomm/fix_charset.patch
+++ /dev/null
@@ -1,110 +0,0 @@
-diff --git a/MSVC_Net2013/gendef.vcxproj b/MSVC_Net2013/gendef.vcxproj
-index ceca956..c29a2a1 100644
---- a/MSVC_Net2013/gendef.vcxproj
-+++ b/MSVC_Net2013/gendef.vcxproj
-@@ -21,26 +21,27 @@
-
- {07324745-C9BE-4D65-B08A-9C88188C0C28}
- Win32Proj
-+ 8.1
-
-
-
- Application
-- MultiByte
-+ Unicode
- v120
-
-
- Application
-- MultiByte
-+ Unicode
- v120
-
-
- Application
-- MultiByte
-+ Unicode
- v120
-
-
- Application
-- MultiByte
-+ Unicode
- v120
-
-
-diff --git a/MSVC_Net2013/install.vcxproj b/MSVC_Net2013/install.vcxproj
-index fecde32..8f97675 100644
---- a/MSVC_Net2013/install.vcxproj
-+++ b/MSVC_Net2013/install.vcxproj
-@@ -22,28 +22,29 @@
- {2093D218-190E-4194-9421-3BA7CBF33B10}
- install
- Win32Proj
-+ 8.1
-
-
-
- Utility
-- MultiByte
-+ Unicode
- true
- v120
-
-
- Utility
-- MultiByte
-+ Unicode
- v120
-
-
- Utility
-- MultiByte
-+ Unicode
- true
- v120
-
-
- Utility
-- MultiByte
-+ Unicode
- v120
-
-
-diff --git a/MSVC_Net2013/pangomm.vcxproj b/MSVC_Net2013/pangomm.vcxproj
-index aa03fad..d63becf 100644
---- a/MSVC_Net2013/pangomm.vcxproj
-+++ b/MSVC_Net2013/pangomm.vcxproj
-@@ -23,26 +23,27 @@
- {A93D607A-5C37-4AEC-BA08-6A655F6DC834}
- pangomm
- Win32Proj
-+ 8.1
-
-
-
- DynamicLibrary
-- MultiByte
-+ Unicode
- v120
-
-
- DynamicLibrary
-- MultiByte
-+ Unicode
- v120
-
-
- DynamicLibrary
-- MultiByte
-+ Unicode
- v120
-
-
- DynamicLibrary
-- MultiByte
-+ Unicode
- v120
-
-
diff --git a/ports/pangomm/fix_properties.patch b/ports/pangomm/fix_properties.patch
deleted file mode 100644
index 22ee67bf1ced3c..00000000000000
--- a/ports/pangomm/fix_properties.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-diff --git a/MSVC_Net2013/pangomm-build-defines.props b/MSVC_Net2013/pangomm-build-defines.props
-index 3c3108d..f30890b 100644
---- a/MSVC_Net2013/pangomm-build-defines.props
-+++ b/MSVC_Net2013/pangomm-build-defines.props
-@@ -5,8 +5,6 @@
-
-
- PANGOMM_BUILD
-- glibmm-vc$(VSVer)0-2_4.lib;cairomm-vc$(VSVer)0-1_0.lib;sigc-vc$(VSVer)0-2_0.lib
-- glibmm-vc$(VSVer)0-d-2_4.lib;cairomm-vc$(VSVer)0-d-1_0.lib;sigc-vc$(VSVer)0-d-2_0.lib
-
-
- <_PropertySheetDisplayName>panogmmbuilddefinesprops
-@@ -15,14 +13,14 @@
-
-
-
-- .\pangomm;..\pango;$(GlibEtcInstallRoot)\include\glibmm-2.4;$(GlibEtcInstallRoot)\lib\glibmm-2.4\include;$(GlibEtcInstallRoot)\include\cairomm-1.0;$(GlibEtcInstallRoot)\lib\cairomm-1.0\include;$(GlibEtcInstallRoot)\include\sigc++-2.0;$(GlibEtcInstallRoot)\lib\sigc++-2.0\include;$(GlibEtcInstallRoot)\include\pango-1.0;$(GlibEtcInstallRoot)\include\glib-2.0;$(GlibEtcInstallRoot)\lib\glib-2.0\include;$(GlibEtcInstallRoot)\include;%(AdditionalIncludeDirectories)
-+ .\pangomm;..\pango;.;%(AdditionalIncludeDirectories)
- msvc_recommended_pragmas.h;%(ForcedIncludeFiles)
- true
- /d2Zi+ %(AdditionalOptions)
-
-
-- pangocairo-1.0.lib;pango-1.0.lib;gobject-2.0.lib;gmodule-2.0.lib;glib-2.0.lib;%(AdditionalDependencies)
-- $(GlibEtcInstallRoot)\lib;%(AdditionalLibraryDirectories)
-+ %(AdditionalDependencies)
-+ %(AdditionalLibraryDirectories)
-
-
-
-diff --git a/MSVC_Net2013/pangomm-version-paths.props b/MSVC_Net2013/pangomm-version-paths.props
-index b287629..01a267e 100644
---- a/MSVC_Net2013/pangomm-version-paths.props
-+++ b/MSVC_Net2013/pangomm-version-paths.props
-@@ -2,13 +2,9 @@
-
-
- 12
-- $(SolutionDir)\..\..\vs$(VSVer)\$(Platform)
-- $(GlibEtcInstallRoot)
- $(SolutionDir)$(Configuration)\$(Platform)\obj\$(ProjectName)\
- 1
- 4
-- -vc$(VSVer)0-$(ApiMajorVersion)_$(ApiMinorVersion)
-- -vc$(VSVer)0-d-$(ApiMajorVersion)_$(ApiMinorVersion)
-
-
- <_PropertySheetDisplayName>pangommversionpathsprops
-@@ -17,12 +13,6 @@
-
- $(VSVer)
-
--
-- $(GlibEtcInstallRoot)
--
--
-- $(CopyDir)
--
-
- $(DefDir)
-
-@@ -32,11 +22,5 @@
-
- $(ApiMinorVersion)
-
--
-- $(ReleaseDllSuffix)
--
--
-- $(DebugDllSuffix)
--
-
-
-\ No newline at end of file
diff --git a/ports/pangomm/msvc_recommended_pragmas.h b/ports/pangomm/msvc_recommended_pragmas.h
deleted file mode 100644
index c0eb1d5edf4cd5..00000000000000
--- a/ports/pangomm/msvc_recommended_pragmas.h
+++ /dev/null
@@ -1,34 +0,0 @@
-#ifndef _MSC_VER
-#pragma error "This header is for Microsoft VC only."
-#endif /* _MSC_VER */
-
-/* Make MSVC more pedantic, this is a recommended pragma list
- * from _Win32_Programming_ by Rector and Newcomer.
- */
-#pragma warning(error:4002) /* too many actual parameters for macro */
-#pragma warning(error:4003) /* not enough actual parameters for macro */
-#pragma warning(1:4010) /* single-line comment contains line-continuation character */
-#pragma warning(error:4013) /* 'function' undefined; assuming extern returning int */
-#pragma warning(1:4016) /* no function return type; using int as default */
-#pragma warning(error:4020) /* too many actual parameters */
-#pragma warning(error:4021) /* too few actual parameters */
-#pragma warning(error:4027) /* function declared without formal parameter list */
-#pragma warning(error:4029) /* declared formal parameter list different from definition */
-#pragma warning(error:4033) /* 'function' must return a value */
-#pragma warning(error:4035) /* 'function' : no return value */
-#pragma warning(error:4045) /* array bounds overflow */
-#pragma warning(error:4047) /* different levels of indirection */
-#pragma warning(error:4049) /* terminating line number emission */
-#pragma warning(error:4053) /* An expression of type void was used as an operand */
-#pragma warning(error:4071) /* no function prototype given */
-#pragma warning(disable:4101) /* unreferenced local variable */
-#pragma warning(error:4150)
-
-#pragma warning(disable:4244) /* No possible loss of data warnings */
-#pragma warning(disable:4305) /* No truncation from int to char warnings */
-
-#pragma warning(error:4819) /* The file contains a character that cannot be represented in the current code page */
-
-/* work around Microsoft's premature attempt to deprecate the C-Library */
-#define _CRT_SECURE_NO_WARNINGS
-#define _CRT_NONSTDC_NO_WARNINGS
diff --git a/ports/pangomm/portfile.cmake b/ports/pangomm/portfile.cmake
index 956a240461c2b5..85580c78ca5909 100644
--- a/ports/pangomm/portfile.cmake
+++ b/ports/pangomm/portfile.cmake
@@ -1,65 +1,28 @@
vcpkg_fail_port_install(ON_ARCH "arm" "arm64")
vcpkg_download_distfile(ARCHIVE
- URLS "https://ftp.gnome.org/pub/GNOME/sources/pangomm/2.40/pangomm-2.40.1.tar.xz"
- FILENAME "pangomm-2.40.1.tar.xz"
- SHA512 bed19800b76e69cc51abeb5997bdc2f687f261ebcbe36aeee51f1fbf5010a46f4b9469033c34a912502001d9985135fd5c7f7574d3de8ba33cc5832520c6aa6f
+ URLS "https://ftp.gnome.org/pub/GNOME/sources/pangomm/2.48/pangomm-2.48.0.tar.xz"
+ FILENAME "pangomm-2.48.0.tar.xz"
+ SHA512 0c1be5726740669c366214caf8b8b0bca1c7b223aafb2e6ce64f7a5a90d07c62ee509821ac787f3997ae78aa3a3ffd5cff7d33c73bc7ebd7fe642c56689d98a3
)
vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH
ARCHIVE ${ARCHIVE}
- PATCHES
- fix_properties.patch
- fix_charset.patch
)
-file(COPY ${CMAKE_CURRENT_LIST_DIR}/msvc_recommended_pragmas.h DESTINATION ${SOURCE_PATH}/MSVC_Net2013)
-
-set(VS_PLATFORM ${VCPKG_TARGET_ARCHITECTURE})
-if(${VCPKG_TARGET_ARCHITECTURE} STREQUAL x86)
- set(VS_PLATFORM "Win32")
-endif()
-
-vcpkg_build_msbuild(
- PROJECT_PATH ${SOURCE_PATH}/MSVC_Net2013/pangomm.sln
- TARGET pangomm
- PLATFORM ${VS_PLATFORM}
- USE_VCPKG_INTEGRATION
-)
-
-# Handle headers
-file(COPY ${SOURCE_PATH}/MSVC_Net2013/pangomm/pangommconfig.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
-file(COPY ${SOURCE_PATH}/pango/pangomm.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
-file(
- COPY
- ${SOURCE_PATH}/pango/pangomm
- DESTINATION ${CURRENT_PACKAGES_DIR}/include
- FILES_MATCHING PATTERN *.h
-)
-
-# Handle libraries
-file(
- COPY
- ${SOURCE_PATH}/MSVC_Net2013/Release/${VS_PLATFORM}/bin/pangomm.dll
- DESTINATION ${CURRENT_PACKAGES_DIR}/bin
-)
-file(
- COPY
- ${SOURCE_PATH}/MSVC_Net2013/Release/${VS_PLATFORM}/bin/pangomm.lib
- DESTINATION ${CURRENT_PACKAGES_DIR}/lib
-)
-file(
- COPY
- ${SOURCE_PATH}/MSVC_Net2013/Debug/${VS_PLATFORM}/bin/pangomm.dll
- DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin
-)
-file(
- COPY
- ${SOURCE_PATH}/MSVC_Net2013/Debug/${VS_PLATFORM}/bin/pangomm.lib
- DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib
+vcpkg_configure_meson(
+ SOURCE_PATH ${SOURCE_PATH}
+ OPTIONS
+ -Dmsvc14x-parallel-installable=false
+ ADDITIONAL_NATIVE_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal'
+ glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums'
+ ADDITIONAL_CROSS_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal'
+ glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums'
)
+vcpkg_install_meson()
+vcpkg_fixup_pkgconfig()
vcpkg_copy_pdbs()
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/pangomm/vcpkg.json b/ports/pangomm/vcpkg.json
new file mode 100644
index 00000000000000..9260a460fb91fd
--- /dev/null
+++ b/ports/pangomm/vcpkg.json
@@ -0,0 +1,21 @@
+{
+ "name": "pangomm",
+ "version": "2.48.0",
+ "description": "pangomm is the official C++ interface for the Pango font layout library. See, for instance, the Pango::Layout class.",
+ "homepage": "https://ftp.gnome.org/pub/GNOME/sources/pangomm",
+ "dependencies": [
+ "cairo",
+ "cairomm",
+ "fontconfig",
+ "freetype",
+ "gettext",
+ "glib",
+ {
+ "name": "glib",
+ "host": true
+ },
+ "glibmm",
+ "harfbuzz",
+ "pango"
+ ]
+}
diff --git a/ports/pixman/CMakeLists.txt b/ports/pixman/CMakeLists.txt
deleted file mode 100644
index 06643c30cf8e0c..00000000000000
--- a/ports/pixman/CMakeLists.txt
+++ /dev/null
@@ -1,87 +0,0 @@
-cmake_minimum_required(VERSION 3.0)
-project(pixman VERSION 0.34.0 LANGUAGES C)
-
-set(CMAKE_DEBUG_POSTFIX "d")
-
-if(UNIX)
- add_definitions(-DHAVE_PTHREADS)
-endif()
-
-include_directories(".")
-
-file(GLOB SOURCES
-"pixman.c"
-"pixman-access.c"
-"pixman-access-accessors.c"
-"pixman-bits-image.c"
-"pixman-combine32.c"
-"pixman-combine-float.c"
-"pixman-conical-gradient.c"
-"pixman-filter.c"
-"pixman-x86.c"
-"pixman-mips.c"
-"pixman-arm.c"
-"pixman-ppc.c"
-"pixman-edge.c"
-"pixman-edge-accessors.c"
-"pixman-fast-path.c"
-"pixman-glyph.c"
-"pixman-general.c"
-"pixman-gradient-walker.c"
-"pixman-image.c"
-"pixman-implementation.c"
-"pixman-linear-gradient.c"
-"pixman-matrix.c"
-"pixman-noop.c"
-"pixman-radial-gradient.c"
-"pixman-region16.c"
-"pixman-region32.c"
-"pixman-solid-fill.c"
-"pixman-timer.c"
-"pixman-trap.c"
-"pixman-utils.c"
-)
-
-# pixman requires the three PACKAGE* definitions in order to compile.
-set(PIXMAN_DEFS
- PRIVATE
- PACKAGE="pixman-1"
- PACKAGE_VERSION="0.34.0"
- PACKAGE_BUGREPORT=""
-)
-
-if(VCPKG_TARGET_ARCHITECTURE STREQUAL arm64 OR VCPKG_TARGET_ARCHITECTURE STREQUAL arm)
- # don't enable SSE2 for arm64-windows and arm-windows
-else()
- # The USE_SSE2 definition lets it use SSE2 instructions for speed. Every x86/64 target machine should have SSE2 these days.
- set(PIXMAN_DEFS ${PIXMAN_DEFS} USE_SSE2)
- file(GLOB SSE2_SOURCES "pixman-sse2.c")
- set(SOURCES ${SOURCES} ${SSE2_SOURCES})
-endif()
-
-add_library(pixman-1 ${SOURCES})
-target_include_directories(pixman-1 PUBLIC $)
-target_compile_definitions(pixman-1 ${PIXMAN_DEFS})
-
-if(USE_SSE2 AND UNIX AND CMAKE_SIZEOF_VOID_P EQUAL 4)
- target_compile_options(pixman-1 PRIVATE -msse2)
-endif()
-
-# pixman produces a lot of warnings which are disabled here because they otherwise fill up the log files
-if(MSVC)
- target_compile_options(pixman-1 PRIVATE "/wd4244" "/wd4146" "/wd4996") # PUBLIC "/D_CRT_SECURE_NO_WARNINGS"
-endif()
-
-install(TARGETS pixman-1
- EXPORT pixman-targets
- RUNTIME DESTINATION bin
- LIBRARY DESTINATION lib
- ARCHIVE DESTINATION lib
-)
-
-install(
- EXPORT pixman-targets
- NAMESPACE unofficial::pixman::
- FILE unofficial-pixman-config.cmake
- DESTINATION share/unofficial-pixman
-)
diff --git a/ports/pixman/CONTROL b/ports/pixman/CONTROL
deleted file mode 100644
index a9e21f833a2384..00000000000000
--- a/ports/pixman/CONTROL
+++ /dev/null
@@ -1,5 +0,0 @@
-Source: pixman
-Version: 0.38.4
-Port-Version: 2
-Homepage: https://www.cairographics.org/releases
-Description: Pixman is a low-level software library for pixel manipulation, providing features such as image compositing and trapezoid rasterization.
diff --git a/ports/pixman/portfile.cmake b/ports/pixman/portfile.cmake
index 25bbd2d04869f7..43f4f3ddbaf08b 100644
--- a/ports/pixman/portfile.cmake
+++ b/ports/pixman/portfile.cmake
@@ -1,43 +1,57 @@
-vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
-
-set(PIXMAN_VERSION 0.38.4)
+if(VCPKG_TARGET_IS_WINDOWS)
+ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) # Meson is not able to automatically export symbols for DLLs
+endif()
+
+if(VCPKG_TARGET_IS_UWP)
+ list(APPEND OPTIONS
+ -Dmmx=disabled
+ -Dsse2=disabled
+ -Dssse3=disabled)
+elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
+ set(VCPKG_CXX_FLAGS "/arch:SSE2 ${VCPKG_CXX_FLAGS}")
+ set(VCPKG_C_FLAGS "/arch:SSE2 ${VCPKG_C_FLAGS}")
+ list(APPEND OPTIONS
+ -Dmmx=enabled
+ -Dsse2=enabled
+ -Dssse3=enabled)
+elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
+ #x64 in general has all those intrinsics. (except for UWP for some reason)
+ list(APPEND OPTIONS
+ -Dmmx=enabled
+ -Dsse2=enabled
+ -Dssse3=enabled)
+elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "arm")
+ list(APPEND OPTIONS
+ #-Darm-simd=enabled does not work with arm64-windows
+ -Dmmx=disabled
+ -Dsse2=disabled
+ -Dssse3=disabled
+ )
+endif()
+
+set(PIXMAN_VERSION 0.40.0)
vcpkg_download_distfile(ARCHIVE
URLS "https://www.cairographics.org/releases/pixman-${PIXMAN_VERSION}.tar.gz"
FILENAME "pixman-${PIXMAN_VERSION}.tar.gz"
- SHA512 b66dc23c0bc7327cb90085cbc14ccf96ad58001a927f23af24e0258ca13f32d4255535862f1efcf00e9e723410aa9f51edf26fb01c8cde49379d1225acf7b5af
+ SHA512 063776e132f5d59a6d3f94497da41d6fc1c7dca0d269149c78247f0e0d7f520a25208d908cf5e421d1564889a91da44267b12d61c0bd7934cd54261729a7de5f
)
vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH
ARCHIVE ${ARCHIVE}
REF ${PIXMAN_VERSION}
+ PATCHES remove_test_demos.patch
)
-
-file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}/pixman)
-
-vcpkg_configure_cmake(
- SOURCE_PATH ${SOURCE_PATH}/pixman
- PREFER_NINJA
-)
-
-vcpkg_install_cmake()
-
-vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-pixman TARGET_PATH share/unofficial-pixman)
-
-# Copy the appropriate header files.
-file(COPY
- "${SOURCE_PATH}/pixman/pixman.h"
- "${SOURCE_PATH}/pixman/pixman-accessor.h"
- "${SOURCE_PATH}/pixman/pixman-combine32.h"
- "${SOURCE_PATH}/pixman/pixman-compiler.h"
- "${SOURCE_PATH}/pixman/pixman-edge-imp.h"
- "${SOURCE_PATH}/pixman/pixman-inlines.h"
- "${SOURCE_PATH}/pixman/pixman-private.h"
- "${SOURCE_PATH}/pixman/pixman-version.h"
- DESTINATION ${CURRENT_PACKAGES_DIR}/include
+# Meson install wrongly pkgconfig file!
+vcpkg_configure_meson(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS ${OPTIONS}
+ -Dlibpng=enabled
)
+vcpkg_install_meson()
+vcpkg_fixup_pkgconfig()
-# Handle copyright
-file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/pixman)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/pixman/COPYING ${CURRENT_PACKAGES_DIR}/share/pixman/copyright)
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
-vcpkg_copy_pdbs()
+# # Handle copyright
+file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
diff --git a/ports/pixman/remove_test_demos.patch b/ports/pixman/remove_test_demos.patch
new file mode 100644
index 00000000000000..18efbdc2f9b47d
--- /dev/null
+++ b/ports/pixman/remove_test_demos.patch
@@ -0,0 +1,15 @@
+diff --git a/meson.build b/meson.build
+index 1cec22728..fa6199ed0 100644
+--- a/meson.build
++++ b/meson.build
+@@ -528,8 +528,8 @@ version_conf.set('PIXMAN_VERSION_MICRO', split[2])
+ add_project_arguments('-DHAVE_CONFIG_H', language : ['c'])
+
+ subdir('pixman')
+-subdir('test')
+-subdir('demos')
++# subdir('test')
++# subdir('demos')
+
+ pkg = import('pkgconfig')
+ pkg.generate(
diff --git a/ports/pixman/vcpkg.json b/ports/pixman/vcpkg.json
new file mode 100644
index 00000000000000..17284edad02e9f
--- /dev/null
+++ b/ports/pixman/vcpkg.json
@@ -0,0 +1,10 @@
+{
+ "name": "pixman",
+ "version": "0.40.0",
+ "description": "Pixman is a low-level software library for pixel manipulation, providing features such as image compositing and trapezoid rasterization.",
+ "homepage": "https://www.cairographics.org/releases",
+ "dependencies": [
+ "libpng",
+ "tool-meson"
+ ]
+}
diff --git a/ports/poppler/0001-remove-CMAKE_CXX_STANDARD.patch b/ports/poppler/0001-remove-CMAKE_CXX_STANDARD.patch
deleted file mode 100644
index 8e47286c4021d9..00000000000000
--- a/ports/poppler/0001-remove-CMAKE_CXX_STANDARD.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 36fb9e11ab5b15fc003d77e7876e37339c37a55d Mon Sep 17 00:00:00 2001
-From: abc
-Date: Wed, 16 Dec 2020 22:43:36 +0800
-Subject: [PATCH 1/2] remove CMAKE_CXX_STANDARD
-
----
- CMakeLists.txt | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 1573249a..ec66b515 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -41,7 +41,6 @@ string(REGEX REPLACE "^0?(.+)$" "\\1" POPPLER_MINOR_VERSION "${POPPLER_MINOR_VER
- set(POPPLER_MICRO_VERSION "1")
- set(POPPLER_VERSION "${POPPLER_MAJOR_VERSION}.${POPPLER_MINOR_VERSION_STRING}.${POPPLER_MICRO_VERSION}")
-
--set(CMAKE_CXX_STANDARD 14)
- set(CMAKE_CXX_EXTENSIONS OFF)
- set(CMAKE_LINK_DEPENDS_NO_SHARED TRUE)
-
---
-2.29.2.windows.2
-
diff --git a/ports/poppler/portfile.cmake b/ports/poppler/portfile.cmake
index 566a309592c4da..74e8b22e269bdc 100644
--- a/ports/poppler/portfile.cmake
+++ b/ports/poppler/portfile.cmake
@@ -5,7 +5,6 @@ vcpkg_from_github(
SHA512 f692682689c0b0fcc3953a1cc157b6e1d2ce3ccab185189d6dc0807f1dd3ea2d1a9773d0b805079a30b3c8a3b0cf3ee83239ed48d7b08dc7762eba29c2033674
HEAD_REF master
PATCHES
- 0001-remove-CMAKE_CXX_STANDARD.patch
0002-remove-test-subdirectory.patch
0003-fix-gperf-not-recognized.patch
0004-disable-clang-format.patch
diff --git a/ports/poppler/vcpkg.json b/ports/poppler/vcpkg.json
index a000e3dcc753e1..b9c59fb01f00bb 100644
--- a/ports/poppler/vcpkg.json
+++ b/ports/poppler/vcpkg.json
@@ -1,7 +1,7 @@
{
"name": "poppler",
- "version-string": "20.12.1",
- "port-version": 4,
+ "version": "20.12.1",
+ "port-version": 5,
"description": "a PDF rendering library",
"homepage": "https://poppler.freedesktop.org/",
"dependencies": [
diff --git a/ports/tesseract/CONTROL b/ports/tesseract/CONTROL
deleted file mode 100644
index b43581f6bc0aae..00000000000000
--- a/ports/tesseract/CONTROL
+++ /dev/null
@@ -1,14 +0,0 @@
-Source: tesseract
-Version: 4.1.1
-Port-Version: 7
-Homepage: https://github.com/tesseract-ocr/tesseract
-Description: An OCR Engine that was developed at HP Labs between 1985 and 1995... and now at Google.
-Build-Depends: leptonica, libarchive
-Supports: !(windows&(arm|arm64))
-
-Feature: training-tools
-Description: build training tools
-Build-Depends: icu, pango, cairo, fontconfig
-
-Feature: cpu-independed
-Description: build on any cpu extension commands support
diff --git a/ports/tesseract/fix-text2image.patch b/ports/tesseract/fix-text2image.patch
deleted file mode 100644
index e9623f4ac9645d..00000000000000
--- a/ports/tesseract/fix-text2image.patch
+++ /dev/null
@@ -1,105 +0,0 @@
-diff --git a/src/training/CMakeLists.txt b/src/training/CMakeLists.txt
-index 8fd96a9..186341e 100644
---- a/src/training/CMakeLists.txt
-+++ b/src/training/CMakeLists.txt
-@@ -52,7 +52,7 @@ endif()
- # experimental
-
- if (NOT CPPAN_BUILD AND NOT SW_BUILD)
-- find_package(ICU 52.1 COMPONENTS uc i18n)
-+ find_package(ICU 52.1 REQUIRED COMPONENTS i18n uc)
- endif()
-
- ########################################
-@@ -187,6 +187,9 @@ set(unicharset_training_src
-
- )
- add_library (unicharset_training ${unicharset_training_src})
-+if(UNIX)
-+ list(APPEND ICU_LIBRARIES ${CMAKE_DL_LIBS})
-+endif()
- if (CPPAN_BUILD)
- target_link_libraries (unicharset_training common_training pvt.cppan.demo.unicode.icu.i18n)
- elseif (SW_BUILD)
-@@ -253,16 +256,27 @@ if (NOT CPPAN_BUILD AND NOT SW_BUILD)
- find_package(PkgConfig)
- endif()
-
--if (PKG_CONFIG_FOUND OR CPPAN_BUILD OR SW_BUILD)
--
--if (PKG_CONFIG_FOUND)
--pkg_check_modules(Pango REQUIRED pango>=1.22.0)
--pkg_check_modules(Cairo REQUIRED cairo)
--pkg_check_modules(PangoFt2 REQUIRED pangoft2)
--pkg_check_modules(PangoCairo REQUIRED pangocairo)
--pkg_check_modules(FontConfig REQUIRED fontconfig)
-+find_package(unofficial-cairo CONFIG REQUIRED)
-+find_package(unofficial-glib CONFIG REQUIRED)
-+find_package(Intl CONFIG REQUIRED)
-+find_package(Fontconfig REQUIRED)
-+find_package(Freetype REQUIRED)
-+if(UNIX OR BUILD_SHARED_LIBS)
-+ find_package(harfbuzz CONFIG REQUIRED)
- endif()
-
-+find_library(Pango_LIBRARY_RELEASE NAMES pango-1.0)
-+find_library(Pango_LIBRARY_DEBUG NAMES pango-1.0)
-+select_library_configurations(Pango)
-+
-+find_library(PangoFt2_LIBRARY_RELEASE NAMES pangoft2-1.0)
-+find_library(PangoFt2_LIBRARY_DEBUG NAMES pangoft2-1.0)
-+select_library_configurations(PangoFt2)
-+
-+find_library(PangoCairo_LIBRARY_RELEASE NAMES pangocairo-1.0)
-+find_library(PangoCairo_LIBRARY_DEBUG NAMES pangocairo-1.0)
-+select_library_configurations(PangoCairo)
-+
- set(text2image_src
- text2image.cpp
- boxchar.cpp
-@@ -285,16 +299,34 @@ set(text2image_src
-
- add_executable (text2image ${text2image_src})
- target_link_libraries (text2image unicharset_training)
--if (PKG_CONFIG_FOUND)
-+
- target_include_directories (text2image BEFORE PRIVATE ${Cairo_INCLUDE_DIRS} ${Pango_INCLUDE_DIRS})
- target_compile_definitions (text2image PRIVATE -DPANGO_ENABLE_ENGINE)
--target_link_libraries (text2image
-+if(UNIX OR BUILD_SHARED_LIBS)
-+ target_link_libraries (text2image
-+ ${PangoCairo_LIBRARIES}
-+ ${PangoFt2_LIBRARIES}
- ${Pango_LIBRARIES}
- ${Cairo_LIBRARIES}
-+ harfbuzz::harfbuzz
-+ Freetype::Freetype
-+ unofficial::glib::gio unofficial::glib::glib unofficial::glib::gmodule unofficial::glib::gobject
-+ unofficial::cairo::cairo unofficial::cairo::cairo-gobject
-+ ${Intl_LIBRARIES}
-+ Fontconfig::Fontconfig
-+)
-+else()
-+ target_link_libraries (text2image
- ${PangoCairo_LIBRARIES}
- ${PangoFt2_LIBRARIES}
- ${FontConfig_LIBRARIES}
--)
-+ ${Pango_LIBRARIES}
-+ Freetype::Freetype
-+ unofficial::glib::gio unofficial::glib::glib unofficial::glib::gmodule unofficial::glib::gobject
-+ unofficial::cairo::cairo unofficial::cairo::cairo-gobject
-+ ${Intl_LIBRARIES}
-+ Fontconfig::Fontconfig
-+ )
- endif()
- if (CPPAN_BUILD)
- target_link_libraries (text2image pvt.cppan.demo.gnome.pango.pangocairo)
-@@ -302,7 +334,6 @@ endif()
- project_group (text2image "Training Tools")
- install (TARGETS text2image RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib)
-
--endif()
- endif(ICU_FOUND)
-
- ###############################################################################
diff --git a/ports/tesseract/fix-training-tools.patch b/ports/tesseract/fix-training-tools.patch
deleted file mode 100644
index fd5729cb8b1e7e..00000000000000
--- a/ports/tesseract/fix-training-tools.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-diff --git a/src/training/CMakeLists.txt b/src/training/CMakeLists.txt
-index af291a5..f2e2ceb 100644
---- a/src/training/CMakeLists.txt
-+++ b/src/training/CMakeLists.txt
-@@ -63,7 +63,7 @@ endif()
- # LIBRARY tessopt
- ########################################
-
--add_library (tessopt tessopt.cpp tessopt.h)
-+add_library (tessopt STATIC tessopt.cpp tessopt.h)
- project_group (tessopt "Training Tools")
-
-
-@@ -81,7 +81,7 @@ set(common_training_src
- mastertrainer.cpp
- mastertrainer.h
- )
--add_library (common_training ${common_training_src})
-+add_library (common_training STATIC ${common_training_src})
- target_link_libraries (common_training libtesseract tessopt)
- project_group (common_training "Training Tools")
-
-@@ -196,7 +196,7 @@ set(unicharset_training_src
- validate_javanese.cpp validate_myanmar.cpp validator.cpp
-
- )
--add_library (unicharset_training ${unicharset_training_src})
-+add_library (unicharset_training STATIC ${unicharset_training_src})
- if(UNIX)
- list(APPEND ICU_LIBRARIES ${CMAKE_DL_LIBS})
- endif()
-@@ -270,7 +270,7 @@ endif()
-
- find_package(unofficial-cairo CONFIG REQUIRED)
- find_package(unofficial-glib CONFIG REQUIRED)
--find_package(Intl CONFIG REQUIRED)
-+find_package(Intl REQUIRED)
- find_package(Fontconfig REQUIRED)
- find_package(Freetype REQUIRED)
- if(UNIX OR BUILD_SHARED_LIBS)
diff --git a/ports/tesseract/portfile.cmake b/ports/tesseract/portfile.cmake
index 4f40e3ec71424d..68926f963aee4d 100644
--- a/ports/tesseract/portfile.cmake
+++ b/ports/tesseract/portfile.cmake
@@ -5,8 +5,6 @@ vcpkg_from_github(
SHA512 017723a2268be789fe98978eed02fd294968cc8050dde376dee026f56f2b99df42db935049ae5e72c4519a920e263b40af1a6a40d9942e66608145b3131a71a2
PATCHES
fix-tiff-linkage.patch
- fix-text2image.patch
- fix-training-tools.patch
)
# The built-in cmake FindICU is better
diff --git a/ports/tesseract/vcpkg.json b/ports/tesseract/vcpkg.json
new file mode 100644
index 00000000000000..4418a631100977
--- /dev/null
+++ b/ports/tesseract/vcpkg.json
@@ -0,0 +1,26 @@
+{
+ "name": "tesseract",
+ "version": "4.1.1",
+ "port-version": 8,
+ "description": "An OCR Engine that was developed at HP Labs between 1985 and 1995... and now at Google.",
+ "homepage": "https://github.com/tesseract-ocr/tesseract",
+ "supports": "!(windows & (arm | arm64))",
+ "dependencies": [
+ "leptonica",
+ "libarchive"
+ ],
+ "features": {
+ "cpu-independed": {
+ "description": "build on any cpu extension commands support"
+ },
+ "training-tools": {
+ "description": "build training tools",
+ "dependencies": [
+ "cairo",
+ "fontconfig",
+ "icu",
+ "pango"
+ ]
+ }
+ }
+}
diff --git a/ports/v8/CONTROL b/ports/v8/CONTROL
deleted file mode 100644
index a65e6ccd26d76c..00000000000000
--- a/ports/v8/CONTROL
+++ /dev/null
@@ -1,6 +0,0 @@
-Source: v8
-Version: 9.0.257.17
-Homepage: https://v8.dev
-Description: Google Chrome's JavaScript engine
-Build-Depends: icu, zlib, glib (linux), pthread (linux)
-Supports: !(arm|arm64|uwp|osx)
diff --git a/ports/v8/V8Config-static.cmake b/ports/v8/V8Config-static.cmake
index 305668216f2b03..6a47593efb6ded 100644
--- a/ports/v8/V8Config-static.cmake
+++ b/ports/v8/V8Config-static.cmake
@@ -2,12 +2,13 @@ include(CMakeFindDependencyMacro)
find_dependency(ICU REQUIRED COMPONENTS in uc dt)
find_dependency(ZLIB REQUIRED)
if(UNIX)
- find_package(unofficial-glib CONFIG REQUIRED)
+ find_package(PkgConfig REQUIRED)
+ pkg_check_modules(GLIB2 glib-2.0 gobject-2.0 gmodule-2.0 gio-2.0 IMPORTED_TARGET)
set(V8_IMPORTED_LINK_INTERFACE_LIBRARIES
- "ICU::in;ICU::uc;ICU::dt;unofficial::glib::gmodule;unofficial::glib::gobject;unofficial::glib::gthread;ZLIB::ZLIB")
+ "ICU::in;ICU::uc;ICU::dt;ZLIB::ZLIB")
elseif(WIN32)
set(V8_IMPORTED_LINK_INTERFACE_LIBRARIES
- "Winmm;DbgHelp;ZLIB::ZLIB;ICU::in;ICU::uc;ICU::dt")
+ "Winmm;DbgHelp;ZLIB::ZLIB;PkgConfig::GLIB2;ICU::in;ICU::uc;ICU::dt")
endif()
get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
diff --git a/ports/v8/vcpkg.json b/ports/v8/vcpkg.json
new file mode 100644
index 00000000000000..54a25d578610da
--- /dev/null
+++ b/ports/v8/vcpkg.json
@@ -0,0 +1,20 @@
+{
+ "name": "v8",
+ "version-string": "9.0.257.17",
+ "port-version": 1,
+ "description": "Google Chrome's JavaScript engine",
+ "homepage": "https://v8.dev",
+ "supports": "!(arm | arm64 | uwp | osx)",
+ "dependencies": [
+ {
+ "name": "glib",
+ "platform": "linux"
+ },
+ "icu",
+ {
+ "name": "pthread",
+ "platform": "linux"
+ },
+ "zlib"
+ ]
+}
diff --git a/scripts/buildsystems/make_wrapper/cl_cpp_wrapper b/scripts/buildsystems/make_wrapper/cl_cpp_wrapper
new file mode 100644
index 00000000000000..32fde518f580a4
--- /dev/null
+++ b/scripts/buildsystems/make_wrapper/cl_cpp_wrapper
@@ -0,0 +1,104 @@
+#!/usr/bin/bash
+# cl_cpp_wrapper
+# Wrapper around MS's cl.exe to make it act more like Unix cpp
+
+PATH="$PATH:/usr/bin"
+
+case $MACHTYPE in
+ *-msys)
+ slash="-"
+ ;;
+ *)
+ slash="/"
+ ;;
+esac
+
+# prog specifies the program that should be run cl.exe
+prog=cl.exe
+debug=
+cppopt=("${slash}nologo")
+cppopt+=("${slash}E")
+verbose=
+shared_index=-1
+
+processargs()
+{
+### Run through every option and convert it to the proper MS one
+while test $# -gt 0; do
+ case "$1" in
+ -D*) optarg= ;;
+ -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) optarg= ;;
+ esac
+ gotparam=1
+ case "$1" in
+ --help)
+ usage
+ exit 0
+ ;;
+ --verbose)
+ verbose=1
+ ;;
+ -*)
+ # Remaining '-' options are passed to the compiler
+ if test x$optarg != x ; then
+ cppopt+=("${slash}${1:1}=$optarg")
+ else
+ cppopt+=("${slash}${1:1}")
+ fi
+ ;;
+
+ /*)
+ # All '/' options are assumed to be for cpp and are passed through
+ cppopt+=("${slash}${1:1}")
+ ;;
+
+ *)
+ file=$1
+ #cppopt+=("$1")
+ ;;
+ esac
+ shift
+done
+}
+
+# Whitespace in paths is dealt with by setting IFS and using bash arrays
+
+# processargs $CPP_FLAGS
+IFS=""
+processargs $@
+
+if test x$V = x1 ; then
+ verbose=1
+fi
+
+if test -n "$verbose" ; then
+ echo -n "$prog"
+ for opt in "${cppopt[@]}" ; do
+ echo -n " \"$opt\""
+ done
+ echo ""
+fi
+
+[ $# -ge 1 -a -f "$1" ] && input="$file" || input="-"
+
+input_file="${file:-/proc/self/fd/0}"
+if [ "$input_file" == "/proc/self/fd/0" ]; then
+ #echo "STDIN"
+ # CL does not support reading from STDIN so it is wrapped here.
+ tmpout=cpp_wrapper_$RANDOM.h
+ /usr/bin/cp $input_file $tmpout
+ # from https://stackoverflow.com/questions/36313562/how-to-redirect-stdin-to-file-in-bash
+ #exec 3> cppstdtmp.h
+ #while IFS= read -r line; do
+ # printf '%s' "$line"
+ #done
+ #exec 3<&-
+ #echo "$( cppstdtmp.h
+ exec $prog ${cppopt[@]} $tmpout
+ rm -f $tmpout
+else
+ #echo "FILE"
+ exec $prog ${cppopt[@]} $input_file
+fi
+
diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt
index f70af91f3de116..8785ccb9f12300 100644
--- a/scripts/ci.baseline.txt
+++ b/scripts/ci.baseline.txt
@@ -74,7 +74,8 @@ caf:arm64-windows=fail
caf:x64-uwp=fail
caffe2:x86-windows=fail
caffe2:arm64-windows=fail
-cairomm:x64-linux=fail
+# Requires VM update for gtk-doc
+cairo:x64-osx=fail
c-ares:arm-uwp=fail
c-ares:x64-uwp=fail
cartographer:x64-osx=fail
@@ -401,7 +402,6 @@ glfw3:arm-uwp=fail
glfw3:x64-uwp=fail
glib:x64-uwp=fail
glib:x64-windows-static=fail
-glib:x64-osx=fail
gmmlib:arm64-windows=fail
gmmlib:arm-uwp=fail
gmmlib:x64-osx=fail
@@ -427,8 +427,8 @@ graphqlparser:arm-uwp=fail
graphqlparser:x64-uwp=fail
gsl:arm-uwp=fail
gsl:x64-uwp=fail
-# https://github.com/microsoft/vcpkg/pull/11048
-gtk:x64-linux=fail
+gtkmm:x64-linux=fail
+gts:x64-osx=fail
guetzli:x64-osx=fail
h3:arm64-windows=fail
h3:arm-uwp=fail
@@ -537,6 +537,7 @@ lastools:arm-uwp=fail
lastools:x64-uwp=fail
laszip:arm-uwp=fail
laszip:x64-uwp=fail
+lcm:x64-osx=fail
leptonica:x64-uwp=fail
leptonica:arm-uwp=fail
leveldb:arm-uwp=fail
@@ -567,6 +568,9 @@ libcopp:arm64-windows=fail
libcopp:arm-uwp=fail
libcrafter:x86-windows=fail
libcrafter:x64-windows=fail
+# Missing system libraries on linux to run/prepare autoconf
+libgpod:x64-linux=fail
+libgpod:x64-osx=fail
libcrafter:x64-windows-static-md=fail
cpuid:arm-uwp=fail
cpuid:x64-uwp=fail
@@ -1166,6 +1170,7 @@ openmpi:x86-windows=fail
openni2:x64-uwp=fail
openni2:x64-windows-static=fail
openscap:x64-linux=fail
+openscap:x64-osx=fail
openssl-unix:arm64-windows=fail
openssl-unix:arm-uwp=fail
openssl-unix:x64-uwp=fail
@@ -1207,7 +1212,6 @@ orocos-kdl:arm-uwp=fail
orocos-kdl:x64-uwp=fail
paho-mqtt:arm-uwp=fail
paho-mqtt:x64-uwp=fail
-pangomm:x64-osx=fail
pangomm:arm64-windows=fail
parmetis:x64-linux=fail
parmetis:x64-osx=fail
@@ -1247,6 +1251,7 @@ pixel:x64-windows=fail
pixel:x64-windows-static=fail
pixel:x64-windows-static-md=fail
pixel:x86-windows=fail
+pixman:arm-uwp=fail
platform-folders:arm-uwp=fail
platform-folders:x64-uwp=fail
plib:arm-uwp=fail
diff --git a/versions/a-/atk.json b/versions/a-/atk.json
index 163f0e3aed978e..996b6367fb9d97 100644
--- a/versions/a-/atk.json
+++ b/versions/a-/atk.json
@@ -1,5 +1,10 @@
{
"versions": [
+ {
+ "git-tree": "b8ace143cf9715262f419c85a5840fa15a4cf0ce",
+ "version": "2.36.0",
+ "port-version": 0
+ },
{
"git-tree": "28ffcc285239b3ca0d99752bc740f9349f996ad1",
"version-string": "2.24.0-5",
diff --git a/versions/a-/atkmm.json b/versions/a-/atkmm.json
index e239881ae79757..2f5195231d040e 100644
--- a/versions/a-/atkmm.json
+++ b/versions/a-/atkmm.json
@@ -1,5 +1,10 @@
{
"versions": [
+ {
+ "git-tree": "1feae8dc89c99e89b47bb8a028cca2e77d9d4352",
+ "version": "2.36.0",
+ "port-version": 0
+ },
{
"git-tree": "6147b7b2b6af5fac8a05e48cb4e624fb2fdde235",
"version-string": "2.24.2",
diff --git a/versions/baseline.json b/versions/baseline.json
index a6d75aacff675f..5d70c0fac10647 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -177,12 +177,12 @@
"port-version": 0
},
"atk": {
- "baseline": "2.24.0-5",
- "port-version": 2
+ "baseline": "2.36.0",
+ "port-version": 0
},
"atkmm": {
- "baseline": "2.24.2",
- "port-version": 5
+ "baseline": "2.36.0",
+ "port-version": 0
},
"atlmfc": {
"baseline": "0",
@@ -1082,11 +1082,11 @@
},
"cairo": {
"baseline": "1.16.0",
- "port-version": 10
+ "port-version": 11
},
"cairomm": {
- "baseline": "1.15.3",
- "port-version": 6
+ "baseline": "1.16.0",
+ "port-version": 0
},
"camport3": {
"baseline": "1.5.3",
@@ -1101,8 +1101,8 @@
"port-version": 1
},
"cartographer": {
- "baseline": "1.0.0-3",
- "port-version": 0
+ "baseline": "1.0.0",
+ "port-version": 4
},
"casclib": {
"baseline": "1.50b-1",
@@ -2169,8 +2169,8 @@
"port-version": 0
},
"gdk-pixbuf": {
- "baseline": "2.36.9-5",
- "port-version": 7
+ "baseline": "2.42.2",
+ "port-version": 0
},
"genann": {
"baseline": "2019-07-10",
@@ -2261,12 +2261,12 @@
"port-version": 0
},
"glib": {
- "baseline": "2.52.3",
- "port-version": 27
+ "baseline": "2.66.4",
+ "port-version": 0
},
"glibmm": {
- "baseline": "2.52.1",
- "port-version": 14
+ "baseline": "2.68.0",
+ "port-version": 0
},
"glm": {
"baseline": "0.9.9.8",
@@ -2294,7 +2294,7 @@
},
"gmime": {
"baseline": "3.2.6",
- "port-version": 1
+ "port-version": 2
},
"gmmlib": {
"baseline": "20.3.1",
@@ -2338,7 +2338,7 @@
},
"graphene": {
"baseline": "1.10.2",
- "port-version": 0
+ "port-version": 1
},
"graphicsmagick": {
"baseline": "1.3.36",
@@ -2381,16 +2381,16 @@
"port-version": 4
},
"gtk": {
- "baseline": "3.22.19-4",
+ "baseline": "4.0.1",
"port-version": 0
},
"gtkmm": {
- "baseline": "3.22.2",
- "port-version": 5
+ "baseline": "4.0.0",
+ "port-version": 0
},
"gts": {
- "baseline": "0.7.6-3",
- "port-version": 0
+ "baseline": "0.7.6",
+ "port-version": 4
},
"guetzli": {
"baseline": "2020-09-14",
@@ -2422,7 +2422,7 @@
},
"harfbuzz": {
"baseline": "2.7.4",
- "port-version": 1
+ "port-version": 2
},
"hayai": {
"baseline": "2019-08-10",
@@ -2522,7 +2522,7 @@
},
"ignition-cmake2": {
"baseline": "2.5.0",
- "port-version": 0
+ "port-version": 1
},
"ignition-common1": {
"baseline": "1.1.1-1",
@@ -2646,7 +2646,7 @@
},
"io2d": {
"baseline": "2020-09-14",
- "port-version": 1
+ "port-version": 2
},
"irrlicht": {
"baseline": "1.8.4-10",
@@ -2902,7 +2902,7 @@
},
"lcm": {
"baseline": "1.4.0",
- "port-version": 1
+ "port-version": 2
},
"lcms": {
"baseline": "2.11",
@@ -3002,7 +3002,7 @@
},
"libcroco": {
"baseline": "0.6.13",
- "port-version": 2
+ "port-version": 3
},
"libcuckoo": {
"baseline": "0.3",
@@ -3114,7 +3114,7 @@
},
"libgpod": {
"baseline": "2019-08-29",
- "port-version": 2
+ "port-version": 3
},
"libgta": {
"baseline": "1.0.8-1",
@@ -3254,7 +3254,7 @@
},
"libmicrohttpd": {
"baseline": "0.9.63",
- "port-version": 4
+ "port-version": 5
},
"libmikmod": {
"baseline": "3.3.11.1-8",
@@ -3298,7 +3298,7 @@
},
"libnice": {
"baseline": "0.1.15",
- "port-version": 6
+ "port-version": 7
},
"libnoise": {
"baseline": "1.0.0",
@@ -3370,7 +3370,7 @@
},
"libplist": {
"baseline": "1.3.6",
- "port-version": 0
+ "port-version": 1
},
"libpmemobj-cpp": {
"baseline": "1.12",
@@ -3433,8 +3433,8 @@
"port-version": 3
},
"librsvg": {
- "baseline": "2.40.20-2",
- "port-version": 0
+ "baseline": "2.40.20",
+ "port-version": 3
},
"librsync": {
"baseline": "2020-09-16",
@@ -3461,12 +3461,12 @@
"port-version": 0
},
"libsigcpp": {
- "baseline": "2.10-3",
- "port-version": 2
+ "baseline": "3.0.3",
+ "port-version": 0
},
"libsigcpp-3": {
"baseline": "3.0.3",
- "port-version": 0
+ "port-version": 1
},
"libsndfile": {
"baseline": "1.0.31",
@@ -3641,8 +3641,8 @@
"port-version": 0
},
"libxmlpp": {
- "baseline": "2.40.1",
- "port-version": 8
+ "baseline": "5.0.0",
+ "port-version": 0
},
"libxmp-lite": {
"baseline": "4.4.1-6",
@@ -4633,16 +4633,16 @@
"port-version": 0
},
"pango": {
- "baseline": "1.40.11",
- "port-version": 9
+ "baseline": "1.48.0",
+ "port-version": 0
},
"pangolin": {
"baseline": "0.5",
"port-version": 15
},
"pangomm": {
- "baseline": "2.40.1",
- "port-version": 4
+ "baseline": "2.48.0",
+ "port-version": 0
},
"parallel-hashmap": {
"baseline": "1.32",
@@ -4757,8 +4757,8 @@
"port-version": 0
},
"pixman": {
- "baseline": "0.38.4",
- "port-version": 2
+ "baseline": "0.40.0",
+ "port-version": 0
},
"platform-folders": {
"baseline": "4.0.0",
@@ -4842,7 +4842,7 @@
},
"poppler": {
"baseline": "20.12.1",
- "port-version": 4
+ "port-version": 5
},
"popsift": {
"baseline": "0.9",
@@ -5930,7 +5930,7 @@
},
"tesseract": {
"baseline": "4.1.1",
- "port-version": 7
+ "port-version": 8
},
"tfhe": {
"baseline": "1.0.1-1",
@@ -6266,7 +6266,7 @@
},
"v8": {
"baseline": "9.0.257.17",
- "port-version": 0
+ "port-version": 1
},
"valijson": {
"baseline": "2018-11-17-1",
diff --git a/versions/c-/cairo.json b/versions/c-/cairo.json
index 833baaa4ea372a..c31cbcbb55d8b4 100644
--- a/versions/c-/cairo.json
+++ b/versions/c-/cairo.json
@@ -1,5 +1,10 @@
{
"versions": [
+ {
+ "git-tree": "f5e2e3535796b2fb785709ae2273c1243b4aa2fc",
+ "version": "1.16.0",
+ "port-version": 11
+ },
{
"git-tree": "aa8df97c4b06bf590dc04ad931a08f0bf1e47471",
"version-string": "1.16.0",
diff --git a/versions/c-/cairomm.json b/versions/c-/cairomm.json
index eb60a9dcf9fa39..d56ab293ba059c 100644
--- a/versions/c-/cairomm.json
+++ b/versions/c-/cairomm.json
@@ -1,5 +1,10 @@
{
"versions": [
+ {
+ "git-tree": "0e16b66d1552c1cbda240f8a11d65895c607e6b5",
+ "version": "1.16.0",
+ "port-version": 0
+ },
{
"git-tree": "208a6f99a6fbc0239696b79653d769568ca603cc",
"version-string": "1.15.3",
diff --git a/versions/c-/cartographer.json b/versions/c-/cartographer.json
index 71eb9875c12507..6f59ae5c237a6f 100644
--- a/versions/c-/cartographer.json
+++ b/versions/c-/cartographer.json
@@ -1,5 +1,10 @@
{
"versions": [
+ {
+ "git-tree": "ec66f22ef7f9e652008269b8419a34350d97accf",
+ "version": "1.0.0",
+ "port-version": 4
+ },
{
"git-tree": "1bd9454fd218a1755ab651e97769f69b2d2fc315",
"version-string": "1.0.0-3",
diff --git a/versions/g-/gdk-pixbuf.json b/versions/g-/gdk-pixbuf.json
index b97d4dc18f7215..60824653dd46b6 100644
--- a/versions/g-/gdk-pixbuf.json
+++ b/versions/g-/gdk-pixbuf.json
@@ -1,5 +1,10 @@
{
"versions": [
+ {
+ "git-tree": "609b77f244ec0d76aac5616cd8654dfcbc608297",
+ "version": "2.42.2",
+ "port-version": 0
+ },
{
"git-tree": "f6d6e3ba09cf7cf29266570a1b6315f406ca5b09",
"version-string": "2.36.9-5",
diff --git a/versions/g-/glib.json b/versions/g-/glib.json
index 6c9cbdbe7c99b2..a29fcb758d13e2 100644
--- a/versions/g-/glib.json
+++ b/versions/g-/glib.json
@@ -1,5 +1,10 @@
{
"versions": [
+ {
+ "git-tree": "341ab01f1a30e270603af6d2b934df9c68673a56",
+ "version": "2.66.4",
+ "port-version": 0
+ },
{
"git-tree": "715922ed1f6f71651f144fbe59d9aab441bd4b10",
"version-string": "2.52.3",
diff --git a/versions/g-/glibmm.json b/versions/g-/glibmm.json
index 4cf69bdaf52f74..d2a5d666801d5e 100644
--- a/versions/g-/glibmm.json
+++ b/versions/g-/glibmm.json
@@ -1,5 +1,10 @@
{
"versions": [
+ {
+ "git-tree": "6074f2bdadef39758cbfc1238b03dc5051bf774d",
+ "version": "2.68.0",
+ "port-version": 0
+ },
{
"git-tree": "14ee726ce8905eca50e9cc6d5a478d9401c5954e",
"version-string": "2.52.1",
diff --git a/versions/g-/gmime.json b/versions/g-/gmime.json
index 2e7e8725fd3c3e..a2c2c75ccd52fb 100644
--- a/versions/g-/gmime.json
+++ b/versions/g-/gmime.json
@@ -1,5 +1,10 @@
{
"versions": [
+ {
+ "git-tree": "149f972ffe6870c4480e0700e8446f1d1dd358eb",
+ "version": "3.2.6",
+ "port-version": 2
+ },
{
"git-tree": "b44824b9edf5ce5c9870802facff3f3097b7977c",
"version-string": "3.2.6",
diff --git a/versions/g-/graphene.json b/versions/g-/graphene.json
index 3ebae9736547c3..2a1efbf32a4a3a 100644
--- a/versions/g-/graphene.json
+++ b/versions/g-/graphene.json
@@ -1,5 +1,10 @@
{
"versions": [
+ {
+ "git-tree": "1cd3ae48053d2f9b26c2ee6e2e01a413ea6bd0d2",
+ "version": "1.10.2",
+ "port-version": 1
+ },
{
"git-tree": "002959491c215c722047465a93b05d078d743864",
"version-string": "1.10.2",
diff --git a/versions/g-/gtk.json b/versions/g-/gtk.json
index f56dba6ffdc30e..8641efa67931fa 100644
--- a/versions/g-/gtk.json
+++ b/versions/g-/gtk.json
@@ -1,5 +1,10 @@
{
"versions": [
+ {
+ "git-tree": "5df8abca385bd61477f2da4217d0a88c3659db82",
+ "version": "4.0.1",
+ "port-version": 0
+ },
{
"git-tree": "da7eb978b76a72cf192b98a2740cbfbd23b50bb5",
"version-string": "3.22.19-4",
diff --git a/versions/g-/gtkmm.json b/versions/g-/gtkmm.json
index 3b53b748c7077b..4ca4b634282208 100644
--- a/versions/g-/gtkmm.json
+++ b/versions/g-/gtkmm.json
@@ -1,5 +1,10 @@
{
"versions": [
+ {
+ "git-tree": "9ba1569a4f12bb1a9aab5fe14c6f6ae23cea20f8",
+ "version": "4.0.0",
+ "port-version": 0
+ },
{
"git-tree": "3db7e5662e816c4a10a625f31a4aa77b2331b2fd",
"version-string": "3.22.2",
diff --git a/versions/g-/gts.json b/versions/g-/gts.json
index 536f7229e8a253..3ac6eb676ddb94 100644
--- a/versions/g-/gts.json
+++ b/versions/g-/gts.json
@@ -1,5 +1,10 @@
{
"versions": [
+ {
+ "git-tree": "e2e045b3685112306e5fcbd493ea6f97fb35a501",
+ "version": "0.7.6",
+ "port-version": 4
+ },
{
"git-tree": "d353bfe6f51567882c443a76763f94a7f7290563",
"version-string": "0.7.6-3",
diff --git a/versions/h-/harfbuzz.json b/versions/h-/harfbuzz.json
index 7bdb4e94c9a0f2..c42f365a15f346 100644
--- a/versions/h-/harfbuzz.json
+++ b/versions/h-/harfbuzz.json
@@ -1,5 +1,10 @@
{
"versions": [
+ {
+ "git-tree": "3f1e0749ade6fb27bbb6103e1faab23b2719dcda",
+ "version": "2.7.4",
+ "port-version": 2
+ },
{
"git-tree": "e985af9b39fb57ee491c1a773c43334665ddb3d3",
"version-string": "2.7.4",
diff --git a/versions/i-/ignition-cmake2.json b/versions/i-/ignition-cmake2.json
index f229c494bdb39e..42b3ed6132b782 100644
--- a/versions/i-/ignition-cmake2.json
+++ b/versions/i-/ignition-cmake2.json
@@ -1,5 +1,10 @@
{
"versions": [
+ {
+ "git-tree": "6c12bb698575d2b7cff16d177c2601ab195041fa",
+ "version": "2.5.0",
+ "port-version": 1
+ },
{
"git-tree": "79ed070b59395cdd29bbc781269be3eb1d26bfda",
"version-string": "2.5.0",
diff --git a/versions/i-/io2d.json b/versions/i-/io2d.json
index dd9370afdbb5b8..2d2a519c965d4f 100644
--- a/versions/i-/io2d.json
+++ b/versions/i-/io2d.json
@@ -1,5 +1,10 @@
{
"versions": [
+ {
+ "git-tree": "b2307aa077fedc3960898d59e9512416be69d25f",
+ "version-date": "2020-09-14",
+ "port-version": 2
+ },
{
"git-tree": "4e68bb018148f239aaccd4bfbc24f6a60c344cd6",
"version-string": "2020-09-14",
diff --git a/versions/l-/lcm.json b/versions/l-/lcm.json
index fef7df868650a2..a0cb98da0626b5 100644
--- a/versions/l-/lcm.json
+++ b/versions/l-/lcm.json
@@ -1,5 +1,10 @@
{
"versions": [
+ {
+ "git-tree": "2094a87ea105e0b1d78db96519581cda97d527e2",
+ "version": "1.4.0",
+ "port-version": 2
+ },
{
"git-tree": "0b549ce3154b5c20db2e2ffaec65b3d1d80705ab",
"version-string": "1.4.0",
diff --git a/versions/l-/libcroco.json b/versions/l-/libcroco.json
index 698b3aa5e5e7c7..8a70fca46f44ef 100644
--- a/versions/l-/libcroco.json
+++ b/versions/l-/libcroco.json
@@ -1,5 +1,10 @@
{
"versions": [
+ {
+ "git-tree": "6235588ad9552c72690a152a0e4e108f0f7d1d64",
+ "version": "0.6.13",
+ "port-version": 3
+ },
{
"git-tree": "b561e15c4bff9ec1fcebcf150f10aa343ce8659f",
"version-string": "0.6.13",
diff --git a/versions/l-/libgpod.json b/versions/l-/libgpod.json
index a9f78ea687d836..09cdc08bd65a7f 100644
--- a/versions/l-/libgpod.json
+++ b/versions/l-/libgpod.json
@@ -1,5 +1,10 @@
{
"versions": [
+ {
+ "git-tree": "5adfcf9af0bb6d32ba1d2f28df12216795406115",
+ "version-date": "2019-08-29",
+ "port-version": 3
+ },
{
"git-tree": "1cd0507330bb60a05e40c4761afd8e687a43b44e",
"version-string": "2019-08-29",
diff --git a/versions/l-/libmicrohttpd.json b/versions/l-/libmicrohttpd.json
index dc63982f4d9d8c..14d69f741cc0f7 100644
--- a/versions/l-/libmicrohttpd.json
+++ b/versions/l-/libmicrohttpd.json
@@ -1,5 +1,10 @@
{
"versions": [
+ {
+ "git-tree": "da43ec88147e3aa99a5d4e7378f0011a92a25ad2",
+ "version-string": "0.9.63",
+ "port-version": 5
+ },
{
"git-tree": "cac6e4ea3735af7edab56f44c788bb01c987f2cf",
"version-string": "0.9.63",
diff --git a/versions/l-/libnice.json b/versions/l-/libnice.json
index 8da130a656e44f..a6b3d01b0e7383 100644
--- a/versions/l-/libnice.json
+++ b/versions/l-/libnice.json
@@ -1,5 +1,10 @@
{
"versions": [
+ {
+ "git-tree": "5149e313236cfc0ae0e7352e6d151559564bd657",
+ "version": "0.1.15",
+ "port-version": 7
+ },
{
"git-tree": "bc6867011695c2bf8e1d0f0d5b23f1f7f519c0a8",
"version-string": "0.1.15",
diff --git a/versions/l-/libplist.json b/versions/l-/libplist.json
index ad060ee201e27a..7cc06986502d29 100644
--- a/versions/l-/libplist.json
+++ b/versions/l-/libplist.json
@@ -1,5 +1,10 @@
{
"versions": [
+ {
+ "git-tree": "75eb83284f3361bf04af84e67e0ed0439432c3f5",
+ "version": "1.3.6",
+ "port-version": 1
+ },
{
"git-tree": "cc421616ea793446b014a26c4132c4648372e398",
"version-string": "1.3.6",
diff --git a/versions/l-/librsvg.json b/versions/l-/librsvg.json
index 8ec19294d84978..dd7bd19b72388f 100644
--- a/versions/l-/librsvg.json
+++ b/versions/l-/librsvg.json
@@ -1,5 +1,10 @@
{
"versions": [
+ {
+ "git-tree": "0de6b9c0d9dc0ada7b9223669bb08e9ef146aa7a",
+ "version": "2.40.20",
+ "port-version": 3
+ },
{
"git-tree": "a2517e6695683ed935c8b0e5f4690c51fc2390cb",
"version-string": "2.40.20-2",
diff --git a/versions/l-/libsigcpp-3.json b/versions/l-/libsigcpp-3.json
index 2ac14dd336ea2e..a81ecd827baf29 100644
--- a/versions/l-/libsigcpp-3.json
+++ b/versions/l-/libsigcpp-3.json
@@ -1,5 +1,10 @@
{
"versions": [
+ {
+ "git-tree": "62a25fda6418ec8fcf938d39662062aee707edb1",
+ "version": "3.0.3",
+ "port-version": 1
+ },
{
"git-tree": "6956e6da9d0cd0c772810b1ec9bc7815d44474f5",
"version-string": "3.0.3",
diff --git a/versions/l-/libsigcpp.json b/versions/l-/libsigcpp.json
index 8b666ff86ef141..52173cb9034c9e 100644
--- a/versions/l-/libsigcpp.json
+++ b/versions/l-/libsigcpp.json
@@ -1,5 +1,10 @@
{
"versions": [
+ {
+ "git-tree": "398cf35cc5235b326dda845e568295841aecc461",
+ "version": "3.0.3",
+ "port-version": 0
+ },
{
"git-tree": "01d944fb87f11bec271ba87fe808b5949603f32e",
"version-string": "2.10-3",
diff --git a/versions/l-/libxmlpp.json b/versions/l-/libxmlpp.json
index 0bdfeffe82817a..843b85447034a5 100644
--- a/versions/l-/libxmlpp.json
+++ b/versions/l-/libxmlpp.json
@@ -1,5 +1,10 @@
{
"versions": [
+ {
+ "git-tree": "f70632020762c80c63290e7f627e00a0614c0d06",
+ "version": "5.0.0",
+ "port-version": 0
+ },
{
"git-tree": "cf3bbc6a0547601cd247497eb4778f11b16c6839",
"version-string": "2.40.1",
diff --git a/versions/p-/pango.json b/versions/p-/pango.json
index 45c690134486d1..016bed13ac0901 100644
--- a/versions/p-/pango.json
+++ b/versions/p-/pango.json
@@ -1,5 +1,10 @@
{
"versions": [
+ {
+ "git-tree": "9369409e9dfac69c6eaa6ed5862178dc0d71680f",
+ "version": "1.48.0",
+ "port-version": 0
+ },
{
"git-tree": "6b8dd172fe2f62afd4508431bd89c50d2510e997",
"version-string": "1.40.11",
diff --git a/versions/p-/pangomm.json b/versions/p-/pangomm.json
index 5bca77f4691273..58e56d91347bca 100644
--- a/versions/p-/pangomm.json
+++ b/versions/p-/pangomm.json
@@ -1,5 +1,10 @@
{
"versions": [
+ {
+ "git-tree": "d751b0dbf773ade4811729e3a55a8828dac8a78a",
+ "version": "2.48.0",
+ "port-version": 0
+ },
{
"git-tree": "8b74ee567be2a328e81e5afa8a29563b052e846c",
"version-string": "2.40.1",
diff --git a/versions/p-/pixman.json b/versions/p-/pixman.json
index 6daee6513416f1..9d4faf2fd5ada0 100644
--- a/versions/p-/pixman.json
+++ b/versions/p-/pixman.json
@@ -1,5 +1,10 @@
{
"versions": [
+ {
+ "git-tree": "9fa31a3aa7682c205028903d0b2d2df269a95db5",
+ "version": "0.40.0",
+ "port-version": 0
+ },
{
"git-tree": "3cb6610f632460553bb2ae5fe3838e15880dc7e2",
"version-string": "0.38.4",
diff --git a/versions/p-/poppler.json b/versions/p-/poppler.json
index aa5ea95145df5f..4ee0511e4a0e8d 100644
--- a/versions/p-/poppler.json
+++ b/versions/p-/poppler.json
@@ -1,5 +1,10 @@
{
"versions": [
+ {
+ "git-tree": "a864cfe9349a7922e6ce0d44a28f6845a40597e0",
+ "version": "20.12.1",
+ "port-version": 5
+ },
{
"git-tree": "39df7895fae1b7440dd7c453679f6e0d782a8a5a",
"version-string": "20.12.1",
diff --git a/versions/t-/tesseract.json b/versions/t-/tesseract.json
index 6fa7f4fa614b18..08d629cf1c986e 100644
--- a/versions/t-/tesseract.json
+++ b/versions/t-/tesseract.json
@@ -1,5 +1,10 @@
{
"versions": [
+ {
+ "git-tree": "f0ab88788617df5c670d6c372f431a0356713d3d",
+ "version": "4.1.1",
+ "port-version": 8
+ },
{
"git-tree": "486def9d5e02e287825fb8a27227f2b965a3e109",
"version-string": "4.1.1",
diff --git a/versions/v-/v8.json b/versions/v-/v8.json
index b74a8df5c39690..06644fc6763b11 100644
--- a/versions/v-/v8.json
+++ b/versions/v-/v8.json
@@ -1,5 +1,10 @@
{
"versions": [
+ {
+ "git-tree": "4c95acd67f1f8b99aada4af754b4608c9ee80661",
+ "version-string": "9.0.257.17",
+ "port-version": 1
+ },
{
"git-tree": "6c755ec3da82205827403e58b0dbaa1549334a3a",
"version-string": "9.0.257.17",