aboutsummaryrefslogtreecommitdiff
path: root/ports/glib
diff options
context:
space:
mode:
authorAlexander Neumann <30894796+Neumann-A@users.noreply.github.com>2021-04-26 19:28:21 +0200
committerGitHub <noreply@github.com>2021-04-26 10:28:21 -0700
commit546813ae7b9e2873dd3d38e78b27ac5582feae10 (patch)
tree6acb3bf022bf9060c70c0665d3586bb33a60f4d9 /ports/glib
parenta9b27ed5dffbf70b135eddb0c4729f3ca87f106c (diff)
downloadvcpkg-546813ae7b9e2873dd3d38e78b27ac5582feae10.tar.gz
vcpkg-546813ae7b9e2873dd3d38e78b27ac5582feae10.zip
[glib up to gtk] update and make it work with meson (#13100)
* update glib to meson * update ci baseline * update glib to 2.66.3 remove cmakelists * fix some minor meson issue but meson is still a mess * add_bin_to_path to vcpkg_install_meson * regen docs * try fixing/touching all glib dependent ports * fix libsigcpp-3 version * fix glibmm * fix gmime * fix libcroco * update libnice * fix atk build * update harfbuzz * fix few builds * update libxmlpp * fix gdk-pixbuf * fix gts * gts add patch * remove old libsigcpp * add missing comma * fix supports logic * fix name mismatch * restore original ci baseline. * fix a lot of small details. increment controls. * fix harfbuzz & glib * bump port version * update port_versions * fix version field * update versions * fix glib in harfbuzz * update port versions * silly uppercase type * update port-versions * fix cairo build * update version * fix atk * update atk port-verisons * fix gts public includes * update versions * fix cairomm * fix pango * fix ignition * update versions. * fix gtk * fix librsvg * update versions * fix atk linux * fix libgpod * update versions * fix lcm * fix librsvg * update pango and pangomm * update pango to meson * more updates * update pixman * fix cairo * fix cairo * some fixes * reorder meson a bit * add none.txt for meson * fix x86_x64 to x86 "cross" builds * add tiff pkgconfig * update gdk-pixbuf * fix tiff and jpeg * add graphene * fix gdk-pixbuf * add sassc * update gtk * fix cairo complete build * add harfbuzz inlcude in pango since meson does not add it into pkgconfig. * fix gtk build. Remaining issue fix install script. * fix gtk build * fix io2d * add supports field * fix cartographer? * fix librsvg build * fix gtk build * fix cartographer * fix sassc on linux * fix tiff and libjpeg pc files * fix pixman x86 * _isnanf is undefined on arm- * merge fix for make on arm64 * fix gdk-pixbuf on arm64-windows * pixman remove test/demos. should fix it on osx. * [vcpkg_install_meson] add bin to path to run code generators * [vcpkg_configure_meson] deactivate native compiler in cross builds make x86 on x86_x64 a native instead of a cross build (as long as we are not building for UWP) * pixman reenable UWP support. * pixman reenable arm support * add pixman:arm-uwp=fail to baseline * update gtkmm * remove double whitespaces * gtk baseline gtk dependency on cairo x11 remove double spaces in flags * fix linux build * native none again * cairo fix cairo-script.pc * comment out patch since the cairo changes should have fixed it. * disable wayland backend in GTK since CI is missing system packages * silly typo in cairo pc file correction install lzo pc on windows * remove double spaces in _FLAGS remove unnecessary comments * actually disabling wayland backend * fix glib codegen issue having the wrong path * try to fix paths in glib codegen * integrate changes form #12860 * add the uwp patch back in * deactivate extra harfbuzz shapers. * vcpkg x-add-version --all --overwrite-version * remove patches in tesseract. * fix version * rerun add-version * add libgpod:x64-linux=fail to baseline due to missing system tools/libraries * change regex to take double - into account. * run x-add-version * run format-manifest * add missing removal of multiple spaces back into the regex * remove ws diff change * fix gtkmm the upstream way * remove ws to reduce diff * make glib build on osx * format manifest * run x-add-version * add pthread dependency * update baseline due to glib compiling on osx now. * add meson as a dep to glib * - add glib host dependencies - switch to manifest of touched ports * switch to manifest. * [libxml2] add gnuinstalldirs * [libxml2] add missing include of GNUInstallDirs * add version info * add include dir to pc files .... * update version * add UWP as crosscompiling target * Apply suggestions from code review * trying to fix cairo pthread detection on osx. * fix libmicrohttpd by adding the required system frameworks on osx * fix poppler by not removing the CXX standard * fix missing coretext header from harfbuzz in pano * fix formating issues * fix librsvg on osx * revert version changes * bump version * version stuff. * fix graphene version stuff * fix version stuff * removing ports from ci baseline to cause me pain * move cairomm:x64-linux=fail to gtkmm:x64-linx=fail remove pangomm:x64-osx=fail * fix typo * revert ws changes to vcpkg_install_meson * update port version after merge * version stuff * fix fluidsynth by adding vcpkg_check_features * move cairo to ci baseline on osx * version stuff * fluidsynth corrections * more version stuff * apply code review changes * clean version stuff. * update version stuff * code review cleanup * version stuff * formating * update version stuff again * remove gdi again * version stuff * version stuff * version baseline * Apply strega-nil suggestions from code review * run x-add-version * reset versions to upstream/master * v8 CONTROL -> json * reset fluidsynth to upstream/master * first batch of version-string -> version conversion * second and last batch of version-string -> version conversions * update version stuff * disable gdi feature in harfbuzz (missing user32 linkage in qt5-base) * version stuff * Apply suggestions from code review Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> * more CR stuff * update versions * back out provision changes so that pr can be merged. Co-authored-by: nicole mazzuca <mazzucan@outlook.com> Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com>
Diffstat (limited to 'ports/glib')
-rw-r--r--ports/glib/CMakeLists.txt393
-rw-r--r--ports/glib/CONTROL10
-rw-r--r--ports/glib/arm64-defines.patch78
-rw-r--r--ports/glib/cmake/install_headers.cmake255
-rw-r--r--ports/glib/cmake/unofficial-glib-config.in.cmake7
-rw-r--r--ports/glib/fix-arm-builds.patch46
-rw-r--r--ports/glib/fix-libintl-detection.patch13
-rw-r--r--ports/glib/fix_pkgconfig.patch30
-rw-r--r--ports/glib/portfile.cmake124
-rw-r--r--ports/glib/use-libiconv-on-windows.patch14
-rw-r--r--ports/glib/vcpkg.json21
11 files changed, 143 insertions, 848 deletions
diff --git a/ports/glib/CMakeLists.txt b/ports/glib/CMakeLists.txt
deleted file mode 100644
index e71d66278..000000000
--- 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 "<ClCompile Include=\\\".*\\\" />")
- string(REPLACE "<ClCompile Include=\"..\\..\\..\\" "" LINE ${LINE})
- 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 $<BUILD_INTERFACE:${Intl_INCLUDE_DIRS}> $<INSTALL_INTERFACE:include>)
-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 $<INSTALL_INTERFACE:include>)
-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 $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/gmodule>)
-target_include_directories(gmodule PRIVATE ${Intl_INCLUDE_DIRS} PUBLIC $<INSTALL_INTERFACE:include>)
-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 $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/gio> $<INSTALL_INTERFACE:include/gio>)
-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 fd3219b2d..000000000
--- 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 c1b5181c6..000000000
--- 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 <windows.h>
--#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 7840f34ab..000000000
--- 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 6edc8348b..000000000
--- 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 257ee75c6..000000000
--- 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 000000000..0ee0063b4
--- /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 e429120f2..000000000
--- 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 099886a3c..1a0d01a09 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 927de0bb1..a8ccde0a5 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 000000000..16e6b3978
--- /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."
+ }
+ }
+}