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",