diff options
| author | Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> | 2021-04-26 19:28:21 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-04-26 10:28:21 -0700 |
| commit | 546813ae7b9e2873dd3d38e78b27ac5582feae10 (patch) | |
| tree | 6acb3bf022bf9060c70c0665d3586bb33a60f4d9 /ports/glib | |
| parent | a9b27ed5dffbf70b135eddb0c4729f3ca87f106c (diff) | |
| download | vcpkg-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.txt | 393 | ||||
| -rw-r--r-- | ports/glib/CONTROL | 10 | ||||
| -rw-r--r-- | ports/glib/arm64-defines.patch | 78 | ||||
| -rw-r--r-- | ports/glib/cmake/install_headers.cmake | 255 | ||||
| -rw-r--r-- | ports/glib/cmake/unofficial-glib-config.in.cmake | 7 | ||||
| -rw-r--r-- | ports/glib/fix-arm-builds.patch | 46 | ||||
| -rw-r--r-- | ports/glib/fix-libintl-detection.patch | 13 | ||||
| -rw-r--r-- | ports/glib/fix_pkgconfig.patch | 30 | ||||
| -rw-r--r-- | ports/glib/portfile.cmake | 124 | ||||
| -rw-r--r-- | ports/glib/use-libiconv-on-windows.patch | 14 | ||||
| -rw-r--r-- | ports/glib/vcpkg.json | 21 |
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." + } + } +} |
