diff options
| author | Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> | 2021-09-24 21:11:38 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-09-24 12:11:38 -0700 |
| commit | a4368eabea44fa350b8aad89a9974b0a17eeefcd (patch) | |
| tree | 12a2473fe947d1230a9d1aa8346c2fa10d7f62b2 | |
| parent | 845a5fda11742e02f6884125cd639d76f64be95e (diff) | |
| download | vcpkg-a4368eabea44fa350b8aad89a9974b0a17eeefcd.tar.gz vcpkg-a4368eabea44fa350b8aad89a9974b0a17eeefcd.zip | |
[pkgconf] Update to 1.8 (and a few extras; world rebuild) (#20243)
* [vcpkg/script/meson] add option NO_PKG_CONFIG to skip pkg-config setup
* [vcpkg/script/pkgconfig] move vcpkg_find_acquire_program(PKGCONFIG) into the check section where it is used
* [pkgconf] Update to 1.8.0
* version stuff
* remove unused patch.
* (CR) quote string
* version update.
| -rw-r--r-- | docs/maintainers/vcpkg_configure_meson.md | 4 | ||||
| -rw-r--r-- | ports/pkgconf/fix-static-builds.patch | 54 | ||||
| -rw-r--r-- | ports/pkgconf/portfile.cmake | 18 | ||||
| -rw-r--r-- | ports/pkgconf/vcpkg.json | 2 | ||||
| -rw-r--r-- | scripts/cmake/vcpkg_configure_meson.cmake | 50 | ||||
| -rw-r--r-- | scripts/cmake/vcpkg_fixup_pkgconfig.cmake | 5 | ||||
| -rw-r--r-- | versions/baseline.json | 2 | ||||
| -rw-r--r-- | versions/p-/pkgconf.json | 5 |
8 files changed, 54 insertions, 86 deletions
diff --git a/docs/maintainers/vcpkg_configure_meson.md b/docs/maintainers/vcpkg_configure_meson.md index a0bfc8a99..ae8a07d87 100644 --- a/docs/maintainers/vcpkg_configure_meson.md +++ b/docs/maintainers/vcpkg_configure_meson.md @@ -8,6 +8,7 @@ Configure Meson for Debug and Release builds of a project. ```cmake vcpkg_configure_meson( SOURCE_PATH <${SOURCE_PATH}> + [NO_PKG_CONFIG] [OPTIONS <-DUSE_THIS_IN_ALL_BUILDS=1>...] [OPTIONS_RELEASE <-DOPTIMIZE=1>...] [OPTIONS_DEBUG <-DDEBUGGABLE=1>...] @@ -28,6 +29,9 @@ Additional options passed to Meson during the Release configuration. These are i ### OPTIONS_DEBUG Additional options passed to Meson during the Debug configuration. These are in addition to `OPTIONS`. +### NO_PKG_CONFIG +Disable pkg-config setup + ## Notes This command supplies many common arguments to Meson. To see the full list, examine the source. diff --git a/ports/pkgconf/fix-static-builds.patch b/ports/pkgconf/fix-static-builds.patch deleted file mode 100644 index 88a0b375c..000000000 --- a/ports/pkgconf/fix-static-builds.patch +++ /dev/null @@ -1,54 +0,0 @@ -diff --git a/libpkgconf.pc.in b/libpkgconf.pc.in -index d278136e3..ef0c7db5f 100644 ---- a/libpkgconf.pc.in -+++ b/libpkgconf.pc.in -@@ -8,4 +8,4 @@ Description: a library for accessing and manipulating development framework conf - URL: http://github.com/pkgconf/pkgconf - Version: @PACKAGE_VERSION@ - CFlags: -I${includedir}/pkgconf --Libs: -L${libdir} -lpkgconf -+Libs: -L${libdir} -lpkgconf @build_static@ -diff --git a/meson.build b/meson.build -index e7822b8da..8f7aa0075 100644 ---- a/meson.build -+++ b/meson.build -@@ -45,6 +45,13 @@ cdata.set('abs_top_builddir', meson.build_root()) - - subdir('libpkgconf') - -+libtype = get_option('default_library') -+if libtype == 'static' -+ build_static = '-DPKGCONFIG_IS_STATIC' -+else -+ build_static = '' -+endif -+ - libpkgconf = library('pkgconf', - 'libpkgconf/argvsplit.c', - 'libpkgconf/audit.c', -@@ -60,7 +67,7 @@ libpkgconf = library('pkgconf', - 'libpkgconf/pkg.c', - 'libpkgconf/queue.c', - 'libpkgconf/tuple.c', -- c_args: '-DLIBPKGCONF_EXPORT', -+ c_args: ['-DLIBPKGCONF_EXPORT', build_static], - install : true, - version : '3.0.0', - soversion : '3', -@@ -73,13 +80,16 @@ pkg.generate(libpkgconf, - url: 'http://github.com/pkgconf/pkgconf', - filebase : 'libpkgconf', - subdirs: ['pkgconf'], -+ extra_cflags : build_static - ) - -+ - pkgconf_exe = executable('pkgconf', - 'cli/main.c', - 'cli/getopt_long.c', - 'cli/renderer-msvc.c', - link_with : libpkgconf, -+ c_args: build_static, - install : true) - - if get_option('tests') diff --git a/ports/pkgconf/portfile.cmake b/ports/pkgconf/portfile.cmake index 5daa05b65..1d8dda8dd 100644 --- a/ports/pkgconf/portfile.cmake +++ b/ports/pkgconf/portfile.cmake @@ -1,23 +1,27 @@ vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO pkgconf/pkgconf
- REF 458101e787a47378d2fc74c64f649fd3a5f75e55
- SHA512 36a68c7f452752ddfa7f4740f77277bcea0c1c2c70d36d48e74ac3f77d082771253eb9b78fcd097f55cac425cecabab163123103452ddf16bff7280254c6a715
+ REF cef30268e1a3f79efd607c26abcf556aa314c9c4
+ SHA512 ea03b81d01521201bdc471a39cdc8b13f9452f7cc78706d5c57056595f3e4e8a3562c022ebb72ce6444f2c7a8dfc778114814ef5064eaef770a70cc294c7f7ee
HEAD_REF master
- PATCHES fix-static-builds.patch
)
vcpkg_configure_meson(
SOURCE_PATH "${SOURCE_PATH}"
+ NO_PKG_CONFIG
OPTIONS -Dtests=false
)
vcpkg_install_meson()
-vcpkg_fixup_pkgconfig()
+vcpkg_fixup_pkgconfig(SKIP_CHECK)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/pkgconf/libpkgconf/libpkgconf-api.h" "#if defined(PKGCONFIG_IS_STATIC)" "#if 1")
+endif()
vcpkg_copy_tools(TOOL_NAMES pkgconf AUTO_CLEAN)
# Handle copyright
-file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
+file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
diff --git a/ports/pkgconf/vcpkg.json b/ports/pkgconf/vcpkg.json index 247c50300..8d544f102 100644 --- a/ports/pkgconf/vcpkg.json +++ b/ports/pkgconf/vcpkg.json @@ -1,6 +1,6 @@ { "name": "pkgconf", - "version": "1.7.4", + "version": "1.8.0", "description": "pkgconf is a program which helps to configure compiler and linker flags for development libraries. It is similar to pkg-config from freedesktop.org.", "homepage": "https://github.com/pkgconf/pkgconf", "supports": "!uwp" diff --git a/scripts/cmake/vcpkg_configure_meson.cmake b/scripts/cmake/vcpkg_configure_meson.cmake index ecbefab97..943631757 100644 --- a/scripts/cmake/vcpkg_configure_meson.cmake +++ b/scripts/cmake/vcpkg_configure_meson.cmake @@ -7,6 +7,7 @@ Configure Meson for Debug and Release builds of a project. ```cmake vcpkg_configure_meson( SOURCE_PATH <${SOURCE_PATH}> + [NO_PKG_CONFIG] [OPTIONS <-DUSE_THIS_IN_ALL_BUILDS=1>...] [OPTIONS_RELEASE <-DOPTIMIZE=1>...] [OPTIONS_DEBUG <-DDEBUGGABLE=1>...] @@ -27,6 +28,9 @@ Additional options passed to Meson during the Release configuration. These are i ### OPTIONS_DEBUG Additional options passed to Meson during the Debug configuration. These are in addition to `OPTIONS`. +### NO_PKG_CONFIG +Disable pkg-config setup + ## Notes This command supplies many common arguments to Meson. To see the full list, examine the source. @@ -368,7 +372,7 @@ endfunction() function(vcpkg_configure_meson) # parse parameters such that semicolons in options arguments to COMMAND don't get erased - cmake_parse_arguments(PARSE_ARGV 0 _vcm "" "SOURCE_PATH" "OPTIONS;OPTIONS_DEBUG;OPTIONS_RELEASE;ADDITIONAL_NATIVE_BINARIES;ADDITIONAL_CROSS_BINARIES") + cmake_parse_arguments(PARSE_ARGV 0 _vcm "NO_PKG_CONFIG" "SOURCE_PATH" "OPTIONS;OPTIONS_DEBUG;OPTIONS_RELEASE;ADDITIONAL_NATIVE_BINARIES;ADDITIONAL_CROSS_BINARIES") file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") @@ -448,12 +452,14 @@ function(vcpkg_configure_meson) list(APPEND _vcm_OPTIONS_DEBUG "-Dcmake_prefix_path=['${CURRENT_INSTALLED_DIR}/debug','${CURRENT_INSTALLED_DIR}']") list(APPEND _vcm_OPTIONS_RELEASE "-Dcmake_prefix_path=['${CURRENT_INSTALLED_DIR}','${CURRENT_INSTALLED_DIR}/debug']") endif() - - vcpkg_find_acquire_program(PKGCONFIG) - get_filename_component(PKGCONFIG_PATH ${PKGCONFIG} DIRECTORY) - vcpkg_add_to_path("${PKGCONFIG_PATH}") - set(PKGCONFIG_SHARE_DIR "${CURRENT_INSTALLED_DIR}/share/pkgconfig/") - + + if(NOT _vcm_NO_PKG_CONFIG) + vcpkg_find_acquire_program(PKGCONFIG) + get_filename_component(PKGCONFIG_PATH ${PKGCONFIG} DIRECTORY) + vcpkg_add_to_path("${PKGCONFIG_PATH}") + set(PKGCONFIG_SHARE_DIR "${CURRENT_INSTALLED_DIR}/share/pkgconfig/") + endif() + set(buildtypes) if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") set(BUILDNAME DEBUG) @@ -492,13 +498,15 @@ function(vcpkg_configure_meson) message(STATUS "Configuring ${TARGET_TRIPLET}-${SUFFIX_${buildtype}}") file(MAKE_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${SUFFIX_${buildtype}}") #setting up PKGCONFIG - set(ENV{PKG_CONFIG} "${PKGCONFIG}") # Set via native file? - set(PKGCONFIG_INSTALLED_DIR "${CURRENT_INSTALLED_DIR}/${PATH_SUFFIX_${buildtype}}lib/pkgconfig/") - if(DEFINED ENV{PKG_CONFIG_PATH}) - set(BACKUP_ENV_PKG_CONFIG_PATH_RELEASE $ENV{PKG_CONFIG_PATH}) - set(ENV{PKG_CONFIG_PATH} "${PKGCONFIG_INSTALLED_DIR}${VCPKG_HOST_PATH_SEPARATOR}${PKGCONFIG_SHARE_DIR}${VCPKG_HOST_PATH_SEPARATOR}$ENV{PKG_CONFIG_PATH}") - else() - set(ENV{PKG_CONFIG_PATH} "${PKGCONFIG_INSTALLED_DIR}${VCPKG_HOST_PATH_SEPARATOR}${PKGCONFIG_SHARE_DIR}") + if(NOT _vcm_NO_PKG_CONFIG) + set(ENV{PKG_CONFIG} "${PKGCONFIG}") # Set via native file? + set(PKGCONFIG_INSTALLED_DIR "${CURRENT_INSTALLED_DIR}/${PATH_SUFFIX_${buildtype}}lib/pkgconfig/") + if(DEFINED ENV{PKG_CONFIG_PATH}) + set(BACKUP_ENV_PKG_CONFIG_PATH_RELEASE $ENV{PKG_CONFIG_PATH}) + set(ENV{PKG_CONFIG_PATH} "${PKGCONFIG_INSTALLED_DIR}${VCPKG_HOST_PATH_SEPARATOR}${PKGCONFIG_SHARE_DIR}${VCPKG_HOST_PATH_SEPARATOR}$ENV{PKG_CONFIG_PATH}") + else() + set(ENV{PKG_CONFIG_PATH} "${PKGCONFIG_INSTALLED_DIR}${VCPKG_HOST_PATH_SEPARATOR}${PKGCONFIG_SHARE_DIR}") + endif() endif() vcpkg_execute_required_process( @@ -518,12 +526,14 @@ function(vcpkg_configure_meson) endif() message(STATUS "Configuring ${TARGET_TRIPLET}-${SUFFIX_${buildtype}} done") - #Restore PKG_CONFIG_PATH - if(BACKUP_ENV_PKG_CONFIG_PATH_${buildtype}) - set(ENV{PKG_CONFIG_PATH} "${BACKUP_ENV_PKG_CONFIG_PATH_${buildtype}}") - unset(BACKUP_ENV_PKG_CONFIG_PATH_${buildtype}) - else() - unset(ENV{PKG_CONFIG_PATH}) + if(NOT _vcm_NO_PKG_CONFIG) + #Restore PKG_CONFIG_PATH + if(BACKUP_ENV_PKG_CONFIG_PATH_${buildtype}) + set(ENV{PKG_CONFIG_PATH} "${BACKUP_ENV_PKG_CONFIG_PATH_${buildtype}}") + unset(BACKUP_ENV_PKG_CONFIG_PATH_${buildtype}) + else() + unset(ENV{PKG_CONFIG_PATH}) + endif() endif() endforeach() diff --git a/scripts/cmake/vcpkg_fixup_pkgconfig.cmake b/scripts/cmake/vcpkg_fixup_pkgconfig.cmake index 7557b5b1b..afa7e5548 100644 --- a/scripts/cmake/vcpkg_fixup_pkgconfig.cmake +++ b/scripts/cmake/vcpkg_fixup_pkgconfig.cmake @@ -113,9 +113,6 @@ function(vcpkg_fixup_pkgconfig) endif() endif() - vcpkg_find_acquire_program(PKGCONFIG) - debug_message("Using pkg-config from: ${PKGCONFIG}") - #Absolute Unix like paths string(REGEX REPLACE "([a-zA-Z]):/" "/\\1/" _VCPKG_PACKAGES_DIR "${CURRENT_PACKAGES_DIR}") string(REGEX REPLACE "([a-zA-Z]):/" "/\\1/" _VCPKG_INSTALLED_DIR "${CURRENT_INSTALLED_DIR}") @@ -186,6 +183,8 @@ function(vcpkg_fixup_pkgconfig) endforeach() if(NOT _vfpkg_SKIP_CHECK) # The check can only run after all files have been corrected! + vcpkg_find_acquire_program(PKGCONFIG) + debug_message("Using pkg-config from: ${PKGCONFIG}") foreach(_file ${_vfpkg_${CONFIG}_FILES}) vcpkg_fixup_pkgconfig_check_files("${PKGCONFIG}" "${_file}" "${CONFIG}") endforeach() diff --git a/versions/baseline.json b/versions/baseline.json index 9d8c57f72..1252bd052 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -5093,7 +5093,7 @@ "port-version": 0 }, "pkgconf": { - "baseline": "1.7.4", + "baseline": "1.8.0", "port-version": 0 }, "platform-folders": { diff --git a/versions/p-/pkgconf.json b/versions/p-/pkgconf.json index 6b14e2c55..44a48125a 100644 --- a/versions/p-/pkgconf.json +++ b/versions/p-/pkgconf.json @@ -1,6 +1,11 @@ { "versions": [ { + "git-tree": "a56de4007c52482253b4e052bc5551655711034c", + "version": "1.8.0", + "port-version": 0 + }, + { "git-tree": "75fe71378e6521fe0e14a82218a9430c831b9809", "version": "1.7.4", "port-version": 0 |
