diff --git a/ports/pkgconf/portfile.cmake b/ports/pkgconf/portfile.cmake index 1d8dda8dd1..7c5ccb242b 100644 --- a/ports/pkgconf/portfile.cmake +++ b/ports/pkgconf/portfile.cmake @@ -11,6 +11,59 @@ vcpkg_configure_meson( NO_PKG_CONFIG OPTIONS -Dtests=false ) + +set(systemsuffix "") +set(architectureprefix "") + +set(SYSTEM_LIBDIR "") +set(PKG_DEFAULT_PATH "") +set(SYSTEM_INCLUDEDIR "") +set(PERSONALITY_PATH "personality.d") + + +if(NOT VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_CROSSCOMPILING AND VCPKG_TARGET_ARCHITECTURE MATCHES "x64") + # These defaults are obtained from pkgconf/pkg-config on Ubuntu and OpenSuse + # vcpkg cannot do system introspection to obtain/set these values since it would break binary caching. + set(SYSTEM_INCLUDEDIR "/usr/include") + # System lib dirs will be stripped from -L from the pkg-config output + set(SYSTEM_LIBDIR "/lib:/lib/i386-linux-gnu:/lib/x86_64-linux-gnu:/lib/x86_64-linux-gnux32:/lib64:/lib32:/libx32:/usr/lib:/usr/lib/i386-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnux32:/usr/lib64:/usr/lib32:/usr/libx32") + set(PKG_DEFAULT_PATH "/usr/local/lib/x86_64-linux-gnu/pkgconfig:/usr/local/lib64/pkgconfig:/usr/local/lib/pkgconfig:/usr/local/share/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig:/usr/lib64/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig") + set(PERSONALITY_PATH "/usr/share/pkgconfig/personality.d:/etc/pkgconfig/personality.d") +endif() + +if(DEFINED VCPKG_pkgconf_SYSTEM_LIBDIR) + set(SYSTEM_LIBDIR "${VCPKG_pkgconf_SYSTEM_LIBDIR}") +endif() +if(DEFINED VCPKG_pkgconf_PKG_DEFAULT_PATH) + set(PKG_DEFAULT_PATH "${VCPKG_pkgconf_PKG_DEFAULT_PATH}") +endif() +if(DEFINED VCPKG_pkgconf_SYSTEM_INCLUDEDIR) + set(SYSTEM_INCLUDEDIR "${VCPKG_pkgconf_SYSTEM_INCLUDEDIR}") +endif() +if(DEFINED VCPKG_pkgconf_PERSONALITY_PATH) + set(PERSONALITY_PATH "${VCPKG_pkgconf_PERSONALITY_PATH}") +endif() + + +set(pkgconfig_file "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/libpkgconf/config.h") +if(EXISTS "${pkgconfig_file}") + file(READ "${pkgconfig_file}" contents) + string(REGEX REPLACE "#define PKG_DEFAULT_PATH [^\n]+" "#define PKG_DEFAULT_PATH \"${PKG_DEFAULT_PATH}\"" contents "${contents}") + string(REGEX REPLACE "#define SYSTEM_INCLUDEDIR [^\n]+" "#define SYSTEM_INCLUDEDIR \"${SYSTEM_INCLUDEDIR}\"" contents "${contents}") + string(REGEX REPLACE "#define SYSTEM_LIBDIR [^\n]+" "#define SYSTEM_LIBDIR \"${SYSTEM_LIBDIR}\"" contents "${contents}") + string(REGEX REPLACE "#define PERSONALITY_PATH [^\n]+" "#define PERSONALITY_PATH \"${PERSONALITY_PATH}\"" contents "${contents}") + file(WRITE "${pkgconfig_file}" "${contents}") +endif() +set(pkgconfig_file "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/libpkgconf/config.h") +if(EXISTS "${pkgconfig_file}") + file(READ "${pkgconfig_file}" contents) + string(REGEX REPLACE "#define PKG_DEFAULT_PATH [^\n]+" "#define PKG_DEFAULT_PATH \"${PKG_DEFAULT_PATH}\"" contents "${contents}") + string(REGEX REPLACE "#define SYSTEM_INCLUDEDIR [^\n]+" "#define SYSTEM_INCLUDEDIR \"${SYSTEM_INCLUDEDIR}\"" contents "${contents}") + string(REGEX REPLACE "#define SYSTEM_LIBDIR [^\n]+" "#define SYSTEM_LIBDIR \"${SYSTEM_LIBDIR}\"" contents "${contents}") + string(REGEX REPLACE "#define PERSONALITY_PATH [^\n]+" "#define PERSONALITY_PATH \"${PERSONALITY_PATH}\"" contents "${contents}") + file(WRITE "${pkgconfig_file}" "${contents}") +endif() + vcpkg_install_meson() vcpkg_fixup_pkgconfig(SKIP_CHECK) diff --git a/ports/pkgconf/vcpkg.json b/ports/pkgconf/vcpkg.json index 8143e90743..8ea4e30e75 100644 --- a/ports/pkgconf/vcpkg.json +++ b/ports/pkgconf/vcpkg.json @@ -1,7 +1,7 @@ { "name": "pkgconf", "version": "1.8.0", - "port-version": 1, + "port-version": 2, "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/versions/baseline.json b/versions/baseline.json index b2b5047643..1286dcf59d 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -5338,7 +5338,7 @@ }, "pkgconf": { "baseline": "1.8.0", - "port-version": 1 + "port-version": 2 }, "platform-folders": { "baseline": "4.1.0", diff --git a/versions/p-/pkgconf.json b/versions/p-/pkgconf.json index 1b3ed2d12d..87f63902cf 100644 --- a/versions/p-/pkgconf.json +++ b/versions/p-/pkgconf.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "5b599bd7dbbbc7837f7dbcf1b111478da076e2a4", + "version": "1.8.0", + "port-version": 2 + }, { "git-tree": "cbcb5f984f7713a636caa075f06b755d37493dbd", "version": "1.8.0",