From eff88baadcf16a7c441bf42be7eafb1df7d37d4e Mon Sep 17 00:00:00 2001 From: Stefano Sinigardi Date: Mon, 20 Dec 2021 16:50:45 +0100 Subject: [PATCH] [x64-windows-release] add a single config community triplet based on x64-windows and make it work on some ports (#15983) * add a single config community triplet based on x64-windows * add a failed port, otherwise mechanism does not support empty list * add failures to baseline * remove duplicate entry * second round of failures added to baseline * third round of regressions added to CI * [ade] fix single-config builds * [ade] update refs * remove duplicate entries * [unix2dos] restore eol in script file * add even more ports now failing in singleConfig... * [libjpeg-turbo] remove unnecessary check * [libjpeg-turbo] fix references * [baseline] restore check for ports that were added recently * [libmodplug] enable single config triplets * [tensorflow-common] enable single config triplets * update baseline * fix references * remove wrong check for single config triplets * fix references * [ogre] fix single config builds * [ogre] fix references * [untested] force x64-windows-release as host triplet when testing x64-windows-release in CI * fix * [x264] fix for single config * [x264] update refs * [libffi] enable single config builds * [libffi] update refs * remove cli broken arguments * [calceph] enable single-config builds * [calceph] fix references * [kf5config] enable single-config builds * [kf5config] fix references * [detours] enable single-config builds * [detours] fix references * [kf5*] enable single-config builds * [kf5*] fix references * fix * kf5config fix reference * trying again to force host triplet in CI * [boost] fix for single-config builds * [boost] update references * fix * [boost] update refs * disable host triplet in ci because it's not necessary * retrigger a build for ports previously failing * remove host triplet in ci, not necessary anymore? * make PR dry * [tensorflow-common] bump version * [tensorflow-common] fix references * Fix version database for boost-modular-build-helper. * fix references * restore CRLF on some ports * bump versions * fix references * bump port versions * fix references * boost-modular-build-helper: Reverted due to no changes. detours, kf5config, kf5holidays, libbacktrace: Reverted due to only whitespace changes. libffi: bumped port-version libmodplug: reverted due to no functional changes ogre, ogre-next: reverted due to incorrect case of "Debug" vs. "Release" already fixed in master. And rebuilt version database. Co-authored-by: Billy Robert O'Neal III --- ports/calceph/portfile.cmake | 10 ++++++---- ports/calceph/vcpkg.json | 1 + ports/libffi/portfile.cmake | 17 ++++++++--------- ports/libffi/vcpkg.json | 2 +- ports/libjpeg-turbo/vcpkg-cmake-wrapper.cmake | 3 --- ports/libjpeg-turbo/vcpkg.json | 2 +- ports/tensorflow-common/tensorflow-common.cmake | 10 +++++++++- ports/tensorflow-common/vcpkg.json | 2 +- ports/x264/portfile.cmake | 10 ++++++---- ports/x264/vcpkg.json | 2 +- triplets/community/x64-windows-release.cmake | 4 ++++ versions/baseline.json | 10 +++++----- versions/c-/calceph.json | 5 +++++ versions/l-/libffi.json | 5 +++++ versions/l-/libjpeg-turbo.json | 5 +++++ versions/t-/tensorflow-common.json | 5 +++++ versions/x-/x264.json | 5 +++++ 17 files changed, 68 insertions(+), 30 deletions(-) create mode 100644 triplets/community/x64-windows-release.cmake diff --git a/ports/calceph/portfile.cmake b/ports/calceph/portfile.cmake index 42acc5e59a..e09f94c05c 100755 --- a/ports/calceph/portfile.cmake +++ b/ports/calceph/portfile.cmake @@ -16,7 +16,7 @@ vcpkg_extract_source_archive_ex( ) if (VCPKG_TARGET_IS_WINDOWS) - + vcpkg_install_nmake( SOURCE_PATH "${SOURCE_PATH}" OPTIONS @@ -29,7 +29,9 @@ if (VCPKG_TARGET_IS_WINDOWS) ) file(INSTALL "${CURRENT_INSTALLED_DIR}/calceph/include/calceph.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include") file(INSTALL "${CURRENT_INSTALLED_DIR}/calceph/lib/libcalceph.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") - file(INSTALL "${CURRENT_INSTALLED_DIR}/calceph/debug/lib/libcalceph.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") + if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + file(INSTALL "${CURRENT_INSTALLED_DIR}/calceph/debug/lib/libcalceph.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") + endif() file(REMOVE_RECURSE "${CURRENT_INSTALLED_DIR}/calceph") else() # Build in UNIX @@ -40,10 +42,10 @@ else() # Build in UNIX --enable-fortran=no --enable-thread=yes ) - + vcpkg_install_make() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") - + endif() file(INSTALL "${SOURCE_PATH}/README.rst" DESTINATION "${CURRENT_PACKAGES_DIR}/share/calceph" RENAME readme.rst) diff --git a/ports/calceph/vcpkg.json b/ports/calceph/vcpkg.json index 72c91d1d9a..a12b93bb54 100755 --- a/ports/calceph/vcpkg.json +++ b/ports/calceph/vcpkg.json @@ -1,6 +1,7 @@ { "name": "calceph", "version": "3.5.0", + "port-version": 1, "description": "C library to access the binary planetary ephemeris files.", "homepage": "https://www.imcce.fr/inpop/calceph/", "documentation": "https://www.imcce.fr/content/medias/recherche/equipes/asd/calceph/html/c/index.html", diff --git a/ports/libffi/portfile.cmake b/ports/libffi/portfile.cmake index 4f6a7b99a8..7e397e685d 100644 --- a/ports/libffi/portfile.cmake +++ b/ports/libffi/portfile.cmake @@ -29,16 +29,15 @@ set(exec_prefix "\${prefix}") set(libdir "\${prefix}/lib") set(toolexeclibdir "\${libdir}") set(includedir "\${prefix}/include") -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - configure_file("${SOURCE_PATH}/libffi.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libffi.pc" @ONLY) -endif() +configure_file("${SOURCE_PATH}/libffi.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libffi.pc" @ONLY) + # debug -set(prefix "${CURRENT_INSTALLED_DIR}/debug") -set(exec_prefix "\${prefix}") -set(libdir "\${prefix}/lib") -set(toolexeclibdir "\${libdir}") -set(includedir "\${prefix}/../include") -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") +if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + set(prefix "${CURRENT_INSTALLED_DIR}/debug") + set(exec_prefix "\${prefix}") + set(libdir "\${prefix}/lib") + set(toolexeclibdir "\${libdir}") + set(includedir "\${prefix}/../include") configure_file("${SOURCE_PATH}/libffi.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libffi.pc" @ONLY) endif() diff --git a/ports/libffi/vcpkg.json b/ports/libffi/vcpkg.json index 4525cee7b9..83130d841f 100644 --- a/ports/libffi/vcpkg.json +++ b/ports/libffi/vcpkg.json @@ -1,7 +1,7 @@ { "name": "libffi", "version": "3.4.2", - "port-version": 2, + "port-version": 4, "description": "Portable, high level programming interface to various calling conventions", "homepage": "https://github.com/libffi/libffi", "dependencies": [ diff --git a/ports/libjpeg-turbo/vcpkg-cmake-wrapper.cmake b/ports/libjpeg-turbo/vcpkg-cmake-wrapper.cmake index 22f0ab92e5..0c1a883c03 100644 --- a/ports/libjpeg-turbo/vcpkg-cmake-wrapper.cmake +++ b/ports/libjpeg-turbo/vcpkg-cmake-wrapper.cmake @@ -1,9 +1,6 @@ find_path(JPEG_INCLUDE_DIR NAMES jpeglib.h PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include" NO_DEFAULT_PATH) find_library(JPEG_LIBRARY_RELEASE NAMES jpeg PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib" NO_DEFAULT_PATH) find_library(JPEG_LIBRARY_DEBUG NAMES jpeg PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib" NO_DEFAULT_PATH) -if(NOT JPEG_INCLUDE_DIR OR NOT JPEG_LIBRARY_RELEASE OR (NOT JPEG_LIBRARY_DEBUG AND EXISTS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib")) - message(FATAL_ERROR "Broken installation of vcpkg port libjpeg-turbo") -endif() if(CMAKE_VERSION VERSION_LESS 3.12) include(SelectLibraryConfigurations) select_library_configurations(JPEG) diff --git a/ports/libjpeg-turbo/vcpkg.json b/ports/libjpeg-turbo/vcpkg.json index 4e59d2b69a..e38c8e3d63 100644 --- a/ports/libjpeg-turbo/vcpkg.json +++ b/ports/libjpeg-turbo/vcpkg.json @@ -1,7 +1,7 @@ { "name": "libjpeg-turbo", "version": "2.0.6", - "port-version": 2, + "port-version": 3, "description": "libjpeg-turbo is a JPEG image codec that uses SIMD instructions (MMX, SSE2, NEON, AltiVec) to accelerate baseline JPEG compression and decompression on x86, x86-64, ARM, and PowerPC systems.", "homepage": "https://github.com/libjpeg-turbo/libjpeg-turbo", "features": { diff --git a/ports/tensorflow-common/tensorflow-common.cmake b/ports/tensorflow-common/tensorflow-common.cmake index 225e8fc176..fd1ff2b021 100644 --- a/ports/tensorflow-common/tensorflow-common.cmake +++ b/ports/tensorflow-common/tensorflow-common.cmake @@ -130,7 +130,15 @@ else() endif() endif() -foreach(BUILD_TYPE dbg rel) +if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + list(APPEND PORT_BUILD_CONFIGS "dbg") +endif() + +if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + list(APPEND PORT_BUILD_CONFIGS "rel") +endif() + +foreach(BUILD_TYPE IN LISTS PORT_BUILD_CONFIGS) # prefer repeated source extraction here for each build type over extracting once above the loop and copying because users reported issues with copying symlinks set(STATIC_ONLY_PATCHES) set(WINDOWS_ONLY_PATCHES) diff --git a/ports/tensorflow-common/vcpkg.json b/ports/tensorflow-common/vcpkg.json index 18008bbc24..56d7b1b3c0 100644 --- a/ports/tensorflow-common/vcpkg.json +++ b/ports/tensorflow-common/vcpkg.json @@ -1,7 +1,7 @@ { "name": "tensorflow-common", "version-semver": "2.7.0", - "port-version": 1, + "port-version": 2, "description": "This meta package holds common files for the C [tensorflow] and the C++ [tensorflow-cc] API version of TensorFlow but is not installable on its own.", "homepage": "https://github.com/tensorflow/tensorflow" } diff --git a/ports/x264/portfile.cmake b/ports/x264/portfile.cmake index 159f802ce7..79d8749104 100644 --- a/ports/x264/portfile.cmake +++ b/ports/x264/portfile.cmake @@ -8,7 +8,7 @@ vcpkg_from_github( REF 5db6aa6cab1b146e07b60cc1736a01f21da01154 SHA512 d2cdd40d195fd6507abacc8b8810107567dff2c0a93424ba1eb00b544cb78a5430f00f9bcf8f19bd663ae77849225577da05bfcdb57948a8af9dc32a7c8b9ffd HEAD_REF stable - PATCHES + PATCHES "uwp-cflags.patch" ) @@ -61,11 +61,13 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) if(VCPKG_TARGET_IS_WINDOWS) set(pcfile "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/x264.pc") if(EXISTS "${pcfile}") - vcpkg_replace_string("${pcfile}" "-lx264" "-llibx264") + vcpkg_replace_string("${pcfile}" "-lx264" "-llibx264") endif() - set(pcfile "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/x264.pc") - if(EXISTS "${pcfile}") + if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + set(pcfile "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/x264.pc") + if(EXISTS "${pcfile}") vcpkg_replace_string("${pcfile}" "-lx264" "-llibx264") + endif() endif() endif() diff --git a/ports/x264/vcpkg.json b/ports/x264/vcpkg.json index 82e50e3c67..69751e289f 100644 --- a/ports/x264/vcpkg.json +++ b/ports/x264/vcpkg.json @@ -1,7 +1,7 @@ { "name": "x264", "version-string": "164-5db6aa6cab1b146", - "port-version": 1, + "port-version": 2, "description": "x264 is a free software library and application for encoding video streams into the H.264/MPEG-4 AVC compression format", "homepage": "https://github.com/mirror/x264", "supports": "!arm", diff --git a/triplets/community/x64-windows-release.cmake b/triplets/community/x64-windows-release.cmake new file mode 100644 index 0000000000..f6c40253a0 --- /dev/null +++ b/triplets/community/x64-windows-release.cmake @@ -0,0 +1,4 @@ +set(VCPKG_TARGET_ARCHITECTURE x64) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE dynamic) +set(VCPKG_BUILD_TYPE release) diff --git a/versions/baseline.json b/versions/baseline.json index 8f110801d4..19992247d8 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -1222,7 +1222,7 @@ }, "calceph": { "baseline": "3.5.0", - "port-version": 0 + "port-version": 1 }, "camport3": { "baseline": "1.5.3", @@ -3454,7 +3454,7 @@ }, "libffi": { "baseline": "3.4.2", - "port-version": 2 + "port-version": 4 }, "libfido2": { "baseline": "1.7.0", @@ -3590,7 +3590,7 @@ }, "libjpeg-turbo": { "baseline": "2.0.6", - "port-version": 2 + "port-version": 3 }, "libjuice": { "baseline": "0.9.1", @@ -6706,7 +6706,7 @@ }, "tensorflow-common": { "baseline": "2.7.0", - "port-version": 1 + "port-version": 2 }, "tensorpipe": { "baseline": "2021-04-26", @@ -7306,7 +7306,7 @@ }, "x264": { "baseline": "164-5db6aa6cab1b146", - "port-version": 1 + "port-version": 2 }, "x265": { "baseline": "3.4", diff --git a/versions/c-/calceph.json b/versions/c-/calceph.json index d415cc1bda..94c64459b3 100644 --- a/versions/c-/calceph.json +++ b/versions/c-/calceph.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "48bd1ecc8648d44291fbaf0a11f5f12aa017c077", + "version": "3.5.0", + "port-version": 1 + }, { "git-tree": "d2665db7558ef66aa086f95b155e61b15bd56848", "version": "3.5.0", diff --git a/versions/l-/libffi.json b/versions/l-/libffi.json index 5454fe15be..f69e954761 100644 --- a/versions/l-/libffi.json +++ b/versions/l-/libffi.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "05f73f7c0bbd49045d312d90683a01405f5ffd83", + "version": "3.4.2", + "port-version": 4 + }, { "git-tree": "8fbd8bfde2d551ad1be625223a92997704469a8e", "version": "3.4.2", diff --git a/versions/l-/libjpeg-turbo.json b/versions/l-/libjpeg-turbo.json index 5314666f42..ff59d87d90 100644 --- a/versions/l-/libjpeg-turbo.json +++ b/versions/l-/libjpeg-turbo.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "1f10cf90b5807f4b4b98cc82786236002e85b9ac", + "version": "2.0.6", + "port-version": 3 + }, { "git-tree": "48423df98f8715a1f33c2abdfcfc0c0bf5cc5f92", "version": "2.0.6", diff --git a/versions/t-/tensorflow-common.json b/versions/t-/tensorflow-common.json index d46d8d134f..d276daf00f 100644 --- a/versions/t-/tensorflow-common.json +++ b/versions/t-/tensorflow-common.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "1f37cd68d08ecbb0ca6c2d630598d3f568f1fcc4", + "version-semver": "2.7.0", + "port-version": 2 + }, { "git-tree": "4c81239401e4304b124ed215960cdcdf19611e47", "version-semver": "2.7.0", diff --git a/versions/x-/x264.json b/versions/x-/x264.json index 381e5fa4ad..da43dcce37 100644 --- a/versions/x-/x264.json +++ b/versions/x-/x264.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "c449395a31c61601c5313e4f3e6040bee9c67fde", + "version-string": "164-5db6aa6cab1b146", + "port-version": 2 + }, { "git-tree": "8d6c7ba5815a0683a2915df5f95de5d06e938781", "version-string": "164-5db6aa6cab1b146",